YeeKal

01_spatial_description

YeeKal
"#"

运动状态的描述

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

rotation_matrix.PNG

旋转矩阵充要条件:

  • $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)。

rodrigues formula

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$:

  1. $r_{11}>r_{22},r_{33}$:

  1. $r_{22}>r_{11},r_{33}$

  1. $r_{33}>r_{11},r_{22}$

齐次坐标

(先转动后移动)

不同坐标系中点的变换/同一坐标系中点的变换

连续运算