刚体运动学研究的是:不考虑物体受力和形变时,如何统一描述它的位置、姿态和瞬时速度。在现代机器人学中,这三个问题分别由 SE(3)、李代数 se(3) 和指数映射联系起来:
T∈SE(3),[V]∈se(3),T(θ)=e[S]θT(0)
本文从齐次变换矩阵出发,逐步解释运动旋量(Twist)、螺旋轴、矩阵指数,以及空间坐标和物体坐标下的速度表示。
从 SO(3) 到 SE(3)
齐次变换矩阵
旋转矩阵 R∈SO(3) 只能描述姿态,其中
SO(3)={R∈R3×3∣RTR=I, det(R)=1}.
如果还要表示坐标系原点的位置,就需要增加平移向量 p∈R3。将二者放入同一个矩阵,得到特殊欧氏群 SE(3):
T=[R0p1]∈SE(3).
记 Tsb 为坐标系 {b} 相对于空间坐标系 {s} 的位姿。Rsb 的三列分别是 {b} 的三个单位轴在 {s} 中的坐标,psb 则是 {b} 原点在 {s} 中的位置。

齐次坐标与点的变换
空间点的普通坐标为 x∈R3,补上最后一维 1 后得到齐次坐标:
xˉ=[x1].
同一个点 P 在两个坐标系中的坐标满足
xˉs=Tsbxˉb,xs=Rsbxb+psb.
方向向量不受平移影响,因此它的齐次形式最后一维取 0:
[ds0]=Tsb[db0],ds=Rsbdb.
这一区别很实用:点表示“在哪里”,方向向量只表示“朝哪里”。
变换的复合与求逆
若已知 Tsa 和 Tab,则从 {b} 到 {s} 的变换为
Tsb=TsaTab.
矩阵乘法的顺序不能交换。阅读下标时,可以把中间重复的坐标系 a 看作被“消去”。齐次变换的逆矩阵具有简单形式:
Tbs=Tsb−1=[RsbT0−RsbTpsb1].
注意逆变换的平移部分并非简单的 −p;它还需要先旋转到新的参考坐标系。
运动旋量 Twist
位姿 T 描述某一时刻刚体“在哪里”,Twist 则描述刚体此刻“怎样运动”。它是同时包含角速度与线速度的六维向量:
V=[ωv]=[ωxωyωzvxvyvz]T.
从位姿变化率得到 Twist
设 Tsb(t) 是随时间变化的刚体位姿。固定在刚体上的点满足
xˉs=Tsbxˉb,xˉ˙b=0.
求导并代入 xˉb=Tsb−1xˉs:
xˉ˙s=T˙sbxˉb=T˙sbTsb−1xˉs.
因此定义空间坐标下的 Twist 矩阵
[Vs]=T˙sbTsb−1=[R˙RT0p˙−R˙RTp0]=[[ωs]0vs0].
相应地,从右侧消去 T 可得到物体坐标下的 Twist:
[Vb]=Tsb−1T˙sb=[RTR˙0RTp˙0].
反对称矩阵与括号算子
三维向量 ω=(ωx,ωy,ωz)T 对应的反对称矩阵为
[ω]=0ωz−ωy−ωz0ωxωy−ωx0,
它满足 [ω]x=ω×x。六维 Twist 的矩阵形式(也常写作 [V]∧)为
[V]=[[ω]0v0]∈se(3).
反向操作称为 vee 算子:V=[V]∨。这里的 se(3) 是 SE(3) 在单位元附近的切空间,也就是刚体的瞬时速度空间。
Twist 的几何意义
对空间中位置为 x 的刚体点,其瞬时线速度为
x˙=ω×x+v.
所以 v 并不总是刚体某个指定点的平移速度;更准确地说,它是由当前参考坐标系原点选取所决定的速度项。当 x=0 时才有 x˙=v。改变参考坐标系后,ω 和 v 的数值一般都会改变,但它们描述的是同一个物理运动。
螺旋轴 Screw Axis
Chasles 定理指出,任意刚体位移都可以等价为:绕空间中的某条轴旋转,同时沿这条轴平移。这条轴及其运动参数构成螺旋轴。

设单位轴方向为 ω,轴上任一点为 q,螺距为 h。单位螺旋轴写为
S=[ωv],v=−ω×q+hω,∥ω∥=1.
其中 h 表示每旋转 1 rad 沿轴移动的距离。当运动速率为 θ˙ 时,实际 Twist 为
V=Sθ˙.
因此应区分三个概念:S 描述单位螺旋轴,θ˙ 描述运动快慢,Sθ 描述累计运动量。
纯转动与纯平移
纯转动时 h=0,有
S=[ω−ω×q].
若转轴恰好通过坐标原点,则 q=0,从而 v=0。这并不表示刚体上的所有点线速度都为零,因为它们仍满足 x˙=ω×x。
纯平移可以看作螺距趋于无穷大的极限。此时
S=[0v],∥v∥=1,
参数 θ 不再是角度,而是平移距离。
一般螺旋运动
若已知一般 Twist V=(ω,v) 且 ω=0,可先令
θ˙=∥ω∥,ω^=∥ω∥ω,
再将 V 归一化为螺旋轴 S=V/θ˙。对于单位角速度形式,可由
h=ωTv,q=ω×v+λω
恢复螺距与轴上一点;λ 任意,因为沿轴方向移动仍在同一条轴上。常取 λ=0,得到离原点最近的轴上点。
指数映射:从速度得到位姿
Twist 是瞬时量。若螺旋轴 S 在运动过程中保持不变,将它对参数 θ 积分,就得到有限位移:
T(θ)=e[S]θT(0).
这就是从李代数 se(3) 到李群 SE(3) 的指数映射。
旋转的指数映射
对于单位旋转轴 ω,Rodrigues 公式为
e[ω]θ=I+sinθ[ω]+(1−cosθ)[ω]2.
它把“轴 ω + 转角 θ”转换成旋转矩阵 R。例如绕 z 轴旋转 θ:
Rz(θ)=cosθsinθ0−sinθcosθ0001.
刚体运动的指数映射
当 ∥ω∥=1 时,S=(ω,v) 的矩阵指数可写成闭式:
e[S]θ=[e[ω]θ0G(θ)v1],
其中
G(θ)=Iθ+(1−cosθ)[ω]+(θ−sinθ)[ω]2.
纯平移时 ω=0,公式退化为
e[S]θ=[I0vθ1].
反过来,矩阵对数 [S]θ=log(T) 可以从相对位姿恢复等价的螺旋运动。这在轨迹插值、位姿误差计算和逆运动学中非常常见。
空间 Twist 与物体 Twist
同一个刚体速度可以在固定的空间坐标系 {s} 中表示,也可以在随刚体运动的物体坐标系 {b} 中表示:
[Vs]=T˙T−1,[Vb]=T−1T˙.
空间表示可理解为“站在世界坐标系观察”,物体表示则是“把测量坐标轴固定在刚体上”。它们不是两个不同的运动,只是同一速度的不同坐标表达。

伴随表示与坐标系变换
由上述定义可得
[Vs]=Tsb[Vb]Tsb−1.
将矩阵形式展开为六维向量形式:
Vs=AdTsbVb,
其中,对于本文采用的 V=(ω,v) 排列约定,
AdT=[R[p]R0R].
于是
Vb=AdTsb−1Vs=AdTbsVs.
从分量看,ωs=Rωb,而
vs=p×(Rωb)+Rvb.
线速度项不仅要旋转,还会受到坐标系原点偏移 p 的影响,这正是仅用块对角矩阵 diag(R,R) 转换 Twist 会出错的原因。相同的伴随变换也适用于螺旋轴。
计算示例
考虑一条平行于 z 轴、通过点 q=(1,0,0)T 的旋转轴,刚体绕它以单位角速度转动,无沿轴平移。此时
ω=001,v=−ω×q=0−10.
所以螺旋轴为
S=[0010−10]T.
取刚体上一点 x=(2,0,0)T,其瞬时速度为
x˙=ω×x+v=020+0−10=010.
这个结果符合直觉:点 x 到转轴的距离是 1,角速度也是 1 rad/s,所以线速度大小为 1 m/s。
转过 θ=π/2 后,旋转部分为
R=Rz(π/2)=010−100001.
利用指数映射或“绕不经过原点的轴旋转”的几何关系 p=(I−R)q,得到
p=1−10,T=0100−100000101−101.
检验轴上的点 q:Rq+p=q,说明它在变换前后保持不动。
常见易错点
- 把 v 直接叫作“刚体的线速度”:刚体上不同点的速度不同,应使用 x˙=ω×x+v;v 与参考原点有关。
- 混淆空间表示与物体表示:[Vs]=T˙T−1,[Vb]=T−1T˙,矩阵相乘顺序不同。
- 忽略 Twist 的排列约定:本文使用 (ω,v);部分软件库使用 (v,ω),其伴随矩阵块结构会随之改变。
- 认为平移向量求逆只需取负号:正确结果是 −RTp。
- 混淆螺旋轴、Twist 和旋量:S 是单位运动方向,V=Sθ˙ 是速度,Sθ 是有限运动的指数坐标。
- 忽略单位:ω 通常为 rad/s,v 为 m/s,螺距 h 为 m/rad。
小结
可以用下面这条链路串起全文:
螺旋轴 S×θ˙瞬时速度 V[⋅]se(3)exp([S]θ)SE(3)
- T∈SE(3) 统一描述刚体的位置与姿态;
- V∈R6 统一描述角速度与线速度;
- 螺旋轴为刚体运动提供直观的几何解释;
- 指数映射把瞬时运动积分为有限位移;
- 伴随矩阵 AdT 在不同坐标系之间转换 Twist 和螺旋轴。
这些工具也是后续学习指数积公式(PoE)、机械臂雅可比矩阵、正逆运动学和轨迹规划的基础。
参考
[1] Kevin M. Lynch, Frank C. Park, Modern Robotics: Mechanics, Planning, and Control, Cambridge University Press, 2017.
[2] 许中兴,RISE 团队,《机器人学笔记》。
[3] Richard M. Murray, Zexiang Li, S. Shankar Sastry, A Mathematical Introduction to Robotic Manipulation, CRC Press, 1994.