旋量代数:刚体怎样「拧」过去
WARNING
🧪 Beta公测版本提示:教程主体已完成,正在优化细节,欢迎大家提Issue反馈问题或建议。
Chasles 定理:刚体任意有限位移等价于绕某轴旋转并沿该轴平移——一条螺旋。李群
只覆盖转动;加上平移后是 ,李代数 里的元素叫 twist(捻)。对偶的力和力矩叫 wrench(力螺)。本章把「六维是什么意思、平面指数映射每项从哪来、和 DH / 雅可比怎么对上」写清楚。demo 降到平面 ,用指数映射让一块小矩形绕固定瞬心转过去。
一、通俗理解:刚体不会「一边转一边随便挪」
你把杯子从桌子左边放到右边并拧一下盖子:看起来又转又移。Chasles 说,一定存在一根轴,使这个位移 = 绕那根轴转 + 沿那根轴滑。没有「纯乱扭」。瞬时来看也一样:刚体的速度场由一根瞬时螺旋轴完全决定——轴上的点只沿轴走(或不动),别处的速度像转木马加上沿轴漂移。
空间刚体瞬时运动用六元组
螺距
力螺
功率为零则力螺做不了功(约束力)。这就是虚功原理的旋量版。

图解说明:刚体上一条螺旋轴;
沿轴, 含沿轴平移与因转动引起的线速度。右栏捻、力螺与功率。平面 demo 只保留 的一个标量和 。
动画说明:平面刚体绕固定瞬心拧过去,
。灰框是中间姿态残影。对应 demo 的 SE(2) 指数映射。
这套语言把 运动学 的雅可比列写成「各关节旋量」,把 动力学 的力写成力螺;Murray–Li–Sastry / Modern Robotics 用它统一开链。
二、平面 指数映射(逐步)
平面刚体
给出(与 se2_exp 一致)。这和
纯转动绕瞬心
(与三维

图解说明:平面刚体绕瞬时转动中心的速度场。右:
的 twist 。
逐步推导:平面 的平移块从哪来(点击展开)
若
与
三、和 DH、雅可比、四杆的关系
DH 给的是有限相邻位姿;旋量给的是瞬时生成元。指数映射把「关节速度
平面 2R 的两个
四杆每根杆的瞬时运动也是某个 twist;闭链意味着若干旋量线性相关(与 Gruebler 的
世界模型 若要在 SE(2)/SE(3) 上预测下一帧位姿,增量也应走
四、常见疑问
Q:
是参考系原点处「刚体上与原点重合的那一点」的速度(点可能只是空间里的一个标记)。换原点,
Q:力和力矩为什么合成力螺?
换原点时力和力矩会混在一起(力臂)。力螺把这对量变成与 twist 配对的协变对象,功率与原点无关。
Q:为什么 demo 不用 6 维?
6 维
Q:和齐次变换
五、代码在做什么
demo.py 指定 screw_se2.png。

六、小结
| 概念 | 一句话 |
|---|---|
| 螺旋 / Chasles | 刚体位移 = 绕轴转 + 沿轴移 |
| twist | 瞬时运动; |
| wrench | 力与力矩;与 twist 功率对偶 |
| 平面刚体有限位移; | |
| PoE | 关节旋量指数连乘 = 正运动学 |
| 下游 | 力控制、位姿积分、与 DH 对照 |
📥 Code
| File | View | Download |
|---|---|---|
| demo.py | Open | Download |
| exercise.py | Open | Download |
参考
- Murray, Li, Sastry, A Mathematical Introduction to Robotic Manipulation
- Lynch & Park, Modern Robotics(PoE 全书主线)
- 对照 运动学 雅可比列 = 平面关节旋量