文章目录
李群与李代数
李群与李代数基础
SO(3)和SE(3)对乘法运算构成群
封闭性:代数系
结合律:半群
幺元:幺半群
逆:群
李群
李群是具有连续(光滑)性质的群。
李代数的引出
R
R
T
=
I
RR^T=I
RRT=I
两段求导得
R
˙
(
t
)
R
(
t
)
T
=
−
(
R
˙
(
t
)
R
(
t
)
T
)
T
\dot{R}(t)R(t)^T=-(\dot{R}(t)R(t)^T)^T
R˙(t)R(t)T=−(R˙(t)R(t)T)T
可得
R
˙
(
t
)
R
(
t
)
T
\dot{R}(t)R(t)^T
R˙(t)R(t)T是反对称矩阵
定义
A
∨
=
a
,
s
.
t
.
a
∧
=
A
A^{\vee}=a,s.t.a^{\wedge}=A
A∨=a,s.t.a∧=A
进而有
R
˙
(
t
)
R
(
t
)
T
=
ϕ
(
t
)
∧
\dot{R}(t)R(t)^T=\phi(t)^{\wedge}
R˙(t)R(t)T=ϕ(t)∧
等式两边右乘R(t),可得
R
˙
(
t
)
=
ϕ
(
t
)
∧
R
(
t
)
\dot{R}(t)=\phi(t)^{\wedge}R(t)
R˙(t)=ϕ(t)∧R(t)
考虑
t
0
=
0
,
R
(
0
)
=
I
t_0=0,R(0)=I
t0=0,R(0)=I,有
R
(
t
)
≈
R
(
t
0
)
+
R
˙
(
t
0
)
(
t
−
t
0
)
=
I
+
ϕ
(
t
0
)
∧
t
\begin{aligned} R(t)&\approx R(t_0)+\dot{R}(t_0)(t-t_0)\\ &=I+\phi(t_0)^{\wedge}t \end{aligned}
R(t)≈R(t0)+R˙(t0)(t−t0)=I+ϕ(t0)∧t
在
t
0
t_0
t0附近,设
ϕ
\phi
ϕ保持为常数
ϕ
(
t
0
)
=
ϕ
0
\phi(t0)=\phi_0
ϕ(t0)=ϕ0
则有
R
˙
(
t
)
=
ϕ
0
∧
R
(
t
)
\dot{R}(t)=\phi_0^{\wedge}R(t)
R˙(t)=ϕ0∧R(t)
解得
R
(
t
)
=
exp
(
ϕ
0
∧
t
)
R(t)=\exp(\phi_0^{\wedge}t)
R(t)=exp(ϕ0∧t)
李代数的定义
李代数由一个集合V、一个数域F和一个二元运算组成。
满足如下性质:
- 封闭性
- 双线性
- 自反性
- 雅可比等价
其中二元运算被称为李括号
李代数 s o \mathfrak{so} so(3)
两个向量
ϕ
1
,
ϕ
2
\phi_1,\phi_2
ϕ1,ϕ2的李括号为
[
ϕ
1
,
ϕ
2
]
=
(
Φ
1
Φ
2
−
Φ
2
Φ
1
)
∨
[\phi_1,\phi_2]=(\Phi_1\Phi_2-\Phi_2\Phi_1)^{\vee}
[ϕ1,ϕ2]=(Φ1Φ2−Φ2Φ1)∨
s
o
(
3
)
=
{
ϕ
∈
R
3
,
Φ
=
ϕ
∧
∈
R
3
×
3
}
\mathfrak{so}(3)=\{\phi\in\R^3,\Phi=\phi^{\wedge}\in\R^{3\times 3}\}
so(3)={ϕ∈R3,Φ=ϕ∧∈R3×3}
R
=
exp
(
ϕ
∧
)
R=\exp(\phi^{\wedge})
R=exp(ϕ∧)
李代数 s e \mathfrak{se} se(3)
s
e
(
3
)
=
{
ξ
=
[
ρ
ϕ
]
∈
R
6
,
ρ
∈
R
3
,
ϕ
∈
s
o
(
3
)
,
ξ
∧
=
[
ϕ
∧
ρ
0
T
0
]
∈
R
4
×
4
}
\mathfrak{se}(3)=\{\xi=\begin{bmatrix}\rho\\\phi\end{bmatrix} \in\R^6,\rho\in\R^3,\phi\in \mathfrak{so}(3),\xi^{\wedge}= \begin{bmatrix}\phi^{\wedge} && \rho \\ 0^T && 0\end{bmatrix}\in\R^{4\times 4}\}
se(3)={ξ=[ρϕ]∈R6,ρ∈R3,ϕ∈so(3),ξ∧=[ϕ∧0Tρ0]∈R4×4}
前三维为平移(含义与变换矩阵中的平移不同)
后三维为旋转,是so(3)元素
扩展^符号的含义
se(3)中,使用^符号,将一个六维向量转换成四维矩阵
4.2 指数与对数映射
SO(3)上的指数映射
将
ϕ
\phi
ϕ表示为
θ
a
\theta a
θa
对于
a
⋀
a^{\bigwedge}
a⋀,有两条性质
可得:
即罗德里格斯公式,这表明指数映射将
s
o
(
3
)
\mathfrak{so}(3)
so(3)中的向量映射为了SO(3)中的旋转矩阵。
逆运算为对数映射:
用上文中迹的性质由R计算
θ
\theta
θ和
a
a
a更加方便。
固定旋转角度在
±
π
\pm \pi
±π之间时,指数运算是一个双射。
se(3)上的指数映射
定义
J
=
∑
n
=
0
∞
1
(
n
+
1
)
!
(
ϕ
∧
)
n
J=\sum\limits_{n=0}^{\infty}\frac{1}{(n+1)!}(\phi^{\wedge})^n
J=n=0∑∞(n+1)!1(ϕ∧)n
根据变换矩阵求se(3)上的对应向量
从左上角的R计算旋转向量,而t满足:
t
=
J
ρ
t=J\rho
t=Jρ
总结
李代数求导与扰动模型
BCH公式:
相比标量,两个矩阵的指数之积会产生余项
忽略小量
考虑SO(3)上的李代数
ln
(
exp
(
ϕ
1
)
∧
exp
(
ϕ
2
)
∧
)
∨
\ln(\exp(\phi_1)^{\wedge}\exp(\phi_2)^{\wedge})^{\vee}
ln(exp(ϕ1)∧exp(ϕ2)∧)∨
ϕ
1
或
ϕ
2
\phi_1或\phi_2
ϕ1或ϕ2为小量时,可忽略二次以上的项,即
左乘模型:
右乘模型:
可整理为:
对于se(3),由类似的近似
### SO(3)上的李代数求导
z
=
T
p
+
w
z=Tp+w
z=Tp+w
存在误差
e
=
z
−
T
p
e=z-Tp
e=z−Tp
目标函数
李代数求导
扰动模型(左乘)
SE(3)上的李代数求导
前几步与SO(3)上的扰动模型类似,后几步由于^符号的定义不同而略有不同:
⊙
\odot
⊙算符:
求导顺序规则:
相似变换群与李代数
问题:如果在单目SLAM中使用SE(3)来表示位姿,那么由于尺度不确定性与尺度漂移,整个SLAM过程中的尺度会发生变化,这在SE(3)中未能体现出来。
解决方法:对于位于空间的点p,在相机坐标系下要经过一个相似变换,而非欧氏变换:
尺度s同时作用在p的3个坐标之上,对p进行了一次缩放。
相似变换群
Sim(3)的李代数
s i m ( 3 ) \mathfrak{sim}(3) sim(3)元素是一个7维向量 ζ \zeta ζ。它的前6维与 s e ( 3 ) \mathfrak{se}(3) se(3)相同,最后多了一项 σ \sigma σ。
指数映射
李代数与李群的对应关系
BCH近似
给出扰动模型的结果:
设给予
S
p
Sp
Sp左侧一个小扰动
exp
(
ζ
∧
)
\exp(\zeta^\wedge)
exp(ζ∧),并求
S
p
Sp
Sp对于扰动的导数。因为
S
p
Sp
Sp是4维的齐次坐标,
ζ
\zeta
ζ是7维向量,所以该导数应该是4x7的雅可比。方便起见,记
S
p
Sp
Sp的前3维组成向量为q,那么: