SLAM与李群李代数
SLAM与李群李代数
- 概念
- 李群与李代数的映射关系
- SO(3)上
- SE(3)上
- 变换关系表
- 李代数的求导与扰动模型
- 矩阵的求导
- 方法一 李代数求导
- 方法二 扰动模型
概念
- 群是什么?
官方概念:是一种集合加上一种运算的代数结构,且该运算满足“封结幺逆”四个性质
例如:
旋转矩阵满足一下性质
R R T = I , d e t ( R ) = 1 RR^T=I,det(R)=1 RRT=I,det(R)=1
那么可以得到一个旋转矩阵集合
S O ( 3 ) = { R ∈ ℜ 3 × 3 ∣ R R T = I , d e t ( R ) = 1 } SO(3)= \left\{ R \in \Re ^{3\times3}|RR^T=I,det(R)=1 \right\} SO(3)={R∈ℜ3×3∣RRT=I,det(R)=1}
但是这是对加法不封闭的
R 1 + R 2 ∉ S O ( 3 ) R_1+R_2 \not\in SO(3) R1+R2∈SO(3)
但是这是对乘法是封闭的
R 1 ⋅ R 2 ∈ S O ( 3 ) R_1 \cdot R_2\in SO(3) R1⋅R2∈SO(3)
同时旋转矩阵的运算( ⋅ \cdot ⋅)又满足“封结幺逆”四个性质,那么就说这是一个群(特殊正交群)
同理变换矩阵集合也是满足群的概念(特殊欧式群)
S E ( 3 ) = { T = ∣ R t 0 1 ∣ ∈ ℜ 4 × 4 ∣ R ∈ S O ( 3 ) } SE(3)= \left\{ T=\begin{vmatrix} R & t \\ 0 & 1 \end{vmatrix} \in \Re ^{4\times4}|R \in SO(3) \right\} SE(3)={T=∣∣∣∣R0t1∣∣∣∣∈ℜ4×4∣R∈SO(3)}
-
李群是什么?
是指一个具有连续(光滑)性质的群
可以想象一个刚体在空间中旋转平移,实际上就是一个连续的过程,所以说SO(3) SE(3)是李群 -
李代数是什么
李群都有与之对应的李代数,李代数描述了李群的局部性质。
由于这方面知识比较复杂,并没有去深究其性质,这里暂时先知道,李群和李代数是一个映射关系
例如SO(3)
R = e x p ( ϕ ∧ ) R=exp(\phi^\wedge) R=exp(ϕ∧)
s o ( 3 ) = { ϕ ∈ ℜ 3 ∣ Φ = ϕ ∧ ∈ ℜ 3 × 3 } so(3)=\left\{ \phi \in \Re ^3|\Phi=\phi^\wedge \in \Re^{3\times 3} \right\} so(3)={ϕ∈ℜ3∣Φ=ϕ∧∈ℜ3×3}
SE(3)
s e ( 3 ) = { ξ = ∣ ρ ϕ ∣ ∈ ℜ 6 , ρ ∈ ℜ 3 , ϕ ∈ s o ( 3 ) , ξ ∧ = ∣ ϕ ∧ ρ o T 1 ∣ ∈ ℜ 4 × 4 } se(3)=\left\{ \xi= \begin{vmatrix} \rho \\ \phi \end{vmatrix} \in \Re^6 , \rho\in \Re^3 , \phi\in so(3),\xi^\wedge =\begin{vmatrix} \phi^\wedge & \rho \\ o^T & 1 \end{vmatrix} \in \Re^{4 \times4}\right\} se(3)={ξ=∣∣∣∣ρϕ∣∣∣∣∈ℜ6,ρ∈ℜ3,ϕ∈so(3),ξ∧=∣∣∣∣ϕ∧oTρ1∣∣∣∣∈ℜ4×4}
李群与李代数的映射关系
SO(3)上
我们知道指数的泰勒展开为

那么任意矩阵的指数映射可以写成
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
假设A矩阵对应的李代数是 ϕ \phi ϕ
e x p ( ϕ ∧ ) = ∑ n = 0 ∞ 1 n ! ( ϕ ∧ ) n exp(\phi^\wedge)=\sum_{n=0}^\infty \frac{1}{n!}(\phi^\wedge)^n exp(ϕ∧)=n=0∑∞n!1(ϕ∧)n
其实 ϕ \phi ϕ是一个三维向量,那把它转化成角轴,记为 θ \theta θ和 a a a,于是有 ϕ = θ a \phi=\theta a ϕ=θa
其中 a a a是旋转轴,并且长度为1,对于 a ∧ a^\wedge a∧有以下性质
a ∧ a ∧ = a ∧ a T − I a^\wedge a^\wedge=a^\wedge a^T-I a∧a∧=a∧aT−I
a ∧ a ∧ a ∧ = − a ∧ a^\wedge a^\wedge a^\wedge =-a^\wedge a∧a∧a∧=−a∧
把指数映射进行泰勒展开后化简
得到的结果其实就是罗德里格斯公式,就是旋转矩阵R,从这里可以看到,旋转矩阵对应的李代数实际上就是旋转向量
SE(3)上
e x p ( ξ ∧ ) = ∣ ∑ n = 0 ∞ 1 n ! ( ϕ ∧ ) n ∑ n = 0 ∞ 1 ( n + 1 ) ! ( ϕ ∧ ) n ρ 0 T 1 ∣ exp( \xi^\wedge)=\begin{vmatrix} \sum_{n=0}^\infty \frac{1}{n!}(\phi^\wedge)^n & \sum_{n=0}^\infty \frac{1}{(n+1)!}(\phi^\wedge)^n \rho\\ 0^T &1 \end{vmatrix} exp(ξ∧)=∣∣∣∣∑n=0∞n!1(ϕ∧)n0T∑n=0∞(n+1)!1(ϕ∧)nρ1∣∣∣∣
其中平移向量引入了一个雅克比矩阵 J J J

那么 J J J就可以得到式子
J = s i n θ θ I + ( 1 − s i n θ θ ) a a T + 1 − c o s θ θ a ∧ J=\frac{sin\theta}{\theta}I+(1-\frac{sin\theta}{\theta})aa^T+\frac{1-cos\theta}{\theta}a^{\wedge} J=θsinθI+(1−θsinθ)aaT+θ1−cosθa∧
所以SE(3)的指数映射右上角的t就满足
t = J ρ t=J\rho t=Jρ
那么在已知变换矩阵 T T T的情况下J可以由 ϕ \phi ϕ得到,那么 ρ \rho ρ就可以由上面线性方程得出
最后
e x p ( ξ ∧ ) = ∣ R J ρ 0 T 1 ∣ = T exp( \xi^\wedge)=\begin{vmatrix} R & J\rho\\ 0^T &1 \end{vmatrix}=T exp(ξ∧)=∣∣∣∣R0TJρ1∣∣∣∣=T
变换关系表

以上就是解释了旋转矩阵变换矩阵可以构成李群,并解释了李群和李代数的对映关系,同样给出了计算过程,仅此而已,并又有太多的和SLAM进行关联结合。
李代数的求导与扰动模型
这一部分才是真正的李群李代数和SLAM理论进行结合。目前的SLAM主流是非线性优化,也就是构造成最小二乘的形式,利用迭代求解相机的pose,这里的优化变量是T,所以需要对矩阵进行求导,但是我们知道这是对加法不封闭的,也就不能直接利用矩阵进行增量加减完成求导,但是在对应的李代数空间里面,两两相加其中一个是小量的情况下可以近似李群空间上的相加(引入一个雅克比矩阵),这样就可以对矩阵进行求导了。
- 实际上在讨论李群空间的矩阵相乘是否等价于李代数空间的两向量相加
e x p ( ϕ 1 ∧ ) e x p ( ϕ 2 ∧ ) = e x p ( ( ϕ 1 + ϕ 2 ) ∧ ) ) exp(\phi_1^\wedge)exp(\phi_2^\wedge)=exp((\phi_1+\phi_2)^\wedge)) exp(ϕ1∧)exp(ϕ2∧)=exp((ϕ1+ϕ2)∧))
或者说是
l n ( e x p ( ϕ 1 ∧ ) e x p ( ϕ 2 ∧ ) ) = A + B ln(exp(\phi_1^\wedge)exp(\phi_2^\wedge))=A+B ln(exp(ϕ1∧)exp(ϕ2∧))=A+B
如果AB是标量的话就是可以成立的,但是矩阵是不成立的,会得到很多有李括号的余项。
这叫做BCH(Baker-Campbell-Hausdorff)公式
可以考虑采用近似的方式,当A或者B对应的李代数 ϕ 1 \phi_1 ϕ1或者 ϕ 2 \phi_2 ϕ2其中一个是小量的时候(求导时就是其中一个为小量),可以把二次以上的项都忽略掉,直接的得到
l n ( e x p ( ϕ 1 ∧ ) e x p ( ϕ 2 ∧ ) ) ∨ ≃ { J l ( ϕ 2 ) − 1 ϕ 1 + ϕ 2 当 ϕ 1 为 小 量 J r ( ϕ 1 ) − 1 ϕ 2 + ϕ 1 当 ϕ 2 为 小 量 ln(exp(\phi_1^\wedge)exp(\phi_2^\wedge))^\vee\simeq \begin{cases} J_l(\phi_2)^{-1}\phi_1+ \phi_2 \quad 当\phi_1为小量\\ J_r(\phi_1)^{-1}\phi_2+ \phi_1 \quad 当\phi_2为小量 \end{cases} ln(exp(ϕ1∧)exp(ϕ2∧))∨≃{Jl(ϕ2)−1ϕ1+ϕ2当ϕ1为小量Jr(ϕ1)−1ϕ2+ϕ1当ϕ2为小量
从该式可以看到,当一个旋转矩阵 R 2 R_2 R2左乘一个微小旋转矩阵 R 1 R_1 R1时,可以近似看做在原有李代数 ϕ 2 \phi_2 ϕ2上加上了一项 J l ( ϕ 2 ) − 1 ϕ 1 J_l(\phi_2)^{-1}\phi_1 Jl(ϕ2)−1ϕ1。同样如果是右乘的话,当一个旋转矩阵 R 1 R_1 R1右乘一个微小矩阵 R 2 R_2 R2,可以近似看做在原有李代数 ϕ 1 \phi_1 ϕ1上加上了一项 J r ( ϕ 1 ) − 1 ϕ 2 J_r(\phi_1)^{-1}\phi_2 Jr(ϕ1)−1ϕ2
目前没有去了解相关的证明,所以这里就直接给出了一个近似结论
其中 J l J_l Jl和上面证明求出的 J J J是一样的形式
J l = J = s i n θ θ I + ( 1 − s i n θ θ ) a a T + 1 − c o s θ θ a ∧ J_l=J=\frac{sin\theta}{\theta}I+(1-\frac{sin\theta}{\theta})aa^T+\frac{1-cos\theta}{\theta}a^{\wedge} Jl=J=θsinθI+(1−θsinθ)aaT+θ1−cosθa∧
它的逆
J l − 1 = θ 2 c o t θ 2 I + ( 1 − θ 2 c o t θ 2 ) a a T + θ 2 a ∧ J_l^{-1}=\frac{\theta}{2}cot\frac{\theta}{2}I+(1-\frac{\theta}{2}cot\frac{\theta}{2})aa^T+\frac{\theta}{2}a^{\wedge} Jl−1=2θcot2θI+(1−2θcot2θ)aaT+2θa∧
右乘雅克比仅需要对自变量取负号
J r ( ϕ ) = J l ( − ϕ ) J_r(\phi)=J_l(-\phi) Jr(ϕ)=Jl(−ϕ)
- 讨论李群乘法和李代数加法的关系
上面的过程就是在证明李群乘法和李代数加法的关系的可行性
假设 Δ ϕ \Delta \phi Δϕ是微小量,进行左乘在某个旋转量 ϕ \phi ϕ,由李群上的乘法转变成李代数的加法
e x p ( Δ ϕ ∧ ) e x p ( ϕ ∧ ) = e x p ( ( ϕ + J l ( ϕ ) − 1 Δ ϕ ) ∧ ) exp(\Delta \phi^\wedge)exp(\phi^\wedge)=exp((\phi+J_l(\phi)^{-1}\Delta\phi) ^\wedge) exp(Δϕ∧)exp(ϕ∧)=exp((ϕ+Jl(ϕ)−1Δϕ)∧)
因为 Δ ϕ \Delta\phi Δϕ是小量,那 J l ( ϕ ) − 1 Δ ϕ J_l(\phi)^{-1}\Delta\phi Jl(ϕ)−1Δϕ也是小量, Δ ϕ ≃ J l ( ϕ ) − 1 Δ ϕ \Delta\phi \simeq J_l(\phi)^{-1}\Delta\phi Δϕ≃Jl(ϕ)−1Δϕ,所以SO(3)上左右乘微小量近似于so(3)上加进行微小量相加
同样的由李代数上的加法转变成李群上的左乘和右乘
由
e x p ( Δ ϕ ∧ ) e x p ( ϕ ∧ ) = e x p ( ( J l ( ϕ ) − 1 Δ ϕ + ϕ ) ∧ ) exp(\Delta \phi^\wedge)exp( \phi^\wedge)=exp((J_l(\phi)^{-1}\Delta \phi+ \phi)^\wedge) exp(Δϕ∧)exp(ϕ∧)=exp((Jl(ϕ)−1Δϕ+ϕ)∧)
e x p ( ϕ ∧ ) e x p ( Δ ϕ ∧ ) = e x p ( ( J r ( ϕ ) − 1 Δ ϕ + ϕ ) ∧ ) exp( \phi^\wedge)exp(\Delta \phi^\wedge)=exp((J_r(\phi)^{-1}\Delta \phi+ \phi)^\wedge) exp(ϕ∧)exp(Δϕ∧)=exp((Jr(ϕ)−1Δϕ+ϕ)∧)
左边到右边就是在小量上乘上雅克比逆矩阵,右边到左边就在小量上乘上雅克比正矩阵,同样的可以推导
e x p ( ( Δ ϕ + ϕ ) ∧ ) = e x p ( ( J l ( ϕ ) Δ ϕ ) ∧ ) e x p ( ϕ ∧ ) = e x p ( ϕ ∧ ) e x p ( ( J r ( ϕ ) Δ ϕ ) ∧ ) exp((\Delta \phi+\phi)^\wedge)=exp((J_l(\phi)\Delta \phi)^\wedge)exp( \phi^\wedge)=exp( \phi^\wedge)exp((J_r(\phi)\Delta \phi)^\wedge) exp((Δϕ+ϕ)∧)=exp((Jl(ϕ)Δϕ)∧)exp(ϕ∧)=exp(ϕ∧)exp((Jr(ϕ)Δϕ)∧)
那么对于 S E ( 3 ) SE(3) SE(3)也是同样结论
e x p ( Δ ξ ∧ ) e x p ( ξ ∧ ) = e x p ( ( J l ( ξ ) − 1 Δ ξ + ξ ) ∧ ) exp(\Delta \xi^\wedge)exp( \xi^\wedge)=exp((J_l(\xi)^{-1}\Delta \xi+\xi)^\wedge) exp(Δξ∧)exp(ξ∧)=exp((Jl(ξ)−1Δξ+ξ)∧)
e x p ( ξ ∧ ) e x p ( Δ ξ ∧ ) = e x p ( ( J r ( ξ ) − 1 Δ ξ + ξ ) ∧ ) exp( \xi^\wedge)exp(\Delta \xi^\wedge)=exp((J_r(\xi)^{-1}\Delta \xi+ \xi)^\wedge) exp(ξ∧)exp(Δξ∧)=exp((Jr(ξ)−1Δξ+ξ)∧)
这里的J是6*6的矩阵,比较复杂
以上就是通过近似的方式,使得李群上的小量相乘与李代数空间上相加进行相关联,那么这样就可以实现矩阵的求导
矩阵的求导
求导这里可以有两种方法
- 直接用李代数表示位姿,然后根据李代数加法来对李代数求导(这个更贴近于求导规则)
- 对李群左右乘微小扰动,对扰动求导,称为左右扰动模型(前面已经解释,SO(3)上左右乘微小扰动近似于so(3)上加微小量)
方法一 李代数求导

从上面证明可以看到使用该方法不管是左乘还是右乘都会引入一个雅克比矩阵,所以需要另外计算这个复杂的雅克比矩阵
方法二 扰动模型
设扰动 Δ R \Delta R ΔR对应的李代数是 Δ ϕ \Delta \phi Δϕ
左乘
∂ R p ∂ ϕ = lim Δ ϕ → 0 e x p ( ( Δ ϕ ) ∧ ) e x p ( ϕ ∧ ) p − e x p ( ϕ ∧ ) p Δ ϕ = lim Δ ϕ → 0 ( I + Δ ϕ ∧ ) e x p ( ϕ ∧ ) p − e x p ( ϕ ∧ ) p Δ ϕ = lim Δ ϕ → 0 Δ ϕ ∧ e x p ( ϕ ∧ ) p Δ ϕ = lim Δ ϕ → 0 − ( R p ) ∧ Δ ϕ Δ ϕ = ( R p ) ∧ \frac{ \partial Rp}{ \partial \phi} =\lim_{\Delta \phi \to 0}\frac{exp((\Delta \phi)^\wedge)exp( \phi^\wedge)p-exp( \phi^\wedge)p}{\Delta \phi} \\=\lim_{\Delta \phi \to 0}\frac{(I+\Delta \phi^\wedge)exp( \phi^\wedge)p-exp( \phi^\wedge)p}{\Delta \phi}\\=\lim_{\Delta \phi \to 0}\frac{\Delta \phi^\wedge exp( \phi^\wedge)p}{\Delta \phi}\\=\lim_{\Delta \phi \to 0}-\frac{ (Rp)^\wedge\Delta \phi}{\Delta \phi}\\= (Rp)^\wedge ∂ϕ∂Rp=Δϕ→0limΔϕexp((Δϕ)∧)exp(ϕ∧)p−exp(ϕ∧)p=Δϕ→0limΔϕ(I+Δϕ∧)exp(ϕ∧)p−exp(ϕ∧)p=Δϕ→0limΔϕΔϕ∧exp(ϕ∧)p=Δϕ→0lim−Δϕ(Rp)∧Δϕ=(Rp)∧
右乘
∂ R p ∂ ϕ = lim Δ ϕ → 0 e x p ( ϕ ∧ ) e x p ( ( Δ ϕ ) ∧ ) p − e x p ( ϕ ∧ ) p Δ ϕ = lim Δ ϕ → 0 e x p ( ϕ ∧ ) ( I + Δ ϕ ∧ ) p − e x p ( ϕ ∧ ) p Δ ϕ = lim Δ ϕ → 0 e x p ( ϕ ∧ ) Δ ϕ ∧ p Δ ϕ = lim Δ ϕ → 0 − R p ∧ Δ ϕ Δ ϕ = R p ∧ \frac{ \partial Rp}{ \partial \phi} =\lim_{\Delta \phi \to 0}\frac{exp( \phi^\wedge )exp((\Delta \phi)^\wedge)p-exp( \phi^\wedge)p}{\Delta \phi} \\=\lim_{\Delta \phi \to 0}\frac{exp( \phi^\wedge)(I+\Delta \phi^\wedge)p-exp( \phi^\wedge)p}{\Delta \phi}\\=\lim_{\Delta \phi \to 0}\frac{exp( \phi^\wedge)\Delta \phi^\wedge p}{\Delta \phi}\\=\lim_{\Delta \phi \to 0}-\frac{ Rp^\wedge\Delta \phi}{\Delta \phi}\\= Rp^\wedge ∂ϕ∂Rp=Δϕ→0limΔϕexp(ϕ∧)exp((Δϕ)∧)p−exp(ϕ∧)p=Δϕ→0limΔϕexp(ϕ∧)(I+Δϕ∧)p−exp(ϕ∧)p=Δϕ→0limΔϕexp(ϕ∧)Δϕ∧p=Δϕ→0lim−ΔϕRp∧Δϕ=Rp∧
对于SE(3)上的扰动模型求导
左乘
∂ T p ∂ ξ = lim Δ ξ → 0 e x p ( ( Δ ξ ) ∧ ) e x p ( ξ ∧ ) p − e x p ( ξ ∧ ) p Δ ξ = lim Δ ξ → 0 ( I + Δ ξ ∧ ) e x p ( ξ ∧ ) p − e x p ( ξ ∧ ) p Δ ξ = lim Δ ξ → 0 Δ ξ ∧ e x p ( ξ ∧ ) p Δ ξ = lim Δ ξ → 0 ∣ Δ ϕ ∧ Δ ρ 0 T 1 ∣ ∣ R p + t 1 ∣ Δ ξ = lim Δ ξ → 0 ∣ Δ ϕ ∧ ( R p + t ) + Δ ρ 0 ∣ Δ ξ = lim Δ ξ → 0 ∣ − ( R p + t ) ∧ Δ ϕ + Δ ρ 0 ∣ Δ ξ = ∣ I − ( R p + t ) ∧ 0 T 0 T ∣ \frac{ \partial Tp}{ \partial \xi} =\lim_{\Delta \xi \to 0}\frac{exp((\Delta \xi)^\wedge)exp( \xi^\wedge)p-exp( \xi^\wedge)p}{\Delta \xi} \\=\lim_{\Delta \xi \to 0}\frac{(I+\Delta \xi^\wedge)exp( \xi^\wedge)p-exp( \xi^\wedge)p}{\Delta \xi}\\=\lim_{\Delta \xi \to 0}\frac{\Delta \xi^\wedge exp( \xi^\wedge)p}{\Delta \xi}\\=\lim_{\Delta \xi \to 0}\frac{\begin{vmatrix} \Delta \phi^\wedge & \Delta \rho \\ 0^T & 1 \end{vmatrix}\begin{vmatrix} Rp+t \\ 1 \end{vmatrix}}{\Delta \xi}\\ =\lim_{\Delta \xi \to 0} \frac{\begin{vmatrix} \Delta \phi^\wedge(Rp+t)+\Delta \rho \\ 0 \end{vmatrix}}{\Delta \xi}\\=\lim_{\Delta \xi \to 0} \frac{\begin{vmatrix} -(Rp+t)^\wedge\Delta \phi+\Delta \rho \\ 0 \end{vmatrix}}{\Delta \xi}\\=\begin{vmatrix} I & -(Rp+t)^\wedge\\ 0^T & 0^T \end{vmatrix} ∂ξ∂Tp=Δξ→0limΔξexp((Δξ)∧)exp(ξ∧)p−exp(ξ∧)p=Δξ→0limΔξ(I+Δξ∧)exp(ξ∧)p−exp(ξ∧)p=Δξ→0limΔξΔξ∧exp(ξ∧)p=Δξ→0limΔξ∣∣∣∣Δϕ∧0TΔρ1∣∣∣∣∣∣∣∣Rp+t1∣∣∣∣=Δξ→0limΔξ∣∣∣∣Δϕ∧(Rp+t)+Δρ0∣∣∣∣=Δξ→0limΔξ∣∣∣∣−(Rp+t)∧Δϕ+Δρ0∣∣∣∣=∣∣∣∣I0T−(Rp+t)∧0T∣∣∣∣
其中
∣ I − ( R p + t ) ∧ 0 T 0 T ∣ ∣ Δ ρ Δ ϕ ∣ = ∣ − ( R p + t ) ∧ Δ ϕ + Δ ρ 0 ∣ \begin{vmatrix} I & -(Rp+t)^\wedge\\ 0^T & 0^T \end{vmatrix}\begin{vmatrix} \Delta \rho\\ \Delta \phi \end{vmatrix}=\begin{vmatrix} -(Rp+t)^\wedge\Delta \phi+\Delta \rho \\ 0 \end{vmatrix} ∣∣∣∣I0T−(Rp+t)∧0T∣∣∣∣∣∣∣∣ΔρΔϕ∣∣∣∣=∣∣∣∣−(Rp+t)∧Δϕ+Δρ0∣∣∣∣
∣ Δ ρ Δ ϕ ∣ = Δ ξ \begin{vmatrix} \Delta \rho\\ \Delta \phi \end{vmatrix}=\Delta \xi ∣∣∣∣ΔρΔϕ∣∣∣∣=Δξ
右乘同理
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
