BE 2013-2014
Sommaire
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.
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.
Matériel à votre disposition
Les couches basses du robot seront réalisées à l'aide de Lego MindStorm. Le Lego va permettre de réaliser le chassis avec sa motorisation et d'y installer divers capteurs. Il est même possible d'assurer une certaine communication entre robots 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 le robot. C'est ce micro-PC qui fera faire les acquisitions d'images ou les analyses WiFi et c'est à lui que le micro-contrôleur du MindStorm pourra envoyer ses données de localisation.
Répartition des tâches
Chaque binôme va se voir affecter une des problématiques décrites dans les sous-sections suivantes. Par la suite les résultats devront être incorporés dans chaque robot pour obtenir un robot tel que décrit plus haut. Notez que tous les robots doivent savoir s'arrêter quand un obstacle se présente devant eux (utilisation du sonar MindStorm).
Robot suiveur de ligne
Vous devez créer un robot capable de suivre une courbe discontinue au sol. Le robot doit être capable de réaliser les actions ci-dessous.
- en cas de perte du marquage, tourner dans un sens puis dans l'autre pour tenter de le retrouver avec des angles de plus en plus grands ;
- si le marquage ne peut pas être retrouvé, se remettre dans la position de la perte initiale et partir tout droit ;
- se remettre dans l'axe du marquage lorsque ce marquage est retrouvé ;
- s'arrêter quand un obstacle se présente devant lui et repartir si l'obstacle disparait ;
- changer de parcours sur commande, c'est à dire emprunter un parcours d'une couleur différente dès qu'il est rencontré ;
- inverser son sens de parcours.
Voici des exemples de parcours discontinus pouvant être suivis dans les deux sens.
Elèves | Matériel | Page |
---|---|---|
Floriane Chevalier | Boite lego MindStorm, Scotch de couleur | Robot suiveur de ligne 1 |
Robots synchronisés
Cette étude sera menée par deux binômes. Vos deux robots doivent être capables de se synchroniser. Il vous est demandé de réaliser le comportement suivant :
- séparés, les robots avancent tout droit et s'arrêtent dès qu'ils détectent un obstacle avec leur sonar ;
- les deux robots doivent pouvoir être couplés côte à côte ;
- dans le mode couplé, les robots avancent quand aucun obstacle n'est détecté par leurs sonars ;
- dans le mode couplé, si un robot détecte un obstacle et l'autre non le couple tourne dans la direction où aucun obstacle n'est détecté.
La communication entre les deux robots se fait par bluetooth.
Elèves | Matériel | Page |
---|---|---|
Corentin Duplouy & Safouane Driouich | Boite lego MindStorm | WALL_E (master : "leave me alone") |
Bastien Couenne | Boite lego MindStorm | EVE (slave : "give me freedom") |
Robot suiveur RFID
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 |
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 |
---|---|---|---|---|---|