中秋抽时间混囵吞枣看了slam 14讲的前一半,稍微记录下.
假设一个单位正交基
(
e
1
,
e
2
,
e
3
)
\left(e_1, e_2, e_3\right)
(e1,e2,e3)经过旋转变成了
(
e
1
′
,
e
2
′
,
e
3
′
)
\left(e_1^{\prime}, e_2^{\prime}, e_3^{\prime}\right)
(e1′,e2′,e3′), 那么对于一个向量a有如下关系。
[
e
1
,
e
2
,
e
3
]
[
a
1
a
2
a
3
]
=
[
e
1
′
,
e
2
′
,
e
3
′
]
[
a
1
′
a
2
′
a
3
′
]
\left[\boldsymbol{e}_1, \boldsymbol{e}_2, \boldsymbol{e}_3\right]\left[
两边同时左乘
[
e
1
T
e
2
T
e
3
T
]
\left[
有:
[
a
1
a
2
a
3
]
=
[
e
1
T
e
1
′
e
1
T
e
2
′
e
1
T
e
3
′
e
2
T
e
1
′
e
2
T
e
2
′
e
2
T
e
3
′
e
3
T
e
1
′
e
3
T
e
2
′
e
3
T
e
3
′
]
[
a
1
′
a
2
′
a
3
′
]
≜
R
a
′
\left[
这里就能得到坐标系的旋转矩阵R。
旋转矩阵
旋转矩阵是一个行列式位1的正交矩阵, 用公式来描述就是:
SO
(
n
)
=
{
R
∈
R
n
×
n
∣
R
R
T
=
I
,
det
(
R
)
=
1
}
\operatorname{SO}(n)=\left\{\boldsymbol{R} \in \mathbb{R}^{n \times n} \mid \boldsymbol{R} \boldsymbol{R}^{\mathrm{T}}=\boldsymbol{I}, \operatorname{det}(\boldsymbol{R})=1\right\}
SO(n)={R∈Rn×n∣RRT=I,det(R)=1}
这里的SO(n)是特殊正交群(Special Orthogonal Group)的缩写, 对于二维平面上的旋转位SO(2), 三维空间中的旋转这是SO(3).
变换矩阵T
类似的, 对于同时包含旋转和平移的矩阵我们成为变换矩阵, 三维空间的变换矩阵又称为特殊欧式群(SE(3)).
S
E
(
3
)
=
{
T
=
[
R
t
0
T
1
]
∈
R
4
×
4
∣
R
∈
S
O
(
3
)
,
t
∈
R
3
}
\mathrm{SE}(3)=\left\{\boldsymbol{T}=\left[
使用包含旋转矩阵的优化问题时, 直接求解旋转矩阵则是一个带约束的优化问题(满足求出来的矩阵时正交的,而且行列式位1)这是很难的, 但是用李代数表示时,则是一个无约束的优化问题, 更加的简单, 这也就是为啥slam要学习李代数。
如果使用一阶梯度近似(最速下降法)
二阶近似(牛顿法)有:
求右侧等式的导数为0处有: