# examples-tf2-py **Repository Path**: agiros/examples-tf2-py ## Basic Information - **Project Name**: examples-tf2-py - **Description**: examples-tf2-py - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-24 - **Last Updated**: 2025-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python examples for tf2 This package has examples for using the `tf2_ros` API from python. It shows how to broadcast and receive transforms between frames. The example transforms might be seen on a small two wheel robot. ## Broadcasting Transforms `tf2` publishes two types of transforms: static and dynamic. Static transforms are constant, and never change once published. Dynamic transforms are frequently changing, and re-published every time the do. Both broadcasters can be run with ``` ros2 launch examples_tf2_py broadcasters.launch.xml ``` ### `dynamic_broadcaster.py` ``` ros2 run examples_tf2_py dynamic_broadcaster ``` This is an example of a dynamic transform publisher. Transforms showing the rotation of two wheels are published frequently. ### `static_broadcaster.py` ``` ros2 run examples_tf2_py static_broadcaster ``` This is an example of a static transform publisher. The transforms to sensors on the robot are published once at startup, and then never changed. ## Receiving Transforms Transforms are broadcast to all listeners, who then use the data. If a transform is not immediately available then users of the data may choose to wait for it. ### `waits_for_transform.py` ``` ros2 run examples_tf2_py waits_for_transform ``` This example blocks until a transform is received. It must be run with a `MultiThreadedExecutor` so the `TransformListener` can execute callbacks for it's subscriptions. ### `async_waits_for_transforms.py` ``` ros2 run examples_tf2_py async_waits_for_transform ``` This example uses coroutines to wait for a transform. The coroutine is suspended without blocking the executor, so it works with a `SingleThreadedExecutor`. ### Frame Dumper ``` ros2 run examples_tf2_py frame_dumper ``` This example periodically outputs information about all frames it is aware of.