Fusion de capteurs – Partie 1

Cet article constitue la première partie d'une série en deux volets dans laquelle nous présenterons l'utilisation de la fusion de capteurs dans les robots mobiles autonomes (AMR) compatibles avec ROS 2 (Robot Operating System 2). Dans cette partie, nous présenterons la fusion de capteurs, aborderons brièvement un algorithme de fusion de capteurs appelé EKF (filtres de Kalman étendus), puis passerons en revue certaines des expériences que nous avons menées en simulation et sur notre AMR.

Auteurs : Harsh Vardhan Singh, Mayank Mukesh, Anisha Thakkar | Date : 21 mars 2023 | Catégorie : Automobile

Introduction

Le problème que nous souhaitons résoudre consiste à estimer avec précision l'état d'un système dynamique. Un système dynamique peut être défini comme un système dont l'état évolue au fil du temps. Ce changement d'état peut résulter d'une évolution naturelle du système ou être provoqué par une intervention extérieure. Mathématiquement, le système dynamique est représenté en définissant son état à l'aide d'un ensemble d'équations différentielles qui décrivent la manière dont ce système évolue dans le temps.

C'est ce que nous appelons le modèle de mouvement/processus de notre système. À partir de certaines données d'entrée (facultatives) et de mesures observées, il est possible d'estimer l'état du système pour le pas de temps suivant. C'est ce qu'on appelle l'estimation d'état. Un robot mobile autonome (AMR) se déplaçant dans un entrepôt ou un laboratoire constitue un exemple d'un tel système.

Dans ce contexte, l'état de l'AMR correspond à sa position par rapport à une origine fixe, ainsi qu'à sa vitesse et à son accélération. Ces variables d'état peuvent être mesurées directement ou déduites mathématiquement à partir des données fournies par les capteurs. Il est toutefois important de garder à l'esprit que chaque capteur présente ses propres imperfections. Par exemple, un codeur de roue nous aide à compter le nombre de rotations d'une roue. En utilisant ces informations ainsi que la dynamique de l'AMR (modèle de mouvement), nous pouvons prédire la nouvelle position de l'AMR.

Cependant, si les roues patinent, les codeurs de roue signaleraient des tours supplémentaires, ce qui entraînerait une erreur dans notre estimation de l'état du robot mobile autonome (AMR). Ce type de problèmes est encore aggravé par le bruit des capteurs et l'environnement physique. Pour pallier les limites des capteurs individuels, les mesures provenant de plusieurs capteurs peuvent être combinées de manière à obtenir une meilleure estimation de l'état du système dynamique. Le processus consistant à combiner les données de plusieurs capteurs afin de réduire l'incertitude ou d'améliorer la précision de l'estimation de l'état d'un système dynamique est appelé « fusion de capteurs ».

Filtre de Kalman étendu

Le filtre de Kalman étendu (EKF) est une méthode couramment utilisée pour fusionner les données provenant de plusieurs capteurs. Il s'agit d'une extension de l'algorithme bien connu du filtre de Kalman (linéaire), qui sert à l'estimation de l'état des systèmes dynamiques linéaires. Les filtres de Kalman reposent sur l'hypothèse que chaque variable de l'état est définie par une distribution gaussienne, et que les bruits de capteur et de processus sont des variables gaussiennes indépendantes de moyenne nulle. La figure 1 présente un schéma fonctionnel illustrant comment la fusion de capteurs peut être réalisée à l'aide d'un cycle de prédiction et de mise à jour dans les filtres de Kalman. Passons en revue les étapes pour voir comment cela fonctionne :

  1. Nous partons d'une estimation initiale de l'état, de la matrice de covariance correspondante et d'un modèle de mouvement de notre système.
  2. Une fois que nous avons reçu une entrée, nous lançons notre étape de prédiction afin de calculer notre nouvelle estimation d'état et notre nouvelle covariance en faisant évoluer notre système dans le temps à l'aide de notre modèle de mouvement et de l'entrée fournie.
  3. Lorsque nous recevons des mesures provenant de différents capteurs, tels que les IMU (unités de mesure inertielle) et les codeurs de roue, nous mettons à jour notre estimation d'état et notre matrice de covariance en combinant la prédiction précédente avec les nouvelles mesures.
  4. Les étapes de prédiction et de mise à jour se poursuivent pendant toute la durée d'exécution de notre application.


Figure 1 : Schéma fonctionnel du filtre de Kalman

Lorsqu'on travaille avec un système non linéaire tel qu'un robot mobile autonome (AMR), il faut apporter quelques modifications à l'algorithme du filtre de Kalman. Pour garantir que la représentation de l'état reste une distribution gaussienne après chaque étape de prédiction et de mise à jour, il faut linéariser les modèles de mouvement et de mesure. Pour ce faire, on utilise des séries de Taylor afin d'approximer les modèles non linéaires par des modèles linéaires. Cette extension du filtre de Kalman est appelée « filtre de Kalman étendu ».

Fusion de capteurs dans ROS

L'un des paquets ROS les plus populaires pour la fusion de capteurs est le paquet robot_localization. Il s'agit d'un paquet d'estimation d'état polyvalent qui intègre des implémentations du filtre de Kalman étendu ainsi qu'une autre variante des filtres de Kalman appelée filtre de Kalman non parfumé. Il offre la flexibilité nécessaire pour fusionner de nombreux capteurs et génère une estimation d'état à 15 vecteurs. L'estimation d'état comprend la position, l'orientation, la vitesse linéaire, la vitesse angulaire et l'accélération linéaire dans les directions x, y et z. Le modèle de mouvement fourni par ce paquet est omnidirectionnel. Il peut être utilisé à la fois pour l'estimation d'état globale et locale, à condition de disposer des données pertinentes. Pour plus de détails sur ce paquet, consultez :http://docs.ros.org/en/noetic/api/robot_localization/html/index.html

Expériences dans Gazebo

Gazebo est un environnement de simulation compatible avec ROS 2 qui offre une grande flexibilité pour tester des systèmes robotiques. Il permet d'introduire du bruit de capteur, d'essayer différents coefficients de frottement et de réduire la précision des codeurs de roue, ce qui permet de reproduire des scénarios réalistes susceptibles d'influencer l'estimation d'état d'un robot mobile autonome (AMR) dans le monde réel.

Pour quantifier les performances de la fusion de capteurs, nous pouvons effectuer un test de boucle fermée, qui consiste à faire suivre à l'AMR une trajectoire fermée aléatoire de telle sorte que sa position initiale et sa position finale coïncident. Nous pouvons ensuite tracer l'estimation d'état effectuée par l'EKF après fusion des données de l'IMU et des codeurs de roue, et la comparer à l'estimation d'état réalisée à partir des données brutes des codeurs de roue. Idéalement, nous souhaitons que l'état estimé de notre AMR indique respectivement x, y et le lacet comme étant (0, 0, 0).

Nous avons mené diverses expériences à l'aide des paquets Turtlebot3 (TB3). La figure 2 en présente un exemple. Ici, nous téléopérons le TB3 à plusieurs reprises dans l'environnement Turtlebot3, avant de le ramener finalement à sa position de départ. Comme on peut le voir, la trajectoire prédite par l'EKF, représentée en vert, permet de mieux estimer que l'AMR est revenu à sa position initiale, tandis qu'en utilisant uniquement les codeurs de roue, représentés en rouge, l'estimation présente un écart d'environ 1,4 mètre. Les données brutes des codeurs de roue donnent une erreur de position finale de 0,405 m, -1,36 m et 29,72 degrés respectivement pour les axes x, y et le lacet. Alors que l'erreur de position estimée par l'EKF pour les axes x, y et le lacet est de 0,103 m, -0,0165 m et 0,0187 degré. L'amélioration globale en pourcentage de la distance euclidienne par rapport à la position initiale est d'environ 92,64 %, passant de 1,42 m lorsque seules les données du codeur de roue sont utilisées à 0,10 m après utilisation de l'EKF.

Figure 2 : Test de boucle fermée dans Gazebo avec Turtlebot 3

Expériences sur la résistance aux antimicrobiens

Les expériences menées dans Gazebo peuvent également être transposées à de véritables robots mobiles autonomes (AMR). Nous avons mené ces expériences dans nos locaux et avons pu obtenir des résultats fiables en fusionnant les données de l'IMU et des codeurs de roue de notre AMR. Un exemple d'exécution est présenté à la figure 3. En utilisant uniquement les données du codeur de roue, l'état estimé présentait une erreur de 1,58 m dans la direction x, de -0,69 m dans la direction y et une erreur d'orientation en lacet de 55 degrés. Cependant, l'estimation EKF s'est avérée meilleure, avec des erreurs de -0,35 m, -0,033 m et -5,9 degrés respectivement pour les axes x, y et l'orientation. L'amélioration globale en pourcentage de la distance euclidienne par rapport à l'origine était d'environ 78,9 %, passant de 1,699 m à 0,35 m après la mise en œuvre de l'EKF.

Figure 3 : Test de boucle de fermeture sur un AMR réel dans les locaux du cabinet.

Conclusion

L'estimation d'état est une étape cruciale pour fournir une source d'odométrie fiable aux autres modules de notre AMR, tels que la navigation et la cartographie. Nos expériences ont démontré que l'utilisation de techniques de fusion de capteurs nous permet d'estimer l'état de notre AMR avec plus de précision, tant en simulation que dans le monde réel. Nous avons utilisé des filtres de Kalman étendus, une méthode largement utilisée pour la fusion de capteurs dans les systèmes non linéaires. Dans la deuxième partie de cette série, nous aborderons la manière dont la fusion de capteurs peut améliorer les capacités de navigation et de cartographie de notre AMR.

Auteurs

Harsh Vardhan Singh
Ingénieur solutions, eInfochips (une société du groupe Arrow)
Mayank Mukesh
Ingénieur en systèmes embarqués, eInfochips (une société du groupe Arrow)
Anisha Thakkar
Ingénieur en systèmes embarqués, eInfochips (une société du groupe Arrow)

Télécharger le rapport

Télécharger un exemple de rapport

Télécharger la brochure

Lancez la conversation dès aujourd'hui

Prenez rendez-vous pour une consultation de 30 minutes avec nos experts en solutions automobiles

Lancez la conversation dès aujourd'hui

Prenez rendez-vous pour une consultation de 30 minutes avec notre expert en solutions de gestion de batteries

Lancez la conversation dès aujourd'hui

Prenez rendez-vous pour une consultation de 30 minutes avec nos expertsen solutions industrielles et énergétiques

Lancez la conversation dès aujourd'hui

Prenez rendez-vous pour une consultation de 30 minutes avec nos experts du secteur automobile

Lancez la conversation dès aujourd'hui

Prenez rendez-vous pour une consultation de 30 minutes avec nos experts

Veuillez remplir le formulaire ci-dessous pour obtenir un exemple de rapport

Modèles de référence

Notre travail

Innover

Transformer.

Échelle

Partenariats

Partenariats en matière d'appareils
Partenariats numériques
Partenariats de qualité
Partenariats dans le secteur du silicium

Entreprise

Produits et propriétés intellectuelles

Politique de confidentialité

Notre site web utilise des cookies sur votre appareil afin d'améliorer votre expérience et de perfectionner notre site. Découvrez-en plus sur les cookies que nous utilisons et comment les désactiver. Les cookies et les technologies de suivi peuvent être utilisés à des fins marketing.

En cliquant sur « Accepter », vous consentez à l'installation de cookies sur votre appareil et à notre utilisation de technologies de suivi. Cliquez sur « En savoir plus » ci-dessous pour obtenir plus d'informations et des instructions sur la manière de désactiver les cookies et les technologies de suivi. Bien que l'acceptation des cookies et des technologies de suivi soit facultative, leur désactivation peut entraîner un dysfonctionnement du site web et certaines publicités pourraient vous sembler moins pertinentes.
Nous respectons votre vie privée. Consultez notre politique de confidentialité.

Cookies strictement nécessaires

Les cookies strictement nécessaires doivent rester activés en permanence afin que nous puissions enregistrer vos préférences en matière de paramètres des cookies.