TF ROS 101 Python

To finally understand TF and Robot State Publishers in ROS

Course Overview


Imagine the following scenario: you have a robot with a laser mounted on it. In order to be able to use the laser data (e.g. to detect an obstacle), the robot needs to know WHERE that laser is mounted in the robot. If you don’t provide this information to the robot, when the laser detects that obstacle, how can the robot know where the object is? Is it in front of the robot? Or is it behind it?

Well, this relationship between the different parts (frames) of a robot is what is handled by ROS TFs.

In this TF ROS 101 course, you will be able to understand how TF works by practicing in several hands-on exercises

Learning Objectives

  • Visualize TFs
  • Publish & Subscribe to TF data
  • Understand Transformations & Frames
  • Understand Robot State Publishers & Joint State Publishers
  • Be comfortable with common TF Command-line Tools (tf_echo, view_frames…)
  • Understand Static Transform Publishers

Simulation robots used in this course

Pi robot, Multiple Kobuki Robot, 3d Version of the Classical 2D TurtleSim.


Basics ROS



14h 35m


Mid-level python, ROS Basics, Unix shell knowledge, Basic knowledge of Coordinate Frames

This course is part of this learning path:

What projects will you be doing?

[ROS Q&A] 168 - What are the differences between global and local costmap

Create your own TF publisher

Create a publisher that publishes the TF of a new model

ROS Mini Challenge #2 - RViz

Move the iRobot

Create your first TF listener and move the iRobot 

Publish the joint_states

Visualize all the TFs moving at the same time as the real robot

Create your own robot with TF from scratch

Apply all of the concepts and tools you learned to your robot

What you will learn

Course Syllabus

Unit 1: Introduction

Why you need to learn TFs

10 min.

Unit 2: TF Basics
  • Practice First: Playing with TurtleSim
  • How to Visualize TFs

1 hr 20 min.

Unit 3: Publish & Subscribe to TF data
  • How to publish TF data (Broadcaster)
  • How to Subscribe to TF data

3 hrs.

Unit 4: Understanding Robot State Publishers & Joint State Publishers
  • Discover how they work on a robot simulation
  • QUIZ: Launch your own Robot State Publisher & Joint State Publisher for Pi-Robot


Unit 5: Understanding Static Transforms
  • How to publish Static Transforms using static_trasnforms_publishers
  • QUIZ: Connect 2 TurtleBots using Static Transforms

2 hrs. 

Unit 6: PROJECT - Create your own robot with TF from scratch

Ready to get started?

Start learning ROS & Robotics online quickly and easily

What’s next

People interested in this course also viewed

Learning Path

ROS for Beginners


ROS2 Basics (C++)

Top universities choose The Construct for Campus to teach ROS & Robotics.

Pin It on Pinterest