tf2  master
tf2 maintains the relationship between coordinate frames in a tree structure buffered in time, and lets the user transform points, vectors, etc between any two coordinate frames at any desired point in time.
tf2 Documentation

tf2 is the second generation of the tf library.

This library implements the interface defined by tf2::BufferCore.

There is also a Python wrapper with the same API that class this library using CPython bindings.

Code API

The main interface is through the tf2::BufferCore interface.

It uses the exceptions in exceptions.h and the Stamped datatype in transform_datatypes.h.

Conversion Interface

tf2 offers a templated conversion interface for external libraries to specify conversions between tf2-specific data types and user-defined data types. Various templated functions in tf2_ros use the conversion interface to apply transformations from the tf server to these custom datatypes.

The conversion interface is defined in tf2/convert.h.

Some packages that implement this interface:

  • tf2_bullet
  • tf2_eigen
  • tf2_geometry_msgs
  • tf2_kdl
  • tf2_sensor_msgs

More documentation for the conversion interface is available on the ROS Wiki.

Some tutorials are available at https://docs.ros.org/.