第4讲 李群与李代数
1. 目标
- 理解李群与李代数的概念,掌握 S O ( 3 ) 、 S E ( 3 ) SO(3)、SE(3) SO(3)、SE(3)与对应李代数的表示方式;
- 理解 B C H BCH BCH近似的意义;
- 学会在李代数上的扰动模型;
- 使用 S o p h u s Sophus Sophus对李代数进行运算;
2. 知识点
- 理解群、李群、李代数的概念与定义;
- 理解群与李代数满足的性质;
- 理解 S O ( 3 ) 和 S E ( 3 ) SO(3)和SE(3) SO(3)和SE(3)的定义;
- 理解 s o ( 3 ) 和 s e ( 3 ) so(3)和se(3) so(3)和se(3)的定义;
- 推导 S O ( 3 ) 与 s o ( 3 ) SO(3)与so(3) SO(3)与so(3)指数与对数映射;
- 推导 S E ( 3 ) 与 s e ( 3 ) SE(3)与se(3) SE(3)与se(3)指数与对数映射;
- 掌握 B C H BCH BCH近似公式的表达及其意义;
- 推导 S O ( 3 ) SO(3) SO(3)上的李代数求导与左扰动模型;
- 推导 S E ( 3 ) SE(3) SE(3)上的李代数求导与左扰动模型;
- 试着推导右扰动模型;
3. 实践
-
基础: 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近似公式:
-
三维旋转矩阵构成特殊正交群 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} $
-
三维变换矩阵构成特殊欧氏群 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×4∣R∈SO(3),t∈R3}
-
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} $
-
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}
-
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为小量
-
B C H BCH BCH近似的意义:
-
假定对某个旋转矩阵 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) $
-
反之,如果在李代数上进行加法,让一个 ϕ \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) $
-
-
矩阵求导顺序:
假设 a 、 b 、 x 、 y a、b、x、y a、b、x、y都是列向量,那么有如下规则:
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] limx→0,y→0[xy]T[ab]T=d[xy]d[ab]=⎣ ⎡d[xy]d[ab]T⎦ ⎤T=[dxdadydadxdbdxdb]T=[dxdadxdbdydadxdb]
-
以上是后续进行指数、对数映射,李代数求导,扰动模型推导的基础;
-
-
推导实践
-
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)指数与对数映射的对应关系:
-
S O ( 3 ) SO(3) SO(3)上的李代数求导与左扰动模型:
-
李代数求导:用李代数表示位姿,然后根据李代数加法对李代数求导
假设对一个空间点 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((ϕ+δϕ)∧)p−exp(ϕ∧)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(ϕ∧)p−exp(ϕ∧)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(ϕ∧)p−exp(ϕ∧)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;
-
左扰动模型:对李群左乘微小扰动,然后对该扰动求导
另一种求导方式:对 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(ϕ∧)p−exp(ϕ∧)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(ϕ∧)p−exp(ϕ∧)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;
-
-
S E ( 3 ) SE(3) SE(3)上的李代数求导与左扰动模型;
-
李代数求导:略
-
左扰动模型:
假设某空间点 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(ξ∧)p−exp(ξ∧)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(ξ∧)p−exp(ξ∧)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)涉及矩阵求导顺序;
-
-
-
编程实践
-
useSophus
- 安装Sophus
- 构造 S O ( 3 ) 、 S E ( 3 ) SO(3)、SE(3) SO(3)、SE(3)对象,并进行指数、对数映射;
- 当知道更新量后,如何对李群元素进行更新;
-
trajectoryError
- 读取文件
- SO(3)和Rotation_matrix是一样的,Sophus::SE3d和Isometry是一样的表达;
- 计算RMSE;
-
4. 课后习题
-
验证 S O ( 3 ) 、 S E ( 3 ) 和 S i m ( 3 ) SO(3)、SE(3)和Sim(3) SO(3)、SE(3)和Sim(3)关于乘法成群。
- 理解 S O ( 3 ) 、 S E ( 3 ) 和 S i m ( 3 ) SO(3)、SE(3)和Sim(3) SO(3)、SE(3)和Sim(3)的定义;
- 乘法成群的意思是,满足群的四个性质:封闭性、结合率、幺元、逆;
-
验证 ( R 3 , R , ∗ ) (R^3,R,*) (R3,R,∗)构成李代数。*表示叉乘
- R 3 R^3 R3表示一个三维向量 ( a 1 , a 2 , a 3 ) (a_1,a_2,a_3) (a1,a2,a3);
- 构成李代数的意思是,满足李代数的四个性质:封闭性、双线性、自反性、雅可比等价性;
-
验证 s o ( 3 ) 和 s e ( 3 ) so(3)和se(3) so(3)和se(3)满足李代数要求的性质。
- 理解 s o ( 3 ) 、 s e ( 3 ) so(3)、se(3) so(3)、se(3)的定义;
- 李代数的四个性质;
-
验证性质(4.20)和(4.21)。
由于 ϕ \phi ϕ是三维向量。其模长和方向,分别记作 θ \theta θ和 a a a,于是有 ϕ = θ a \phi = \theta a ϕ=θa;
-
(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] $ -
(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} a∧a∧a∧=⎣ ⎡0a3−a2−a30a1a2−a10⎦ ⎤⎣ ⎡0a3−a2−a30a1a2−a10⎦ ⎤⎣ ⎡0a3−a2−a30a1a2−a10⎦ ⎤=−a∧
-
这两个式子,提供了处理 a ∧ a^{\land} a∧高阶项的方法。
-
-
证明:
R p ∧ R T = ( R p ) ∧ \boldsymbol{Rp}^{\land}\boldsymbol{R}^T=\left( \boldsymbol{Rp} \right) ^{\land} Rp∧RT=(Rp)∧
-
证明:
$\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] $这个伴随性质有啥意义或用处?
-
仿照左扰动的推导,推导 S O ( 3 ) 和 S E ( 3 ) SO(3)和SE(3) SO(3)和SE(3)在右扰动下的导数。
-
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((δϕ)∧)p−exp(ϕ∧)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+(δϕ)∧)p−exp(ϕ∧)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
-
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((δξ)∧)p−exp(ξ∧)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+(δξ)∧)p−exp(ξ∧)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]
-
-
搜索cmake的find_package指令是如何运作的。它有哪些可选的参数?为了让cmake找到某个库,需要哪些先决条件?