术语与概念
该部分介绍搭建视觉应用及使用 RVS 2.0 软件过程中经常涉及到术语及概念。
方案、工程、步骤相关
一个方案可以包含一个或多个“工程”。它代表了应对特定应用场景(如:混合拆垛)的完整视觉处理策略。方案以 .VisionSln 格式存储。
针对典型应用(如:典型工件定位、空筐检测)预设的逻辑框架。用户可以基于模板快速生成方案,无需从零开始搭建。
一个工程通常对应一个具体的视觉任务(如:计算抓取位姿)。工程以 .VisionProject 格式存储,是工作流的实际载体。
构成视觉流程的最小功能单元。每个步骤负责一个特定的任务,如 “点云滤波”或“位姿计算”。
输入端口:步骤上方,接收上一个步骤传来的数据。
输出端口:步骤下方,将处理结果传递给后续步骤。
将多个具有特定逻辑的步骤封装在一起,形成一个模块。这不仅能简化主工作流的视觉呈现,还便于在不同工程间复用成熟的逻辑。
由线段连接各个步骤形成的逻辑图。RVS 2.0 采用数据流驱动,箭头方向代表了图像、点云或位姿数据的传递路径。
指流程中的分支、循环和条件判断逻辑。通过特定的逻辑步骤(如“If-Else”、“Switch”),实现根据不同识别结果执行不同算法路径的功能。
机器人及通信
包含空间位置(X, Y, Z)和姿态(四元数或欧拉角),用于描述物体在 3D 空间中的 6 自由度状态。
用 [qx, qy, qz, qw] 四个数值描述姿态的方式,能有效避免万向节死锁。
用 [Rx, Ry, Rz] 三个角度描述姿态的方式。不同品牌的机器人(如发那科、安川、川崎)定义的旋转顺序不同(如 XYZ 或 ZYX)。
姿态角度的正负定义。通常遵循右手定则,但在联调时需确认机器人末端坐标系的正方向是否与视觉软件设置一致。
基于 TCP/IP 网络协议的数据传输方式。
TCP 服务端 (TCP Server):等待连接的设备。
TCP 客户端 (TCP Client):主动发起连接的设备。机器人通常作为客户端。
六轴机器人:最常见的工业机器人,具有 6 个自由度,能够实现空间内任意位置和姿态的到达。
五轴机器人:通常缺失一个末端旋转自由度,常用于特定的堆垛或搬运场景。
四轴机器人:如 SCARA 机器人或四轴码垛机器人,其末端姿态仅能在水平面内旋转。
桁架机器人 (Gantry Robot):基于笛卡尔坐标系的龙门结构,通过 X、Y、Z 三个直线轴及末端旋转实现搬运。
手眼标定相关
通过建立数学模型,确定相机坐标系与机器人坐标系(或外部参考系)之间几何转化关系的过程,是实现视觉引导抓取的必备步骤。
相机安装在机器人末端。在这种模式下,相机随机器人运动,工作空间随机器人行程而改变,标定时需要计算相机与机器人末端法兰之间的位姿关系。
相机安装在机器人外部的固定支架上。在这种模式下,相机位置固定,标定时需要计算相机与机器人基座之间的位姿关系。
描述相机自身成像特性的参数。包括焦距(f)、主点坐标(cx, cy)以及畸变系数(径向畸变、切向畸变等)。内参通常在出厂或使用前通过相机标定确定,不会因相机移动而改变。
描述相机在外部坐标系下的位姿参数。由旋转矩阵(R)和平移向量(T)组成,决定了相机在机器人坐标系中的实际位置和朝向。
用于辅助标定的标准工具(如图漾专用标定板)。其表面具有高精度的特征点(圆点或棋盘格),通过识别标定板在不同姿态下的图像数据,算法可以解算出相机的内、外参数。
视觉处理流程
通过深度图转换得到的 3D 空间坐标集合。它是 3D 视觉处理的核心载体,包含了物体的形状、尺寸及空间位置信息(X, Y, Z)。
对点云进行的一系列优化操作。
一种以像素值代表距离信息的 2D 图像(通常以灰度图形式表现)。每个像素的亮度或数值代表了该点距离相机的 Z 轴深度。它是 RVS 2.0 生成 3D 点云的原始媒介。
由相机采集的 RGB 2D 图像。在 RVS 2.0 中,它主要用于深度学习的目标检测、以及作为纹理映射到点云上,帮助工程师直观判断识别效果。
一种二值图像(通常黑白),用于指定 2D 图像或深度图中哪些像素是“有效”的。通过掩膜步骤,可以精确屏蔽掉图像中的反光区域或非作业区域。
在 2D 彩色图或深度图上划定的感兴趣区域。通过限制算法只在特定像素范围内运行,可以显著降低 CPU 负载并避免背景噪声导致的误识别。
在 3D 空间中划定的长方体或自定义形状区域。它直接作用于点云,用于过滤掉料筐之外、高度过高或过低的点云数据。
视觉定位的核心算法。
2D 匹配:基于边缘或纹理在 2D 图中寻找目标。
3D 匹配:基于物体的 3D 模型(CAD)或示教点云,在场景中搜索并计算物体的 6 自由度位姿。
深度学习
基于卷积神经网络(CNN)等算法,通过学习大量样本特征来实现对目标的自动检测、实例分割或分类。特别适用于表面纹理复杂、形状高度多变或严重堆叠的工件。
使用图漾配套的标注与训练软件,对采集到的原始图像进行标签标注(Labeling)并交由服务器计算生成模型的过程。
AI 训练完成后的导出文件。它包含了神经网络的所有参数和推理逻辑。在 RVS 2.0 中通过“深度学习推理”步骤加载该模型包,即可实现秒级的高精度识别。
数据类型
位姿。包含空间位置(X, Y, Z)和姿态(四元数或欧拉角),用于描述物体在 3D 空间中的 6 自由度状态。
数值。包含整数或浮点数,用于表示得分、距离、角度或计数等。
布尔值。只有“真”或“假”两种状态,常用于控制流的条件触发。
索引。整数类型,用于指定列表中特定元素的位置或标识特定工件。
字符串。文本数据,常用于日志输出或通讯协议中的字符信息。
XYZ点云。仅包含空间几何位置信息的点集合。
含法向量点云。每个点除了包含位置信息外,还包含该点的表面法线方向信息。
点。代表空间中的一个特定 3D 坐标。
深度图像。像素值代表距离信息的图像数据。
彩色图像。红绿蓝三通道的图像数据。
灰度图像。单通道图像数据。
列表。用于封装上述任何类型的数据集合(如 PoseList、NumberList),支持批量操作。