第4讲 李群与李代数

第4讲 李群与李代数

1. 目标

  1. 理解李群与李代数的概念,掌握 S O ( 3 ) 、 S E ( 3 ) SO(3)、SE(3) SO(3)SE(3)与对应李代数的表示方式;
  2. 理解 B C H BCH BCH近似的意义;
  3. 学会在李代数上的扰动模型;
  4. 使用 S o p h u s Sophus Sophus对李代数进行运算;

2. 知识点

  1. 理解群、李群、李代数的概念与定义;
  2. 理解群与李代数满足的性质;
  3. 理解 S O ( 3 ) 和 S E ( 3 ) SO(3)和SE(3) SO(3)SE(3)的定义;
  4. 理解 s o ( 3 ) 和 s e ( 3 ) so(3)和se(3) so(3)se(3)的定义;
  5. 推导 S O ( 3 ) 与 s o ( 3 ) SO(3)与so(3) SO(3)so(3)指数与对数映射;
  6. 推导 S E ( 3 ) 与 s e ( 3 ) SE(3)与se(3) SE(3)se(3)指数与对数映射;
  7. 掌握 B C H BCH BCH近似公式的表达及其意义;
  8. 推导 S O ( 3 ) SO(3) SO(3)上的李代数求导与左扰动模型;
  9. 推导 S E ( 3 ) SE(3) SE(3)上的李代数求导与左扰动模型;
  10. 试着推导右扰动模型;

3. 实践

  1. 基础: S O ( 3 ) 、 S E ( 3 ) 、 s o ( 3 ) 、 s e ( 3 ) SO(3)、SE(3)、so(3)、se(3) SO(3)SE(3)so(3)se(3)的定义及 B C H BCH BCH近似公式:

    1. 三维旋转矩阵构成特殊正交群 S O ( 3 ) SO(3) SO(3)(Sepcial Orthogonal Group)

      $SO\left( 3 \right) =\left{ \boldsymbol{R}\in R{3×3}|\boldsymbol{RR}T=\boldsymbol{I}\text{,}\det \left( \boldsymbol{R} \right) =1 \right} $

    2. 三维变换矩阵构成特殊欧氏群 S E ( 3 ) SE(3) SE(3)(Special Euclidean Group)

      S E ( 3 ) = { T = [ R t 0 T 1 ] ∈ R 4 × 4 ∣ R ∈ S O ( 3 ) , t ∈ R 3 } SE\left( 3 \right) =\left\{ \boldsymbol{T}=\left[ \begin{matrix} \boldsymbol{R}& \boldsymbol{t}\\ 0^T& 1\\ \end{matrix} \right] \in R^{4×4}|\boldsymbol{R}\in SO\left( 3 \right) ,\boldsymbol{t}\in R^3 \right\} SE(3)={T=[R0Tt1]R4×4RSO(3),tR3}

    3. S O ( 3 ) SO(3) SO(3)对应的李代数 s o ( 3 ) so(3) so(3),位于 R 3 R^3 R3空间,其元素是三维向量或三维反对称矩阵:

      $so\left( 3 \right) =\left{ \phi \in R^3,\boldsymbol{\Phi }=\phi ^{\land}\in R^{3×3} \right} $

    4. S E ( 3 ) SE(3) SE(3)对应的李代数 s e ( 3 ) se(3) se(3),位于 R 6 R^6 R6空间,由一个平移加上一个 s o ( 3 ) so(3) so(3)元素构成的向量:

      s e ( 3 ) = { ξ = [ ρ ϕ ] ∈ R 6 , ρ ∈ R 3 , ϕ ∈ s o ( 3 ) , ξ ∧ = [ ϕ ∧ ρ 0 T 0 ] ∈ R 4 × 4 } se\left( 3 \right) =\left\{ \xi =\left[ \begin{array}{c} \rho\\ \phi\\ \end{array} \right] \in R^6,\rho \in R^3,\phi \in so\left( 3 \right) ,\xi ^{\land}=\left[ \begin{matrix} \phi ^{\land}& \rho\\ 0^T& 0\\ \end{matrix} \right] \in R^{4×4} \right\} se(3)={ξ=[ρϕ]R6,ρR3,ϕso(3),ξ=[ϕ0Tρ0]R4×4}

    5. B C H BCH BCH近似公式

      ln ⁡ ( exp ⁡ ( ϕ 1 ∧ ) exp ⁡ ( ϕ 2 ∧ ) ) ∨ ≈ { J l ( ϕ 2 ) − 1 ϕ 1 + ϕ 2  当 ϕ 1 为小量 J r ( ϕ 1 ) − 1 ϕ 2 + ϕ 1  当 ϕ 2 为小量 \ln \left( \exp \left( \phi _{1}^{\land} \right) \exp \left( \phi _{2}^{\land} \right) \right) ^{\lor}\approx \left\{ \begin{array}{l} \boldsymbol{J}_l\left( \phi _2 \right) ^{-1}\phi _1+\phi _2\ \text{当}\phi _1\text{为小量}\\ \boldsymbol{J}_r\left( \phi _1 \right) ^{-1}\phi _2+\phi _1\ \text{当}\phi _2\text{为小量}\\ \end{array} \right. ln(exp(ϕ1)exp(ϕ2)){Jl(ϕ2)1ϕ1+ϕ2 ϕ1为小量Jr(ϕ1)1ϕ2+ϕ1 ϕ2为小量

    6. B C H BCH BCH近似的意义:

      1. 假定对某个旋转矩阵 R R R,对应的李代数为 ϕ \phi ϕ给它左乘一个微小旋转,记作 △ R \bigtriangleup \boldsymbol{R} R,对应的李代数为 △ ϕ \bigtriangleup \phi ϕ

        那么,在李群上,得到的结果就是$\boldsymbol{J}_l\left( \phi \right) ^{-1}\bigtriangleup \phi +\phi $。合并起来,可以简单地写成:

        $\bigtriangleup \boldsymbol{R}\cdot \boldsymbol{R}=\exp \left( \bigtriangleup \phi ^{\land} \right) \exp \left( \phi ^{\land} \right) =\exp \left( \left( \boldsymbol{J}_l\left( \phi \right) ^{-1}\bigtriangleup \phi +\phi \right) ^{\land} \right) $

      2. 反之,如果在李代数上进行加法,让一个 ϕ \phi ϕ加上 △ ϕ \bigtriangleup \phi ϕ,那么可以近似为李群上带左右雅可比地乘法:

        $\exp \left( \left( \phi +\bigtriangleup \phi \right) ^{\land} \right) =\exp \left( \left( \boldsymbol{J}_l\bigtriangleup \phi \right) ^{\land} \right) \exp \left( \phi ^{\land} \right) =\exp \left( \phi ^{\land} \right) \exp \left( \left( \boldsymbol{J}_r\bigtriangleup \phi \right) ^{\land} \right) $

    7. 矩阵求导顺序:

      假设 a 、 b 、 x 、 y a、b、x、y abxy都是列向量,那么有如下规则:

      lim ⁡ x → 0 , y → 0 [ a b ] T [ x y ] T = d [ a b ] d [ x y ] = [ d [ a b ] T d [ x y ] ] T = [ d a d x d b d x d a d y d b d x ] T = [ d a d x d a d y d b d x d b d x ] \lim_{x\rightarrow 0\text{,}y\rightarrow 0}\frac{\left[ \begin{matrix} \boldsymbol{a}& \boldsymbol{b}\\ \end{matrix} \right] ^T}{\left[ \begin{matrix} \boldsymbol{x}& \boldsymbol{y}\\ \end{matrix} \right] ^T}=\frac{d\left[ \begin{array}{c} \boldsymbol{a}\\ \boldsymbol{b}\\ \end{array} \right]}{d\left[ \begin{array}{c} \boldsymbol{x}\\ \boldsymbol{y}\\ \end{array} \right]}=\left[ \frac{d\left[ \begin{matrix} \boldsymbol{a}& \boldsymbol{b}\\ \end{matrix} \right] ^T}{d\left[ \begin{array}{c} \boldsymbol{x}\\ \boldsymbol{y}\\ \end{array} \right]} \right] ^T=\left[ \begin{matrix} \frac{d\boldsymbol{a}}{d\boldsymbol{x}}& \frac{d\boldsymbol{b}}{d\boldsymbol{x}}\\ \frac{d\boldsymbol{a}}{d\boldsymbol{y}}& \frac{d\boldsymbol{b}}{d\boldsymbol{x}}\\ \end{matrix} \right] ^T=\left[ \begin{matrix} \frac{d\boldsymbol{a}}{d\boldsymbol{x}}& \frac{d\boldsymbol{a}}{d\boldsymbol{y}}\\ \frac{d\boldsymbol{b}}{d\boldsymbol{x}}& \frac{d\boldsymbol{b}}{d\boldsymbol{x}}\\ \end{matrix} \right] limx0y0[xy]T[ab]T=d[xy]d[ab]= d[xy]d[ab]T T=[dxdadydadxdbdxdb]T=[dxdadxdbdydadxdb]

    8. 以上是后续进行指数、对数映射,李代数求导,扰动模型推导的基础

  2. 推导实践

    1. S O ( 3 ) 、 s o ( 3 ) 、 S E ( 3 ) 、 s e ( 3 ) SO(3)、so(3)、SE(3)、se(3) SO(3)so(3)SE(3)se(3)指数与对数映射的对应关系:

      image-20211206091042219
    2. S O ( 3 ) SO(3) SO(3)上的李代数求导与左扰动模型:

      1. 李代数求导用李代数表示位姿,然后根据李代数加法对李代数求导

        假设对一个空间点 p p p进行了旋转,得到了 R p Rp Rp

        现在,要计算旋转之后点地坐标相对于旋转的导数,记作: ∂ ( R p ) ∂ R \frac{\partial \left( \boldsymbol{R}p \right)}{\partial \boldsymbol{R}} R(Rp)

        由于, S O ( 3 ) SO(3) SO(3)没有加法,所以该导数没法按照导数的定义进行计算。

        R R R对应的李代数为 ϕ \phi ϕ转而计算李代数导数
        ∂ ( R p ) ∂ R = ∂ ( exp ⁡ ( ϕ ∧ ) p ) ∂ ϕ = lim ⁡ δ ϕ → 0 exp ⁡ ( ( ϕ + δ ϕ ) ∧ ) p − exp ⁡ ( ϕ ∧ ) p δ ϕ \frac{\partial \left( \boldsymbol{R}p \right)}{\partial \boldsymbol{R}}=\frac{\partial \left( \exp \left( \phi ^{\land} \right) p \right)}{\partial \phi}=\lim_{\delta \phi \rightarrow 0}\frac{\exp \left( \left( \phi +\delta \phi \right) ^{\land} \right) p-\exp \left( \phi ^{\land} \right) p}{\delta \phi} R(Rp)=ϕ(exp(ϕ)p)=δϕ0limδϕexp((ϕ+δϕ))pexp(ϕ)p

                                                                 = lim ⁡ δ ϕ → 0 exp ⁡ ( ( J l δ ϕ ) ∧ ) exp ⁡ ( ϕ ∧ ) p − exp ⁡ ( ϕ ∧ ) p δ ϕ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\lim_{\delta \phi \rightarrow 0}\frac{\exp \left( \left( \boldsymbol{J}_l\delta \phi \right) ^{\land} \right) \exp \left( \phi ^{\land} \right) p-\exp \left( \phi ^{\land} \right) p}{\delta \phi}                                                         =δϕ0limδϕexp((Jlδϕ))exp(ϕ)pexp(ϕ)p

                                                                 = lim ⁡ δ ϕ → 0 ( I + ( J l δ ϕ ) ∧ ) exp ⁡ ( ϕ ∧ ) p − exp ⁡ ( ϕ ∧ ) p δ ϕ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\lim_{\delta \phi \rightarrow 0}\frac{\left( \boldsymbol{I}+\left( \boldsymbol{J}_l\delta \phi \right) ^{\land} \right) \exp \left( \phi ^{\land} \right) p-\exp \left( \phi ^{\land} \right) p}{\delta \phi}                                                         =δϕ0limδϕ(I+(Jlδϕ))exp(ϕ)pexp(ϕ)p

                                 = lim ⁡ δ ϕ → 0 ( J l δ ϕ ) ∧ exp ⁡ ( ϕ ∧ ) p δ ϕ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\lim_{\delta \phi \rightarrow 0}\frac{\left( \boldsymbol{J}_l\delta \phi \right) ^{\land}\exp \left( \phi ^{\land} \right) p}{\delta \phi}                         =δϕ0limδϕ(Jlδϕ)exp(ϕ)p

                                   = lim ⁡ δ ϕ → 0 − ( exp ⁡ ( ϕ ∧ ) p ) ∧ J l δ ϕ δ ϕ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\lim_{\delta \phi \rightarrow 0}\frac{-\left( \exp \left( \phi ^{\land} \right) p \right) ^{\land}\boldsymbol{J}_l\delta \phi}{\delta \phi}                           =δϕ0limδϕ(exp(ϕ)p)Jlδϕ

                                            = − ( exp ⁡ ( ϕ ∧ ) p ) ∧ J l = − ( R p ) ∧ p \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =-\left( \exp \left( \phi ^{\land} \right) p \right) ^{\land}\boldsymbol{J}_l=-\left( \boldsymbol{R}p \right) ^{\land}p                                    =(exp(ϕ)p)Jl=(Rp)p

        说明:

        第一行:李代数形式求导公式;

        第二行: B C H BCH BCH左乘近似公式;

        第三行: exp ⁡ ( ( J l δ ϕ ) ∧ ) \exp \left( \left( \boldsymbol{J}_l\delta \phi \right) ^{\land} \right) exp((Jlδϕ))一阶泰勒展开

        第四行:消去同类项;

        第五行:运用 a × b = − b × a a\times b=-b\times a a×b=b×a,令 a = J l δ ϕ ,   b = exp ⁡ ( ϕ ∧ ) p a = \boldsymbol{J}_l\delta \phi,\ b = \exp \left( \phi ^{\land} \right) p a=Jlδϕ, b=exp(ϕ)p

      2. 左扰动模型对李群左乘微小扰动,然后对该扰动求导

        另一种求导方式: R R R进行一次扰动 △ R \bigtriangleup \boldsymbol{R} R,看结果相对于扰动的变化率

        以左扰动为例,设左扰动 △ R \bigtriangleup \boldsymbol{R} R对应的李代数为 △ ϕ \bigtriangleup \phi ϕ,然后,对 △ ϕ \bigtriangleup \phi ϕ求导,即:
        ∂ ( R p ) ∂ ( δ ϕ ) = lim ⁡ δ ϕ → 0 exp ⁡ ( ( δ ϕ ) ∧ ) exp ⁡ ( ϕ ∧ ) p − exp ⁡ ( ϕ ∧ ) p δ ϕ \frac{\partial \left( \boldsymbol{R}p \right)}{\partial \left( \delta \phi \right)}=\lim_{\delta \phi \rightarrow 0}\frac{\exp \left( \left( \delta \phi \right) ^{\land} \right) \exp \left( \phi ^{\land} \right) p-\exp \left( \phi ^{\land} \right) p}{\delta \phi} (δϕ)(Rp)=δϕ0limδϕexp((δϕ))exp(ϕ)pexp(ϕ)p

                = lim ⁡ δ ϕ → 0 ( I + ( δ ϕ ) ∧ ) exp ⁡ ( ϕ ∧ ) p − exp ⁡ ( ϕ ∧ ) p δ ϕ \ \ \ \ \ \ \ =\lim_{\delta \phi \rightarrow 0}\frac{\left( \boldsymbol{I}+\left( \delta \phi \right) ^{\land} \right) \exp \left( \phi ^{\land} \right) p-\exp \left( \phi ^{\land} \right) p}{\delta \phi}        =δϕ0limδϕ(I+(δϕ))exp(ϕ)pexp(ϕ)p

                = lim ⁡ δ ϕ → 0 ( δ ϕ ) ∧ exp ⁡ ( ϕ ∧ ) p δ ϕ \ \ \ \ \ \ \ =\lim_{\delta \phi \rightarrow 0}\frac{\left( \delta \phi \right) ^{\land}\exp \left( \phi ^{\land} \right) p}{\delta \phi}        =δϕ0limδϕ(δϕ)exp(ϕ)p

                = lim ⁡ δ ϕ → 0 − ( exp ⁡ ( ϕ ∧ ) p ) ∧ δ ϕ δ ϕ \ \ \ \ \ \ \ =\lim_{\delta \phi \rightarrow 0}\frac{-\left( \exp \left( \phi ^{\land} \right) p \right) ^{\land}\delta \phi}{\delta \phi}        =δϕ0limδϕ(exp(ϕ)p)δϕ

                = − ( exp ⁡ ( ϕ ∧ ) p ) ∧   = − ( R p ) ∧ \ \ \ \ \ \ \ =-\left( \exp \left( \phi ^{\land} \right) p \right) ^{\land}\ =-\left( \boldsymbol{R}p \right) ^{\land}        =(exp(ϕ)p) =(Rp)

        说明:

        第一行:对李群左乘小扰动;

        第二行: exp ⁡ ( ( δ ϕ ) ∧ ) \exp \left( \left( \delta \phi \right) ^{\land} \right) exp((δϕ))的一阶泰勒展开;

        第三行:消去同类项 exp ⁡ ( ϕ ∧ ) p \exp \left( \phi ^{\land} \right) p exp(ϕ)p

        第四行:运用 a × b = − b × a a\times b=-b\times a a×b=b×a,令 a = δ ϕ ,   b = exp ⁡ ( ϕ ∧ ) p a = \delta \phi,\ b = \exp \left( \phi ^{\land} \right) p a=δϕ, b=exp(ϕ)p

    3. S E ( 3 ) SE(3) SE(3)上的李代数求导与左扰动模型;

      1. 李代数求导:略

      2. 左扰动模型:

        假设某空间点 p p p经过一次变换 T T T(对应李代数 ξ \xi ξ),得到 T p Tp Tp

        现在,给 T T T左乘一个扰动 △ T = e x p ( ( δ ξ ) ∧ ) \bigtriangleup \boldsymbol{T} = exp(\left( \delta \xi \right) ^{\land}) T=exp((δξ)),设扰动项的李代数 δ ξ = [ δ ρ δ ϕ ] T \delta \xi =\left[ \begin{matrix} \delta \rho& \delta \phi\\ \end{matrix} \right] ^T δξ=[δρδϕ]T,那么:

      ∂ ( T p ) ∂ ( δ ξ ) = lim ⁡ δ ξ → 0 exp ⁡ ( ( δ ξ ) ∧ ) exp ⁡ ( ξ ∧ ) p − exp ⁡ ( ξ ∧ ) p δ ξ                ( 1 ) \frac{\partial \left( \boldsymbol{T}p \right)}{\partial \left( \delta \xi \right)}=\lim_{\delta \xi \rightarrow 0}\frac{\exp \left( \left( \delta \xi \right) ^{\land} \right) \exp \left( \xi ^{\land} \right) p-\exp \left( \xi ^{\land} \right) p}{\delta \xi}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 1 \right) (δξ)(Tp)=δξ0limδξexp((δξ))exp(ξ)pexp(ξ)p              (1)

      = lim ⁡ δ ξ → 0 ( I + ( δ ξ ) ∧ ) exp ⁡ ( ξ ∧ ) p − exp ⁡ ( ξ ∧ ) p δ ξ                ( 2 ) =\lim_{\delta \xi \rightarrow 0}\frac{\left( \boldsymbol{I}+\left( \delta \xi \right) ^{\land} \right) \exp \left( \xi ^{\land} \right) p-\exp \left( \xi ^{\land} \right) p}{\delta \xi}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 2 \right) =δξ0limδξ(I+(δξ))exp(ξ)pexp(ξ)p              (2)

      = lim ⁡ δ ξ → 0 ( δ ξ ) ∧ exp ⁡ ( ξ ∧ ) p δ ξ                              ( 3 ) =\lim_{\delta \xi \rightarrow 0}\frac{\left( \delta \xi \right) ^{\land}\exp \left( \xi ^{\land} \right) p}{\delta \xi}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 3 \right) =δξ0limδξ(δξ)exp(ξ)p                            (3)

      = lim ⁡ δ ξ → 0 [ ( δ ϕ ) ∧ δ ρ 0 T 0 ] [ R p + t 1 ] δ ξ                         ( 4 ) =\lim_{\delta \xi \rightarrow 0}\frac{\left[ \begin{matrix} \left( \delta \phi \right) ^{\land}& \delta \rho\\ 0^T& 0\\ \end{matrix} \right] \left[ \begin{array}{c} \boldsymbol{R}p+\boldsymbol{t}\\ 1\\ \end{array} \right]}{\delta \xi}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 4 \right) =δξ0limδξ[(δϕ)0Tδρ0][Rp+t1]                       (4)

      = lim ⁡ δ ξ → 0 [ ( δ ϕ ) ∧ ( R p + t ) + δ ρ 0 T ] [ δ ρ δ ϕ ] T                         ( 5 ) =\lim_{\delta \xi \rightarrow 0}\frac{\left[ \begin{array}{c} \left( \delta \phi \right) ^{\land}\left( \boldsymbol{R}p+\boldsymbol{t} \right) +\delta \rho\\ 0^T\\ \end{array} \right]}{\left[ \begin{matrix} \delta \rho& \delta \phi\\ \end{matrix} \right] ^T}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 5 \right) =δξ0lim[δρδϕ]T[(δϕ)(Rp+t)+δρ0T]                       (5)

      = [ ∂ ( ( δ ϕ ) ∧ ( R p + t ) + δ ρ ) δ ρ ∂ ( ( δ ϕ ) ∧ ( R p + t ) + δ ρ ) δ ϕ 0 T 0 ]      ( 6 ) =\left[ \begin{matrix} \frac{\partial \left( \left( \delta \phi \right) ^{\land}\left( \boldsymbol{R}p+\boldsymbol{t} \right) +\delta \rho \right)}{\delta \rho}& \frac{\partial \left( \left( \delta \phi \right) ^{\land}\left( \boldsymbol{R}p+\boldsymbol{t} \right) +\delta \rho \right)}{\delta \phi}\\ 0^T& 0\\ \end{matrix} \right] \ \ \ \ \left( 6 \right) =[δρ((δϕ)(Rp+t)+δρ)0Tδϕ((δϕ)(Rp+t)+δρ)0]    (6)

      = [ I − ( R p + t ) 0 T 0 ] = d e f ( T p ) ⊙                                  ( 7 ) =\left[ \begin{matrix} \boldsymbol{I}& -\left( \boldsymbol{R}p+\boldsymbol{t} \right)\\ 0^T& 0\\ \end{matrix} \right] \overset{def}{=}\left( \boldsymbol{T}p \right) ^{\odot}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 7 \right) =[I0T(Rp+t)0]=def(Tp)                                (7)

      说明:

      (5)、(6)涉及矩阵求导顺序;

  3. 编程实践

    1. useSophus

      1. 安装Sophus
      2. 构造 S O ( 3 ) 、 S E ( 3 ) SO(3)、SE(3) SO(3)SE(3)对象,并进行指数、对数映射;
      3. 当知道更新量后,如何对李群元素进行更新;
    2. trajectoryError

      1. 读取文件
      2. SO(3)和Rotation_matrix是一样的,Sophus::SE3d和Isometry是一样的表达;
      3. 计算RMSE;

4. 课后习题

  1. 验证 S O ( 3 ) 、 S E ( 3 ) 和 S i m ( 3 ) SO(3)、SE(3)和Sim(3) SO(3)SE(3)Sim(3)关于乘法成群。

    1. 理解 S O ( 3 ) 、 S E ( 3 ) 和 S i m ( 3 ) SO(3)、SE(3)和Sim(3) SO(3)SE(3)Sim(3)的定义;
    2. 乘法成群的意思是,满足群的四个性质:封闭性、结合率、幺元、逆;
  2. 验证 ( R 3 , R , ∗ ) (R^3,R,*) (R3R)构成李代数。*表示叉乘

    1. R 3 R^3 R3表示一个三维向量 ( a 1 , a 2 , a 3 ) (a_1,a_2,a_3) (a1,a2,a3)
    2. 构成李代数的意思是,满足李代数的四个性质:封闭性、双线性、自反性、雅可比等价性;
  3. 验证 s o ( 3 ) 和 s e ( 3 ) so(3)和se(3) so(3)se(3)满足李代数要求的性质。

    1. 理解 s o ( 3 ) 、 s e ( 3 ) so(3)、se(3) so(3)se(3)的定义;
    2. 李代数的四个性质;
  4. 验证性质(4.20)和(4.21)。

    由于 ϕ \phi ϕ是三维向量。其模长和方向,分别记作 θ \theta θ a a a,于是有 ϕ = θ a \phi = \theta a ϕ=θa

    1. (4.20)公式推导:

      $a{\land}a{\land}=\left[ \begin{matrix}
      0& -a_3& a_2\
      a_3& 0& -a_1\
      -a_2& a_1& 0\
      \end{matrix} \right] \left[ \begin{matrix}
      0& -a_3& a_2\
      a_3& 0& -a_1\
      -a_2& a_1& 0\
      \end{matrix} \right] $

    2. (4.21)公式推导:

      a ∧ a ∧ a ∧ = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] = − a ∧ a^{\land}a^{\land}a^{\land}=\left[ \begin{matrix} 0& -a_3& a_2\\ a_3& 0& -a_1\\ -a_2& a_1& 0\\ \end{matrix} \right] \left[ \begin{matrix} 0& -a_3& a_2\\ a_3& 0& -a_1\\ -a_2& a_1& 0\\ \end{matrix} \right] \left[ \begin{matrix} 0& -a_3& a_2\\ a_3& 0& -a_1\\ -a_2& a_1& 0\\ \end{matrix} \right] = -a^{\land} aaa= 0a3a2a30a1a2a10 0a3a2a30a1a2a10 0a3a2a30a1a2a10 =a

    3. 这两个式子,提供了处理 a ∧ a^{\land} a高阶项的方法。

  5. 证明:

    R p ∧ R T = ( R p ) ∧ \boldsymbol{Rp}^{\land}\boldsymbol{R}^T=\left( \boldsymbol{Rp} \right) ^{\land} RpRT=(Rp)

    第四讲课后习题-参考

  6. 证明:

    $\boldsymbol{R}\exp \left( \boldsymbol{p}^{\land} \right) \boldsymbol{R}^T=\exp \left( \left( \boldsymbol{Rp} \right) ^{\land} \right) $

    该式称为 S O ( 3 ) SO(3) SO(3)上的伴随性质。同样地,在 S E ( 3 ) SE(3) SE(3)上也有伴随性质:

    $\boldsymbol{T}\exp \left( \boldsymbol{\xi }^{\land} \right) \boldsymbol{T}^{-1}=\exp \left( \left( Ad\left( T \right) \xi \right) ^{\land} \right) $

    $Ad\left( T \right) =\left[ \begin{matrix}
    \boldsymbol{R}& \boldsymbol{t}^{\land}\boldsymbol{R}\
    0& \boldsymbol{R}\
    \end{matrix} \right] $

    这个伴随性质有啥意义或用处?

  7. 仿照左扰动的推导,推导 S O ( 3 ) 和 S E ( 3 ) SO(3)和SE(3) SO(3)SE(3)在右扰动下的导数。

    1. S O ( 3 ) SO(3) SO(3)右扰动模型:
      ∂ ( R p ) ∂ ( δ ϕ ) = lim ⁡ δ ϕ → 0 exp ⁡ ( ϕ ∧ ) exp ⁡ ( ( δ ϕ ) ∧ ) p − exp ⁡ ( ϕ ∧ ) p δ ϕ \frac{\partial \left( \boldsymbol{Rp} \right)}{\partial \left( \boldsymbol{\delta \phi } \right)}=\lim_{\delta \phi \rightarrow 0}\frac{\exp \left( \phi ^{\land} \right) \exp \left( \left( \delta \phi \right) ^{\land} \right) p-\exp \left( \phi ^{\land} \right) p}{\delta \phi} (δϕ)(Rp)=δϕ0limδϕexp(ϕ)exp((δϕ))pexp(ϕ)p

      = lim ⁡ δ ϕ → 0 exp ⁡ ( ϕ ∧ ) ( I + ( δ ϕ ) ∧ ) p − exp ⁡ ( ϕ ∧ ) p δ ϕ =\lim_{\delta \phi \rightarrow 0}\frac{\exp \left( \phi ^{\land} \right) \left( \boldsymbol{I}+\left( \delta \phi \right) ^{\land} \right) p-\exp \left( \phi ^{\land} \right) p}{\delta \phi} =δϕ0limδϕexp(ϕ)(I+(δϕ))pexp(ϕ)p

      = lim ⁡ δ ϕ → 0 exp ⁡ ( ϕ ∧ ) ( δ ϕ ) ∧ p δ ϕ =\lim_{\delta \phi \rightarrow 0}\frac{\exp \left( \phi ^{\land} \right) \left( \delta \phi \right) ^{\land}p}{\delta \phi} =δϕ0limδϕexp(ϕ)(δϕ)p

      = lim ⁡ δ ϕ → 0 ( exp ⁡ ( ϕ ∧ ) ( δ ϕ ) ) ∧ ( exp ⁡ ( ϕ ∧ ) p ) δ ϕ =\lim_{\delta \phi \rightarrow 0}\frac{\left( \exp \left( \phi ^{\land} \right) \left( \delta \phi \right) \right) ^{\land}\left( \exp \left( \phi ^{\land} \right) p \right)}{\delta \phi} =δϕ0limδϕ(exp(ϕ)(δϕ))(exp(ϕ)p)

      = lim ⁡ δ ϕ → 0 − ( exp ⁡ ( ϕ ∧ ) p ) ∧ ( exp ⁡ ( ϕ ∧ ) ( δ ϕ ) ) δ ϕ =\lim_{\delta \phi \rightarrow 0}\frac{-\left( \exp \left( \phi ^{\land} \right) p \right) ^{\land}\left( \exp \left( \phi ^{\land} \right) \left( \delta \phi \right) \right)}{\delta \phi} =δϕ0limδϕ(exp(ϕ)p)(exp(ϕ)(δϕ))

      = − ( exp ⁡ ( ϕ ∧ ) p ) ∧ exp ⁡ ( ϕ ∧ )   =   − ( R p ) ∧ R =-\left( \exp \left( \phi ^{\land} \right) p \right) ^{\land}\exp \left( \phi ^{\land} \right) \ =\ -\left( \boldsymbol{Rp} \right) ^{\land}\boldsymbol{R} =(exp(ϕ)p)exp(ϕ) = (Rp)R

    2. S E ( 3 ) SE(3) SE(3)右扰动模型:
      ∂ ( T p ) ∂ ( δ ξ ) = lim ⁡ δ ξ → 0 exp ⁡ ( ξ ∧ ) exp ⁡ ( ( δ ξ ) ∧ ) p − exp ⁡ ( ξ ∧ ) p δ ξ \frac{\partial \left( \boldsymbol{Tp} \right)}{\partial \left( \boldsymbol{\delta \xi } \right)}=\lim_{\delta \xi \rightarrow 0}\frac{\exp \left( \xi ^{\land} \right) \exp \left( \left( \delta \xi \right) ^{\land} \right) \boldsymbol{p}-\exp \left( \xi ^{\land} \right) \boldsymbol{p}}{\delta \xi} (δξ)(Tp)=δξ0limδξexp(ξ)exp((δξ))pexp(ξ)p

      = lim ⁡ δ ξ → 0 exp ⁡ ( ξ ∧ ) ( I + ( δ ξ ) ∧ ) p − exp ⁡ ( ξ ∧ ) p δ ξ =\lim_{\delta \xi \rightarrow 0}\frac{\exp \left( \xi ^{\land} \right) \left( \boldsymbol{I}+\left( \delta \xi \right) ^{\land} \right) \boldsymbol{p}-\exp \left( \xi ^{\land} \right) \boldsymbol{p}}{\delta \xi} =δξ0limδξexp(ξ)(I+(δξ))pexp(ξ)p

      = lim ⁡ δ ξ → 0 exp ⁡ ( ξ ∧ ) ( δ ξ ) ∧ p δ ξ =\lim_{\delta \xi \rightarrow 0}\frac{\exp \left( \xi ^{\land} \right) \left( \delta \xi \right) ^{\land}\boldsymbol{p}}{\delta \xi} =δξ0limδξexp(ξ)(δξ)p

      = lim ⁡ δ ξ → 0 [ R t 0 T 1 ] [ ( δ ϕ ) ∧ δ ρ 0 T 0 ] p δ ξ   =   lim ⁡ δ ξ → 0 [ R t 0 T 1 ] [ ( δ ϕ ) ∧ δ ρ 0 T 0 ] [ p 1 ] δ ξ =\lim_{\delta \xi \rightarrow 0}\frac{\left[ \begin{matrix} \boldsymbol{R}& \boldsymbol{t}\\ 0^T& 1\\ \end{matrix} \right] \left[ \begin{matrix} \left( \boldsymbol{\delta \phi } \right) ^{\land}& \boldsymbol{\delta \rho }\\ 0^T& 0\\ \end{matrix} \right] \boldsymbol{p}}{\delta \xi}\ =\ \lim_{\delta \xi \rightarrow 0}\frac{\left[ \begin{matrix} \boldsymbol{R}& \boldsymbol{t}\\ 0^T& 1\\ \end{matrix} \right] \left[ \begin{matrix} \left( \boldsymbol{\delta \phi } \right) ^{\land}& \boldsymbol{\delta \rho }\\ 0^T& 0\\ \end{matrix} \right] \left[ \begin{array}{c} \boldsymbol{p}\\ 1\\ \end{array} \right]}{\delta \xi} =δξ0limδξ[R0Tt1][(δϕ)0Tδρ0]p = δξ0limδξ[R0Tt1][(δϕ)0Tδρ0][p1]

      = lim ⁡ δ ξ → 0 [ R t 0 T 1 ] [ ( δ ϕ ) ∧ p + δ ρ 0 ] δ ξ = lim ⁡ δ ξ → 0 [ R ( δ ϕ ) ∧ p + R δ ρ 0 ] δ ξ =\lim_{\delta \xi \rightarrow 0}\frac{\left[ \begin{matrix} \boldsymbol{R}& \boldsymbol{t}\\ 0^T& 1\\ \end{matrix} \right] \left[ \begin{array}{c} \left( \boldsymbol{\delta \phi } \right) ^{\land}\boldsymbol{p}+\boldsymbol{\delta \rho }\\ 0\\ \end{array} \right]}{\delta \xi}=\lim_{\delta \xi \rightarrow 0}\frac{\left[ \begin{array}{c} \boldsymbol{R}\left( \boldsymbol{\delta \phi } \right) ^{\land}\boldsymbol{p}+\boldsymbol{R\delta \rho }\\ 0\\ \end{array} \right]}{\delta \xi} =δξ0limδξ[R0Tt1][(δϕ)p+δρ0]=δξ0limδξ[R(δϕ)p+Rδρ0]

      = lim ⁡ δ ξ → 0 [ R ( δ ϕ ) ∧ p + R δ ρ 0 ] [ δ ρ ( δ ϕ ) ∧ ] T = lim ⁡ δ ξ → 0 [ − ( R p ) ∧ R δ ϕ + R δ ρ 0 ] [ δ ρ ( δ ϕ ) ∧ ] T =\lim_{\delta \xi \rightarrow 0}\frac{\left[ \begin{array}{c} \boldsymbol{R}\left( \boldsymbol{\delta \phi } \right) ^{\land}\boldsymbol{p}+\boldsymbol{R\delta \rho }\\ 0\\ \end{array} \right]}{\left[ \begin{matrix} \boldsymbol{\delta \rho }& \left( \boldsymbol{\delta \phi } \right) ^{\land}\\ \end{matrix} \right] ^T}=\lim_{\delta \xi \rightarrow 0}\frac{\left[ \begin{array}{c} -\left( \boldsymbol{Rp} \right) ^{\land}\boldsymbol{R\delta \phi }+\boldsymbol{R\delta \rho }\\ 0\\ \end{array} \right]}{\left[ \begin{matrix} \boldsymbol{\delta \rho }& \left( \boldsymbol{\delta \phi } \right) ^{\land}\\ \end{matrix} \right] ^T} =δξ0lim[δρ(δϕ)]T[R(δϕ)p+Rδρ0]=δξ0lim[δρ(δϕ)]T[(Rp)Rδϕ+Rδρ0]

      = [ R − ( R p ) ∧ R 0 0 ] =\left[ \begin{matrix} \boldsymbol{R}& -\left( \boldsymbol{Rp} \right) ^{\land}\boldsymbol{R}\\ 0& 0\\ \end{matrix} \right] =[R0(Rp)R0]

  8. 搜索cmake的find_package指令是如何运作的。它有哪些可选的参数?为了让cmake找到某个库,需要哪些先决条件?

    参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值