4. 手眼标定

手眼标定是机械臂视觉引导拣选系统中连接“眼睛”(相机)与“手”(机械臂)的桥梁。其本质是求解相机坐标系与机械臂末端(或基座)坐标系之间的空间变换矩阵。在真实产线上,视觉系统给出的目标坐标必须经过手眼矩阵的转换,才能变成机械臂可执行的抓取位姿。若标定误差超过1~2mm,轻则导致抓取偏移、碰撞夹具,重则损坏工件或设备。本章将系统讲解眼在手上(Eye-in-Hand)与眼在手外(Eye-to-Hand)两种模式的标定原理、标定板设计要点、完整操作流程以及精度评估方法,并结合实际案例给出可落地的工程经验。

手眼标定核心链路与坐标系关系 眼在手外(Eye-to-Hand) 相机固定于工作台上方,不随机械臂运动 标定目标:求解 相机坐标系 → 机械臂基座坐标系 变换关系:T_base_cam = T_base_end * T_end_board * T_cam_board⁻¹ 适用场景:大视野、固定工位、高精度重复定位 标定板安装:固定在机械臂末端法兰上 眼在手上(Eye-in-Hand) 相机安装于机械臂末端,随机械臂一起运动 标定目标:求解 相机坐标系 → 机械臂末端坐标系 变换关系:T_end_cam = T_base_end⁻¹ * T_base_board * T_cam_board⁻¹ 适用场景:近距离、小视野、需要多角度观察工件 标定板安装:固定在工作台或地面上 两种模式 坐标系变换链路(以眼在手外为例) 相机坐标系 标定板坐标系 末端坐标系 基座坐标系 T_cam_board T_end_board T_base_end 求解目标:T_base_cam = T_base_end * T_end_board * T_cam_board⁻¹

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 标定流程详解与实操步骤

无论哪种模式,手眼标定都遵循“采集多姿态图像→提取特征点→求解手眼矩阵→验证精度”的流程。以下以眼在手外模式为例,给出标准操作流程:

  1. 准备工作:固定相机,安装标定板于机械臂末端,确保标定板与末端法兰刚性连接,无松动。
  2. 机械臂运动规划:规划15~20个机械臂姿态,覆盖不同高度、不同旋转角度(俯仰、偏航、翻滚各变化±30°),确保标定板始终在相机视野内且图案完整可见。
  3. 数据采集:每个姿态下,同时记录机械臂末端位姿(从控制器读取)和相机拍摄的标定板图像。注意:机械臂到位后需停顿0.5~1秒,待振动衰减后再拍照。
  4. 特征提取:使用OpenCV或Halcon等工具提取标定板特征点(角点或圆心),获得像素坐标与标定板物理坐标的对应关系。
  5. 求解手眼矩阵:利用Tsai-Lenz或Park-Martin算法求解AX=XB方程,得到T_base_cam。
  6. 精度验证:将标定板移动到验证点,计算视觉定位坐标与机械臂实际坐标的偏差。
// 伪代码示例:眼在手外标定数据采集
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个姿态即可。

误区二:忽略机械臂运动学误差。手眼标定结果隐含了机械臂的定位误差。若机械臂本身精度不足,标定结果也会失真。此时应考虑使用机械臂运动学标定先行校正。

误区三:标定板与相机不平行。眼在手外模式下,标定板平面应尽量与相机光轴垂直,否则会引入透视畸变误差。

误区四:标定后不进行现场验证。标定矩阵在实验室环境下可能表现良好,但现场光照、振动、温度变化都会影响精度。必须进行实际抓取测试。

工程建议:建立标定数据档案,记录标定日期、环境温度、机械臂型号、相机参数、标定板信息及验证结果。当设备维修或更换部件后,需重新标定。建议每季度进行一次精度复检,确保系统长期稳定。

手眼标定是视觉引导系统的核心基础,其精度直接决定了整个拣选系统的可靠性。通过理解两种标定模式的原理差异、掌握标定板设计要点、严格执行标定流程并进行科学的精度评估,可以有效保障机械臂视觉引导系统的稳定运行。在实际工程中,标定不是一次性工作,而是需要持续维护和优化的过程。