Introduction and Resources
The goal of this lab is to gain experience using the tf system in ROS.
Unfortunately, the Python API for tf is not very well documented on
the ROS wiki. Here are some places you can get information:
- Official tf tutorials
- Using Python tf (A ROS wiki page. This is not very complete.)
- The complete API doesn't seem to exist online in any one place. Some information can be found here:
- tf.Transformer (This is the base class for other tf classes, but isn't often used directly.)
Warmer-Colder: Practicing with tf
-
Log into one of the lab computers as Student. connect to a Turtlebot.
Complete steps 2 and 3 from
the packaging lab to
create a new repository and stu and clone it on your local computer. The folder containing your repository should be named "warmer_colder".
-
Download and unzip the warmer_colder package:
warmer_colder.zip. The package
includes a launch file that will start the Turtlebot as well as
the
sound_play
and goal_publisher
nodes.
- Copy the contents of the the warmer_colder package into the local clone of your mercurial repository. Assuming that you unzipped the package in your Downloads folder, the steps should look something like this:
cp -r ~/Downloads/warmer_colder/* ~/catkin_ws/src/warmer_colder/
-
Add the contents to your mercurial repository:
cd ~/catkin_ws/src/warmer_colder
hg add *
hg commit -m 'First commit.'
-
You should now be able to complete steps 4.4 and 4.5 of the packaging lab.
- Take a few minutes to read the code
in
goal_publisher.py
and tf_demo.py
. Once
you understand those files, start the Turtlebot (or gazebo) and
execute the warmer_colder launch. If everything is working correctly
the robot should say "Howdy" at three second intervals.
-
Modify warmer_colder.py
so that its behavior matches
the documentation.
Submitting
Commit your completed code using the log message "TF LAB FINAL
SUBMISSION". Push the results to stu.