La découverte de l'environnement

Pour qu'un robot mobile autonome soit capable de se déplacer dans son environnement, il est nécessaire qu'il puisse "voir" l'endroit dans lequel il se déplace. Cela peut être une pièce non vide, ou encore en extérieur, dans un jardin, une forêt ou même en ville. Il se peut qu'il ait déjà connaissance des lieux (si on décide de le programmer ainsi), mais le plus intéressant sera le déplacement du robot dans un environnement totalement inconnu. Dans ce cas, comment peut-il détecter les différents obstacles se présentant à lui, pour les éviter ? Nous allons présenter ici les différents "organes" existants permettant à un robot de "voir".
Les capteurs de contact
Les capteurs de contact ou microrupteurs à levier sont des petits dispositifs agissent à la manière d'un interrupteur. Ils permettent de fermer ou d'ouvrir un circuit électronique. Ainsi en fonction de si l'interrupteur est activé ou non, le robot réagira d'une manière différente.

Un capteur de contact de marque Pololu (source : RobotShop)
Ils peuvent être utilisés en tant que bumper ou pare-chocs par exemple. Imaginons un robot qui avance. Son seul moyen de détecter les obstacles est son pare-choc avant. Au contact d'une surface solide (objet, mur...), il s'arrêtera, reculera, changera sa direction (tourner de 90° à droite ou à gauche) et reprendra sa course vers l'avant jusqu'au prochain obstacle.
On peut donc dire que le robot est aveugle. Il ne sait pas où il va, ni ce qui se trouve devant lui. C'est un peu comme si l'on avançait dans une pièce de la maison plongée dans le noir total. Les mains en avant afin de détecter les objets et murs qui se présentent devant nous.
Un autre exemple d'utilisation de ce type de capteur dans la détection d'obstacles est inspiré des vibrisses du chat (ses fameuses moustaches). Placés de part et d'autre de l'avant du robot, ces "moustaches" mécaniques pourront ainsi avertir notre robot de la présence d'un objet à sa droite ou à sa gauche, engendrant un changement de direction opposé au capteur qui se sera déclenché.
Ainsi, si le capteur droit a été activé, le robot modifiera sa trajectoire pour aller vers la gauche, évitant une collision pouvant être fatale avec l'obstacle.
Les capteurs à ultrasons
L'emploi de capteurs à ultrasons dans la détection d'obstacles s'inspire directement de la chauve-souris. En effet, cette dernière, utilise l'écholocalisation pour se repérer dans l'espace. Elles émettent des ultrasons et captent leur écho. Elles peuvent ainsi connaître la position d'un obstacle et ainsi l'éviter. L'écholocalisation leur permet également de repérer leurs proies.

Un capteur à ultrasons HC-SR04 (source : RobotShop)
Les capteurs à ultrasons fonctionnent de la même manière. Un émetteur envoie à intervalles réguliers de courtes impulsions sonores. Elles se réfléchissent sur les objets ou surfaces et sont ainsi renvoyées sous forme d'écho vers le récepteur du capteur. Connaissant la vitesse du son et le temps qu'à mis l'onde sonore pour revenir au capteur, le robot est ainsi capable de déterminer la distance le séparant de l'obstacle.
Le robot pourra donc, suivant sa programmation, réagir et corriger sa trajectoire.
Les capteurs infra-rouges
Leur principe de fonctionnement est similaire aux capteurs à ultrasons vus précédemment, à la différence qu'ils utilisent la lumière et non le son.
Le capteur émet une onde lumineuse infra-rouge, qui vient se réfléchir sur une surface pour revenir vers le capteur.

Capteur infrarouge longue portée JSumo JS200XF (source : RobotShop)
Pour connaître la distance de l'obstacle, le robot doit calculer l'angle avec lequel arrive la réflexion lumineuse sur le récepteur, en fonction de la vitesse de la lumière, et de la distance entre l'émetteur et le récepteur constituant le capteur.
Leur précision sera meilleure que celle des capteurs ultrasons au détriment d'une largeur de cône de détection moins importante et d'une plus faible portée. Ils sont, en outre, plus sensibles aux environnements lumineux à fort rayonnement infr-rouge, à la couleur et la nature des obstacles.
Les caméras
Utilisées pour la reconnaissance des formes, des couleurs, mais également des visages ou encore pour mieux apprécier la profondeur des objets, les caméras permettent de se rapprocher de notre vision.

Module caméra v3 Raspberry Pi (source : Kubii)
Les caméras captureront ainsi des images de l'environnement tandis q'un algorythme les analysera afin de trouver un objet particulier vers lequel se diriger, ou détecter les obstacles se présentant dans la course du robot.
LiDAR
LiDAR signifie "light detection and ranging" ou "laser imaging detection and ranging" que l'on peut traduire en français respectivement par "détection et estimation de la distance par la lumière" ou "par laser".
Le LiDAR, tout comme les capteurs à infrarouge, émet une onde lumiseuse proche du spectre visible, à la différence que la lumière est généralement issue d'un laser alors que les capteurs à infrarouge utilisent plutôt des photodiodes. Ce qui permet d'obtenir une lumière directionnelle, monochromatique, de haute amplitude et cohérente.

Kit LiDAR LDROBOT D100 (source : RobotShop)
Le système le plus connu est le télémètre laser. Ce dernier, associé à un système de balayage angulaire, émet entre pluieurs dizaines à plusieurs centaines de milliers d'impulsions lumineuses par seconde. Le système enregistre pour chaque point mesuré sa distance à LiDAR, reconstituant ainsi la scène en modèle tridimensionnel, avec une précision pouvant atteindre quelques centimètres et pour une distance allant à plusieurs centaines de kilomètres pour les systèmes spatiaux.
Nous venons donc de présenter différents moyens techniques pour qu'un robot puisse "voir" son environnement. En fonction des situations, nous pourrons privilégier l'une ou l'autre de ces solutions, voire les coupler entre elles pour une meilleure prise en compte du milieu dans lequel évolue notre robot. Encore une fois, nous ne sommes pas rentrés dans les détails, ce n'était pas le but ici. Notre laboratoire d'expérimentations étant installé (voir le chapitre Pour commencer), nous allons pouvoir commencer nos premières expérimentations. Suivez le guide !