EN
KinematicsIntermediateframetransformrotation matrixURDFhand-eye

Coordinate frames and transforms

In 30 secondsA point only has coordinates relative to a frame (origin + axes). To go from the robot's frame to the world's: p_world = R(θ) · p_robot + t.

Also available in: Català · Castellano

The idea

A frame is an origin plus a set of axes. The cup is in one place, but its numbers depend on who is measuring. A robot arm is a chain of frames.

Changing frame (2D)

p_world = R(θ) · p_robot + t

  • R(θ) = [[cosθ, −sinθ], [sinθ, cosθ]]: how much the robot is rotated.
  • t: where its origin is in the world.

It can be written as a single 3×3 matrix (rotation + translation); in 3D, 4×4 matrices.

Chaining

T(base → gripper) = T1 · T2 · … · Tn. Order matters. This is what a URDF describes: the file with the chain of links and joints that simulators and visualisers read.

Hand-eye

The camera sees the object in its own frame; the arm needs it in the base frame. A calibration error of a few degrees grows with distance: error ≈ distance × tan(angle). 3° at 0.5 m is about 26 mm.

In the demo

Drag the robot’s frame: the same cup has different numbers in each frame. In the chain tab, switch on the wrong multiplication order and see how the result changes.

Interactive demo

Related concepts