3. 机器人运动学基础:齐次变换矩阵、正运动学与逆运动学、雅可比矩阵与力映射

各位同学,大家好。我是你们这门课的老朋友。今天咱们来啃一块硬骨头——机器人运动学基础。

说实话,我刚开始做机器人控制那会儿,觉得运动学就是一堆矩阵乘法,枯燥得很。直到有一次,我调试一个六轴协作臂的装配程序,发现末端执行器死活对不准螺丝孔。折腾了两天,最后发现是正运动学算错了。嗯,从那以后,我再也不敢小看这些基础了。

这一章,咱们不讲虚的。直接上干货:齐次变换矩阵、正逆运动学、还有雅可比矩阵。你想想看,这些就是机器人的“骨架”和“神经”。搞懂了它们,柔顺控制才有根。

3.1 齐次变换矩阵:机器人的“坐标系语言”

说白了,齐次变换矩阵就是用来描述两个坐标系之间关系的。一个旋转,一个平移,合在一起就是4x4的矩阵。

我个人习惯把它拆成三块看:

  • 旋转部分(左上角3x3):描述姿态,比如手腕怎么扭。
  • 平移部分(右上角3x1):描述位置,比如手臂伸多远。
  • 最后一行([0 0 0 1]):固定格式,别动它。

举个例子,一个简单的平移变换:

// 沿X轴移动100mm的齐次变换矩阵
T = [1, 0, 0, 100;
     0, 1, 0, 0;
     0, 0, 1, 0;
     0, 0, 0, 1]

我在项目中遇到过一个问题:两个工程师用了不同的坐标系定义,结果机器人撞了夹具。后来我们统一用齐次变换矩阵做中间层,再也没出过事。记住,坐标系一致性是命根子

小技巧: 调试时,把齐次变换矩阵打印出来,看一眼最后一列的前三个数,那就是末端位置。如果数值离谱,八成是旋转矩阵算错了。

3.2 正运动学:从关节角度到末端位姿

正运动学,就是已知每个关节的角度,求末端执行器在空间中的位置和姿态。说白了,就是“我动了一下关节,手会跑到哪里?”

标准做法是用DH参数法。我建议你记住这个流程:

  1. 建立连杆坐标系(每个关节一个坐标系)
  2. 写出相邻连杆的齐次变换矩阵
  3. 把所有矩阵乘起来,得到末端相对于基座的变换矩阵

为什么正运动学重要?因为它是所有控制算法的基础。你想想看,如果连手在哪都不知道,怎么谈柔顺?

我曾经带过一个实习生,他写正运动学代码时,把矩阵乘法顺序搞反了。结果机器人末端位置差了十万八千里。所以,矩阵乘法顺序:左乘是相对基座,右乘是相对当前关节。这个千万别搞混。

核心公式: T_0n = T_01 * T_12 * T_23 * ... * T_(n-1)n

3.3 逆运动学:从末端位姿到关节角度

逆运动学正好反过来:已知末端要到达某个位置和姿态,求每个关节该转多少度。这是控制中最头疼的部分。

为什么头疼?因为:

  • 解可能不存在(目标点太远)
  • 解可能不唯一(多组关节角度都能到同一个点)
  • 解可能不连续(微小移动导致关节角度突变)

我常用的解法有两种:

方法 适用场景 缺点
解析法(封闭解) 六轴机器人,且满足Pieper准则 推导复杂,特定构型才适用
数值法(迭代法) 任意构型,冗余机器人 计算量大,可能不收敛

我个人习惯:能用解析法就用解析法。速度快,稳定性好。数值法我一般只用在冗余自由度机器人上。

避坑指南: 我曾经在装配任务中,逆运动学算出了两组解。一组关节角度变化小,另一组关节要转180度。如果选了后者,机器人会像抽风一样甩过去。所以,一定要加关节限位检查和最小路径选择

3.4 雅可比矩阵与力映射

雅可比矩阵,说白了就是关节速度到末端速度的映射关系。但它的用处远不止于此。

在柔顺控制中,我们更关心它的力映射功能:

τ = J^T * F

其中,τ是关节力矩,F是末端力,J^T是雅可比矩阵的转置。

这个公式太重要了。它告诉我们:

  • 末端感受到的力,如何折算到每个关节上
  • 我们给关节施加力矩,末端会产生多大的力

我记得有一次做力控装配,机器人末端力总是超差。查了半天,发现是雅可比矩阵在奇异位形附近数值不稳定。后来加了阻尼最小二乘法(DLS),问题就解决了。

经验之谈: 雅可比矩阵的秩,决定了机器人在当前位形下的运动能力。如果秩小于6,说明机器人处于奇异位形,某些方向会失去控制能力。装配任务中,一定要避开这些位置。

3.5 本章知识体系

为了让你更直观地理解这些概念之间的关系,我画了一张图:

机器人运动学知识体系 齐次变换矩阵 描述坐标系关系 旋转 + 平移 4x4矩阵 正运动学 关节角度 → 末端位姿 DH参数法 矩阵连乘 逆运动学 末端位姿 → 关节角度 解析法 / 数值法 多解、奇异问题 雅可比矩阵 速度映射 力映射:τ = J^T * F 奇异位形分析 齐次变换矩阵是基础,正/逆运动学解决位置问题,雅可比矩阵解决力与速度问题

从这张图你可以看到,齐次变换矩阵是地基,正/逆运动学是骨架,雅可比矩阵是神经。它们层层递进,缺一不可。

好了,这一章的内容就到这里。记住,运动学是柔顺控制的前提。如果你在项目中遇到装配对不准、力控不稳定,先回头检查一下运动学算对了没有。很多时候,问题就出在这些最基础的地方。

专注资料整理