-
Notifications
You must be signed in to change notification settings - Fork 58
Added Relative pose graph ImuPreintegration #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: ros2
Are you sure you want to change the base?
Conversation
|
Hi @avnishnp, very nice updates! Could you compare the ATE and RPE with the relative pose graph and absolute pose graph settings? Thank you very much! |
|
@shibowing thankyou for reviewing. Updated results below Here are the plots with absolute pose graphs (original) in IMU preintegration Time range is as follows: ATE RMSE: 5.2234 m RPE RMSE: 0.4233 m |
|
Code update:: |
|
Thanks for clarification! It makes sense for me. How about the adding the marginalization factor as we discussed? |
|
I will be working on the marginalization factor now. Before that, I wanted to show you some important logic and parameter change, which I made to reduce error. Code change:: Uncommenting or reintroducing
B. Increased Ceres solver iterations:
C.Raised neighbor count for planar features:
GT range: 1681498134.611 → 1681499088.897 ATE RMSE: 1.9899 m RPE RMSE: 0.3795 m |












This PR introduces a Relative Pose Graph variant to the existing IMU Preintegration module in the super_odometry stack. The original implementation was based on an Absolute Pose Graph formulation, where all pose nodes are anchored in the global frame. In contrast, this new module constructs the pose graph using relative pose constraints, which can provide benefits in scenarios with unobservable global frame (e.g., loopless trajectories, poor global priors, or unknown drift).
New Backend: Introduced a new relative pose graph formulation in imuPreintegration_relative, preserving the core logic of preintegration while adjusting for relative constraints.
Factor Graph Updates:
Replaced absolute pose priors with relative pose BetweenFactors between consecutive poses.
Local pose graph is periodically reset and re-anchored for drift management.
World Pose Reconstruction: Maintained world pose tracking outside the graph via cumulative composition, enabling consistent odometry output in the global frame.
Evaluated both absolute and relative backends using Velodyne sensors on the Lauren Caverns SubtMRS dataset available on Superodometry website. Attached the trajectory image obtained between both of them.
Absolute Pose::

Relative Pose::
