CageBut2014-4 : Différence entre versions
(→La Balise infrarouge) |
(→Le Mécanisme du but) |
||
Ligne 18 : | Ligne 18 : | ||
Nous avons choisi ce rôle car il est très polyvalent, alliant programmation, création d'un PCB, fabrication de la cage via une découpeuse laser. | Nous avons choisi ce rôle car il est très polyvalent, alliant programmation, création d'un PCB, fabrication de la cage via une découpeuse laser. | ||
− | = | + | ='''Le Mécanisme du but'''= |
[[Fichier:Premier robot.jpg|500px|thumb|right|1er prototype du mécanisme]]Nous avons d'abord eu l'idée d'un robot fonctionnant avec un seul moteur, le faire tourner dans un sens bloquant la balle et dans l'autre, avec une vitesse supérieure, la libérant. Ce projet a fini par être abandonné suite à de nombreuses complications techniques liées au moteur. En effet il était particulièrement difficile de faire revenir le moteur à sa position initiale, même en ajoutant des capteurs de contact l'armature ne revenait jamais exactement à sa place. Les LEGO du prototype étant moins lourds que l'armature finale en bois ou plastique.Nous nous sommes dis que le projet était perfectible. De plus le système n'était pas assez rigide pour supporter le poids de la cage. Le système de blocage étant à améliorer mais il fallait ajouter un autre moteur pour expulser la balle. | [[Fichier:Premier robot.jpg|500px|thumb|right|1er prototype du mécanisme]]Nous avons d'abord eu l'idée d'un robot fonctionnant avec un seul moteur, le faire tourner dans un sens bloquant la balle et dans l'autre, avec une vitesse supérieure, la libérant. Ce projet a fini par être abandonné suite à de nombreuses complications techniques liées au moteur. En effet il était particulièrement difficile de faire revenir le moteur à sa position initiale, même en ajoutant des capteurs de contact l'armature ne revenait jamais exactement à sa place. Les LEGO du prototype étant moins lourds que l'armature finale en bois ou plastique.Nous nous sommes dis que le projet était perfectible. De plus le système n'était pas assez rigide pour supporter le poids de la cage. Le système de blocage étant à améliorer mais il fallait ajouter un autre moteur pour expulser la balle. |
Version du 24 mai 2015 à 09:49
Sommaire
Introduction
Le bureau d'étude est une initiation pédagogique nous mettant en situation concrète avec des objectifs précis à remplir, précurseurs de projets professionnels tels que nous en aurons plus tard en tant qu'ingénieur au sein d'une équipe. Nous avons choisi le Bureau d'Etude ima par curiosité des domaines de l'informatique et de l'électronique et pour conforter ou non nos choix dans les spécialités que propose le réseau Polytech.
Ce bureau d'étude a pour objectif final de faire jouer une partie de football à des robots LEGO Mindstorm™. Les rôles des robots sont répartis selon différents binômes, chaque binôme étant amené à échanger avec les autres afin que la coordination entre les robots soit la plus parfaite possible. Chaque binôme aura donc pour tâche de s'occuper soit :
- d'un robot ramasseur de balle (2 au total)
- d'une cage de buts (2 au total)
- de robots de compétition (4 au total)
Il y a aussi un neuvième "robot" qui joue le rôle d'arbitre. Il s'agit d'un ordinateur relié en Bluetooth avec tous les autres robots permettant le bon déroulement du match (exemple, après un but, l'arbitre demande à la cage concernée de libérer la balle).
Nous avons choisi de réaliser une cage de but, nos principales lignes directrices pour ce projet sont :
- Un but correctement dimensionné de largeur 50 cm en accord avec le but adverse (DELANOY et CLEMENT) pour permettre de meilleures chances à la balle de rentrer au vu de son diamètre ( 75 mm ).
- Une balise infrarouge capable d'émettre tout en étant différentiable de l'autre cage et de la balle, cette balise doit pouvoir être paramétrable.
- Un système de détection ( capteur ultrasons ) et d'expulsion de la balle ( impliquant un capteur de contact).
- Une programmation pour communiquer avec les autres intervenants ( robots joueurs, ramasseur de balle, arbitre ).
Nous avons choisi ce rôle car il est très polyvalent, alliant programmation, création d'un PCB, fabrication de la cage via une découpeuse laser.
Le Mécanisme du but
Nous avons d'abord eu l'idée d'un robot fonctionnant avec un seul moteur, le faire tourner dans un sens bloquant la balle et dans l'autre, avec une vitesse supérieure, la libérant. Ce projet a fini par être abandonné suite à de nombreuses complications techniques liées au moteur. En effet il était particulièrement difficile de faire revenir le moteur à sa position initiale, même en ajoutant des capteurs de contact l'armature ne revenait jamais exactement à sa place. Les LEGO du prototype étant moins lourds que l'armature finale en bois ou plastique.Nous nous sommes dis que le projet était perfectible. De plus le système n'était pas assez rigide pour supporter le poids de la cage. Le système de blocage étant à améliorer mais il fallait ajouter un autre moteur pour expulser la balle.
Le nouveau robot ainsi réalisé comporte deux moteurs, le premier s'occupe de bloquer la balle, le second ne fait que la renvoyer. Le premier constitue une sorte de crochet se rabattant sur la balle après qu'elle soit détectée par le capteur ultrason (situé sur la ligne du but). La balle est ainsi bloqué au fond du but contre un système fixe prévu à cet effet. La balle immobilisée, le crochet se relève jusqu'à rencontrer le capteur de contact qui déclenche sa remise en position initiale. Pendant cela, le deuxième moteur chargé du fonctionnement du percuteur se met en marche et permet l'expulsion de la balle hors du but. Nous avons réalisé des tests, le percuteur expulse la balle assez rapidement pour un franchissement de quelques millimètres en raccord avec l'épaisseur du terrain. Le percuteur se remet alors en place sans problème car le moteur réalise un angle faible.
Media:Robot final.mp4--Media:Bascule contact final.mp4
La Balise infrarouge
Nous avons réalisé la balise en s'inspirant du modèle suivant, en y rajoutant un bouton poussoir et une LED rouge qui va nous permettre de savoir "où" nous nous situerons par rapport au réglage de la fréquence des LED infra-rouges. C'est simple, une pression sur le bouton fait clignoter la LED rouge une fois, un appui prolongé sur le bouton (3 secondes dans notre cas) fait clignoter la LED 4 fois: on peut alors configurer la période de fonctionnement des LED infrarouges. Pour refermer ce "menu" il faut à nouveau appuyer 3 secondes sur le bouton, la LED va à nouveau clignoter mais cette fois autant de fois que le bouton a été enfoncé. Pour configurer la période des infrarouges il faut appuyer un certain nombre de fois (exemples: 5 appuis, les infrarouges vont fonctionner à 1200Hz pendant 2,5s puis s'interrompre pendant 1s et recommencer jusqu'à ce que ce paramètre soit modifié.
Une fois la partie programmation de la balise par arduino termminée nous avons dû réaliser le circuit imprimé de cette balise. A partir d'un schéma initial réalisé sur le logiciel Eagle que nous avons modifiée, afin d'obtenir une meilleure répartition des composants sur la carte, nous avons envoyé notre PCB au service de Polytech consacré à sa fabrication. L'étape suivante consista à souder les différents composants et à tester la carte, elle fonctionne, il faut maintenant programmer le microcontroleur pour la balise devienne autonome. Pour cela on utilise un AT Tiny Programmer qui est une petite carte qui permet de compiler notre programme dans le microcontroleur.
Ci-dessous le programme du robot NXT. Ce programme que nous avons écrit permet à notre but de remplir différentes tâches: détecter la balle, la bloquer dans la cage et l'en éjecter. Une fois connecté à l'arbitre par bluetooth, l'arbitre lui demande de s'identifier, ce qu'il fait en lui envoyant le code correspondant aux cages. LA balle pouvant se trouver dans un but au début d'une partie la première instruction de l'arbitre à la cage et d'éjecter ce que notre robot réalise qu'il ait a balle ou non. Lorsque la balle rentre dans notre but, elle est détecté par le capteur infrarouge et notre robot la bloque et averti le robot arbitre d'un but. La balle ne sera éjectée que lorsque l'arbitre le lui aura demandé. Puis le jeu peut reprendre.
#define NEAR 50 //cm //Actors #define TYPE 0 //#define SEEKER //#ifdef SEEKER //#define TYPE 2 #define TYPE_BUT 0 //Mailboxes #define MAILBOX_ACTEUR 1 #define MAILBOX_ARBITRE 2 //Messages #define CODE_REQTYPE 0 #define CODE_EJECTER 1 #define CODE_BUT 3 task main() { int result; string buffer; SetSensorTouch(IN_2); SetSensorLowspeed(IN_4); while(true) { result=ReceiveMessage(MAILBOX_ACTEUR,true,buffer); if(result==0) { int requete=StrToNum(buffer); if(requete==CODE_REQTYPE) { TextOut(0,LCD_LINE1,"TYPE SENT"); string type; type=NumToStr(TYPE_BUT); SendMessage(MAILBOX_ARBITRE+10,type); } if(requete==CODE_EJECTER) { TextOut(0,LCD_LINE2,"EJECT BALL"); OnRev (OUT_C,100); Wait (150); OnFwd (OUT_C,100); Wait (150); Off (OUT_C); Wait (1000); OnFwd(OUT_A, 50); Wait(250); Off (OUT_A); while(SensorUS(IN_4)>NEAR); string type1; type1=NumToStr(CODE_BUT); SendMessage(MAILBOX_ARBITRE+10,type1); Wait (200) ; //petite pause le tps que la balle arrive OnFwd (OUT_A,50); //moteur sup. se rabaisse pour bloquer balle Wait (150); Off (OUT_A); Wait (1000); OnRev(OUT_A, 20); // moteur sup. se relève, balle libre de partir while (Sensor(IN_2) != 1) {} } } } }
Réalisation du but
A ce jour, nous avons choisi le plexiglas comme matériau principal de la cage, apportant une véritable structure au but tout en laissant apercevoir le mécanisme. La cage aura une largeur de 50 cm et une profondeur de 25 cm. L'armature démarrera à hauteur du percuteur jusqu'à l'arrière en recouvrant la majorité du robot,et en finissant en forme arrondie. Le robot principal sera maintenu au centre du but par des barres transversales fixés aux deux faces de cotés du but par un système d'emboîtement d'encoches.
Concernant le mécanisme du robot, une première pièce longue sera fixé au premier moteur sur le crochet recouvrant ainsi toute la largeur du but. L'idée est la même pour le moteur de répulsion où une deuxième pièce sera fixé sur le percuteur obtenant ainsi un percuteur de 50 cm de large. On pourra également placer une mini-plaque sur la pièce du robot sur laquelle la balle vient se percuter, munie d'un système amortissant le choc ( mousse ou autre).
Circuit imprimé
La programmation de la balise étant terminée il faut maintenant fabriquer le PCB / circuit imprimé de celle-ci. Pour cela on utilise le logiciel EAGLE puis on l'envoie au service de polytech chargé de sa fabrication via un protocole.