运动学基础:正运动学、逆运动学、雅可比矩阵与奇异性分析

大家好,我是老张。今天咱们聊聊机器人运动学里最核心的几个概念。说实话,这章内容我讲了不下几十遍了,但每次带新人做项目,总有人在这几个地方栽跟头。咱们一个一个来拆解。

正运动学(FK)—— 从关节到末端

正运动学,说白了就是:已知每个关节的角度,求末端执行器在空间中的位置和姿态。这就像你抬起手臂,你知道肩膀转了30度,肘弯了45度,手腕没动——那你的手指尖在哪儿?这就是FK要算的事。

我个人习惯用DH参数法(Denavit-Hartenberg)来建模。这个方法的核心是给每个关节建立一个坐标系,然后用四个参数(a, α, d, θ)来描述相邻坐标系之间的变换。

DH参数四件套:

  • a:连杆长度(沿x轴平移)
  • α:连杆扭转(绕x轴旋转)
  • d:连杆偏距(沿z轴平移)
  • θ:关节角(绕z轴旋转)

有了这四个参数,相邻两个坐标系之间的变换矩阵就是:

T = Rot_z(θ) * Trans_z(d) * Trans_x(a) * Rot_x(α)

把每个关节的变换矩阵连乘起来,就得到末端相对于基座的位姿了。我在项目中遇到过一个问题:有个同事把DH参数里的a和d搞反了,结果仿真出来的机械臂直接穿模到地底下去了。嗯,这种低级错误其实挺常见的,大家写代码时一定要对着实物或图纸反复核对。

逆运动学(IK)—— 从末端到关节

逆运动学正好反过来:已知末端位姿,求每个关节的角度。这比FK难多了,因为IK通常有多解、无解甚至无穷解的情况。

你想想看,你的手够到桌面上一个点,肘关节可以朝上也可以朝下,这就是多解。如果那个点离你太远,你够不着,那就是无解。

IK的解法主要有两类:

  • 解析法:通过几何或代数推导出显式公式。速度快,但只适用于特定构型的机器人(比如6轴机器人有封闭解的构型)。
  • 数值法:用迭代逼近的方式求解,比如牛顿法、梯度下降法。通用性强,但计算慢,且可能陷入局部最优。

我的经验:做工业机器人项目时,优先用解析法。数值法我一般只用在冗余自由度机器人或者特殊构型上。曾经有个项目,我用数值法做IK,结果每次启动时末端都会抖一下——后来发现是初始值选得不好,迭代收敛到了另一个解上。

雅可比矩阵 —— 速度与力的桥梁

雅可比矩阵(Jacobian)是个好东西。它把关节空间的速度映射到操作空间的速度

公式很简单:ẋ = J(q) · q̇

其中ẋ是末端速度(线速度+角速度),q̇是关节速度,J就是雅可比矩阵。

雅可比矩阵的另一个重要用途是力/力矩映射。根据虚功原理,末端力F和关节力矩τ之间的关系是:τ = Jᵀ · F

我在做力控打磨项目时,就靠这个公式把末端的接触力换算成每个关节需要输出的力矩。说白了,雅可比矩阵就是连接关节和末端之间的「翻译官」。

奇异性分析 —— 那些让机器人「卡住」的位置

奇异性,是每个做机器人控制的人都会遇到的噩梦。

当机器人处于奇异位形时,雅可比矩阵会降秩(行列式为0)。这意味着:

  • 某些方向上的运动变得不可能
  • 关节速度会趋于无穷大
  • 控制精度急剧下降

我曾经踩过的坑:有一次调试焊接机器人,末端走直线轨迹,结果在某个位置机器人突然剧烈抖动,差点把焊枪甩出去。后来一查,是轨迹穿过了奇异点。从那以后,我每次规划路径都会先做奇异性检测,绕开那些「雷区」。

常见的奇异类型有:

  • 边界奇异:手臂完全伸直或折叠时
  • 内部奇异:两个关节轴线共线时(比如腕部奇异)
  • 肩部奇异:肩关节和腕关节中心重合时

怎么检测?很简单,计算雅可比矩阵的行列式。如果行列式的绝对值接近0,就说明离奇异点不远了。我一般会设一个阈值,比如0.01,低于这个值就触发报警或切换控制策略。

知识体系总览

下面这张图是我自己画的,把本章的核心逻辑串起来了:

运动学基础 正运动学 (FK) 关节 → 末端位姿 逆运动学 (IK) 末端位姿 → 关节 雅可比矩阵 速度/力映射 奇异性分析 降秩检测与规避 应用场景:轨迹规划 · 力控制 · 避障 · 标定 FK是基础,IK是目标,雅可比是工具,奇异性是陷阱

实际项目中的避坑指南

最后,分享几个我这些年总结出来的经验:

  1. FK一定要先验证:写代码前,用手算几个特殊位姿(比如所有关节归零),看看末端位置对不对。我见过太多人直接跑仿真,结果错了半天找不到原因。
  2. IK多解怎么选?一般选「关节位移最小」的那个解。如果前后两帧之间关节角度跳变太大,机器人会抖得厉害。
  3. 雅可比矩阵要实时更新:关节角度一变,雅可比矩阵就得重新算。别偷懒用上一帧的值,会出事的。
  4. 奇异点附近怎么办?可以用阻尼最小二乘法(DLS)或者奇异值分解(SVD)来「软化」雅可比矩阵的逆。虽然会牺牲一点精度,但至少机器人不会乱抖。

一句话总结:FK是基本功,IK是硬骨头,雅可比是万能钥匙,奇异性是隐藏地雷。把这四个吃透了,机器人运动学这块你就稳了。


专注资料整理