MyRoboPathOpen Robotics Lab
ros215 min readUpdated 2026-03-10Intermediate

TF2 Coordinate Transform Library: Broadcast, Buffer & Lookups

Master coordinate frame transformations in ROS 2: broadcast static/dynamic transforms, handle time-travel buffer lookups, and prevent TF extrapolation errors.

MyRoboPath Engineering Lab
Peer-Reviewed Open-Source Hardware & Firmware Guide

Key Engineering Takeaways

  • •REP 105 specifies: `map` (global continuous, discrete jumps by SLAM) -> `odom` (local continuous, drifts) -> `base_link` (robot center) -> sensors.
  • •Static transforms (camera relative to chassis) must use `tf2_ros::StaticTransformBroadcaster` to avoid wasting topic bandwidth.
  • •Always catch `tf2::TransformException` with a timeout when doing transform lookups to prevent node crashes.
Prerequisites
  • • Homogeneous transformation matrices
  • • ROS 2 nodes

REP 105 Standard Frames: The Standard Robotics TF Tree

ROS standards (REP 105) dictate a strict tree structure without loops:

text snippet
text
map (World Fixed)
 └── odom (Continuous Smooth Local Frame)
      └── base_link (Robot Center of Rotation)
           ├── laser_frame (LiDAR)
           ├── camera_link (RGB-D Sensor)
           └── imu_link (Inertial Unit)
Tags:#TF2#Transform Tree#map#odom#base_link#Coordinate Frames