[paper] A micro Lie theory for state estimation in robotics ①
简介
论文在arxiv中有
这是Joan Sola在2018年发的文章,比较详细讲机器人状态估计中所用到的李群李代数的理论还有推导.
同时他们还开源了一个李群的C++库 manif,这个库的还没有研究过,和Sophus的优劣也没有比较,日后补上…
写下来主要还是记录一下自己的理解和一些推导过程,同时也push自己看论文吧.建议对李群和李代数了解不深的还是去看原文.
ps:以下的图片都是从论文中截图过来的
A Micro Lie Theory
李群(Lie group)
利群包括两个部分:群和光滑流形(smooth manifold)
光滑流形可以理解为一个超平面,我们所需要的状态变量都在超平面上.
群的概念就是高博的十四讲中提高的"封结幺逆",即封闭性(Closure), 结合律(Associativity), 幺元(Identity), 逆(Inverse)
The group action
李群可以把一些集合中元素进行变化,比如旋转,平移,尺度变化等,对于我们来说就是2D,3D的变化,一个点通过旋转矩阵或变化矩阵变化到另一个点上.
李代数(Lie algebra)
李代数是原点附近的正切空间,记作:
m
=
T
ε
M
.
m = T_\varepsilon M.
m=TεM.
李代数,李群,还有向量的关系从下面这张图中可以很清楚的看出来
李代数与李群的映射关系也可以从下面这种图中看出
李代数也能被定义在一个局部的切点上
X
X
X上,李代数要在左边加一个上表
X
v
∧
∈
T
X
M
.
^Xv^\land \in T_X M.
Xv∧∈TXM.
指数映射的几个重要性质:
e
x
p
(
(
t
+
s
)
τ
∧
)
=
e
x
p
(
t
τ
∧
)
e
x
p
(
s
τ
∧
)
exp((t+s)\tau^\land) = exp(t\tau^\land)exp(s\tau^\land)
exp((t+s)τ∧)=exp(tτ∧)exp(sτ∧)
e
x
p
(
t
τ
∧
)
=
e
x
p
(
t
τ
∧
)
t
exp(t\tau^\land) = exp(t\tau^\land)^t
exp(tτ∧)=exp(tτ∧)t
e
x
p
(
−
τ
∧
)
=
e
x
p
(
t
τ
∧
)
−
1
exp(-\tau^\land) = exp(t\tau^\land)^{-1}
exp(−τ∧)=exp(tτ∧)−1
e
x
p
(
X
τ
∧
X
−
1
)
=
X
e
x
p
(
τ
∧
)
X
−
1
exp(X\tau^\land X^{-1}) = Xexp(\tau^\land)X^{-1}
exp(Xτ∧X−1)=Xexp(τ∧)X−1第四个公式用泰勒展开就可以证明,高博的十四讲的课后题
加减操作(Plus and minus operators)
加减操作分为左右加法和左右减法,下面分别用公式来表示.(公式中的加减号都是广义的加减号)
右加操作
Y
=
X
+
X
τ
=
X
∘
E
x
p
(
X
τ
)
Y=X+^X\tau =X \circ Exp(^X\tau)
Y=X+Xτ=X∘Exp(Xτ)右减操作:
X
τ
=
Y
−
X
=
L
o
g
(
Y
∘
X
−
1
)
^X\tau =Y-X =Log(Y \circ X^{-1})
Xτ=Y−X=Log(Y∘X−1)左加操作
Y
=
ε
τ
+
X
=
E
x
p
(
ε
τ
)
∘
X
Y={^\varepsilon\tau} + X = Exp(^\varepsilon\tau) \circ X
Y=ετ+X=Exp(ετ)∘X左减操作:
ε
τ
=
Y
−
X
=
L
o
g
(
Y
∘
X
−
1
)
^\varepsilon\tau =Y-X =Log(Y \circ X^{-1})
ετ=Y−X=Log(Y∘X−1)
右操作是在局部坐标系下,而左操作是在全局坐标系下的.
伴随和伴随矩阵(The adjoint, and the adjoint matrix)
看到这个概念的时候我刚开始不是很理解,但看了论文配图后便很容易理解了.先上图
再上公式
A
d
X
(
τ
∧
)
=
X
τ
∧
X
−
1
Ad_X(\tau^\land)=X\tau^\land X^{-1}
AdX(τ∧)=Xτ∧X−1可以理解为将李代数从一个坐标系变化到另一个坐标系下.当然他还有两个性质
线性 :
A
d
X
(
a
τ
∧
+
b
σ
∧
)
=
a
A
d
X
(
τ
∧
)
+
b
A
d
X
(
σ
∧
)
Ad_X({a\tau^\land} + b\sigma^\land)=aAd_X(\tau^\land)+bAd_X(\sigma^\land)
AdX(aτ∧+bσ∧)=aAdX(τ∧)+bAdX(σ∧)
同构 :
A
d
X
(
A
d
Y
(
τ
∧
)
)
=
A
d
X
Y
(
τ
∧
)
Ad_X(Ad_Y(\tau^\land))=Ad_{XY}(\tau^\land)
AdX(AdY(τ∧))=AdXY(τ∧)
Adjoint是李代数到李代数的一个变换,Adjoint matrix是
R
m
R^m
Rm到
R
m
R^m
Rm的一个变换
A
d
X
τ
=
(
X
τ
∧
X
−
1
)
∨
\boldsymbol{Ad_X}\tau=(X\tau^\land X^{-1})^\lor
AdXτ=(Xτ∧X−1)∨