视觉SLAM十四讲笔记-4-2
文章目录
4.3 李代数求导与扰动模型
4.3.1 BCH公式与近似形式
使用李代数形式的一大动机是进行优化,而在优化过程中导数是非常必要的信息。
在上一节中已经知道了
S
O
(
3
)
SO(3)
SO(3) 和
S
E
(
3
)
SE(3)
SE(3) 上李群和李代数关系,但是,当在
S
O
(
3
)
SO(3)
SO(3) 中完成两个矩阵乘法时,李代数中
s
o
(
3
)
so(3)
so(3) 发生了什么改变尼?
当
s
o
(
3
)
so(3)
so(3) 上做两个李代数的加法时,
S
O
(
3
)
SO(3)
SO(3)上是否对应着两个矩阵的乘积?
即:
exp
(
ϕ
1
∧
)
exp
(
ϕ
2
∧
)
=
exp
(
(
ϕ
1
+
ϕ
2
)
∧
)
?
\exp \left(\phi_{1}^{\wedge}\right) \exp \left(\phi_{2}^{\wedge}\right)=\exp \left(\left(\phi_{1}+\phi_{2}\right)^{\wedge}\right) ?
exp(ϕ1∧)exp(ϕ2∧)=exp((ϕ1+ϕ2)∧)?
很遗憾,矩阵的指数函数的乘积不等于矩阵加法后的指数函数。上式不成立。
两个李代数指数映射乘积的完整形式,由 Baker-Campbell Hausdorff (BCH) 公式给出。由于其完整形式太过复杂,这里只给出其展开形式的前几项:
ln
(
exp
(
A
)
exp
(
B
)
)
=
A
+
B
+
1
2
[
A
,
B
]
+
1
12
[
A
,
[
A
,
B
]
]
−
1
12
[
B
,
[
A
,
B
]
]
+
⋯
\ln (\exp (\boldsymbol{A}) \exp (\boldsymbol{B}))=\boldsymbol{A}+\boldsymbol{B}+\frac{1}{2}[\boldsymbol{A}, \boldsymbol{B}]+\frac{1}{12}[\boldsymbol{A},[\boldsymbol{A}, \boldsymbol{B}]]-\frac{1}{12}[\boldsymbol{B},[\boldsymbol{A}, \boldsymbol{B}]]+\cdots
ln(exp(A)exp(B))=A+B+21[A,B]+121[A,[A,B]]−121[B,[A,B]]+⋯
其中 [] 为李括号。从 BCH 可以看出,当处理两个矩阵指数之积时,它们会产生一些由李括号组成的余项。特别地,考虑
S
O
(
3
)
SO(3)
SO(3) 上的李代数
ln
(
exp
(
ϕ
1
∧
)
exp
(
ϕ
2
∧
)
)
∨
\ln \left(\exp \left(\phi_{1}^{\wedge}\right) \exp \left(\phi_{2}^{\wedge}\right)\right)^{\vee}
ln(exp(ϕ1∧)exp(ϕ2∧))∨,当
ϕ
1
\phi_1
ϕ1 或者
ϕ
2
\phi_2
ϕ2 为小量时,小量二次以上的项都可以忽略。此时,BCH 拥有线性近似表达:
ln
(
exp
(
ϕ
1
∧
)
exp
(
ϕ
2
∧
)
)
∨
≈
{
J
l
(
ϕ
2
)
−
1
ϕ
1
+
ϕ
2
if
ϕ
1
is small
J
r
(
ϕ
1
)
−
1
ϕ
2
+
ϕ
1
if
ϕ
2
is small.
\ln \left(\exp \left(\phi_{1}^{\wedge}\right) \exp \left(\phi_{2}^{\wedge}\right)\right)^{\vee} \approx \begin{cases}\boldsymbol{J}_{l}\left(\phi_{2}\right)^{-1} \phi_{1}+\phi_{2} & \text { if } \phi_{1} \text { is small } \\ \boldsymbol{J}_{r}\left(\phi_{1}\right)^{-1} \phi_{2}+\phi_{1} & \text { if } \phi_{2} \text { is small. }\end{cases}
ln(exp(ϕ1∧)exp(ϕ2∧))∨≈{Jl(ϕ2)−1ϕ1+ϕ2Jr(ϕ1)−1ϕ2+ϕ1 if ϕ1 is small if ϕ2 is small.
以第一个近似为例。当对一个旋转矩阵
R
2
R_{2}
R2 (李代数为
ϕ
2
\phi_2
ϕ2) 左乘一个微小的旋转矩阵
R
1
R_1
R1 (李代数为
ϕ
1
\phi_1
ϕ1) 时,可以近似地看作,在原有的李代数
ϕ
2
\phi_2
ϕ2 上加上了一项
J
1
(
ϕ
2
)
−
1
ϕ
1
J_1(\phi_2)^{-1}\phi_1
J1(ϕ2)−1ϕ1。同理,第二个近似描述了右乘一个微小位移的情况。于是,李代数在 BCH 近似下,分成了左乘和右乘近似两种,在使用时必须注意使用的是左乘模型和右乘模型。
本书以左乘为例,左乘 BCH 近似雅克比
J
l
J_l
Jl 事实上就是就是:
J
l
=
J
=
sin
θ
θ
I
+
(
1
−
sin
θ
θ
)
a
a
T
+
1
−
cos
θ
θ
a
∧
\boldsymbol{J}_{l}=\boldsymbol{J}=\frac{\sin \theta}{\theta} \boldsymbol{I}+\left(1-\frac{\sin \theta}{\theta}\right) \boldsymbol{a} \boldsymbol{a}^{T}+\frac{1-\cos \theta}{\theta} \boldsymbol{a}^{\wedge}
Jl=J=θsinθI+(1−θsinθ)aaT+θ1−cosθa∧
它的逆为:
J
l
−
1
=
θ
2
cot
θ
2
I
+
(
1
−
θ
2
cot
θ
2
)
a
a
T
−
θ
2
a
∧
\boldsymbol{J}_{l}^{-1}=\frac{\theta}{2} \cot \frac{\theta}{2} \boldsymbol{I}+\left(1-\frac{\theta}{2} \cot \frac{\theta}{2}\right) \boldsymbol{a a ^ { T }}-\frac{\theta}{2} \boldsymbol{a}^{\wedge}
Jl−1=2θcot2θI+(1−2θcot2θ)aaT−2θa∧
而右乘雅克比仅需要对自变量取负号即可:
J
r
(
ϕ
)
=
J
l
(
−
ϕ
)
\boldsymbol{J}_{r}(\phi)=\boldsymbol{J}_{l}(-\phi)
Jr(ϕ)=Jl(−ϕ)
这样就可以谈论李群乘法与李代数加法的关系了。
为了方便理解,重新叙述一下 BCH 近似的意义。假定对某个旋转
R
R
R,对应的李代数为
ϕ
\phi
ϕ,给它左乘一个微小旋转,记为
Δ
R
\Delta R
ΔR,对应的李代数为
Δ
ϕ
\Delta \phi
Δϕ。那么在李群上得到的结果就是
Δ
R
.
R
\Delta R. R
ΔR.R,而在李代数上,根据 BCH 近似,为
J
l
−
1
(
ϕ
)
Δ
ϕ
+
ϕ
J_l^{-1}(\phi)\Delta \phi + \phi
Jl−1(ϕ)Δϕ+ϕ。
exp
(
Δ
ϕ
∧
)
exp
(
ϕ
∧
)
=
exp
(
(
ϕ
+
J
l
−
1
(
ϕ
)
Δ
ϕ
)
∣
∧
)
\exp \left(\Delta \phi^{\wedge}\right) \exp \left(\phi^{\wedge}\right)=\exp \left(\left.\left(\phi+J_{l}^{-1}(\phi) \Delta \phi\right)\right|^{\wedge}\right)
exp(Δϕ∧)exp(ϕ∧)=exp((ϕ+Jl−1(ϕ)Δϕ)∣∣∧)
反之,如果在李代数上进行加法,让一个
ϕ
\phi
ϕ 加上一个
Δ
ϕ
\Delta \phi
Δϕ,那么可以近似为李群上带左右雅克比的乘法:
exp
(
(
ϕ
+
Δ
ϕ
)
∧
)
=
exp
(
(
J
l
Δ
ϕ
)
∧
)
exp
(
ϕ
∧
)
=
exp
(
ϕ
∧
)
exp
(
(
J
r
Δ
ϕ
)
∧
)
\exp \left((\boldsymbol{\phi}+\Delta \boldsymbol{\phi})^{\wedge}\right)=\exp \left(\left(\boldsymbol{J}_{l} \Delta \boldsymbol{\phi}\right)^{\wedge}\right) \exp \left(\boldsymbol{\phi}^{\wedge}\right)=\exp \left(\boldsymbol{\phi}^{\wedge}\right) \exp \left(\left(\boldsymbol{J}_{r} \Delta \boldsymbol{\phi}\right)^{\wedge}\right)
exp((ϕ+Δϕ)∧)=exp((JlΔϕ)∧)exp(ϕ∧)=exp(ϕ∧)exp((JrΔϕ)∧)
这样就为之后李代数上做微积分提供了理论基础。同样地,对于
S
E
(
3
)
SE(3)
SE(3),也有类似的 BCH 近似:
exp
(
Δ
ξ
∧
)
exp
(
ξ
∧
)
≈
exp
(
(
J
l
−
1
Δ
ξ
+
ξ
)
∧
)
exp
(
ξ
∧
)
exp
(
Δ
ξ
∧
)
≈
exp
(
(
J
r
−
1
Δ
ξ
+
ξ
)
∧
)
\begin{aligned} &\exp \left(\Delta \boldsymbol{\xi}^{\wedge}\right) \exp \left(\boldsymbol{\xi}^{\wedge}\right) \approx \exp \left(\left(\mathcal{J}_{l}^{-1} \Delta \boldsymbol{\xi}+\boldsymbol{\xi}\right)^{\wedge}\right) \\ &\exp \left(\boldsymbol{\xi}^{\wedge}\right) \exp \left(\Delta \boldsymbol{\xi}^{\wedge}\right) \approx \exp \left(\left(\mathcal{J}_{r}^{-1} \Delta \boldsymbol{\xi}+\boldsymbol{\xi}\right)^{\wedge}\right) \end{aligned}
exp(Δξ∧)exp(ξ∧)≈exp((Jl−1Δξ+ξ)∧)exp(ξ∧)exp(Δξ∧)≈exp((Jr−1Δξ+ξ)∧)
这里
J
l
\mathcal{J}_{l}
Jl 形式比较复杂,它是一个 6 * 6 的矩阵。这里先不介绍其具体形式。
4.3.2 SO(3)上的李代数求导
根据一个实际问题讨论一个带有李代数的函数以及关于该李代数求导的问题。
在 SLAM 中,要估计一个相机的位置和姿态,该位姿是由
S
O
(
3
)
SO(3)
SO(3) 上的旋转矩阵或者
S
E
(
3
)
SE(3)
SE(3) 上的变换矩阵来描述的。不妨设某个时刻机器人的位姿为
T
T
T。它观察到了一个世界坐标系位于
p
p
p 的点,产生了一个观测数据
z
z
z。那么,由坐标变换得:
z
=
T
p
+
w
z = Tp + w
z=Tp+w
w
w
w 为随机噪声。由于它的存在,
z
z
z 往往不能精确地满足
z
=
T
p
z = Tp
z=Tp 的关系。所以,通常会计算理想的观测与实际数据的误差:(理想的观测是
T
p
Tp
Tp,而实际的观测为
z
z
z)
e
=
z
−
T
p
e = z - Tp
e=z−Tp
假设一共有
N
N
N 个观测点,于是就有
N
N
N 个上面的式子。那么,对于机器人进行位姿估计,相当于寻找一个最优的
T
T
T,使得整体误差最小化:
m
i
n
T
J
(
T
)
=
∑
i
=
1
N
∥
z
i
−
T
p
i
∥
2
2
min_T J(T) = \sum_{i=1}^{N}\left \| z_i - Tp_i \right \| _2 ^2
minTJ(T)=i=1∑N∥zi−Tpi∥22
而求解此问题,需要计算目标函数 $ J(T)$ 关于变换矩阵
T
T
T 的导数。 具体的算法留到后面再讲。这里的重点是, 通常会构建与位姿相关的函数,然后讨论该函数关于位姿的导数,一调整当前的估计值。
然而,
S
O
(
3
)
SO(3)
SO(3) 或者
S
E
(
3
)
SE(3)
SE(3) 上并没有良好定义的加法,它们只是群。如果把
T
T
T 当成一个普通矩阵来处理优化,就必须加以约束。而从李代数角度来说,由于李代数由向量构成,具有良好的加法运算,因此,使用李代数解决求导问题的思路分为两种:
1.用李代数表示姿态,然后根据李代数加法对李代数就行求导;
2.对李群左乘或者右乘微小扰动,然后对该扰动就行求导,称为左扰动或右扰动模型。
第一种形式对应李代数的求导模型,而第二种则对应到扰动模型。
4.3.3 李代数求导
首先,考虑
S
O
(
3
)
SO(3)
SO(3) 上的情况,假设对于一个空间点
p
p
p 进行了旋转,得到了
R
p
Rp
Rp。现在要计算旋转之后点的坐标相对于旋转的导数,可以记为:
∂
(
R
p
)
∂
R
\frac{\partial (Rp)}{\partial R}
∂R∂(Rp)
由于
S
O
(
3
)
SO(3)
SO(3) 没有加法,所以该导数无法按照导数的定义进行计算。设
R
R
R 对应的李代数为
ϕ
\phi
ϕ,转而计算:
∂
(
e
x
p
(
ϕ
∧
)
p
)
∂
ϕ
\frac{\partial (exp(\phi^\wedge)p)}{\partial \phi}
∂ϕ∂(exp(ϕ∧)p)
按照导数的定义,有:
∂
(
exp
(
ϕ
∧
)
p
)
∂
ϕ
=
lim
δ
ϕ
→
0
exp
(
(
ϕ
+
δ
ϕ
)
∧
)
p
−
exp
(
ϕ
∧
)
p
δ
ϕ
=
lim
δ
ϕ
→
0
exp
(
(
J
l
δ
ϕ
)
∧
)
exp
(
ϕ
∧
)
p
−
exp
(
ϕ
∧
)
p
δ
ϕ
≈
lim
δ
ϕ
→
0
(
I
+
(
J
l
δ
ϕ
)
∧
)
exp
(
ϕ
∧
)
p
−
exp
(
ϕ
∧
)
p
δ
ϕ
=
lim
δ
ϕ
→
0
(
J
l
δ
ϕ
)
∧
exp
(
ϕ
∧
)
p
δ
ϕ
=
lim
δ
ϕ
→
0
−
(
exp
(
ϕ
∧
)
p
)
∧
J
l
δ
ϕ
δ
ϕ
=
−
(
R
p
)
∧
J
l
\begin{aligned} \frac{\partial\left(\exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}\right)}{\partial \boldsymbol{\phi}} &=\lim _{\delta \boldsymbol{\phi} \rightarrow 0} \frac{\exp \left((\boldsymbol{\phi}+\delta \boldsymbol{\phi})^{\wedge}\right) \boldsymbol{p}-\exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\phi}} \\ &=\lim _{\delta \boldsymbol{\phi} \rightarrow 0} \frac{\exp \left(\left(\boldsymbol{J}_{l} \delta \boldsymbol{\phi}\right)^{\wedge}\right) \exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}-\exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\phi}} \\ & \approx \lim _{\delta \boldsymbol{\phi} \rightarrow 0} \frac{\left(\boldsymbol{I}+\left(\boldsymbol{J}_{l} \delta \boldsymbol{\phi}\right)^{\wedge}\right) \exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}-\exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\phi}} \\ &=\lim _{\delta \boldsymbol{\phi} \rightarrow 0} \frac{\left(\boldsymbol{J}_{l} \delta \boldsymbol{\phi}\right)^{\wedge} \exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\phi}} \\ &=\lim _{\delta \boldsymbol{\phi} \rightarrow 0} \frac{-\left(\exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}\right)^{\wedge} \boldsymbol{J}_{l} \delta \boldsymbol{\phi}}{\delta \boldsymbol{\phi}}=-(\boldsymbol{R} \boldsymbol{p})^{\wedge} \boldsymbol{J}_{l} \end{aligned}
∂ϕ∂(exp(ϕ∧)p)=δϕ→0limδϕexp((ϕ+δϕ)∧)p−exp(ϕ∧)p=δϕ→0limδϕexp((Jlδϕ)∧)exp(ϕ∧)p−exp(ϕ∧)p≈δϕ→0limδϕ(I+(Jlδϕ)∧)exp(ϕ∧)p−exp(ϕ∧)p=δϕ→0limδϕ(Jlδϕ)∧exp(ϕ∧)p=δϕ→0limδϕ−(exp(ϕ∧)p)∧Jlδϕ=−(Rp)∧Jl
其中,第 2 行为 4.3.1 中 BCH 线性近似,第 3 行为泰勒展开舍去高阶项后的近似(由于取了极限,可以写等号),第 4 行到第 5 行将反对称符号看做叉积,交换之后变号。于是,推导出旋转之后的点相对于李代数的导数:
∂
(
R
p
)
∂
ϕ
=
(
−
R
p
)
∧
J
l
\frac{\partial (Rp)}{\partial \phi} = (-Rp)^\wedge J_l
∂ϕ∂(Rp)=(−Rp)∧Jl
这里求导中仍然包含形式比较复杂的
J
l
J_l
Jl,而计算它太麻烦,因此不希望计算它。下面的扰动模型则提供了更简单的导数计算公式。
4.3.4 扰动模型(左乘)
另外一种求导方式是对
R
R
R 进行一次扰动
Δ
R
\Delta R
ΔR,看结果相对于扰动的变化率。这个扰动可以左乘或者右乘,最后结果会有一点微小的差异。这里以左乘为例,设左扰动
Δ
R
\Delta R
ΔR 对应的李代数为
φ
\varphi
φ 。然后对
φ
\varphi
φ 求导,即:
∂
(
R
p
)
∂
φ
=
lim
φ
→
0
exp
(
φ
∧
)
exp
(
ϕ
∧
)
p
−
exp
(
ϕ
∧
)
p
φ
≈
lim
φ
→
0
(
1
+
φ
∧
)
exp
(
ϕ
∧
)
p
−
exp
(
ϕ
∧
)
p
φ
=
lim
φ
→
0
φ
∧
R
p
φ
=
lim
φ
→
0
−
(
R
p
)
∧
φ
φ
=
−
(
R
p
)
∧
\begin{aligned} \frac{\partial(\boldsymbol{R} \boldsymbol{p})}{\partial \boldsymbol{\varphi}} &=\lim _{\boldsymbol{\varphi} \rightarrow 0} \frac{\exp \left(\boldsymbol{\varphi}^{\wedge}\right) \exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}-\exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}}{\boldsymbol{\varphi}} \\ & \approx \lim _{\boldsymbol{\varphi} \rightarrow 0} \frac{\left(1+\boldsymbol{\varphi}^{\wedge}\right) \exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}-\exp \left(\boldsymbol{\phi}^{\wedge}\right) \boldsymbol{p}}{\boldsymbol{\varphi}} \\ &=\lim _{\boldsymbol{\varphi} \rightarrow 0} \frac{\boldsymbol{\varphi}^{\wedge} \boldsymbol{R} \boldsymbol{p}}{\varphi}=\lim _{\boldsymbol{\varphi} \rightarrow 0} \frac{-(\boldsymbol{R} \boldsymbol{p})^{\wedge} \boldsymbol{\varphi}}{\varphi}=-(\boldsymbol{R} \boldsymbol{p})^{\wedge} \end{aligned}
∂φ∂(Rp)=φ→0limφexp(φ∧)exp(ϕ∧)p−exp(ϕ∧)p≈φ→0limφ(1+φ∧)exp(ϕ∧)p−exp(ϕ∧)p=φ→0limφφ∧Rp=φ→0limφ−(Rp)∧φ=−(Rp)∧
可见,相比于直接对李代数求导,省去了一个雅克比矩阵
J
J
J 的计算。这使得扰动模型更为实用。这里的求导运算很重要,在位姿估计中具有重要的意义。
4.3.5 SE(3)上的李代数求导
S
E
(
3
)
SE(3)
SE(3) 上的李代数求导就不再介绍了。这里直接给出
S
E
(
3
)
SE(3)
SE(3) 上的扰动模型。
假设某空间点
p
p
p 经过一次变换
T
T
T(对应的李代数为
ξ
\xi
ξ),得到
T
p
Tp
Tp。现在给
T
T
T 左乘一个扰动
Δ
T
=
e
x
p
(
δ
ξ
∧
)
\Delta T = exp(\delta \xi ^\wedge )
ΔT=exp(δξ∧)。设扰动项的李代数为
δ
ξ
=
[
δ
ρ
,
δ
ϕ
]
T
\delta \xi = [\delta \rho ,\delta \phi]^T
δξ=[δρ,δϕ]T,那么:
∂
(
T
p
)
∂
δ
ξ
=
lim
δ
ξ
→
0
exp
(
δ
ξ
∧
)
exp
(
ξ
∧
)
p
−
exp
(
ξ
∧
)
p
δ
ξ
≈
lim
δ
ξ
→
0
(
I
+
δ
ξ
∧
)
exp
(
ξ
∧
)
p
−
exp
(
ξ
∧
)
p
δ
ξ
=
lim
δ
ξ
→
0
δ
ξ
∧
exp
(
ξ
∧
)
p
δ
ξ
=
lim
δ
ξ
→
0
[
δ
ϕ
∧
δ
ρ
0
T
0
]
[
R
p
+
t
1
]
δ
ξ
=
lim
δ
ξ
→
0
[
δ
ϕ
∧
(
R
p
+
t
)
+
δ
ρ
0
]
δ
ξ
=
[
I
−
(
R
p
+
t
)
∧
0
T
0
T
]
≜
(
T
p
)
⊙
\begin{aligned} &\frac{\partial(\boldsymbol{T} \boldsymbol{p})}{\partial \delta \boldsymbol{\xi}}=\lim _{\delta \boldsymbol{\xi} \rightarrow \mathbf{0}} \frac{\exp \left(\delta \boldsymbol{\xi}^{\wedge}\right) \exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}-\exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\xi}}\\ &\approx \lim _{\delta \boldsymbol{\xi} \rightarrow \mathbf{0}} \frac{\left(\boldsymbol{I}+\delta \boldsymbol{\xi}^{\wedge}\right) \exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}-\exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\xi}}\\ &=\lim _{\delta \boldsymbol{\xi} \rightarrow \mathbf{0}} \frac{\delta \boldsymbol{\xi}^{\wedge} \exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\xi}}\\ &=\lim _{\delta \xi \rightarrow 0} \frac{\left[\begin{array}{cc} \delta \boldsymbol{\phi}^{\wedge} & \delta \boldsymbol{\rho} \\ \mathbf{0}^{T} & 0 \end{array}\right]\left[\begin{array}{c} \boldsymbol{R} \boldsymbol{p}+\boldsymbol{t} \\ 1 \end{array}\right]}{\delta \boldsymbol{\xi}}\\ &=\lim _{\delta \boldsymbol{\xi} \rightarrow \mathbf{0}} \frac{\left[\begin{array}{c} \delta \boldsymbol{\phi}^{\wedge}(\boldsymbol{R} \boldsymbol{p}+\boldsymbol{t})+\delta \boldsymbol{\rho} \\ 0 \end{array}\right]}{\delta \boldsymbol{\xi}}=\left[\begin{array}{cc} \boldsymbol{I} & -(\boldsymbol{R} \boldsymbol{p}+\boldsymbol{t})^{\wedge} \\ \mathbf{0}^{T} & \mathbf{0}^{T} \end{array}\right] \triangleq(\boldsymbol{T} \boldsymbol{p})^{\odot} \end{aligned}
∂δξ∂(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)⊙
矩阵求导方面的顺序,假设
a
,
b
,
x
,
y
a,b,x,y
a,b,x,y 都是列向量,那么有如下规则:
d
[
a
b
]
d
[
x
y
]
=
[
d
[
a
,
b
]
T
d
[
x
y
]
]
T
=
[
d
a
d
x
d
b
d
x
d
a
d
y
d
b
d
y
]
T
=
[
d
a
d
x
d
a
d
y
d
b
d
x
d
b
d
y
]
\frac{d\begin{bmatrix} a\\ b \end{bmatrix}}{d\begin{bmatrix} x\\ y \end{bmatrix}} = \left [ \frac{d[a,b]^T}{d\begin{bmatrix} x \\ y \end{bmatrix}} \right ] ^T = \begin{bmatrix} \frac{da}{dx} & \frac{db}{dx}\\ \frac{da}{dy} &\frac{db}{dy} \end{bmatrix}^T = \begin{bmatrix} \frac{da}{dx} & \frac{da}{dy}\\ \frac{db}{dx} & \frac{db}{dy} \end{bmatrix}
d[xy]d[ab]=⎣⎢⎢⎡d[xy]d[a,b]T⎦⎥⎥⎤T=[dxdadydadxdbdydb]T=[dxdadxdbdydadydb]
至此,已经介绍了李群和李代数上的微分运算,在之后的章节中,将运用这些知识解决实际问题。