视觉SLAM十四讲 学习笔记2——ch3三维空间刚体运动

旋转矩阵与欧式变换:

 

 

  其中e1,e2,e3和e1',e2',e3'分别为旋转变换前后的坐标系的标准正交基

  上式左乘:

        

 

  则有:  

 

 

  其中中间的矩阵定义为R,它描述了旋转本身,因此称之为旋转矩阵——旋转矩阵是行列式为1的正交矩阵。(行列式为1的正交矩阵也是一个旋转矩阵) 

  特殊正交群(Special Orthogonal Group):

  旋转矩阵的逆(或转置)刻画了一个相反的旋转。

  另外,如果再添加一个平移变换,则表达式可以写为:

 

 

 变换矩阵与齐次坐标:    

 

 

   其中T称为变换矩阵,这里我们再一个三维向量为末尾添加一个1,将其变成了四维向量,称为齐次坐标,这是一个数学技巧。通过齐次坐标,虽然增加了一个自由度,但是允许我们把变换写成线性的形式。

  特殊欧式群(Special Euclidean Group):

 

 

   另外,自然地,可以得到反变换:                 

 

 

Eigen:

  Eigen没有源文件,只有头文件,所以也就不需要做链接(target_link_libraries())。

旋转向量与欧拉角:

  旋转向量(角轴):3个量,没有约束

  旋转向量与旋转矩阵只是表达方式不同,但是表达的东西可以是同一个。角轴与旋转矩阵的转换关系,可以由罗德里格斯公式来描述:

  角轴转旋转矩阵:

 

 

   旋转矩阵转角轴:

 

 

  转轴 n 是矩阵 R 特征值 1 对应的特征向量,求解此方程,再归一化,就得到了旋转轴

  欧拉角:把一个旋转分解成 3 次绕不同轴的旋转

  欧拉角的一个重大缺点是会碰到著名的万向锁问题:在俯仰角为 ±90 ◦ 时,第一次旋转与第三次旋转将使用同一个轴,使得系统丢失了一个自由度(由 3 次旋转变成了 2 次旋转)。这被称为奇异性问题,在其他形式的欧拉角中也同样在。

四元数(Quaternion):

  四元数既是紧凑的,又没有奇异性。

 

  虚部之间运算关系:

 

 

 

  四元数的运算法则:

    1、加减法:

    2、乘法:

    3、模长:

    4、共轭:

    5、逆:

 

 

 单位四元数的逆与共轭相同

    6、数乘:

 

 

   四元数表示旋转:

 

    把三维空间的点p用一个虚四元数来描述:

 

     旋转后得到的变换点,可以表示为这样的乘积:

    这里的乘法均为四元数乘法,结果也是四元数。

    最后把 p ′ 的虚部取出,即得旋转之后点的坐标。

    并且,可以验证,计算结果的实部为0,故为纯虚四元数。

  四元数与旋转矩阵的转换:
    

相似、仿射、射影变换:

 

Eigen几何模块:

  

posted @ 2020-08-20 18:50  Yu_tiann  阅读(325)  评论(0编辑  收藏  举报