Rosanswers logo


For my project, I am thinking to use navigation stack with kinect as the sensor for mapping.

But how to publish the odometry data to the navigation stack..? How to use the Twist Data coming form the navigation stack..?

thanks in advance

Originally posted by sumanth on ROS Answers with karma: 86 on 2014-07-16

Post score: 0

Original comments

Comment by bvbdort on 2014-07-16:
if you want 2d map use hector slam it doesn't need odometry.

Comment by McMurdo on 2014-07-16:
Do you want to use the kinect's 3d data or just 2d (planar) data as a pseudo-laser? If it is just the 2d data, it is relatively simple.

Comment by sumanth on 2014-07-17:
I am using the kinect for mapping, i can take the 3d data from the kinect and convert it to 2d for a pseudo-laser by pointcloud_to_laserscan node. I need even odo data, so how to publish the odo data.

Comment by bvbdort on 2014-07-18:
how you are moving your robot ?

Comment by McMurdo on 2014-07-19:
What robot is it? It is a custom robot? What odometry sensors do you have?

Comment by sumanth on 2014-07-19:
Yes it is a custom robot, running with a 32-bit arm controller, it has wheel encoders from which I can fetch the ticks of the individual wheels. will this be sufficient, but still the question remains how to publish the odo data for using with the navigation stack.


1 Answer 1


Rosanswers logo

Hello Nirmal,

This is what you need.


This will make sure that there are two things:

  1. The odom topic will have the details for odometry information - the type for that topic is nav_msgs/Odometry.

  2. In tf there will be a new transform between base_link and odom. The transformation from odom to base_link - defines the position and orientation of base_link in the odom frame - is the same as the position/orientation part of the odometry message as well. This should be apparent from the code.

However, I am not sure how you exactly compute the velocities/distances in that tutorial. Given that you already have the ticks, I guess all that you have to do now is this:

  1. Convert from to ticks to distance travelled or velocity - I think distance travelled will give better accuracy.
  2. Then simply adapt that code alongwith the tutorial to post odom information.

Once you have this you have to setup the navigation stack and you can run Monte Carlo localization.

Have a great day!

Originally posted by McMurdo with karma: 1247 on 2014-07-19

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by sumanth on 2014-07-19:
oh thanks a lot Murdo


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.