4. 手眼标定
手眼标定是机械臂视觉引导拣选系统中连接“眼睛”(相机)与“手”(机械臂)的桥梁。其本质是求解相机坐标系与机械臂末端(或基座)坐标系之间的空间变换矩阵。在真实产线上,视觉系统给出的目标坐标必须经过手眼矩阵的转换,才能变成机械臂可执行的抓取位姿。若标定误差超过1~2mm,轻则导致抓取偏移、碰撞夹具,重则损坏工件或设备。本章将系统讲解眼在手上(Eye-in-Hand)与眼在手外(Eye-to-Hand)两种模式的标定原理、标定板设计要点、完整操作流程以及精度评估方法,并结合实际案例给出可落地的工程经验。
4.1 两种标定模式的核心原理与选型判断
眼在手外(Eye-to-Hand):相机固定安装在机械臂外部(如支架、天花板或工作台侧面),不随机械臂运动。标定目标是求解相机坐标系到机械臂基座坐标系的变换矩阵 T_base_cam。标定时,将标定板固定在机械臂末端法兰上,通过机械臂运动到多个不同姿态,相机拍摄标定板图像,同时记录机械臂末端在基座坐标系下的位姿。利用AX=XB的经典手眼方程求解。
眼在手上(Eye-in-Hand):相机安装在机械臂末端,随机械臂一起运动。标定目标是求解相机坐标系到机械臂末端坐标系的变换矩阵 T_end_cam。标定时,将标定板固定在工作台或地面上,机械臂带动相机从多个角度拍摄标定板,同时记录机械臂末端位姿。同样通过AX=XB方程求解。
| 对比维度 | 眼在手外(Eye-to-Hand) | 眼在手上(Eye-in-Hand) |
|---|---|---|
| 相机安装位置 | 固定于外部支架/天花板 | 安装于机械臂末端法兰 |
| 标定板安装位置 | 固定在机械臂末端 | 固定在工作台/地面 |
| 视野范围 | 大视野,覆盖整个工作区域 | 小视野,靠近工件细节 |
| 标定精度影响因素 | 相机畸变、机械臂定位精度 | 相机安装刚性、机械臂重复定位精度 |
| 典型应用 | 料筐拣选、大范围定位、传送带跟踪 | 精密装配、小零件抓取、多角度检测 |
| 标定复杂度 | 相对简单,标定板随机械臂运动 | 相对复杂,需保证标定板固定稳固 |
4.2 标定板设计与制作要点
标定板是手眼标定的基准参照物,其设计质量直接影响标定精度。常用标定板类型包括棋盘格、圆点阵列、ChArUco板等。工业场景中推荐使用陶瓷基板或玻璃基板,表面平整度需达到±0.01mm,图案对比度应大于1:10。
- 棋盘格标定板:角点检测精度高,适合相机内参标定;但需要保证图案完全在视野内,且对光照均匀性要求较高。
- 圆点阵列标定板:圆心定位精度优于角点,抗噪能力强;适合大畸变镜头,但需要精确已知圆点间距。
- ChArUco板:结合了棋盘格与ArUco码,支持部分遮挡下的标定,适合视野受限场景。
标定板尺寸选择原则:在相机视野中,标定板图案区域应占视野面积的1/3至2/3。过小会导致特征点提取不足,过大则可能超出视野。对于500万像素相机、视野300mm×400mm的场景,推荐使用7×9棋盘格,方格边长15mm。
4.3 标定流程详解与实操步骤
无论哪种模式,手眼标定都遵循“采集多姿态图像→提取特征点→求解手眼矩阵→验证精度”的流程。以下以眼在手外模式为例,给出标准操作流程:
- 准备工作:固定相机,安装标定板于机械臂末端,确保标定板与末端法兰刚性连接,无松动。
- 机械臂运动规划:规划15~20个机械臂姿态,覆盖不同高度、不同旋转角度(俯仰、偏航、翻滚各变化±30°),确保标定板始终在相机视野内且图案完整可见。
- 数据采集:每个姿态下,同时记录机械臂末端位姿(从控制器读取)和相机拍摄的标定板图像。注意:机械臂到位后需停顿0.5~1秒,待振动衰减后再拍照。
- 特征提取:使用OpenCV或Halcon等工具提取标定板特征点(角点或圆心),获得像素坐标与标定板物理坐标的对应关系。
- 求解手眼矩阵:利用Tsai-Lenz或Park-Martin算法求解AX=XB方程,得到
T_base_cam。 - 精度验证:将标定板移动到验证点,计算视觉定位坐标与机械臂实际坐标的偏差。
// 伪代码示例:眼在手外标定数据采集
for i = 1 to 20:
move_to_pose(pose[i]) // 机械臂运动到第i个姿态
wait_for_stable(0.5s) // 等待稳定
image = camera.capture() // 拍摄图像
board_pose = detect_board(image) // 提取标定板位姿
end_pose = robot.get_end_pose() // 读取末端位姿
save_data(board_pose, end_pose) // 保存数据对
4.4 精度评估方法与误差分析
标定完成后,必须进行严格的精度评估。常用评估指标包括:重投影误差、抓取位置误差和姿态误差。重投影误差应小于0.5像素,抓取位置误差应小于机械臂重复定位精度的2倍(通常≤1mm)。
| 评估项目 | 测试方法 | 合格标准 | 常见误差来源 |
|---|---|---|---|
| 重投影误差 | 将标定板特征点投影回图像,计算像素偏差 | < 0.5 pixel | 相机畸变校正不彻底、特征提取精度不足 |
| 抓取位置误差 | 视觉引导机械臂抓取标准工件,测量实际位置偏差 | < 1 mm | 机械臂定位误差、标定板平面度 |
| 姿态误差 | 对比视觉解算姿态与机械臂实际姿态 | < 0.5° | 标定板安装倾斜、机械臂运动学参数误差 |
背景与约束:产线节拍要求≤8秒/件,螺栓直径12mm,抓取位置公差±0.8mm。相机为500万像素黑白工业相机,安装于机械臂上方1.2m处(眼在手外模式)。
初始现象:首次标定后,抓取成功率仅82%,部分螺栓抓取时发生偏移,导致螺纹损伤。
分析过程:检查发现标定板为亚克力材质,在车间灯光下产生轻微反光;且机械臂运动到某些姿态时,标定板超出相机视野边缘,导致特征点提取不完整。
解决措施:①更换为陶瓷基板标定板,消除反光;②重新规划机械臂运动路径,确保标定板始终位于视野中心区域;③增加标定姿态数量至25个,并加入不同高度层;④标定后增加验证环节,使用标准量块进行10次重复定位测试。
结果对比:标定重投影误差从0.8像素降至0.3像素,抓取成功率提升至99.2%,位置偏差稳定在±0.5mm以内。
复盘经验:标定板材质选择至关重要,工业现场应优先选用陶瓷或玻璃基板;标定姿态规划需结合机械臂实际工作空间,避免极端姿态;标定后必须进行独立验证,不能仅依赖重投影误差。
4.5 常见误区与工程复盘
误区一:标定姿态数量越多越好。实际上,当姿态超过20个后,精度提升趋于饱和,反而可能引入机械臂运动学误差。建议15~25个姿态即可。
误区二:忽略机械臂运动学误差。手眼标定结果隐含了机械臂的定位误差。若机械臂本身精度不足,标定结果也会失真。此时应考虑使用机械臂运动学标定先行校正。
误区三:标定板与相机不平行。眼在手外模式下,标定板平面应尽量与相机光轴垂直,否则会引入透视畸变误差。
误区四:标定后不进行现场验证。标定矩阵在实验室环境下可能表现良好,但现场光照、振动、温度变化都会影响精度。必须进行实际抓取测试。
手眼标定是视觉引导系统的核心基础,其精度直接决定了整个拣选系统的可靠性。通过理解两种标定模式的原理差异、掌握标定板设计要点、严格执行标定流程并进行科学的精度评估,可以有效保障机械臂视觉引导系统的稳定运行。在实际工程中,标定不是一次性工作,而是需要持续维护和优化的过程。