File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -237,15 +237,16 @@ EstimationFrame::ConstPtr OdometryEstimationIMU::insert_frame(const Preprocessed
237237 logger->trace (" num_imu_integrated={}" , num_imu_integrated);
238238
239239 // IMU state prediction
240- const gtsam::NavState predicted_nav_world_imu = imu_integration->integrated_measurements ().predict (last_nav_world_imu, last_imu_bias);
240+ gtsam::NavState predicted_nav_world_imu = imu_integration->integrated_measurements ().predict (last_nav_world_imu, last_imu_bias);
241241 gtsam::Pose3 predicted_T_world_imu = predicted_nav_world_imu.pose ();
242242 gtsam::Vector3 predicted_v_world_imu = predicted_nav_world_imu.velocity ();
243243
244244 // Overwrite the predicted state with the last states if no IMU data is available
245245 if (num_imu_integrated < 2 && last > 1 ) {
246- const Eigen::Isometry3d T_delta = frames[last - 1 ]->T_lidar_imu .inverse () * frames[last]->T_lidar_imu ;
246+ const Eigen::Isometry3d T_delta = frames[last - 1 ]->T_world_imu .inverse () * frames[last]->T_world_imu ;
247247 predicted_T_world_imu = gtsam::Pose3 ((frames[last]->T_world_imu * T_delta).matrix ());
248248 predicted_v_world_imu = frames[last]->v_world_imu ;
249+ predicted_nav_world_imu = gtsam::NavState (predicted_T_world_imu, predicted_v_world_imu);
249250 }
250251
251252 new_stamps[X (current)] = raw_frame->stamp ;
You can’t perform that action at this time.
0 commit comments