IMUSim : introduction rapide et outils de base

⚠️ NOTE INTERNE (à retirer avant publication)

  • Vérifier installation IMUSim dans un venv vierge.
  • Confirmer que Simulation, ConstantAccelerationEnvironment et IdealIMU existent toujours.
  • Capturer un extrait réel de imu.data (5 premières lignes).
  • Générer un CSV minimal + tracer accel_z avec matplotlib.
  • Ajouter un court mapping “champ IMUSim → champ Telemachus”.

IMUSim : introduction rapide et outils de base

Introduction

Dans le domaine de la navigation inertielle, la IMUSim simulation inertielle GNSS/IMU est une ressource précieuse. Cette bibliothèque Python open source permet de simuler des mesures inertiales réalistes, facilitant ainsi le développement et la validation des algorithmes de fusion de capteurs. Ce billet présente une introduction claire à IMUSim, son installation, et son rôle complémentaire avec RS3 et Telemachus.

IMUSim simulation inertielle GNSS/IMU illustration
Illustration de IMUSim : simulation inertielle GNSS/IMU

Objectif

Découvrir IMUSim, une bibliothèque Python open source permettant de simuler des mesures inertiales réalistes (accéléromètre, gyroscope) dans des scénarios contrôlés.
Ce billet illustre ses principes, son installation et son lien direct avec RS3 et Telemachus.

Contexte

La validation des algorithmes de fusion nécessite des données GNSS/IMU cohérentes et bruitées.
Avant RS3, peu d’outils open source permettaient de générer des signaux inertiels réalistes avec précision temporelle et cinématique.
IMUSim (Young et al., 2011) a été l’un des premiers simulateurs open source destinés à la recherche en navigation inertielle.

Installation

# Cloner le dépôt (non maintenu mais encore fonctionnel)
git clone https://github.com/ajyoung/imusim.git
cd imusim
pip install -e .

Pour plus de détails, la page officielle du projet est disponible sur GitHub IMUSim.

Exemple de simulation simple

from imusim.simulation.base import Simulation
from imusim.environment import ConstantAccelerationEnvironment
from imusim.platforms import IdealIMU

sim = Simulation()
env = ConstantAccelerationEnvironment(acceleration=(0, 0, -9.81))
imu = IdealIMU()
sim.add_platform(imu, env)
sim.run(duration=10.0)

print("Nombre d’échantillons IMU :", len(imu.data))

➡️ Ce code génère un jeu de données inertiel à 100 Hz sur 10 secondes, simulant une gravité constante.

Analyse rapide

Les signaux peuvent être exportés pour analyse ou comparés à ceux de RS3, un outil plus avancé pour la simulation inertielle et GNSS.
Voici un exemple simple d’affichage avec matplotlib :

import matplotlib.pyplot as plt
plt.plot(imu.data['accelerometer_z'])
plt.title('Accélération simulée - axe Z')
plt.show()

Pour en savoir plus sur RS3, consultez notre article dédié : RS3 - Simulation et validation GNSS/IMU.

Complément scientifique

Le modèle inertiel d’IMUSim repose sur les équations fondamentales de la cinématique : [ \mathbf{a}_m = \mathbf{R}(\mathbf{q})^T (\mathbf{a}_t - \mathbf{g}) + \mathbf{b}_a + \mathbf{n}_a ] où :

  • (\mathbf{a}_m) est la mesure accélérométrique simulée,
  • (\mathbf{R}(\mathbf{q})) est la matrice de rotation quaternion → monde,
  • (\mathbf{b}_a) le biais,
  • (\mathbf{n}_a) le bruit blanc gaussien.

Cette formulation simple permet d’illustrer les principes de base de la simulation inertielle, tout en offrant une base pour des extensions plus complexes.

Liens avec RS3 et Telemachus

ConceptIMUSimRS3 / Telemachus
Moteur de simulationBasé sur des équations simplesBasé sur un modèle inertiel complet 6D
Sortie de donnéesPython objets IMUDataset structuré Telemachus (pivot)
UsageRecherche académiqueSimulation / validation industrielle

Discussion

IMUSim conserve une valeur pédagogique majeure : il permet d’expérimenter la cinématique inertielle, d’analyser les erreurs et de comprendre les principes du filtrage.
RS3 prolonge cette approche en y ajoutant une composante dynamique complète et des scénarios calibrés pour la recherche appliquée.

Conclusion

En résumé, IMUSim constitue un excellent point d’entrée pour quiconque souhaite comprendre les bases de la simulation inertielle GNSS/IMU.
Son intégration avec des outils comme RS3 et Telemachus ouvre la voie à des validations plus robustes et industrielles.
L’utilisation combinée de ces outils permet d’allier pédagogie, recherche et applications concrètes.

Prochaines étapes

Avant la publication finale de ce billet, plusieurs validations sont nécessaires :

  • Vérifier l’installation d’IMUSim dans un environnement virtuel propre.
  • Confirmer l’existence et le bon fonctionnement des classes Simulation, ConstantAccelerationEnvironment et IdealIMU.
  • Capturer un extrait réel des données imu.data (au moins 5 premières lignes) pour illustration.
  • Générer un fichier CSV minimal et produire un graphique simple de l’accélération sur l’axe Z avec matplotlib.
  • Ajouter un tableau de correspondance entre les champs IMUSim et ceux de Telemachus pour faciliter la compréhension.

Ces étapes garantiront la qualité et la précision des informations partagées.

Réseau 0 sortants 1 entrants

Sources · Liens sortants

Aucun lien explicite détecté.

Cité par · Liens entrants

  • A044 — IMUSim: Simulation Environment for Inertial Sensing