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

Revision history [back]

Let's examine the frames laser_scan_matcher works with:

  • the sensor frame - typically this is "/laser"
  • the base frame - typically this is /base_link
  • the world frame - typically this is world (or sometimes odom)

The tf from the base frame to the sensor frame is assumed to be static. It should be published by a static TF publisher

The tf from the world frame to the base frame will be published by laser_scan_matcher, and will represent the moving pose of the robot in the world.

If you publish a tf from /world to base_link in your code, that will result in a conflict with the scan matcher, since base_link now has two parents.

I might be able to provide more help if you describe your usage scenario and what your node is doing.

Let's examine the frames laser_scan_matcher works with:

  • the sensor frame - typically this is "/laser"
  • the base frame - typically this is /base_link
  • the world frame - typically this is world (or sometimes odom)

The tf from the base frame to the sensor frame is assumed to be static. It should be published by a static TF publisher

The tf from the world frame to the base frame will be published by laser_scan_matcher, and will represent the moving pose of the robot in the world.

If you publish a tf from /world to base_link in your code, code (and the publish_tf param is true), that will result in a conflict with the scan matcher, since base_link now has two parents.

I might be able to provide more help if you describe your usage scenario and what your node is doing.

Let's examine the frames laser_scan_matcher works with:

  • the sensor frame - typically this is "/laser"
  • the base frame - typically this is /base_link
  • the world frame - typically this is world (or sometimes odom)

The tf from the base frame to the sensor frame is assumed to be static. It should be published by a static TF publisher

The tf from the world frame to the base frame will be published by laser_scan_matcher, and will represent the moving pose of the robot in the world.

If you publish a tf from /world to base_link/base_link in your code (and the publish_tf param is true), that will result in a conflict with the scan matcher, since base_link now has two parents.

I might be able to provide more help if you describe your usage scenario and what your node is doing.