How to determine the units used in odom_combined and Twist on Turtlebot Kobuki?

I am attempting to figure out how the measurements received from the rostopic, odom_combined (geometry_msgs/PoseWithCovarianceStamped) relate to real world units. For example, when I input the following command: rostopic echo odom_combined. I received the following output

pose:
pose:
position:
x: -0.9762
y: -2.1532
z: 0.0
orientation:
x: 0.0
y: 0.0
z: -0.6230
w: 0.7821


I think that orientation is in radians, but I cannot figure out the units of position. I moved the turtlebot from x: -0.9762 to x: 0.9762, but, when I measured the actual distanced moved, I got 12 feet 7 inches.

I am also trying to figure out the units of twist. I think that orientation in twist is in radians per second, but I do not know what units position is in.

edit retag close merge delete

Sort by » oldest newest most voted

Most units used inside ROS are SI units (http://en.wikipedia.org/wiki/International_System_of_Units). Although you can't rely on it, that's usually a good assumption. Have a look at the message descriptions. Sometimes you find useful information there.

So, in your case position/translation is measured in meters and rotation in radians. If you see a rotation description with x, y, z, w, than that's a quaternion.

If your measurement data (e.g. odom) doesn't align with your real world measurements, than your software and/or hardware introduces these errors. For example, the Create's/TurtleBot 1's odometry is very unreliable.

Hope this helps!

more