Rtabmap behaves as 3DOF even though 6DOF is true
I have a mobile base mounted with several RGBD cameras and a 2D lidar. I use the wheel encoders for odometry, which is fed into rtabmap via the odom_frame_id
. This all works very well, localizing the robot in the 2D plane, but the localization doesn't update when the robot is tilted or lifted out of the plane. I supply appropriate covariances for odometry but they don't seem to affect this. When rtabmap is launched, the robot does localize to the same height, but that never changes.
What are some solutions for fixing this and why does this happen? Would sending odometry messages with fixed covariances help instead of passing the tf2
frame? Or is the only way to fuse with visual odometry or with an additional IMU?