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

gmapping doesn't publish the tf from map->odom

asked 2017-05-07 21:32:44 -0500

Shanan gravatar image

updated 2017-05-10 00:15:43 -0500

I recently try to run SLAM gmapping on Husky robot. I build the map successfully but don't get the tf from map to odom. Even the frame "map" doesn't exist.

I have some the questions.

  1. whether the time synchronization has an impact on that?

    I have used the command "ntpdate -p robot_ip" to check it. I get the following result.

    server, stratum 0, offset 0.000000, delay 0.00000 8 May 10:23:58 ntpdate[4259]: no server suitable for synchronization found

  2. whether rate of publishing tf has an impact on that?

    I tried to change the value of parameter "transform_publish_period" of gmapping so that it is consistent with the rate of others publishing.

All trials don‘t resolve my problem. What’s wrong? Thanks for any advise.

edit retag flag offensive close merge delete


Please attach tf tree and node graph

Humpelstilzchen gravatar image Humpelstilzchen  ( 2017-05-09 02:22:47 -0500 )edit

Also check your laser scanner. There may be a problem with readings.

Akif gravatar image Akif  ( 2017-05-09 05:31:46 -0500 )edit

1 Answer

Sort by » oldest newest most voted

answered 2017-05-09 21:06:34 -0500

Shanan gravatar image

updated 2017-05-11 02:00:46 -0500

Thanks all. Because gmaping published the tf message that was sent to robot through wifi, but tf messages do not deal with low bandwidth networks well. I install gmapping package into robot, and my computer only is responsible to visualize the built map. All work fine. Reference website:

I revised the provided launch files in gmapping package according to my need. It is easy to ignore "use_sim_time" parameter which usually is set as true in launch file. In here, Its value should be set as false. Reference website:

edit flag offensive delete link more


I have a similar problem. I can see in my tf tree that the transform /map -> /odom is being broadcasted by /slam_gmapping. But when I try to listen to this transform using tf2_ros::BufferInterface::lookupTransform("/map", "/odom", ros::Time(0)), I get the warning "zoe/map" passed to lookupTransform argument target_frame does not exist. Can you help?

Amrita Suresh gravatar image Amrita Suresh  ( 2020-12-14 03:00:20 -0500 )edit

Question Tools

1 follower


Asked: 2017-05-07 21:32:44 -0500

Seen: 1,352 times

Last updated: May 11 '17