一、手眼标定概述:让机器人真正“看见”世界

各位工程师朋友,咱们今天聊聊手眼标定。说实话,我入行头两年,一直觉得这玩意儿就是个“校准工具”,后来踩了坑才明白——手眼标定,其实是给机器人装上“眼睛”和“手”之间的坐标桥梁。

1.1 什么是手眼标定?

简单说,手眼标定就是求解相机坐标系与机器人末端(或基座)坐标系之间的变换关系。你想想看,相机看到物体在图像里的位置,机器人要抓取它,得知道这个物体在机器人坐标系下到底在哪。没有标定,相机看到的和机器人抓的,就是两个世界。

我个人习惯把这个问题拆成两类:

  • Eye-to-Hand(眼在手外):相机固定安装,不随机器人运动。标定的是相机到机器人基座的变换。
  • Eye-in-Hand(眼在手上):相机装在机器人末端,跟着一起动。标定的是相机到机器人末端的变换。

我在项目里遇到过不少新人,上来就问“哪种标定更准?”其实没有答案,关键看应用场景。后面我会详细对比。

核心公式(经典 AX = XB):

对于 Eye-in-Hand,A 是机器人末端的两次位姿变换,B 是相机两次观测的位姿变换,X 就是我们要找的手眼矩阵。解这个方程,就是手眼标定的数学本质。

1.2 为什么需要手眼标定?

说白了,没有标定,机器人的“眼睛”和“手”就是各干各的。我刚开始做视觉引导抓取时,相机明明拍到了工件,机器人伸过去却抓了个空。后来一查,标定误差差了 5 毫米。嗯,5 毫米在工业现场,可能就是一次撞机事故。

具体来说,手眼标定解决三个核心问题:

  1. 坐标统一:把相机看到的像素坐标,转换到机器人能理解的物理坐标。
  2. 精度保障:消除安装误差、镜头畸变、机器人运动学误差带来的累积偏差。
  3. 动态补偿:对于 Eye-in-Hand,机器人移动时,相机视野变化,标定矩阵能实时补偿这种变化。

避坑指南:我曾经见过一个项目,标定板贴歪了 0.5 度,结果整个产线抓取偏了 2 厘米。所以标定前的硬件安装,一定要用水平仪和激光对中仪检查。别偷懒,省这一步后面全是坑。

1.3 手眼标定的应用场景

手眼标定不是实验室里的玩具,它在工业现场到处都是。我挑三个最常见的场景聊聊。

1.3.1 抓取(Pick & Place)

这是最典型的应用。相机识别工件位置和姿态,机器人根据标定结果去抓取。我做过一个 3C 产线的项目,手机中框抓取,要求重复定位精度 ±0.1mm。没有手眼标定,根本不可能。

1.3.2 装配(Assembly)

装配比抓取更苛刻。比如汽车发动机活塞装配,不光要位置对,角度也得对。手眼标定在这里不仅要解平移,还要解旋转。我记得有一次做精密装配,标定矩阵的旋转部分差了 0.01 弧度,结果活塞死活插不进去。

1.3.3 焊接(Welding)

焊接路径规划依赖视觉引导。焊缝跟踪时,相机实时检测焊缝位置,机器人末端要精确跟随。这里手眼标定的实时性要求很高,标定误差会直接导致焊偏或焊穿。

应用场景 精度要求 标定难点 常见问题
抓取 ±0.1 ~ ±1 mm 工件种类多,换型频繁 标定板磨损导致精度下降
装配 ±0.01 ~ ±0.1 mm 旋转误差敏感,需六自由度标定 机器人运动学误差耦合
焊接 ±0.5 ~ ±2 mm 高温、烟尘干扰视觉 标定后需定期校验

个人经验:做焊接标定时,我建议在标定板周围加装气吹和隔热罩。不然标定做一半,板子热变形了,数据全废。

1.4 手眼标定的知识体系框架

为了让大家有个整体认知,我画了一张图。这张图把本章的核心知识点串起来了:从问题定义,到两种配置,再到数学本质,最后落到应用场景。

手眼标定知识体系框架 手眼标定知识体系 问题定义 数学本质 应用场景 Eye-to-Hand Eye-in-Hand AX = XB 最小二乘解 抓取 装配 关键要点:坐标统一 → 精度保障 → 动态补偿 标定精度直接影响机器人作业成功率 硬件安装、标定板质量、算法选择缺一不可

这张图你看懂了吗?从上到下,从左到右,就是手眼标定的完整知识脉络。后面几章,我们会沿着这个框架一步步深入。

本章小结:

  • 手眼标定解决的是相机与机器人之间的坐标变换问题。
  • 分为 Eye-to-Hand 和 Eye-in-Hand 两种配置,各有优劣。
  • 核心数学是求解 AX = XB 方程。
  • 应用覆盖抓取、装配、焊接等主流工业场景。