李群与李代数
在 SLAM 中位姿是未知的,而我们需要解决什 么样的相机位姿最符合当前观测数据这样的问题。一种典型的方式是把它构建成一个优化 问题,求解最优的 R;t,使得误差最小化。 通过李群——李代数间的转换关系,旋转矩阵自身是带有约束的(正交且行列式为 1) 。它们作为优化变量时, 会引入额外的约束,使优化变得困难。我们希望把位姿估计变成无约束的优化问题,简化求解方式。
群
三维旋转矩阵构成了特殊正交群 SO(3),而变换矩阵构成了特殊欧氏群$ SE(3)$:
SO(3)={R∈R3×3∣RRT=I,det(R)=1}.SE(3)={T=[R0Tt1]∈R4×4∣R∈SO(3),t∈R3}.

李群是指具有连续光滑性质的群。每个李群都有对应的李代数
李代数
a∧=A=⎣⎢⎡0a3−a2−a30a1a2−a10⎦⎥⎤,A∨=a
R是某个相机的旋转,它会随时间连续地变化, 即为时间的函数:R(t):
R(t)R(t)T=I
求导得到:
R˙(t)R(t)T=−(R˙(t)R(t)T)T
我们设:R˙(t)R(t)T=ϕ(t)∧
R˙(t)=ϕ(t)∧R(t)=⎣⎢⎡0ϕ3−ϕ2−ϕ30ϕ1ϕ2−ϕ10⎦⎥⎤R(t).
我们设t0=0,并设此时旋转矩阵为R(0)=I。按照导数定义,可以把R(t)在0附近进行 一阶泰勒展开:
R(t)≈R(t0)+R˙(t0)(t−t0)=I+ϕ(t0)∧(t−t0)
解微分方程得:
R(t)=exp(ϕ0′t)

so(3)={ϕ∈R3,Φ=ϕ∧∈R3×3}
李括号:
[ϕ1,ϕ2]=(Φ1Φ2−Φ2Φ1)V
se(3)={ξ=[ρϕ]∈R6,ρ∈R3,ϕ∈so(3),ξ∧=[ϕ∧0Tρ0]∈R4×4}
李括号为:
[ξ1,ξ2]=(ξ1∧ξ2∧−ξ2∧ξ1∧)∨
根据性质:
{a∧a∧=aaT−Ia∧a∧a∧=−a∧
得到:
exp(ϕ∧)=exp(θa∧)=n=0∑∞n!1(θa∧)n=I+θa∧+2!1θ2a∧a∧+3!1θ3a∧a∧a∧+4!1θ4(a∧)4+…=aaT−a∧a∧+θa∧+2!1θ2a∧a∧−3!1θ3a∧−4!1θ4(a∧)2+…=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∧.
so(3) 实际上就是由所谓的旋转向量组成的空间,而指数映射即罗德里格斯公式。
通过它们,我们把so(3) 中任意一个向量对应到了一个位于$ SO(3) 中的∗∗旋转矩阵∗∗。反之,如果定义对数映射,我们也能把 SO(3) 中的元素对应到\mathfrak{s} \mathfrak{o}(3)$ 中:
ϕ=ln(R)∨=(n=0∑∞n+1(−1)n(R−I)n+1)∨
旋转矩阵的导数可以由旋转向量指定,指导着 如何在旋转矩阵中进行微积分运算。
se(3) 上的指数映射形式如下:
exp(ξ∧)=[∑n=0∞n!1(ϕ∧)n∑n=0∞(n+1)!1(ϕ∧)nρ0T]≜[R0TJρ1]=T.
我们设ϕ=θa
J=θsinθI+(1−θsinθ)aaT+θ1−cosθa∧

李代数求导与扰动模型
BCH公式与近似形式
两个李代数指数映射乘积的完整形式,由 Baker-Campbell-Hausdorff 公式(BCH公式)给出。由于它完整的形式较复杂,我们给出它展开式的前几项:
ln(exp(A)exp(B))=A+B+21[A,B]+121[A,[A,B]]−121[B,[A,B]]+⋯
当 ϕ1 或ϕ2为小量时,小量二次以上的项都可以被忽略掉。此时,BCH 拥有线性近似表达:
ln(exp(ϕ1∧)exp(ϕ2∧))∨≈{Jl(ϕ2)−1ϕ1+ϕ2Jr(ϕ1)−1ϕ2+ϕ1 if ϕ1 is small if ϕ2 is small


SO(3)李代数上的求导
位姿估计相当于是寻找一个最优的$ T$,使得整体误差最小化:
TminJ(T)=i=1∑N∣∣zi−Tpi∣∣22
我们经常会构建与位姿有关的函数,然后讨论该函数关于位姿的导数,以调整当前的估计值。
李代数求导
∂ϕ∂(Rp)=(−Rp)∧Jt
扰动模型(左乘)
∂φ∂(Rp)=φ→0limφexp(φ∧)exp(ϕ∧)p−exp(ϕ∧)p≈φ→0limφ(1+φ∧)exp(ϕ∧)p−exp(ϕ∧)p=φ→0limφφ∧Rp=φ→0limφ−(Rp)∧φ=−(Rp)∧
SE(3)上的李代数求导
∂δξ∂(Tp)=δξ→0limδξexp(δξ∧)exp(ξ∧)p−exp(ξ∧)p≈δξ→0limδξ(I+δξ∧)exp(ξ∧)p−exp(ξ∧)p=δξ→0limδξδξ∧exp(ξ∧)p=δξ→0limδξ[δϕ∧0Tδρ0][Rp+t1]=δξ→0limδξ[δϕ∧(Rp+t)+δρ0]=[I0T−(Rp+t)∧0T]≜(Tp)⊙.