刚体变换/3维空间中的旋转运动/3维空间中的刚体运动
这篇文章的内容来源于《A Mathematical Introduction to Robotic Manipulation》。
一、重要数学符号的含义
首先介绍若干符号及含义,一些同学可能已经知道旋转矩阵和齐次变换矩阵的形式,现在是将其一般化,即用 SO(3) 和 SE(3) 表示,另外一些符号是为了引出螺旋运动概念而做的铺垫。
- SO(3) :特殊正交矩阵群,可以表示为刚体的位形空间。即可表示刚体的位形,也可以实现同一点在不同坐标系中的变换, SO(3)={R∈R3×3:RRT=I,detR=+1} 。
- so(3) :是反对称矩阵 w∧ ,是 SO(3) 的李代数。 w∧=⎡⎣⎢0w3−w2−w30w1w2−w10⎤⎦⎥ ;
- SE(3) :特殊欧氏群,即可用于确定刚体的位形(configuration),又可用于一点由一个坐标到另一个坐标的坐标变换, SE(3)={(p,R):p∈R3,R∈SO(3)}=R3×SO(3) ;
- se(3) : SE(3) 的李代数,其中的元素叫做运动旋量(twisit), se(3)={(w∧,v)|w∧∈so(3),v∈R3}
- w :关节转动中心轴的向量表示形式;
w∧ :关节转动中心轴的反对称矩阵表示形式,w∧=⎡⎣⎢0w3−w2−w30w1w2−w10⎤⎦⎥;-
ξ∧
:
se(3)
的
4×4
矩阵形式:
ξ∧=[w∧0v0];
- ξ : ξ=(vw )∈R6 为 ξ∧ 的运动旋量坐标(twist coordination)。
-
eξ∧θ
:这是引出螺旋运动的重要的定义,表示从
se(3)
到
SE(3)
的指数变换,对于给定的
ξ∈se(3)
和
θ∈R
,
ξ∧θ
的指数为
SE(3)
的元素,即
eξ∧θ∈SE(3)
,
eξ∧θ
的一般形式为:
⎡⎣⎢ew∧θ0(I−ew∧θ)(w×v)+wwTvθ1⎤⎦⎥(w≠0)
二、螺旋运动
螺旋运动(Chasles定理):任意刚体运动均可通过绕一轴的转动加上平行于该轴的移动实现。
螺旋运动以
eξ∧θ
为核心,下面是分别对点和坐标系的作用及含义:
-
p(θ)=eξ∧θp(0)
:对于一点,
eξ∧θ
作为一个映射,将一点(起始坐标
p(0)∈R3
)变换到经刚体运动后的坐标
p(θ)=eξ∧θp(0)
,注意变换前和变换后的坐标均以相同的坐标系为参考坐标。
- gab(θ)=eξ∧θgab(0) :如果B系固连在刚体上,经螺旋运动后,B系相对于固定的A系的瞬时位形为: gab(θ)=eξ∧θgab(0) ,该变换的意义是:乘上 gab(0) 表示将一点相对于B系的坐标变换为相对于A系的坐标,指数变换则是将点变换到最终位置(仍以A系为参考坐标)。
三、李群、李代数和螺旋运动的应用
李群和李代数是SLAM和机械臂运动规划的基本数学基础。另外李群、李代数和螺旋理论还可以构造机械臂的正运动学模型,是DH建模方法的一种有效的替代方法,这种方法叫做指数积公式法,对SCARA机械臂和拟人机械臂的正运动学建模示例可见点此链接。
参考文献:
A Mathematical Introduction to Robotic Manipulation.