Ask Your Question

Localization and Odometry

asked 2019-03-18 09:01:28 -0500

Aviad gravatar image


I am trying to improve my localization of my robot for the autonomous navigation in my lab. I am using RealSense d435 ,encoders and RTABmap (without visual odometry) . I don't understand what is the main purpose of my odometry message (except the velocity data) if the localization is taken from my camera. I noticed that move_base stop the robot when it gets the position from the odometry massege and not the position from the camera. The robot made a lot of rotations (recovery behavior) and when I listened to the localization topic I could see that there was not any message (loop closure didn't recognized). It happens frequently. I am wondering if I can set that move_base will take the robot pose from my encoders because it is reliable than the camera. I will happy if someone explain how localization and odometry works within the navigation.

tnx, Aviad

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-03-19 15:56:48 -0500

updated 2019-03-19 16:03:33 -0500


yes, you are right the encoder based localization is accurate. Make sure you are using the Ideal differential drive model(wheels axis rotation is in the center of the robot) otherwise drift error will be accumulative. Your localization accuracy depends upon the encoder resolution. Please take a look at this site for kinematic of differential drive model. You can convert the encoder data x, y, and theta(odometry data), take a look at this code

NOTE: You can also add magnetometer to improve theta. as per my experience, angular displacement gives more errors.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2019-03-18 09:01:28 -0500

Seen: 328 times

Last updated: Mar 19 '19