D · Interactive tool · Module 06
Coordinate Transformation Calculator
Enter a point, a rotation (roll-pitch-yaw or quaternion) and a translation; see the transformed point, the 4×4 homogeneous matrix and every intermediate step, with the direction of the transform spelled out.
Preliminary engineering guidance. Results depend on the assumptions listed below and on simplified models. Verify with manufacturer datasheets and a test on your own hardware before committing to a design.
Point in the source frame
Rotation
Translation (position of the source origin in the destination frame, m)
Result
Assumptions and limitations
- Convention. TAB maps coordinates expressed in frame B into frame A: PA = RAB·PB + tAB, where tAB is the position of B’s origin expressed in A. Chains cancel inner subscripts: TAC = TAB·TBC. This is also what tf2 returns for
lookup_transform(target, source). - The calculator transforms points. It does not project to an image (see the Camera–LiDAR Projection Visualizer) and cannot recover depth from a 2D detection.
- Rotations are right-handed. Roll-pitch-yaw means R = Rz(yaw)·Ry(pitch)·Rx(roll), the usual ROS convention (the same matrix as intrinsic Z-Y-X rotations). Other Euler conventions give different matrices for the same three numbers.
- Quaternions are normalised before use; a zero quaternion is rejected. Roll-pitch-yaw is not unique at ±90° pitch (gimbal lock); there the displayed roll is set to 0.
- The “example” presets are illustrations of frame conventions (camera optical: x right, y down, z forward; LiDAR-style: x forward, y left, z up), not calibration results for any real robot.
References
- ROS REP 103, Standard Units of Measure and Coordinate Conventions, including the camera optical-frame convention: ros.org/reps/rep-0103. REP 105 covers the map, odom and base_link frames. Conventions verified against the REP sources on GitHub (rep-0103.rst, rep-0105.rst) on 2026-11-05.