3、机器人运动学基础:机器人坐标系、齐次变换矩阵、正逆运动学概念
手眼标定的本质,是求解机器人末端执行器(法兰盘)与相机坐标系之间的空间变换关系。而这一求解过程完全建立在机器人运动学的基础之上——如果无法准确描述机器人各关节、各连杆之间的位姿关系,就无法将相机观测到的像素坐标与机器人基座标系下的三维坐标进行关联。本章将系统梳理机器人坐标系体系、齐次变换矩阵的数学表达,以及正逆运动学的核心概念,为后续手眼标定中的AX=XB方程推导与求解奠定坚实的数学基础。
3.1 机器人坐标系体系
3.1.1 核心原理:从基座到像素的坐标链
在机器人视觉引导系统中,至少涉及四个关键坐标系:机器人基座标系{B}(固定于机器人底座,是全局参考)、末端执行器坐标系{E}(固连于法兰盘中心,随机械臂运动)、相机坐标系{C}(以光心为原点,Z轴沿光轴方向)、标定板坐标系{G}(以棋盘格角点阵列为基准)。此外还有图像像素坐标系(u,v)和图像物理坐标系(x,y)。手眼标定的目标就是求解{E}与{C}之间的齐次变换矩阵ETC,使得相机观测到的目标点能够转换到机器人基座标系下,从而引导机械臂准确抓取或操作。
坐标变换的完整链路为:像素坐标 → 相机坐标 → 末端坐标 → 基座坐标。其中像素到相机的转换由相机内参矩阵K决定,相机到末端的转换正是手眼标定所求,末端到基座的转换由机器人正运动学实时提供。理解这条链路是后续所有标定与引导算法的基础。
3.1.2 坐标系定义与约定
| 坐标系 | 符号 | 原点位置 | Z轴方向 | 获取方式 |
|---|---|---|---|---|
| 基座标系 | {B} | 机器人底座安装面中心 | 竖直向上 | 机器人出厂定义 |
| 末端坐标系 | {E} | 法兰盘端面中心 | 沿法兰盘轴向向外 | 正运动学计算 |
| 相机坐标系 | {C} | 相机光心 | 沿光轴指向场景 | 相机模型定义 |
| 标定板坐标系 | {G} | 棋盘格左上角第一个角点 | 垂直于标定板平面 | 角点检测+PnP求解 |
| 像素坐标系 | (u,v) | 图像左上角 | — | 图像传感器输出 |
3.1.3 实战场景:眼在手上与眼在手外的坐标链差异
在眼在手上(Eye-in-Hand)配置中,相机固定在机械臂末端,相机与末端的变换矩阵ETC是固定不变的,标定时需要机器人带动相机从多个位姿观察固定标定板。而在眼在手外(Eye-to-Hand)配置中,相机固定在工作空间上方,相机与基座的变换矩阵BTC固定,标定时机器人携带标定板运动到相机视野内多个位姿。两种配置的坐标链不同,但最终都归结为求解一个固定变换矩阵,只是方程形式略有差异。
3.2 齐次变换矩阵
3.2.1 核心原理:旋转+平移的紧凑表达
齐次变换矩阵是一个4×4矩阵,将三维旋转矩阵R(3×3)和平移向量t(3×1)统一在一个矩阵中,形式为:
| R₃ₓ₃ t₃ₓ₁ |
T = | |
| 0 0 0 1 |
其中R满足正交性(RTR=I)且det(R)=1,t表示坐标系原点在参考坐标系中的位置。齐次变换矩阵的核心优势在于:可以将连续的坐标变换表示为矩阵连乘,例如从像素坐标到基座坐标的完整变换可写为:
ᴮP = ᴮT_E · ᴱT_C · ᶜP
这种链式乘法极大地简化了多坐标系转换的编程实现,也是手眼标定方程AX=XB的数学基础。
3.2.2 齐次变换的运算规则
- 复合变换:TAC = TAB · TBC,表示从C到A的变换等于先C到B再B到A的连乘。
- 逆变换:T-1 = | RT -RTt |,用于反向坐标转换。
- 旋转矩阵的几何意义:每一列表示目标坐标系各轴在参考坐标系中的方向余弦。
- 平移向量注意:平移量是在参考坐标系中沿各轴的距离,不是目标坐标系中的值。
3.2.3 案例拆解:从末端到基座的坐标变换
假设某六轴机器人当前关节角为θ=[0°, 30°, -45°, 0°, 60°, 0°],通过正运动学计算得到末端相对于基座的变换矩阵为:
ᴮT_E = | 0.866 -0.5 0 300 |
| 0.5 0.866 0 150 |
| 0 0 1 800 |
| 0 0 0 1 |
若相机测得目标点在相机坐标系下的坐标为CP=(50, -30, 200),且手眼标定已求得ETC为:
ᴱT_C = | 1 0 0 80 |
| 0 1 0 0 |
| 0 0 1 120|
| 0 0 0 1 |
则目标点在末端坐标系下的坐标为EP = ETC · CP = (130, -30, 320),再转换到基座坐标系:BP = BTE · EP = (0.866×130 - 0.5×(-30) + 300, 0.5×130 + 0.866×(-30) + 150, 800+320) = (442.6, 189.0, 1120)。这个计算过程展示了齐次变换矩阵如何将相机观测值转化为机器人可执行的基座坐标。
3.3 正运动学与逆运动学
3.3.1 核心原理:关节空间与笛卡尔空间的映射
正运动学(Forward Kinematics, FK):已知各关节角度/位移,求解末端执行器的位姿(位置+姿态)。对于六轴串联机器人,通常使用Denavit-Hartenberg(D-H)参数法建立连杆坐标系,通过4个参数(a, α, d, θ)描述相邻连杆间的变换关系,最终连乘得到末端位姿。正运动学是唯一解,计算确定且高效。
逆运动学(Inverse Kinematics, IK):已知末端期望位姿,求解各关节变量。逆运动学可能存在多解、无解或奇异解,需要根据关节限位、避障等约束条件选择最优解。在手眼标定中,逆运动学主要用于规划机器人到达多个标定位姿,确保相机能够从不同角度观测标定板。
3.3.2 正逆运动学的对比分析
| 对比维度 | 正运动学(FK) | 逆运动学(IK) |
|---|---|---|
| 输入 | 关节角度 θ₁~θ₆ | 末端位姿 (x, y, z, rx, ry, rz) |
| 输出 | 末端位姿矩阵 ᴮT_E | 关节角度 θ₁~θ₆ |
| 解的唯一性 | 唯一解 | 多解/无解/奇异解 |
| 计算复杂度 | 低,直接矩阵连乘 | 高,需解非线性方程组 |
| 在手眼标定中的角色 | 提供末端位姿真值 | 规划标定采集位姿 |
| 精度影响因素 | D-H参数误差、关节零位偏差 | 算法收敛性、奇异点规避 |
3.3.3 实战场景:标定过程中的运动学应用
在手眼标定数据采集阶段,需要控制机器人运动到15~20个不同位姿,使相机从不同角度拍摄标定板。此时逆运动学用于规划这些位姿对应的关节角,而正运动学则实时计算每个位姿下末端的精确位姿矩阵。一个典型的标定采集流程如下:
- 设定标定板固定在工作空间内,确保相机视野覆盖完整标定板。
- 手动示教或离线规划15~20个机器人位姿,要求:标定板始终在相机视野内、姿态变化足够大(旋转角度差异>30°)、避免奇异位形。
- 在每个位姿下,记录机器人控制器输出的末端位姿矩阵BTE(由正运动学计算),同时采集图像并检测标定板角点,通过PnP求解标定板在相机坐标系下的位姿CTG。
- 利用多组数据构建AX=XB方程,求解手眼变换矩阵X。
3.3.4 常见误区与总结复盘
- 误区一:认为正运动学计算出的末端位姿绝对准确。实际上,机器人存在关节减速器背隙、连杆弹性变形等误差,高精度标定需考虑运动学误差补偿。
- 误区二:忽略旋转矩阵的正交性约束。在数值计算中,由于浮点误差,连乘后的旋转矩阵可能不再严格正交,需定期进行正交化修正。
- 误区三:混淆坐标系定义。不同品牌机器人的基座标系原点位置和轴向定义可能不同,务必查阅手册确认。
- 误区四:标定采集位姿过于集中。如果所有位姿的旋转变化很小,AX=XB方程将出现病态,导致求解结果不稳定。