为什要使用?
SLAM中,位姿是未知的,需要求出最符合当前状态的位姿!
因为旋转矩阵本身具有约束的(正交且行列式的值为1),需要通过李群代数把位姿估计变成无约束问题
群
特殊正交群(对乘法是封闭的[即乘法的结果仍属于该集合])
S
O
(
3
)
=
{
R
∈
R
3
×
3
∣
R
R
T
=
I
,
d
e
t
(
R
)
=
1
}
SO(3)=\{R\in R^{3×3}|RR^T=I,det(R)=1\}
SO(3)={R∈R3×3∣RRT=I,det(R)=1}
特殊欧氏群(对乘法是封闭的[即乘法的结果仍属于该集合])
S
E
(
3
)
=
{
T
=
[
R
t
0
T
1
]
T
∈
R
4
×
4
∣
R
∈
S
O
(
3
)
,
t
∈
R
3
}
SE(3)=\{T=\left[\begin{matrix} R&t\\ 0^T&1\\ \end{matrix}\right] T\in R^{4×4}|R \in SO(3 ),t \in R^3\}
SE(3)={T=[R0Tt1]T∈R4×4∣R∈SO(3),t∈R3}
群
定义:一种矩阵的集合加上一种运算的代数结构
- 封闭性: ∀ a 1 , a 2 ∈ A , a 1 ∗ a 2 ∈ A \forall a_1,a_2 \in A,a_1*a_2\in A ∀a1,a2∈A,a1∗a2∈A
- 结合律: ∀ a 1 , a 2 , a 3 ∈ A , ( a 1 ∗ a 2 ) ∗ a 3 = a 1 ∗ ( a 2 ∗ a 3 ) \forall a_1,a_2,a_3 \in A,(a_1*a_2)*a_3=a_1*(a_2*a_3) ∀a1,a2,a3∈A,(a1∗a2)∗a3=a1∗(a2∗a3)
- 幺元: ∃ a 0 ∈ A , s . t : ∀ a ∈ A , a 0 ∗ a = a ∗ a 0 = a \exists a_0\in A,s.t :\forall a \in A,a_0*a=a*a_0=a ∃a0∈A,s.t:∀a∈A,a0∗a=a∗a0=a
- 逆: ∀ a ∈ A , ∃ a − 1 ∈ A , s . t : a ∗ a − 1 = a 0 \forall a \in A,\exists a^{-1}\in A,s.t:a*a^{-1}=a_0 ∀a∈A,∃a−1∈A,s.t:a∗a−1=a0
常见的群:
- 一般线性群 G L ( n ) GL(n) GL(n):n×n可逆矩阵
- 特殊正交群 S O ( n ) SO(n) SO(n):n×n旋转矩阵
- 特殊欧氏群 S E ( n ) SE(n) SE(n):n×n欧氏变换
李群:具有光滑性质的群, S O ( n ) , SO(n), SO(n), S E ( n ) SE(n) SE(n)均为李群
李代数
描述李群的局部性质,李群在某点的正切空间。
定义:由一个集合V、数域F和二元运算[,]构成
- 封闭性: ∀ X , Y ∈ V , [ X , Y ] ∈ V \forall X,Y \in V,[X,Y] \in V ∀X,Y∈V,[X,Y]∈V
- 双线性: ∀ X , Y , Z ∈ V , a , b ∈ F \forall X,Y,Z \in V,a,b \in F ∀X,Y,Z∈V,a,b∈F有: [ a X + b Y , Z ] = a [ X , Z ] + b [ Y , Z ] ; [ X , a Y + b Z ] = a [ X , Y ] + b [ X , Z ] [ aX+bY,Z]=a[X,Z]+b[Y,Z];[X,aY+bZ]=a[X,Y]+b[X,Z] [aX+bY,Z]=a[X,Z]+b[Y,Z];[X,aY+bZ]=a[X,Y]+b[X,Z]
- 自反性: ∀ X ∈ V , [ X , X ] = 0 \forall X \in V,[X,X]=0 ∀X∈V,[X,X]=0
- 雅可比矩阵: ∀ X , Y , Z , ; [ X , [ Y , Z ] ] + [ Y , [ X , Z ] ] + [ Z , [ X , Y ] ] = 0 \forall X,Y,Z,;[X,[Y,Z]]+[Y,[X,Z]]+[Z,[X,Y]]=0 ∀X,Y,Z,;[X,[Y,Z]]+[Y,[X,Z]]+[Z,[X,Y]]=0
李代数
s
o
(
3
)
so(3)
so(3):
定义集合:
Φ
∈
V
,
Φ
=
ϕ
×
=
[
0
−
ϕ
3
ϕ
2
ϕ
3
0
−
ϕ
1
−
ϕ
2
ϕ
1
0
]
∈
R
3
×
3
\Phi \in V,\Phi=\phi ×=\left[\begin{matrix} 0&-\phi_3&\phi_2\\ \phi_3&0&-\phi_1\\ -\phi_2&\phi_1&0\\ \end{matrix}\right] \in R^{3×3}
Φ∈V,Φ=ϕ×=⎣⎡0ϕ3−ϕ2−ϕ30ϕ1ϕ2−ϕ10⎦⎤∈R3×3
定义李括号:
[
ϕ
1
,
ϕ
2
]
=
[
Φ
1
Φ
2
−
Φ
2
Φ
1
]
⋁
[\phi_1,\phi_2]=[\Phi_1\Phi_2-\Phi_2\Phi_1]^{\bigvee}
[ϕ1,ϕ2]=[Φ1Φ2−Φ2Φ1]⋁
数域:
R
3
×
3
R^{3×3}
R3×3
李代数
s
e
(
3
)
se(3)
se(3):
⋁
表
示
矩
阵
对
应
的
向
量
^{\bigvee}表示矩阵对应的向量
⋁表示矩阵对应的向量
s
e
(
3
)
=
{
ξ
=
[
p
ϕ
]
∈
R
6
×
1
,
p
∈
R
3
×
1
,
ϕ
∈
s
o
(
3
)
,
ξ
⋀
=
[
ϕ
×
p
0
T
0
]
∈
R
4
×
4
}
se(3)=\{\xi=\left[\begin{matrix} p\\ \phi\\ \end{matrix}\right] \in R^{6×1},p \in R^{3×1},\phi \in so(3),\xi^{\bigwedge}=\left[\begin{matrix} \phi×&p\\ 0^T&0\\ \end{matrix}\right]\in R^{4×4}\}
se(3)={ξ=[pϕ]∈R6×1,p∈R3×1,ϕ∈so(3),ξ⋀=[ϕ×0Tp0]∈R4×4}
[
ξ
1
,
ξ
2
]
=
(
ξ
1
⋀
ξ
2
⋀
−
ξ
2
⋀
ξ
1
⋀
)
⋁
[\xi_1,\xi_2]=(\xi_1^{\bigwedge}\xi_2^{\bigwedge}-\xi_2^{\bigwedge}\xi_1^{\bigwedge})^{\bigvee}
[ξ1,ξ2]=(ξ1⋀ξ2⋀−ξ2⋀ξ1⋀)⋁
指数与代数映射
s
o
(
3
)
so(3)
so(3)上的映射:
ϕ
=
θ
u
(
θ
=
∣
ϕ
∣
,
∣
u
∣
=
1
)
\phi=\theta u (\theta =|\phi|,|u|=1)
ϕ=θu(θ=∣ϕ∣,∣u∣=1)
s
o
(
3
)
so(3)
so(3)到
S
O
(
3
)
SO(3)
SO(3):
e
ϕ
×
=
e
θ
u
=
∑
n
=
0
∞
1
n
!
(
ϕ
×
)
n
=
c
o
s
θ
+
(
1
−
c
o
s
θ
)
u
u
T
+
s
i
n
(
u
×
)
e^{\phi×}=e^{\theta u}=\sum _{n=0}^{\infty}\frac{1}{n!}(\phi×)^n=cos \theta+(1-cos \theta)uu^T+sin(u×)
eϕ×=eθu=∑n=0∞n!1(ϕ×)n=cosθ+(1−cosθ)uuT+sin(u×)
S
O
(
3
)
SO(3)
SO(3)到
s
o
(
3
)
so(3)
so(3):
ϕ
=
l
n
(
R
)
∨
=
(
∑
n
=
0
∞
(
−
1
)
n
n
+
1
(
R
−
I
)
n
+
1
)
\phi=ln(R)^{\vee}=(\sum_{n=0}^{\infty}\frac{(-1)^n}{n+1}(R-I)^{n+1})
ϕ=ln(R)∨=(∑n=0∞n+1(−1)n(R−I)n+1)
或:
θ
=
a
r
c
c
o
s
t
r
(
R
)
−
1
2
,
R
a
=
a
\theta=arccos\frac{tr(R)-1}{2},Ra=a
θ=arccos2tr(R)−1,Ra=a
s
e
(
3
)
se(3)
se(3)上的映射:
s
e
(
3
)
se(3)
se(3)到
S
E
(
3
)
SE(3)
SE(3):
e
ξ
×
=
[
R
J
p
0
T
1
]
=
[
∑
n
=
0
∞
1
n
!
∑
n
=
0
∞
1
(
n
+
1
)
!
(
ϕ
×
)
n
p
0
T
1
]
e^{\xi×}=\left[\begin{matrix} R&Jp\\ 0^T&1\\ \end{matrix}\right]=\left[\begin{matrix} \sum^{\infty}_{n=0}\frac{1}{n!}&\sum_{n=0}^\infty\frac{1}{(n+1)!}(\phi×)^np\\ 0^T&1\\ \end{matrix}\right]
eξ×=[R0TJp1]=[∑n=0∞n!10T∑n=0∞(n+1)!1(ϕ×)np1]
J
=
s
i
n
θ
θ
I
+
(
1
−
s
i
n
θ
θ
)
u
u
T
+
1
−
c
o
s
θ
θ
a
×
J=\frac{sin\theta}{\theta}I+(1-\frac{sin \theta}{\theta})uu^T+\frac{1-cos\theta}{\theta}a×
J=θsinθI+(1−θsinθ)uuT+θ1−cosθa×
S
E
(
3
)
SE(3)
SE(3)到
s
e
(
3
)
se(3)
se(3):
θ
=
a
r
c
c
o
s
t
r
(
R
)
−
1
2
,
R
u
=
u
,
t
=
J
p
\theta=arccos\frac{tr(R)-1}{2},Ru=u,t=Jp
θ=arccos2tr(R)−1,Ru=u,t=Jp