【机器人学的数学基础】(1)李群、李代数和螺旋运动
刚体变换/3维空间中的旋转运动/3维空间中的刚体运动
这篇文章的内容来源于《A Mathematical Introduction to Robotic Manipulation》。
一、重要数学符号的含义
首先介绍若干符号及含义,一些同学可能已经知道旋转矩阵和齐次变换矩阵的形式,现在是将其一般化,即用
-
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定理):任意刚体运动均可通过绕一轴的转动加上平行于该轴的移动实现。
螺旋运动以
-
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.