4. 手眼标定问题描述
手眼标定(Hand-Eye Calibration)是工业机器人视觉引导系统中的核心前置步骤,其本质是求解机器人末端执行器坐标系与相机坐标系之间的刚性变换关系。无论是抓取、装配、焊接还是涂胶,视觉系统提供的目标位置必须转换到机器人基坐标系下才能驱动运动,而这一转换链路的精度直接取决于手眼标定的质量。本章将系统阐述Eye-in-Hand与Eye-to-Hand两种构型的本质区别、各自的数学建模方法,以及统一归结为AX=XB矩阵方程求解的数学本质,帮助学习者建立从物理构型到数学表达再到求解策略的完整认知框架。
4.1 两种构型的物理定义与核心区别
手眼标定的物理构型决定了标定方程的形式、数据采集方式以及误差传播特性。Eye-in-Hand(眼在手上)构型中,相机通过机械连接件固定于机器人末端法兰盘上,随机器人一起运动;而Eye-to-Hand(眼在手外)构型中,相机固定于工作空间内的某个静止位置(如支架、天花板或侧壁),机器人末端携带标定板在相机视野内运动。两种构型在工业现场均有广泛应用,但适用场景和标定策略差异显著。
| 对比维度 | Eye-in-Hand(眼在手上) | Eye-to-Hand(眼在手外) |
|---|---|---|
| 相机安装位置 | 固定于机器人末端法兰盘 | 固定于工作空间环境(支架/天花板) |
| 标定板位置 | 固定于工作台/环境 | 固定于机器人末端 |
| 相机视野特性 | 随末端运动,视野动态变化,近距观测灵活 | 视野固定,覆盖范围大,但可能存在遮挡 |
| 标定方程形式 | AX = XB(A为末端运动,B为标定板位姿变化) | AX = XB(A为机器人运动,B为标定板位姿变化) |
| 典型应用 | 小工件抓取、装配、焊缝跟踪 | 大范围分拣、码垛、上下料、安全监控 |
| 标定操作特点 | 机器人带动相机拍摄固定标定板,需保证标定板始终在视野内 | 机器人带动标定板在相机视野内运动,需保证标定板完整可见 |
从数学建模角度看,两种构型最终都归结为求解矩阵方程 AX = XB,其中A和B分别来自机器人运动学读数与视觉位姿估计。但A和B的具体物理含义不同:Eye-in-Hand中,A表示机器人末端在两个拍摄位姿之间的齐次变换矩阵(由正运动学计算),B表示标定板在相机坐标系下的位姿变化(由视觉算法估计);Eye-to-Hand中,A同样表示机器人末端的运动,但B表示标定板(固定在末端)在相机坐标系下的位姿变化。理解这一映射关系是正确实施标定的前提。
核心要点:无论哪种构型,标定的目标都是求解一个固定的齐次变换矩阵X(4×4),它描述了相机坐标系与机器人某个参考坐标系(末端或基座)之间的刚性变换。X不随机器人运动而改变,因此可以通过多组运动前后的位姿观测来构建约束方程。
4.2 数学建模:从物理构型到AX=XB方程
设机器人末端坐标系为E,基座坐标系为B,相机坐标系为C,标定板坐标系为P。对于Eye-in-Hand构型,相机固定于末端,因此存在一个固定的齐次变换矩阵X = TC→E(相机相对于末端的位姿)。当机器人从位姿1运动到位姿2时,末端在基座坐标系下的位姿从TE1→B变为TE2→B,而标定板在相机坐标系下的位姿从TP→C1变为TP→C2。由于标定板固定于环境,其在基座坐标系下的位姿TP→B保持不变,因此可以建立闭环约束:
T_P→B = T_E1→B · X · T_P→C1 = T_E2→B · X · T_P→C2
令 A = (T_E2→B)⁻¹ · T_E1→B (末端运动增量)
令 B = T_P→C2 · (T_P→C1)⁻¹ (标定板在相机视野中的位姿变化)
则 A · X = X · B
对于Eye-to-Hand构型,相机固定于环境,X = TC→B(相机相对于基座的位姿)。标定板固定于末端,当机器人运动时,标定板在基座坐标系下的位姿变化由末端运动决定,而在相机坐标系下的位姿变化由视觉观测得到。同样可以推导出AX = XB的形式,其中A为末端运动增量,B为标定板在相机坐标系下的位姿变化。两种构型的推导过程完全对称,体现了手眼标定问题的统一数学本质。
4.3 AX=XB问题的求解策略与工程实现
AX = XB是一个典型的矩阵方程,其中A、B、X均为4×4齐次变换矩阵,可分解为旋转部分R和平移部分t。求解通常分为两步:先求解旋转矩阵RX,再求解平移向量tX。常用的求解方法包括Tsai-Lenz方法、Park-Martin方法、Daniilidis方法(基于四元数或对偶四元数)以及非线性优化方法。工程中最常用的是Tsai-Lenz方法,其核心思想是利用旋转轴的几何约束:
- 数据采集:控制机器人运动N个不同位姿(N≥3),记录每个位姿下的机器人末端位姿(通过正运动学计算)和标定板位姿(通过视觉位姿估计)。
- 构造A和B:对每对相邻位姿,计算Ai = (TE(i+1)→B)⁻¹ · TEi→B 和 Bi = TP→C(i+1) · (TP→Ci)⁻¹。
- 求解旋转:利用旋转矩阵的轴-角表示,将旋转方程转化为线性方程组,通过最小二乘或SVD求解RX。
- 求解平移:将RX代入完整方程,求解线性方程组得到tX。
- 优化与验证:将求解结果作为初值,使用非线性优化(如Levenberg-Marquardt)最小化重投影误差,并在验证集上评估标定精度。
工程经验:数据采集时,应保证机器人位姿变化足够大(旋转角度建议大于30°),且运动方向多样化(避免共面或共轴运动),否则会导致旋转矩阵求解病态。同时,视觉位姿估计的精度对标定结果影响极大,建议使用高分辨率相机和特征丰富的标定板(如棋盘格或圆点阵列)。
4.4 案例拆解:Eye-in-Hand构型下的装配机器人标定
某3C电子装配产线需要实现精密齿轮的自动抓取与装配,机器人采用Eye-in-Hand构型,相机为500万像素工业相机,镜头焦距12mm,工作距离约300mm。现场标定目标为求解相机到末端法兰的变换矩阵X,要求标定后视觉引导的抓取定位精度达到±0.5mm。
初始现象与约束:产线调试初期,视觉系统能够识别齿轮中心,但机器人抓取时位置偏差达到3-5mm,无法满足装配要求。经排查,机器人运动学参数已校准,视觉畸变校正已完成,问题聚焦于手眼矩阵X的准确性。现场约束包括:产线节拍要求标定时间不超过30分钟;标定板需固定于工作台,且不能影响正常生产流程。
关键参数与操作步骤:
| 步骤 | 操作内容 | 关键参数/数据 |
|---|---|---|
| 1 | 固定棋盘格标定板(12×9格,格宽15mm)于工作台 | 标定板平面度<0.1mm |
| 2 | 示教15个机器人位姿,确保标定板完整出现在相机视野中 | 位姿旋转角范围±45°,平移范围±100mm |
| 3 | 每个位姿记录机器人末端位姿TE→B(从控制器读取) | 位姿重复精度±0.02mm |
| 4 | 每个位姿拍摄标定板图像,使用OpenCV的solvePnP估计TP→C | 重投影误差<0.15像素 |
| 5 | 使用Tsai-Lenz方法求解X,得到RX和tX | 旋转矩阵正交性误差<1e-6 |
| 6 | 使用5组预留位姿进行验证,计算视觉引导抓取误差 | 平均误差0.35mm,最大误差0.48mm |
结果与复盘:标定完成后,视觉引导抓取精度从±3mm提升至±0.4mm以内,满足装配要求。复盘发现,初次标定时仅采集了8个位姿且旋转角度较小(约15°),导致旋转矩阵求解不稳定;增加位姿数量并扩大旋转范围后,标定精度显著提升。此外,标定过程中机器人运动速度过快导致振动,影响图像清晰度,后续将运动速度降低至20mm/s并增加到位稳定延时(500ms),进一步提升了位姿估计的稳定性。
常见误区提醒:① 标定板位姿估计误差会被直接放大到手眼矩阵中,务必确保视觉位姿估计的精度;② 不要使用共面或近似共面的运动轨迹,否则旋转矩阵求解会退化;③ 标定完成后必须用独立的验证集评估精度,不能仅依赖训练数据的残差;④ 对于Eye-to-Hand构型,需特别注意相机与机器人基座的相对位置在标定过程中不能发生任何移动。
4.5 两种构型的选型建议与精度影响因素
在实际项目中,选择Eye-in-Hand还是Eye-to-Hand需要综合考虑工作空间、视野需求、精度要求和成本。Eye-in-Hand适合需要近距离、高精度观测的场合,但相机随机器人运动,视野动态变化,对运动规划要求较高;Eye-to-Hand适合大范围、固定视野的场合,但可能存在机器人本体遮挡相机视线的问题,且远距离观测精度相对较低。精度影响因素主要包括:机器人运动学标定精度、视觉位姿估计算法精度、标定板制造精度、数据采集数量与分布质量、求解算法的数值稳定性等。
从工程实践角度,建议在标定前先对机器人进行运动学标定(如DH参数修正),并确保相机内参标定准确。数据采集时,应遵循“多姿态、大范围、非共面”的原则,一般建议采集12-20组有效数据。求解完成后,务必进行交叉验证:将数据分为训练集和验证集,用训练集求解X,用验证集计算重投影误差或抓取误差,以评估标定的泛化能力。
总结:手眼标定的核心在于理解两种构型的物理差异,掌握AX=XB方程的推导过程,并能够根据实际场景选择合适的求解策略。标定不是一次性的工作,在机器人维修、相机拆卸重装、机械结构变形后都需要重新标定。建议建立标定数据管理规范,记录每次标定的位姿数据、求解参数和验证结果,便于追溯和复现。