聊聊雅可比矩阵,如何统一机器人控制的两条主线?
正运动学是一张地图雅可比矩阵是地图上的“比例尺”本文出自《具身智能基础》专栏是本栏目下的第十篇文章聚焦于机器人建模框架中的雅可比矩阵与微分运动学。目录01 关节空间与任务空间两个必须打通的世界02 雅可比矩阵局部的速度翻译器03 几何直觉每一列都是一个关节的运动指纹04 从速度到力雅可比转置的对偶性05 一条线串起 IK、WBC、MPC 与强化学习06 奇异与零空间雅可比矩阵的边界提示07 雅可比矩阵是接口不是终点「一只六轴机械臂正在执行曲面打磨工件表面带有弧度末端工具需要沿着法向保持恒定压力同时沿切向以 50 mm/s匀速行进……」这是操作员在示教器上规划出的轨迹目标清晰明确位置、速度、姿态、接触力。这些人能直观理解和规划的量被全部定义在任务空间里。但机械臂听不懂这些。它的底层执行器只接收一种信号每个电机的目标位置六个关节各转多少或速度何时转、转多快这些被定义在关节空间里。这就形成了机器人控制最核心的矛盾我们在任务空间定义目标机器人却必须在关节空间执行运动。翻译这道鸿沟具体到物理层面无非就是两个问题第一速度怎么映射 第二力怎么映射雅可比矩阵就是同时回答这两个问题的核心桥梁。这篇文章我们会从直觉讲到公式从速度映射讲到力映射最后看看它如何串起现代机器人算法的主线——逆运动学IK、全身运动控制WBC、模型预测控制MPC、强化学习RL。01 关节空间与任务空间两个必须打通的世界机器人控制里始终存在两个空间。关节空间由每个电机直接驱动维度等于关节数。一台 6 轴工业臂的关节空间是 6 维一只 20 自由度的灵巧手则是 20 维。在这个空间里控制器直接下达指令“第 3 个关节以 0.5 rad/s 转动”。任务空间人真正思考问题的空间。它通常由末端的位置和姿态组成在三维世界里是 6 维3 维线速度加 3 维角速度。“末端向前移动 1 cm”、“工具绕自身 z 轴旋转 5°”这些指令都在任务空间里。这两个空间不是一回事。同样的末端位姿关节可能有多种组合同一个关节运动在不同构型下对末端产生的贡献也不同。把它们连起来的第一步叫正运动学给定关节角通过连杆变换连乘算出末端位姿。正运动学像一张地图告诉你从关节到末端的“位置关系”。这部分内容见本专往期文章但控制机器人时我们真正关心的不仅是“在哪”更是“怎么变”。一旦进入变化这个话题雅可比矩阵就自然出现了。▲图1| 关节空间与任务空间之间正运动学负责位置映射雅可比矩阵负责速度映射。02 雅可比矩阵局部的速度翻译器从数学上看雅可比矩阵描述的是一个多变量函数在当前点附近的一阶线性近似输入发生微小变化时输出会怎么跟着变。把这个关系对时间求导就得到机器人里最常见的形式其中是末端的 6 维速度旋量前 3 维是线速度后 3 维是角速度是关节速度向量是一个的矩阵是关节数。这个式子的含义末端速度等于雅可比矩阵乘以关节速度。注意这里有个关键词局部。雅可比矩阵只在当前构型附近成立机器人一旦运动关节角度改变的数值也会随之更新。控制器不是一次性解出全局答案而是在每一小步里都用当前雅可比做一次就近翻译。打个比方正运动学是一张完整的地图而雅可比矩阵是地图在当前位置上的比例尺。它告诉你沿着眼前这一小片区域走步子会怎么被放大或缩小。03 几何直觉每一列都是一个关节的运动指纹雅可比矩阵为什么能完成翻译答案在它的列向量里。的第 i 列描述的是在其他关节都固定的情况下第 i 个关节以单位速度运动时末端会产生怎样的速度贡献。每一列都是这个关节在当前构型下的“运动指纹”。对于一个转动关节关节绕自身的旋转轴转动会同时给末端带来两种效果角速度贡献末端会获得一个沿方向的角速度。线速度贡献末端会绕关节轴做瞬时圆周运动线速度方向垂直于旋转轴和从关节指向末端的力臂。写成列向量就是上式中是末端位置是第个关节的位置表示叉积。而对于移动关节关节直接沿轴平移只产生线速度把所有关节的列向量并排拼起来就得到完整的雅可比矩阵这揭示了一个事实末端的速度是所有关节瞬时运动贡献的线性叠加。这种几何理解比直接对公式求导更直观也更容易在调试时判断当前是哪个关节在主导末端朝某个方向运动。▲图2| 雅可比矩阵的第 i 列就是第 i 个关节在当前构型下对末端速度的运动指纹。04 从速度到力雅可比转置的对偶性雅可比矩阵最早通常出现在速度问题里所以很多人误以为它只是一个“速度工具”。真正让它在机器人学中地位如此高的是它和力之间的对偶关系。如果末端受到一个广义力力和力矩那么关节需要提供的力矩满足这个式子被称为力雅可比。它和速度雅可比形成了一种对称关系速度映射把关节速度映射到末端速度力映射把末端力映射回关节力矩。如果末端受到一个广义力力和力矩那么关节需要提供的力矩 满足这个式子被称为力雅可比。它和速度雅可比形成了一种对称关系速度映射把关节速度映射到末端速度力映射把末端力映射回关节力矩。这意味着雅可比矩阵不仅是运动学里的桥梁也是力学里的桥梁。机器人一旦涉及接触、装配、打磨、抛光、协作搬运就一定会用到这层关系。比如末端要沿某个方向以恒定压力压紧工件这个任务空间的力指令最终必须通过分配到各个关节的力矩上。阻抗控制、导纳控制、力位混合控制本质上都是在反复调用这一对映射。所以更准确地说雅可比矩阵既告诉机器人“怎么动”也告诉机器人“怎么发力”。运动和受力这两件事在这里被统一了起来。▲图3| 速度映射与力映射共享同一座桥只是方向相反分别对应 J 与 Jᵀ。05 一条线串起 IK、WBC、MPC 与强化学习很多机器人算法表面看差异很大但往底层走经常会发现它们共享同一条运动学主线把任务空间的目标转成关节空间的执行量而雅可比矩阵就是这个转换的接口。▲图4| 从 IK 到 RL现代机器人算法在不同层级反复调用雅可比矩阵描述的局部运动学结构。数值逆运动学Numerical IK 是最直接的例子末端当前位姿与目标位姿之间存在误差一种自然的做法是让末端沿误差减小的方向运动这里的是雅可比矩阵的伪逆。逆解问题于是从“直接求位置解”变成了“反复做速度层面的修正”。在冗余机器人上还可以在雅可比的零空间里叠加次级任务比如避障或保持关节居中。与逆运动学IK相关的内容详见本专往期文章全身控制WBC 更进一步它同时处理多个任务躯干平衡、末端跟踪、足部约束、关节限位。每个任务都被写成任务空间的速度或力约束而雅可比矩阵负责把这些约束统一投影到关节层面。模型预测控制MPC 则利用雅可比做局部线性化机器人在未来一小段时间内的运动模型通常是非线性的雅可比矩阵帮助控制器在当前工作点附近把它近似成线性系统从而快速求解优化问题。甚至在强化学习里雅可比也同样扮演着重要角色。策略网络学习的是从观测到动作的映射但它最终要作用在一个有物理结构的系统上。雅可比矩阵提供了系统局部的运动学敏感性帮助学习算法理解“当前状态下哪个关节的动作对末端影响最大”。从这个角度看雅可比矩阵不是某个算法里的中间公式而是机器人算法体系的基础接口。它让逆解、控制、优化、学习这些方法有了一个共同的落脚点。06 奇异与零空间雅可比矩阵的边界提示雅可比矩阵虽然强大但也有自己的“边界”。当机器人在某些特殊构型下雅可比矩阵的秩下降意味着末端在至少一个方向上的瞬时运动能力丧失了。这种构型称为奇异位形在奇异点附近逆解和力控制都会变得不稳定因为同样的末端速度可能需要极大的关节速度或者同样的末端力会产生异常的关节力矩。零空间是另一个重要概念对于自由度多于任务空间维度的冗余机器人雅可比矩阵的零空间提供了一层宝贵的自由度。零空间里的关节运动满足不会改变末端位姿却可以用来完成避障、姿态优化、能耗最小化等次级任务。理解奇异和零空间不是为了把公式写得更复杂而是为了在工程里知道雅可比矩阵不是万能的它只是在当前局部、当前构型下的最佳线性近似。越过这个边界就需要更高级的工具来处理。07 雅可比矩阵是接口不是终点雅可比矩阵本身并不难理解它是正运动学在当前构型下的一阶线性近似把关节速度翻译成末端速度再通过转置把末端力翻译回关节力矩。它真正的价值在于把机器人学里许多看似分散的问题串到了同一个框架下。逆运动学、全身控制、模型预测控制、强化学习——这些方法没有绕过运动学而是在运动学给出的结构之上继续搭建。如果说正运动学回答的是“机器人在哪里”那么雅可比矩阵回答的就是“机器人现在能怎么变”。这个变字才是控制的本质。