旋转变换的指数形式
用单位向量代表旋转轴,以及代表绕该轴的旋转角度。则可以用三维向量以指数形式来描述旋转。如果将和分开描述,即为Axis-Angle形式。用来描述旋转矩阵R可以有下面几种理解方法:
- 某坐标系初始与参考坐标系{s}重合,绕轴旋转角度后当到达当前姿态,其相对于{s}的旋转矩阵为R。这种描述方法为 Axis–angle representation
- 角速度矢量在参考坐标系{s}中描述,某坐标系初始与参考坐标系{s}重合,以角速度转动,经过单位时间到达当前姿态(可由矩阵R表示)。
- 角速度矢量在参考坐标系{s}中描述,某坐标系初始与参考坐标系{s}重合,以角速度转动,经过时间到达当前姿态(可由矩阵R表示)。
- Essential Results from Linear Differential Equations Theory
考虑下面的一阶线性微分方程:
其中,,是一个常量矩阵。若给出初始条件,则可得到微分方程的解为:
矩阵指数可以根据泰勒展开式来计算:
如果矩阵可以表达成,为可逆矩阵,则有:
更进一步,如果可以对角化,即是对角矩阵:,则可以很方便的计算:
- Exponential Coordinates of Rotations
参考下图中的描述,假设三维向量绕着转轴旋转度后到达。用代表时刻向量的位置,则该过程也可以描述为:以角速度旋转(为单位角速度),从运动到。
旋转时的速度可用来描述,且有:
用斜对称矩阵可以将向量叉乘变为矩阵与向量乘法,因此上面的微分方程可写为:
若,定义斜对称矩阵:
已知初始条件,该方程形式如前面研究过的,因此其解为:
由于变量和可互换,则上面方程可写为:
根据正弦和余弦函数的泰勒展开式:
可以将上面公式进行简化。给定,其中为任意标量,且为单位向量。则根据、进行旋转的旋转矩阵为:
该公式也称为Rodrigues’ formula(罗德里格斯公式) 。
举个例子,下图中坐标系{b}相对于固定参考坐标系{s}的姿态可以描述为:初始时刻两坐标系一致,{b}绕单位向量旋转后到达当前姿态。
则{b}相对于{s}的旋转矩阵可以计算为:
坐标系{b}的姿态可由矩阵描述,或者由单位向量以及转角来描述,即旋转矩阵R的指数坐标为
在Mathematica中RotationMatrix函数可以根据转轴和转角计算旋转矩阵:
- Matrix Logarithm of Rotations
如果向量表达了旋转矩阵R的指数坐标,则斜对称矩阵是旋转矩阵R的对数。矩阵的对数是矩阵指数的逆:
当转角不为的整数倍时,可以根据旋转矩阵R计算出转轴:
或表述为斜对称矩阵形式:
具体推导和细节可参考:Modern Robotics: Mechanics, Planning, and Control 3.2.3.3 Matrix Logarithm of Rotations
参考:
李群与李代数 - part 2 指数与对数映射、李代数求导与扰动模型
Lie Groups for 2D and 3D Transformations
Modern Robotics: Mechanics, Planning, and Control 3.2.3 Exponential Coordinate Representation of Rotation
评论(0)
您还未登录,请登录后发表或查看评论