IMU预积分推导系列文章
IMU预积分推导(一)
IMU预积分推导(二)
IMU预积分推导(三)
4、零偏更新对预积分观测量的影响
在前面的噪声分离和误差传播过程中,假设了第
i
i
i时刻陀螺仪零偏
b
g
,
i
\mathbf{b}_{g,i}
bg,i加速度计零偏
b
a
,
i
\mathbf{b}_{a,i}
ba,i是固定的,但实际上零偏作为优化变量是不断更新的。第
i
i
i时刻,假设更新前加速度计和陀螺仪零偏的值分别为
b
g
,
i
\mathbf{b}_{g,i}
bg,i和
b
a
,
i
\mathbf{b}_{a,i}
ba,i,更新小量分别用
δ
b
a
,
i
\delta\mathbf{b}_{a,i}
δba,i和
δ
b
g
,
i
\delta\mathbf{b}_{g,i}
δbg,i表示,更新后的零偏仍用
b
g
,
i
\mathbf{b}_{g,i}
bg,i和
b
a
,
i
\mathbf{b}_{a,i}
ba,i表示
b
g
,
i
←
b
g
,
i
+
δ
b
g
,
i
b
a
,
i
←
b
a
,
i
+
δ
b
a
,
i
\mathbf{b}_{g,i}\leftarrow\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i}\\ \mathbf{b}_{a,i}\leftarrow\mathbf{b}_{a,i}+\delta\mathbf{b}_{a,i}
bg,i←bg,i+δbg,iba,i←ba,i+δba,i
理论上,零偏更新后,预积分观测量应该按
(
3
)
(3)
(3)重新计算,才能得到预积分测量值的修正
Δ
R
~
i
j
,
Δ
v
~
i
j
,
Δ
p
~
i
j
\Delta\tilde{\mathbf{R}}_{ij},\Delta\tilde{\mathbf{v}}_{ij},\Delta\tilde{\mathbf{p}}_{ij}
ΔR~ij,Δv~ij,Δp~ij。但这种方式计算代价过大,可以将预积分观测量看成零偏的函数,当零偏更新之后,通过一阶泰勒展开在原先预积分观测量的基础上进行修正,即
Δ
R
~
i
j
(
b
g
,
i
+
δ
b
g
,
i
)
=
E
x
p
(
L
o
g
(
Δ
R
~
i
j
(
b
g
,
i
+
δ
b
g
,
i
)
)
)
≈
E
x
p
(
L
o
g
(
Δ
R
~
i
j
(
b
g
,
i
)
)
+
∂
L
o
g
(
Δ
R
~
i
j
(
b
g
,
i
)
)
∂
b
g
,
i
∣
b
g
,
i
δ
b
g
,
i
)
=
Δ
R
~
i
j
(
b
g
,
i
)
E
x
p
(
J
r
(
L
o
g
(
Δ
R
~
i
j
(
b
g
,
i
)
)
)
∂
L
o
g
(
Δ
R
~
i
j
(
b
g
,
i
)
)
∂
b
g
,
i
∣
b
g
,
i
δ
b
g
,
i
)
=
Δ
R
~
i
j
(
b
g
,
i
)
E
x
p
(
∂
Δ
R
~
i
j
∂
b
g
,
i
δ
b
g
,
i
)
\begin{align*} \Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i})&=\mathrm{Exp}(\mathrm{Log}(\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i})))\\ &\approx\mathrm{Exp}(\mathrm{Log}(\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i}))+\left.\frac{\partial\mathrm{Log}(\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i}))}{\partial\mathbf{b}_{g,i}}\right|_{\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i})\\ &=\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i})\mathrm{Exp}(\mathbf{J}_{r}(\mathrm{Log}(\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i})))\left.\frac{\partial\mathrm{Log}(\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i}))}{\partial\mathbf{b}_{g,i}}\right|_{\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i})\\ &=\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i})\mathrm{Exp}\left(\frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}\right)\tag{17a} \end{align*}
ΔR~ij(bg,i+δbg,i)=Exp(Log(ΔR~ij(bg,i+δbg,i)))≈Exp(Log(ΔR~ij(bg,i))+∂bg,i∂Log(ΔR~ij(bg,i))
bg,iδbg,i)=ΔR~ij(bg,i)Exp(Jr(Log(ΔR~ij(bg,i)))∂bg,i∂Log(ΔR~ij(bg,i))
bg,iδbg,i)=ΔR~ij(bg,i)Exp(∂bg,i∂ΔR~ijδbg,i)(17a)
为简便起见,此处记
∂
Δ
R
~
i
j
∂
b
g
,
i
=
J
r
(
L
o
g
(
Δ
R
~
i
j
(
b
g
,
i
)
)
)
∂
L
o
g
(
Δ
R
~
i
j
(
b
g
,
i
)
)
∂
b
g
,
i
∣
b
g
,
i
\frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}}=\mathbf{J}_{r}(\mathrm{Log}(\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i})))\left.\frac{\partial\mathrm{Log}(\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i}))}{\partial\mathbf{b}_{g,i}}\right|_{\mathbf{b}_{g,i}}
∂bg,i∂ΔR~ij=Jr(Log(ΔR~ij(bg,i)))∂bg,i∂Log(ΔR~ij(bg,i))
bg,i
Δ
v
~
i
j
(
b
g
,
i
+
δ
b
g
,
i
,
b
a
,
i
+
δ
b
a
,
i
)
≈
Δ
v
~
i
j
(
b
g
,
i
,
b
a
,
i
)
+
∂
Δ
v
~
i
j
(
b
g
,
i
,
b
a
,
i
)
∂
b
g
,
i
∣
b
g
,
i
,
b
a
,
i
δ
b
g
,
i
+
∂
Δ
v
~
i
j
(
b
g
,
i
,
b
a
,
i
)
∂
b
a
,
i
∣
b
g
,
i
,
b
a
,
i
δ
b
a
,
i
=
Δ
v
~
i
j
(
b
g
,
i
,
b
a
,
i
)
+
∂
Δ
v
~
i
j
∂
b
g
,
i
δ
b
g
,
i
+
∂
Δ
v
~
i
j
∂
b
a
,
i
δ
b
a
,
i
Δ
p
~
i
j
(
b
g
,
i
+
δ
b
g
,
i
,
b
a
,
i
+
δ
b
a
,
i
)
≈
Δ
p
~
i
j
(
b
g
,
i
,
b
a
,
i
)
+
∂
Δ
p
~
i
j
(
b
g
,
i
,
b
a
,
i
)
∂
b
g
,
i
∣
b
g
,
i
,
b
a
,
i
δ
b
g
,
i
+
∂
Δ
p
~
i
j
(
b
g
,
i
,
b
a
,
i
)
∂
b
a
,
i
∣
b
g
,
i
,
b
a
,
i
δ
b
a
,
i
=
Δ
p
~
i
j
(
b
g
,
i
,
b
a
,
i
)
+
∂
Δ
p
~
i
j
∂
b
g
,
i
δ
b
g
,
i
+
∂
Δ
p
~
i
j
∂
b
a
,
i
δ
b
a
,
i
\begin{align*} \Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i},\mathbf{b}_{a,i}+\delta\mathbf{b}_{a,i})&\approx\Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})+\left.\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})}{\partial\mathbf{b}_{g,i}}\right|_{\mathbf{b}_{g,i},\mathbf{b}_{a,i}}\delta\mathbf{b}_{g,i}+\left.\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})}{\partial\mathbf{b}_{a,i}}\right|_{\mathbf{b}_{g,i},\mathbf{b}_{a,i}}\delta\mathbf{b}_{a,i}\\ &=\Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})+\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}+\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}}{\partial\mathbf{b}_{a,i}}\delta\mathbf{b}_{a,i}\tag{17b}\\ \Delta\tilde{\mathbf{p}}_{ij}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i},\mathbf{b}_{a,i}+\delta\mathbf{b}_{a,i})&\approx\Delta\tilde{\mathbf{p}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})+\left.\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})}{\partial\mathbf{b}_{g,i}}\right|_{\mathbf{b}_{g,i},\mathbf{b}_{a,i}}\delta\mathbf{b}_{g,i}+\left.\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})}{\partial\mathbf{b}_{a,i}}\right|_{\mathbf{b}_{g,i},\mathbf{b}_{a,i}}\delta\mathbf{b}_{a,i}\\ &=\Delta\tilde{\mathbf{p}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})+\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}+\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}}{\partial\mathbf{b}_{a,i}}\delta\mathbf{b}_{a,i}\tag{17c}\\ \end{align*}
Δv~ij(bg,i+δbg,i,ba,i+δba,i)Δp~ij(bg,i+δbg,i,ba,i+δba,i)≈Δv~ij(bg,i,ba,i)+∂bg,i∂Δv~ij(bg,i,ba,i)
bg,i,ba,iδbg,i+∂ba,i∂Δv~ij(bg,i,ba,i)
bg,i,ba,iδba,i=Δv~ij(bg,i,ba,i)+∂bg,i∂Δv~ijδbg,i+∂ba,i∂Δv~ijδba,i≈Δp~ij(bg,i,ba,i)+∂bg,i∂Δp~ij(bg,i,ba,i)
bg,i,ba,iδbg,i+∂ba,i∂Δp~ij(bg,i,ba,i)
bg,i,ba,iδba,i=Δp~ij(bg,i,ba,i)+∂bg,i∂Δp~ijδbg,i+∂ba,i∂Δp~ijδba,i(17b)(17c)
为简便起见,此处记
∂ Δ v ~ i j ∂ b g , i = ∂ Δ v ~ i j ( b g , i , b a , i ) ∂ b g , i ∣ b g , i , b a , i , ∂ Δ v ~ i j ∂ b a , i = ∂ Δ v ~ i j ( b g , i , b a , i ) ∂ b a , i ∣ b g , i , b a , i \frac{\partial\Delta\tilde{\mathbf{v}}_{ij}}{\partial\mathbf{b}_{g,i}}=\left.\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})}{\partial\mathbf{b}_{g,i}}\right|_{\mathbf{b}_{g,i},\mathbf{b}_{a,i}},\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}}{\partial\mathbf{b}_{a,i}}=\left.\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})}{\partial\mathbf{b}_{a,i}}\right|_{\mathbf{b}_{g,i},\mathbf{b}_{a,i}} ∂bg,i∂Δv~ij=∂bg,i∂Δv~ij(bg,i,ba,i) bg,i,ba,i,∂ba,i∂Δv~ij=∂ba,i∂Δv~ij(bg,i,ba,i) bg,i,ba,i,
∂ Δ p ~ i j ∂ b g , i = ∂ Δ p ~ i j ( b g , i , b a , i ) ∂ b g , i ∣ b g , i , b a , i , ∂ Δ p ~ i j ∂ b a , i = ∂ Δ p ~ i j ( b g , i , b a , i ) ∂ b a , i ∣ b g , i , b a , i \frac{\partial\Delta\tilde{\mathbf{p}}_{ij}}{\partial\mathbf{b}_{g,i}}=\left.\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})}{\partial\mathbf{b}_{g,i}}\right|_{\mathbf{b}_{g,i},\mathbf{b}_{a,i}},\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}}{\partial\mathbf{b}_{a,i}}=\left.\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})}{\partial\mathbf{b}_{a,i}}\right|_{\mathbf{b}_{g,i},\mathbf{b}_{a,i}} ∂bg,i∂Δp~ij=∂bg,i∂Δp~ij(bg,i,ba,i) bg,i,ba,i,∂ba,i∂Δp~ij=∂ba,i∂Δp~ij(bg,i,ba,i) bg,i,ba,i。
∂ Δ R ~ i j ∂ b g , i , ∂ Δ v ~ i j ∂ b g , i , ∂ Δ v ~ i j ∂ b a , i , ∂ Δ p ~ i j ∂ b g , i , ∂ Δ p ~ i j ∂ b a , i \frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}},\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}}{\partial\mathbf{b}_{g,i}},\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}}{\partial\mathbf{b}_{a,i}},\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}}{\partial\mathbf{b}_{g,i}},\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}}{\partial\mathbf{b}_{a,i}} ∂bg,i∂ΔR~ij,∂bg,i∂Δv~ij,∂ba,i∂Δv~ij,∂bg,i∂Δp~ij,∂ba,i∂Δp~ij都称为雅可比矩阵,注意其中预积分旋转测量值对零偏的雅可比矩阵并不是由偏导数组成的数学上的雅可比矩阵。
下面通过展开并取对应项的方法求解上述各雅可比矩阵
4.1、预积分旋转测量值对零偏的雅可比矩阵
Δ
R
~
i
j
(
b
g
,
i
+
δ
b
g
,
i
)
=
∏
k
=
i
j
−
1
E
x
p
(
(
ω
~
k
−
(
b
g
,
i
+
δ
b
g
,
i
)
)
Δ
t
)
=
Δ
R
~
i
j
∏
k
=
i
j
−
1
E
x
p
(
−
Δ
R
~
k
+
1
,
j
T
J
r
,
k
δ
b
g
,
i
Δ
t
)
≈
Δ
R
~
i
j
E
x
p
(
−
∑
k
=
i
j
−
1
Δ
R
~
k
+
1
,
j
T
J
r
,
k
δ
b
g
,
i
Δ
t
)
\begin{align*} \Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i})&=\prod_{k=i}^{j-1}\mathrm{Exp}((\tilde{\boldsymbol{\omega}}_{k}-(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i}))\Delta{t})\\ &=\Delta\tilde{\mathbf{R}}_{ij}\prod_{k=i}^{j-1}\mathrm{Exp}(-\Delta\tilde{\mathbf{R}}_{k+1,j}^{T}\mathbf{J}_{r,k}\delta\mathbf{b}_{g,i}\Delta{t})\\ &\approx\Delta\tilde{\mathbf{R}}_{ij}\mathrm{Exp}(-\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{k+1,j}^{T}\mathbf{J}_{r,k}\delta\mathbf{b}_{g,i}\Delta{t})\tag{18} \end{align*}
ΔR~ij(bg,i+δbg,i)=k=i∏j−1Exp((ω~k−(bg,i+δbg,i))Δt)=ΔR~ijk=i∏j−1Exp(−ΔR~k+1,jTJr,kδbg,iΔt)≈ΔR~ijExp(−k=i∑j−1ΔR~k+1,jTJr,kδbg,iΔt)(18)
其中第一行推导至第二行参考了
(
5
)
(5)
(5),第二行推导至第三行参考了
(
11
)
(11)
(11)的推导过程
比较
(
17
)
(17)
(17)和
(
2
i
0
)
(2i_0)
(2i0),可以得到
∂
Δ
R
~
i
j
∂
b
g
,
i
=
−
∑
k
=
i
j
−
1
Δ
R
~
k
+
1
,
j
T
J
r
,
k
Δ
t
(19)
\frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}}=-\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{k+1,j}^{T}\mathbf{J}_{r,k}\Delta{t}\tag{19}
∂bg,i∂ΔR~ij=−k=i∑j−1ΔR~k+1,jTJr,kΔt(19)
4.2、预积分速度测量值对零偏的雅可比矩阵
Δ
v
~
i
j
(
b
a
,
i
+
δ
b
g
,
i
,
b
a
,
i
+
δ
b
a
,
i
)
=
∑
k
=
i
j
−
1
Δ
R
~
i
k
(
b
a
,
i
+
δ
b
g
,
i
)
(
a
~
k
−
b
a
,
i
−
δ
b
a
,
i
)
Δ
t
≈
∑
k
=
i
j
−
1
Δ
R
~
i
k
(
b
a
,
i
)
E
x
p
(
∂
Δ
R
~
i
k
∂
b
g
,
i
δ
b
g
,
i
)
(
a
~
k
−
b
a
,
i
−
δ
b
a
,
i
)
Δ
t
≈
∑
k
=
i
j
−
1
Δ
R
~
i
k
(
b
a
,
i
)
(
I
+
(
∂
Δ
R
~
i
k
∂
b
g
,
i
δ
b
g
,
i
)
∧
)
(
a
~
k
−
b
a
,
i
−
δ
b
a
,
i
)
Δ
t
=
Δ
v
~
i
j
(
b
a
,
i
,
b
a
,
i
)
−
∑
k
=
i
j
−
1
Δ
R
~
i
k
(
b
a
,
i
)
δ
b
a
,
i
Δ
t
−
∑
k
=
i
j
−
1
Δ
R
~
i
k
(
b
a
,
i
)
(
a
~
k
−
b
a
,
i
)
∧
∂
Δ
R
~
i
k
∂
b
g
,
i
δ
b
g
,
i
Δ
t
\begin{align*} \Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{a,i}+\delta\mathbf{b}_{g,i},\mathbf{b}_{a,i}+\delta\mathbf{b}_{a,i})&=\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{b}_{a,i}+\delta\mathbf{b}_{g,i})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i}-\delta\mathbf{b}_{a,i})\Delta{t}\\ &\approx\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{b}_{a,i})\mathrm{Exp}(\frac{\partial{\Delta\tilde{\mathbf{R}}_{ik}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i}-\delta\mathbf{b}_{a,i})\Delta{t}\\ &\approx\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{b}_{a,i})\left(\mathbf{I}+\left(\frac{\partial{\Delta\tilde{\mathbf{R}}_{ik}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}\right)^{\wedge}\right)(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i}-\delta\mathbf{b}_{a,i})\Delta{t}\\ &=\Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{a,i},\mathbf{b}_{a,i})-\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{b}_{a,i})\delta\mathbf{b}_{a,i}\Delta{t}-\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{b}_{a,i})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\frac{\partial{\Delta\tilde{\mathbf{R}}_{ik}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}\Delta{t}\tag{20} \end{align*}
Δv~ij(ba,i+δbg,i,ba,i+δba,i)=k=i∑j−1ΔR~ik(ba,i+δbg,i)(a~k−ba,i−δba,i)Δt≈k=i∑j−1ΔR~ik(ba,i)Exp(∂bg,i∂ΔR~ikδbg,i)(a~k−ba,i−δba,i)Δt≈k=i∑j−1ΔR~ik(ba,i)(I+(∂bg,i∂ΔR~ikδbg,i)∧)(a~k−ba,i−δba,i)Δt=Δv~ij(ba,i,ba,i)−k=i∑j−1ΔR~ik(ba,i)δba,iΔt−k=i∑j−1ΔR~ik(ba,i)(a~k−ba,i)∧∂bg,i∂ΔR~ikδbg,iΔt(20)
从第三行推导至第四行舍去了高阶小项
(
∂
Δ
R
~
i
k
∂
b
g
,
i
δ
b
g
,
i
)
∧
δ
b
a
,
i
\left(\frac{\partial{\Delta\tilde{\mathbf{R}}_{ik}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}\right)^{\wedge}\delta\mathbf{b}_{a,i}
(∂bg,i∂ΔR~ikδbg,i)∧δba,i
比较
(
18
)
(18)
(18)和
(
22
)
(22)
(22),可以得到
∂
Δ
v
~
i
j
∂
b
g
,
i
=
−
∑
k
=
i
j
−
1
Δ
R
~
i
k
(
b
g
,
i
)
(
a
~
k
−
b
a
,
i
)
∧
∂
Δ
R
~
i
k
∂
b
g
,
i
Δ
t
∂
Δ
v
~
i
j
∂
b
a
,
i
=
−
∑
k
=
i
j
−
1
Δ
R
~
i
k
(
b
g
,
i
)
Δ
t
\begin{align*} \frac{\partial{\Delta\tilde{\mathbf{v}}_{ij}}}{\partial\mathbf{b}_{g,i}}&=-\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{b}_{g,i})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\frac{\partial{\Delta\tilde{\mathbf{R}}_{ik}}}{\partial\mathbf{b}_{g,i}}\Delta{t}\tag{21}\\ \frac{\partial{\Delta\tilde{\mathbf{v}}_{ij}}}{\partial\mathbf{b}_{a,i}}&=-\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{b}_{g,i})\Delta{t}\tag{22}\\ \end{align*}
∂bg,i∂Δv~ij∂ba,i∂Δv~ij=−k=i∑j−1ΔR~ik(bg,i)(a~k−ba,i)∧∂bg,i∂ΔR~ikΔt=−k=i∑j−1ΔR~ik(bg,i)Δt(21)(22)
4.3、预积分位移测量值对零偏的雅可比矩阵
Δ
p
~
i
j
(
b
g
,
i
+
δ
b
g
,
i
,
b
a
,
i
+
δ
b
a
,
i
)
=
∑
k
=
i
j
−
1
[
Δ
v
~
i
j
(
b
g
,
i
+
δ
b
g
,
i
,
b
a
,
i
+
δ
b
a
,
i
)
Δ
t
+
1
2
Δ
R
~
i
j
(
b
g
,
i
+
δ
b
g
,
i
)
(
a
~
k
−
b
a
,
i
−
δ
b
a
,
i
)
Δ
t
2
]
≈
∑
k
=
i
j
−
1
[
(
Δ
v
~
i
j
(
b
g
,
i
,
b
a
,
i
)
+
∂
Δ
v
~
i
j
∂
b
g
,
i
δ
b
g
,
i
+
∂
Δ
v
~
i
j
∂
b
a
,
i
δ
b
a
,
i
)
Δ
t
+
1
2
Δ
R
~
i
k
(
b
g
,
i
)
(
I
+
(
∂
Δ
R
~
i
k
∂
b
g
,
i
δ
b
g
,
i
)
∧
)
(
a
~
k
−
b
a
,
i
−
δ
b
a
,
i
)
Δ
t
2
]
≈
Δ
p
~
i
j
(
b
g
,
i
,
b
a
,
i
)
+
∑
k
=
i
j
−
1
[
∂
Δ
v
~
i
j
∂
b
a
,
i
Δ
t
−
1
2
Δ
R
~
i
k
Δ
t
2
]
δ
b
a
,
i
+
∑
k
=
i
j
−
1
[
∂
Δ
v
~
i
j
∂
b
g
,
i
Δ
t
−
1
2
Δ
R
~
i
k
(
b
g
,
i
)
(
a
~
k
−
b
a
,
i
)
∧
∂
Δ
R
~
i
k
∂
b
g
,
i
Δ
t
2
]
δ
b
g
,
i
\begin{align*} \Delta\tilde{\mathbf{p}}_{ij}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i},\mathbf{b}_{a,i}+\delta\mathbf{b}_{a,i})&=\sum_{k=i}^{j-1}\left[\Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i},\mathbf{b}_{a,i}+\delta\mathbf{b}_{a,i})\Delta{t}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i}-\delta\mathbf{b}_{a,i})\Delta{t}^{2}\right]\\ &\approx\sum_{k=i}^{j-1}\left[\left(\Delta\tilde{\mathbf{v}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})+\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}+\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}}{\partial\mathbf{b}_{a,i}}\delta\mathbf{b}_{a,i}\right)\Delta{t}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{b}_{g,i})\left(\mathbf{I}+\left(\frac{\partial{\Delta\tilde{\mathbf{R}}_{ik}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}\right)^{\wedge}\right)(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i}-\delta\mathbf{b}_{a,i})\Delta{t}^{2}\right]\\ &\approx\Delta\tilde{\mathbf{p}}_{ij}(\mathbf{b}_{g,i},\mathbf{b}_{a,i})+\sum_{k=i}^{j-1}\left[\frac{\partial{\Delta\tilde{\mathbf{v}}_{ij}}}{\partial\mathbf{b}_{a,i}}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}\Delta{t}^{2}\right]\delta\mathbf{b}_{a,i}+\sum_{k=i}^{j-1}\left[\frac{\partial{\Delta\tilde{\mathbf{v}}_{ij}}}{\partial\mathbf{b}_{g,i}}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{b}_{g,i})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\frac{\partial{\Delta\tilde{\mathbf{R}}_{ik}}}{\partial\mathbf{b}_{g,i}}\Delta{t}^{2}\right]\delta\mathbf{b}_{g,i}\tag{23}\\ \end{align*}
Δp~ij(bg,i+δbg,i,ba,i+δba,i)=k=i∑j−1[Δv~ij(bg,i+δbg,i,ba,i+δba,i)Δt+21ΔR~ij(bg,i+δbg,i)(a~k−ba,i−δba,i)Δt2]≈k=i∑j−1[(Δv~ij(bg,i,ba,i)+∂bg,i∂Δv~ijδbg,i+∂ba,i∂Δv~ijδba,i)Δt+21ΔR~ik(bg,i)(I+(∂bg,i∂ΔR~ikδbg,i)∧)(a~k−ba,i−δba,i)Δt2]≈Δp~ij(bg,i,ba,i)+k=i∑j−1[∂ba,i∂Δv~ijΔt−21ΔR~ikΔt2]δba,i+k=i∑j−1[∂bg,i∂Δv~ijΔt−21ΔR~ik(bg,i)(a~k−ba,i)∧∂bg,i∂ΔR~ikΔt2]δbg,i(23)
其中,第二行推导至第三行与
(
22
)
(22)
(22)推导过程类似,省略了高阶小项
比较
(
19
)
(19)
(19)和
(
25
)
(25)
(25),可以得到
∂
Δ
p
~
i
j
∂
b
g
,
i
=
∑
k
=
i
j
−
1
[
∂
Δ
v
~
i
j
∂
b
g
,
i
Δ
t
−
1
2
Δ
R
~
i
k
(
b
g
,
i
)
(
a
~
k
−
b
a
,
i
)
∧
∂
Δ
R
~
i
k
∂
b
g
,
i
Δ
t
2
]
∂
Δ
p
~
i
j
∂
b
a
,
i
=
∑
k
=
i
j
−
1
[
∂
Δ
v
~
i
j
∂
b
a
,
i
Δ
t
−
1
2
Δ
R
~
i
k
Δ
t
2
]
\begin{align*} \frac{\partial{\Delta\tilde{\mathbf{p}}_{ij}}}{\partial\mathbf{b}_{g,i}}&=\sum_{k=i}^{j-1}\left[\frac{\partial{\Delta\tilde{\mathbf{v}}_{ij}}}{\partial\mathbf{b}_{g,i}}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{b}_{g,i})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\frac{\partial{\Delta\tilde{\mathbf{R}}_{ik}}}{\partial\mathbf{b}_{g,i}}\Delta{t}^{2}\right]\tag{24}\\ \frac{\partial{\Delta\tilde{\mathbf{p}}_{ij}}}{\partial\mathbf{b}_{a,i}}&=\sum_{k=i}^{j-1}\left[\frac{\partial{\Delta\tilde{\mathbf{v}}_{ij}}}{\partial\mathbf{b}_{a,i}}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}\Delta{t}^{2}\right]\tag{25}\\ \end{align*}
∂bg,i∂Δp~ij∂ba,i∂Δp~ij=k=i∑j−1[∂bg,i∂Δv~ijΔt−21ΔR~ik(bg,i)(a~k−ba,i)∧∂bg,i∂ΔR~ikΔt2]=k=i∑j−1[∂ba,i∂Δv~ijΔt−21ΔR~ikΔt2](24)(25)
4.4、将雅可比矩阵归结至递推形式
(
21
)
,
(
23
)
,
(
24
)
,
(
26
)
,
(
27
)
(21),(23),(24),(26),(27)
(21),(23),(24),(26),(27)中的雅可比矩阵是累加形式的,若
j
>
i
j>i
j>i,可以参考把它们归结至递推形式
∂
Δ
R
~
i
j
∂
b
g
,
i
=
Δ
R
~
j
−
1
,
j
T
∂
Δ
R
~
i
,
j
−
1
∂
b
g
,
i
−
J
r
,
j
−
1
Δ
t
∂
Δ
v
~
i
j
∂
b
g
,
i
=
∂
Δ
v
~
i
,
j
−
1
∂
b
g
,
i
−
Δ
R
~
i
,
j
−
1
(
a
~
j
−
1
−
b
a
,
i
)
∧
∂
Δ
R
~
i
,
j
−
1
∂
b
g
,
i
Δ
t
∂
Δ
v
~
i
j
∂
b
a
,
i
=
∂
Δ
v
~
i
,
j
−
1
∂
b
a
,
i
−
Δ
R
~
i
,
j
−
1
Δ
t
∂
Δ
p
~
i
j
∂
b
g
,
i
=
∂
Δ
p
~
i
,
j
−
1
∂
b
g
,
i
−
∂
Δ
v
~
i
,
j
−
1
∂
b
a
,
i
Δ
t
−
1
2
Δ
R
~
i
,
j
−
1
(
a
~
j
−
1
−
b
a
,
i
)
∧
∂
Δ
R
~
i
,
j
−
1
∂
b
g
,
i
Δ
t
2
∂
Δ
p
~
i
j
∂
b
a
,
i
=
∂
Δ
p
~
i
,
j
−
1
∂
b
g
,
i
−
∂
Δ
v
~
i
,
j
−
1
∂
b
g
,
i
Δ
t
−
1
2
Δ
R
~
i
,
j
−
1
Δ
t
2
\begin{align*} \frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}}&=\Delta\tilde{\mathbf{R}}_{j-1,j}^{T}\frac{\partial{\Delta\tilde{\mathbf{R}}_{i,j-1}}}{\partial\mathbf{b}_{g,i}}-\mathbf{J}_{r,j-1}\Delta{t}\tag{26a}\\ \frac{\partial{\Delta\tilde{\mathbf{v}}_{ij}}}{\partial\mathbf{b}_{g,i}}&=\frac{\partial{\Delta\tilde{\mathbf{v}}_{i,j-1}}}{\partial\mathbf{b}_{g,i}}-\Delta\tilde{\mathbf{R}}_{i,j-1}(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{a,i})^{\wedge}\frac{\partial{\Delta\tilde{\mathbf{R}}_{i,j-1}}}{\partial\mathbf{b}_{g,i}}\Delta{t}\tag{26b}\\ \frac{\partial{\Delta\tilde{\mathbf{v}}_{ij}}}{\partial\mathbf{b}_{a,i}}&=\frac{\partial{\Delta\tilde{\mathbf{v}}_{i,j-1}}}{\partial\mathbf{b}_{a,i}}-\Delta\tilde{\mathbf{R}}_{i,j-1}\Delta{t}\tag{26c}\\ \frac{\partial{\Delta\tilde{\mathbf{p}}_{ij}}}{\partial\mathbf{b}_{g,i}}&=\frac{\partial{\Delta\tilde{\mathbf{p}}_{i,j-1}}}{\partial\mathbf{b}_{g,i}}-\frac{\partial{\Delta\tilde{\mathbf{v}}_{i,j-1}}}{\partial\mathbf{b}_{a,i}}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{i,j-1}(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{a,i})^{\wedge}\frac{\partial{\Delta\tilde{\mathbf{R}}_{i,j-1}}}{\partial\mathbf{b}_{g,i}}\Delta{t}^{2}\tag{26d}\\ \frac{\partial{\Delta\tilde{\mathbf{p}}_{ij}}}{\partial\mathbf{b}_{a,i}}&=\frac{\partial{\Delta\tilde{\mathbf{p}}_{i,j-1}}}{\partial\mathbf{b}_{g,i}}-\frac{\partial{\Delta\tilde{\mathbf{v}}_{i,j-1}}}{\partial\mathbf{b}_{g,i}}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{i,j-1}\Delta{t}^{2}\tag{26e}\\ \end{align*}
∂bg,i∂ΔR~ij∂bg,i∂Δv~ij∂ba,i∂Δv~ij∂bg,i∂Δp~ij∂ba,i∂Δp~ij=ΔR~j−1,jT∂bg,i∂ΔR~i,j−1−Jr,j−1Δt=∂bg,i∂Δv~i,j−1−ΔR~i,j−1(a~j−1−ba,i)∧∂bg,i∂ΔR~i,j−1Δt=∂ba,i∂Δv~i,j−1−ΔR~i,j−1Δt=∂bg,i∂Δp~i,j−1−∂ba,i∂Δv~i,j−1Δt−21ΔR~i,j−1(a~j−1−ba,i)∧∂bg,i∂ΔR~i,j−1Δt2=∂bg,i∂Δp~i,j−1−∂bg,i∂Δv~i,j−1Δt−21ΔR~i,j−1Δt2(26a)(26b)(26c)(26d)(26e)
5、预积分的优化目标
设
X
k
X_{k}
Xk表示直到
k
k
k时刻的全部关键帧,即
X
k
=
{
x
i
}
i
∈
K
k
X_{k}=\{\mathbf{x}_{i}\}_{i\in{K}_{k}}
Xk={xi}i∈Kk
其中
K
k
=
{
i
0
,
i
1
,
⋯
}
K_{k}=\{i_{0},i_{1},\cdots\}
Kk={i0,i1,⋯}表示直到
k
k
k时刻包含关键帧的全部时刻
I
i
j
I_{ij}
Iij表示两个连续的关键帧,即第
i
i
i时刻关键帧和第
j
j
j时刻关键帧之间的IMU测量,
O
i
O_{i}
Oi表示GNSS等低频传感器第
i
i
i时刻的观测,故直到
k
k
k时刻的全部测量值组成的集合为
Z
k
=
{
I
i
j
,
O
i
}
i
,
j
∈
K
k
Z_{k}=\{I_{ij},O_{i}\}_{i,j\in{K}_{k}}
Zk={Iij,Oi}i,j∈Kk
给定
Z
k
Z_{k}
Zk和先验概率
p
(
X
i
0
)
p(X_{i_0})
p(Xi0)的条件下,
X
k
X_{k}
Xk的后验概率可以表示为
p
(
X
k
∣
Z
K
)
∝
p
(
X
k
)
p
(
Z
k
∣
X
k
)
=
p
(
x
i
0
)
∏
i
,
j
∈
K
k
p
(
b
j
∣
b
i
)
∏
i
,
j
∈
K
k
p
(
I
i
j
∣
x
i
,
x
j
)
∏
i
∈
K
k
p
(
O
i
∣
x
i
)
\begin{align*} p(X_{k}|Z_{K}) &\propto{p}(X_{k})p(Z_{k}|X_{k})\\ &={p}(\mathbf{x}_{i_{0}}) \prod_{i,j\in{K}_{k}}p(\mathbf{b}_{j}|\mathbf{b}_{i}) \prod_{i,j\in{K}_{k}}p(I_{ij}|\mathbf{x}_{i},\mathbf{x}_{j}) \prod_{i\in{K}_{k}}p(O_{i}|\mathbf{x}_{i})\tag{27} \end{align*}
p(Xk∣ZK)∝p(Xk)p(Zk∣Xk)=p(xi0)i,j∈Kk∏p(bj∣bi)i,j∈Kk∏p(Iij∣xi,xj)i∈Kk∏p(Oi∣xi)(27)
优化目标是最大化
(
27
)
(27)
(27)式的后验概率
X
k
∗
=
arg
max
X
k
p
(
X
k
∣
Z
k
)
(28)
X_{k}^{\ast}=\underset{X_{k}}{\arg\max}\,p(X_{k}|Z_{k})\tag{28}
Xk∗=Xkargmaxp(Xk∣Zk)(28)
最大化后验概率等价于最小化后验概率的负对数,因此可将
(
28
)
(28)
(28)写成
X
k
∗
=
arg
min
X
k
−
log
p
(
X
k
∣
Z
k
)
(29)
X_{k}^{\ast}=\underset{X_{k}}{\arg\min}-\log{p(X_{k}|Z_{k})}\tag{29}
Xk∗=Xkargmin−logp(Xk∣Zk)(29)
不妨
(
27
)
(27)
(27)中各概率服从高斯分布,
p
(
x
i
0
)
∝
exp
{
−
1
2
∥
r
x
i
0
∥
Σ
(
x
i
0
)
2
}
p(\mathbf{x}_{i_0})\propto\exp\left\{-\frac{1}{2}\|\mathbf{r}_{\mathbf{x}_{i_0}}\|^{2}_{\boldsymbol\Sigma(\mathbf{x}_{i_0})}\right\}
p(xi0)∝exp{−21∥rxi0∥Σ(xi0)2},
p
(
b
j
∣
b
i
)
∝
exp
{
−
1
2
∥
r
b
j
∥
Σ
(
b
j
)
2
}
p(\mathbf{b}_{j}|\mathbf{b}_{i})\propto\exp\left\{-\frac{1}{2}\|\mathbf{r}_{\mathbf{b}_{j}}\|^{2}_{\boldsymbol\Sigma(\mathbf{b}_{j})}\right\}
p(bj∣bi)∝exp{−21∥rbj∥Σ(bj)2},
p
(
I
i
j
∣
x
i
,
x
j
)
∝
exp
{
−
1
2
∥
r
Δ
x
i
j
∥
Σ
(
δ
(
Δ
x
i
i
)
)
2
}
p(I_{ij}|\mathbf{x}_{i},\mathbf{x}_{j})\propto\exp\left\{-\frac{1}{2}\|\mathbf{r}_{\Delta\mathbf{x}_{ij}}\|^{2}_{\boldsymbol\Sigma(\delta(\Delta\mathbf{x}_{ii}))}\right\}
p(Iij∣xi,xj)∝exp{−21∥rΔxij∥Σ(δ(Δxii))2},
p
(
O
i
∣
x
i
)
∝
exp
{
−
1
2
∥
r
z
i
∥
Σ
(
z
i
)
2
}
p(O_{i}|\mathbf{x}_{i})\propto\exp\left\{-\frac{1}{2}\|\mathbf{r}_{\mathbf{z}_{i}}\|^{2}_{\boldsymbol\Sigma(\mathbf{z}_{i})}\right\}
p(Oi∣xi)∝exp{−21∥rzi∥Σ(zi)2},此时
(
29
)
(29)
(29)可写成
X
k
∗
=
arg
min
X
k
(
∥
r
x
i
0
∥
Σ
(
x
i
0
)
2
+
∑
i
,
j
∈
K
k
∥
r
b
j
∥
Σ
(
b
j
)
2
+
∑
i
,
j
∈
K
k
∥
r
Δ
x
i
j
∥
Σ
(
δ
(
Δ
x
i
i
)
)
2
+
∑
i
∈
K
k
∥
r
z
i
∥
Σ
(
z
i
)
2
)
\begin{align*} X_{k}^{\ast} =\underset{X_{k}}{\arg\min}\left(\|\mathbf{r}_{\mathbf{x}_{i_{0}}}\|^{2}_{\boldsymbol\Sigma(\mathbf{x}_{i_{0}})} +\sum_{i,j\in{K}_{k}}\|\mathbf{r}_{\mathbf{b}_{j}}\|^{2}_{\boldsymbol\Sigma(\mathbf{b}_{j})} +\sum_{i,j\in{K}_{k}}\|\mathbf{r}_{\Delta\mathbf{x}_{ij}}\|^{2}_{\boldsymbol\Sigma(\delta(\Delta\mathbf{x}_{ii}))} +\sum_{i \in{K}_{k}}\|\mathbf{r}_{\mathbf{z}_{i}}\|^{2}_{\boldsymbol\Sigma(\mathbf{z}_{i})} \right)\tag{30} \end{align*}
Xk∗=Xkargmin
∥rxi0∥Σ(xi0)2+i,j∈Kk∑∥rbj∥Σ(bj)2+i,j∈Kk∑∥rΔxij∥Σ(δ(Δxii))2+i∈Kk∑∥rzi∥Σ(zi)2
(30)
其中
r
x
i
0
,
r
b
j
,
r
Δ
x
i
j
,
r
z
i
\mathbf{r}_{\mathbf{x}_{i_0}},\mathbf{r}_{\mathbf{b}_j},\mathbf{r}_{\Delta\mathbf{x}_{ij}},\mathbf{r}_{\mathbf{z}_{i}}
rxi0,rbj,rΔxij,rzi分别称为先验残差,递推残差,预积分残差,第
i
i
i时刻的观测残差
下面讨论各残差的具体形式:
先验残差
r
x
i
0
=
[
r
R
i
0
T
,
r
v
i
0
T
,
r
p
0
T
,
r
b
g
,
i
0
T
,
r
b
a
,
i
0
T
]
T
\mathbf{r}_{\mathbf{x}_{i_{0}}}=[\mathbf{r}_{\mathbf{R}_{i_{0}}}^{T},\mathbf{r}_{\mathbf{v}_{i_{0}}}^{T},\mathbf{r}_{\mathbf{p}_{0}}^{T},\mathbf{r}_{\mathbf{b}_{g,i_{0}}}^{T},\mathbf{r}_{\mathbf{b}_{a,i_{0}}}^{T}]^{T}
rxi0=[rRi0T,rvi0T,rp0T,rbg,i0T,rba,i0T]T,其中
r
R
i
0
=
L
o
g
(
R
ˇ
i
0
T
R
i
0
)
r
v
i
0
=
v
i
0
−
v
ˇ
i
0
r
p
i
0
=
p
i
0
−
p
ˇ
i
0
r
b
g
,
i
0
=
b
g
,
i
0
−
b
ˇ
g
,
i
0
r
b
a
,
i
0
=
b
a
,
i
0
−
b
ˇ
a
,
i
0
\begin{align*} \mathbf{r}_{\mathbf{R}_{i_0}}&=\mathrm{Log}(\check{\mathbf{R}}^{T}_{i_0}\mathbf{R}_{i_0})\tag{31a}\\ \mathbf{r}_{\mathbf{v}_{i_0}}&=\mathbf{v}_{i_0}-\check{\mathbf{v}}_{i_0}\tag{31b}\\ \mathbf{r}_{\mathbf{p}_{i_0}}&=\mathbf{p}_{i_0}-\check{\mathbf{p}}_{i_0}\tag{31c}\\ \mathbf{r}_{\mathbf{b}_{g,i_0}}&=\mathbf{b}_{g,i_0}-\check{\mathbf{b}}_{g,i_0}\tag{31d}\\ \mathbf{r}_{\mathbf{b}_{a,i_0}}&=\mathbf{b}_{a,i_0}-\check{\mathbf{b}}_{a,i_0}\tag{31e}\\ \end{align*}
rRi0rvi0rpi0rbg,i0rba,i0=Log(Rˇi0TRi0)=vi0−vˇi0=pi0−pˇi0=bg,i0−bˇg,i0=ba,i0−bˇa,i0(31a)(31b)(31c)(31d)(31e)
分别称为先验旋转残差,先验速度残差,先验位移残差,先验陀螺仪零偏残差,先验加速度计零偏残差。
[
R
ˇ
i
0
,
v
ˇ
i
0
,
p
ˇ
i
0
,
b
ˇ
g
,
i
0
,
b
ˇ
a
,
i
0
]
[\check{\mathbf{R}}_{i_0},\check{\mathbf{v}}_{i_0},\check{\mathbf{p}}_{i_0},\check{\mathbf{b}}_{g,i_0},\check{\mathbf{b}}_{a,i_0}]
[Rˇi0,vˇi0,pˇi0,bˇg,i0,bˇa,i0]为先验,是已知的或上次优化的结果。暂不讨论
Σ
(
x
i
0
)
\boldsymbol\Sigma(\mathbf{x}_{i_0})
Σ(xi0)求解。
递推残差可写为
r
b
j
=
[
r
b
g
,
j
T
,
r
b
a
,
j
T
]
T
\mathbf{r}_{\mathbf{b}_{j}}=[\mathbf{r}_{\mathbf{b}_{g,j}}^{T},\mathbf{r}_{\mathbf{b}_{a,j}}^{T}]^{T}
rbj=[rbg,jT,rba,jT]T,其中
r
b
g
,
j
=
b
g
,
j
−
b
g
,
i
r
b
a
,
j
=
b
a
,
j
−
b
a
,
i
\begin{align*} \mathbf{r}_{\mathbf{b}_{g,j}}=\mathbf{b}_{g,j}-\mathbf{b}_{g,i}\tag{32a}\\ \mathbf{r}_{\mathbf{b}_{a,j}}=\mathbf{b}_{a,j}-\mathbf{b}_{a,i}\tag{32b}\\ \end{align*}
rbg,j=bg,j−bg,irba,j=ba,j−ba,i(32a)(32b)
分别称为递推陀螺仪零偏残差和递推加速度计零偏残差。暂不讨论
Σ
(
b
j
)
\boldsymbol\Sigma(\mathbf{b}_{j})
Σ(bj)求解。
预积分残差
r
Δ
x
i
j
=
[
r
Δ
R
i
j
T
,
r
Δ
v
i
j
T
,
r
Δ
p
i
j
T
]
T
\mathbf{r}_{\Delta\mathbf{x}_{ij}}=[\mathbf{r}_{\Delta\mathbf{R}_{ij}}^{T},\mathbf{r}_{\Delta\mathbf{v}_{ij}}^{T},\mathbf{r}_{\Delta\mathbf{p}_{ij}}^{T}]^{T}
rΔxij=[rΔRijT,rΔvijT,rΔpijT]T,其中
r
Δ
R
i
j
=
d
e
f
L
o
g
[
(
Δ
R
~
i
j
)
T
Δ
R
i
j
]
r
Δ
v
i
j
=
d
e
f
Δ
v
i
j
−
Δ
v
~
i
j
r
Δ
p
i
j
=
d
e
f
Δ
p
i
j
−
Δ
p
~
i
j
\begin{align*} \mathbf{r}_{\Delta\mathbf{R}_{ij}}&\overset{\mathrm{def}}{=}\mathrm{Log}\left[(\Delta{\tilde{\mathbf{R}}}_{ij})^{T}\Delta{\mathbf{R}}_{ij}\right]\tag{33a}\\ \mathbf{r}_{\Delta\mathbf{v}_{ij}}&\overset{\mathrm{def}}{=}\Delta{\mathbf{v}}_{ij}-\Delta{\tilde{\mathbf{v}}}_{ij}\tag{33b}\\ \mathbf{r}_{\Delta\mathbf{p}_{ij}}&\overset{\mathrm{def}}{=}\Delta{\mathbf{p}}_{ij}-\Delta{\tilde{\mathbf{p}}}_{ij}\tag{33c}\\ \end{align*}
rΔRijrΔvijrΔpij=defLog[(ΔR~ij)TΔRij]=defΔvij−Δv~ij=defΔpij−Δp~ij(33a)(33b)(33c)
分别称为预积分旋转残差,预积分速度残差,预积分位移残差。对应的协方差矩阵为通过迭代
(
16
)
(16)
(16)求出的
Σ
(
δ
(
Δ
x
i
i
)
)
\boldsymbol\Sigma(\delta(\Delta\mathbf{x}_{ii}))
Σ(δ(Δxii))
观测残差 r z i \mathbf{r}_{\mathbf{z}_{i}} rzi和 Σ ( z i ) \boldsymbol\Sigma(\mathbf{z}_{i}) Σ(zi)取决于传感器,在实验部分再进行讨论。
通过增量
δ
ϕ
,
δ
p
,
δ
v
,
δ
b
g
,
δ
b
a
\delta\boldsymbol{\phi},\delta\mathbf{p},\delta\mathbf{v},\delta\mathbf{b}_{g},\delta\mathbf{b}_{a}
δϕ,δp,δv,δbg,δba可以更新系统状态
x
\mathbf{x}
x,增量作用如下
R
←
R
E
x
p
(
δ
ϕ
)
p
←
p
+
R
δ
p
v
←
v
+
δ
v
b
g
←
b
g
+
δ
b
g
b
a
←
b
+
δ
b
a
\begin{array}{ll} &\mathbf{R}\leftarrow\mathbf{R}\mathrm{Exp}(\delta\boldsymbol{\phi})\\ &\mathbf{p}\leftarrow\mathbf{p}+\mathbf{R}\delta\mathbf{p}\\ &\mathbf{v}\leftarrow\mathbf{v}+\delta\mathbf{v}\\ &\mathbf{b}_{g}\leftarrow\mathbf{b}_{g}+\delta\mathbf{b}_{g}\\ &\mathbf{b}_{a}\leftarrow\mathbf{b}+\delta\mathbf{b}_{a} \end{array}
R←RExp(δϕ)p←p+Rδpv←v+δvbg←bg+δbgba←b+δba
在不考虑相关性的前提下,可以假设每个增量单独作用,即其产生作用时其他增量为零,将残差视为该增量的函数,下面通过展开求解残差相对于每个状态增量的雅可比矩阵