机器人运动学基础:笛卡尔坐标系与变换矩阵的左乘、右乘

在机器人运动学和计算机图形学中,理解“坐标系”与“矩阵乘法顺序”的关系是掌握空间运动描述的关键。本文将从笛卡尔坐标系出发,深入解析何时使用左乘、何时使用右乘。

一、 基石:笛卡尔坐标系

在机器人控制中,我们通常在笛卡尔空间下描述物体的位姿。

  1. 什么是笛卡尔空间?
    与描述电机转动角度的关节空间不同,笛卡尔空间描述的是末端执行器在三维空间中的绝对状态:
    位置:$(x, y, z)$,单位通常为毫米或米。
    姿态:$(rx, ry, rz)$ 或旋转矩阵 $R$,描述物体的朝向。
  2. 笛卡尔空间 vs. 关节空间
    这是机器人学中最基础的区分:
    理解了笛卡尔空间,我们才能进一步讨论在这个空间内,如何通过矩阵乘法来描述运动。

二、 核心法则:左乘与右乘

假设我们有一个表示机器人当前位姿的变换矩阵 $T$,现在要对它施加一个变换 $R$(旋转或平移)。这个变换 $R$ 应该乘在左边还是右边?
在机器人学通用的列向量约定($P_{world} = T \cdot P_{local}$)下,法则非常明确:
核心结论
左乘:相对于固定坐标系进行变换。
右乘:相对于运动坐标系进行变换。

三、 深度解析与应用场景

1. 左乘:定系变换(变世界)

场景描述:
你站在地面上观察机器人,希望机器人绕着世界的原点旋转,或者沿着世界的X轴(例如地面的正东方向)平移。此时,参考系是固定的“大地”。
数学表达:

$$
T_{new} = R \cdot T_{old}
$$

直观理解:
左边的矩阵 $R$ 作用在整个世界坐标系上。它改变了“世界对机器人的看法”。
例子:机器人当前位于世界坐标 $(1, 0)$。
如果施加一个绕世界原点旋转90度的变换(左乘),机器人会绕着世界原点“画弧”,最终位置变为 $(0, 1)$。其位置发生了改变。

20260812223938

20260812224151

2. 右乘:动系变换(变自己)

场景描述:
你坐在驾驶舱里(或者你是机器人本身),你想让机器人向“左”转,或者向“前”走一步。这里的“左”和“前”是相对于机器人当前的朝向而言的。此时,参考系是机器人自己。
数学表达:

$$
T_{new} = T_{old} \cdot R
$$

直观理解:
右边的矩阵 $R$ 作用在机器人自身的局部坐标系上。它改变了“机器人相对于自己的状态”。
例子:机器人当前位于世界坐标 $(1, 0)$。
如果施加一个绕自身中心旋转90度的变换(右乘),机器人会在原地自转,其世界坐标位置 $(1, 0)$ 不变,但朝向变了。

20260812225811

20260812225827

四、 实际机器人操作中的对应关系

在工业机器人示教器或API编程中,笛卡尔坐标系的选择直接决定了底层的数学运算逻辑:
典型应用举例
左乘场景:搬运码垛。机器人需要将货物整齐地码放在地面上,货物的排列是基于地面坐标系的,此时用左乘逻辑规划更简单。
右乘场景:焊接或涂胶。焊枪必须始终沿焊缝切线方向前进,无论焊枪是竖着还是横着,此时必须使用工具坐标系(右乘逻辑),让机器人沿自身轴向移动。

五、 总结

在机器人运动学中,左乘与右乘的选择,本质上是参考系的选择:
左乘:站在观察者(世界)的角度看运动。
右乘:站在操作者(机器人自身)的角度做运动。
掌握了这一法则,就能在面对不同的工艺需求时,快速判断出正确的坐标系设置与数学表达方式。
注:本文基于机器人学通用的列向量习惯($Ax=b$)进行讨论。若使用行向量习惯,左右乘含义会相反,但在工业机器人领域列向量更为通用。