• 【视觉SLAM十四讲-个人笔记】三维空间刚体运动


    前言

    由于三维空间刚体运动比较重要,后面有可能还会专门做一次总结,结合IMU位姿估计一起吧。本章内容还是好理解的所以不做过多的讨论。

    旋转矩阵

    旋转矩阵是一个行列式为1的正交矩阵,反之亦然,所以对于所有旋转矩阵,我们把他们放在一个集合里:

    [SO(n)= {Rinmathbb{R}^{n imes n}|RR^T=I,det(R)=1 } ]

    我们称这是一个特殊正交群,表示所有旋转矩阵组成的群,n=3表示3维。这里提前了解了一下群论,再后期会仔细的进行讲解。

    • 性质:
      由于是正交阵,所以对于旋转矩阵R有:(R^{-1}=R^T),可以减少大量的计算量

    变换矩阵

    变换矩阵也可以组成一个群:

    [ SE(3)={T=egin{pmatrix}R&t\0^T&1 end{pmatrix}inmathbb{R^{4 imes4}}| Rin SO(3),tin mathbb{R^3} } ]

    变换矩阵有着与旋转矩阵相似的性质:

    [T^{-1}=egin{bmatrix} R^T&-R^Tt\0^T&1 end{bmatrix} ]

    旋转向量与Rodrigues 公式

    任意旋转都可以由一个旋转轴与一个旋转角度来描述:( hetavec{n})
    旋转向量方便描述,但是不方便计算,旋转矩阵就便于计算,任何一个向量左乘上旋转矩阵,都表示旋转后的向量。然后旋转向量和旋转矩阵可以通过Rodrigues 公式来转换:
    旋转向量( o)旋转矩阵

    [ R=cos heta I+(1-cos heta)vec{n}vec{n}^T+sin heta [vec{n}]_ imes ]

    其中([vec{n}]_ imes)在视觉SLAM十四讲书中对应(vec{n}^land),不过([ ]_ imes)符号用的比较多。
    旋转矩阵( o)旋转向量

    [ heta=arccos(frac{tr(R)-1}{2})\ Rvec{n}=vec{n} ]

    (tr(R))是矩阵的迹,对角线之和,在得到( heta)后再解方程(Rvec{n}=vec{n})就好了。

    欧拉角

    直接转步,这个还是要看图看视频好理解。
    https://www.jianshu.com/p/21ab3e1d3422
    注意欧拉角的死锁问题

    四元数

    这个就是为了解决死锁问题出来的,而且要比旋转向量方便计算。比旋转矩阵规模要小。
    假设某个旋转矩阵是绕单位向量(vec{n}=(n_x,n_y,n_z)^T)进行了角度为( heta)的旋转,则四元数为:

    [q=(cosfrac{ heta}{2},n_xsinfrac{ heta}{2},n_ysinfrac{ heta}{2},n_zsinfrac{ heta}{2}) ]

    用四元数表示旋转,若(p=(0,x,y,z)),(p^prime)是经过旋转q得到的,那么

    [p^prime=qpq^{-1} ]

  • 相关阅读:
    hdu2060
    hdu1003
    style属性
    变量与常量
    使用BIgDecimal进行浮点数的精确计算
    CSUST 玩游戏 题解(思维+优先队列维护第k大)
    百度之星 迷失 题解(矩阵快速幂+分层图)
    CSUST 简单数学题 题解(质因子分解+并查集)
    CSUST 神秘群岛 题解(LCA)
    CSUST lh的简单图论 题解(图转树LCA问题)
  • 原文地址:https://www.cnblogs.com/kidtic/p/14219661.html
Copyright © 2020-2023  润新知