Coordinate Transform Calculator
Define a tree of coordinate frames (each relative to a parent, like a URDF or a set of static_transform_publisher nodes), then look up the transform between any two frames or transform a point between them — with a live 3D tree preview.
Preset chains
Frames
| Name | Parent | x (m) | y (m) | z (m) | roll (deg) | pitch (deg) | yaw (deg) | |
|---|---|---|---|---|---|---|---|---|
Each frame's x/y/z/roll/pitch/yaw is its pose relative to its parent, ROS/URDF fixed-axis X-Y-Z convention — the same as a static_transform_publisher or a URDF <origin>.
Transform a pose
A position + orientation expressed in camera_optical_frame, converted into world. Pick the source/target frames in the panel next to the 3D view.
Position (m)
Orientation in camera_optical_frame
Result in world
Position (m)
x: 0.2000
y: 0.0000
z: 0.2500
Quaternion (x, y, z, w)
x: -0.5000
y: 0.5000
z: -0.5000
w: 0.5000
Roll / Pitch / Yaw (deg)
roll: -90.00
pitch: 0.00
yaw: -90.00
Each frame is defined relative to its parent, then composed up the tree to world space — the same model as ROS 2's tf2. Translation/rotation use the ROS/URDF fixed-axis X-Y-Z convention throughout.
Look up transform
Transform of camera_optical_frame expressed in world — matches tf2's lookupTransform("world", "camera_optical_frame").
Translation (m)
x: 0.2000
y: 0.0000
z: 0.2500
Quaternion (x, y, z, w)
x: -0.5000
y: 0.5000
z: -0.5000
w: 0.5000
Roll / Pitch / Yaw (deg)
roll: -90.00
pitch: 0.00
yaw: -90.00