Terms and Concepts
This section explains the terms and concepts most commonly used when building vision solutions and projects in RVS 2.0.
Solutions, Projects, and Steps
A solution can contain one or more projects. It represents the complete vision-processing strategy for a specific application, such as mixed depalletizing. Solutions are stored in .VisionSln format.
A preset workflow framework for common applications, such as object localization or empty-bin detection. Templates let users create solutions quickly without starting from scratch.
A project usually corresponds to a specific vision task, such as calculating grasp poses. Projects are stored in .VisionProject format and act as the executable carrier for workflows.
The smallest functional unit that constitutes a vision workflow. Each step is responsible for a specific task, such as “point cloud filtering” or “pose calculation”.
Input Port: Located above the step, receives data passed from the previous step.
Output Port: Located below the step, passes processing results to subsequent steps.
A reusable module that packages multiple steps with a defined logic flow. It simplifies the main workflow and makes proven logic easier to reuse across projects.
A logic diagram formed by connecting steps with lines. RVS 2.0 uses dataflow-driven architecture, where the arrow direction represents the transmission path of image, point cloud, or pose data.
The branching, looping, and conditional logic within a workflow. Logic steps such as “If-Else” and “Switch” allow the workflow to take different processing paths based on recognition results.
Robots and Communication
Contains spatial position (X, Y, Z) and orientation (quaternion or Euler angles), used to describe the 6-DOF state of an object in 3D space.
A method of describing orientation using four values [qx, qy, qz, qw], which effectively avoids gimbal lock.
A method of describing orientation using three angles [Rx, Ry, Rz]. Different robot brands (such as Fanuc, Yaskawa, Kawasaki) define different rotation orders (e.g., XYZ or ZYX).
The sign convention used for orientation angles. It usually follows the right-hand rule, but during integration you should confirm that the robot tool coordinate system matches the convention used in the vision software.
A data transmission method based on TCP/IP network protocol.
TCP Server: The device that waits for connections.
TCP Client: The device that actively initiates connections. Robots typically act as clients.
Six-axis robot: The most common industrial robot with 6 degrees of freedom, capable of reaching any position and orientation in space.
Five-axis robot: Usually lacks one end effector rotation degree of freedom, commonly used for specific stacking or handling scenarios.
Four-axis robot: Such as SCARA robots or four-axis palletizing robots, where the end effector orientation can only rotate within the horizontal plane.
Gantry robot: A Cartesian robot that performs handling tasks through three linear axes (X, Y, Z) plus optional end-effector rotation.
Hand-Eye Calibration
The process of establishing the geometric transformation relationship between the camera coordinate frame and the robot coordinate frame (or external reference frame) through mathematical modeling. This is an essential step for vision-guided grasping.
The camera is mounted on the robot end effector. In this setup, the camera moves with the robot, the observable workspace changes throughout the robot’s travel, and calibration solves the pose relationship between the camera and the robot flange.
The camera is mounted on a fixed external bracket. In this setup, the camera remains stationary, and calibration solves the pose relationship between the camera and the robot base.
Parameters that describe the camera’s imaging characteristics, including focal length (f), principal point coordinates (cx, cy), and distortion coefficients such as radial and tangential distortion. These parameters are typically determined during camera calibration before deployment and do not change when the camera moves.
Pose parameters that describe the camera in an external coordinate frame. They consist of a rotation matrix (R) and a translation vector (T), which together define the camera’s actual position and orientation in the robot coordinate system.
A standard tool used to support calibration, such as Percipio’s dedicated calibration board. Its surface contains high-precision feature patterns, such as circles or checkerboards. By detecting the board in different poses, the algorithm can solve the camera’s intrinsic and extrinsic parameters.
Vision Processing Workflow
A set of 3D spatial coordinates generated from a depth map. Point clouds are the core data representation in 3D vision and contain information about an object’s shape, dimensions, and position in space (X, Y, Z).
A series of optimization operations performed on point clouds.
A 2D image in which each pixel value represents distance information, typically displayed in grayscale. The brightness or numeric value of each pixel indicates the depth of that point along the Z axis relative to the camera. It is the source data RVS 2.0 uses to generate 3D point clouds.
An RGB 2D image captured by the camera. In RVS 2.0, it is mainly used for deep learning object detection and as texture mapping onto point clouds to help engineers intuitively judge recognition results.
A binary image, usually black and white, that specifies which pixels in a 2D image or depth map are considered valid. Mask steps can use it to precisely exclude reflective regions or areas outside the working region.
A region of interest defined on a 2D color image or depth map. Restricting an algorithm to a specific pixel range can significantly reduce CPU load and help avoid false detections caused by background noise.
A cuboid or custom-shaped region defined in 3D space. It operates directly on point clouds to remove data outside the bin or points that are too high or too low.
The core algorithm for vision localization.
2D Matching: Searches for targets in 2D images based on edges or textures.
3D Matching: Based on the object’s 3D model (CAD) or taught point cloud, searches the scene and calculates the object’s 6-DOF pose.
Deep Learning
A class of algorithms, such as convolutional neural networks (CNNs), that learn from large sets of labeled samples to perform detection, instance segmentation, or classification. It is especially useful for objects with complex textures, large shape variation, or heavy overlap.
The process of annotating (Labeling) original images collected using Percipio’s companion annotation and training software, and having the server compute and generate a model.
The exported file after AI training is complete. It contains all parameters and inference logic of the neural network. In RVS 2.0, loading this model package through the “Deep Learning Inference” step enables second-level high-precision recognition.
Data Types
Contains spatial position (X, Y, Z) and orientation (quaternion or Euler angles), used to describe the 6-DOF state of an object in 3D space.
Integer or floating-point values, used to represent scores, distances, angles, or counts.
Boolean value. Only has “true” or “false” states, commonly used for conditional triggering in control flow.
Integer type, used to specify the position of a specific element in a list or to identify a specific object.
Text data, commonly used for log output or character information in communication protocols.
XYZ point cloud. A set of points containing only spatial geometric position information.
Point cloud with normals. Each point contains not only position information but also the surface normal direction information of that point.
Represents a specific 3D coordinate in space.
Image data where pixel values represent distance information.
Color image. Red-green-blue three-channel image data.
Grayscale image. Single-channel image data.
Used to encapsulate collections of any of the above data types (such as PoseList, NumberList), supporting batch operations.