Odometry data message


I have some questions about odometry data.
I want to apply (Stack navigation algorithm).
I know that the odometry data is collected from two sensors (IMU) and (Encoders).
First question is what encoders really provides or what is its function, is it provides distance, or its function is only to make the two motors move together correctly.

Second i will be grateful if someone tell me the hardware required (IMU) and (Encoders), I mean ‘link’ or specific (IMU) and (Encoders) name.

Third is there a package in the ROS to test the (IMU) and (Encoders) messages?

1 Like

Hello @amrshaheen882,

1.- Generally, the function of the encoders is to convert wheel rotations into signals (ticks) that can then be used in order to compute the odometry (how much the robot has moved). You might want to have a look at the Mobile Robots Kinematics course to have a better look at this (specifically Unit 3).

2.- There are many models of Imus and Encoders, you can just look for them on the internet. It just depends on your robot design which ones to use.

3.- An Imu message usually looks like this: http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/Imu.html
You can see some examples and interact with this message in the Fuse sensor data to improve localization course. As for the encoders’ messages, they usually are on a “deeper” level, and it’s not that common to deal with them (instead you will usually deal with Odometry messages or wheel velocities). However, in the Mobile Robots Kinematics course, you will see an example of how to use these encoder messages (ticks) to convert them into wheel velocities.