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

Revision history [back]

There are three standard ways of broadcasting TF data for your robot. If your robot has a URDF file that specifies where the joints and links are and how they are sized, and your drivers output a sensor_msgs/JointState topic with the joint positions, then you can use the robot_state_publisher node to turn joint positions and kinematic model into TF frames. You don't mention what type of robot you have, it might already have this implemented as part of the standard ROS drivers for the platform.

However, if you have a very simple robot, or just some static frames you need to publish (I presume here that the laser is actually fixed to the base, not moving, has no joints in between base_frame and laser frame), then you can use the static_transform publisher, which is part of tf and is documented here: http://wiki.ros.org/tf#static_transform_publisher

Finally, you could construct a tf::Broadcaster in a node to publish the transform -- but this is probably not the ideal solution. Tutorials are linked off this page: http://wiki.ros.org/tf/Overview/Broadcasting%20Transforms