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 :
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
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.
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.
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
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.
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.
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.
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 :
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 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.