ORB-SLAM3中IMU理论知识总结

常见的imu为MEMS,使用硅微加工技术制造,使用科氏力。

误差模型

m(t)=mt(t)+bias(t)+ϵ(t)bias˙(t)=nb(t)

  • 固定偏差bias,作为状态量估计
  • 白噪声ϵ(t)积分成角度随机游走,连续时间标准差σ(标定结果)除以sqrt(δ(t))得到离散标准差
  • bias随机游走,连续时间随机游走(标定结果)乘以sqrt(δ(t))得到离散随机游走

预积分

第i时刻到第j时刻,根据imu的离散读数,推出角度、速度和位置的变化。

噪声分离

根据imu的噪声,推出预积分的噪声,进而得到预积分的信息矩阵(协方差的逆)
预积分真值 = 测量值 - 误差

预积分误差

imu的噪声->预积分噪声

噪声递推

根据上一时刻的预积分误差递推下一时刻预积分误差,从而获取协方差递推
imu误差

预积分误差

预积分递推



协方差矩阵递推

bais更新->预积分更新

新的bias:b^ig b^aa 由旧的bias:b¯ig b¯ia和变化量δbigδbia相加得到:即

b^igb¯ig+δbigb^iab¯ia+δbia

预积分关于bais变化的一阶近似更新公式

R~ij(b^ig)ΔR~ij(b¯ig)Exp(ΔR¯ijb¯gδbig)v~ij(b^ig,b^ia)Δv~ij(b¯ig,b¯ia)+Δv¯ijb¯gδbig+Δv¯ijb¯aδbiap~ij(b^ig,b^ia)Δp~ij(b¯ig,b¯ia)+Δp¯ijb¯gδbig+Δp¯ijb¯aδbia

偏导项

ΔR¯ijb¯g=k=ij1(ΔR¯k+1jTJrkΔt)Δv¯ijb¯g=k=ij1(ΔR¯ik(f~kb¯ia)ΔR¯ikb¯gΔt)Δv¯ijb¯a=k=ij1(ΔR¯ikΔt)Δp¯ijb¯g=k=ij1[Δv¯ikb¯gΔt12ΔR¯ik(f~kb¯ia)ΔR¯ikb¯gΔt2]Δp¯ijb¯a=k=ij1[Δv¯ikb¯aΔt12ΔR¯ikΔt2]Jrk=Jr((ω~kbig)Δt)

残差构建

状态量

Ri,pi,vi,Rj,pj,vj,δbig,δbia

残差

rΔRijlog{[R~ij(b¯ig)Exp(ΔR¯ijb¯gδbig)]TRwiTRwj}log[(ΔR^ij)TΔRij]rΔvijRiT(vjvigΔtij)[Δv~ij(b¯ig,b¯ia)+Δv¯ijb¯gδbig+Δv¯ijb¯aδbia]ΔvijΔv^ijrΔpijRiT(pjpiviΔtij12gΔtij2)[Δp~ij(b¯ig,b¯ia)+Δp¯ijb¯gδbig+Δp¯ijb¯aδbia]ΔpijΔp^ij

状态更新

RwiRwiExp(δϕi)pwipwi+Rwiδpwivivi+δviRwjRwjExp(δϕj)pwjpwj+Rwjδpwjvjvj+δvjδbigδbig+δbig~δbiaδbia+δbia~

雅可比

旋转残差

对于Rwi

rΔϕijδϕi=Jr1(rΔϕij)RwjTRwi

对于Rwj

rΔϕijδϕj=Jr1(rΔϕij)

对于b~ig

rΔφijδb~ig=Jr1(rΔϕij)Exp(rΔϕij)Jr(ΔR~ijbgδbig)ΔR~ijbg

速度残差

对于δb~igδb~ia

rΔvijδb~ig=Δv~ijbgrΔvijδb~ia=Δv~ijba

对于vi

rΔvijδvi=RwiT

对于vj

rΔvijδvj=RwiT

对于Rwi

rΔvijδϕi=[RwiT(vjvigΔtij)]

位置残差

对于δb~igδb~ia

rΔpijδb~ig=Δp~ijbgrΔpijδb~ia=Δp~ijba

对于pwi

rΔpijδpi=I

对于pwj

rΔpijδpj=RwiTRwj

对于vi

rΔpijδvi=RwiTΔtij

对于Rwi

rΔpijδϕi=[RwiT(pwjpwiviΔtij12gΔtij2)]

posted @   narjaja  阅读(210)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示