Publishing odometry information
The navigation stack also needs to receive data from the robot odometry. The odometry is the distance of something relative to a point. In our case, it is the distance between base_link
and a fixed point in the frame odom
.
The type of message used by the navigation stack is nav_msgs/Odometry
. We can see its structure using the following command:
$ rosmsg show nav_msgs/Odometry
As you can see in the message structure, nav_msgs/Odometry
gives the position of the robot between frame_id
and child_frame_id
. It also gives us the pose of the robot using the geometry_msgs/Pose
message, and the velocity with the geometry_msgs/Twist
message.
The pose has two structures that show the position in Euler coordinates and the orientation of the robot using a quaternion. The orientation is the angular displacement of the robot.
The velocity has two structures that show the linear velocity and the angular velocity. For our robot, we will use only the linear x
velocity and the...