机器人学导论 · 交互式学习平台 · 第三课

06 正运动学Forward Kinematics — 指数积 · 关节旋量 · 零位形

知识清单 K11–K12考试对应 2024 Q2(a) · Q3(a)体系 李泽湘 / MLS §3.2
06.0引言WHY POE

1 正运动学要回答什么

给定一串关节角 θ1,…,θn\theta_1,\dots,\theta_n,求末端(工具系)相对基座(空间系)的位姿 gst(θ)g_{st}(\theta)。这是所有后续计算的第一块砖:逆解要拿它反推,雅可比要对它求导,轨迹规划要它算末端位置。

传统教材用 DH 参数:给每个连杆挂一套坐标系,列四行参数表,连乘。本课程走另一条路——指数积(Product of Exponentials)。同一个答案,零件更少:不需要给中间连杆挂坐标系,只需要每个关节的一根轴。

2 为什么指数积更省事

DH 的麻烦在于“挂坐标系”:连杆坐标系挂在哪、xx 轴朝哪,全凭约定,错一个下标整条链都歪。指数积把每个关节只看成空间中一根固定的轴——轴的位置与方向在零位形下量一次,之后不再变。关节转动时,是刚体绕着这根轴转,轴本身不动。

于是整条臂的运动就是:绕轴 1 转 θ1\theta_1,绕轴 2 转 θ2\theta_2,……,绕轴 nn 转 θn\theta_n。每一段都是 04 课造好的 eξ^θe^{\hat\xi\theta},连乘即可。

3 三个零件,一条装配线

零件一:每根轴写成旋量 ξi\xi_i(04 课)。零件二:每个关节的位移 eξ^iθie^{\hat\xi_i\theta_i}(04.2 的指数)。零件三:零位形下工具系的位姿 gst(0)g_{st}(0)(02 课的 gg)。

装配规则只有一条:按关节顺序左乘,gst(θ)=eξ^1θ1eξ^2θ2⋯eξ^nθngst(0)g_{st}(\theta)=e^{\hat\xi_1\theta_1}e^{\hat\xi_2\theta_2}\cdots e^{\hat\xi_n\theta_n}g_{st}(0)。本节就是把这条线走一遍,并在两自由度臂上验证。

4 前置,还是那三样

04 的旋量 ξ=(v,ω)\xi=(v,\omega) 与指数 eξ^θe^{\hat\xi\theta};02 的齐次变换与“点是 1、方向是 0”;再加上一个几何习惯:量轴的位置时,挑轴与坐标轴的交点、或两轴的交点,能省掉一半计算。

06.1关节写成旋量JOINT → TWIST

1 转动关节:轴 + 轴上一点

转动关节的轴是一根空间直线:方向 ω\omega(单位向量,右手定则)、经过点 qq。04 课给过旋量的构造:v=hω−ω×qv=h\omega-\omega\times q;关节纯转动时螺距 h=0h=0,于是

ξ=[−ω×qω]\xi = \begin{bmatrix} -\omega\times q \\ \omega \end{bmatrix}

这个 −ω×q-\omega\times q 就是“转轴不过原点所欠下的那笔平移”:原点不在轴上,绕轴转时原点自己要动。

2 移动关节:只有方向

移动关节没有转轴,关节变量是沿某方向的位移:ω=0\omega=0,vv 取该方向的单位向量。旋量就是 ξ=(v, 0)\xi=(v,\ 0),指数退化成 04.2 的纯平移分支 [Ivθ01]\begin{bmatrix}I & v\theta\\ 0 & 1\end{bmatrix}。

3 取点从简:qq 怎么挑

qq 可以是轴上的任意一点——换一个点,−ω×q-\omega\times q 只差一个沿轴的平移分量,而沿轴分量在 h=0h=0 时会被 (I−eω^θ)(I-e^{\hat\omega\theta}) 吃掉,指数结果不变。所以挑最省事的那个:

  • 轴过原点 → q=0q=0, v=0v=0,指数就是纯旋转;
  • 轴与某坐标轴相交 → 取交点,只有一个分量非零;
  • 两轴相交 → 取和上一个关节轴的交点,两条旋量都简单。

这一步省下的计算量很实在:考试里一条臂五六根轴,每根都随便挑点,四个分量全是分数,乘起来就是灾难。

常见错误
  • 把 ξ\xi 写成 (ω, v)(\omega,\ v)。顺序是 (v, ω)(v,\ \omega),反了以后 ξ^\hat\xi 的分块位置错位。
  • 忘了给 ω\omega 单位化。指数公式的前提是 ∣ω∣=1|\omega|=1,否则实际转角是 ∣ω∣θ|\omega|\theta。
  • 把 qq 取成“末端点”。qq 是轴上的点,与工具系无关。
  • 转动关节的 vv 写成 ω×q\omega\times q。符号是负的:v=−ω×qv=-\omega\times q。
离开本节前,合上文字回答
  • ω=z^\omega=\hat z、轴过 (0,2,0)(0,2,0),写出 ξ\xi。
  • 为什么 qq 换一个点,指数结果不变?
  • 移动关节的 ξ\xi 里 ω\omega 是什么?
06.2指数积公式PRODUCT OF EXPONENTIALS

1 公式与顺序

把每个关节的指数按顺序连乘,最后右乘零位形:

gst(θ)=eξ^1θ1 eξ^2θ2⋯eξ^nθn gst(0)g_{st}(\theta) = e^{\hat\xi_1\theta_1}\,e^{\hat\xi_2\theta_2}\cdots e^{\hat\xi_n\theta_n}\,g_{st}(0)

顺序不能换:两个指数的矩阵一般不交换(03 第 7 小节)。这里的方向是“从基座往末端读”——最左边的 eξ^1θ1e^{\hat\xi_1\theta_1} 是离基座最近的关节,最右边是离工具最近的关节,然后才是 gst(0)g_{st}(0)。

2 gst(0)g_{st}(0) 是什么

所有关节角取零时,工具系相对空间系的位姿。它是量出来的常数,不含 θ\theta:把臂摆到零位形,量工具系的原点位置与三根轴方向,填成一个 4×44\times4。

它的作用是把“整条臂”从基座搬到工具:前面那一串指数只描述各关节把刚体转到了哪,最后这一步把它挪到工具该在的地方。

3 为什么是左乘

关节 1 转动时,它带动的是后面所有连杆(连同它们的轴)。左乘 eξ^1θ1e^{\hat\xi_1\theta_1} 相当于“先在空间系里把整个后续结构绕轴 1 转过去”,这正符合物理:基座关节一动,整条臂跟着动。

反过来,如果把 eξ^1θ1e^{\hat\xi_1\theta_1} 放到右边,等于说“只有工具自己绕轴 1 转”,与事实不符。这个顺序错误在考试里扣分最狠——形状对、数值全错。

4 三条体检

θ=0\theta=0:所有指数变成 II,公式退回 gst(0)g_{st}(0)。这是最快的验算:写完公式代 θ=0\theta=0,对不上就是哪里错了。

底行:每个指数底行都是 (0,0,0,1)(0,0,0,1),连乘后仍如此;最后一行永远是 (0,0,0,1)(0,0,0,1)。

单关节:只动第 ii 个关节、其余置零,结果应等于“把零位形的工具绕轴 ii 转 θi\theta_i”。这条能单独验证每一根轴取得对不对。

常见错误
  • 把 gst(0)g_{st}(0) 放到最左边。它必须最右,因为它是“零位形”的量,不是关节。
  • 连乘顺序从工具往基座写。读题时先标出“哪个关节离基座最近”,它对应最左边。
  • 忘了 gst(0)g_{st}(0) 也要参与乘法,直接写成一串指数的乘积。
  • 用 DH 的表去套指数积。两套体系的参数不能混,本课程统一用旋量。
2-DOF planar arm · POE◎ 两个手柄 = 拖 θ₁ / θ₂ 细黑 = 零位形
关节旋量 · 轴与取点θ = (0°, 0°)

两条 ξ\xi 都是零位形下量定的常量,拖动时不改;随 θ1\theta_1 移动的是第二关节的轴点 q2(θ)q_2(\theta),它才是“轴在空间中的位置”。

指数积 · 三个零件的乘积g live

左上 2×22\times2 块是两转角之和的旋转,右上是工具原点位置。把 θ1=θ2=0\theta_1=\theta_2=0 代进去,它必须退回 gst(0)g_{st}(0)。

06.3小测CHECK

规则。三题,覆盖本课三处最容易错的地方:旋量的符号、连乘顺序、零位形的地位。做完即时反馈,解析指回对应小节。

Q1转动关节的轴过点 qq、方向 ω\omega(单位)。旋量的平移分量 vv 是?
Q2两自由度臂的正运动学是?
Q3gst(0)g_{st}(0) 的含义是?
0/ 3 · 答对即刻计入