拓冰建站拓冰建站
首页 / 资讯中心 / 正文

ORB-SLAM3 PreintegrateIMU

cpp void Tracking::PreintegrateIMU() { // 如果当前帧没有上一帧(即这是第一帧),无法进行两帧之间的IMU预积分 if(!mCurrentFrame.mpPrevFrame) { Verbose::PrintMess("non prev frame ", Verbose::VERBOSITY_NORMAL); mCurrentFrame.setIntegrated(); // 标记为已积分(实际上没有积分,只是跳过) return; } // 清空上一帧以来收集的IMU测量容器,准备重新收集 mvImuFromLastFrame.clear(); mvImuFromLastFrame.reserve(mlQueueImuData.size()); // 如果IMU队列为空,无法积分,直接返回 if(mlQueueImuData.size() == 0) { Verbose::PrintMess("Not IMU data in mlQueueImuData!!", Verbose::VERBOSITY_NORMAL); mCurrentFrame.setIntegrated(); return; } // 从 IMU 队列中提取时间戳在上一帧到当前帧之间的IMU测量值 while(true) { bool bSleep = false; { unique_lockmutex lock(mM
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门