ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Using robot_pose_ekf output for Navigation stack

asked 2011-09-02 05:38:41 -0500

jbeck27 gravatar image

updated 2011-09-02 08:22:15 -0500

mmwise gravatar image

I am currently working on a robot similar to a turtlebot that uses the gyro from the turtlebot and encoders for tracking movement. I setup the robot_pose_ekf to take in the data and it is working correctly. I am now confused at what to do with the output of robot_pose_ekf. It is in the format geometry_msgs/PoseStamped and the navigation stack requires nav_msgs/Odometry. I am unsure if I am heading in the right direction with this but the overall goal is to combine the gyro and the encoder readings and then send it to the nav stack. Does anyone have any ideas or suggestions?


edit retag flag offensive close merge delete

5 Answers

Sort by ยป oldest newest most voted

answered 2011-09-02 08:21:41 -0500

mmwise gravatar image

robot_pose_ekf broadcasts the tf transform from odom_combined to base_link (odom_combined -> base_link) which amcl uses to compute the position of the robot. A good explanation of how this works can be found here:

The turtlebot_navigation package does what you are describing. Checkout the autonomously navigating in a known map tutorial. (

edit flag offensive delete link more


Thank you for the response. I actually had already found your videos, nice job btw. I guess a better phrasing of the question would if you run robot_pose_ekf and the nav stack is using it in the AMCL, what do you send as "odom" to the local_planner inside the navigation system?
jbeck27 gravatar image jbeck27  ( 2011-09-02 09:05:09 -0500 )edit
in the configuration files you should see a line: <param name="odom_frame_id" value="odom_combined"/> you need to set the param to the frame you want to use. It's in the amcl_turtlebot.launch file.
mmwise gravatar image mmwise  ( 2011-09-02 11:07:40 -0500 )edit
That didn't solve the problem. I think I can clarify what I need now though. the robot_pose_ekf publishes a tf frame that amcl uses. What I need is some way to give the local planner the "odom" message. I am referencing the diagram in .
jbeck27 gravatar image jbeck27  ( 2011-10-14 10:40:07 -0500 )edit
I want the combined gyro and wheel odometry to be given to the local planner. robot_pose_ekf publishes "odom_combined" that is not a nav_msgs/Odometry message. What is given to the local planner for the turtlebot?
jbeck27 gravatar image jbeck27  ( 2011-10-14 10:42:18 -0500 )edit

answered 2012-02-02 19:31:12 -0500

weiin gravatar image

robot_pose_ekf subscribes only to the Pose portion of odom to give the estimated pose.

whereas move_base takes only the velocity information from odom. if you look at the diagram, the "odom" message goes to the local planner which is the base_local_planner. This subscribes to odom which uses the velocity for trajectory calculations

so I don't think you can use the robot_pose_ekf output for navigation planning

edit flag offensive delete link more

answered 2012-01-21 22:01:16 -0500

Nikhil gravatar image

Hi jbeck27 - were you able to resolve the issue? I'm also a little confused whether the local planner uses odom_combined or just odom. Since the navigation stack also works without a map, I suspect that the local planner should be using odom_combined, implying it uses the output at the geometry_msgs/PoseStamped msg in move_base. Would that be correct?

edit flag offensive delete link more

answered 2013-03-20 16:28:17 -0500

Astronaut gravatar image

Hi I have the same issue with robot_pose_ekf. Did u already fix it? I was told that it is not a bug It is not a bug, it just doesn't take velocity directly, it takes poses. So Im bit a confuse. Any help??

edit flag offensive delete link more

answered 2012-01-22 04:51:01 -0500

Alireza gravatar image

HI, I have the same problem with robot_pose_ekf and i don't know why they dont solve this big issue!!

Currently i am trying to write a node for converting "msgs/PoseStamped msg" of robot_pose_ekf to "nav_msgs/Odometry message". in my case i faced 2 problems about covariances of odometry message and also twist part of odometry message.

I didnt implemented this node completely but as soon as its finished i will be post the results here!

edit flag offensive delete link more


Same issue here as well, any results?

sobotacm gravatar image sobotacm  ( 2013-05-28 08:53:18 -0500 )edit

same problem here. Any answer to this?

dan gravatar image dan  ( 2013-08-26 16:28:19 -0500 )edit

same problem, is there any answer?

marawy_alsakaf gravatar image marawy_alsakaf  ( 2017-11-07 04:06:37 -0500 )edit

Question Tools



Asked: 2011-09-02 05:38:41 -0500

Seen: 2,670 times

Last updated: Feb 02 '12