Les réalisations techniques face aux défis du XXIe siècle : intelligence artificielle

II.Le cahier des charges

II.1 Le problème

Voici le cahier des charges qui nous était fourni:

Objectif final :

Le robot doit récupérer une balle de couleur (à définir) et la déposer à la sortie du labyrinthe. Deux balles de couleurs différentes sont déposées dans le labyrinthe, à des emplacements différents et de façon aléatoire. La zone de départ et d'arrivée sont connues au début du challenge et sont figées.

Nous sommes également soumis à diverses contraintes :

Les revues de projets sont effectuées à chaque étape :

  1. Se déplacer dans le labyrinthe en explorant tout le labyrinthe,
  2. Trouver la sortie du labyrinthe,
  3. Trouver une balle et identifier si elle correspond à la couleur souhaitée,
  4. Saisir la balle ayant la couleur souhaitée,
  5. Transporter la balle et la déposer à la sortie.

II.2 Le robot

LEGO est une gamme de jouets de construction fabriqué par The Lego Group. Les briques LEGO peuvent être assemblées et reliées afin de construire des bâtiments, des véhicules et des robots qui sont démontables et leurs pièces réutilisables.
La gamme Mindstorms a été commercialisée en 1998 sous le nom de LEGO MINDSTORMS RIS puis y succède la gamme LEGO MINDSTORMS NXT en 2006. C’est la série LEGO permettant la construction de robots et leur programmation.

Le robot est construit à partir du kit LEGO MINDSTORMS Education comprenant un ensemble complet de pièces LEGO, une brique intelligente programmable, trois servomoteurs, un capteur à ultrasons, un photosensible, deux capteurs contacts tout-ou-rien, et un capteur sonore ainsi que le logiciel de programmation robotique LEGO Mindstorms NXT Education v.2.1.

Voici la déscription des différents capteurs, de la brique intelligente et des servomoteurs

2.1) LEGO MINDSTORMS NXT, la brique intelligente et LEGO Mindstorms NXT Education v2.1

La brique intelligente programmable est constituée d’un microprocesseur 32 bits, de quatre ports d’entrée capteur 1, 2, 3 et 4 et de trois ports de sorties moteurs et lumières A, B et C. Elle dispose d’un hautparleur intégrée, d’un écran à cristaux liquides et d’une fonction Bluetooth et USB pour la connecter à un ordinateur. Enfin elle dispose d’une alimentation par piles ou batteries 9V.

Le logiciel LEGO Mindstorms NXT Education v.2.1 qui en permet la programmation est un outil puissant et simple d'utilisation. Il n'amène pas l'utilisateur à employer un langage de programmation classique mais utilise la programmation graphique. Ainsi, différents icônes représentent les capteurs, les actions possibles avec le robot LEGO Mindstorms NXT et le programmeur les assemble afin de créer différents comportements des plus basiques aux plus élaborés. Il comprend aussi une série de tutoriels composés de plusieurs exercices étapes par étapes.

2.2) Les servomoteurs

Au nombre de trois ce sont des moteurs à courant continu 9V et aimants permanents capables, à l’aide d’un potentiomètre, d’atteindre une position prédéterminée et de la maintenir. Cette position est dans notre cas un angle, mais sur les servomoteurs dit « linéaires » c’est une distance. Ils peuvent aussi définir la vitesse de rotation, ce qui permet de contrôler à un degré près les déplacements du robot et d’aligner plusieurs moteurs de vitesse similaire. La vitesse et la position sont vérifiées et corrigées en continu, c’est un système asservi aux décisions de la brique intelligente. En règle générale, avec une alimentation de base de 9V, sa vitesse de rotation est relativement lente.

2.3) Le capteur à ultrasons

Il est capable de détecter les obstacles et d’en mesurer les distances. C’est certainement un des capteurs les plus utilisés dans la robotique en raison de ses capacités à détecter les obstacles, de sa simplicité et de son faible coût. Il utilise un principe que l’on retrouve dans la nature, chez certains animaux nocturnes, et dans la télémétrie. Ainsi il émet un ultrason : une onde de compression qui fait se mouvoir les molécules d’air et se propage dans l’espace sous une forme sinusoïdale périodique : une vibration. Le temps que met une vibration à se réaliser se nomme la période. Elle se répète plusieurs fois à intervalles réguliers. La fréquence est le nombre de fois que cette période se produit en une seconde, donc plus elle est élevée plus la période est courte : son unité est le Hertz (Hz).

Les ultrasons sont les sons qui ont une fréquence supérieure aux capacités de l’oreille humaine donc au dessus de 20 kHz. Ils se déplacent avec une certaine vitesse dans l’air, défini par la formule La formule une où V représente la vitesse du son, γ réprésente la masse volumique de l'air soit 1,4g/m3, R la constante spécifique de l'air ( 281,8 J/kg ) et T la température de l'air en Kelvin. Donc pour une température de 20 °C , T = 20 + 273,15 = 293,15K et la vitesse des ultrasons dans l'air est 340m/s. En connaissant la vitesse des ultrasons, le capteur mesure le temps que prend le son pour atteindre l'objet, être réfléchi, et revenir. Ainsi en multipliant la vitesse par le temps, il connait le double de la distance entre lui et l'objet et divise le résultat par deux. On obtient donc la formule de mesure de la distance par le capteur à ultrason : V= d*T/2

Le capteur à ultrasons de LEGO MINDSTORMS NXT réalise ce calcul lui-même et prend comme vitesse des ultrasons par défaut 341m/s c'est-à-dire pour une température ambiante légèrement supérieur à 20 °C . Il connait aussi des limites : il est capable de détecter des obstacles se situant dans un cône large d'environ 30 degrés en face de lui. Cependant, alors que la distance entre lui et l'objet est fiable, sa position dans sa surface de détection est inconnue. Il possède aussi une zone dite « aveugle » de quelques centimètres de distances où ils ne peuvent pas détecter les obstacles car le capteur à ultrason est désactivé pendant un court instant après l'émission de l'onde. En effet, puisque le récepteur se trouve à proximité de l’émetteur, il recevrait tout de suite un écho ultra sonore qui fausserait la mesure. Ainsi, le capteur ne peut détecter des objets se trouvant très près, c'est-à-dire en dessous de cinq centimètres de distance. Il connait aussi une limite de portée due à la puissance de l'émission de l'onde ultra sonore et à la sensibilité de sa réception. Plus l'onde ultra sonore est émise avec puissance plus elle ira loin. Hors, l’émetteur du capteur LEGO MINDSTORMS NXT a une puissance limitée qui dépend de la tension d'alimentation du NXT : si ses batteries sont presque déchargées, la tension électrique fournie est plus faible et l’émetteur émet moins loin. Le récepteur quant à lui n'a pas une sensibilité très élevé et ne peux pas détecter les ultrasons très faibles qui lui reviennent donc qui ont été réfléchis par un objet éloigné. Ainsi la portée du capteur est de l'ordre de 250 centimètres. Le capteur LEGO MINDSTORMS NXT peut donc détecter un obstacle qui se situe entre cinq centimètres et deux mètres et demi. Cette détection est aussi limité par la surface et la forme de l'objet détecté. Celui-ci doit, pour être localisé par le capteur, renvoyer le plus d'ondes ultras sonores possibles. Ainsi, plus sa surface est grande plus il en renverra vers le récepteur. Le capteur peut donc détecter un mur à 2,5m mais un petit objet qu'à quelques dizaines de centimètres. Le forme de l'objet détecté est elle aussi très importante, un objet plat et perpendiculaire au capteur renverra toute l'onde émise au récepteur dans la même direction : il est bien détecté. Un objet arrondi renverra l'onde dans de multiples sens et donc que peu vers le capteur à ultrasons, une balle par exemple sera très mal détecté. Enfin la texture de l'objet influence aussi la détection car il peut plus au moins absorber les ondes ultra-sonores.

2.4) Le capteur photosensible.

Il permet de mesurer la quantité de lumière émise ou réfléchie par un objet. Il peut capter la luminosité ambiante émise par une source lumineuse comme le soleil ou une lampe. Il se décompose en deux parties.
La première partie est une diode lumineuse. Ainsi, le capteur peut émettre sa propre lumière rouge à l'aide de cette diode. La matière colorée absorbe une partie de la lumière qu'elle reçoit et donc une partie de son intensité. On parle de synthèse soustractive. Ici cette lumière est rouge donc les objets de couleurs bleu, verte, cyan ou noir absorbent presque la totalité de la lumière alors que les éléments plutôt rouge ou jaune l'absorbent très peu.
La deuxième partie est un capteur photosensible. La lumière émise ou réfléchie par un objet est mesurée par des cellules photovoltaïques qui transforment l'intensité de cette lumière en un courant électrique plus ou moins puissant. Une surface rouge qui repoussera la lumière émise par le capteur donnera une intensité lumineuse plus grande qu'une surface noire qui absorbe presque toute la lumière. Cela permet au capteur d'identifier approximativement les couleurs en convertissant l'intensité du signal reçu en donnée numérique. Le capteur « voit » son environnement par différents niveaux d'intensité de lumière variant de 0 à 100, comme en niveau de gris où les couleurs sont remplacées par des nuances de gris plus ou moins sombres. Ceci peut amener des confusions entre certaines couleurs qui peuvent paraître totalement différentes à l’œil humain mais dont le niveau de gris est très proche ou lorsque l'environnement est sombre. Il a une portée très faible car les ondes lumineuses qu'il émet et qu'il perçoit se dispersent très vite. A une certaine distance, le capteur photosensible ne détecte plus la lumière émise par la diode rouge mais la luminosité qu'il perçoit de l'espace alentour, s'il fait plus ou moins clair dans la pièce. En revanche il ne connaît pas de problème de zone aveugle.

2.5) Les capteurs de contacts tout-ou-rien ou tactiles

Ce sont de simples boutons poussoirs au nombres de deux. Ils détectent seulement s'ils sont enfoncés ou relâchés et dans quel ordre ces actions ont été produite. Ils peuvent donc détecter si le robot à touché un obstacle, si un bras a atteint son élongation maximale ou encore ils peuvent servir de bouton de commande pour lancer une action comme sur une télécommande.

2.6) Le capteur sonore

Tout comme le capteur à ultrasons il capte un son donc une onde, une vibration de l'air, et il la transforme en signal électrique dont la tension varie en fonction de la fréquence et de l'amplitude du son. Cette tension est ensuite transformée par le programme en une valeur numérique utilisable dont l'unité est le décibel (dB). Il mesure donc la puissance du son qu'il reçoit. Le capteur peut être programmé pour fonctionner en mode dB ou en mode dBa soit déciBel Ajusté où le capteur ne prend en compte que les sons audibles par l'oreille humaine. Il ne peut pas entendre les ultrasons qui pourraient provenir du capteur à ultrasons car leur fréquence est trop élevée et le capteur sonore n'est pas assez sensible.

La boite contenant les multiples pièces est celle-ci :

Boite LEGO

II.3 Le labyrinthe

D'après Wikipédia, « Un labyrinthe est un tracé sinueux, muni ou non d’embranchements, d’impasses et de fausses pistes, destiné à perdre ou à ralentir celui qui cherche à s’y déplacer ».
Le labyrinthe auquel on se réfère est « maniériste », il présente différente voies mais une seule d’entre elles mène à la sortie. À la différence du labyrinthe en « rhizome » dans lequel chaque route peut être la bonne. Il ne comprend pas d’îlots : le centre est rattaché au reste des murs. Il ne se situe pas au niveau du sol mais est surélevé. Une plaquette en bois de même constitution que les murs du labyrinthe obstrue la sortie tant que le robot n’a pas trouvé la bonne balle, elle est ensuite retirée afin qu’il puisse sortir ce qui amène obligatoirement à une chute dûe à la surélévation du labyrinthe. Les zones de départ et d'arrivée sont connues et figées et deux balles de couleurs, une bleue et une rouge, sont déposées dans le labyrinthe, à des emplacements différents et de façon aléatoire.

Voici le plan du labyrinthe :

Le labyrinthe.

Le point D représente la zone de départ. Le point A celle d'arrivée. Les ronds bleus sont les positions possibles de la balle.