Notre société est en constante évolution. Pensez à une ville : les piétons, les cyclistes, les voitures, les bus et les piétons, tous se déplacent de manière imprévisible, tout le temps. Pour que les robots mobiles autonomes (AMR) puissent évoluer dans cet environnement, ils doivent être capables de visualiser et d'interpréter leur environnement de manière intelligente. Dans cet article, découvrez comment les cartes RTAB et les capteurs ToF permettent aux robots de véritablement naviguer de façon autonome.
Introduction
L’exploration est un aspect essentiel de la navigation autonome en robotique. La localisation et la cartographie simultanées (SLAM) sont des techniques fondamentales qui permet aux robots de naviguer et de cartographier des environnements inconnus. La localisation et la cartographie visuelles simultanées, ou SLAM visuel (VSLAM), est un type de SLAM spécifique qui permet aux robots de cartographier leur environnement et d'estimer leur propre position, c'est-à-dire l'odométrie, en temps réel à l'aide des entrées visuelles des caméras. Cette technique a été largement utilisée dans diverses applications, notamment les rovers martiens, les hélicoptères martiens, les robots terrestres, les robots sous-marins et les robots aspirateurs. Des enquêtes ont été menées pour voir dans quelle mesure la caméra Time-of-Flight (ToF) fonctionne avec RTAB-Map pour la navigation autonome des robots mobiles autonomes (AMR) en utilisant uniquement des images de profondeur. La caméra ToF capture à la fois des images infrarouges (IR) et de profondeur. L'image de profondeur est utilisée pour créer un nuage de points 3D. Le nuage de points 3D et l'odométrie des roues sont utilisés par RTAB-Map pour produire une odométrie corrigée et une carte de grille d'occupation 2D pour la navigation autonome de l'AMR.
Qu'est-ce que la caméra de temps de vol (ToF) ?
La caméra ToF est une caméra de profondeur Analog Devices reposant sur le processeur de signal ADSD3100 TOF. Elle offre une prise en charge du traitement des données sur la plate-forme de processeur intégrée en plus de la connexion USB, Ethernet ou Wi-Fi à un ordinateur hôte. La caméra ToF est conçue pour être utilisée dans les applications industrielles, automobiles et grand public. Elle utilise une méthode de temps de vol pour calculer la distance par rapport aux objets de la scène, ce qui lui permet de créer des cartes de profondeur précises. La caméra ToF fournit à la fois des images infrarouges (IR) et de profondeur et est représentée dans la Figure 1.

Architecture de RTAB-Map
La cartographie basée sur l'apparence en temps réel (RTAB-Map) est une technique SLAM utilisant des graphiques. RTAB-Map intègre une approche de détection de fermeture de boucle basée sur l'apparence et une approche de gestion de la mémoire pour gérer la cartographie en ligne à grande échelle et à long terme. L'odométrie, c'est-à-dire la pose de l'AMR, est une entrée externe pour RTAB-Map. Par conséquent, n'importe quel type d'odométrie approprié pour une application donnée peut être utilisé, y compris l'odométrie des roues, l'odométrie visuelle et l'odométrie ICP. Quatre configurations d'entrée différentes peuvent être utilisées avec RTAB-Map :
- Image RVB, image de profondeur et odométrie
- Images stéréo et odométrie
- Nuage de points 3D et odométrie
- Scan laser 2D et odométrie
La Figure 2 représente les différents blocs de RTAB-Map. Un nuage de points 3D et une odométrie sont les entrées que RTAB-Map utilise dans notre cas d'utilisation. Nous avons également besoin de deux transformations d'entrée : la transformation odom en base_link et la transformation base_link en camera_link. RTAB-Map produit une carte en transformation odom, une carte de grille d'occupation 2D et une odométrie corrigée. Le nœud RTAB-Map se compose des blocs suivants : synchronisation, mémoire à court terme (STM), mémoire à long terme (LTM), fermeture de boucle et détection de proximité, optimisation de graphique et assemblage de carte globale.

Flux de travail du pipeline de pile RTAB-Map et Nav2 avec caméra ToF
L'ensemble du pipeline permettant la navigation autonome de l'AMR à l'aide de rtabmap, de la caméra ToF et de l'odométrie fusionnée roue-IMU est présenté dans la Figure 3. L'odométrie fusionnée roue-IMU est obtenue en fusionnant les données de l'encodeur de roue et les données IMU à l'aide d'un filtre de Kalman étendu pour obtenir une odométrie robuste. Comme nous pouvons le voir, il existe sept nœuds : le nœud de caméra ToF, le nœud image_proc, le nœud de nuage de points, le nœud rtabmap, le nœud d'odométrie fusionnée roue-IMU, le nœud Nav2 et le nœud Rviz. Le paragraphe suivant explique la fonctionnalité de ces nœuds.

Le premier nœud du pipeline est le nœud de caméra ToF, qui capture à la fois des images IR et de profondeur. Les images capturées sont ensuite rectifiées par le nœud image_proc pour éliminer les distorsions tangentielles et radiales. Les images IR rectifiées sont utilisées pour la visualisation dans Rviz. Le nœud de nuage de points génère des nuages de points 3D à partir d'images de profondeur rectifiées. Le nœud d'odométrie fusionné roue-IMU estime l'odométrie de l'AMR à l'aide d'encodeurs de roue et de données IMU. Le nœud rtabmap utilise l'odométrie fusionnée roue-IMU et le nuage de points généré pour produire la carte de grille d'occupation 2D et l'odométrie corrigée (c'est-à-dire la pose). Un nœud Nav2 utilise la carte de grille d'occupation et l'odométrie générées pour générer une carte de coûts qui est utilisée pour la planification du trajet et la navigation autonome de l'AMR. Enfin, le nœud Rviz est utilisé comme outil de visualisation pour afficher l'image IR, l'odométrie et la carte de la grille d'occupation. Il permet également de définir la pose de l'objectif pour l'AMR. Dans l’ensemble, le pipeline combine divers capteurs et nœuds pour permettre une navigation autonome de l’AMR.
Discussion des résultats de l'expérience
La Figure 3 montre l'AMR, ce qu'il voit à travers la caméra RealSense montée dessus, et la carte de nuage de points 3D résultante sous forme de maillage. La Figure 4 affiche la carte créée avec l'état de l'objectif donné, le chemin prévu et l'AMR arrivant en toute sécurité à l'état objectif en suivant le chemin planifié.


De plus, le nuage de points généré à l'aide de l'image de profondeur rectifiée de la caméra ToF montre les surfaces planes du monde réel sous forme de surfaces courbes dans le nuage de points. Un post-traitement est donc nécessaire pour résoudre ce problème. La Figure 6 affiche la carte de la grille d'occupation avant le filtrage des nuages de points et après le filtrage des nuages de points. Les lignes bleues dans cette fenêtre indiquent l'odométrie estimée de l'AMR.

La Figure 7 illustre les différentes étapes du processus de navigation autonome. La première figure de gauche montre la carte générée avec la pose actuelle de l'AMR. La carte est générée par le nœud rtabmap à l'aide de l'odométrie fusionnée roue-IMU et du nuage de points. Le deuxième chiffre au centre représente la position de l'objectif avec le chemin prévu. Une fois la position de l'objectif définie dans Rviz, le nœud Nav2 planifie un chemin en utilisant la carte des coûts générée à partir de la carte de la grille d'occupation et de la pose d'odométrie. Le chemin prévu est affiché dans Rviz pour la visualisation. Enfin, le troisième chiffre à droite montre que l’AMR a atteint l’état de l'objectif. Une fois le chemin planifié, l'AMR utilise la pose d'odométrie corrigée et la carte des coûts pour naviguer vers la position de l'objectif. L'AMR met continuellement à jour sa position à l'aide de la carte d'odométrie et de grille d'occupation fusionnée roue-IMU et ajuste sa trajectoire pour suivre la trajectoire prévue. Lorsque l'AMR atteint la position de l'objectif, il s'arrête et le processus de navigation est terminé.

Conclusion
La caméra ToF a été intégrée à la pile RTAB-Map et Nav2 pour permettre la navigation autonome de l'AMR dans un environnement de laboratoire. Plusieurs difficultés ont été rencontrées lors de l'utilisation de ToF avec RTAB-Map pour la navigation autonome de l'AMR. Les images IR et de profondeur fournies par ToF doivent être rectifiées car une image de profondeur non rectifiée peut conduire à une carte inexacte. Nous avons observé que les objets plats semblaient courbés dans le nuage de points, et cela a été résolu grâce au post-traitement du nuage de points. Il est nécessaire de filtrer le nuage de points avant de le confier à RTAB-Map. En parallèle, l'AMR construisait la carte et localisait sa position sur celle-ci pour permettre une navigation sûre en utilisant l'image de profondeur de ToF et l'algorithme RTAB-Map. Nous avons également assisté à la navigation autonome réussie de l'AMR à l'aide de la caméra ToF et de RTAB-Map. Nous supposons que les résultats de nos expériences accéléreront le déploiement de ToF pour une gamme de systèmes robotiques commerciaux.