Extrinsic Calibration
- Aussi appelé: extrinsics, extrinsic parameters
- Catégorie: Foundations & spatial maths › Frames & transforms
- Mots-clés: calibration, sensors, coordinate-frames, hand-eye, sensor-fusion
Déterminer la pose rigide d'un capteur par rapport au robot ou à un autre capteur, afin que les mesures puissent être placées dans un système de coordonnées commun.
Définition
La calibration extrinsèque (extrinsic calibration) estime la position et l'orientation, une transformation rigide dans SE(3), d'un capteur par rapport à une référence : la base du robot, l'effecteur, la caisse d'un véhicule ou un autre capteur. Elle est distincte de la calibration intrinsèque, qui modélise ce qui se passe à l'intérieur d'un capteur, comme la focale ou la distorsion de l'objectif d'une caméra. Sans paramètres extrinsèques précis, un point détecté par une caméra ne peut pas être placé correctement dans le repère du robot, et les données de plusieurs capteurs ne peuvent pas être fusionnées.
Les méthodes dépendent des capteurs concernés. Une caméra embarquée sur la main (eye-in-hand camera) désigne l'endroit où une caméra est montée ; la calibration extrinsèque est la procédure qui mesure exactement où ce montage la place. Pour une caméra sur un bras robotique, la calibration main-œil (hand-eye calibration) déplace le bras dans de nombreuses poses pendant que la caméra observe une cible fixe, et résout l'équation AX = XB, où A et B sont des mouvements relatifs de la pince et de la caméra et X la transformation inconnue ; Tsai et Lenz (1989) en ont donné une solution largement utilisée. La même équation avec d'autres termes traite le cas d'une caméra fixe qui observe une cible tenue par la pince. La calibration caméra-LiDAR met généralement en correspondance des caractéristiques d'une cible, comme des plans ou des arêtes de mire, vues par les deux capteurs. La calibration caméra-IMU, comme dans la boîte à outils Kalibr, estime la transformation et le décalage temporel entre les capteurs à partir d'une trajectoire continue. De nombreux systèmes affinent ensuite les paramètres extrinsèques en ligne dans un estimateur d'état.
De petites erreurs extrinsèques ont de grands effets. Une erreur angulaire d'un demi-degré déplace un point situé à un mètre de près de 9 mm, ce qui suffit pour manquer une prise ou désaligner une carte fusionnée. Les valeurs de CAO donnent un point de départ mais correspondent rarement au robot construit, et les supports se déplacent avec les chocs, la température et la maintenance. La bonne pratique consiste à collecter des données de calibration sur une large gamme de poses, à vérifier le résultat en mesurant l'erreur de reprojection ou d'alignement sur des données réservées, et à revérifier après toute modification mécanique.
Pourquoi c'est important
Tout robot qui combine la perception avec le mouvement ou avec d'autres capteurs dépend de la calibration extrinsèque. Elle détermine si une détection de la caméra tombe là où va la pince, si les données LiDAR et caméra se superposent, et si une estimation d'état fusionnée est cohérente.
Applications principales
- Calibration main-œil pour caméras montées au poignet et caméras fixes
- Alignement caméra-LiDAR sur véhicules et robots mobiles
- Calibration caméra-IMU pour l'odométrie visuelle-inertielle
- Bancs multicaméras pour la capture de mouvement et la reconstruction 3D
- Recalage de caméras fixes sur une cellule robotisée
En pratique
Un laboratoire monte une caméra de profondeur sur le poignet d'un robot pour la préhension. Il imprime une mire ChArUco, la fixe sur la table et fait passer le bras par environ 25 poses couvrant différentes rotations, en enregistrant à chaque fois la pose de l'effecteur issue de la cinématique directe et la pose de la mire vue par la caméra. Un solveur main-œil renvoie la transformation caméra-bride. Pour la valider, l'équipe fusionne les images de profondeur de plusieurs poses du poignet en un seul nuage de points ; avec une bonne calibration, la table et les objets se superposent, alors qu'avec une mauvaise les surfaces apparaissent dédoublées. Elle touche aussi les coins de la mire avec la pointe de la pince et compare ces positions à l'estimation de la caméra, et accepte la calibration lorsque l'erreur est de quelques millimètres.
Idées reçues
- Les cotes de CAO suffisent — les tolérances de fabrication et les erreurs de montage font que les paramètres extrinsèques mesurés diffèrent des valeurs de conception
- La calibration se fait une fois pour toutes — les supports bougent avec le temps, donc les paramètres extrinsèques doivent être revérifiés après des chocs ou des changements de matériel
- Calibration extrinsèque et calibration intrinsèque sont la même étape — les paramètres intrinsèques modélisent le capteur lui-même, les extrinsèques sa pose ; des erreurs dans l'un faussent l'autre s'ils sont résolus conjointement
- Seule la transformation spatiale compte — pour des capteurs en mouvement, un décalage temporel entre flux de données provoque des erreurs semblables à une mauvaise pose
Qui devrait le savoir
- Ingénieurs en perception et en intégration robotiques
- Ingénieurs capteurs pour véhicules autonomes
- Développeurs en estimation d'état et en SLAM
- Chercheurs qui montent des bancs d'essai de manipulation
Technologies associées
- Kalibr
- Calibration main-œil d'OpenCV (OpenCV Hand-Eye Calibration)
- Mires ChArUco et AprilTag (ChArUco and AprilTag Boards)
- MoveIt Calibration
- ROS tf2
Termes associés
Projets associés
- 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
Vidéos
- Camera Intrinsics and Extrinsics - 5 Minutes with Cyrill: Cyrill Stachniss
- OpenCV Python Camera Calibration (Intrinsic, Extrinsic, Distortion): Kevin Wood | Robotics & AI