【机器人学的数学基础】(1)李群、李代数和螺旋运动

刚体变换/3维空间中的旋转运动/3维空间中的刚体运动

这篇文章的内容来源于《A Mathematical Introduction to Robotic Manipulation》。

一、重要数学符号的含义

首先介绍若干符号及含义,一些同学可能已经知道旋转矩阵和齐次变换矩阵的形式,现在是将其一般化,即用SO(3)SE(3)表示,另外一些符号是为了引出螺旋运动概念而做的铺垫。

  1. SO(3):特殊正交矩阵群,可以表示为刚体的位形空间。即可表示刚体的位形,也可以实现同一点在不同坐标系中的变换,SO(3)={RR3×3:RRT=I,detR=+1}
  2. so(3) :是反对称矩阵w,是SO(3)的李代数。w=0w3w2w30w1w2w10
  3. SE(3) :特殊欧氏群,即可用于确定刚体的位形(configuration),又可用于一点由一个坐标到另一个坐标的坐标变换,SE(3)={(p,R):pR3,RSO(3)}=R3×SO(3)
  4. se(3) :SE(3)的李代数,其中的元素叫做运动旋量(twisit),se(3)={(w,v)|wso(3),vR3}
  5. w :关节转动中心轴的向量表示形式;
  6. w :关节转动中心轴的反对称矩阵表示形式,
    w=0w3w2w30w1w2w10
  7. ξse(3)4×4矩阵形式:
    ξ=[w0v0]
  8. ξξ=(vw )R6ξ的运动旋量坐标(twist coordination)。
  9. eξθ:这是引出螺旋运动的重要的定义,表示从se(3)SE(3) 的指数变换,对于给定的ξse(3)θRξθ 的指数为SE(3) 的元素,即eξθSE(3)eξθ的一般形式为:
    ewθ0(Iewθ)(w×v)+wwTvθ1(w0)

二、螺旋运动

螺旋运动(Chasles定理):任意刚体运动均可通过绕一轴的转动加上平行于该轴的移动实现。
螺旋运动以eξθ为核心,下面是分别对点和坐标系的作用及含义:

  1. p(θ)=eξθp(0):对于一点,eξθ作为一个映射,将一点(起始坐标p(0)R3)变换到经刚体运动后的坐标p(θ)=eξθp(0) ,注意变换前和变换后的坐标均以相同的坐标系为参考坐标。
    【机器人学的数学基础】(1)李群、李代数和螺旋运动
  2. 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.