Extrinsic Calibration
- Also called: extrinsics, extrinsic parameters
- Category: Foundations & spatial maths › Frames & transforms
- Tags: calibration, sensors, coordinate-frames, hand-eye, sensor-fusion
Finding the rigid-body pose of a sensor relative to the robot or another sensor, so measurements can be placed in a shared coordinate frame.
Definition
Extrinsic calibration estimates the position and orientation, a rigid transform in SE(3), of a sensor relative to some reference: the robot base, the end-effector, a vehicle body or another sensor. It is separate from intrinsic calibration, which models what happens inside a sensor, such as a camera's focal length or lens distortion. Without accurate extrinsics, a point detected by a camera cannot be placed correctly in the robot's frame, and data from several sensors cannot be fused.
The methods depend on the sensors involved. An eye-in-hand camera describes where a camera is mounted; extrinsic calibration is the procedure that measures exactly where that mount puts it. For a camera on a robot arm, hand-eye calibration moves the arm to many poses while the camera views a fixed target, and solves the equation AX = XB, where A and B are relative motions of the gripper and camera and X is the unknown transform; Tsai and Lenz (1989) gave a widely used solution. The same equation with different terms handles a fixed camera looking at a target held by the gripper. Camera-to-lidar calibration usually matches features of a target, such as board planes or edges, seen by both sensors. Camera-to-IMU calibration, as in the Kalibr toolbox, estimates the transform and the time offset between the sensors from a continuous trajectory. Many systems then refine the extrinsics online inside a state estimator.
Small extrinsic errors have large effects. An angular error of half a degree displaces a point one meter away by almost 9 mm, which is enough to miss a grasp or misalign a fused map. CAD values give a starting point but rarely match the built robot, and mounts shift with impacts, temperature and maintenance. Good practice is to collect calibration data across a wide range of poses, check the result by measuring reprojection or alignment error on held-out data, and recheck after any mechanical change.
Why it matters
Every robot that combines sensing with motion or with other sensors depends on extrinsic calibration. It decides whether a camera detection lands where the gripper goes, whether lidar and camera data line up, and whether a fused state estimate is consistent.
Key applications
- Hand-eye calibration for wrist-mounted and fixed cameras
- Camera-lidar alignment on vehicles and mobile robots
- Camera-IMU calibration for visual-inertial odometry
- Multi-camera rigs for motion capture and 3D reconstruction
- Registering fixed cameras to a robot workcell
In practice
A lab mounts a depth camera on a robot's wrist for grasping. They print a ChArUco board, fix it on the table and move the arm through about 25 poses covering different rotations, recording the end-effector pose from forward kinematics and the board pose from the camera at each one. A hand-eye solver returns the camera-to-flange transform. To validate it, they fuse depth images from several wrist poses into one point cloud; with good calibration, the table and objects line up, while with a poor one surfaces appear doubled. They also touch the board corners with the gripper tip and compare those positions with the camera's estimate, accepting the calibration when the error is a few millimeters.
Common misconceptions
- CAD dimensions are good enough — manufacturing tolerances and mounting errors make measured extrinsics differ from design values
- Calibration is done once — mounts shift over time, so extrinsics should be rechecked after impacts or hardware changes
- Extrinsic and intrinsic calibration are the same step — intrinsics model the sensor itself, extrinsics its pose; errors in either corrupt the other if solved jointly
- Only the spatial transform matters — for moving sensors, a time offset between data streams causes errors similar to a wrong pose
Who should know this
- Robot perception and integration engineers
- Autonomous vehicle sensor engineers
- State estimation and SLAM developers
- Researchers building manipulation testbeds
Related technologies
- Kalibr
- OpenCV Hand-Eye Calibration
- ChArUco and AprilTag Boards
- MoveIt Calibration
- ROS tf2
Related terms
Related projects
- FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
- GTSAM: Factor-graph optimization library powering many modern SLAM backends
- AprilTag: The standard visual fiducial marker system for robot localization and pose estimation
- Gazebo: Industry-standard open-source robotics simulator with multi-physics and ROS integration
- image_pipeline: The standard ROS camera stack: calibration, rectification, stereo and depth
Videos
- Camera Intrinsics and Extrinsics - 5 Minutes with Cyrill: Cyrill Stachniss
- OpenCV Python Camera Calibration (Intrinsic, Extrinsic, Distortion): Kevin Wood | Robotics & AI