Open Source Robotics

A curated collection of high-quality open source robotics projects, tools, and software to propel the robotics community forward.

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

  • Eye-in-Hand Camera
  • Camera Intrinsics
  • Transform
  • Coordinate Frame
  • Sensor Fusion
  • Forward Kinematics

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

This website requires JavaScript to function properly. Please enable JavaScript to explore our collection of open source robotics projects.