Rosanswers logo


I am working on building maps of my office ( which is think is around 100 * 100 mts) . I using this tutorial for gmapping. This is the procedure i follow to create the map.

  1. I run the robot in a loop ( around a huge rectangular cubical). I wrote a simple obstacle avoidance code in python for this. I am not teleoperating it.

  2. i save /tf and Laserscan data in a bag file.

  3. Once i collect the data, i follow above tutorial to build the map from logged data.

This is the map i got: C:\fakepath\1.png

Which you can see is a very bad map.

I can visualize in Rviz that the odometry drifts the more the run the robot around.

So i thought of using robot_pose_ekf tutorial to improve odometry. I include the follow command in my launch file:

To check whether it's working correctly or not, i run the following command:

rosservice call robot_pose_ekf/get_status

which gives me the following output:

status: Input:

  • Odometry sensor
    • is active
    • received 5678 messages
    • listens to topic /odom
  • IMU sensor
    • is active
    • received 4567 messages
    • listens to topic /mobile_base/sensors/imu_data
  • Visual Odometry sensor
    • is NOT active
    • received 0 messages
    • listens to topic /vo Output:
  • Robot pose ekf filter
    • is active
    • sent 4675 messages
    • pulishes on topics /robot_pose_ekf/odom_combined and /tf

I changed the odom and imu data topics it is listening to after follwoing some tutorials. It seems like it is getting imu data and odom data.

while i am running the robot around i also save /robot_pose_ekf/odom_combined data. And i plotted both odom and odom_combined data, which you can see below. As you can see their is no difference in both, blue is odom and red is odom_combined.


Also in robot_pose_ekf tutorials it is said that it will provide a tf between odom_combined → base_footprint, but when i run the following command and see the tf tree i cannot find any tf between odom_combined → base_footprint

rosrun tf view frames

C:\fakepath\Screenshot from 2016-07-27 20:54:35.png

These are my question:

  1. how can i correctly use robot_pose_ekf module to improve odom data?

  2. and how can i get the tf between odom_combined → base_footprint?

  3. How can i use this information to improve results of gmapping?

Can anyone please help me?

Thanks a ton

Originally posted by krishna43 on ROS Answers with karma: 63 on 2016-07-27

Post score: 0


1 Answer 1


Rosanswers logo

I was able to use the robot_pose_ekf package by following these two questions:



Originally posted by krishna43 with karma: 63 on 2016-08-24

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

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