ORB-SLAM3 中的Tracking::PredictStateIMU()函数。这个函数在 IMU 模式下,用 IMU 预积分预测当前帧的 IMU 位姿、速度和零偏。
首先理解函数逻辑:
如果当前帧没有上一帧 (
mCurrentFrame.mpPrevFrame为空),打印错误并返回 false。// mCurrentFrame.mpPrevFrame 通常指向上一个普通帧。如果
mbMapUpdated为真且mpLastKeyFrame存在,则从最后一个关键帧的 IMU 状态出发,使用从最后一个关键帧到当前帧的预积分mpImuPreintegratedFromLastKF进行预测。否则如果
!mbMapUpdated,则从上一帧的 IMU 状态出发,使用当前帧的预积分mCurrentFrame.mpImuPreintegratedFrame进行预测。否则打印 "not IMU prediction!!" 并返回 false。
<