手眼标定(Hand-Eye Calibration):Eye-in-Hand(眼在手)和 Eye-to-Hand(眼在外)

高精度、易用的工业机器人工位标定软件 CaliRobot

在机器人视觉领域,手眼标定(Hand-Eye Calibration)是实现精准操作的核心技术之一。无论是工业机器人抓取零件,还是医疗机器人辅助手术,都需要让机器人“知道”它的眼睛(如相机)与手(末端执行器)之间的空间关系。这里将从原理、方法到实际应用,带你深入浅出了解手眼标定的两种经典方法——解析解法与数值优化,并探讨它们的区别、联系及适用场景。同时,我们还将详细解析两种常见的手眼系统:Eye-in-Hand(眼在手)和Eye-to-Hand(眼在外)。


在机器人视觉领域,手眼标定(Hand-Eye Calibration)是实现精准操作的核心技术之一。无论是工业机器人抓取零件,还是医疗机器人辅助手术,都需要让机器人“知道”它的眼睛(如相机)与手(末端执行器)之间的空间关系。这里将从原理、方法到实际应用,带你深入浅出了解手眼标定的两种经典方法——解析解法与数值优化,并探讨它们的区别、联系及适用场景。同时,我们还将详细解析两种常见的手眼系统:Eye-in-Hand(眼在手)和Eye-to-Hand(眼在外)。

为什么需要手眼标定?

想象一下,机器人需要通过摄像头识别桌面上的一颗螺丝,然后用机械臂精准抓取它。如果机器人“眼中”的螺丝位置和“手中”的实际位置存在偏差,抓取必然会失败。手眼标定的目标,就是确定相机坐标系与机器人末端坐标系之间的刚性变换矩阵 X(包含旋转 R 和平移 t),使得机器人能将视觉信息准确转化为动作。根据相机的安装位置,手眼标定分为两类系统:

  • Eye-in-Hand:相机固定在机器人末端,随机械臂移动(如手术机器人内窥镜)。

  • Eye-to-Hand:相机独立安装,固定观察机器人工作区域(如工厂流水线监控)。

无论哪种系统,核心问题都是求解方程 AX = XB。其中,A 是机器人本体的运动变换,B 是相机观测到的目标物运动变换,X 即为待求的手眼矩阵。


Eye-in-Hand(眼在手)系统


相机直接安装在机器人末端执行器上,与机械臂同步运动。此时,相机“看到”的场景会随着机械臂的移动而变化。

特点:

  • 近距离观测:适合对末端操作对象(如零件、手术部位)进行高精度局部观察。

  • 动态视角:相机随机械臂运动,可灵活调整视角,但需频繁重新标定。

典型应用:

  • 工业机器人抓取(如精密装配)

  • 医疗机器人(如达芬奇手术机器人内窥镜)

  • 无人机自主抓取(机械臂搭载相机)

Eye-to-Hand(眼在外)系统


相机固定安装在机器人工作区域外,独立于机械臂运动。此时,相机的视角覆盖整个工作空间,机械臂的运动在相机视野中“被动”呈现。

特点:

  • 全局观测:适合监控机器人整体运动轨迹或大范围场景。

  • 稳定视角:标定后长期有效,无需频繁更新。

典型应用:

  • 工厂流水线监控(如汽车焊接质量检测)

  • AGV(自动导引车)导航

  • 仓储机器人货架管理

两种系统的对比

手眼标定之解析法

原理:通过数学推导直接求解方程 AX = XB,典型方法包括 Tsai-Lenz 和 Park-Martin 算法。

  1. 采集多组机器人运动数据(A₁, A₂...Aₙ)和相机观测数据(B₁, B₂...Bₙ)

  2. 分离旋转与平移:R_A R_X = R_X R_B 和 (R_A - I) t_X = R_X t_B - t_A

  3. 构造线性方程组 → 使用SVD或四元数法求解旋转矩阵R_X

  4. 代入R_X求解平移向量t_X

  5. 输出手眼矩阵X = [R_X | t_X]

特点:

  • 优点:计算速度快,无需初始值,适合无噪声的理想环境。

  • 缺点:对数据噪声敏感,且要求至少两组非平行旋转轴的运动数据。



手眼标定之数值优化法

原理:将问题转化为非线性优化,最小化运动变换的误差。
  1. 使用解析解法获取初始值X₀

  2. 参数化X为李代数ξ(SE(3) →

蜀ICP备19023223号