Re: Is this the way to use lidar & IMU efficiently?
Posted by
matlabbe on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Is-this-the-way-to-use-lidar-IMU-efficiently-tp7496p7693.html
Hi Anthony,
There is no paper on this (don't think it is publishable). IMU is used in odometry node to guess the rotation for next registration (to help better visual correspondences or better registration with ICP). It is also used to initialize the orientation of the first pose of odometry. In case of visual F2M with bundle adjustment, the IMU is also used to add attitude constraints in the g2o/gtsam graph, so that during bundle adjustment, it can help to keep attitude over time. When bundle adjustment is not used, while the odometry is started in correct orientation, it may drift over time as IMU is not reused to actually correct the orientation afterwards, just as guess. This drift would be corrected in the mapping mode afterwards in rtabmap node with the global pose graph.
For rtabmap node, the IMU is fed to graph optimisation (g2o/gtsam) as gravity factors (roll and pitch constraints). So even if odometry attitude is not estimated, it can be then corrected once in rtabmap's global graph.
Ref g2o factor:
https://github.com/introlab/rtabmap/blob/master/corelib/src/optimizer/g2o/edge_se3_gravity.hRef gtsam factor:
https://github.com/introlab/rtabmap/blob/master/corelib/src/optimizer/gtsam/GravityFactor.hcheers,
Mathieu