旋转三维向量
图中
为单位向量,表示转轴。将
绕
逆时针旋转角度
得到
。可将
分解为沿转轴的分量
和垂直转轴的分量
。
在转动时不变,
在平面上旋转角度
得到
,可得
有
其中
为反对称矩阵。
那么式
可写成:
因此旋转作用可用一个矩阵表示。
旋转群
旋转是线性变换,将
变为
。其保持:
- 向量长度
- 两向量的内积
- 相对方向
1和2是等价的。1推2可由
得到,2推1可由
得到。
因此可定义旋转群:
旋转矩阵
算符
是线性的,可用矩阵
表示,
由
,即
可得:
即旋转矩阵是正交矩阵。
由旋转性质3,对于向量
组成的六面体,旋转前后的有向体积应该相等,即
得
。
这就构成了
群(Special Orthogonal group),其中的special就是指
。
欧拉定理
是说存在向量
,使得旋转前后不变:
就是转轴方向。
证明:
只要证明
有为1的特征值即可。
指数映射
得:
即
是反对称矩阵。三维的反对称矩阵集合用
表示,称为
的李代数。
那么有
得到:
当
时,
,即李代数是在幺元处的切空间。
如果
为常数,上述方程解得:
其中矩阵的指数按泰勒级数定义。
这称为指数映射:
还可以定义"大写的"指数映射:
如果绕转轴
转了角度
,那么旋转矩阵:
上式按泰勒展开后得:
这就是Rodrigues旋转公式。推导过程用到了
根据这个式子,又可写成:
这就是式
。
从
得到
和
由
可得:
即:
又有
因此
其中
是
的逆,即
.
如果
,分两种情况:
-
,这时候
,转轴未定义
-
,这时
,这个矩阵的每一列都平行于
,只要对非0的一列归一化即可。这时候
也满足条件,但是不影响,因为绕
转180度效果是一样的。
四元数
四元数.md
旋转公式为:
旋转要求
因此
,即
是单位四元数:
这与
的条件类似。
还可以看到,自动保持了相对方向:
其中第2和第5个等号是因为:
指数映射
得:
即
是虚四元数。令:
两边左乘
,得到:
当
时,
,可见虚四元数构成了单位四元数球
的切空间。
如果
为常数,上式解得
(可代回验证),这就引出了指数映射。
如果绕转轴
转了角度
,定义“大写的”指数映射:
旋转作用
将式
代入式
, 推导可得式
,这就验证了
的正确性。
在证明中有一步
用到了
四元数到旋转矩阵的转换
由
可以得到:
旋转合成
假设旋转2作用于旋转1之后。
对于旋转矩阵,
对于四元数,
因此,后旋转的都是乘在左边。
坐标系变换
方向余弦矩阵(DCM)
用G表示global,或者n系;L表示local,或者b系。
分别为向量
在坐标系
中的坐标,由
得:
表示从
到
的坐标变换。
由
的定义还可得基变换:
对于一个与
系固连的向量
,经过主动旋转
,得到
,那么:
而
,因此
而按定义:
因此坐标变换矩阵与主动旋转矩阵
的关系是:
欧拉角
intrinsic rotation是指绕当前坐标系(而不是某个固定坐标系)的轴转动。
绕某轴逆时针旋转
,得到
。对于
,根据定义得出如下结果:
绕
轴旋转
绕
轴旋转
绕
轴旋转
如果按
的顺序转动,
可得欧拉角和DCM的转换关系:
若是小角度转动,
可见小角度转动与转动顺序无关(即只与绕XYZ各轴转过的角度有关。如果只有俩轴,比如Z->X->Z,那么未出现的轴角度为0,出现两次的轴的角度相加),等效于一次转动:角度为
,转轴为
,也可以从Rodrigues旋转公式做小角近似看出来:
Extrinsic rotation
设固定坐标系为
。坐标系
绕
的
轴转动角度
,这个转动用
表示,得坐标系
。求
。
首先
其中
为
绕
轴转动角度
得到。这个结论对于二维转动很直观,对于三维其实也容易看出。按定义,只要证明两对坐标系的基的内积相等即可。把基分解到平行于转轴和垂直于转轴。平行部分的内积显然不变,垂直部分由二维情况可知也不变,且平行于垂直部分内积为0。因此得证。
因此得到结论,绕固定坐标系的轴转动,
是乘在右边的。
四元数
和DCM类比有
其中
等于主动旋转
。
运动方程
推导的要点是从当前
系做扰动得到新的
系,而陀螺仪的测量值刚好是在角速度在
系的值。
四元数
由
可得,
,即扰动是乘在右边的(L表示local):
方向余弦矩阵
由
得:
因此
由
,推导可得:
参考资料
Quaternion kinematics for the error-state Kalman filter