SLAM : la technique utilisée par les robots pour naviguer en terrain inconnu
Imaginez-vous perdu au beau milieu d'un désert parfaitement inconnu, à devoir à tout prix trouver un endroit sûr. Le fait de se repérer en terrain inconnu constitue un défi de longue date aussi bien pour les humains que pour les robots. Les méthodes de navigation traditionnelles pour un robot ou un véhicule autonome nécessitent une carte pré-existante, mais en territoire inexploré, il est impossible de se procurer une telle carte sans parcourir la zone. Cela constitue un dilemme classique en robotique, souvent décrit comme l'énigme « de l'œuf ou de la poule ». Comment un robot peut-il se repérer dans un environnement inconnu sans carte, et comment peut-il créer une carte sans s'être d'abord déplacé dans cet environnement ?
Carte SLAM visuelle 3D créée à l'aide de la technologie SLAM visuelle. (Figure reproduite à partir de www.flyability.com. Source de l'image : Sigmoidal.ai)
C'est là que le concept de localisation et cartographie simultanées (SLAM) entre en jeu. Développée par des chercheurs comme Hugh Durrant-Whyte et John J. Leonard, la technique SLAM permet aux robots de se repérer de manière autonome dans des environnements inconnus et de les cartographier en temps réel. Plutôt que de dépendre de cartes pré-existantes, la technologie SLAM permet aux robots de créer des cartes de leur environnement tout en déterminant simultanément leur propre position sur ces cartes. Cela implique deux processus principaux : la cartographie et la localisation. La cartographie fait référence à la création d'une représentation spatiale de l'environnement, tandis que la localisation implique l'identification de la position du robot sur cette carte. Ces processus s'entremêlent : le robot met à jour sa carte en permanence en fonction des données des capteurs et ajuste l'estimation de sa position en conséquence.
L'implémentation de la technologie SLAM implique plusieurs étapes clés, dont chacune joue un rôle crucial dans le processus global. Ces étapes incluent l'extraction de points de repère, l'association de données, l'estimation d'état et les mises à jour. L'extraction de points de repère implique l'identification de caractéristiques ou de repères dans l'environnement qui peuvent être utilisés comme points de référence pour la cartographie et la localisation. L'association de données implique la mise en correspondance de mesures de capteurs avec des caractéristiques sur la carte, tandis que l'estimation d'état implique l'estimation de la position et de l'orientation du robot d'après les données des capteurs. Enfin, les mises à jour consistent à affiner la carte et les estimations de position en fonction des nouvelles mesures des capteurs.
L'un des facteurs clés déterminant l'efficacité des systèmes SLAM est le type de capteurs utilisés. Les différents capteurs disponibles offrent des niveaux variables de précision et d'informations, ce qui peut avoir une incidence sur la qualité de la carte produite et des estimations de localisation. Par exemple, la technologie de localisation et cartographie simultanées visuelles (vSLAM) utilise des caméras comme capteurs principaux, ce qui permet au robot d'extraire des informations visuelles Ces informations visuelles peuvent inclure des caractéristiques (comme des bordures, des angles et des textures) qui peuvent être utilisées comme points de repère pour la cartographie et la localisation. Par ailleurs, les caméras fournissent de riches informations sémantiques qui peuvent aider à certaines tâches, comme la détection et la reconnaissance d'objets. D'autre part, les systèmes SLAM basés sur lidar utilisent des capteurs lidar (comme le SLAMTEC SEN-15870 de SparkFun), qui émettent des faisceaux laser pour mesurer les distances par rapport aux objets dans l'environnement. Les capteurs lidar offrent une haute précision, ce qui les rend particulièrement bien adaptés aux environnements de cartographie à la géométrie complexe. Toutefois, les capteurs lidar peuvent être onéreux et nécessiter une énorme quantité de calculs, ce qui peut limiter leur applicabilité dans certains scénarios.
Il existe plusieurs sous-catégories vSLAM selon le type de caméra utilisé. Ces sous-catégories incluent : SLAM monoculaire, SLAM stéréo et SLAM RGB-D. La technique SLAM monoculaire utilise une seule caméra pour estimer les mouvements du robot et la structure de l'environnement. La technique SLAM stéréo utilise une configuration de caméra stéréo, composée de deux caméras placées à une distance connue l'une de l'autre. Cette configuration permet la triangulation des caractéristiques visuelles, ce qui donne une meilleure estimation de la profondeur et une plus haute précision de cartographie. Enfin, la technique SLAM RGB-D combine une caméra RGB traditionnelle à un capteur de profondeur, comme le Kinect de Microsoft ou la caméra RealSense d'Intel. Ces informations supplémentaires liées à la profondeur permettent une localisation et une cartographie 3D plus précises.
Chaque sous-catégorie vSLAM présente son propre lot d'avantages et de limites, en fonction de facteurs comme le coût, la complexité des calculs informatiques et les conditions environnementales. Par exemple, la technique SLAM monoculaire est largement utilisée en raison de sa simplicité et de son faible coût. Cependant, elle présente une ambiguïté quant à l'échelle, car elle ne peut pas directement estimer l'échelle de l'environnement. La technique SLAM stéréo règle ce problème en tirant parti de la triangulation des caractéristiques visuelles pour estimer la profondeur et l'échelle. Quant à la technique SLAM RGB-D, elle offre le niveau le plus élevé de précision et de détail grâce à sa combinaison d'images RGB et d'informations de profondeur.
Outre ses applications en robotique, la technologie SLAM est utilisée dans de nombreuses applications du monde réel dans diverses industries. En robotique, elle permet aux robots de se déplacer de manière autonome pour explorer des environnements dynamiques, comme des entrepôts, des usines et des zones sinistrées. Dans les véhicules autonomes, elle est utilisée pour créer des cartes haute définition et pour localiser le véhicule sur ces cartes. La technologie SLAM est également utilisée dans la réalité augmentée (RA) et la réalité virtuelle (RV), pour créer des expériences immersives en superposant des objets virtuels sur des environnements réels.
Malgré ses nombreux avantages, la technologie SLAM présente aussi quelques inconvénients. L'un des principaux défis concerne la complexité des calculs requis pour traiter les données des capteurs et mettre à jour la carte en temps réel. Cela peut s'avérer particulièrement délicat dans les environnements avec de grandes quantités de données ou des ressources informatiques limitées. Par ailleurs, la technologie SLAM dépend beaucoup de la disponibilité de caractéristiques distinctes et de points de repère au sein de l'environnement. Dans les environnements au terrain uniforme ou sans caractéristiques spéciales, elle peut donc avoir du mal à créer des cartes précises ou à localiser le robot de manière efficace.
En conclusion, la technologie de localisation et cartographie simultanées (SLAM) est une technique puissante qui permet aux robots de se déplacer de manière autonome dans des environnements inconnus et de les cartographier en temps réel. En combinant la cartographie et la localisation dans un seul et même processus, elle permet aux robots d'explorer et de comprendre leur environnement sans connaissances préalables ni cartes pré-existantes. Même si cette technologie implique son lot de défis et de limites, ses applications sont vastes et variées, couvrant des secteurs comme la robotique, les véhicules autonomes, la réalité augmentée et la réalité virtuelle. Avec les avancées technologiques qui se poursuivent, la technologie SLAM joue un rôle de plus en plus important dans l'élaboration de l'avenir de la robotique et de l'automatisation.
Références :
- What is SLAM? (Simultaneous Localisation And Mapping) (vercator.com)
- Introduction to SLAM (Simultaneous Localization and Mapping) | Ouster
- Zero to SLAM in 30 minutes: an interactive workshop | Ouster
- What Is SLAM (Simultaneous Localization and Mapping) – MATLAB & Simulink - MATLAB & Simulink (mathworks.com)
- SLAM; definition and evolution - ScienceDirect
- An Introduction to Key Algorithms Used in SLAM - Technical Articles (control.com)
- Localization — Introduction to Robotics and Perception (roboticsbook.org)

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.
Visit TechForum