Robotics学习笔记基础—刚体转动(1)
如图所示,
xyz
为参考坐标系(惯性系,记为A),
xabyabzab
为固连在刚体上的坐标系(即刚体的本体坐标系,记为B),本文所有的坐标系均为右手系,B相对于A的旋转矩阵用3x3的矩阵来描述,即:
Rab=[xabyabzab]
旋转矩阵的性质:
旋转矩阵有两个重要的性质, R∈ℝ3×3 为一旋转矩阵, r1,r2,r3∈ℝ3 ,为 R 的列向量,列向量相互正交:
R 为正交矩阵,
所有满足上述性质的 3×3 矩阵的集合记为 SO(3) , SO 是special orthogonal的简写。
将 ℝn×n 中的旋转矩阵定义为:
SO(n)={R∈ℝn×n:RRT=I,detR=+1}
.
我们主要对 n=3 的情况感兴趣。
SO(3)⊂ℝ3×3 是矩阵相乘操作下的群,对于一个集合 G 被称为群,如果定义在其元素之上的二值操作
1、运算封闭:若 g1,g2∈G ,则 g1∘g2∈G .
2、单位性:对于所有 g∈G ,存在一个单位元素 e ,使得
3、可逆性:对于任意 g∈G 存在唯一一个逆 g−1∈G ,使得 g∘g−1=g−1∘g=e .
4、结合律:如果 g1,g2,g3∈G ,则 (g1∘g2)∘g3=g1∘(g2∘g3)
对于 SO(3) ,注意到:
1、若 R1,R2∈SO(3) ,则有 R1R2∈SO(3) ,因为
R1R2(R1R2)T=R1R2RT2RT1=I
det(R1R2)=det(R1)det(R2)=+1
2、单位矩阵为其单位元素.
3、 R 的逆
4、矩阵相乘满足群操作的结合律,即 (R1R2)R3=R1(R2R3) .
因此, SO(3) 为一个群,以单位阵为单位元素,矩阵相乘为群操作子,将 SO(3) 作为 ℝ3 的旋转群。
任何一个绕固定坐标系旋转的刚体都有唯一一个 R∈SO(3) 与之对应,旋转群 SO(3) 为系统的配置空间,系统的轨迹为一曲线 R(t)∈SO(3),t∈[0,T] ,对于一个系统,如果所有元素 x∈Q 均对应于一个有效的系统配置,而且系统的每一个配置可以用Q中的唯一元素表示,则称Q为系统的配置空间。
旋转矩阵 R∈SO(3) 也可以用于坐标变换,将一个点的坐标从一个坐标系变换到另外一个坐标系。如图1中的点q,令 qb=[xb,yb,zb] 为q在B下的坐标,相对于A的坐标可以通过下式计算:
qa=xabxb+yabyb+zabzb
即:
qa=Rabqb
换而言之, Rab 可以看做是 ℝ3 到 ℝ3 的映射,将B中的点旋转至A。