0.知识回顾
描述旋转本身的矩阵叫做旋转矩阵,旋转矩阵是一个行列式为1的正交矩阵 ,反之,行列式为1的正交矩阵也是一个旋转矩阵。将n维旋转矩阵的集合定义如下:
  
      
       
        
        
          S 
         
        
          O 
         
        
          ( 
         
        
          n 
         
        
          ) 
         
        
          = 
         
        
          { 
         
        
          R 
         
        
          ∈ 
         
         
         
           R 
          
          
          
            n 
           
          
            ∗ 
           
          
            n 
           
          
         
        
          ∣ 
         
        
          R 
         
         
         
           R 
          
         
           T 
          
         
        
          = 
         
        
          I 
         
        
          , 
         
        
          d 
         
        
          e 
         
        
          t 
         
        
          ( 
         
        
          R 
         
        
          ) 
         
        
          = 
         
        
          1 
         
        
          } 
         
        
       
         SO(n)=\{R\in \mathbb{R}^{n*n}|RR^T=I,det(R)=1\} 
        
       
     SO(n)={R∈Rn∗n∣RRT=I,det(R)=1}
 SO(n)是特殊正交群。
我们把旋转和平移写在一个矩阵T里,将其变成四维向量,成为齐次坐标,矩阵T称为变换矩阵。对于变换矩阵,它具有比较特别的结构,左上角为旋转矩阵,右侧为平移向量,左下角为0向量,右下角为1。这种矩阵为特殊欧式群。
  
      
       
        
        
          S 
         
        
          E 
         
        
          ( 
         
        
          3 
         
        
          ) 
         
        
          = 
         
        
          { 
         
        
          T 
         
        
          = 
         
         
         
           [ 
          
          
           
            
             
             
               R 
              
             
            
            
             
             
               t 
              
             
            
           
           
            
             
             
               0 
              
             
            
            
             
             
               1 
              
             
            
           
          
         
           ] 
          
         
        
          ∈ 
         
         
         
           R 
          
          
          
            4 
           
          
            ∗ 
           
          
            4 
           
          
         
        
          ∣ 
         
        
          R 
         
        
          ∈ 
         
        
          S 
         
        
          O 
         
        
          ( 
         
        
          3 
         
        
          ) 
         
        
          , 
         
        
          t 
         
        
          ∈ 
         
         
         
           R 
          
         
           3 
          
         
        
          } 
         
        
       
         SE(3)=\{T=\left[ \begin{matrix} R & t\\ 0& 1 \end{matrix} \right]\in \mathbb{R}^{4*4} |R\in SO(3),t\in \mathbb{R}^{3}\} 
        
       
     SE(3)={T=[R0t1]∈R4∗4∣R∈SO(3),t∈R3}
 在旋转矩阵或者变换矩阵中,它们是对加法不封闭的,就是说,对于任意两个旋转矩阵 
     
      
       
        
        
          R 
         
        
          1 
         
        
       
      
        R_1 
       
      
    R1、 
     
      
       
        
        
          R 
         
        
          2 
         
        
       
      
        R_2 
       
      
    R2,按照矩阵加法的定义,和不再是一个旋转矩阵。但是乘法对应着旋转或者变换的复合,两个旋转矩阵相乘表示做了两次旋转。对于这种只有一个运算的集合,我们称之为群。
1.群
群是一种集合加上一种运算的代数结构,我们把集合记作A,运算记作 · ,那么群可以记作G=(A,·)。
1.1 李群
李群是指具有连续(光滑)性质的群,SO(n)和SE(n)在实数空间上是连续的,我们可以直观地想象一个刚体能够连续地在空间中运动,所以它们是李群。
1.2 李代数引出
考虑任意旋转矩阵R,我们知道它满足:
  
      
       
        
        
          R 
         
         
         
           R 
          
         
           T 
          
         
        
          = 
         
        
          I 
         
        
       
         RR^T=I 
        
       
     RRT=I
 现在,R是某个相机的旋转,他会随时间连续地变化,即为时间的函数:R(t)。由于他仍是旋转矩阵,有:
  
      
       
        
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          R 
         
        
          ( 
         
        
          t 
         
         
         
           ) 
          
         
           T 
          
         
        
          = 
         
        
          I 
         
        
       
         R(t)R(t)^T=I 
        
       
     R(t)R(t)T=I
 在等式两边对时间求导,得到:
  
      
       
        
         
         
           R 
          
         
           ˙ 
          
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          R 
         
        
          ( 
         
        
          t 
         
         
         
           ) 
          
         
           T 
          
         
        
          + 
         
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
         
         
           R 
          
         
           ˙ 
          
         
        
          ( 
         
        
          t 
         
         
         
           ) 
          
         
           T 
          
         
        
          = 
         
        
          0 
         
        
       
         \dot{R}(t)R(t)^T+R(t)\dot{R}(t)^T=0 
        
       
     R˙(t)R(t)T+R(t)R˙(t)T=0
 整理得:
  
      
       
        
         
         
           R 
          
         
           ˙ 
          
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          R 
         
        
          ( 
         
        
          t 
         
         
         
           ) 
          
         
           T 
          
         
        
          = 
         
        
          − 
         
        
          ( 
         
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
         
         
           R 
          
         
           ˙ 
          
         
        
          ( 
         
        
          t 
         
         
         
           ) 
          
         
           T 
          
         
         
         
           ) 
          
         
           T 
          
         
        
       
         \dot{R}(t)R(t)^T=-(R(t)\dot{R}(t)^T)^T 
        
       
     R˙(t)R(t)T=−(R(t)R˙(t)T)T
 可以看出 
     
      
       
        
        
          R 
         
        
          ˙ 
         
        
       
         ( 
        
       
         t 
        
       
         ) 
        
       
         R 
        
       
         ( 
        
       
         t 
        
        
        
          ) 
         
        
          T 
         
        
       
      
        \dot{R}(t)R(t)^T 
       
      
    R˙(t)R(t)T是一个反对称矩阵,即满足 
     
      
       
        
        
          A 
         
        
          T 
         
        
       
         = 
        
       
         − 
        
       
         A 
        
       
      
        A^T=-A 
       
      
    AT=−A。
这里引入一个^符号,将一个向量变成了反对称矩阵,同理,对于任意反对称矩阵,我们也能找到唯一与之对应的向量,用符号v表示。
  
      
       
        
         
         
           a 
          
         
           ∧ 
          
         
        
          = 
         
        
          A 
         
        
          = 
         
         
         
           [ 
          
          
           
            
             
             
               0 
              
             
            
            
             
              
              
                − 
               
               
               
                 a 
                
               
                 3 
                
               
              
             
            
            
             
              
              
                a 
               
              
                2 
               
              
             
            
           
           
            
             
              
              
                a 
               
              
                3 
               
              
             
            
            
             
             
               0 
              
             
            
            
             
              
              
                − 
               
               
               
                 a 
                
               
                 1 
                
               
              
             
            
           
           
            
             
              
              
                − 
               
               
               
                 a 
                
               
                 2 
                
               
              
             
            
            
             
              
              
                a 
               
              
                1 
               
              
             
            
            
             
             
               0 
              
             
            
           
          
         
           ] 
          
         
        
          , 
         
         
         
           A 
          
         
           ∨ 
          
         
        
          = 
         
        
          a 
         
        
       
         a^ \wedge=A=\left[ \begin{matrix} 0&-a_3 & a_2\\ a_3&0& -a_1\\ -a_2&a_1&0 \end{matrix} \right],A^\vee=a 
        
       
     a∧=A= 
              0a3−a2−a30a1a2−a10 
              ,A∨=a
 于是,由于 
     
      
       
        
        
          R 
         
        
          ˙ 
         
        
       
         ( 
        
       
         t 
        
       
         ) 
        
       
         R 
        
       
         ( 
        
       
         t 
        
        
        
          ) 
         
        
          T 
         
        
       
      
        \dot{R}(t)R(t)^T 
       
      
    R˙(t)R(t)T是个反对称矩阵,我们可以找到一个三维向量 
     
      
       
       
         ϕ 
        
       
         ( 
        
       
         t 
        
       
         ) 
        
       
         ∈ 
        
        
        
          R 
         
        
          3 
         
        
       
      
        \phi(t) \in \mathbb{R}^{3} 
       
      
    ϕ(t)∈R3与之对应:
  
      
       
        
         
         
           R 
          
         
           ˙ 
          
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          R 
         
        
          ( 
         
        
          t 
         
         
         
           ) 
          
         
           T 
          
         
        
          = 
         
        
          ϕ 
         
        
          ( 
         
        
          t 
         
         
         
           ) 
          
         
           ∧ 
          
         
        
       
         \dot{R}(t)R(t)^T=\phi(t)^ \wedge 
        
       
     R˙(t)R(t)T=ϕ(t)∧
 等式两边右乘R(t),由于R为正交矩阵,有:
  
      
       
        
         
         
           R 
          
         
           ˙ 
          
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          = 
         
        
          ϕ 
         
        
          ( 
         
        
          t 
         
         
         
           ) 
          
         
           ∧ 
          
         
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          = 
         
         
         
           [ 
          
          
           
            
             
             
               0 
              
             
            
            
             
              
              
                − 
               
               
               
                 ϕ 
                
               
                 3 
                
               
              
             
            
            
             
              
              
                ϕ 
               
              
                2 
               
              
             
            
           
           
            
             
              
              
                ϕ 
               
              
                3 
               
              
             
            
            
             
             
               0 
              
             
            
            
             
              
              
                − 
               
               
               
                 ϕ 
                
               
                 1 
                
               
              
             
            
           
           
            
             
              
              
                − 
               
               
               
                 ϕ 
                
               
                 2 
                
               
              
             
            
            
             
              
              
                ϕ 
               
              
                1 
               
              
             
            
            
             
             
               0 
              
             
            
           
          
         
           ] 
          
         
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
       
         \dot{R}(t)R(t)=\phi(t)^ \wedge R(t)=\left[ \begin{matrix} 0&-\phi_3 & \phi_2\\ \phi_3&0& -\phi_1\\ -\phi_2&\phi_1&0 \end{matrix} \right]R(t) 
        
       
     R˙(t)R(t)=ϕ(t)∧R(t)= 
              0ϕ3−ϕ2−ϕ30ϕ1ϕ2−ϕ10 
              R(t)
 可以看到,每对旋转矩阵求一次导数,只需左乘一个 
     
      
       
       
         ϕ 
        
       
         ( 
        
       
         t 
        
       
         ) 
        
       
      
        \phi(t) 
       
      
    ϕ(t)矩阵即可,考虑 
     
      
       
        
        
          t 
         
        
          0 
         
        
       
         = 
        
       
         0 
        
       
      
        t_0=0 
       
      
    t0=0时,设此时旋转矩阵为 
     
      
       
       
         R 
        
       
         ( 
        
       
         0 
        
       
         ) 
        
       
         = 
        
       
         I 
        
       
      
        R(0)=I 
       
      
    R(0)=I。按照导数定义,可以把 
     
      
       
       
         R 
        
       
         ( 
        
       
         t 
        
       
         ) 
        
       
      
        R(t) 
       
      
    R(t)在t=0附近进行一阶泰勒展开:
  
      
       
        
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          = 
         
        
          R 
         
        
          ( 
         
         
         
           t 
          
         
           0 
          
         
        
          ) 
         
        
          + 
         
         
         
           R 
          
         
           ˙ 
          
         
        
          ( 
         
         
         
           t 
          
         
           0 
          
         
        
          ) 
         
        
          ( 
         
        
          t 
         
        
          − 
         
         
         
           t 
          
         
           0 
          
         
        
          ) 
         
         
        
          = 
         
        
          I 
         
        
          + 
         
        
          ϕ 
         
        
          ( 
         
        
          t 
         
         
         
           ) 
          
         
           ∧ 
          
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
       
         R(t)=R(t_0)+\dot{R}(t_0)(t-t_0) \\=I+\phi(t)^ \wedge(t) 
        
       
     R(t)=R(t0)+R˙(t0)(t−t0)=I+ϕ(t)∧(t)
 我们看到 
     
      
       
       
         ϕ 
        
       
      
        \phi 
       
      
    ϕ反应了R的导数性质,故称他在SO(3)原点附近的正切空间上,同时在 
     
      
       
        
        
          t 
         
        
          0 
         
        
       
      
        t_0 
       
      
    t0附近,设 
     
      
       
       
         ϕ 
        
       
         ( 
        
        
        
          t 
         
        
          0 
         
        
       
         ) 
        
       
         = 
        
        
        
          ϕ 
         
        
          0 
         
        
       
      
        \phi(t_0)=\phi_0 
       
      
    ϕ(t0)=ϕ0。那么有:
  
      
       
        
         
         
           R 
          
         
           ˙ 
          
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          = 
         
        
          ϕ 
         
        
          ( 
         
        
          t 
         
         
         
           ) 
          
         
           ∧ 
          
         
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          = 
         
         
         
           ϕ 
          
         
           0 
          
         
           ∧ 
          
         
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
       
         \dot{R}(t)=\phi(t)^ \wedge R(t)=\phi_0^ \wedge R(t) 
        
       
     R˙(t)=ϕ(t)∧R(t)=ϕ0∧R(t)
 上式是一个关于R的微分方程,而且有初始值 
     
      
       
       
         R 
        
       
         ( 
        
       
         0 
        
       
         ) 
        
       
         = 
        
       
         I 
        
       
      
        R(0)=I 
       
      
    R(0)=I,解得:
  
      
       
        
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          = 
         
        
          e 
         
        
          x 
         
        
          p 
         
        
          ( 
         
         
         
           ϕ 
          
         
           0 
          
         
        
          t 
         
        
          ) 
         
        
       
         R(t)=exp(\phi_0t) 
        
       
     R(t)=exp(ϕ0t)
 以上式子说明在t=0附近,旋转矩阵可以由 
     
      
       
       
         e 
        
       
         x 
        
       
         p 
        
       
         ( 
        
        
        
          ϕ 
         
        
          0 
         
        
       
         t 
        
       
         ) 
        
       
      
        exp(\phi_0t) 
       
      
    exp(ϕ0t)计算出来。
可以说明下面两个关系:
1.给定某时刻的R,我们能求得一个 ϕ \phi ϕ,它描述了R在局部的导数关系, ϕ \phi ϕ正是对应到SO(3)上的李代数so(3)。
2.给定某个向量 ϕ \phi ϕ,矩阵指数 e x p ( ϕ 0 t ) exp(\phi_0t) exp(ϕ0t)的计算就是李群和李代数间的指数/对数映射。
1.3 李代数的意义
1.应用意义
在视觉slam中,我们需要不断计算相机的位姿和构建地图,相机的位姿表现在其变换矩阵T,由于干扰的存在,我们无法准确获得所需要的信息,所以我们转而求其最小误差。
假设我们有N个三维点p和对应的观测值z,我们的目标就是寻找一个最佳位姿T,使得整体误差最小化,如下式:
  
      
       
        
         
          
           
           
             m 
            
           
             i 
            
           
             n 
            
           
          
            T 
           
          
         
        
          J 
         
        
          ( 
         
        
          T 
         
        
          ) 
         
        
          = 
         
         
         
           ∑ 
          
          
          
            i 
           
          
            = 
           
          
            1 
           
          
         
           N 
          
         
        
          ∣ 
         
        
          ∣ 
         
         
         
           z 
          
         
           i 
          
         
        
          − 
         
        
          T 
         
         
         
           p 
          
         
           i 
          
         
        
          ∣ 
         
         
         
           ∣ 
          
         
           2 
          
         
           2 
          
         
        
       
         \underset{T}{min}J(T)=\sum_{i = 1} ^N||z_i-Tp_i||^2_2 
        
       
     TminJ(T)=i=1∑N∣∣zi−Tpi∣∣22
 要求解上面的方程,就是要求目标函数J对T的导数,但是由于T所在的变换矩阵群(SO(3))对加法不封闭,无法直接求取,所以我们需要引入一个新的量,通过对该量的计算间接获得对T的求导,这个引入的量就是李代数
2.数学意义
每个李群都有与之对应的李代数。李代数描述了李群的局部性质(局部导数),准确的说是单位元附近的正切空间。
1.4 李代数定义
李代数有一个集合 V \mathbb{V} V、一个数域 F \mathbb{F} F和一个二元运算[,]组成,如果满足以下几条性质,则称( V \mathbb{V} V, F \mathbb{F} F,[,])为一个李代数,记作g。
1.封闭性 ∀ X , Y ∈ V , [ X , Y ] ∈ V \forall X,Y\in \mathbb{V},[X,Y]\in \mathbb{V} ∀X,Y∈V,[X,Y]∈V
2.双线性 ∀ X , Y , Z ∈ V , a , b ∈ F \forall X,Y,Z\in \mathbb{V},a,b\in \mathbb{F} ∀X,Y,Z∈V,a,b∈F 有 [aX+bY,Z]=a[X,Z]+b[Y,Z],[Z,aX+bY]=a[Z,X]+b[Z,Y]
3.自反性 ∀ X ∈ V , [ X , X ] = 0 \forall X\in \mathbb{V},[X,X]=0 ∀X∈V,[X,X]=0
4.雅克比等价 ∀ X , Y , Z ∈ V \forall X,Y,Z\in \mathbb{V} ∀X,Y,Z∈V [X,[Y,Z]]+[Z,[X,Y]]+[Y,[Z,X]]=0
相比于群中较为简单为二元运算,李括号[,]表达了两个元素的差异。
1.5 李代数so(3)
之前提到的 
     
      
       
       
         ϕ 
        
       
      
        \phi 
       
      
    ϕ,事实上就是一种李代数。SO(3)对应的李代数就是定义在 
     
      
       
        
        
          R 
         
        
          3 
         
        
       
      
        \mathbb{R}^3 
       
      
    R3上的向量,我们记作 
     
      
       
       
         Φ 
        
       
      
        \Phi 
       
      
    Φ
  
      
       
        
        
          s 
         
        
          o 
         
        
          ( 
         
        
          3 
         
        
          ) 
         
        
          = 
         
        
          { 
         
        
          ϕ 
         
        
          ∈ 
         
         
         
           R 
          
         
           3 
          
         
        
          , 
         
        
          Φ 
         
        
          = 
         
         
         
           ϕ 
          
         
           0 
          
         
           ∧ 
          
         
        
          ∈ 
         
         
         
           R 
          
          
          
            3 
           
          
            ∗ 
           
          
            3 
           
          
         
        
          } 
         
        
       
         so(3)=\{\phi\in \mathbb{R}^{3},\Phi=\phi_0^ \wedge \in \mathbb{R}^{3*3}\} 
        
       
     so(3)={ϕ∈R3,Φ=ϕ0∧∈R3∗3}
 so(3)是由三维向量组成的集合,每个向量对应一个反对称矩阵,可以用于表达旋转矩阵的导数。他与SO(3)的关系有指数映射给定:
  
      
       
        
        
          R 
         
        
          ( 
         
        
          t 
         
        
          ) 
         
        
          = 
         
        
          e 
         
        
          x 
         
        
          p 
         
        
          ( 
         
         
         
           ϕ 
          
         
           0 
          
         
        
          t 
         
        
          ) 
         
        
       
         R(t)=exp(\phi_0t) 
        
       
     R(t)=exp(ϕ0t)
1.6 SO(3)上的指数映射
这个问题就是如何计算 e x p ( ϕ 0 t ) exp(\phi_0t) exp(ϕ0t)
任意矩阵的指数映射可以写成一个泰勒展开,但是之后只有在收敛的情况下才会有结果,其结果仍是一个矩阵:
  
      
       
        
        
          e 
         
        
          x 
         
        
          p 
         
        
          ( 
         
        
          A 
         
        
          ) 
         
        
          = 
         
         
         
           ∑ 
          
          
          
            n 
           
          
            = 
           
          
            0 
           
          
         
           ∞ 
          
         
         
         
           1 
          
          
          
            n 
           
          
            ! 
           
          
         
         
         
           A 
          
         
           n 
          
         
        
       
         exp(A)=\sum_{n=0}^\infty\frac{1}{n!}A^n 
        
       
     exp(A)=n=0∑∞n!1An
 带入 
     
      
       
        
        
          ϕ 
         
        
          ∧ 
         
        
       
      
        \phi^ \wedge 
       
      
    ϕ∧,得到:
  
      
       
        
        
          e 
         
        
          x 
         
        
          p 
         
        
          ( 
         
         
         
           ϕ 
          
         
           ∧ 
          
         
        
          ) 
         
        
          = 
         
         
         
           ∑ 
          
          
          
            n 
           
          
            = 
           
          
            0 
           
          
         
           ∞ 
          
         
         
         
           1 
          
          
          
            n 
           
          
            ! 
           
          
         
         
          
          
            ϕ 
           
          
            0 
           
          
            ∧ 
           
          
         
           n 
          
         
        
       
         exp(\phi^ \wedge)=\sum_{n=0}^\infty\frac{1}{n!} {\phi_0^\wedge} ^n 
        
       
     exp(ϕ∧)=n=0∑∞n!1ϕ0∧n
 但是上式无法直接计算,因为需要计算矩阵的无穷次幂。下面进行一种简单的方法。
由于 
     
      
       
       
         ϕ 
        
       
      
        \phi 
       
      
    ϕ是三维向量,可以定义他的模长和方向,分别记作 
     
      
       
       
         θ 
        
       
      
        \theta 
       
      
    θ和a。这里 
     
      
       
       
         ϕ 
        
       
         = 
        
       
         θ 
        
       
         a 
        
       
      
        \phi=\theta a 
       
      
    ϕ=θa,a为一个长度为1的方向向量。对于 
     
      
       
        
        
          a 
         
        
          ∧ 
         
        
       
      
        a^ \wedge 
       
      
    a∧有以下性质:
  
      
       
        
         
         
           a 
          
         
           ∧ 
          
         
         
         
           a 
          
         
           ∧ 
          
         
        
          = 
         
         
         
           [ 
          
          
           
            
             
              
              
                − 
               
               
               
                 a 
                
               
                 2 
                
               
                 2 
                
               
              
                − 
               
               
               
                 a 
                
               
                 3 
                
               
                 2 
                
               
              
             
            
            
             
              
               
               
                 a 
                
               
                 1 
                
               
               
               
                 a 
                
               
                 2 
                
               
              
             
            
            
             
              
               
               
                 a 
                
               
                 1 
                
               
               
               
                 a 
                
               
                 3 
                
               
              
             
            
           
           
            
             
              
               
               
                 a 
                
               
                 1 
                
               
               
               
                 a 
                
               
                 2 
                
               
              
             
            
            
             
              
              
                − 
               
               
               
                 a 
                
               
                 1 
                
               
                 2 
                
               
              
                − 
               
               
               
                 a 
                
               
                 3 
                
               
                 2 
                
               
              
             
            
            
             
              
               
               
                 a 
                
               
                 2 
                
               
               
               
                 a 
                
               
                 3 
                
               
              
             
            
           
           
            
             
              
               
               
                 a 
                
               
                 1 
                
               
               
               
                 a 
                
               
                 3 
                
               
              
             
            
            
             
              
               
               
                 a 
                
               
                 2 
                
               
               
               
                 a 
                
               
                 3 
                
               
              
             
            
            
             
              
              
                − 
               
               
               
                 a 
                
               
                 1 
                
               
                 2 
                
               
              
                − 
               
               
               
                 a 
                
               
                 2 
                
               
                 2 
                
               
              
             
            
           
          
         
           ] 
          
         
        
          = 
         
        
          a 
         
         
         
           a 
          
         
           T 
          
         
        
          − 
         
        
          I 
         
         
        
       
         a^\wedge a^\wedge=\left[ \begin{matrix} -a_2^2-a_3^2&a_1a_2 & a_1a_3\\ a_1a_2&-a_1^2-a_3^2& a_2a_3\\ a_1a_3&a_2a_3&-a_1^2-a_2^2 \end{matrix} \right]=aa^ T-I\\ 
        
       
     a∧a∧= 
              −a22−a32a1a2a1a3a1a2−a12−a32a2a3a1a3a2a3−a12−a22 
              =aaT−I
a ∧ a ∧ a ∧ = a ∧ ( a a T − I ) = − a ∧ a^\wedge a^\wedge a^\wedge=a^\wedge(aa^T-I)=-a^\wedge a∧a∧a∧=a∧(aaT−I)=−a∧
上面两个式子提供了处理 
     
      
       
        
        
          a 
         
        
          ∧ 
         
        
       
      
        a^\wedge 
       
      
    a∧高阶项的方法,这样可以把指数映射写成:
  
      
       
        
        
          e 
         
        
          x 
         
        
          p 
         
        
          ( 
         
         
         
           ϕ 
          
         
           ∧ 
          
         
        
          ) 
         
        
          = 
         
        
          e 
         
        
          x 
         
        
          p 
         
        
          ( 
         
        
          θ 
         
         
         
           a 
          
         
           ∧ 
          
         
        
          ) 
         
        
          = 
         
         
         
           ∑ 
          
          
          
            n 
           
          
            = 
           
          
            0 
           
          
         
           ∞ 
          
         
         
         
           1 
          
          
          
            n 
           
          
            ! 
           
          
         
         
         
           ( 
          
         
           θ 
          
          
          
            a 
           
          
            ∧ 
           
          
         
         
         
           ) 
          
         
           n 
          
         
         
        
          = 
         
        
          I 
         
        
          + 
         
        
          θ 
         
         
         
           a 
          
         
           ∧ 
          
         
        
          + 
         
         
         
           1 
          
          
          
            2 
           
          
            ! 
           
          
         
         
         
           θ 
          
         
           2 
          
         
         
         
           a 
          
         
           ∧ 
          
         
         
         
           a 
          
         
           ∧ 
          
         
        
          + 
         
         
         
           1 
          
          
          
            3 
           
          
            ! 
           
          
         
         
         
           θ 
          
         
           3 
          
         
         
         
           a 
          
         
           ∧ 
          
         
         
         
           a 
          
         
           ∧ 
          
         
         
         
           a 
          
         
           ∧ 
          
         
        
          ⋯ 
         
         
        
          = 
         
        
          a 
         
         
         
           a 
          
         
           T 
          
         
        
          − 
         
         
         
           a 
          
         
           ∧ 
          
         
         
         
           a 
          
         
           ∧ 
          
         
        
          + 
         
        
          θ 
         
         
         
           a 
          
         
           ∧ 
          
         
        
          + 
         
         
         
           1 
          
          
          
            2 
           
          
            ! 
           
          
         
         
         
           θ 
          
         
           2 
          
         
         
         
           a 
          
         
           ∧ 
          
         
         
         
           a 
          
         
           ∧ 
          
         
        
          − 
         
         
         
           1 
          
          
          
            3 
           
          
            ! 
           
          
         
         
         
           θ 
          
         
           3 
          
         
         
         
           a 
          
         
           ∧ 
          
         
        
          ⋯ 
         
         
        
          = 
         
        
          a 
         
         
         
           a 
          
         
           T 
          
         
        
          + 
         
        
          ( 
         
        
          θ 
         
        
          − 
         
         
         
           1 
          
          
          
            3 
           
          
            ! 
           
          
         
         
         
           θ 
          
         
           3 
          
         
        
          + 
         
         
         
           1 
          
          
          
            5 
           
          
            ! 
           
          
         
         
         
           θ 
          
         
           5 
          
         
        
          − 
         
        
          ⋯ 
          
        
          ) 
         
         
         
           a 
          
         
           ∧ 
          
         
        
          − 
         
        
          ( 
         
        
          1 
         
        
          − 
         
         
         
           1 
          
          
          
            2 
           
          
            ! 
           
          
         
         
         
           θ 
          
         
           2 
          
         
        
          + 
         
         
         
           1 
          
          
          
            4 
           
          
            ! 
           
          
         
         
         
           θ 
          
         
           4 
          
         
        
          − 
         
        
          ⋯ 
          
        
          ) 
         
         
         
           a 
          
         
           ∧ 
          
         
         
         
           a 
          
         
           ∧ 
          
         
         
        
          = 
         
         
         
           a 
          
         
           ∧ 
          
         
         
         
           a 
          
         
           ∧ 
          
         
        
          + 
         
        
          I 
         
        
          + 
         
        
          s 
         
        
          i 
         
        
          n 
         
        
          θ 
         
         
         
           a 
          
         
           ∧ 
          
         
        
          − 
         
        
          c 
         
        
          o 
         
        
          s 
         
        
          θ 
         
         
         
           a 
          
         
           ∧ 
          
         
         
         
           a 
          
         
           ∧ 
          
         
         
        
          = 
         
        
          ( 
         
        
          1 
         
        
          − 
         
        
          c 
         
        
          o 
         
        
          s 
         
        
          θ 
         
        
          ) 
         
         
         
           a 
          
         
           ∧ 
          
         
         
         
           a 
          
         
           ∧ 
          
         
        
          + 
         
        
          I 
         
        
          + 
         
        
          s 
         
        
          i 
         
        
          n 
         
        
          θ 
         
         
         
           a 
          
         
           ∧ 
          
         
         
        
          = 
         
        
          c 
         
        
          o 
         
        
          s 
         
        
          θ 
         
        
          I 
         
        
          + 
         
        
          ( 
         
        
          1 
         
        
          − 
         
        
          c 
         
        
          o 
         
        
          s 
         
        
          θ 
         
        
          ) 
         
        
          a 
         
         
         
           a 
          
         
           T 
          
         
        
          + 
         
        
          s 
         
        
          i 
         
        
          n 
         
        
          θ 
         
         
         
           a 
          
         
           ∧ 
          
         
        
       
         exp(\phi^ \wedge)=exp(\theta a^ \wedge)=\sum_{n=0}^\infty\frac{1}{n!} {(\theta a^ \wedge} )^n\\ =I+\theta a^ \wedge+\frac{1}{2!}\theta^2a^ \wedge a^ \wedge+\frac{1}{3!}\theta^3a^ \wedge a^ \wedge a^ \wedge \cdots\\ =aa^T-a^ \wedge a^ \wedge+\theta a^ \wedge+\frac{1}{2!}\theta^2a^ \wedge a^ \wedge-\frac{1}{3!}\theta^3a^ \wedge \cdots\\ =aa^T+(\theta-\frac{1}{3!}\theta^3+\frac{1}{5!}\theta^5 -\cdots)a^ \wedge-(1-\frac{1}{2!}\theta^2+\frac{1}{4!}\theta^4- \cdots)a^ \wedge a^ \wedge \\ =a^ \wedge a^ \wedge+I+sin\theta a^ \wedge-cos\theta a^ \wedge a^ \wedge\\ =(1-cos\theta)a^ \wedge a^ \wedge+I+sin\theta a^ \wedge \\=cos\theta I+(1-cos\theta)aa^T+sin\theta a^ \wedge 
        
       
     exp(ϕ∧)=exp(θa∧)=n=0∑∞n!1(θa∧)n=I+θa∧+2!1θ2a∧a∧+3!1θ3a∧a∧a∧⋯=aaT−a∧a∧+θa∧+2!1θ2a∧a∧−3!1θ3a∧⋯=aaT+(θ−3!1θ3+5!1θ5−⋯)a∧−(1−2!1θ2+4!1θ4−⋯)a∧a∧=a∧a∧+I+sinθa∧−cosθa∧a∧=(1−cosθ)a∧a∧+I+sinθa∧=cosθI+(1−cosθ)aaT+sinθa∧
经过以上计算,得到:
  
      
       
        
        
          e 
         
        
          x 
         
        
          p 
         
        
          ( 
         
         
         
           ϕ 
          
         
           ∧ 
          
         
        
          ) 
         
        
          = 
         
        
          c 
         
        
          o 
         
        
          s 
         
        
          θ 
         
        
          I 
         
        
          + 
         
        
          ( 
         
        
          1 
         
        
          − 
         
        
          c 
         
        
          o 
         
        
          s 
         
        
          θ 
         
        
          ) 
         
        
          a 
         
         
         
           a 
          
         
           T 
          
         
        
          + 
         
        
          s 
         
        
          i 
         
        
          n 
         
        
          θ 
         
         
         
           a 
          
         
           ∧ 
          
         
        
       
         exp(\phi^ \wedge)=cos\theta I+(1-cos\theta)aa^T+sin\theta a^ \wedge 
        
       
     exp(ϕ∧)=cosθI+(1−cosθ)aaT+sinθa∧
 可以发现上式就是罗德里格斯公式,so(3)就是由所谓的旋转向量组成的空间,指数映射即罗德里格斯公式,通过这个公式,我们把任意一个向量对应到一个位于SO(3)中的旋转矩阵。
罗德里格斯公式就是表明旋转向量到旋转矩阵的转换过程。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6dVI3FiO-1690698811035)(C:\Users\13611\AppData\Roaming\Typora\typora-user-images\image-20230730143034186.png)]
本文主要参考《视觉SLAM十四讲》
 以发现上式就是罗德里格斯公式,so(3)就是由所谓的旋转向量组成的空间,指数映射即罗德里格斯公式,通过这个公式,我们把任意一个向量对应到一个位于SO(3)中的旋转矩阵。
罗德里格斯公式就是表明旋转向量到旋转矩阵的转换过程。
 
本文主要参考《视觉SLAM十四讲》



















