Calibration et orientation d'IMU
Méthodes de calibration automatique pour IMU permettant de déterminer la matrice de rotation nécessaire pour aligner le référentiel du capteur avec celui de l'objet mesuré.
Comprendre le défi technique
Cette page de portfolio expose une problématique technique que j'ai rencontrée à de nombreuses reprises dans mes projets d'instrumentation : Comment effectuer un changement de repère pour les données mesurées par une IMU ?
Le problème se pose dès qu'on veut utiliser un capteur inertiel (IMU) pour mesurer le mouvement d'un objet, mais que l'orientation du capteur ne correspond pas au système de coordonnées de l'objet d'intérêt. Cette situation est très courante car il est souvent impossible ou impratique de fixer le capteur dans l'orientation exacte souhaitée.
Exemples de cas d'usage concrets
- Véhicule instrumenté : Un appareil avec IMU posé dans une voiture ou un avion, mais on ne sait pas exactement où il a été attaché et dans quelle orientation. L'objectif est de mesurer l'accélération et la rotation du véhicule lui-même, pas de l'appareil.
- Applications sportives : Un capteur attaché à un nageur dans une piscine, mais on ne connaît pas l'orientation de la piscine par rapport au nord magnétique. On souhaite mesurer l'accélération dans l'axe de la nage.
- Équipements industriels : Capteurs fixés sur des machines où l'orientation de montage peut varier selon l'installation ou évoluer dans le temps.
Pour résoudre ces problèmes, il faut être capable de déterminer une matrice de rotation qui transforme les mesures depuis le référentiel de l'appareil vers celui qu'on veut analyser.
Principe de la calibration automatique
La solution repose sur l'exploitation de références physiques connues pour calibrer automatiquement l'orientation du capteur. Dans la plupart des applications terrestres, nous disposons de deux références naturelles très utiles :
- La gravité terrestre : toujours dirigée vers le bas
- Les accélérations directionnelles : lors de manœuvres spécifiques comme le freinage, l'accélération, ou les virages
En combinant ces deux informations, on peut déterminer de manière automatique et robuste l'orientation relative entre le capteur et l'objet d'intérêt, sans intervention manuelle.
Exemple concret : capteur sur un camion
Prenons l'exemple d'un appareil IMU fixé sur un camion pour surveiller son comportement dynamique. Le capteur peut être installé n'importe où sur le véhicule et dans n'importe quelle orientation, mais nous voulons mesurer les accélérations dans le référentiel du camion.
Dans cet exemple (simplifié en 2D pour la clarté), on voit que le capteur est fixé sur le côté du camion mais son repère est désaligné avec celui du véhicule. La gravité est mesurée selon des composantes sur plusieurs axes, alors qu'idéalement elle devrait être entièrement alignée avec l'axe -Z du camion.
Algorithme de calibration en trois dimensions
Le passage du cas 2D (illustré ci-dessus) au cas réel en 3D introduit une complexité supplémentaire : un degré de liberté supplémentaire. En effet, si l'on se contente d'aligner la gravité avec l'axe -Z, il reste encore à déterminer comment orienter les axes X et Y dans le plan horizontal. C'est pourquoi l'algorithme nécessite une seconde contrainte géométrique.
L'algorithme fonctionne en exploitant deux situations distinctes qui fournissent des contraintes géométriques complémentaires :
1 Mesure au repos : contrainte verticale
Lorsque le véhicule est à l'arrêt et sur terrain plat, l'accéléromètre ne mesure que l'accélération gravitationnelle. Cette mesure fournit directement la direction de l'axe vertical du véhicule dans le référentiel du capteur.
⚠️ Cette contrainte seule laisse un degré de liberté : la rotation autour de l'axe Z
2 Mesure en freinage : contrainte horizontale
Lors d'un freinage (ou d'une accélération), le véhicule subit une accélération dans le plan horizontal, dans la direction de conduite. Cette mesure permet de lever l'ambiguïté sur l'orientation des axes X et Y dans le plan horizontal.
✓ Cette seconde contrainte fixe complètement l'orientation des axes X et Y
3 Construction du référentiel orthonormal complet
Avec ces deux contraintes géométriques, on peut construire un système de coordonnées orthonormal complet et non-ambigü pour le véhicule :
- Axe Z : opposé au vecteur gravité (vers le haut) - défini par la contrainte 1
- Axe X : direction de conduite (déduite du freinage) - défini par la contrainte 2
- Axe Y : perpendiculaire aux deux autres (vers la gauche) - calculé par produit vectoriel
Avantages de cette méthode
✓ Automatique
Aucune intervention manuelle requise. La calibration se fait automatiquement lors des premières utilisations du véhicule.
✓ Robuste
Exploite des références physiques universelles (gravité) et des comportements prévisibles (freinage).
✓ Flexible
Fonctionne quelle que soit l'orientation initiale du capteur, dans les limites physiques raisonnables.
✓ Économique
Évite les coûts de montage précis et les contraintes d'installation complexes.
📊 Détails mathématiques
À partir de deux vecteurs mesurés par le capteur, voici comment construire la matrice de rotation complète :
1. Vecteurs de départ
On part de deux vecteurs mesurés dans le capteur : s pour la gravité au repos, et b pendant le freinage.
2. Normalisation de la gravité
On normalise pour obtenir un vecteur de norme 1.
3. Définition de l'axe vertical du camion
L'axe Z pointe vers le haut (opposé à la gravité).
4. Calcul de la variation due au freinage
5. Détermination de l'axe latéral (Y)
Le produit vectoriel donne un vecteur perpendiculaire aux deux précédents.
6. Fermeture de la base orthonormée (axe X)
Ceci garantit un troisième axe perpendiculaire aux deux autres.
7. Assemblage de la matrice de rotation
8. Propriétés garanties
Cette construction assure que les trois axes sont orthogonaux et de norme 1, et que det(R) = +1, c'est bien une rotation sans renversement de sens.
Application : Cette matrice transforme tout vecteur mesuré par le capteur dans le référentiel du camion : vcamion = R × vcapteur
Démonstration interactive : Modèle 3D de camion avec rotation
Démonstration interactive de la rotation d'un modèle 3D de camion pour illustrer les concepts de matrices de rotation et d'orientation d'IMU. Utilisez les sliders ou faites glisser le système de coordonnées.
Expérience optimale sur ordinateur
Cette démonstration interactive est conçue pour être
utilisée sur un écran d'ordinateur avec une souris ou
un trackpad.
Les interactions tactiles peuvent ne pas fonctionner correctement sur cette démonstration.
Projets d'implémentation réalisés
Cette méthode de calibration automatique a été déployée avec succès dans plusieurs contextes d'instrumentation différents :
Analyse de nageurs
Mesures dans le référentiel de la piscine pour l'analyse biomécanique, avec capteurs fixés librement sur les nageurs.
Instrumentation aéronautique
Monitoring embarqué avec mesures dans le référentiel avion (tangage, roulis, lacet) malgré contraintes de montage.
Flotte automobile
Boîtiers télématiques avec installation flexible et mesures cohérentes dans le référentiel véhicule.
Un projet de calibration de capteurs vous intéresse ?
Discutons de vos besoins en instrumentation et traitement de données de capteurs.