BE 2013-2014

De Wiki de bureau d'études PeiP
Révision datée du 19 janvier 2014 à 18:41 par Ppeip (discussion | contributions) (Répartition des tâches)

But à atteindre

Ce bureau d'étude a comme finalité la construction de robots joueurs de balle. Ces robots doivent s'affronter sur un terrain découpé en quatre zones avec des buts aux extrêmités opposées.

Terrain.png

Les robots vont devoir s'affronter par paires. Le but d'une paire de robot est d'arriver à envoyer l'unique balle dans le but adverse sans qu'il leur arrive la même chose. Il n'y a pas de spécialisation dans les robots. Chacun pouvant attaquer ou défendre. Un robot qui trouve la balle va chercher à l'attraper et à la lancer sans rentrer en contact avec un autre robot. Un robot qui ne trouve pas la balle va se replier sur un rôle de défenseur. Les robots ne peuvent, bien entendu, pas quitter le terrain.

Pour repérer la balle et les buts des signaux modulés dans l'infra-rouge vont être utilisés. La balle et les buts ne moduleront pas suivant la même fréquence. Les robots vont devoir se repérer dans le terrain en utilisant un détecteur de couleur et des lignes au sol. Ils peuvent aussi se répérer via un pavage non couvrant du terrain par des cartes RFID.

Dans dispositif les buts sont des objets intelligents capable d'interagir avec la balle et les robots.

Pour 2013/2014, il est juste prévu d'explorer le thème, réaliser des compétitions entre robots autonomes paraissant encore hors d'atteinte. Pour pouvoir tout de même présenter des compétitions entre robots, des équipes réaliseront des robots télécommandés par WiFi. Des compétitions pourront donc avoir lieu mais entre humains, par l'intermédiaire des robots.

Matériel à votre disposition

Boite mindstorm.jpg
Legos Mindstorm
Foxboard.jpg Arduino.jpg
Système FoxBoard Platine Arduino

Les couches basses des robots et des buts seront réalisées à l'aide de Lego MindStorm. Le Lego va permettre de réaliser le chassis des robots avec sa motorisation et d'y installer divers capteurs. Le lego permettra aussi de réaliser les cages des buts avec les émetteurs infra-rouges, le dispositif de test de présence de la balle et le dispositif d'éjection. Il est même possible d'assurer une certaine communication entre robots et buts grâce à la technologie bluetooth intégrée au micro-contrôleur MindStorm. Pour aller plus loin, il est nécessaire d'embarquer un micro-PC de type FoxBoard sur les robots. C'est ce micro-PC qui permettra les acquisitions d'images et c'est à lui qui transmettera au micro-contrôleur du MindStorm les ordres de déplacement ou de lancement de balle. Pour réaliser le signal de repérage des buts, une platine Arduino sera utilisée.


Répartition des tâches

Chaque binôme va se voir affecter une des problématiques décrites dans les sous-sections suivantes.

Cage de but

Une cage de but doit comporter les dispositifs décrits ci-dessous.

  • La cage doit émettre un signal infra-rouge pour être facilement repérable par les robots. Pour cela vous partirez de LED infra-rouges et vous modulerez leur alimentation par une platine Arduino pour émettre un signal facilement identifiable. Ajouter quelques LED dans le visible pour mimer la fréquence dans l'infra-rouge ne peut pas nuire.
  • La cage doit détecter quand la balle rentre dans la cage en la dirigeant précisement vers un capteur de contact.
  • La cage doit signaler un but à l'ensemble des robots en comptétion et à l'autre cage. Elle tient aussi le compte du score.
  • Enfin la cage doit pouvoir expulser la balle quand les robots se sont repositionnés sur le terrain pour une nouvelle action.
Elèves Matériel Page
Prénom Nom - Prénom Nom Boite lego MindStorm, LED Infra-rouge, Arduino UNO Cage de but 1
Prénom Nom - Prénom Nom Boite lego MindStorm, LED Infra-rouge, Arduino UNO Cage de but 2

Robots d'attaque

Pour simplifier la conception des robots compétiteurs, les comportements d'attaque et de défense sont séparés. Pour cet atelier, il est demandé de se pencher sur le comportement d'attaque.

Il s'agit du comportement d'un robot lorsqu'il a su repérer la balle.

  • Il se dirige vers la balle pour la capturer. Une fois la balle capturée le robot ne se déplace plus en translation.
  • Il lance la balle vers le but adverse. Une rotation peut être nécessaire pour l'envoi.

D'un point de vue mécanique certains dispositifs doivent être étudiés.

  • Un dispositif de capture de la balle, un simple récupérateur non articulé devrait suffire.
  • Un dispositif de lancement. Vous pouvez étudier le lancement en utilisant un servo-moteur ou un dispositif de rotation du robot.

Les capteurs nécessaires à un robot d'attaque sont décrits ci-dessous.

  • Le capteur infra-rouge pour se diriger vers la balle et estimer la position du but.
  • Le capteur ultra-son pour éviter de percuter les objets (buts et autres robots).
  • Un capteur de couleur pour éviter de sortir du terrain.
Elèves Matériel Page
Prénom Nom - Prénom Nom Boite lego MindStorm Robot d'attaque 1

Robot de défense

Vous doterez votre robot d'un lecteur RFID et d'un équipement de type boussole. Votre robot doit être capable de réaliser les opérations ci-après :

  • trouver sous une marque de couleur précise (feuille A4, disque, ...) une carte RFID ;
  • partir dans une direction donnée ; le robot s'oriente avec la boussole puis se lance avec ses deux moteurs sans tenter de corriger la trajectoire ;
  • mémoriser des caps en fonction des identifiants des cartes RFID.

Par la suite vous intégrez ces trois fonctionnalités pour obtenir un robot capable de suivre une trajectoire matérialisée par des marques sous lesquelles une carte RFID est dissimulée. Quand le robot détecte une marque via son capteur de couleur, il se met à chercher l'emplacement exact de la carte RFID. Une fois la carte localisée, le robot trouve le prochain cap à suivre en fonction de l'identifiant de la carte RFID. Le robot s'oriente sur ce cap avec sa boussole puis se lance vers la marque suivante. Et ainsi de suite.

Voici un exemple de parcours en suivant des marques RFID.

Elèves Matériel Page
Alexandre Jouy & Kévin De Arriba Boite lego MindStorm, Module RFID, Cartes RFID, module boussole, Marques de couleur Robot suiveur RFID 1

Robot naviguant aux instruments

Vous doterez votre robot d'une boussole ou d'un gyroscope pour lui permettre de connaitre précisement sa direction. Vous devez réaliser les actions décrites dans la suite.

  • Vous commencerez par faire en sorte que votre robot sache avancer en ligne droite, pour cela vous utiliserez le contrôle PID décrit sur la page WikiPedia. Pour simplifier ce qui est dit sur cette page, sachez le principe appliqué à votre robot va être d'effectuer des corrections sur la trajectoire en utilisant des rotations. L'angle de ces rotations va être calculé en fonction de l'erreur de trajectoire indiqué par l'instrument. Plus exactement par la somme d'une constante multipliée par l'erreur instantanée, d'une autre constante multipliée par l'intégrale de l'erreur et enfin d'une dernière constante multipliée par la dérivée de l'erreur. A vous de trouver les valeurs adaptées des trois constantes.
  • Par la suite faites en sorte que votre robot sache contourner les obstacles au plus juste. Au plus juste signifiant qu'il tournera vers la droite ou vers la gauche en jugeant où se trouve le chemin le plus libre. L'algorithme à appliquer consiste à tourner le robot d'un angle faible dans un sens puis dans l'autre et de lire les resultats du sonar. Si les deux mesures indiquent un obstacle trop proche, l'angle est augmenté et le procédé répété. Dès qu'une trajectoire indique un chemin libre ou du moins un obstacle à distance suffisante, le robot avance en ligne droite suivant cette trajectoire. L'instrument doit être utilisé ici pour vérifier que le robot effectue précisement des rotations des angles souhaités et qu'il sache revenir en position initiale pour éventuellement recommencer avec un angle plus grand.
  • Pour permettre de suivre le comportement du robot, faites afficher sur la brique de contrôle MindStorm l'angle de rotation pour le dernier contournement et la distance parcourue le long de la dernière ligne droite.

Intégrez les comportements pour obtenir un robot capable de contourner les obstacles avec un minimum d'intelligence.

Voici un exemple de contournement d'obstacle avec l'algorithme décrit.

Elèves Matériel Page
Jérôme Bailet & Timothée Teneur Boite lego MindStorm, Module boussole, Module gyroscope Robot aux instruments 1

Robot solaire

Le but est de concevoir un robot capable de trouver le meilleur point de rechargement solaire dans une pièce et de se mettre en mode de rechargement tout en étant capable de se réveiller après une période de charge. Vous devez réaliser les actions décrites dans la suite.

  • Votre robot doit déjà être capable de se déplacer dans une pièce en évitant les obstacles et de mesurer l'ensoleillement en différents points. L'algorithme de recherche du point idéal pourrait être de se déplacer à volonté (on suppose la pièce fermée) en calculant l'ensoleillement maximal. Au bout d'un temps défini, le robot compare l'ensoleillement local au maximum trouvé dans son premier parcours et s'arrête dès qu'il tombe sur un ensoleillement égal à une fraction du maximum (80% par exemple).
  • Concevez une alimentation ad hoc. Par exemple une batterie rechargeable pour MindStorm connectée, via des relais ou transistors, d'une part au bloc contrôleur du MindStorm et d'autre part au panneau solaire. Un régulateur entre les panneaux et la batterie sera nécessaire. Réalisez aussi un dispositif électronique indépendant (superviseur) capable de coller le relai d'alimentation du MindStorm dès que la charge de la batterie est raisonnable. Vous pourrez vous appuyer sur des composants intégrés de recharge de batterie (de type DS2715) et sur une supervision impliquant un microcontroleur Atmel AVR (au départ un arduino, puis transfert sur un microcontroleur seul). Commencez par lister le matériel nécessaire pour passer la commande.
  • Il ne vous reste plus qu'à écrire le comportement du robot quand il trouve son coin au soleil. A savoir, coller le relai de charge de sa batterie tout en se suicidant en decollant son relai d'alimentation. Il lui faut aussi décoller le relai de chargement quand il se réveille.
Elèves Matériel Page
Emilien Geiger Boite lego MindStorm, Batterie rechargeable pour MindStorm, Panneaux solaires, Modules relais, Dispositif électronique de réveil Robot solaire 1

Robot téléguidé avec système embarqué

Votre robot doit pouvoir être radio-guidé par un contrôleur. Le dit contrôleur peut diriger le robot au vu de l'image de la webcam embarquée. L'acquisition de la webcam et sa diffusion par WiFi est assuré par un système embarqué FoxBoard. La FoxBoard vous sera livrée configurée mais il faudra l'embarquer dans votre robot avec tous ses accessoires (webcam, module bluetooth, boitier de piles). Un calcul du temps d'autonomie doit être effectué. Dans un premier temps le radio-guidage peut se faire à l'aide du logiciel MindStorm par bluetooth. Dans un second temps il faut étudier la possibilité d'un radio-guidage par WiFi, les ordres étant transmis par un navigateur Web au serveur Web de la FoxBoard puis transmis au micro-contrôleur MindStorm par bluetooth. Vous aurez le choix de programmer votre robot avec le logiciel MindStorm ou avec un langage de bas niveau proche du langage C (voir la page web [1]).

Elèves Matériel Page
Jean-Christophe Fabrici & Nicolas Gunst Boite lego MindStorm, Téléphone Android, FoxBoard avec webcam, interface WiFi, convertisseur bluetooth, Boitier piles Robot téléguidé 1
Romain Libaert Boite lego MindStorm, Téléphone Android, FoxBoard avec webcam, interface WiFi, convertisseur bluetooth, Boitier piles Robot téléguidé 2

Robot récupérateur d'objet

L'objectif est de créer un robot capable de récupérer un objet situé sur une base RFID et de le transporter vers une autre base, elle aussi signalée par une RFID.

Le robot doit être capable de réaliser les actions suivantes :

  • Suivre une ligne et détecter les RFID sur son chemin.
  • Lire les RFID pour savoir ce que le robot doit faire : Soulever un objet ou le déposer.
  • Communiquer par Bluetooth entre deux boites NXT (utilisation de 4 servo moteurs).

Le robot est donc constitué de deux éléments essentiel une base motrice et une pince. Nous avons en premier lieu créer la base motrice avec deux servomoteurs avec un socle permettant de placer deux boites NXT. Puis, nous avons utiliser deux autre servomoteurs pour construire une pince, l'un d'eux sert de poulie et l'autre permet de faire pression sur l'objet a soulever. De plus, on utilise deux capteurs : un capteur de couleur pour que le robot suive une ligne, et un capteur RFID qui détecte les bases sur lesquelles une action doit avoir lieu.

Elèves Matériel Page
Déborah Saunders & Jean Wasilewski Boite lego MindStorm, Module RFID, Cartes RFID, Scotch de couleur Robot transporteur

Intégration des fonctionnalités

Une fois toutes les études terminées et les solutions implantées (sous forme de briques personnalisées par exemple), vous doterez votre robot des fonctionnalités nécessaires à la réalisation de la démonstration finale. Votre robot doit être capable de suivre des marquages discontinus au sol, être capable de communiquer avec les autres robots, être capable de se repérer dans l'espace en repérant des cartes RFID et enfin doit embarquer une FoxBoard avec une connexion WiFi et une webcam.

Les robots peuvent se trouver soit dans un mode autonome soit dans un mode téléguidé. Dans le mode téléguidé, le robot est contrôlé à l'aide d'un téléphone ou d'une tablette Android connecté sur le serveur web de la FoxBoard. Il doit être possible de le faire avancer, reculer ou tourner. Il doit être possible aussi d'obtenir une image de la webcam.

Le comportement en mode autonome est plus complexe :

  • le robot tente de suivre un marquage de couleur au sol, ce marquage peut être discontinu, éventuellement la boussole peut être utilisée pour passer en ligne droite d'un marquage à l'autre et pour suivre les marquages ;
  • les robots communiquent à leur FoxBoard le dernier tag RFID détecté, la valeur relevée par leur boussole (optionnel) et la voie de garage empruntée (optionnel) ;
  • ces informations sont diffusées entre les FoxBoard, elles sont, en particulier, utilisées pour indiquer la position des robots sur une carte ;
  • certains robots peuvent utiliser les voies de garage au départ de certains tags RFID, l'utilisateur déclenche l'action via le site web de la FoxBoard, l'action n'est exécutée qu'après la vérification de la disponibilité de la voie.
Matériel Boite lego MindStorm Module RFID Module boussole Module gyroscope Téléphone Android FoxBoard WebCam Adaptateur USB/WiFi Adaptateur BlueTooth Hub USB Boitier piles Piles rechargeables
Nombre 8/8 8/8 8/8 1/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 100/100

Pour configurer la FoxBoard avec tout le matériel nécessaire, suivez les instructions.

Pour une description du système à obtenir suivez la flèche.

Démonstration finale

Pour la démonstration finale vous tracerez une grande piste comprenant au moins deux voies de garage (voir schéma ci-dessous). Des cartes RFID doivent être disposées en des points précis de chaque parcours. Vous placerez vos robots sur la piste, tous orientés dans le même sens. Il faut vérifier que le suivi du marquage au sol est correct, que les robots savent tenir leurs distances et que les robots savent annoncer leur position grâce aux tags RFID. Faire un test d'utilisation des voies de garage pour les robots possédant cette fonctionnalité.

Voici un exemple de parcours discontinu.

Notation

Noms Partie I Partie II Rapport Wiki Soutenance vidéo Total