Many of the tf tutorials are available for both C++ and Python. The tutorials are streamlined to complete either the C++ track or the Python track. If you want to learn both C++ and Python, you should run through the tutorials once for C++ and once for Python.

All these tutorials assume that you have setup your tutorial workspace. If you have not done so click here.

Setting up the ROS tutorial workspace

This describes how to setup your environment for tutorials.

Create a file named ~/tutorials.rosinstall with the following content:

- other: { local-name: workspace }

To overlay on the ROS distro you are using:

rosinstall ~/tutorials /opt/ros/%YOUR_ROS_DISTRO% ~/tutorials.rosinstall

Fill in %YOUR_ROS_DISTRO% with either { electric, fuerte } or any distro you use.

To use this workspace whenever you open a new terminal setup your ROS environment by typing:

source ~/tutorials/setup.bash

Sourcing this file adds ~/tutorials/workspace to your ROS_PACKAGE_PATH.

Create a file named ~/tutorials.rosinstall with the following content:

- other: { local-name: workspace }

To overlay on the ROS distro you are using:

rosinstall ~/tutorials /opt/ros/%YOUR_ROS_DISTRO% ~/tutorials.rosinstall

Fill in %YOUR_ROS_DISTRO% with either { electric, fuerte } or any distro you use.

To use this workspace whenever you open a new terminal setup your ROS environment by typing:

source ~/tutorials/setup.bash

Sourcing this file adds ~/tutorials/workspace to your ROS_PACKAGE_PATH.

Create catkin workspace by following this tutorial. Don't forget to source setup script as mentioned in it.

Any packages you create in that directory will be found by rospack.

An alternative to source your script file is to add it to your .bashrc, but remember that this will persist in your .bashrc into the future, and you can only have one environment setup. For more on what this is doing see this page

Learning tf

C++

Python

  1. Writing a tf broadcaster (C++)

    This tutorial teaches you how to broadcast coordinate frames of a robot to tf.

  2. Writing a tf listener (C++)

    This tutorial teaches you how to use tf to get access to frame transformations.

  3. Adding a frame (C++)

    This tutorial teaches you how to add an extra fixed frame to tf.

  4. Learning about tf and time (C++)

    This tutorial teaches you to use the waitForTransform function to wait for a transform to be available on the tf tree.

  5. Time travel with tf (C++)

    This tutorial teaches you about advanced time travel features of tf

  1. Writing a tf broadcaster (Python)

    This tutorial teaches you how to broadcast the state of a robot to tf.

  2. Writing a tf listener (Python)

    This tutorial teaches you how to use tf to get access to frame transformations.

  3. Adding a frame (Python)

    This tutorial teaches you how to add an extra fixed frame to tf.

  4. Learning about tf and time (Python)

    This tutorial teaches you to use the waitForTransform function to wait for a transform to be available on the tf tree.

  5. Time travel with tf (Python)

    This tutorial teaches you about advanced time travel features of tf

Now that you have completed these tutorials please take the time to complete this short questionnaire.

Debugging tf

  1. Debugging tf problems

    This tutorial gives a systematic approach for debugging tf related problems.

Using sensor messages with tf

  1. Using Stamped datatypes with tf::MessageFilter

    This tutorial describes how to use tf::MessageFIlter to process Stamped datatypes.

Setting up your robot with tf

  1. Setting up your robot using tf

    This tutorial provides a guide to set up your robot to start using tf.

  2. tf を用いたロボットのセットアップ

    このチュートリアルでは tf を使ってロボットをセットアップする方法を学びます.

  1. Using the robot state publisher on your own robot

    This tutorial explains how you can publish the state of your robot to tf, using the robot state publisher.

  2. Using the robot state publisher on your own robot

    このチュートリアルでは robot state publisher を使うことで,どのようにしてロボットの状態を tf に publish できるのかを学びます.

Create a new tutorial:

Video Tutorial (PR2 Beta Workshop)

Wiki: tf/Tutorials (last edited 2013-03-08 07:39:50 by Yuto Inagaki)