ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hi,

I just read this page, using two robot_localization instances makes more sense now if you use a GPS.

The problem is that rtabmap doesn't know there is a GPS going on, it will generate its own /map -> /odom transform, which is the localization correction after a loop closure. This transform is relative to the starting position of the robot.

Without the GPS, a standard setup would be: image description

You could disable map optimization from rtabmap (<param name="RGBD/OptimizeIterations" type="string" value="0"/>) to avoid /map -> /odom publishing if the second robot_localization with GPS is publishing it too. Then use the output of the second robot_localization as input odometry for rtabmap node. The map will be created using poses including the GPS, so in some way the map will be already optimized (no loop closure detection required). There may be "jumps" in the generated map though when a GPS localization occurs. Note that the following is just an idea (I've never tested a system like that):

image description

cheers, Mathieu