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

Revision history [back]

I see several issues with your configuration:

  1. the frame_id of the urg_node should definitely not be map. laser_link or something would be more suited. Otherwise, the data coming from the laser would always be considered to be sent w.r.t map, which makes no sense.
  2. the static_transform_publisher needs to go from base_link to the frame_id you specify above, in my example laser_link. This will then provide you with the possibility to transform the laser data from the laser_link to base_link.
  3. The gmapping config seems to be correct, assuming you do publish the transform from odom to base_link.

I see several issues with your configuration:

  1. the frame_id of the urg_node should definitely not be map. laser_link or something would be more suited. Otherwise, the data coming from the laser would always be considered to be sent w.r.t map, which makes no sense.sense. This should be the cause for Problem 1.
  2. the static_transform_publisher needs to go from base_link to the frame_id you specify above, in my example laser_link. This will then provide you with the possibility to transform the laser data from the laser_link to base_link.
  3. The gmapping config seems to be correct, assuming you do publish the transform from odom to base_link. If this is not published to tf, gmapping won't update, which could be your Problem 2. You can check with rosrun tf tf_echo odom base_link if there is a tf published. If not, you need to create a tf_broadcaster from your odometry, see the wiki for how to do that.