IMU Pre Integration
IMU预积分推导系列文章
IMU预积分推导(一)
IMU预积分推导(二)
IMU预积分推导(三)
1、预积分的引入
1.1、IMU积分
第
i
i
i时刻,系统的状态量为IMU相对世界坐标系的旋转矩阵,速度,位置和偏置
x
i
=
[
R
i
,
v
i
,
p
i
,
b
g
,
i
,
b
a
,
i
]
T
\mathbf{x}_{i}=[\mathbf{R}_{i},\mathbf{v}_{i},\mathbf{p}_{i},\mathbf{b}_{g,i},\mathbf{b}_{a,i}]^T
xi=[Ri,vi,pi,bg,i,ba,i]T
在一次积分的基础上,对IMU数据进行二次积分,从
i
i
i时刻一直递推到与其相差较多时间步的
j
j
j时刻,即
R
j
=
R
i
∏
k
=
i
j
−
1
E
x
p
(
(
ω
~
k
−
b
g
,
k
−
η
g
d
,
k
)
Δ
t
)
v
j
=
v
i
+
g
Δ
t
i
j
+
∑
k
=
i
j
−
1
R
k
(
a
~
k
−
b
a
,
k
−
η
a
d
,
k
)
Δ
t
p
j
=
p
i
+
∑
k
=
i
j
−
1
v
k
Δ
t
+
1
2
∑
k
=
i
j
−
1
g
Δ
t
2
+
1
2
∑
k
=
i
j
−
1
R
k
(
a
~
k
−
b
a
,
k
−
η
a
d
,
k
)
Δ
t
2
\begin{align*} \mathbf{R}_{j}&=\mathbf{R}_{i}\prod_{k=i}^{j-1}\mathrm{Exp}((\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{g,k}-\boldsymbol{\eta}_{gd,k})\Delta{t})\tag{1a}\\ \mathbf{v}_{j}&=\mathbf{v}_{i}+\mathbf{g}\Delta{t}_{ij}+\sum_{k=i}^{j-1}\mathbf{R}_{k}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,k}-\boldsymbol{\eta}_{ad,k})\Delta{t}\tag{1b}\\ \mathbf{p}_{j}&=\mathbf{p}_{i}+\sum_{k=i}^{j-1}\mathbf{v}_k\Delta{t}+\frac{1}{2}\sum_{k=i}^{j-1}\mathbf{g}\Delta{t}^{2}+\frac{1}{2}\sum_{k=i}^{j-1}\mathbf{R}_{k}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,k}-\boldsymbol{\eta}_{ad,k})\Delta{t}^{2}\tag{1c}\\ \end{align*}
Rjvjpj=Rik=i∏j−1Exp((ω~k−bg,k−ηgd,k)Δt)=vi+gΔtij+k=i∑j−1Rk(a~k−ba,k−ηad,k)Δt=pi+k=i∑j−1vkΔt+21k=i∑j−1gΔt2+21k=i∑j−1Rk(a~k−ba,k−ηad,k)Δt2(1a)(1b)(1c)
其中
Δ
t
i
j
=
∑
k
=
i
j
−
1
Δ
t
\Delta{t}_{ij}=\sum_{k=i}^{j-1}\Delta{t}
Δtij=∑k=ij−1Δt。
1.2、预积分定义
直接积分的缺点是,它描述的过程和状态量有关,即如果第
i
i
i时刻的状态量发生改变,则
i
+
1
,
⋯
,
j
−
1
i+1,\cdots,j-1
i+1,⋯,j−1时刻的状态量也会发生改变,这时需要重新计算积分,这对于需要频繁进行优化,且对实时性要求高的系统来说是不可接受的。可以定义相对状态量,使其计算与第
i
i
i时刻状态量无关,该相对量称为预积分
Δ
R
i
j
=
d
e
f
R
i
T
R
j
=
∏
k
=
i
j
−
1
E
x
p
(
(
ω
~
k
−
b
g
,
k
−
η
g
d
,
k
)
Δ
t
)
Δ
v
i
j
=
d
e
f
R
i
T
(
v
j
−
v
i
−
g
Δ
t
i
j
)
=
∑
k
=
i
j
−
1
Δ
R
i
k
(
a
~
k
−
b
a
,
k
−
η
a
d
,
k
)
Δ
t
Δ
p
i
j
=
d
e
f
R
i
T
(
p
j
−
p
i
−
v
i
Δ
t
i
j
−
1
2
Δ
t
i
j
2
)
=
∑
k
=
i
j
−
1
[
Δ
v
i
k
Δ
t
+
1
2
Δ
R
i
k
(
a
~
k
−
b
a
,
k
−
η
a
d
,
k
)
Δ
t
2
]
\begin{align*} \Delta\mathbf{R}_{ij}&\overset{\mathrm{def}}{=}\mathbf{R}_{i}^{T}\mathbf{R}_{j}=\prod_{k=i}^{j-1}\mathrm{Exp}((\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{g,k}-\boldsymbol{\eta}_{gd,k})\Delta{t})\tag{2a}\\ \Delta\mathbf{v}_{ij}&\overset{\mathrm{def}}{=}\mathbf{R}_{i}^{T}(\mathbf{v}_{j}-\mathbf{v}_{i}-\mathbf{g}\Delta{t}_{ij})=\sum_{k=i}^{j-1}\Delta\mathbf{R}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,k}-\boldsymbol{\eta}_{ad,k})\Delta{t}\tag{2b}\\ \Delta\mathbf{p}_{ij}&\overset{\mathrm{def}}{=}\mathbf{R}_{i}^{T}\left(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\Delta{t}_{ij}^{2}\right)=\sum_{k=i}^{j-1}\left[\Delta\mathbf{v}_{ik}\Delta{t}+\frac{1}{2}\Delta\mathbf{R}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,k}-\boldsymbol{\eta}_{ad,k})\Delta{t}^{2}\right]\tag{2c}\\ \end{align*}
ΔRijΔvijΔpij=defRiTRj=k=i∏j−1Exp((ω~k−bg,k−ηgd,k)Δt)=defRiT(vj−vi−gΔtij)=k=i∑j−1ΔRik(a~k−ba,k−ηad,k)Δt=defRiT(pj−pi−viΔtij−21Δtij2)=k=i∑j−1[ΔvikΔt+21ΔRik(a~k−ba,k−ηad,k)Δt2](2a)(2b)(2c)
下面假设在相邻两个图像关键帧之间零偏是固定不变的,即满足
b
g
,
k
=
b
g
,
i
=
b
g
,
i
+
1
=
⋯
=
b
g
,
j
−
1
b
a
,
k
=
b
a
,
i
=
b
a
,
i
+
1
=
⋯
=
b
a
,
j
−
1
\begin{align*} \mathbf{b}_{g,k}&=\mathbf{b}_{g,i}=\mathbf{b}_{g,i+1}=\cdots=\mathbf{b}_{g,j-1}\\ \mathbf{b}_{a,k}&=\mathbf{b}_{a,i}=\mathbf{b}_{a,i+1}=\cdots=\mathbf{b}_{a,j-1} \end{align*}
bg,kba,k=bg,i=bg,i+1=⋯=bg,j−1=ba,i=ba,i+1=⋯=ba,j−1
故在两帧之间,预积分状态 Δ x i j = [ Δ R i j , Δ v i j , Δ p i j ] \Delta\mathbf{x}_{ij}=[\Delta\mathbf{R}_{ij},\Delta\mathbf{v}_{ij},\Delta\mathbf{p}_{ij}] Δxij=[ΔRij,Δvij,Δpij]
2、噪声分离
现在希望将陀螺仪测量噪声 η a d , k \boldsymbol{\eta}_{ad,k} ηad,k和加速度计测量噪声 η g d , k \boldsymbol{\eta}_{gd,k} ηgd,k分离出去。
定义仅由IMU数据计算得到的与噪声无关的预积分测量值
Δ
x
~
i
j
=
[
Δ
R
~
i
j
,
Δ
v
~
i
j
,
Δ
p
~
i
j
]
\Delta\tilde{\mathbf{x}}_{ij}=[\Delta\tilde{\mathbf{R}}_{ij},\Delta\tilde{\mathbf{v}}_{ij},\Delta\tilde{\mathbf{p}}_{ij}]
Δx~ij=[ΔR~ij,Δv~ij,Δp~ij],其中
Δ
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
=
d
e
f
∏
k
=
i
j
−
1
E
x
p
(
(
ω
~
k
−
b
g
,
k
)
Δ
t
)
Δ
v
~
i
j
=
d
e
f
∑
k
=
i
j
−
1
Δ
R
~
i
k
(
a
~
k
−
b
a
,
k
)
Δ
t
Δ
p
~
i
j
=
d
e
f
∑
k
=
i
j
−
1
[
Δ
v
~
i
k
Δ
t
+
1
2
Δ
R
~
i
k
(
a
~
k
−
b
a
,
k
)
Δ
t
2
]
\begin{align*} \Delta\tilde{\mathbf{R}}_{ij}&\overset{\mathrm{def}}{=}\prod_{k=i}^{j-1}\mathrm{Exp}((\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{g,k})\Delta{t})\tag{3a}\\ \Delta\tilde{\mathbf{v}}_{ij}&\overset{\mathrm{def}}{=}\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,k})\Delta{t}\tag{3b}\\ \Delta\tilde{\mathbf{p}}_{ij}&\overset{\mathrm{def}}{=}\sum_{k=i}^{j-1}\left[\Delta\tilde{\mathbf{v}}_{ik}\Delta{t}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,k})\Delta{t}^{2}\right]\tag{3c} \end{align*}
ΔR~ijΔv~ijΔp~ij=defk=i∏j−1Exp((ω~k−bg,k)Δt)=defk=i∑j−1ΔR~ik(a~k−ba,k)Δt=defk=i∑j−1[Δv~ikΔt+21ΔR~ik(a~k−ba,k)Δt2](3a)(3b)(3c)
记预积分误差为
δ
(
Δ
x
i
j
)
=
[
δ
(
Δ
ϕ
i
j
)
T
,
δ
(
Δ
v
i
j
)
T
,
δ
(
Δ
p
i
j
)
T
]
T
\delta(\Delta\mathbf{x}_{ij})=[\delta(\Delta\boldsymbol{\phi}_{ij})^{T},\delta(\Delta\mathbf{\mathbf{v}}_{ij})^{T},\delta(\Delta\mathbf{\mathbf{p}}_{ij})^{T}]^{T}
δ(Δxij)=[δ(Δϕij)T,δ(Δvij)T,δ(Δpij)T]T,其中
δ
(
Δ
ϕ
i
j
)
,
δ
(
Δ
v
i
j
)
,
δ
(
Δ
p
i
j
)
\delta(\Delta\boldsymbol{\phi}_{ij}),\delta(\Delta\mathbf{\mathbf{v}}_{ij}),\delta(\Delta\mathbf{\mathbf{p}}_{ij})
δ(Δϕij),δ(Δvij),δ(Δpij)分别是预积分旋转误差,预积分速度误差,预积分位移误差。为简便起见,后文将上述三个值分别简记为
δ
ϕ
i
j
,
δ
v
i
j
,
δ
p
i
j
\delta\boldsymbol{\phi}_{ij},\delta\mathbf{\mathbf{v}}_{ij},\delta\mathbf{\mathbf{p}}_{ij}
δϕij,δvij,δpij。预积分状态变量真值,预积分测量值,预积分误差之间应该满足
Δ
x
i
j
=
Δ
x
~
i
j
⊕
(
−
δ
(
Δ
x
i
j
)
)
\Delta\mathbf{x}_{ij}=\Delta\tilde{\mathbf{x}}_{ij}\oplus(-\delta(\Delta\mathbf{x}_{ij}))
Δxij=Δx~ij⊕(−δ(Δxij)),该关系也是预积分误差的定义,其中
⊖
\ominus
⊖表示广义减法,即
Δ
R
i
j
=
Δ
R
~
i
j
E
x
p
(
−
δ
ϕ
i
j
)
Δ
v
i
j
=
Δ
v
~
i
j
−
δ
v
i
j
Δ
p
i
j
=
Δ
p
~
i
j
−
δ
p
i
j
\begin{align*} \Delta\mathbf{R}_{ij}&=\Delta\tilde{\mathbf{R}}_{ij}\mathrm{Exp}(-\delta\boldsymbol{\phi}_{ij})\tag{4a}\\ \Delta\mathbf{v}_{ij}&=\Delta\tilde{\mathbf{v}}_{ij}-\delta\mathbf{\mathbf{v}}_{ij}\tag{4b}\\ \Delta\mathbf{p}_{ij}&=\Delta\tilde{\mathbf{p}}_{ij}-\delta\mathbf{\mathbf{p}}_{ij}\tag{4c}\\ \end{align*}
ΔRijΔvijΔpij=ΔR~ijExp(−δϕij)=Δv~ij−δvij=Δp~ij−δpij(4a)(4b)(4c)
特别注意,
(
1
)
,
(
2
)
,
(
3
)
,
(
4
)
(1),(2),(3),(4)
(1),(2),(3),(4)其中求和号和求积号应该按照§2来理解,
(
1
)
(1)
(1)中的下标可以用任意满足
i
⩽
k
⩽
j
i\leqslant{k}\leqslant{j}
i⩽k⩽j的
k
k
k代替,
(
2
)
,
(
3
)
,
(
4
)
(2),(3),(4)
(2),(3),(4)中的下标可以用任意满足
i
⩽
m
⩽
n
⩽
j
i\leqslant{m}\leqslant{n}\leqslant{j}
i⩽m⩽n⩽j的
m
,
n
m,n
m,n代替,计算方式不变。
下面推导满足上式的预积分误差表达式
2.1、预积分旋转误差表达式
Δ
R
i
j
=
∏
k
=
i
j
−
1
E
x
p
(
(
ω
~
k
−
b
g
,
i
−
η
g
d
,
k
)
Δ
t
)
≈
∏
k
=
i
j
−
1
[
E
x
p
(
(
ω
~
k
−
b
g
,
i
)
Δ
t
)
E
x
p
(
−
J
r
,
k
η
g
d
,
k
Δ
t
)
]
=
E
x
p
(
(
ω
~
i
−
b
g
,
i
)
Δ
t
)
E
x
p
(
−
J
r
,
i
η
g
d
,
i
Δ
t
)
E
x
p
(
(
ω
~
i
+
1
−
b
g
,
i
+
1
)
Δ
t
)
E
x
p
(
−
J
r
,
i
+
1
η
g
d
,
i
+
1
Δ
t
)
⋯
=
Δ
R
~
i
,
i
+
1
E
x
p
(
−
J
r
,
i
η
g
d
,
i
Δ
t
)
Δ
R
~
i
+
1
,
i
+
2
⏟
≈
Δ
R
~
i
+
1
,
i
+
2
E
x
p
(
−
Δ
R
~
i
+
1
,
i
+
2
T
J
r
,
i
η
g
d
,
i
Δ
t
)
E
x
p
(
−
J
r
,
i
+
1
η
g
d
,
i
+
1
Δ
t
)
⋯
≈
Δ
R
~
i
,
i
+
2
E
x
p
(
−
Δ
R
~
i
+
1
,
i
+
2
T
J
r
,
i
η
g
d
,
i
Δ
t
)
E
x
p
(
−
J
r
,
i
+
1
η
g
d
,
i
+
1
Δ
t
)
Δ
R
~
i
+
2
,
i
+
3
⋯
=
Δ
R
~
i
j
∏
k
=
i
j
−
1
E
x
p
(
−
Δ
R
~
k
+
1
,
j
T
J
r
,
k
η
g
d
,
k
Δ
t
)
\begin{align*} \Delta\mathbf{R}_{ij} &=\prod_{k=i}^{j-1}\mathrm{Exp}((\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{g,i}-\boldsymbol{\eta}_{gd,k})\Delta{t})\\ &\approx\prod_{k=i}^{j-1}[\mathrm{Exp}((\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{g,i})\Delta{t})\mathrm{Exp}(-\mathbf{J}_{r,k}\boldsymbol{\eta}_{gd,k}\Delta{t})]\\ &=\mathrm{Exp}((\tilde{\boldsymbol{\omega}}_{i}-\mathbf{b}_{g,i})\Delta{t})\mathrm{Exp}(-\mathbf{J}_{r,i}\boldsymbol{\eta}_{gd,i}\Delta{t})\mathrm{Exp}((\tilde{\boldsymbol{\omega}}_{i+1}-\mathbf{b}_{g,i+1})\Delta{t})\mathrm{Exp}(-\mathbf{J}_{r,i+1}\boldsymbol{\eta}_{gd,i+1}\Delta{t})\cdots\\ &=\Delta\tilde{\mathbf{R}}_{i,i+1}\underbrace{\mathrm{Exp}(-\mathbf{J}_{r,i}\boldsymbol{\eta}_{gd,i}\Delta{t})\Delta\tilde{\mathbf{R}}_{i+1,i+2}}_{\approx\Delta\tilde{\mathbf{R}}_{i+1,i+2}\mathrm{Exp}(-\Delta\tilde{\mathbf{R}}_{i+1,i+2}^{T}\mathbf{J}_{r,i}\boldsymbol{\eta}_{gd,i}\Delta{t})}\mathrm{Exp}(-\mathbf{J}_{r,i+1}\boldsymbol{\eta}_{gd,i+1}\Delta{t})\cdots\\ &\approx\Delta\tilde{\mathbf{R}}_{i,i+2}\mathrm{Exp}(-\Delta\tilde{\mathbf{R}}_{i+1,i+2}^{T}\mathbf{J}_{r,i}\boldsymbol{\eta}_{gd,i}\Delta{t})\mathrm{Exp}(-\mathbf{J}_{r,i+1}\boldsymbol{\eta}_{gd,i+1}\Delta{t})\Delta\tilde{\mathbf{R}}_{i+2,i+3}\cdots\\ &=\Delta\tilde{\mathbf{R}}_{ij}\prod_{k=i}^{j-1}\mathrm{Exp}(-\Delta\tilde{\mathbf{R}}_{k+1,j}^{T}\mathbf{J}_{r,k}\boldsymbol{\eta}_{gd,k}\Delta{t})\tag{5} \end{align*}
ΔRij=k=i∏j−1Exp((ω~k−bg,i−ηgd,k)Δt)≈k=i∏j−1[Exp((ω~k−bg,i)Δt)Exp(−Jr,kηgd,kΔt)]=Exp((ω~i−bg,i)Δt)Exp(−Jr,iηgd,iΔt)Exp((ω~i+1−bg,i+1)Δt)Exp(−Jr,i+1ηgd,i+1Δt)⋯=ΔR~i,i+1≈ΔR~i+1,i+2Exp(−ΔR~i+1,i+2TJr,iηgd,iΔt)
Exp(−Jr,iηgd,iΔt)ΔR~i+1,i+2Exp(−Jr,i+1ηgd,i+1Δt)⋯≈ΔR~i,i+2Exp(−ΔR~i+1,i+2TJr,iηgd,iΔt)Exp(−Jr,i+1ηgd,i+1Δt)ΔR~i+2,i+3⋯=ΔR~ijk=i∏j−1Exp(−ΔR~k+1,jTJr,kηgd,kΔt)(5)
其中其中第一行推至第二行应利用了BCH近似,右雅可比采取简化写法,省略对应的向量,即记
J
r
,
k
=
J
r
(
(
ω
~
k
−
b
g
,
i
)
Δ
t
)
\mathbf{J}_{r,k}=\mathbf{J}_{r}((\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{g,i})\Delta{t})
Jr,k=Jr((ω~k−bg,i)Δt)。第四行推导至第五行用到了
(
A
1
)
\mathrm{(A1)}
(A1)
比较
(
4
a
)
\mathrm{(4a)}
(4a)和
(
5
)
(5)
(5),可以得到
δ
ϕ
i
j
=
−
L
o
g
(
∏
k
=
i
j
−
1
E
x
p
(
−
Δ
R
~
k
+
1
,
j
T
J
r
,
k
η
g
d
,
k
Δ
t
)
)
(6)
\delta\boldsymbol{\phi}_{ij}=-\mathrm{Log}(\prod_{k=i}^{j-1}\mathrm{Exp}(-\Delta\tilde{\mathbf{R}}_{k+1,j}^{T}\mathbf{J}_{r,k}\boldsymbol{\eta}_{gd,k}\Delta{t}))\tag{6}
δϕij=−Log(k=i∏j−1Exp(−ΔR~k+1,jTJr,kηgd,kΔt))(6)
2.2、预积分速度误差表达式
Δ
v
i
j
=
∑
k
=
i
j
−
1
Δ
R
i
k
(
a
~
k
−
b
a
,
i
−
η
a
d
,
k
)
Δ
t
=
∑
k
=
i
j
−
1
Δ
R
~
i
k
E
x
p
(
−
δ
ϕ
i
k
)
(
a
~
k
−
b
a
,
i
−
η
a
d
,
k
)
Δ
t
≈
∑
k
=
i
j
−
1
Δ
R
~
i
k
(
I
−
δ
ϕ
i
k
∧
)
(
a
~
k
−
b
a
,
i
−
η
a
d
,
k
)
Δ
t
≈
∑
k
=
i
j
−
1
[
Δ
R
~
i
k
(
a
~
k
−
b
a
,
k
)
Δ
t
+
Δ
R
~
i
k
(
a
~
k
−
b
a
,
k
)
∧
δ
ϕ
i
k
Δ
t
−
Δ
R
~
i
k
η
a
d
,
k
Δ
t
]
=
Δ
v
~
i
j
+
∑
k
=
i
j
−
1
[
Δ
R
~
i
k
(
a
~
k
−
b
a
,
i
)
∧
δ
ϕ
i
k
Δ
t
−
Δ
R
~
i
k
η
a
d
,
k
Δ
t
]
\begin{align*} \Delta\mathbf{v}_{ij}&=\sum_{k=i}^{j-1}\Delta\mathbf{R}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i}-\boldsymbol{\eta}_{ad,k})\Delta{t}\\ &=\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{ik}\mathrm{Exp}(-\delta\boldsymbol{\phi}_{ik})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i}-\boldsymbol{\eta}_{ad,k})\Delta{t}\\ &\approx\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{I}-\delta\boldsymbol{\phi}_{ik}^{\wedge})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i}-\boldsymbol{\eta}_{ad,k})\Delta{t}\\ &\approx\sum_{k=i}^{j-1}\left[\Delta\tilde{\mathbf{R}}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,k})\Delta{t}+\Delta\tilde{\mathbf{R}}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,k})^{\wedge}\delta\boldsymbol{\phi}_{ik}\Delta{t}-\Delta\tilde{\mathbf{R}}_{ik}\boldsymbol{\eta}_{ad,k}\Delta{t}\right]\\ &=\Delta\tilde{\mathbf{v}}_{ij}+\sum_{k=i}^{j-1}\left[\Delta\tilde{\mathbf{R}}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{ik}\Delta{t}-\Delta\tilde{\mathbf{R}}_{ik}\boldsymbol{\eta}_{ad,k}\Delta{t}\right]\tag{7} \end{align*}
Δvij=k=i∑j−1ΔRik(a~k−ba,i−ηad,k)Δt=k=i∑j−1ΔR~ikExp(−δϕik)(a~k−ba,i−ηad,k)Δt≈k=i∑j−1ΔR~ik(I−δϕik∧)(a~k−ba,i−ηad,k)Δt≈k=i∑j−1[ΔR~ik(a~k−ba,k)Δt+ΔR~ik(a~k−ba,k)∧δϕikΔt−ΔR~ikηad,kΔt]=Δv~ij+k=i∑j−1[ΔR~ik(a~k−ba,i)∧δϕikΔt−ΔR~ikηad,kΔt](7)
第二行推导至第三行是根据
(
6
)
(6)
(6),考虑到
δ
ϕ
i
j
\delta\boldsymbol{\phi}_{ij}
δϕij比较小,利用矩阵指数函数的一阶近似化简。第三行推导至第四行运用了外积的反交换律,并舍去含
δ
ϕ
i
j
∧
η
a
d
,
k
\delta\boldsymbol{\phi}_{ij}^{\wedge}\boldsymbol{\eta}_{ad,k}
δϕij∧ηad,k的高阶小项。
比较
(
4
b
)
\mathrm{(4b)}
(4b)和
(
7
)
(7)
(7),可以得到
δ
v
i
j
=
∑
k
=
i
j
−
1
[
Δ
R
~
i
j
η
a
d
,
k
Δ
t
−
Δ
R
~
i
j
(
a
~
k
−
b
a
,
i
)
∧
δ
ϕ
i
j
Δ
t
]
(8)
\delta\mathbf{\mathbf{v}}_{ij}=\sum_{k=i}^{j-1}\left[\Delta\tilde{\mathbf{R}}_{ij}\boldsymbol{\eta}_{ad,k}\Delta{t}-\Delta\tilde{\mathbf{R}}_{ij}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{ij}\Delta{t}\right]\tag{8}
δvij=k=i∑j−1[ΔR~ijηad,kΔt−ΔR~ij(a~k−ba,i)∧δϕijΔt](8)
2.3、预积分位移误差表达式
Δ
p
i
j
=
∑
k
=
i
j
−
1
[
Δ
v
i
k
Δ
t
+
1
2
Δ
R
i
k
(
a
~
k
−
b
a
,
i
−
η
a
d
,
k
)
Δ
t
2
]
=
∑
k
=
i
j
−
1
[
(
Δ
v
~
i
k
−
δ
v
i
k
)
Δ
t
+
1
2
Δ
R
~
i
k
(
I
−
δ
ϕ
i
k
∧
)
(
a
~
k
−
b
a
,
i
−
η
a
d
,
k
)
Δ
t
2
]
≈
∑
k
=
i
j
−
1
[
(
Δ
v
~
i
k
−
δ
v
i
k
)
Δ
t
+
1
2
Δ
R
~
i
k
(
I
−
δ
ϕ
i
k
∧
)
(
a
~
k
−
b
a
,
i
)
Δ
t
2
−
1
2
Δ
R
~
i
k
η
a
d
,
k
Δ
t
2
]
=
∑
k
=
i
j
−
1
[
Δ
v
~
i
k
Δ
t
+
1
2
Δ
R
~
i
k
(
a
~
k
−
b
a
,
i
)
Δ
t
2
−
δ
v
i
k
Δ
t
+
1
2
Δ
R
~
i
k
(
a
~
k
−
b
a
,
i
)
∧
δ
ϕ
i
k
Δ
t
2
−
1
2
Δ
R
~
i
k
η
a
d
,
k
Δ
t
2
]
\begin{align*} \Delta\mathbf{p}_{ij}&=\sum_{k=i}^{j-1}\left[\Delta\mathbf{v}_{ik}\Delta{t}+\frac{1}{2}\Delta\mathbf{R}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i}-\boldsymbol{\eta}_{ad,k})\Delta{t}^{2}\right]\\ &=\sum_{k=i}^{j-1}\left[(\Delta\tilde{\mathbf{v}}_{ik}-\delta\mathbf{\mathbf{v}}_{ik})\Delta{t}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{I}-\delta\boldsymbol{\phi}_{ik}^{\wedge})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i}-\boldsymbol{\eta}_{ad,k})\Delta{t}^{2}\right]\\ &\approx\sum_{k=i}^{j-1}\left[(\Delta\tilde{\mathbf{v}}_{ik}-\delta\mathbf{\mathbf{v}}_{ik})\Delta{t}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\mathbf{I}-\delta\boldsymbol{\phi}_{ik}^{\wedge})(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})\Delta{t}^{2}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}\boldsymbol{\eta}_{ad,k}\Delta{t}^{2}\right]\\ &=\sum_{k=i}^{j-1}\left[\Delta\tilde{\mathbf{v}}_{ik}\Delta{t}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})\Delta{t}^{2}-\delta\mathbf{\mathbf{v}}_{ik}\Delta{t}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{ik}\Delta{t}^{2}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}\boldsymbol{\eta}_{ad,k}\Delta{t}^{2}\right]\tag{9} \end{align*}
Δpij=k=i∑j−1[ΔvikΔt+21ΔRik(a~k−ba,i−ηad,k)Δt2]=k=i∑j−1[(Δv~ik−δvik)Δt+21ΔR~ik(I−δϕik∧)(a~k−ba,i−ηad,k)Δt2]≈k=i∑j−1[(Δv~ik−δvik)Δt+21ΔR~ik(I−δϕik∧)(a~k−ba,i)Δt2−21ΔR~ikηad,kΔt2]=k=i∑j−1[Δv~ikΔt+21ΔR~ik(a~k−ba,i)Δt2−δvikΔt+21ΔR~ik(a~k−ba,i)∧δϕikΔt2−21ΔR~ikηad,kΔt2](9)
比较
(
4
c
)
\mathrm{(4c)}
(4c)和
(
9
)
(9)
(9),可以得到
δ
p
i
j
=
∑
k
=
i
j
−
1
[
δ
v
i
k
Δ
t
−
1
2
Δ
R
~
i
k
(
a
~
k
−
b
a
,
i
)
∧
δ
ϕ
i
k
Δ
t
2
+
1
2
Δ
R
~
i
k
η
a
d
,
k
Δ
t
2
]
(10)
\delta\mathbf{\mathbf{p}}_{ij}=\sum_{k=i}^{j-1}\left[\delta\mathbf{\mathbf{v}}_{ik}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{ik}\Delta{t}^{2}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}\boldsymbol{\eta}_{ad,k}\Delta{t}^{2}\right]\tag{10}
δpij=k=i∑j−1[δvikΔt−21ΔR~ik(a~k−ba,i)∧δϕikΔt2+21ΔR~ikηad,kΔt2](10)
3、误差传播
为避免大量的重复计算,下面考虑预积分误差 δ ( Δ x i , j ) \delta(\Delta\mathbf{x}_{i,j}) δ(Δxi,j)和 δ ( Δ x i , j − 1 ) \delta(\Delta\mathbf{x}_{i,j-1}) δ(Δxi,j−1)之间的递推关系
3.1、预积分旋转误差传播
考虑到预积分旋转误差表达式
(
5
)
(5)
(5)较为复杂,不方便递推,下面对其进行线性化。记
ξ
k
=
Δ
R
~
k
+
1
,
j
T
J
r
,
k
η
g
d
,
k
Δ
t
\boldsymbol{\xi}_{k}=\Delta\tilde{\mathbf{R}}_{k+1,j}^{T}\mathbf{J}_{r,k}\boldsymbol{\eta}_{gd,k}\Delta{t}
ξk=ΔR~k+1,jTJr,kηgd,kΔt,则
δ
ϕ
i
j
=
−
L
o
g
(
∏
k
=
i
j
−
1
E
x
p
(
−
ξ
k
)
)
=
−
L
o
g
(
E
x
p
(
−
ξ
i
)
E
x
p
(
−
ξ
i
+
1
)
⋯
E
x
p
(
−
ξ
j
−
1
)
)
≈
−
L
o
g
(
E
x
p
(
−
ξ
i
−
J
r
−
1
(
−
ξ
i
)
ξ
i
+
1
)
⋯
E
x
p
(
−
ξ
j
−
1
)
)
≈
−
L
o
g
(
E
x
p
(
−
∑
k
=
i
j
−
1
ξ
k
)
)
=
∑
k
=
i
j
−
1
ξ
k
\begin{align*} \delta\boldsymbol{\phi}_{ij} &=-\mathrm{Log}(\prod_{k=i}^{j-1}\mathrm{Exp}(-\boldsymbol{\xi}_{k}))\\ &=-\mathrm{Log}(\mathrm{Exp}(-\boldsymbol{\xi}_{i})\mathrm{Exp}(-\boldsymbol{\xi}_{i+1})\cdots\mathrm{Exp}(-\boldsymbol{\xi}_{j-1}))\\ &\approx-\mathrm{Log}(\mathrm{Exp}(-\boldsymbol{\xi}_{i}-\mathbf{J}_{r}^{-1}(-\boldsymbol{\xi}_{i})\boldsymbol{\xi}_{i+1})\cdots\mathrm{Exp}(-\boldsymbol{\xi}_{j-1}))\\ &\approx-\mathrm{Log}(\mathrm{Exp}(-\sum_{k=i}^{j-1}\boldsymbol{\xi}_{k}))\\ &=\sum_{k=i}^{j-1}\boldsymbol{\xi}_{k} \end{align*}
δϕij=−Log(k=i∏j−1Exp(−ξk))=−Log(Exp(−ξi)Exp(−ξi+1)⋯Exp(−ξj−1))≈−Log(Exp(−ξi−Jr−1(−ξi)ξi+1)⋯Exp(−ξj−1))≈−Log(Exp(−k=i∑j−1ξk))=k=i∑j−1ξk
其中第三行推导至第四行是考虑到
ξ
k
\boldsymbol{\xi}_{k}
ξk为小量,其和仍为小量,因此每个右雅可比都接近单位阵。将
ξ
k
\boldsymbol{\xi}_{k}
ξk的定义代回,得到
δ
ϕ
i
j
=
∑
k
=
i
j
−
1
Δ
R
~
k
+
1
,
j
T
J
r
,
k
η
g
d
,
k
Δ
t
(11)
\delta\boldsymbol{\phi}_{ij}=\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{k+1,j}^{T}\mathbf{J}_{r,k}\boldsymbol{\eta}_{gd,k}\Delta{t}\tag{11}
δϕij=k=i∑j−1ΔR~k+1,jTJr,kηgd,kΔt(11)
若
j
>
i
j>i
j>i,则可将预积分旋转误差表达式
(
11
)
(11)
(11)写成递推形式
δ
ϕ
i
j
=
∑
k
=
i
j
−
1
Δ
R
~
k
+
1
,
j
T
J
r
,
k
η
g
d
,
k
Δ
t
=
∑
k
=
i
j
−
2
Δ
R
~
k
+
1
,
j
T
⏟
(
Δ
R
~
k
+
1
,
j
−
1
Δ
R
~
j
−
1
,
j
)
T
J
r
,
k
η
g
d
,
k
Δ
t
+
Δ
R
~
j
,
j
T
⏟
I
J
r
,
j
−
1
η
g
d
,
j
−
1
Δ
t
=
Δ
R
~
j
−
1
,
j
T
∑
k
=
i
j
−
2
Δ
R
~
k
+
1
,
j
−
1
T
J
r
,
k
η
g
d
,
k
Δ
t
+
J
r
,
j
−
1
η
g
d
,
j
−
1
Δ
t
=
Δ
R
~
j
−
1
,
j
T
δ
ϕ
i
,
j
−
1
+
J
r
,
j
−
1
η
g
d
,
j
−
1
Δ
t
\begin{align*} \delta\boldsymbol{\phi}_{ij}&=\sum_{k=i}^{j-1}\Delta\tilde{\mathbf{R}}_{k+1,j}^{T}\mathbf{J}_{r,k}\boldsymbol{\eta}_{gd,k}\Delta{t}\\ &=\sum_{k=i}^{j-2}\underbrace{\Delta\tilde{\mathbf{R}}_{k+1,j}^{T}}_{(\Delta\tilde{\mathbf{R}}_{k+1,j-1}\Delta\tilde{\mathbf{R}}_{j-1,j})^{T}}\mathbf{J}_{r,k}\boldsymbol{\eta}_{gd,k}\Delta{t}+\underbrace{\Delta\tilde{\mathbf{R}}_{j,j}^{T}}_{\mathbf{I}}\mathbf{J}_{r,j-1}\boldsymbol{\eta}_{gd,j-1}\Delta{t}\\ &=\Delta\tilde{\mathbf{R}}_{j-1,j}^{T}\sum_{k=i}^{j-2}\Delta\tilde{\mathbf{R}}_{k+1,j-1}^{T}\mathbf{J}_{r,k}\boldsymbol{\eta}_{gd,k}\Delta{t}+\mathbf{J}_{r,j-1}\boldsymbol{\eta}_{gd,j-1}\Delta{t}\\ &=\Delta\tilde{\mathbf{R}}_{j-1,j}^{T}\delta\boldsymbol{\phi}_{i,j-1}+\mathbf{J}_{r,j-1}\boldsymbol{\eta}_{gd,j-1}\Delta{t}\tag{12} \end{align*}
δϕij=k=i∑j−1ΔR~k+1,jTJr,kηgd,kΔt=k=i∑j−2(ΔR~k+1,j−1ΔR~j−1,j)T
ΔR~k+1,jTJr,kηgd,kΔt+I
ΔR~j,jTJr,j−1ηgd,j−1Δt=ΔR~j−1,jTk=i∑j−2ΔR~k+1,j−1TJr,kηgd,kΔt+Jr,j−1ηgd,j−1Δt=ΔR~j−1,jTδϕi,j−1+Jr,j−1ηgd,j−1Δt(12)
3.2、预积分速度误差传播
若
j
>
i
j>i
j>i,则可将预积分速度误差表达式
(
8
)
(8)
(8)写成递推形式
δ
v
i
j
=
∑
k
=
i
j
−
1
[
Δ
R
~
i
j
η
a
d
,
k
Δ
t
−
Δ
R
~
i
j
(
a
~
k
−
b
a
,
i
)
∧
δ
ϕ
i
j
Δ
t
]
=
∑
k
=
i
j
−
2
[
Δ
R
~
i
j
η
a
d
,
k
Δ
t
−
Δ
R
~
i
j
(
a
~
k
−
b
a
,
i
)
∧
δ
ϕ
i
j
Δ
t
]
+
Δ
R
~
i
,
j
−
1
η
a
d
,
j
−
1
Δ
t
−
Δ
R
~
i
,
j
−
1
(
a
~
j
−
1
−
b
a
,
i
)
∧
δ
ϕ
i
,
j
−
1
Δ
t
=
δ
v
i
,
j
−
1
+
Δ
R
~
i
,
j
−
1
η
a
d
,
j
−
1
Δ
t
−
Δ
R
~
i
,
j
−
1
(
a
~
j
−
1
−
b
a
,
i
)
∧
δ
ϕ
i
,
j
−
1
Δ
t
\begin{align*} \delta\mathbf{\mathbf{v}}_{ij}&=\sum_{k=i}^{j-1}\left[\Delta\tilde{\mathbf{R}}_{ij}\boldsymbol{\eta}_{ad,k}\Delta{t}-\Delta\tilde{\mathbf{R}}_{ij}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{ij}\Delta{t}\right]\\ &=\sum_{k=i}^{j-2}\left[\Delta\tilde{\mathbf{R}}_{ij}\boldsymbol{\eta}_{ad,k}\Delta{t}-\Delta\tilde{\mathbf{R}}_{ij}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{ij}\Delta{t}\right]+ \Delta\tilde{\mathbf{R}}_{i,j-1}\boldsymbol{\eta}_{ad,j-1}\Delta{t}-\Delta\tilde{\mathbf{R}}_{i,j-1}(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{i,j-1}\Delta{t}\\ &=\delta\mathbf{\mathbf{v}}_{i,j-1}+ \Delta\tilde{\mathbf{R}}_{i,j-1}\boldsymbol{\eta}_{ad,j-1}\Delta{t}-\Delta\tilde{\mathbf{R}}_{i,j-1}(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{i,j-1}\Delta{t}\tag{13} \end{align*}
δvij=k=i∑j−1[ΔR~ijηad,kΔt−ΔR~ij(a~k−ba,i)∧δϕijΔt]=k=i∑j−2[ΔR~ijηad,kΔt−ΔR~ij(a~k−ba,i)∧δϕijΔt]+ΔR~i,j−1ηad,j−1Δt−ΔR~i,j−1(a~j−1−ba,i)∧δϕi,j−1Δt=δvi,j−1+ΔR~i,j−1ηad,j−1Δt−ΔR~i,j−1(a~j−1−ba,i)∧δϕi,j−1Δt(13)
3.3、预积分位移误差传播
若
j
>
i
j>i
j>i,则可将预积分位移误差表达式
(
1
i
0
)
(1i_0)
(1i0)写成递推形式
δ
p
i
j
=
∑
k
=
i
j
−
1
[
δ
v
i
k
Δ
t
−
1
2
Δ
R
~
i
k
(
a
~
k
−
b
a
,
i
)
∧
δ
ϕ
i
k
Δ
t
2
+
1
2
Δ
R
~
i
k
η
a
d
,
k
Δ
t
2
]
=
∑
k
=
i
j
−
2
[
δ
v
i
k
Δ
t
−
1
2
Δ
R
~
i
k
(
a
~
k
−
b
a
,
i
)
∧
δ
ϕ
i
k
Δ
t
2
+
1
2
Δ
R
~
i
k
η
a
d
,
k
Δ
t
2
]
+
δ
v
i
,
j
−
1
Δ
t
−
1
2
Δ
R
~
i
,
j
−
1
(
a
~
j
−
1
−
b
a
,
i
)
∧
δ
ϕ
i
,
j
−
1
Δ
t
2
+
1
2
Δ
R
~
i
,
j
−
1
η
a
d
,
j
−
1
Δ
t
2
=
δ
p
i
,
j
−
1
+
δ
v
i
,
j
−
1
Δ
t
−
1
2
Δ
R
~
i
,
j
−
1
(
a
~
j
−
1
−
b
a
,
i
)
∧
δ
ϕ
i
,
j
−
1
Δ
t
2
+
1
2
Δ
R
~
i
,
j
−
1
η
a
d
,
j
−
1
Δ
t
2
\begin{align*} \delta\mathbf{\mathbf{p}}_{ij} &=\sum_{k=i}^{j-1}\left[\delta\mathbf{\mathbf{v}}_{ik}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{ik}\Delta{t}^{2}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}\boldsymbol{\eta}_{ad,k}\Delta{t}^{2}\right]\\ &=\sum_{k=i}^{j-2}\left[\delta\mathbf{\mathbf{v}}_{ik}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{ik}\Delta{t}^{2}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{ik}\boldsymbol{\eta}_{ad,k}\Delta{t}^{2}\right]+ \delta\mathbf{\mathbf{v}}_{i,j-1}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{i,j-1}(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{i,j-1}\Delta{t}^{2}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{i,j-1}\boldsymbol{\eta}_{ad,j-1}\Delta{t}^{2}\\ &=\delta\mathbf{\mathbf{p}}_{i,j-1}+\delta\mathbf{\mathbf{v}}_{i,j-1}\Delta{t}-\frac{1}{2}\Delta\tilde{\mathbf{R}}_{i,j-1}(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{a,i})^{\wedge}\delta\boldsymbol{\phi}_{i,j-1}\Delta{t}^{2}+\frac{1}{2}\Delta\tilde{\mathbf{R}}_{i,j-1}\boldsymbol{\eta}_{ad,j-1}\Delta{t}^{2}\tag{14} \end{align*}
δpij=k=i∑j−1[δvikΔt−21ΔR~ik(a~k−ba,i)∧δϕikΔt2+21ΔR~ikηad,kΔt2]=k=i∑j−2[δvikΔt−21ΔR~ik(a~k−ba,i)∧δϕikΔt2+21ΔR~ikηad,kΔt2]+δvi,j−1Δt−21ΔR~i,j−1(a~j−1−ba,i)∧δϕi,j−1Δt2+21ΔR~i,j−1ηad,j−1Δt2=δpi,j−1+δvi,j−1Δt−21ΔR~i,j−1(a~j−1−ba,i)∧δϕi,j−1Δt2+21ΔR~i,j−1ηad,j−1Δt2(14)
3.4、预积分误差传播
定义IMU测量噪声为 η d , k = [ η g d , k T , η a d , k T ] T \boldsymbol{\eta}_{d,k}=[\boldsymbol{\eta}_{gd,k}^{T},\boldsymbol{\eta}_{ad,k}^{T}]^{T} ηd,k=[ηgd,kT,ηad,kT]T
若
j
>
i
j>i
j>i,则可根据
(
12
)
,
(
13
)
,
(
14
)
(12),(13),(14)
(12),(13),(14)将预积分误差写成递推形式
δ
(
Δ
x
i
j
)
=
A
j
−
1
δ
(
Δ
x
i
,
j
−
1
)
+
B
j
−
1
η
d
,
j
−
1
(15)
\delta(\Delta\mathbf{x}_{ij})=\mathbf{A}_{j-1}\delta(\Delta\mathbf{x}_{i,j-1})+\mathbf{B}_{j-1}\boldsymbol{\eta}_{d,j-1}\tag{15}
δ(Δxij)=Aj−1δ(Δxi,j−1)+Bj−1ηd,j−1(15)
其中系数矩阵为
A
j
−
1
=
[
Δ
R
~
j
−
1
,
j
T
O
O
−
Δ
R
~
i
j
(
a
~
k
−
b
a
,
i
)
∧
Δ
t
I
O
−
1
2
Δ
R
~
i
,
j
−
1
(
a
~
j
−
1
−
b
a
,
i
)
∧
Δ
t
2
Δ
t
I
O
]
B
j
−
1
=
[
J
r
,
j
−
1
Δ
t
O
O
Δ
R
~
i
,
j
−
1
Δ
t
O
1
2
R
~
i
,
j
−
1
Δ
t
2
]
\mathbf{A}_{j-1}= \begin{bmatrix} \Delta\tilde{\mathbf{R}}_{j-1,j}^{T}&\mathbf{O}&\mathbf{O}\\ -\Delta\tilde{\mathbf{R}}_{ij}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,i})^{\wedge}\Delta{t}&\mathbf{I}&\mathbf{O}\\ -\frac{1}{2}\Delta\tilde{\mathbf{R}}_{i,j-1}(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{a,i})^{\wedge}\Delta{t}^{2}&\Delta{t}\mathbf{I}&\mathbf{O} \end{bmatrix}\quad \mathbf{B}_{j-1}= \begin{bmatrix} \mathbf{J}_{r,j-1}\Delta{t}&\mathbf{O}\\ \mathbf{O}&\Delta\tilde{\mathbf{R}}_{i,j-1}\Delta{t}\\ \mathbf{O}&\frac{1}{2}\tilde{\mathbf{R}}_{i,j-1}\Delta{t}^{2} \end{bmatrix}
Aj−1=
ΔR~j−1,jT−ΔR~ij(a~k−ba,i)∧Δt−21ΔR~i,j−1(a~j−1−ba,i)∧Δt2OIΔtIOOO
Bj−1=
Jr,j−1ΔtOOOΔR~i,j−1Δt21R~i,j−1Δt2
记
Σ
(
η
d
,
k
)
∈
R
6
×
6
\boldsymbol{\Sigma}(\boldsymbol{\eta}_{d,k})\in\mathbb{R}^{6\times6}
Σ(ηd,k)∈R6×6是
η
d
,
k
\boldsymbol{\eta}_{d,k}
ηd,k的协方差矩阵,该矩阵在不同时刻恒定,且已给定,又记为
Σ
(
η
d
)
\boldsymbol{\Sigma}(\boldsymbol{\eta}_{d})
Σ(ηd)。
Σ
(
δ
(
Δ
x
i
j
)
)
=
A
j
−
1
Σ
(
δ
(
Δ
x
i
,
j
−
1
)
)
A
j
−
1
T
+
B
j
−
1
Σ
(
η
d
)
B
j
−
1
T
(16)
\boldsymbol\Sigma(\delta(\Delta\mathbf{x}_{ij}))=\mathbf{A}_{j-1}\boldsymbol\Sigma(\delta(\Delta\mathbf{x}_{i,j-1}))\mathbf{A}_{j-1}^{T}+\mathbf{B}_{j-1}\boldsymbol{\Sigma}(\boldsymbol{\eta}_{d})\mathbf{B}_{j-1}^{T}\tag{16}
Σ(δ(Δxij))=Aj−1Σ(δ(Δxi,j−1))Aj−1T+Bj−1Σ(ηd)Bj−1T(16)
因为
δ
(
Δ
x
i
i
)
=
0
\delta(\Delta\mathbf{x}_{ii})=\mathbf{0}
δ(Δxii)=0,而常量的协方差矩阵是零矩阵,因此初始值
Σ
(
δ
(
Δ
x
i
i
)
)
=
O
\boldsymbol\Sigma(\delta(\Delta\mathbf{x}_{ii}))=\mathbf{O}
Σ(δ(Δxii))=O
根据 ( 15 ) (15) (15)可知,在递推过程中预积分误差均值保持为 0 \mathbf{0} 0,故 δ ( Δ x i j ) ∼ N ( 0 , Σ ( δ ( Δ x i j ) ) \delta(\Delta\mathbf{x}_{ij})\sim\mathcal{N}(\mathbf{0},\boldsymbol\Sigma(\delta(\Delta\mathbf{x}_{ij})) δ(Δxij)∼N(0,Σ(δ(Δxij))