Fusion des capteurs – Partie 1

Ce blog est 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 (Extended Kalman Filters), 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 voulons 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 change au fil du temps. Le changement d'état peut être dû à une évolution naturelle du système ou être stimulé par une intervention externe. Le système dynamique est représenté mathématiquement en définissant son état à l'aide d'un ensemble d'équations différentielles qui représentent la façon dont un système donné se propage dans le temps.

Nous appelons cela le modèle de mouvement/processus de notre système. À partir de certaines données (non obligatoires) fournies au système et des mesures observées, il est possible d'estimer l'état du système pour l'étape suivante. C'est ce qu'on appelle l'estimation d'état. Un exemple d'un tel système est un robot mobile autonome (AMR) se déplaçant dans un entrepôt ou un laboratoire.

Ici, l'état de l'AMR correspondrait à sa position par rapport à une origine fixe, à sa vitesse et à son accélération. Ces variables d'état peuvent être mesurées directement ou déduites mathématiquement à partir des lectures des capteurs. Mais il est important de garder à l'esprit que chaque capteur a ses propres défauts. Par exemple, un encodeur 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 encodeurs de roue signaleraient des tours de roue supplémentaires, ce qui rendrait notre prédiction de l'état de l'AMR erronée. Ce type de problème est encore aggravé par le bruit des capteurs et l'environnement physique. Pour compenser les limites des capteurs individuels, les mesures de plusieurs capteurs peuvent être combinées de manière à obtenir une meilleure estimation de l'état du système dynamique. Le processus qui consiste à 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 est utilisé pour l'estimation d'état des systèmes dynamiques linéaires. Une hypothèse sous-jacente des filtres de Kalman est que chaque variable de notre état est définie par une distribution gaussienne, et que le bruit du capteur et du processus sont des gaussiennes indépendantes à moyenne nulle. La figure 1 présente un schéma fonctionnel illustrant comment la fusion des 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 différentes étapes pour comprendre comment cela fonctionne :

  1. Nous commençons par une estimation de l'état initial, sa matrice de covariance correspondante et un modèle de mouvement de notre système.
  2. Une fois que nous avons reçu certaines données, nous exécutons notre étape de prédiction afin de calculer notre nouvelle estimation d'état et notre nouvelle covariance en propageant notre système dans le temps à l'aide de notre modèle de mouvement et des données fournies.
  3. Lorsque nous recevons des mesures provenant de différents capteurs, tels que les IMU (unités de mesure inertielle) et les encodeurs de roue, nous mettons à jour notre estimation d'état et notre covariance en combinant la prédiction précédente avec les nouvelles mesures.
  4. Les étapes de prédiction et de mise à jour continuent de s'exécuter pendant toute la durée de notre application.


Figure 1 : Schéma fonctionnel du filtre de Kalman

Lorsque l'on travaille avec un système non linéaire tel qu'un AMR, il est nécessaire d'apporter quelques modifications à l'algorithme du filtre de Kalman. Afin de garantir que notre représentation d'état reste une distribution gaussienne après chaque étape de prédiction et de mise à jour, nous devons linéariser les modèles de mouvement et de mesure. Pour ce faire, nous utilisons la série de Taylor afin d'approximer les modèles non linéaires en tant que 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 effectuer la fusion de capteurs à l'aide de ROS est le paquet robot_localization. Le paquet robot_localization est un paquet d'estimation d'état à usage général qui implémente le filtre de Kalman étendu et 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 sorties, une estimation d'état à 15 vecteurs. L'estimation d'état est composée de la position, de l'orientation, de la vitesse linéaire, de la vitesse angulaire et de 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é pour l'estimation d'état globale et locale, à condition de disposer des données pertinentes. Pour plus de détails sur le 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 les systèmes robotiques. Il nous permet d'introduire du bruit dans les capteurs, d'essayer différents coefficients de frottement et de réduire la précision des codeurs de roue, ce qui nous permet de reproduire des scénarios réalistes qui affecteraient l'estimation de l'état d'un AMR dans le monde réel.

Pour quantifier les performances de la fusion des capteurs, nous pouvons effectuer un test de boucle fermée, qui consiste à faire fonctionner l'AMR sur une trajectoire fermée aléatoire de manière à ce que la position initiale et finale de l'AMR soient identiques. Nous pouvons ensuite tracer l'estimation d'état effectuée par l'EKF après fusion de l'IMU et des codeurs de roue et la comparer à l'estimation d'état effectuée à partir des codeurs de roue bruts. Idéalement, nous voulons que l'état estimé de notre AMR rapporte respectivement x, y et le lacet comme (0, 0, 0).

Nous avons réalisé diverses expériences à l'aide des packages Turtlebot3 (TB3). Un exemple est présenté à la figure 2. Ici, nous télécommandons TB3 à plusieurs reprises dans l'environnement Turtlebot3, puis le ramenons 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 que l'utilisation des seuls encodeurs de roue, représentés en rouge, donne une estimation erronée d'environ 1,4 mètre. Les données brutes du codeur de roue donnent une erreur de position finale de 0,405 m, -1,36 m et 29,72 degrés respectivement en x, y et lacet. L'erreur de position estimée par l'EKF pour x, y et 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 était d'environ 92,64 %, passant de 1,42 m lorsque seules les données du codeur de roue étaient utilisées à 0,10 m après utilisation de l'EKF.

Figure 2 : Test de boucle fermée dans Gazebo à l'aide de Turtlebot 3

Expériences sur l'AMR

Les expériences réalisées dans Gazebo peuvent également être étendues aux AMR réels. Nous avons mené ces expériences dans nos locaux et avons obtenu des résultats fiables en fusionnant les données IMU et les données du codeur 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é a signalé une erreur de 1,58 m dans la direction x, de -0,69 m dans la direction y et une erreur d'orientation de lacet de 55 degrés. Cependant, l'estimation EKF était meilleure, avec des erreurs de -0,35 m, -0,033 m et -5,9 degrés respectivement dans les directions x, y et en 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 fermée sur un AMR réel dans des locaux de bureau.

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. Grâce à nos expériences, nous avons 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 discuterons de 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é Arrow)
Mayank Mukesh
Ingénieur en informatique embarquée, eInfochips (une société Arrow)
Anisha Thakkar
Ingénieur en informatique embarquée, eInfochips (une société Arrow)

Télécharger le rapport

Télécharger un exemple de rapport

Télécharger la brochure

Commencez une conversation dès aujourd'hui

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

Commencez une conversation dès aujourd'hui

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

Commencez une conversation dès aujourd'hui

Planifiez une consultation de 30 minutes avec nos expertsen solutions industrielles et énergétiques.

Commencez une conversation dès aujourd'hui

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

Commencez une conversation dès aujourd'hui

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

Veuillez remplir les informations ci-dessous et obtenir un exemple de rapport

Conceptions de référence

Notre travail

Innover

Transformer.

Échelle

Partenariats

Partenariats avec des appareils
Partenariats numériques
Partenariats de qualité
Partenariats dans le domaine du silicium

Entreprise

Produits et propriétés intellectuelles

Politique de confidentialité

Notre site Web place des cookies sur votre appareil afin d'améliorer votre expérience et notre site. En savoir 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 des 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 volontaire, leur désactivation peut entraîner un dysfonctionnement du site web et certaines publicités peuvent être moins pertinentes pour vous.
Nous respectons votre vie privée. Lisez notre politique de confidentialité.

Cookies strictement nécessaires

Les cookies strictement nécessaires doivent être activés à tout moment afin que nous puissions enregistrer vos préférences en matière de paramètres de cookies.