MyRoboPath
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.

Alex Rivera
Alex Rivera
Staff Robotics Software Engineer

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: ``` 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