关于罗德里格斯公式[Rodrigues’sFormula]的详细推导过程
1 旋转向量
实际上,任意旋转都可以用一个旋转轴和一个旋转角来刻画。我们可以使用一个向量,其方向与旋转轴一致,其长度等于旋转角,那么向量就可以描述这个旋转,这种向量称为旋转向量(或轴角/角轴,Axis-Angle),只需一个三维向量即可描述旋转。同样,对于一个变换矩阵,使用一个旋转向量和一个平移向量即可表达一次变换,此时变量维数正好是六维。
2 罗德里格斯公式
2.1 罗德里格斯公式定义
维基百科给出的罗德里格斯旋转公式(Rodrigues’ rotation formula)定义如下:
如果是中的向量,并且是描述旋转轴的单位向量,根据右手法则围绕该轴旋转角度,则旋转向量的罗德里格斯公式为视觉SLAM十四讲中给出的用罗德里格斯公式转换的结果为:其中,表示一个旋转,单位长度的向量为一个假设的旋转轴,角度为,符号是向量到反对称矩阵的转换符,具体含义见文章:[视觉SLAM十四讲]学习笔记1-刚体运动之旋转矩阵与变换矩阵。
我们可以看出,原始的定义和书中给出的转换结果形似,这说明这两个公式有一定的关系,下一节将通过推导过程来展示这个关系的转换。
2.2 罗德里格斯公式推导
我们可以通过三维空间中的旋转和旋转分解来进行罗德里格斯公式的推导。
首先,我们给出一些定义:令为定义旋转轴的单位向量,令为围绕旋转角度的任意向量(遵循右手法则,图中为逆时针方向)。
在图中,向量围绕旋转度得到向量,将向量分解为平行于旋转轴的向量和正交于(垂直)旋转轴的向量,。
简单来说,根据2.1中的转换结果和下图可知,,为了求解出转换关系即我们只需要找到的表达式即可。
3 旋转矩阵到旋转向量的转换
有了上节的推导和转换结果,我们可以在转换公式的基础上,进行旋转矩阵到旋转向量的转换。
首先对转换公式两边取迹,得因此:对于旋转轴和之前的图及结果,我们可以知道,旋转轴上的向量在旋转后不会发生改变,说明:显然,旋转轴是旋转矩阵特征值对应的特征向量。求解这个方程,进行归一化,就可以得到旋转轴。
参考资料:
视觉SLAM十四讲:从理论到实践(第2版)(ISBN:9787121369421)
维基百科-罗德里格斯的旋转公式
四元数与三维旋转
文章出处登录后可见!