01_spatial_description
运动状态的描述
world frame: 世界坐标系,A
body frame: 固定于刚体本身的坐标系,B,随刚体的运动而运动
因此坐标系B在坐标系A中的状态表征了刚体的位姿(位置和姿态,平移和旋转)。若A,B原点相同即没有平移,则B中单位基向量相对于A中基向量:$[x_B\quad y_B \quad z_B]=R[x_A\quad y_A \quad z_A]$ ,P被称为rotation matrix,denoted as $_{\mathcal{B}}^{\mathcal{A}}R$ 。则同一个点在A中坐标$^{\mathcal{A}}P$与在B中坐标$^{\mathcal{B}}P$关系:
R若考虑平移,设B中原点在A中坐标$^{\mathcal{A}}P_{B_0}$, 则状态变换:
rotation matrix
旋转矩阵充要条件:
- $R^TR=I$
- $det(R)=1$
旋转矩阵实质就是基变换矩阵,并且
- ${\mathcal{B}}^{\mathcal{A}}R=R^T$}}^{\mathcal{B}
- 是正交矩阵
由列向量单位长度且正交(6个条件),故矩阵只有3个自由度。
正交矩阵不一定是旋转矩阵?
rotation matrix与转角
旋转矩阵定义了刚体姿态的变化,但如何将旋转矩阵与转角相关联则是更加直观理解位姿变化的过程。
fixed angles
X-Y-Z 固定角描述
由angles推算R:先绕X轴转$\gamma$, 再绕Y轴转$\beta$, 再绕Z轴转$\alpha$ ,则综合后的旋转矩阵:
由R推算angles:
上式成立为$\beta \ne \pm90^0$.其中$atan2(y,x)=atan(y/x)$.
euler angles
Z-Y-X
再绕Z'轴转$\alpha$,再绕Y'轴转$\beta$,先绕X'轴转$\gamma$, ,则综合后的旋转矩阵:
这与fixed angles表达式相同,只是操作步骤不同。
Z-Y-Z
$\beta \ne 0$
同一个rotation matrix有不同的拆解方式。一共有12种euler angles和12种fixed angles,这些都被称为角坐标系表示法。
angle axis(轴角坐标)
绕一个轴(方向,2dof)旋转一个角度(1dof)。
where:
$[n]_{\times}$: the skew-symmetric matrix.
A more concize form:
angles: $\psi=cos^{-1}(\frac{tr(R)-1}{2})$
rotation angle: $[n]\times=\frac{R-R^T}{2sin(\psi)}$, $n=[-[n]\times(2,3),[n]\times(1,3),-[n]\times(1,2)]$
向量是可以移动的,而轴的描述除了方向矢量还应有一个过定点的位移约束。轴不一定经过原点,设点$P=[x_p, y_p, z_p]$ .为了保证旋转是依照原点旋转,可先将坐标系移动$-P$,denoted as $^{-P}T$, 形成相对于原点的$P$, 旋转($^{\theta}T$), 再移动$P(^PT)$, 故:
quaternion表达法
[kwə'tɝnɪən], 四元数, 复数在三维的推广,是一种新定义的数学表达形式。形式为:
其中$i,i,k$是-1在三维中的平方根。四元数与旋转的关系:
即若以这样的对应关系,则旋转矩阵的存储与计算会有极大的方便。因此四元数对旋转矩阵的表示可以认为是定义了一种对应关系:
conversion matrix to quaternion
the basic form($1+tr>0$):
if $1+tr<0$:
- $r_{11}>r_{22},r_{33}$:
- $r_{22}>r_{11},r_{33}$
- $r_{33}>r_{11},r_{22}$
齐次坐标
(先转动后移动)
不同坐标系中点的变换/同一坐标系中点的变换
连续运算