Création d’un robot autonome pour l’exploration et la mesure de surfaces

Récemment, notre département en Intelligence Artificielle a livré une preuve de concept d’un robot autonome utilisé pour explorer et cartographier des espaces industriels et résidentiels inconnus tout en identifiant les différents types de sols.

Le robot (à l’exception de son châssis Roomba) est entièrement construit à partir de composants matériels et logiciels open-source (OS). Le résultat est un mélange d’algorithmes génétiques et de réseaux de neurones qui permettent au robot de cartographier, d’étudier et de mesurer de façon autonome des espaces intérieurs / extérieurs non-triviaux.

Dans un cas d’utilisation industrielle, l’équipe a présenté une démonstration où le robot est utilisé par une entreprise de nettoyage fictive afin d’optimiser ses coûts. Le robot est alors placé dans un entrepôt fictif où il explore les surfaces après les heures de travail. Ensuite, il envoie un rapport détaillé à la société de nettoyage avec une carte des différentes zones, sections et types de sols. Ce rapport aide l’entreprise de nettoyage à facturer efficacement son client dans le cadre d’un contrat de maintenance régulier et à ainsi réduire le facteur humain d’une partie de son processus d’acquisition de clients, optimisant ainsi les coûts.

Le projet en est encore à ses débuts et nous sommes convaincus que de nombreux cas d’utilisations seront découverts tout au long du processus de développement  par exemple en ajoutant la possibilité d’explorer les espaces extérieurs.

Même si la nouveauté réside principalement dans la partie logicielle, notre équipe IA a baptisé leur robot, SMOB – abréviation de Self-Mapping Open Bot.

Création d'un robot autonome pour l'exploration et la mesure de surfaces, un projet R&D en Intelligence Artificielle
Le SMOB en action, surveillant et cartographiant les bureaux de Savoir-faire Linux

Comment fonctionne le SMOB ?

Le projet est un mélange unique de conception matérielle et logicielle. Comme le robot devait être résistant aux collisions avec des objets et devait pouvoir voyager à une vitesse raisonnable, utiliser l’ensemble du kit TurtleBot n’était pas une option dans de telles conditions. L’équipe a résolu le problème en associant la base Roomba Create (qui convient bien aux opérations lourdes) à l’IMU (Inertial Measurement Unit – Navigation inertielle), au LIDAR (LIght Detection And Ranging – Détection et estimation de la distance par la lumière) et au Raspberry Pi3 du kit TurtleBot 3 DIY. Afin d’atteindre les latences requises pour des opérations fluides, l’équipe a également modifié le noyau Debian pour prendre en charge le jeu d’instructions 64-bits disponible sur le processeur ARMv9 (les modifications étaient basées sur le projet PI64).

Les algorithmes de SMOB

SMOB combine deux techniques différentes pour atteindre ses objectifs : En premier lieu, l’algorithme de découverte spatiale est une implémentation de l’algorithme génétique proposé par Mohamed Amine Yakoubi et Mohamed Tayeb Larski. L’algorithme est réalisé en Python afin de pouvoir travailler avec le framework ROS, qui alimente les mouvements du robot.
La partie la plus complexe a été la réalisation du réseau neuronal convulsif, qui est responsable de la classification des types de sols. Le principal défi était d’identifier correctement les propriétés d’une image (netteté, luminosité, taille, position de la caméra, etc.) afin que le réseau soit le plus efficace possible – une recherche qui a nécessité de nombreux essais et erreurs.

Résultats de tests

Nos expériences montrent une performance de couverture d’environ 1m^2 par minute pour un robot à bas coût (environ 600 USD).

Qu’est-ce qui fait de SMOB un robot unique?

SMOB est unique, car il fait partie des premières expérimentations où un robot exécute plusieurs tâches complexes sur du matériel embarqué. On peut affirmer avec certitude que la conduite automatisée utilise déjà des algorithmes qui sont très en avance sur ce que SMOB peut faire, mais ils sont aussi beaucoup plus complexes que les solutions de base et à faible coût de traitement de SMOB. Le robot SMOB se base sur le minimalisme – il est question d’une tentative de créer des solutions simples à des problèmes qui sont actuellement résolus par beaucoup plus de puissance et par des algorithmes qui demandent beaucoup plus de mémoire.

L’avenir de SMOB dans le domaine de la robotique

L’un des plus grands défis en amont de ce projet comprend le traitement des opérations extérieures liées aux capteurs LIDAR et les problèmes qui y sont associés. LIDAR – un appareil qui cartographie des objets en 3-D en faisant rebondir les faisceaux laser hors de son environnement réel – est l’un des composants les plus cruciaux et les plus litigieux de tout véhicule (dans ce cas, le SMOB) qui est censé se conduire (Lire par exemple: Simonite, 2017). Le LIDAR de SMOB est incapable d’identifier le verre. Il a également des difficultés dans la détection de fermetures de boucles et à naviguer sur des surfaces complexes. Par exemple, un SMOB conçu pour détecter des nids de poule à l’extérieur aurait très probablement besoin d’un châssis et d’un système de propulsion différents, mais devrait être aussi capable de détecter les nids de poule avant de les atteindre; sinon, il ne sera peut-être pas capable d’en sortir une fois piégé à l’intérieur.

Références
Simonite, T. (2017, March 20). Self-Driving Cars’ Spinning-Laser Problem. MIT Technology Review.