Skip to content

Add TF2 Transform System#11

Merged
Michi-Tsubaki merged 1 commit intomainfrom
add-tf2
Oct 25, 2025
Merged

Add TF2 Transform System#11
Michi-Tsubaki merged 1 commit intomainfrom
add-tf2

Conversation

@Michi-Tsubaki
Copy link
Copy Markdown
Owner

@Michi-Tsubaki Michi-Tsubaki commented Oct 25, 2025

Overview

This PR adds comprehensive TF2 (Transform) support to ROS2.jl, enabling coordinate frame transformations essential for robotics applications.

Changes

New Module: src/tf2.jl

  • TransformListener: Query transformations between coordinate frames
  • TransformBroadcaster: Publish dynamic coordinate transformations
  • StaticTransformBroadcaster: Publish static coordinate transformations
  • lookup_transform: Look up transform between frames
  • can_transform: Check if transform is available
  • send_transform: Send dynamic transform
  • send_static_transform: Send static transform
  • create_transform_stamped: Create TransformStamped message

New Example: examples/example_tf2.jl

Demonstrates TF2 usage with RViz visualization including:

  • Static transform broadcasting (map → odom)
  • Dynamic transform broadcasting (odom → base_link)
  • Transform listener
  • Integration with visualization markers

API Example

using ROS2

init()
node = ROSNode("tf_example")

# Broadcast transform
broadcaster = TransformBroadcaster(node)
transform = create_transform_stamped("map", "base_link", (1.0, 2.0, 0.0), (0.0, 0.0, 0.0, 1.0))
transform.header.stamp = to_msg_time(now())
send_transform(broadcaster, transform)

# Listen to transform
listener = TransformListener(node)
transform = lookup_transform(listener, "map", "base_link")

shutdown()

Testing

Tested with:

  • ROS2 Humble on Ubuntu 22.04
  • ROS2 Jazzy on Ubuntu 24.04
  • Transform broadcasting and lookup
  • RViz visualization

Dependencies

  • tf2_ros (installed via apt with ROS2)
  • geometry_msgs (installed via apt with ROS2)

Backward Compatibility

Fully backward compatible. All existing code continues to work without modifications.

@Michi-Tsubaki Michi-Tsubaki merged commit 1792315 into main Oct 25, 2025
4 checks passed
@Michi-Tsubaki Michi-Tsubaki added the enhancement New feature or request label Oct 26, 2025
@Michi-Tsubaki Michi-Tsubaki changed the title Add tf2 Add TF2 Transform System Oct 26, 2025
@Michi-Tsubaki Michi-Tsubaki deleted the add-tf2 branch October 31, 2025 01:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant