机器人运动学基础:正运动学与逆运动学定义、坐标系变换、DH参数

机器人运动学是机器人学中最基础、最核心的学科分支,它研究的是机器人末端执行器(End-Effector)与各关节变量之间的数学映射关系。在工业机器人、协作机器人、移动机械臂乃至人形机器人的控制系统中,运动学求解是路径规划、轨迹插补、力控与视觉伺服的前提。本章将系统梳理正运动学(Forward Kinematics, FK)与逆运动学(Inverse Kinematics, IK)的定义与区别,深入讲解刚体坐标系变换的数学工具,并重点剖析Denavit-Hartenberg(DH)参数建模方法。理解本章内容,是后续学习IK数值解法、解析解法以及运动控制算法的基础。

机器人运动学核心知识框架 坐标系变换 • 旋转矩阵 R (3x3) • 平移向量 t (3x1) • 齐次矩阵 T (4x4) • 欧拉角 / 四元数 → 描述刚体在空间中的位姿 DH参数建模 • aᵢ₋₁: 连杆长度 • αᵢ₋₁: 连杆扭转角 • dᵢ: 关节偏置 • θᵢ: 关节角 → 4个参数唯一确定相邻坐标系关系 正/逆运动学 • 正运动学: θ → T (唯一) • 逆运动学: T → θ (多解) • 雅可比矩阵: J = ∂x/∂θ • 奇异位形分析 → 关节空间与笛卡尔空间映射 DH参数表 → 齐次变换矩阵链 DH参数表 (6轴机器人示例) 关节 i aᵢ₋₁ αᵢ₋₁ dᵢ θᵢ 1 0 0 d₁ θ₁ 2 a₁ -90° d₂ θ₂ 3 a₂ 0 d₃ θ₃ 齐次变换矩阵链 T₀₆ = T₀₁ · T₁₂ · T₂₃ · T₃₄ · T₄₅ · T₅₆ 其中 Tᵢ₋₁ᵢ = f(aᵢ₋₁, αᵢ₋₁, dᵢ, θᵢ)

上图展示了本章的核心知识框架。坐标系变换是描述机器人连杆之间相对位姿的数学语言;DH参数则是将这种描述标准化、参数化的桥梁;而正运动学与逆运动学则是在此基础上建立关节空间与笛卡尔空间映射的最终目标。下面我们逐一深入展开。

2.1 正运动学与逆运动学:定义与本质区别

2.1.1 核心原理:从关节空间到笛卡尔空间的双向映射

正运动学(Forward Kinematics)解决的问题是:已知机器人各关节的关节变量(旋转关节为角度θ,移动关节为位移d),求解机器人末端执行器在基坐标系下的位姿(位置与姿态)。这是一个从关节空间到笛卡尔空间的映射过程,数学上可以表示为:

T_0^n = f(θ_1, θ_2, ..., θ_n)

其中T_0^n是末端坐标系相对于基坐标系的齐次变换矩阵(4×4),θ_i为第i个关节变量。正运动学具有唯一性——给定一组确定的关节角,末端位姿是唯一确定的。这种唯一性使得正运动学计算相对简单,通常只需要代入DH参数进行矩阵连乘即可。

逆运动学(Inverse Kinematics)则相反:已知末端执行器在笛卡尔空间中的目标位姿,反解出能够达到该位姿的各关节变量。数学上表示为:

θ = f^{-1}(T_0^n_desired)

逆运动学具有多解性——同一个末端位姿可能对应多组关节角组合(例如六轴机器人的肘部上下翻转、腕部翻转等)。此外,逆运动学还可能存在无解的情况(目标位姿超出机器人工作空间)以及奇异位形(雅可比矩阵秩亏,导致某些方向无法运动)。

核心区别总结:正运动学是“因→果”的确定性计算,用于仿真、可视化与标定;逆运动学是“果→因”的求解过程,是机器人轨迹规划与控制的核心。实际工程中,逆运动学求解的实时性与稳定性直接决定了机器人的动态性能。

2.1.2 判断方法:何时使用正运动学,何时使用逆运动学

在机器人控制系统的实际开发中,选择正运动学还是逆运动学取决于应用场景:

  • 使用正运动学:当需要根据当前关节角反馈计算末端实际位姿(如示教器显示、碰撞检测、视觉引导中的手眼标定)时;当进行运动学仿真验证算法正确性时。
  • 使用逆运动学:当用户给定末端目标位姿(如从视觉系统获取抓取点、从轨迹规划器获取路径点)需要生成关节角指令时;当进行笛卡尔空间直线/圆弧插补时,每个插补点都需要实时求解IK。

值得注意的是,现代工业机器人控制器通常采用“笛卡尔空间规划 + 逆运动学实时求解”的架构。例如,在焊接、喷涂等应用中,工艺路径以笛卡尔坐标定义,控制器需要以1ms甚至更短的周期调用IK求解器。

2.1.3 案例拆解:六轴关节机器人的正逆运动学对比

以典型的六自由度串联关节机器人为例(如KUKA KR系列、ABB IRB系列),其正运动学计算流程如下:

  1. 根据机器人厂家提供的DH参数表,建立各连杆坐标系;
  2. 计算相邻坐标系的齐次变换矩阵T_{i-1,i}(i=1,...,6);
  3. 将6个矩阵依次相乘,得到T_{0,6},提取其中的旋转矩阵R和位置向量p,即为末端位姿。

而逆运动学求解则复杂得多。对于六轴机器人,Pieper准则指出:若机器人后三个关节轴交于一点(满足球形腕结构),则逆运动学可以解析求解。求解过程通常分为两步:

  • 位置反解:由末端位置p反解前三个关节角(θ₁, θ₂, θ₃),这涉及平面几何与三角函数求解;
  • 姿态反解:由末端姿态R反解后三个关节角(θ₄, θ₅, θ₆),通常利用腕部欧拉角分解。

以θ₁的求解为例,当机器人满足球形腕条件时,θ₁通常有两个解(左肩位形与右肩位形),对应atan2函数的不同分支。实际工程中,需要根据关节限位、避障要求以及连续性原则(最小关节变化)来选择合适的解。

常见误区:初学者常误以为逆运动学一定有解析解。实际上,只有满足特定结构条件(如球形腕、相邻关节轴平行或垂直)的机器人才能获得解析解。对于一般构型的机器人(如7自由度冗余机器人、非球形腕结构),必须采用数值迭代方法(如雅可比伪逆法、牛顿-拉夫森法),但数值方法存在计算量大、可能陷入局部极小值、无法保证实时性等问题。

2.2 坐标系变换:刚体位姿描述的数学工具

2.2.1 核心原理:旋转矩阵、平移向量与齐次变换矩阵

在机器人运动学中,我们使用刚体(Rigid Body)来描述连杆。刚体在空间中的位姿由位置(Position)和姿态(Orientation)两部分组成。位置用3×1平移向量p表示,姿态用3×3旋转矩阵R表示。旋转矩阵R的列向量是坐标系{B}的三个主轴在参考坐标系{A}中的方向余弦,具有正交性和行列式为+1的性质。

为了将旋转和平移统一处理,引入齐次变换矩阵(Homogeneous Transformation Matrix):

T = [ R   p ]
    [ 0   1 ]

其中T为4×4矩阵,左上角3×3为旋转矩阵,右上角3×1为平移向量,左下角1×3为零向量,右下角为标量1。齐次变换矩阵使得复合变换可以表示为矩阵乘法:T_{A,C} = T_{A,B} · T_{B,C},极大简化了坐标变换的链式计算。

除了旋转矩阵,姿态还可以用欧拉角(ZYX、ZYZ等)、四元数(Quaternion)表示。欧拉角直观但存在万向锁问题;四元数无奇异且插值平滑,在姿态插补中广泛使用。工程中,旋转矩阵用于计算,欧拉角用于人机交互显示,四元数用于姿态平滑过渡。

2.2.2 操作流程:坐标系变换的链式法则

在实际机器人系统中,存在多个坐标系:基坐标系(Base)、各连杆坐标系(Link i)、工具坐标系(Tool)、用户坐标系(User)、视觉坐标系(Camera)等。坐标系变换的基本操作流程如下:

  1. 明确参考系:确定当前坐标是相对于哪个坐标系描述的;
  2. 建立变换链:从源坐标系到目标坐标系,找到一条由已知变换组成的路径;
  3. 矩阵连乘:按照变换顺序依次左乘(或右乘,取决于变换是相对于固定系还是运动系)齐次变换矩阵;
  4. 提取结果:从最终的齐次矩阵中提取位置向量和旋转矩阵(或欧拉角)。

例如,视觉引导抓取场景中,目标物体在相机坐标系下的位姿为T_{cam,obj},相机安装于机器人末端(手眼系统),标定得到T_{tool,cam},机器人正运动学给出T_{base,tool},则物体在基坐标系下的位姿为:

T_{base,obj} = T_{base,tool} · T_{tool,cam} · T_{cam,obj}

这个链式法则贯穿于机器人标定、视觉伺服、多机器人协同等所有需要坐标统一的场景。

2.2.3 案例拆解:手眼标定中的坐标系变换

考虑一个典型的“眼在手上”(Eye-in-Hand)视觉系统。相机固定在机器人末端法兰上,需要将相机检测到的物体坐标转换到机器人基坐标系。已知:

  • 机器人当前关节角,通过正运动学计算得到T_{base,tool}(末端法兰在基坐标系下的位姿);
  • 手眼标定得到相机相对于工具坐标系的固定变换T_{tool,cam};
  • 相机检测到物体在图像中的位置,通过相机内参和深度信息得到物体在相机坐标系下的位姿T_{cam,obj}。

则物体在基坐标系下的位姿为:T_{base,obj} = T_{base,tool} · T_{tool,cam} · T_{cam,obj}。这里的关键在于手眼标定矩阵T_{tool,cam}的精度。如果标定误差为1mm,在距离相机500mm处,物体定位误差可能被放大到3-5mm,直接影响抓取成功率。因此,工程中通常采用多组姿态下的观测数据,通过最小二乘或非线性优化求解手眼矩阵。

经验提醒:在进行坐标系变换时,务必注意矩阵乘法的顺序。左乘表示相对于固定参考系的变换,右乘表示相对于当前运动坐标系的变换。在编写代码时,建议使用成熟的数学库(如Eigen、Sophus)并做好单元测试,避免手写矩阵运算引入低级错误。

2.3 DH参数:机器人运动学建模的标准方法

2.3.1 核心原理:DH参数的定义与坐标系建立规则

Denavit-Hartenberg(DH)参数法是由Jacques Denavit和Richard Hartenberg于1955年提出的,用于描述串联机器人相邻连杆之间相对位姿的标准方法。DH方法的核心思想是:通过4个参数(a, α, d, θ)唯一确定相邻两个关节坐标系之间的齐次变换矩阵。

对于相邻的关节i-1和关节i,DH参数定义如下:

参数 符号 物理含义 几何描述
连杆长度 a_{i-1} 沿x_{i-1}轴方向,从z_{i-1}轴到z_i轴的距离 两个关节轴之间的公垂线长度
连杆扭转角 α_{i-1} 绕x_{i-1}轴,从z_{i-1}轴旋转到z_i轴的角度 两个关节轴之间的空间夹角
关节偏置 d_i 沿z_i轴方向,从x_{i-1}轴到x_i轴的距离 相邻连杆沿关节轴方向的偏移
关节角 θ_i 绕z_i轴,从x_{i-1}轴旋转到x_i轴的角度 旋转关节的变量,移动关节为常量

建立DH坐标系的规则如下:

  1. 找出所有关节轴,并标出z_{i-1}轴(沿关节i-1的轴线方向);
  2. 确定x_{i-1}轴:沿z_{i-1}轴与z_i轴的公垂线方向,由关节i-1指向关节i;
  3. 确定y_{i-1}轴:由右手定则确定(y = z × x);
  4. 当两个z轴相交时,x轴方向垂直于两轴所在平面;当两个z轴平行时,x轴方向沿公垂线方向。

基于上述参数,相邻坐标系的齐次变换矩阵为:

T_{i-1,i} = Rot(x, α_{i-1}) · Trans(x, a_{i-1}) · Rot(z, θ_i) · Trans(z, d_i)

展开后得到标准DH矩阵形式(注意:标准DH与改进DH在参数定义上略有差异,本文采用标准DH约定)。

2.3.2 操作流程:从机器人结构到DH参数表的建立

建立机器人DH参数表的工程流程如下:

  • 步骤1:绘制机构简图——标注所有关节轴线、连杆长度、偏置距离等几何尺寸;
  • 步骤2:建立坐标系——按照上述规则在每个关节处建立连杆坐标系{i};
  • 步骤3:确定DH参数——逐一读取a、α、d、θ四个参数,注意符号约定(逆时针为正);
  • 步骤4:验证变换矩阵——将DH参数代入矩阵公式,检查在零位(所有关节角为0)时末端位姿是否与机械设计一致。

以常见的六轴关节机器人为例,其DH参数表通常如下(具体数值因厂家而异):

关节i a_{i-1} (mm) α_{i-1} (°) d_i (mm) θ_i (°)
1 0 0 d₁=330 θ₁
2 a₁=150 -90 0 θ₂
3 a₂=600 0 0 θ₃
4 0 90 d₄=630 θ₄
5 0 -90 0 θ₅
6 0 90 d₆=100 θ₆

注意:α的符号决定了关节轴的旋转方向,d的正负取决于坐标系建立时的方向选择。错误的符号将导致正运动学计算结果与实物严重偏离。

2.3.3 案例拆解:SCARA机器人的DH建模与正运动学验证

SCARA(Selective Compliance Assembly Robot Arm)机器人是工业装配中常用的平面关节型机器人,具有四个自由度(三个旋转关节+一个移动关节)。我们以其为例演示完整的DH建模过程。

背景与约束:SCARA机器人的前三个关节控制末端在水平面内的位置(θ₁、θ₂)和垂直高度(d₃),第四个关节控制末端绕垂直轴的旋转(θ₄)。其结构特点是所有关节轴均垂直于水平面,因此DH参数中α均为0°。

DH参数表:

关节i a_{i-1} (mm) α_{i-1} (°) d_i (mm) θ_i (°)
1 0 0 d₁=200 θ₁
2 a₁=300 0 0 θ₂
3 a₂=250 0 d₃ (变量) 0
4 0 0 d₄=80 θ₄

正运动学计算:将上述参数代入DH矩阵公式,依次计算T₀₁、T₁₂、T₂₃、T₃₄,然后连乘得到T₀₄。最终末端位置为:

x = a₁·cos(θ₁) + a₂·cos(θ₁+θ₂)
y = a₁·sin(θ₁) + a₂·sin(θ₁+θ₂)
z = d₁ - d₃ - d₄

这个结果与平面几何直觉完全一致:末端在水平面的位置由前两个旋转关节的臂长和角度决定,高度由移动关节决定。

验证与复盘:在机器人调试现场,我们通常将各关节置于零位,用激光跟踪仪或千分表测量末端实际位置,与正运动学计算结果对比。若误差在0.1mm以内,说明DH参数正确;若存在系统性偏差,则可能是连杆长度a或偏置d的标称值与实际加工装配值不符,需要重新标定。

常见误区与风险:①混淆标准DH与改进DH——两者在参数定义和坐标系建立上存在差异,混用会导致严重错误;②忽略关节零位偏移——实际机器人编码器零位与DH定义零位可能存在偏差,需要在控制器中设置零位偏置;③未考虑关节柔性——重载或高速运动时连杆变形会导致实际位姿偏离理论值,此时需要引入弹性动力学修正。

2.4 本章总结与工程实践要点

本章系统梳理了机器人运动学的基础知识框架。正运动学提供了从关节空间到笛卡尔空间的确定性映射,是机器人仿真、标定与状态监测的基础;逆运动学则解决了从目标位姿反解关节角的工程需求,是轨迹规划与控制的核心环节。坐标系变换(特别是齐次变换矩阵)是连接不同参考系的数学桥梁,而DH参数则为串联机器人提供了一套标准化的建模语言。

在工程实践中,建议读者注意以下几点:

  • 建模先行:在编写任何运动学算法之前,务必先建立准确的DH参数表,并通过正运动学验证其正确性;
  • 矩阵库使用:优先使用Eigen、Sophus等经过充分测试的数学库,避免手写矩阵运算;
  • 多解处理策略:对于逆运动学多解问题,应根据关节限位、能耗最小、轨迹连续性等准则选择最优解;
  • 奇异位形规避:在轨迹规划阶段就应检测奇异位形,避免在奇异点附近执行高速运动。

掌握本章内容后,读者应能够独立完成常见构型机器人的DH建模、正运动学计算,并理解逆运动学求解的基本思路与难点,为后续学习雅可比矩阵、奇异性分析以及高级运动控制算法奠定坚实基础。