P011 – Redressement des accélérations IMU pour applications télématiques
Abstract
L’exploitation des unités de mesure inertielle (IMU) basées sur la technologie MEMS dans des environnements télématiques (tels que RoadSimulator3) est fortement contrainte par des erreurs systématiques inhérentes aux capteurs low-cost : biais, facteurs d’échelle non unitaires, désalignements et dérives. Ce papier propose une méthodologie complète, robuste et entièrement reproductible permettant la calibration de l’ensemble de la chaîne inertielle (accéléromètres et gyroscopes) sans équipement externe, en s’appuyant uniquement sur la référence physique stable de la gravité terrestre.
Le cœur de la démarche s’appuie sur la méthode de calibration multi-positions proposée par Syed, Aggarwal et Noureldin (2006), étendue et combinée avec les travaux de Lötters (1998), Fong (2008) et Tedaldi (2014). Le pipeline inclut : (1) un protocole de poses statiques inspiré de Syed, (2) la détection quasi-statique (QSD), (3) une calibration in-field des accéléromètres par modèle affine complet, (4) une calibration gyroscope contrainte par l’orientation accélérométrique (p2), (5) l’estimation d’attitude par intégration quaternionique Runge–Kutta 4 normalisée (RK4n), et (6) la compensation complète de la gravité pour obtenir l’accélération inertielle pure. Nous décrivons également un protocole complet de validation via simulation RS3 et positionnons ce pipeline dans l’écosystème des systèmes de navigation terrestres INS/GNSS.
I. Introduction
Les IMU MEMS low-cost sont omniprésentes dans les applications télématiques modernes : estimation du style de conduite, analyse de trajectoire, fusion GNSS/INS, odométrie inertielle et détection d’événements routiers. Leur usage est toutefois limité par des erreurs structurelles : biais, facteurs d’échelle, non-orthogonalité, sensibilité thermique et dérive des gyroscopes.
Dans des environnements dynamiques (véhicules terrestres), ces erreurs induisent :
- des accélérations « fantômes »,
- des erreurs d’attitude accumulées,
- une mauvaise compensation du vecteur gravité,
- une perte de cohérence des accélérations longitudinales/latérales.
L’objectif de ce travail est la définition d’un pipeline inertiel complet, exploitable en télématique, permettant d’obtenir des accélérations pures, c’est-à-dire corrigées des erreurs de calibration et débarrassées de la composante gravitationnelle, tout en restant réalisable sans équipement de laboratoire. Ce pipeline :
- s’appuie sur la méthode de calibration multi-positions de Syed et al. (2006) pour la triade accélérométrique,
- réutilise la contrainte (p2) et les raffinements numériques proposés par Fong (2008) et Tedaldi (2014) pour la triade gyroscopique,
- est pensé pour être intégré directement dans Telemachus et validé via RoadSimulator3 (RS3).
II. État de l’art
A. Calibration multi-positions des accéléromètres (Syed et al.)
Syed, Aggarwal et Noureldin proposent une méthode de calibration multi-positions pour IMU MEMS destinées aux véhicules terrestres. Le principe est le suivant :
- L’IMU est placée successivement dans un ensemble de poses statiques connues ou simplement diverses (typiquement entre 6 et 18 orientations, voire davantage).
- En chaque pose, la magnitude de l’accélération spécifique mesurée doit être égale à (|g|) (en l’absence de mouvement).
- Les mesures de chaque triade servent à identifier un modèle affine complet pour l’accéléromètre, incluant biais, échelle et désalignement.
Par rapport aux travaux antérieurs :
- Lötters (1998) introduit la contrainte fondamentale : [ |a_O| = |g| \quad \text{en conditions quasi-statiques.} ]
- Syed systématise cette approche pour des IMU MEMS low-cost, avec un protocole de poses et un solveur par moindres carrés permettant une calibration fiable sans banc de rotation.
Cette méthode est directement compatible avec une intégration in-field dans un système télématique (calibration au garage, chez l’installateur, ou même en calibration « en main »).
B. Modèles affines d’erreurs et extension par Fong / Tedaldi
Les travaux de Fong (2008) et Tedaldi (2014) généralisent le modèle de calibration en introduisant :
- une matrice de non-orthogonalité / désalignement (T_a),
- une matrice de facteurs d’échelle (K_a),
- un vecteur de biais (b_a),
tels que l’on écrive la mesure calibrée dans un repère orthogonal :
[ a_O = T_a K_a (a_S + b_a) ]
où (a_S) sont les mesures brutes de l’accéléromètre.
Tedaldi propose :
- une formulation explicite du modèle matriciel,
- l’utilisation d’un algorithme de Levenberg–Marquardt (LM) pour minimiser la violation de la contrainte (|a_O| = |g|) sur un ensemble de poses statiques,
- une procédure systématique pour coupler cette calibration accélérométrique avec la calibration gyroscopique.
Dans P011, nous utilisons la méthode de Syed pour l’initialisation robuste des paramètres (\theta_{acc}), puis un raffinage non-linéaire à la Tedaldi.
C. Calibration des gyroscopes par contrainte d’orientation (p2)
Les gyroscopes ne disposent d’aucune référence directe de taux de rotation. Fong introduit la propriété (p2) :
[ u_{a,k} = u_{g,k} ]
où :
- (u_{a,k}) est le versor de gravité mesuré par les accéléromètres calibrés lors des intervalles statiques,
- (u_{g,k}) est le même versor reconstruit par intégration inertielle des vitesses angulaires sur les intervalles dynamiques adjacents.
Tedaldi combine cette idée avec :
- l’analyse de la Variance d’Allan pour stabiliser l’estimation du biais gyroscope (b_g),
- l’intégration quaternionique Runge–Kutta 4 normalisée (RK4n) pour limiter la dérive d’attitude.
Le modèle d’erreur gyroscopique est de forme analogue :
[ \omega_O = T_g K_g (\omega_S + b_g) ]
où (\omega_S) sont les mesures brutes des gyroscopes.
III. Méthodologie du pipeline de redressement
Le pipeline P011 se structure autour de trois grandes étapes, en combinant explicitement la méthode de Syed avec les raffinements de Fong / Tedaldi.
Étape A – Protocole de collecte et pré-traitement
1. Protocole multi-positions (Syed)
Nous adoptons un protocole de calibration inspiré de Syed :
- Nombre de poses : entre 12 et 36 orientations statiques, réparties de manière à exciter au maximum la sphère d’orientation.
- Durée par pose : de quelques secondes à plusieurs dizaines de secondes, selon la fréquence IMU (typiquement 5 à 15 s à 100 Hz).
- Procédure pratique :
- IMU tenue à la main ou fixée sur un support,
- rotations lentes entre les poses,
- enregistrement continu des données brutes ((a_S, \omega_S)).
2. Détection quasi-statique (QSD)
Un détecteur quasi-statique identifie les intervalles de repos nécessaires à la méthode de Syed :
- calcul d’une variance glissante (\zeta(t)) de la magnitude (|a_S(t)|) sur une fenêtre (t_w),
- estimation d’un seuil (\tau_\zeta) à partir d’une phase initiale de repos,
- marquage des instants (t) tels que (\zeta(t) < \tau_\zeta) comme quasi-statiques.
Les intervalles QSD servent à :
- alimenter le solveur multi-positions de Syed pour (a_S),
- initialiser l’analyse d’Allan pour (\omega_S),
- construire les vecteurs gravité de référence (u_{a,k}).
3. Caractérisation initiale du biais gyroscope
Sur une période initiale de repos (T_{\text{init}}) (≈ 50 s), nous calculons :
- la moyenne (\bar{\omega}_S) pour obtenir une première estimation du biais,
- la Variance d’Allan pour caractériser le bruit stochastique des gyroscopes et valider la durée nécessaire pour une estimation stable.
Étape B – Calibration des paramètres
1. Calibration accéléromètre : Syed + raffinage LM
Nous cherchons les paramètres (\theta_{acc} = {T_a, K_a, b_a}) tels que :
[ a_O = T_a K_a (a_S + b_a) ]
En première étape, nous appliquons la méthode de Syed :
- Construction d’un système linéaire global à partir des poses quasi-statiques :
- pour chaque intervalle (k), on associe une direction de gravité « théorique » (\hat{g}_k) (orientations distinctes),
- on impose (|a_O^{(k)}| = |g|) et la cohérence des composantes avec la direction (\hat{g}_k).
- Résolution par moindres carrés pour obtenir une première estimation (\theta_{acc}^{(0)}).
En seconde étape, nous raffinons cette estimation par une optimisation non linéaire à la Tedaldi :
[ L(\theta_{acc}) = \sum_{k} \left( |a_O^{(k)}(\theta_{acc})| - |g| \right)^2 ]
L’algorithme de Levenberg–Marquardt est utilisé pour minimiser (L(\theta_{acc})) en partant de (\theta_{acc}^{(0)}).
2. Calibration des gyroscopes : contrainte (p2)
Les accélérations calibrées permettent de reconstruire, pour chaque intervalle statique (k), un versor de gravité :
[ u_{a,k} = -\frac{a_O^{(k)}}{|a_O^{(k)}|} ]
Après soustraction du biais (\hat{b}_g) et application d’un modèle analogue à l’accéléromètre, les vitesses angulaires calibrées sont :
[ \omega_O = T_g K_g (\omega_S + b_g) ]
Nous intégrons alors (\omega_O) sur les intervalles dynamiques à l’aide de RK4n pour obtenir des quaternions (q(t)), et donc un versor gravité inertiel :
[ u_{g,k} = R_{BN}(t_k)^T , g^N / |g| ]
La fonction de coût gyroscopique est :
[ L(\theta_{gyro}) = \sum_k |u_{a,k} - u_{g,k}(\theta_{gyro})|^2 ]
que nous minimisons pour obtenir (\theta_{gyro} = {T_g, K_g, b_g}).
Étape C – Redressement de l’accélération
Une fois les paramètres calibrés, le pipeline de redressement s’écrit :
-
Accélération calibrée dans le repère corps : [ a_O = T_a K_a (a_S + b_a) ]
-
Estimation d’attitude :
intégration quaternionique RK4n des vitesses angulaires (\omega_O) pour obtenir la rotation (R_{BN}) (du repère navigation (N) vers le repère corps (B)). -
Projection de la gravité : [ g^{N} = [0, 0, -|g|]^T,\quad g^{B} = R_{BN}^{T} g^{N} ]
-
Compensation de la gravité : [ a^{B}_{\text{lin}} = a_O - g^{B} ]
-
Redressement dans le repère navigation : [ a^{N}{\text{lin}} = R{BN} a^{B}_{\text{lin}} ]
Nous notons (a_{\text{pure}} = a^{N}_{\text{lin}}) l’accélération inertielle pure, prête à être utilisée pour des applications télématiques.
- Projection véhicule / route (hors corpus) :
le corpus étudié (Syed, Fong, Tedaldi) ne formalise pas la transformation vers un repère véhicule/route. Cette étape sera développée spécifiquement dans le cadre RS3 / Teleforge, en lien avec RoadGeometry / RoadGenome.
IV. Protocole expérimental RS3
L’environnement RS3 permet de simuler des IMU avec des modèles d’erreur contrôlés et d’accéder à une vérité terrain (ground truth), ce qui est idéal pour valider la combinaison Syed + Tedaldi proposée dans P011.
A. Scénarios de simulation
-
Acquisition statique de calibration (Syed)
- Simulation de 12 à 36 attitudes statiques aléatoires, analogues aux poses multi-positions de Syed.
- Phase initiale (T_{\text{init}} \geq 50) s pour la caractérisation du bruit gyroscopique via la Variance d’Allan.
-
Mouvements dynamiques véhiculaires (validation)
- Freinage / accélération linéaire : forte accélération longitudinale puis décélération pour tester la capacité à extraire une (a_{\text{pure}}) cohérente sur l’axe longitudinal.
- Virage soutenu : rotation significative pour tester la précision dynamique de l’attitude (R_{BN}) et la compensation correcte de la gravité dans les composantes latérale et longitudinale.
- Pente / bosse : changements d’orientation et mouvements verticaux pour valider la robustesse du QSD et la stabilité de l’attitude.
B. Structure des données (Telemachus)
Le format Telemachus fournit une structure adaptée pour transporter à la fois les données brutes, les paramètres de Syed/Tedaldi et les signaux redressés :
-
Données brutes :
imu.acc_raw: (a_S)imu.gyro_raw: (\omega_S)gnss.*: mesures GNSS si disponibles.
-
Paramètres de calibration (Syed + Tedaldi) :
imu.calibration.scale: (K_a, K_g)imu.calibration.bias: (b_a, b_g)imu.calibration.misalignment: (T_a, T_g)imu.calibration.allan_variance: paramètres stochastiques issus de l’analyse d’Allan.
-
Sorties du pipeline :
imu.acc_calibrated: (a_O) (repère corps calibré)imu.orientation: (R_{BN}) ou quaternion associéimu.acc_pure: (a_{\text{pure}}) (repère navigation).
V. Résultats attendus et métriques
Sur données simulées RS3, nous attendons des résultats cohérents avec ceux rapportés par Syed et Tedaldi :
-
Calibration des accéléromètres (Syed + LM)
- Erreur de magnitude statique (||a_O| - |g||) réduite d’un facteur typiquement > 5–10.
- Erreur angulaire moyenne par rapport à la verticale gravitaire inférieure à ~0.3° sur des poses bien excitées.
-
Calibration des gyroscopes
- Réduction significative de la divergence angulaire (|u_a - u_g|^2) (facteur 2 à 5, voire davantage sur données synthétiques).
- Stabilité des biais estimés cohérente avec la Variance d’Allan.
-
Redressement final des accélérations
- Erreur absolue (|a_{\text{pure}} - a_{\text{true}}|) fortement réduite par rapport au signal brut.
- Visualisations comparant (a_{\text{brut}}), (a_O), (a_{\text{pure}}) et (a_{\text{true}}) pour illustrer la suppression des biais et de la composante gravitaire.
VI. Syed vs Tedaldi : rôle respectif dans P011
Dans le pipeline P011, Syed et Tedaldi jouent des rôles complémentaires :
-
Syed (2006) fournit :
- un protocole de calibration multi-positions réaliste pour IMU vehiculaires,
- un solveur linéaire robuste pour initialiser les paramètres d’accéléromètre.
-
Tedaldi (2014) apporte :
- une formalisation matricielle complète des erreurs ((T, K, b)),
- un raffinage non-linéaire (LM),
- une intégration quaternionique RK4n optimisée pour la calibration conjointe accéléromètre/gyroscope.
P011 propose de combiner ces contributions :
- Syed pour l’initialisation pratique et robuste de la triade accélérométrique.
- Tedaldi pour le raffinage et la calibration conjointe de la triade gyroscopique.
- RS3/Telemachus pour la validation et l’exploitation télématique.
VII. Limitations et perspectives
- Non-observabilité limitée : en l’absence de variations suffisantes d’orientation, certains paramètres (désalignement, échelles croisées) restent mal observés.
- Dépendance à la QSD : une QSD mal réglée dégrade la sélection des poses de Syed et l’estimation des biais.
- Projection véhicule/route : non couverte par Syed/Tedaldi ; à développer spécifiquement (RoadGeometry / RoadGenome).
- Température : les effets thermiques ne sont pas modélisés dans ce pipeline et pourraient nécessiter une calibration multi-température.
- Fusion GNSS : la stabilité de (R_{BN}) sur de longues durées nécessite un couplage explicite avec le GNSS.
VIII. Conclusion
Ce papier présente un pipeline complet et reproductible de redressement inertiel pour applications télématiques, fondé sur la méthode de calibration multi-positions de Syed, Aggarwal et Noureldin étendue par les contributions de Fong et Tedaldi. L’approche proposée :
- reste réalisable sans banc de calibration,
- exploite pleinement la référence gravitaire,
- fournit des accélérations pures (a_{\text{pure}}) exploitables pour des applications de télématique avancée.
Les prochaines étapes incluent :
- l’implémentation complète du pipeline dans les outils RS3 / Teleforge,
- la définition d’une transformation standardisée vers le repère véhicule/route,
- l’évaluation sur des données réelles issues de véhicules équipés d’IMU MEMS et de GNSS,
- l’ancrage des paramètres et sorties dans le format pivot Telemachus pour en assurer la traçabilité et la réutilisation par l’écosystème télématique.