Extrinsic Calibration
- Auch genannt: extrinsics, extrinsic parameters
- Kategorie: Foundations & spatial maths › Frames & transforms
- Schlagwörter: calibration, sensors, coordinate-frames, hand-eye, sensor-fusion
Die Bestimmung der Starrkörperpose eines Sensors relativ zum Roboter oder zu einem anderen Sensor, damit Messungen in einem gemeinsamen Koordinatensystem platziert werden können.
Definition
Extrinsische Kalibrierung (extrinsic calibration) schätzt die Position und Orientierung, eine starre Transformation in SE(3), eines Sensors relativ zu einer Referenz: der Roboterbasis, dem Endeffektor, einer Fahrzeugkarosserie oder einem anderen Sensor. Sie ist getrennt von der intrinsischen Kalibrierung, die modelliert, was im Inneren eines Sensors geschieht, etwa die Brennweite oder Objektivverzeichnung einer Kamera. Ohne genaue extrinsische Parameter lässt sich ein von einer Kamera erkannter Punkt nicht korrekt im Koordinatensystem des Roboters platzieren, und Daten mehrerer Sensoren können nicht fusioniert werden.
Die Methoden hängen von den beteiligten Sensoren ab. Eine Eye-in-Hand-Kamera (eye-in-hand camera) beschreibt, wo eine Kamera montiert ist; die extrinsische Kalibrierung ist das Verfahren, das misst, wo genau diese Montage sie platziert. Für eine Kamera an einem Roboterarm bewegt die Hand-Auge-Kalibrierung (hand-eye calibration) den Arm in viele Posen, während die Kamera ein festes Ziel betrachtet, und löst die Gleichung AX = XB, wobei A und B relative Bewegungen von Greifer und Kamera sind und X die unbekannte Transformation ist; Tsai und Lenz (1989) lieferten eine weit verbreitete Lösung. Dieselbe Gleichung mit anderen Termen behandelt eine feste Kamera, die ein vom Greifer gehaltenes Ziel betrachtet. Die Kamera-LiDAR-Kalibrierung ordnet meist Merkmale eines Ziels einander zu, etwa Tafelebenen oder Kanten, die beide Sensoren sehen. Die Kamera-IMU-Kalibrierung, wie in der Kalibr-Toolbox, schätzt aus einer kontinuierlichen Trajektorie die Transformation und den Zeitversatz zwischen den Sensoren. Viele Systeme verfeinern die extrinsischen Parameter anschließend online in einem Zustandsschätzer.
Kleine extrinsische Fehler haben große Auswirkungen. Ein Winkelfehler von einem halben Grad verschiebt einen einen Meter entfernten Punkt um fast 9 mm, genug, um einen Griff zu verfehlen oder eine fusionierte Karte zu verschieben. CAD-Werte liefern einen Ausgangspunkt, stimmen aber selten mit dem gebauten Roboter überein, und Halterungen verschieben sich durch Stöße, Temperatur und Wartung. Gute Praxis ist, Kalibrierdaten über einen weiten Bereich von Posen zu sammeln, das Ergebnis durch Messen des Rückprojektions- oder Ausrichtungsfehlers auf zurückgehaltenen Daten zu prüfen und nach jeder mechanischen Änderung erneut zu prüfen.
Warum es wichtig ist
Jeder Roboter, der Sensorik mit Bewegung oder mit anderen Sensoren kombiniert, hängt von der extrinsischen Kalibrierung ab. Sie entscheidet, ob eine Kameradetektion dort landet, wohin der Greifer fährt, ob LiDAR- und Kameradaten übereinanderpassen und ob eine fusionierte Zustandsschätzung konsistent ist.
Wichtige Anwendungen
- Hand-Auge-Kalibrierung für am Handgelenk montierte und feste Kameras
- Kamera-LiDAR-Ausrichtung an Fahrzeugen und mobilen Robotern
- Kamera-IMU-Kalibrierung für visuell-inertiale Odometrie
- Mehrkamera-Aufbauten für Motion Capture und 3D-Rekonstruktion
- Registrierung fester Kameras zu einer Roboterzelle
In der Praxis
Ein Labor montiert eine Tiefenkamera zum Greifen am Handgelenk eines Roboters. Es druckt eine ChArUco-Tafel aus, befestigt sie auf dem Tisch und bewegt den Arm durch etwa 25 Posen mit unterschiedlichen Drehungen, wobei in jeder Pose die Endeffektorpose aus der Vorwärtskinematik und die Tafelpose aus der Kamera aufgezeichnet werden. Ein Hand-Auge-Löser liefert die Transformation von der Kamera zum Flansch. Zur Validierung fusioniert das Labor Tiefenbilder aus mehreren Handgelenkposen zu einer Punktwolke; bei guter Kalibrierung passen Tisch und Objekte übereinander, bei schlechter erscheinen Oberflächen doppelt. Zusätzlich tippt es die Ecken der Tafel mit der Greiferspitze an und vergleicht diese Positionen mit der Schätzung der Kamera; die Kalibrierung wird akzeptiert, wenn der Fehler wenige Millimeter beträgt.
Häufige Missverständnisse
- CAD-Maße sind genau genug — Fertigungstoleranzen und Montagefehler führen dazu, dass gemessene extrinsische Parameter von den Konstruktionswerten abweichen
- Kalibrierung erfolgt einmal — Halterungen verschieben sich mit der Zeit, daher sollten die extrinsischen Parameter nach Stößen oder Hardwareänderungen erneut geprüft werden
- Extrinsische und intrinsische Kalibrierung sind derselbe Schritt — intrinsische Parameter modellieren den Sensor selbst, extrinsische seine Pose; Fehler in einem verfälschen den anderen, wenn beide gemeinsam gelöst werden
- Nur die räumliche Transformation zählt — bei bewegten Sensoren verursacht ein Zeitversatz zwischen Datenströmen Fehler ähnlich einer falschen Pose
Wer das wissen sollte
- Ingenieure für Roboterwahrnehmung und Integration
- Sensoringenieure für autonome Fahrzeuge
- Entwickler für Zustandsschätzung und SLAM
- Forschende, die Manipulations-Testumgebungen aufbauen
Verwandte Technologien
- Kalibr
- OpenCV-Hand-Auge-Kalibrierung (OpenCV Hand-Eye Calibration)
- ChArUco- und AprilTag-Tafeln (ChArUco and AprilTag Boards)
- MoveIt Calibration
- ROS tf2
Verwandte Begriffe
Verwandte Projekte
- 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