RTABMAP external odometry disable or reduce optimization besides loop closures

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

RTABMAP external odometry disable or reduce optimization besides loop closures

Gi_T
Hello, I'm using an external odometry input by providing external_odom_frame_id similar to the lidar3d.launch.py launch file. When observing the map -> odom transformation I noticed that the translation would gratually increase to around z=3m even though the odometry input was close to ground truth and then go back to almost 0 when a loop closure occured.

For my task I mainly want to use RTABMAP for mapping, loop closure and relocalization. Is it possible to disable the intermediate odometry optimization so that I can just feed my odometry into the robot and then update my world to odom estimate in my sensor fusion when I detect a loop closure via /rtabmap/info?

For reference currently I just decreased odom_tf_linear_variance and odom_tf_angular_variance as suggested here: http://official-rtab-map-forum.206.s1.nabble.com/how-is-external-odometry-added-to-graph-td10883.html

Any help is greatly appreciated. Best,
Gilbert
Reply | Threaded
Open this post in threaded view
|

Re: RTABMAP external odometry disable or reduce optimization besides loop closures

matlabbe
Administrator
Hi Gilbert,

Is icp_odometry used? don't use icp_odometry and you could just send the deskewed lidar scan with the external odom frame id to rtabmap node.

If icp_odometry is not used and the map is drifting in Z while the odometry input is not, it could be caused by the IMU. Try not sending imu topic to rtabmap and see if there is a difference.

cheers,
Mathieu