第二章
位姿
位置
- 一个点在坐标系中的坐标
- 用 A P ^AP AP矢量来描述
姿态
- 姿态是用来描述物体的,只确定物体上的一个点不足以确定该物体的姿态,比如空间中的一个四边形,我们确定其中一个点的坐标不变,其他点的坐标发生变化,四边形的姿态就发生变化,因此需要多个点才能确定或者描述一个物体的姿态。
- 更一般的,我们用相对于物体固定的坐标系来描述姿态是合适的,因为该坐标系相对于世界坐标系不发生变化,物体的姿态就不发生变化(物体上的任何一个点的坐标不发生变化);而且三维坐标系足以描述世界中的各种可见物体,比如前面的四边形。
- 用旋转矩阵 B A P ^A_BP BAP来描述
对位姿的描述就是位置和姿态
- 用 B = B A P , A P B O R G \\{B\\}=\\{^A_BP,^AP_{BORG}\\} B=BAP,APBORG描述
映射
坐标平移
- 坐标平移实际上是一个坐标点相对于不同坐标系的表示的变化
- 当坐标系 A \\{A\\} A和坐标系 B \\{B\\} B姿态相同时(两个坐标系的对应坐标轴都在同一水平线上);描述一个坐标点 P P P从坐标系 B \\{B\\} B平移到坐标系 A \\{A\\} A;根据之前的符号表示,就是将 A P ^AP AP转化为 B P ^BP BP.
- 计算公式:
A
P
=
^AP=
AP=
B
P
+
^BP+
BP+
A
P
B
O
R
G
^AP_{BORG}
APBORG 其中(
A
P
B
O
R
G
^AP_{BORG}
APBORG为坐标
B
\\{B\\}
B原点相对于坐标系
A
\\{A\\}
A的位置坐标)
- 注意:你或许注意到,在上面的等式右侧相加的两个向量的上标并不相同,也就意味着两个变量是参考的不同的坐标系.那么为什么它们可以直接相加呢?
- 解释:因为两个变量参考的坐标系的姿态相同,所以 A Q = ( x , y , z ) T ^AQ=(x, y, z)^T AQ=(x,y,z)T与 B P ^BP BP平行.将 B P ^BP BP表示成 ( x , y , z ) T (x, y, z)^T (x,y,z)T, A P B O R G ^AP_{BORG} APBORG表示成 ( a , b , c ) T (a, b, c)^T (a,b,c)T;.根据四边形法则 A P = A Q + A P B O R G = ( x + a , y + b , z + c ) T ^AP=^AQ+^AP_{BORG}=(x+a, y+b, z+c)^T AP=AQ+APBORG=(x+a,y+b,z+c)T而 A P B O R G + B P = ( x + a , y + b , z + c ) T ^AP_{BORG}+^BP=(x+a, y+b, z+c)^T APBORG+BP=(x+a,y+b,z+c)T,所以 A P = B P + A P B O R G ^AP=^BP+^AP_{BORG} AP=BP+APBORG
坐标旋转
- 旋转的本质就是基于不同参考坐标的投影表示.
- 计算公式: A P = B A R ∗ B P ^AP=^A_BR *^BP AP=BAR∗BP
- A P x = B X A ∗ B P ^AP_x=^BX_A*^BP APx=BXA∗BP
- A P y = B Y A ∗ B P ^AP_y=^BY_A*^BP APy=BYA∗BP
- A P z = B Z A ∗ B P ^AP_z=^BZ_A*^BP APz=BZA∗BP
- 解释: B X A ^BX_A BXA和 B P ^BP BP都是在坐标系 B \\{B\\} B中的表示,所以可以直接相乘.因为 B P ^BP BP的分量为 P P P在 X B X_B XB等的投影, B X A ∗ B P ^BX_A*^BP BXA∗BP即为 B P ^BP BP在 B X A ^BX_A BXA上的投影,这正是 P P P在 A \\{A\\} A上的 x x x方向的分量.因为 B X A ^BX_A BXA正时 A \\{A\\} A的 X X X轴.
- B A R = ( A B R ) − 1 = ( A B R ) T ^A_BR=(^B_AR)^{-1}=(^B_AR)^T BAR=(ABR)−1=(ABR)T
一般变换
- A P = B A R ∗ B P + A P O B R G ^AP=^A_BR*^BP+^AP_{OBRG} AP=BAR∗BP+APOBRG
- 先旋转后平移, 旋转后的向量与另一个向量都是在同一个坐标系中的表示,所以可以直接相乘.
齐次坐标
算子
平移算子
旋转算子
变换算子
变换的分类
绝对变换
- 先旋转后平移,依次左乘
相对变换
- 先平移后旋转,依次右乘
变换的计算
复合变换
逆变换
参考
<<机器人学导论>>