IMU预积分推导(三)

IMU预积分推导系列文章
IMU预积分推导(一)
IMU预积分推导(二)
IMU预积分推导(三)

5.1、先验残差对状态增量的雅可比矩阵

( 31 ) (31) (31)中,只有先验旋转残差对增量 δ ϕ i 0 \delta\boldsymbol\phi_{i_0} δϕi0的雅可比矩阵不能直接看出,需要求解,其他雅可比容易看出
r R i 0 ( R i 0 E x p ( δ ϕ i 0 ) ) = L o g ( R ˇ i 0 T R i 0 E x p ( δ ϕ i 0 ) ) = L o g ( R ˇ i 0 T R i 0 ) + J r − 1 ( L o g ( R ˇ i 0 T R i 0 ) ) δ ϕ i 0 \begin{align*} \mathbf{r}_{\mathbf{R}_{i_0}}(\mathbf{R}_{i_0}\mathrm{Exp}(\delta\boldsymbol\phi_{i_0})) &=\mathrm{Log}\left(\check{\mathbf{R}}_{i_0}^{T}\mathbf{R}_{i_0}\mathrm{Exp}(\delta\boldsymbol\phi_{i_0})\right)\\ &=\mathrm{Log}\left(\check{\mathbf{R}}_{i_0}^{T}\mathbf{R}_{i_0}\right)+\mathbf{J}_{r}^{-1}\left(\mathrm{Log}\left(\check{\mathbf{R}}_{i_0}^{T}\mathbf{R}_{i_0}\right)\right)\delta\boldsymbol\phi_{i_0} \end{align*} rRi0(Ri0Exp(δϕi0))=Log(Rˇi0TRi0Exp(δϕi0))=Log(Rˇi0TRi0)+Jr1(Log(Rˇi0TRi0))δϕi0
故先验残差对状态增量的雅可比矩阵为
∂ r R i 0 ∂ δ ϕ i 0 = J r − 1 ( L o g ( R ˇ i 0 T R i 0 ) ) ∂ r R i 0 ∂ δ p i 0 = O ∂ r R i 0 ∂ δ v i 0 = O ∂ r R i 0 ∂ δ b g , i 0 = O ∂ r R i 0 ∂ δ b a , i 0 = O ∂ r p i 0 ∂ δ ϕ i 0 = O ∂ r p i 0 ∂ δ p i 0 = I ∂ r p i 0 ∂ δ v i 0 = O ∂ r p i 0 ∂ δ b g , i 0 = O ∂ r p i 0 ∂ δ b a , i 0 = O ∂ r v i 0 ∂ δ ϕ i 0 = O ∂ r v i 0 ∂ δ p i 0 = O ∂ r v i 0 ∂ δ v i 0 = I ∂ r v i 0 ∂ δ b g , i 0 = O ∂ r v i 0 ∂ δ b a , i 0 = O ∂ r b g , i 0 ∂ δ ϕ i 0 = O ∂ r b g , i 0 ∂ δ p i 0 = O ∂ r b g , i 0 ∂ δ v i 0 = O ∂ r b g , i 0 ∂ δ b g , i 0 = I ∂ r b g , i 0 ∂ δ b a , i 0 = O ∂ r b a , i 0 ∂ δ ϕ i 0 = O ∂ r b a , i 0 ∂ δ p i 0 = O ∂ r b a , i 0 ∂ δ v i 0 = O ∂ r b a , i 0 ∂ δ b g , i 0 = O ∂ r b a , i 0 ∂ δ b a , i 0 = I \begin{array}{lllll} &\frac{\partial\mathbf{r}_{\mathbf{R}_{i_0}}}{\partial\delta\boldsymbol\phi_{i_0}} =\mathbf{J}_{r}^{-1}\left(\mathrm{Log}\left(\check{\mathbf{R}}_{i_0}^{T}\mathbf{R}_{i_0}\right)\right) &\frac{\partial\mathbf{r}_{\mathbf{R}_{i_0}}}{\partial\delta\mathbf{p}_{i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{R}_{i_0}}}{\partial\delta\mathbf{v}_{i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{R}_{i_0}}}{\partial\delta\mathbf{b}_{g,i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{R}_{i_0}}}{\partial\delta\mathbf{b}_{a,i_0}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}_{\mathbf{p}_{i_0}}}{\partial\delta\boldsymbol\phi_{i_0}} =\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{p}_{i_0}}}{\partial\delta\mathbf{p}_{i_0}}=\mathbf{I} &\frac{\partial\mathbf{r}_{\mathbf{p}_{i_0}}}{\partial\delta\mathbf{v}_{i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{p}_{i_0}}}{\partial\delta\mathbf{b}_{g,i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{p}_{i_0}}}{\partial\delta\mathbf{b}_{a,i_0}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}_{\mathbf{v}_{i_0}}}{\partial\delta\boldsymbol\phi_{i_0}} =\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{v}_{i_0}}}{\partial\delta\mathbf{p}_{i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{v}_{i_0}}}{\partial\delta\mathbf{v}_{i_0}}=\mathbf{I} &\frac{\partial\mathbf{r}_{\mathbf{v}_{i_0}}}{\partial\delta\mathbf{b}_{g,i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{v}_{i_0}}}{\partial\delta\mathbf{b}_{a,i_0}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}_{\mathbf{b}_{g,i_0}}}{\partial\delta\boldsymbol\phi_{i_0}} =\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{b}_{g,i_0}}}{\partial\delta\mathbf{p}_{i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{b}_{g,i_0}}}{\partial\delta\mathbf{v}_{i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{b}_{g,i_0}}}{\partial\delta\mathbf{b}_{g,i_0}}=\mathbf{I} &\frac{\partial\mathbf{r}_{\mathbf{b}_{g,i_0}}}{\partial\delta\mathbf{b}_{a,i_0}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}_{\mathbf{b}_{a,i_0}}}{\partial\delta\boldsymbol\phi_{i_0}} =\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{b}_{a,i_0}}}{\partial\delta\mathbf{p}_{i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{b}_{a,i_0}}}{\partial\delta\mathbf{v}_{i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{b}_{a,i_0}}}{\partial\delta\mathbf{b}_{g,i_0}}=\mathbf{O} &\frac{\partial\mathbf{r}_{\mathbf{b}_{a,i_0}}}{\partial\delta\mathbf{b}_{a,i_0}}=\mathbf{I}\\ \end{array} δϕi0rRi0=Jr1(Log(Rˇi0TRi0))δϕi0rpi0=Oδϕi0rvi0=Oδϕi0rbg,i0=Oδϕi0rba,i0=Oδpi0rRi0=Oδpi0rpi0=Iδpi0rvi0=Oδpi0rbg,i0=Oδpi0rba,i0=Oδvi0rRi0=Oδvi0rpi0=Oδvi0rvi0=Iδvi0rbg,i0=Oδvi0rba,i0=Oδbg,i0rRi0=Oδbg,i0rpi0=Oδbg,i0rvi0=Oδbg,i0rbg,i0=Iδbg,i0rba,i0=Oδba,i0rRi0=Oδba,i0rpi0=Oδba,i0rvi0=Oδba,i0rbg,i0=Oδba,i0rba,i0=I
5.2、递推残差对状态增量的雅可比矩阵

递推陀螺仪零偏残差对增量雅的可比矩阵为
∂ r b g , j ∂ δ b g , i = − I ∂ r b g , j ∂ δ b g , j = I \begin{align*} &\frac{\partial\mathbf{r}_{\mathbf{b}_{g,j}}}{\partial\delta\mathbf{b}_{g,i}}=-\mathbf{I} \quad&\frac{\partial\mathbf{r}_{\mathbf{b}_{g,j}}}{\partial\delta\mathbf{b}_{g,j}}=\mathbf{I}\\ \end{align*} δbg,irbg,j=Iδbg,jrbg,j=I
递推加速度计零偏残差对增量的雅可比矩阵为
∂ r b a , j ∂ δ b a , i = − I ∂ r b a , j ∂ δ b a , j = I \begin{align*} &\frac{\partial\mathbf{r}_{\mathbf{b}_{a,j}}}{\partial\delta\mathbf{b}_{a,i}}=-\mathbf{I} \quad &\frac{\partial\mathbf{r}_{\mathbf{b}_{a,j}}}{\partial\delta\mathbf{b}_{a,j}}=\mathbf{I}\\ \end{align*} δba,irba,j=Iδba,jrba,j=I
5.3、预积分旋转残差对状态增量的雅可比矩阵

预积分旋转残差和 R i , R j , b g , i \mathbf{R}_{i},\mathbf{R}_{j},\mathbf{b}_{g,i} Ri,Rj,bg,i相关,因此对增量 δ ϕ i , δ ϕ j , δ b g , i \delta\boldsymbol{\phi}_{i},\delta\boldsymbol{\phi}_{j},\delta\mathbf{b}_{g,i} δϕi,δϕj,δbg,i的雅可比矩阵需要求解,对其余增量 δ p i , δ v i , δ p j , δ v j , δ b a , i \delta\mathbf{p}_{i},\delta\mathbf{v}_{i},\delta\mathbf{p}_{j},\delta\mathbf{v}_{j},\delta\mathbf{b}_{a,i} δpi,δvi,δpj,δvj,δba,i的雅可比矩阵为零矩阵

展开求解预积分旋转残差对 δ ϕ i \delta\boldsymbol{\phi}_{i} δϕi的雅可比矩阵
r Δ R i j ( R i E x p ( δ ϕ i ) ) = L o g [ ( Δ R ~ i j ) T ( R i E x p ( δ ϕ i ) ) T R j ] = L o g [ ( Δ R ~ i j ) T E x p ( − δ ϕ i ) T R i T R j ] = L o g [ ( Δ R ~ i j ) T R i T R j E x p ( − R j T R i δ ϕ i ) ] = L o g { E x p [ L o g ( ( Δ R ~ i j ) T R i T R j ) ] E x p ( − R j T R i δ ϕ i ) } = L o g [ E x p ( r Δ R i j ( R i ) ) E x p ( − R j T R i δ ϕ i ) ] = r Δ R i j ( R i ) − J r − 1 ( r Δ R i j ( R i ) ) R j T R i δ ϕ i \begin{align*} \mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{R}_{i}\mathrm{Exp}(\delta\boldsymbol{\phi}_{i})) &=\mathrm{Log}\left[(\Delta\tilde{\mathbf{R}}_{ij})^{T}(\mathbf{R}_{i}\mathrm{Exp}(\delta\boldsymbol{\phi}_{i}))^{T}\mathbf{R}_{j}\right]\\ &=\mathrm{Log}\left[(\Delta\tilde{\mathbf{R}}_{ij})^{T}\mathrm{Exp}(-\delta\boldsymbol{\phi}_{i})^{T}\mathbf{R}_{i}^{T}\mathbf{R}_{j}\right]\\ &=\mathrm{Log}\left[(\Delta\tilde{\mathbf{R}}_{ij})^{T}\mathbf{R}_{i}^{T}\mathbf{R}_{j}\mathrm{Exp}(-\mathbf{R}_{j}^{T}\mathbf{R}_{i}\delta\boldsymbol{\phi}_{i})\right]\\ &=\mathrm{Log}\left\{\mathrm{Exp}\left[\mathrm{Log}\left((\Delta\tilde{\mathbf{R}}_{ij})^{T}\mathbf{R}_{i}^{T}\mathbf{R}_{j}\right)\right]\mathrm{Exp}(-\mathbf{R}_{j}^{T}\mathbf{R}_{i}\delta\boldsymbol{\phi}_{i})\right\}\\ &=\mathrm{Log}\left[\mathrm{Exp}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{R}_{i}))\mathrm{Exp}(-\mathbf{R}_{j}^{T}\mathbf{R}_{i}\delta\boldsymbol{\phi}_{i})\right]\\ &=\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{R}_{i})-\mathbf{J}_{r}^{-1}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{R}_{i}))\mathbf{R}_{j}^{T}\mathbf{R}_{i}\delta\boldsymbol{\phi}_{i} \end{align*} rΔRij(RiExp(δϕi))=Log[(ΔR~ij)T(RiExp(δϕi))TRj]=Log[(ΔR~ij)TExp(δϕi)TRiTRj]=Log[(ΔR~ij)TRiTRjExp(RjTRiδϕi)]=Log{Exp[Log((ΔR~ij)TRiTRj)]Exp(RjTRiδϕi)}=Log[Exp(rΔRij(Ri))Exp(RjTRiδϕi)]=rΔRij(Ri)Jr1(rΔRij(Ri))RjTRiδϕi
展开求解预积分旋转残差对 δ ϕ j \delta\boldsymbol{\phi}_{j} δϕj的雅可比矩阵
r Δ R i j ( R j E x p ( δ ϕ j ) ) = L o g [ ( Δ R ~ i j ) T R i R j E x p ( δ ϕ j ) ] = L o g { E x p [ L o g ( ( Δ R ~ i j ) T R i T R j ) ] E x p ( δ ϕ i ) } = L o g [ E x p ( r Δ R i j ( R i ) ) E x p ( δ ϕ i ) ] = r Δ R i j ( R i ) + J r − 1 ( r Δ R i j ( R i ) ) δ ϕ i \begin{align*} \mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{R}_{j}\mathrm{Exp}(\delta\boldsymbol{\phi}_{j})) &=\mathrm{Log}\left[(\Delta\tilde{\mathbf{R}}_{ij})^{T}\mathbf{R}_{i}\mathbf{R}_{j}\mathrm{Exp}(\delta\boldsymbol{\phi}_{j})\right]\\ &=\mathrm{Log}\left\{\mathrm{Exp}\left[\mathrm{Log}\left((\Delta\tilde{\mathbf{R}}_{ij})^{T}\mathbf{R}_{i}^{T}\mathbf{R}_{j}\right)\right]\mathrm{Exp}(\delta\boldsymbol{\phi}_{i})\right\}\\ &=\mathrm{Log}\left[\mathrm{Exp}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{R}_{i}))\mathrm{Exp}(\delta\boldsymbol{\phi}_{i})\right]\\ &=\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{R}_{i})+\mathbf{J}_{r}^{-1}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{R}_{i}))\delta\boldsymbol{\phi}_{i} \end{align*} rΔRij(RjExp(δϕj))=Log[(ΔR~ij)TRiRjExp(δϕj)]=Log{Exp[Log((ΔR~ij)TRiTRj)]Exp(δϕi)}=Log[Exp(rΔRij(Ri))Exp(δϕi)]=rΔRij(Ri)+Jr1(rΔRij(Ri))δϕi
展开求解预积分旋转残差对 δ b g , i \delta\mathbf{b}_{g,i} δbg,i的雅可比矩阵,其中预积分观测量通过 ( 17 a ) \mathrm{(17a)} (17a)进行修正
r Δ R i j ( b g , i + δ b g , i ) ) = L o g { [ Δ R ~ i j ( b g , i ) E x p ( ∂ Δ R ~ i j ∂ b g , i δ b g , i ) ] T Δ R i j } = L o g [ E x p ( − ∂ Δ R ~ i j ∂ b g , i δ b g , i ) Δ R ~ i j ( b g , i ) T Δ R i j ] = L o g [ E x p ( − ∂ Δ R ~ i j ∂ b g , i δ b g , i ) E x p ( L o g ( Δ R ~ i j ( b g , i ) T Δ R i j ) ) ] = L o g [ E x p ( − ∂ Δ R ~ i j ∂ b g , i δ b g , i ) E x p ( r Δ R i j ( b g , i ) ) ] = L o g [ E x p ( r Δ R i j ( b g , i ) ) E x p ( − E x p ( r Δ R i j ( b g , i ) ) T ∂ Δ R ~ i j ∂ b g , i δ b g , i ) ] = r Δ R i j ( b g , i ) ) − J r ( r Δ R i j ( b g , i ) ) − 1 E x p ( r Δ R i j ( b g , i ) ) T ∂ Δ R ~ i j ∂ b g , i δ b g , i \begin{align*} \mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i})) &=\mathrm{Log}\left\{\left[\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)\right]^{T}\Delta{\mathbf{R}}_{ij}\right\}\\ &=\mathrm{Log}\left[\mathrm{Exp}\left(-\frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}\right)\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i})^{T}\Delta{\mathbf{R}}_{ij}\right]\\ &=\mathrm{Log}\left[\mathrm{Exp}\left(-\frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}\right)\mathrm{Exp}\left(\mathrm{Log}\left(\Delta\tilde{\mathbf{R}}_{ij}(\mathbf{b}_{g,i})^{T}\Delta{\mathbf{R}}_{ij}\right)\right)\right]\\ &=\mathrm{Log}\left[\mathrm{Exp}\left(-\frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}\right)\mathrm{Exp}\left(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{b}_{g,i})\right)\right]\\ &=\mathrm{Log}\left[\mathrm{Exp}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{b}_{g,i}))\mathrm{Exp}\left(-\mathrm{Exp}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{b}_{g,i}))^{T}\frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i}\right)\right]\\ &=\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{b}_{g,i}))-\mathbf{J}_{r}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{b}_{g,i}))^{-1}\mathrm{Exp}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{b}_{g,i}))^{T}\frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}}\delta\mathbf{b}_{g,i} \end{align*} rΔRij(bg,i+δbg,i))=Log [ΔR~ij(bg,i)Exp(bg,iΔR~ijδbg,i)]TΔRij =Log[Exp(bg,iΔR~ijδbg,i)ΔR~ij(bg,i)TΔRij]=Log[Exp(bg,iΔR~ijδbg,i)Exp(Log(ΔR~ij(bg,i)TΔRij))]=Log[Exp(bg,iΔR~ijδbg,i)Exp(rΔRij(bg,i))]=Log[Exp(rΔRij(bg,i))Exp(Exp(rΔRij(bg,i))Tbg,iΔR~ijδbg,i)]=rΔRij(bg,i))Jr(rΔRij(bg,i))1Exp(rΔRij(bg,i))Tbg,iΔR~ijδbg,i
综上可得到预积分旋转残差对状态增量的雅可比矩阵
∂ r Δ R i j ∂ δ ϕ i = − J r − 1 ( r Δ R i j ( R i ) ) R j T R i ∂ r Δ R i j ∂ δ ϕ j = J r − 1 ( r Δ R i j ( R i ) ) ∂ r Δ R i j ∂ δ p i = O ∂ r Δ R i j ∂ δ p j = O ∂ r Δ R i j ∂ δ v i = O ∂ r Δ R i j ∂ δ v j = O ∂ r Δ R i j ∂ δ b g , i = − J r ( r Δ R i j ( b g , i ) ) − 1 E x p ( r Δ R i j ( b g , i ) ) T ∂ Δ R ~ i j ∂ b g , i ∂ r Δ R i j ∂ δ b a , i = O \begin{array}{ll} &\frac{\partial\mathbf{r}_{\Delta\mathbf{R}_{ij}}}{\partial\delta\boldsymbol{\phi}_{i}}=-\mathbf{J}_{r}^{-1}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{R}_{i}))\mathbf{R}_{j}^{T}\mathbf{R}_{i} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{R}_{ij}}}{\partial\delta\boldsymbol{\phi}_{j}}=\mathbf{J}_{r}^{-1}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{R}_{i}))\\ &\frac{\partial\mathbf{r}_{\Delta\mathbf{R}_{ij}}}{\partial\delta\mathbf{p}_{i}}=\mathbf{O} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{R}_{ij}}}{\partial\delta\mathbf{p}_{j}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}_{\Delta\mathbf{R}_{ij}}}{\partial\delta\mathbf{v}_{i}}=\mathbf{O} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{R}_{ij}}}{\partial\delta\mathbf{v}_{j}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}_{\Delta\mathbf{R}_{ij}}}{\partial\delta\mathbf{b}_{g,i}}=-\mathbf{J}_{r}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{b}_{g,i}))^{-1}\mathrm{Exp}(\mathbf{r}_{\Delta\mathbf{R}_{ij}}(\mathbf{b}_{g,i}))^{T}\frac{\partial{\Delta\tilde{\mathbf{R}}_{ij}}}{\partial\mathbf{b}_{g,i}} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{R}_{ij}}}{\partial\delta\mathbf{b}_{a,i}}=\mathbf{O}\\ \end{array} δϕirΔRij=Jr1(rΔRij(Ri))RjTRiδpirΔRij=OδvirΔRij=Oδbg,irΔRij=Jr(rΔRij(bg,i))1Exp(rΔRij(bg,i))Tbg,iΔR~ijδϕjrΔRij=Jr1(rΔRij(Ri))δpjrΔRij=OδvjrΔRij=Oδba,irΔRij=O
5.4、预积分速度残差对状态增量的雅可比矩阵

速度残差和 R i , v i , v j , b g , i , b a , i \mathbf{R}_{i},\mathbf{v}_{i},\mathbf{v}_{j},\mathbf{b}_{g,i},\mathbf{b}_{a,i} Ri,vi,vj,bg,i,ba,i和相关,因此对增量 δ ϕ i , δ v i , δ v j , δ b g , i , δ b a , i \delta\boldsymbol{\phi}_{i},\delta\mathbf{v}_{i},\delta\mathbf{v}_{j},\delta\mathbf{b}_{g,i},\delta\mathbf{b}_{a,i} δϕi,δvi,δvj,δbg,i,δba,i的雅可比矩阵需要求解,对其余增量 δ ϕ j , δ p i , δ p j \delta\boldsymbol{\phi}_{j},\delta\mathbf{p}_{i},\delta\mathbf{p}_{j} δϕj,δpi,δpj的雅可比矩阵为零矩阵

展开求解预积分速度残差对 δ b g , i , δ b a , i \delta\mathbf{b}_{g,i},\delta\mathbf{b}_{a,i} δbg,i,δba,i的雅可比矩阵
r Δ v i j ( b g , i + δ b g , i , b a , i + δ b a , i ) = Δ v i j − ( Δ 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 ) = r Δ 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 \begin{align*} \mathbf{r}_{\Delta\mathbf{v}_{ij}}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i},\mathbf{b}_{a,i}+\delta\mathbf{b}_{a,i})&=\Delta\mathbf{v}_{ij}-\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)\\ &=\mathbf{r}_{\Delta\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} \end{align*} rΔvij(bg,i+δbg,i,ba,i+δba,i)=Δvij(Δv~ij(bg,i,ba,i)+bg,iΔv~ijδbg,i+ba,iΔv~ijδba,i)=rΔvij(bg,i,ba,i)bg,iΔv~ijδbg,iba,iΔv~ijδba,i
展开求解预积分速度残差对 δ v i \delta\mathbf{v}_{i} δvi的雅可比矩阵
r Δ v i j ( v i + δ v i ) = R i T ( v j − v i − δ v i − g Δ t i j ) − Δ v ~ i j = r Δ v i j ( v i ) − R i T δ v i \begin{align*} \mathbf{r}_{\Delta\mathbf{v}_{ij}}(\mathbf{v}_{i}+\delta\mathbf{v}_{i})&=\mathbf{R}_{i}^{T}(\mathbf{v}_{j}-\mathbf{v}_{i}-\delta\mathbf{v}_{i}-\mathbf{g}\Delta{t}_{ij})-\Delta\tilde{\mathbf{v}}_{ij}\\ &=\mathbf{r}_{\Delta\mathbf{v}_{ij}}(\mathbf{v}_{i})-\mathbf{R}_{i}^{T}\delta\mathbf{v}_{i} \end{align*} rΔvij(vi+δvi)=RiT(vjviδvigΔtij)Δv~ij=rΔvij(vi)RiTδvi
展开求解预积分速度残差对 δ v j \delta\mathbf{v}_{j} δvj的雅可比矩阵
r Δ v i j ( v j + δ v j ) = R i T ( v j + δ v j − v i − g Δ t i j ) − Δ v ~ i j = r Δ v i j ( v j ) + R i T δ v j \begin{align*} \mathbf{r}_{\Delta\mathbf{v}_{ij}}(\mathbf{v}_{j}+\delta\mathbf{v}_{j})&=\mathbf{R}_{i}^{T}(\mathbf{v}_{j}+\delta\mathbf{v}_{j}-\mathbf{v}_{i}-\mathbf{g}\Delta{t}_{ij})-\Delta\tilde{\mathbf{v}}_{ij}\\ &=\mathbf{r}_{\Delta\mathbf{v}_{ij}}(\mathbf{v}_{j})+\mathbf{R}_{i}^{T}\delta\mathbf{v}_{j} \end{align*} rΔvij(vj+δvj)=RiT(vj+δvjvigΔtij)Δv~ij=rΔvij(vj)+RiTδvj
展开求解预积分速度残差对 δ ϕ i \delta\boldsymbol{\phi}_{i} δϕi的雅可比矩阵
r Δ v i j ( v j + δ v j ) = ( R i E x p ( δ ϕ i ) ) T ( v j − v i − g Δ t i j ) − Δ v ~ i j = E x p ( − δ ϕ i ) R i T ( v j − v i − g Δ t i j ) − Δ v ~ i j ≈ ( I − ( δ ϕ i ) ∧ ) R i T ( v j − v i − g Δ t i j ) − Δ v ~ i j = R i T ( v j − v i − g Δ t i j ) − Δ v ~ i j − ( δ ϕ i ) ∧ R i T ( v j − v i − g Δ t i j ) = r Δ v i j ( v j ) + [ R i T ( v j − v i − g Δ t i j ) ] ∧ δ ϕ i \begin{align*} \mathbf{r}_{\Delta\mathbf{v}_{ij}}(\mathbf{v}_{j}+\delta\mathbf{v}_{j})&=(\mathbf{R}_{i}\mathrm{Exp}(\delta\boldsymbol{\phi}_{i}))^{T}(\mathbf{v}_{j}-\mathbf{v}_{i}-\mathbf{g}\Delta{t}_{ij})-\Delta\tilde{\mathbf{v}}_{ij}\\ &=\mathrm{Exp}(-\delta\boldsymbol{\phi}_{i})\mathbf{R}_{i}^{T}(\mathbf{v}_{j}-\mathbf{v}_{i}-\mathbf{g}\Delta{t}_{ij})-\Delta\tilde{\mathbf{v}}_{ij}\\ &\approx\left(\mathbf{I}-(\delta\boldsymbol{\phi}_{i})^{\wedge}\right)\mathbf{R}_{i}^{T}(\mathbf{v}_{j}-\mathbf{v}_{i}-\mathbf{g}\Delta{t}_{ij})-\Delta\tilde{\mathbf{v}}_{ij}\\ &=\mathbf{R}_{i}^{T}(\mathbf{v}_{j}-\mathbf{v}_{i}-\mathbf{g}\Delta{t}_{ij})-\Delta\tilde{\mathbf{v}}_{ij}-(\delta\boldsymbol{\phi}_{i})^{\wedge}\mathbf{R}_{i}^{T}(\mathbf{v}_{j}-\mathbf{v}_{i}-\mathbf{g}\Delta{t}_{ij})\\ &=\mathbf{r}_{\Delta\mathbf{v}_{ij}}(\mathbf{v}_{j})+\left[\mathbf{R}_{i}^{T}(\mathbf{v}_{j}-\mathbf{v}_{i}-\mathbf{g}\Delta{t}_{ij})\right]^{\wedge}\delta\boldsymbol{\phi}_{i} \end{align*} rΔvij(vj+δvj)=(RiExp(δϕi))T(vjvigΔtij)Δv~ij=Exp(δϕi)RiT(vjvigΔtij)Δv~ij(I(δϕi))RiT(vjvigΔtij)Δv~ij=RiT(vjvigΔtij)Δv~ij(δϕi)RiT(vjvigΔtij)=rΔvij(vj)+[RiT(vjvigΔtij)]δϕi
综上可得到预积分速度残差对状态增量的雅可比矩阵
∂ r Δ v i j ∂ δ ϕ i = [ R i T ( v j − v i − g Δ t i j ) ] ∧ ∂ r Δ v i j ∂ δ ϕ j = O ∂ r Δ v i j ∂ δ p i = O ∂ r Δ v i j ∂ δ p j = O ∂ r Δ v i j ∂ δ v i = − R i T ∂ r Δ v i j ∂ δ v j = R i T ∂ r Δ v i j ∂ δ b g , i = − ∂ Δ v ~ i j ∂ b g , i ∂ r Δ v i j ∂ δ b a , i = − ∂ Δ v ~ i j ∂ b a , i \begin{array}{ll} &\frac{\partial\mathbf{r}_{\Delta\mathbf{v}_{ij}}}{\partial\delta\boldsymbol{\phi}_{i}}=\left[\mathbf{R}_{i}^{T}(\mathbf{v}_{j}-\mathbf{v}_{i}-\mathbf{g}\Delta{t}_{ij})\right]^{\wedge} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{v}_{ij}}}{\partial\delta\boldsymbol{\phi}_{j}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}_{\Delta\mathbf{v}_{ij}}}{\partial\delta\mathbf{p}_{i}}=\mathbf{O} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{v}_{ij}}}{\partial\delta\mathbf{p}_{j}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}_{\Delta\mathbf{v}_{ij}}}{\partial\delta\mathbf{v}_{i}}=-\mathbf{R}_{i}^{T} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{v}_{ij}}}{\partial\delta\mathbf{v}_{j}}=\mathbf{R}_{i}^{T}\\ &\frac{\partial\mathbf{r}_{\Delta\mathbf{v}_{ij}}}{\partial\delta\mathbf{b}_{g,i}}=-\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}}{\partial\mathbf{b}_{g,i}} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{v}_{ij}}}{\partial\delta\mathbf{b}_{a,i}}=-\frac{\partial\Delta\tilde{\mathbf{v}}_{ij}}{\partial\mathbf{b}_{a,i}}\\ \end{array} δϕirΔvij=[RiT(vjvigΔtij)]δpirΔvij=OδvirΔvij=RiTδbg,irΔvij=bg,iΔv~ijδϕjrΔvij=OδpjrΔvij=OδvjrΔvij=RiTδba,irΔvij=ba,iΔv~ij
5.5、预积分位移残差对状态增量的雅可比矩阵

位移残差和 R i , v i , p i , p j , b g , i , b a , i \mathbf{R}_{i},\mathbf{v}_{i},\mathbf{p}_{i},\mathbf{p}_{j},\mathbf{b}_{g,i},\mathbf{b}_{a,i} Ri,vi,pi,pj,bg,i,ba,i相关,因此对增量 δ ϕ i , δ v i , δ p i , δ p j , δ b g , i , δ b a , i \delta\boldsymbol{\phi}_{i},\delta\mathbf{v}_{i},\delta\mathbf{p}_{i},\delta\mathbf{p}_{j},\delta\mathbf{b}_{g,i},\delta\mathbf{b}_{a,i} δϕi,δvi,δpi,δpj,δbg,i,δba,i的雅可比矩阵需要求解,对其余增量 δ ϕ j , δ v j \delta\boldsymbol{\phi}_{j},\delta\mathbf{v}_{j} δϕj,δvj的雅可比矩阵为零矩阵

展开求解预积分位移残差对 δ b g , i , δ b a , i \delta\mathbf{b}_{g,i},\delta\mathbf{b}_{a,i} δbg,i,δba,i的雅可比矩阵
r Δ p i j ( b g , i + δ b g , i , b a , i + δ b a , i ) = Δ p i j − ( Δ 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 ) = r Δ 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*} \mathbf{r}_{\Delta\mathbf{p}_{ij}}(\mathbf{b}_{g,i}+\delta\mathbf{b}_{g,i},\mathbf{b}_{a,i}+\delta\mathbf{b}_{a,i})&=\Delta\mathbf{p}_{ij}-\left(\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}\right)\\ &=\mathbf{r}_{\Delta\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} \end{align*} rΔpij(bg,i+δbg,i,ba,i+δba,i)=Δpij(Δp~ij(bg,i,ba,i)+bg,iΔp~ijδbg,i+ba,iΔp~ijδba,i)=rΔpij(bg,i,ba,i)bg,iΔp~ijδbg,iba,iΔp~ijδba,i
展开求解预积分位移残差对 p j \mathbf{p}_{j} pj的雅可比矩阵
r Δ p i j ( p j + R j δ p j ) = R i T ( p j + R j δ p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) − Δ p ~ i j = r Δ p i j ( p j ) + R i T R j δ p j \begin{align*} \mathbf{r}_{\Delta\mathbf{p}_{ij}}(\mathbf{p}_{j}+\mathbf{R}_{j}\delta\mathbf{p}_{j}) &=\mathbf{R}_{i}^{T}(\mathbf{p}_{j}+\mathbf{R}_{j}\delta\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\mathbf{g}\Delta{t}_{ij}^{2})-\Delta\tilde{\mathbf{p}}_{ij}\\ &=\mathbf{r}_{\Delta\mathbf{p}_{ij}}(\mathbf{p}_{j})+\mathbf{R}_{i}^{T}\mathbf{R}_{j}\delta\mathbf{p}_{j} \end{align*} rΔpij(pj+Rjδpj)=RiT(pj+RjδpjpiviΔtij21gΔtij2)Δp~ij=rΔpij(pj)+RiTRjδpj
展开求解预积分位移残差对 p i \mathbf{p}_{i} pi的雅可比矩阵
r Δ p i j ( p i + R i δ p i ) = R i T ( p j − p i − R i δ p i − v i Δ t i j − 1 2 g Δ t i j 2 ) − Δ p ~ i j = r Δ p i j ( p i ) − δ p i \begin{align*} \mathbf{r}_{\Delta\mathbf{p}_{ij}}(\mathbf{p}_{i}+\mathbf{R}_{i}\delta\mathbf{p}_{i}) &=\mathbf{R}_{i}^{T}(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{R}_{i}\delta\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\mathbf{g}\Delta{t}_{ij}^{2})-\Delta\tilde{\mathbf{p}}_{ij}\\ &=\mathbf{r}_{\Delta\mathbf{p}_{ij}}(\mathbf{p}_{i})-\delta\mathbf{p}_{i} \end{align*} rΔpij(pi+Riδpi)=RiT(pjpiRiδpiviΔtij21gΔtij2)Δp~ij=rΔpij(pi)δpi
展开求解预积分位移残差对 v i \mathbf{v}_{i} vi的雅可比矩阵
r Δ p i j ( v i + δ v i ) = R i T ( p j − p i − v i Δ t i j − δ v i Δ t i j − 1 2 g Δ t i j 2 ) − Δ p ~ i j = r Δ p i j ( v i ) − R i T Δ t i j δ v i \begin{align*} \mathbf{r}_{\Delta\mathbf{p}_{ij}}(\mathbf{v}_{i}+\delta\mathbf{v}_{i}) &=\mathbf{R}_{i}^{T}(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\delta\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\mathbf{g}\Delta{t}_{ij}^{2})-\Delta\tilde{\mathbf{p}}_{ij}\\ &=\mathbf{r}_{\Delta\mathbf{p}_{ij}}(\mathbf{v}_{i})-\mathbf{R}_{i}^{T}\Delta{t}_{ij}\delta\mathbf{v}_{i} \end{align*} rΔpij(vi+δvi)=RiT(pjpiviΔtijδviΔtij21gΔtij2)Δp~ij=rΔpij(vi)RiTΔtijδvi
展开求解预积分位移残差对 ϕ i \boldsymbol{\phi}_{i} ϕi的雅可比矩阵
r Δ v i j ( R i E x p ( δ ϕ i ) ) = ( R i E x p ( δ ϕ i ) ) T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) − Δ p ~ i j = E x p ( − δ ϕ i ) R i T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) − Δ p ~ i j ≈ ( I − ( δ ϕ i ) ∧ ) R i T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) − Δ p ~ i j = R i T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) − Δ p ~ i j − ( δ ϕ i ) ∧ R i T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) = r Δ v i j ( R i ) + [ R i T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) ] ∧ δ ϕ i \begin{align*} \mathbf{r}_{\Delta\mathbf{v}_{ij}}(\mathbf{R}_{i}\mathrm{Exp}(\delta\boldsymbol{\phi}_{i})) &=(\mathbf{R}_{i}\mathrm{Exp}(\delta\boldsymbol{\phi}_{i}))^{T}(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\mathbf{g}\Delta{t}_{ij}^{2})-\Delta\tilde{\mathbf{p}}_{ij}\\ &=\mathrm{Exp}(-\delta\boldsymbol{\phi}_{i})\mathbf{R}_{i}^{T}(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\mathbf{g}\Delta{t}_{ij}^{2})-\Delta\tilde{\mathbf{p}}_{ij}\\ &\approx(\mathbf{I}-(\delta\boldsymbol{\phi}_{i})^{\wedge})\mathbf{R}_{i}^{T}(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\mathbf{g}\Delta{t}_{ij}^{2})-\Delta\tilde{\mathbf{p}}_{ij}\\ &=\mathbf{R}_{i}^{T}(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\mathbf{g}\Delta{t}_{ij}^{2})-\Delta\tilde{\mathbf{p}}_{ij}-(\delta\boldsymbol{\phi}_{i})^{\wedge}\mathbf{R}_{i}^{T}(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\mathbf{g}\Delta{t}_{ij}^{2})\\ &=\mathbf{r}_{\Delta\mathbf{v}_{ij}}(\mathbf{R}_{i})+\left[\mathbf{R}_{i}^{T}(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\mathbf{g}\Delta{t}_{ij}^{2})\right]^{\wedge}\delta\boldsymbol{\phi}_{i} \end{align*} rΔvij(RiExp(δϕi))=(RiExp(δϕi))T(pjpiviΔtij21gΔtij2)Δp~ij=Exp(δϕi)RiT(pjpiviΔtij21gΔtij2)Δp~ij(I(δϕi))RiT(pjpiviΔtij21gΔtij2)Δp~ij=RiT(pjpiviΔtij21gΔtij2)Δp~ij(δϕi)RiT(pjpiviΔtij21gΔtij2)=rΔvij(Ri)+[RiT(pjpiviΔtij21gΔtij2)]δϕi
综上可得到预积分位移残差对状态增量的雅可比矩阵
∂ r Δ p i j ∂ δ ϕ i = [ R i T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) ] ∧ ∂ r Δ p i j ∂ δ ϕ j = O ∂ r Δ p i j ∂ δ p i = − I ∂ r Δ p i j ∂ δ p j = R i T R j ∂ r Δ p i j ∂ δ v i = − R i T Δ t i j ∂ r Δ p i j ∂ δ v j = O ∂ r Δ p i j ∂ δ b g , i = − ∂ Δ p ~ i j ∂ b g , i ∂ r Δ p i j ∂ δ b a , i = − ∂ Δ p ~ i j ∂ b a , i \begin{array}{ll} &\frac{\partial\mathbf{r}_{\Delta\mathbf{p}_{ij}}}{\partial\delta\boldsymbol{\phi}_{i}}=\left[\mathbf{R}_{i}^{T}(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i}\Delta{t}_{ij}-\frac{1}{2}\mathbf{g}\Delta{t}_{ij}^{2})\right]^{\wedge} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{p}_{ij}}}{\partial\delta\boldsymbol{\phi}_{j}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}_{\Delta\mathbf{p}_{ij}}}{\partial\delta\mathbf{p}_{i}}=-\mathbf{I} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{p}_{ij}}}{\partial\delta\mathbf{p}_{j}}=\mathbf{R}_{i}^{T}\mathbf{R}_{j}\\ &\frac{\partial\mathbf{r}_{\Delta\mathbf{p}_{ij}}}{\partial\delta\mathbf{v}_{i}}=-\mathbf{R}_{i}^{T}\Delta{t}_{ij} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{p}_{ij}}}{\partial\delta\mathbf{v}_{j}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}_{\Delta\mathbf{p}_{ij}}}{\partial\delta\mathbf{b}_{g,i}}=-\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}}{\partial\mathbf{b}_{g,i}} \quad&\frac{\partial\mathbf{r}_{\Delta\mathbf{p}_{ij}}}{\partial\delta\mathbf{b}_{a,i}}=-\frac{\partial\Delta\tilde{\mathbf{p}}_{ij}}{\partial\mathbf{b}_{a,i}} \end{array} δϕirΔpij=[RiT(pjpiviΔtij21gΔtij2)]δpirΔpij=IδvirΔpij=RiTΔtijδbg,irΔpij=bg,iΔp~ijδϕjrΔpij=OδpjrΔpij=RiTRjδvjrΔpij=Oδba,irΔpij=ba,iΔp~ij

实验:预积分实现GINS系统定位

本实验通过预积分方案实现GINS系统定位

观测残差 r z i = r T i G = [ r R i G T , r p i G T ] T \mathbf{r}_{\mathbf{z}_{i}}=\mathbf{r}^{G}_{\mathbf{T}_{i}}=\left[{\mathbf{r}_{\mathbf{R}_{i}}^{G}}^{T},{\mathbf{r}^{G}_{\mathbf{p}_{i}}}^{T}\right]^{T} rzi=rTiG=[rRiGT,rpiGT]T,其中
r R i G = d e f L o g ( R ~ i G T R i ) r p i G = d e f p i − p ~ i G \begin{align*} \mathbf{r}^{G}_{\mathbf{R}_{i}}&\overset{\mathrm{def}}{=}\mathrm{Log}\left({\tilde{\mathbf{R}}^{G}_{i}}^{T}\mathbf{R}_{i}\right)\\ \quad\mathbf{r}^{G}_{\mathbf{p}_{i}}&\overset{\mathrm{def}}{=}\mathbf{p}_{i}-\tilde{\mathbf{p}}^{G}_{i}\\ \end{align*} rRiGrpiG=defLog(R~iGTRi)=defpip~iG
T ~ i G = [ R ~ i G , p ~ i G ] \tilde{\mathbf{T}}^{G}_{i}=[\tilde{\mathbf{R}}^{G}_{i},\tilde{\mathbf{p}}^{G}_{i}] T~iG=[R~iG,p~iG]为GNSS在第 i i i时刻观测到的位姿。暂不讨论 Σ ( z i ) \boldsymbol\Sigma({\mathbf{z}_{i}}) Σ(zi)求解。

GNSS旋转残差对增量 δ ϕ i \delta\boldsymbol\phi_{i} δϕi的雅可比矩阵不能直接看出,需要求解,其余雅可比容易看出
∂ r R i G ∂ δ ϕ i = J r − 1 ( L o g ( R ˇ i T R i ) ) ∂ r R i G ∂ δ p i = O ∂ r p i G ∂ δ ϕ i = O ∂ r p i G ∂ δ p i = I \begin{array}{ll} &\frac{\partial\mathbf{r}^{G}_{\mathbf{R}_{i}}}{\partial\delta\boldsymbol{\phi}_{i}}=\mathbf{J}_{r}^{-1}\left(\mathrm{Log}\left(\check{\mathbf{R}}_{i}^{T}\mathbf{R}_{i}\right)\right) &\frac{\partial\mathbf{r}^{G}_{\mathbf{R}_{i}}}{\partial\delta\mathbf{p}_{i}}=\mathbf{O}\\ &\frac{\partial\mathbf{r}^{G}_{\mathbf{p}_{i}}}{\partial\delta\boldsymbol{\phi}_{i}}=\mathbf{O} &\frac{\partial\mathbf{r}^{G}_{\mathbf{p}_{i}}}{\partial\delta\mathbf{p}_{i}}=\mathbf{I}\\ \end{array} δϕirRiG=Jr1(Log(RˇiTRi))δϕirpiG=OδpirRiG=OδpirpiG=I
本实验采用两帧优化模型,当IMU数据到来时,更新预积分协方差矩阵,预积分观测对零偏的雅可比等预积分相关量,并将预测结果在窗口显示,通过GNSS触发优化,即当RTK数据到来时,对当前帧与上一帧的系统状态进行优化,并将当前帧的优化结果在窗口显示,最后重置预积分相关量。在优化过程中不考虑某状态变量间更新对其他状态变量的影响,优化目标是使残差尽量小,本实验的图优化结构如下图

在这里插入图片描述

实验结果如下图,可以看到缺少GNSS观测时,单纯靠IMU积分会导致位移局部发散。在预积分方案中,可以选择优化迭代次数,并且可以调整与边关联的顶点。

在这里插入图片描述

附录

§1

任意 ϕ ∈ R 3 \boldsymbol{\phi}\in\mathbb{R}^{3} ϕR3 R ∈ S O ( 3 ) \mathbf{R}\in{SO(3)} RSO(3),满足
R E x p ( ϕ ) R T = exp ⁡ ( R ϕ ∧ R T ) = E x p ( R ϕ ) \mathbf{R}\mathrm{Exp}(\boldsymbol{\phi})\mathbf{R}^{T}=\exp(\mathbf{R}\boldsymbol{\phi}^{\wedge}\mathbf{R}^{T})=\mathrm{Exp}(\mathbf{R}\boldsymbol{\phi}) RExp(ϕ)RT=exp(RϕRT)=Exp(Rϕ)
由此可以推出
E x p ( ϕ ) R = R E x p ( R T ϕ ) (A1) \mathrm{Exp}(\boldsymbol{\phi})\mathbf{R}=\mathbf{R}\mathrm{Exp}(\mathbf{R}^{T}\boldsymbol{\phi})\tag{A1} Exp(ϕ)R=RExp(RTϕ)(A1)
§2

对于 S = ∑ k = i j A k \mathbf{S}=\sum_{k=i}^{j}\mathbf{A}_{k} S=k=ijAk A k ∈ R M × N \mathbf{A}_{k}\in\mathbb{R}^{M\times{N}} AkRM×N,若 j < i j<i j<i,则 S = O \mathbf{S}=\mathbf{O} S=O;若 j ⩾ i j\geqslant{i} ji,则 S = A i + ⋯ + A j \mathbf{S}=\mathbf{A}_{i}+\cdots+\mathbf{A}_{j} S=Ai++Aj

对于 P = ∏ k = i j A k \mathbf{P}=\prod_{k=i}^{j}\mathbf{A}_{k} P=k=ijAk A k ∈ R N × N \mathbf{A}_{k}\in\mathbb{R}^{N\times{N}} AkRN×N,若 j < i j<i j<i,则 P = I \mathbf{P}=\mathbf{I} P=I;若 j ⩾ i j\geqslant{i} ji,则 P = A i ⋯ A j \mathbf{P}=\mathbf{A}_{i}\cdots\mathbf{A}_{j} P=AiAj

§3、 S O ( 3 ) + t SO(3)+\mathbf{t} SO(3)+t的更新

S O ( 3 ) + t SO(3)+\mathbf{t} SO(3)+t的更新有两种方式

方式一:
R w b ′ ← R w b δ R p w b ′ w ← p w b w + R w b δ p \mathbf{R}_{wb^{\prime}}\leftarrow\mathbf{R}_{wb}\delta\mathbf{R}\quad\quad\mathbf{p}_{wb^{\prime}}^{w}\leftarrow\mathbf{p}_{wb}^{w}+\mathbf{R}_{wb}\delta\mathbf{p} RwbRwbδRpwbwpwbw+Rwbδp
此时 δ R = R b b ′ \delta\mathbf{R}=\mathbf{R}_{bb^{\prime}} δR=Rbb表示摄动载体系(经摄动后的载体坐标系)的载体坐标系到载体系的旋转矩阵, δ p = R b w ( p w b ′ w − p w b w ) = R b w p b b ′ w = p b b ′ b \delta\mathbf{p}=\mathbf{R}_{bw}(\mathbf{p}^{w}_{wb^{\prime}}-\mathbf{p}^{w}_{wb})=\mathbf{R}_{bw}\mathbf{p}^{w}_{bb^{\prime}}=\mathbf{p}^{b}_{bb^{\prime}} δp=Rbw(pwbwpwbw)=Rbwpbbw=pbbb表示载体坐标系原点到摄动载体系原点的矢量在载体坐标系下的坐标。

方式二:
R w b ′ ← R w b δ R p w b ′ w ← p w b w + δ p \mathbf{R}_{wb^{\prime}}\leftarrow\mathbf{R}_{wb}\delta\mathbf{R}\quad\quad\mathbf{p}_{wb^{\prime}}^{w}\leftarrow\mathbf{p}_{wb}^{w}+\delta\mathbf{p} RwbRwbδRpwbwpwbw+δp
此时 δ R = R b b ′ \delta\mathbf{R}=\mathbf{R}_{bb^{\prime}} δR=Rbb仍表示摄动载体系(经摄动后的载体坐标系)的载体坐标系到载体系的旋转矩阵, δ p = p w b ′ w − p w b w = p b b ′ w \delta\mathbf{p}=\mathbf{p}^{w}_{wb^{\prime}}-\mathbf{p}^{w}_{wb}=\mathbf{p}^{w}_{bb^{\prime}} δp=pwbwpwbw=pbbw表示载体坐标系原点到摄动载体系原点的矢量在世界坐标系下的坐标。

上述两种更新方式在实际应用中均可采取,区别在于 δ p \delta\mathbf{p} δp表示的物理意义不同。

§4、非欧式空间上的不确定性


x = x 0 ⊕ δ x δ x ∼ N ( 0 , Σ ) \mathbf{x}=\mathbf{x}_{0}\oplus\delta\mathbf{x}\quad\delta\mathbf{x}\sim\mathcal{N}(\mathbf{0},\boldsymbol{\Sigma}) x=x0δxδxN(0,Σ)
其中 x ∈ D o m ( x ) \mathbf{x}\in\mathrm{Dom}(\mathbf{x}) xDom(x) D o m ( x ) \mathrm{Dom}(\mathbf{x}) Dom(x)为非欧式空间, δ x ∈ R N \delta\mathbf{x}\in\mathbb{R}^{N} δxRN ⊕ : D o m ( x ) × R N → D o m ( x ) \oplus:\mathrm{Dom}(\mathbf{x})\times\mathbb{R}^{N}\rightarrow\mathrm{Dom}(\mathbf{x}) :Dom(x)×RNDom(x),则 x \mathbf{x} x的不确定性完全来源于 δ x \delta\mathbf{x} δx,可将 x \mathbf{x} x视为 δ x \delta\mathbf{x} δx的函数 x ( δ x ) \mathbf{x}(\delta\mathbf{x}) x(δx)

x \mathbf{x} x的概率分布为
p ( x ) = p ( x ( δ x ) ) = p ( δ x ) ∝ exp ⁡ ( − 1 2 ∥ x ⊖ x 0 ∥ Σ 2 ) p(\mathbf{x})=p(\mathbf{x}(\delta\mathbf{x}))=p(\delta\mathbf{x})\propto\exp\left(-\frac{1}{2}\|\mathbf{x}\ominus\mathbf{x}_{0}\|^{2}_{\boldsymbol\Sigma}\right) p(x)=p(x(δx))=p(δx)exp(21xx0Σ2)
其中 ⊖ : D o m ( x ) × D o m ( x ) → R N \ominus:\mathrm{Dom}(\mathbf{x})\times\mathrm{Dom}(\mathbf{x})\rightarrow\mathbb{R}^{N} :Dom(x)×Dom(x)RN

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小于小于大橙子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值