Hi,
It is quite an experimental feature, this is why there is no official documentation/tutorial on this topic.
IMU can be used for odometry and rtabmap nodes:
- odometry: For visual-only odometry (VO) approaches (see
Odom/Strategy parameter), the imu will be used to initialize the first frame accordingly to gravity (set
wait_imu_to_init parameter to make sure IMU is received before processing the first camera frame). For visual-inertial odometry (VIO) approaches (see
Odom/Strategy parameter), the imu will be used in estimation.
- rtabmap: IMU can be used to add gravity constraints to graph, so that on optimization, the map will be aligned with gravity. Parameter
Optimizer/GravitySigma should be non-zero to enable this feature. If input odometry is VIO (already aligned with gravity), we can set also
Mem/UseOdomGravity to add those constraints to graph (subscription to IMU is then not required).
See
https://github.com/introlab/rtabmap_ros/blob/master/launch/tests/euroc_datasets.launch for examples of usage with IMU.
cheers,
Mathieu