RobotCompetition2014-2 : Différence entre versions

De Wiki de bureau d'études PeiP
(Le dispositif de capture de la balle)
(Chercher la balle)
Ligne 114 : Ligne 114 :
  
  
Lorsque le robot est en recherche de balle, il se placera en mode 600 Hz. Une fois la balle attrapée (condition vérifiée par l'activation du capteur de pression), le robot passe en mode 1200 Hz pour les buts.
+
Lorsque le robot est en recherche de balle, il se placera en mode 600 Hz. Une fois la balle attrapée (condition vérifiée par l'activation du capteur ultrason), le robot passe en mode 1200 Hz pour les buts.
 
 
 
 
  
 
=== '''Attraper la balle / Lancer la balle''' ===
 
=== '''Attraper la balle / Lancer la balle''' ===

Version du 22 avril 2015 à 15:39

Introduction

Durant le bureau d'étude IMA de cette année, nous avons pour rôle la réalisation d'un robot d'attaque et de défense. Pour la bonne compréhension de ce que nous allons faire au cours de cet ensaignement de spécialité nous allons reporter sur cette page tout ce qui sera fait pour atteindre la conception finale de ce robot.


Le Robot Mindstorm NXC

Il y a deux moyens de programmer ce robot : en utilisant le logiciel de programmation par blocs fourni avec la machine, ou en langage de programmation pur. Nous avons choisi cette dernière option, l'éditeur et compilateur NxcEditor permet d'écrire en NXC, dérivé du langage C.


Le montage

Voila la seconde version du robot NXC que nous avons réalisé

vue 1
vue 2
vue 3


Les capteurs

Le capteur de couleur

Ce capteur permet de différencier les couleurs : il peut reconnaître du blanc, du noir, du rouge, du vert, du bleu. Nous le plaçons sous notre robot (vu que pour une detection maximale il doit être placé à au moins 1cm du sol) et il servira à deux buts : - Se replacer sur le garage. - Ne jamais sortir du terrain.


Le capteur ultrason

Ce capteur détecte la présence d'éventuels obstacles et même la distance à laquelle ils se trouvent. Il nous servira pour remplir la condition du cahier des charges "ne jamais percuter l'adversaire".


Le capteur infrarouge

Il nous sera utile pour détecter la balle et les buts.

Son fonctionnement : 5 capteurs y sont intégrés. Un capteur scanne devant lui, les quatre autres permettent au robot de "voir" sur 180°. Nous avons accès librement à la valeur de chaque capteur. Il peut être réglé pour recevoir plus spécifiquement des ondes de fréquence 600 Hz ou 1200 Hz.


Le capteur de contact

Lorsque le robot rencontre un obstacle, le bouton est enfoncé. Ce capteur nous sera utile pour vérifier la bonne capture de la balle.

Problèmes

Le premier problème rencontré avec ce capteur est le fait qu'il n'a pas de phase intermédiaire entre le moment où il touche quelque chose et celui où il ne touche rien. Les valeurs de ce capteur passe de 0 (il ne touche rien) à 33(valeur maximale atteinte quand le bouton du capteur est enfoncé au maximum).

Le deuxième problème rencontré est que le bouton ne s'enfonce pas assez pour activer le moteur quand le robot entre en contact avec la balle. Il faut que la balle soit en mouvement rapide vers le robot pour que le bouton s'enfonce.


Résolution des problèmes

Nous avons opté pour un remaniement du robot. Pour détecter et attraper la balle, nous avons utilisé l'action simultanée du capteur ultrason et du capteur infrarouge; Nous avons dû modifié notre programme afin de faire une distinction entre balle et adversaire vu que le capteur ultrason est aussi utilisé pour détecter les éventuels obstacles. Voilà notre programme pour attraper la balle

Le dispositif de capture de la balle

Nous utilisons une pince articulée pour capturer la balle. Cette pince, lorsqu'elle s'ouvre, pousse également la balle en avant; c'est une pince à double action. En plus de cette pince nous avons installé une pince rigide horizontale pour tenir la balle correctement sur les côtés, et permettre une capture plus précise.


Nous installons dans la zone de capture le capteur ultrason. Il sert à détecter la balle et l'adversaire. Lorsque le robot détecte la balle assez prêt, il abaisse la pince. Ensuite il vérifie si la balle qui est présente. Dans le cas contraire il rouvre la pince.

Le jeu

Les limites du terrain

Les robots joueurs n'ont pas le droit de sortir du terrain. Le bord de celui-ci étant matérialisé par une ligne rouge, nous utiliserons le capteur de couleur, pour détecter la couleur en temps réel et faire faire demi-tour au robot lorsqu'il atteint cette ligne.


Fichier:Arrête.mp4

Le robot s'arrête quand il voit une ligne rouge avec son capteur de couleur, ce qui va l'empêcher de sortir du terrain de foot.

Fichier:Demi tour.mp4

Nous avons modifié le programme qui fait s'arrêter le robot et l'avons retravaillé afin qu'il puisse faire demi-tour toujours lorsqu'il voit une ligne rouge. C'est ce que montre la vidéo demi-tour.


Ne pas percuter l'adversaire

Il est interdit aux deux joueurs de se rentrer dedans. Le capteur ultrason, placé bien en évidence sur le robot, détecte les obstacles. Lorsqu'il voit quelque chose de très près, nous ordonnons à notre robot l'arrêt.


La Balle

Le but du jeu est que le robot attrape la balle pour ensuite marquer des points.


Chercher la balle

La difficulté majeure de notre projet est ici. La balle que nous utilisons émet un rayonnement infrarouge en continu. Les buts, pour qu'ils soient détectés par le robot, émettent un signal qui est intermittent. C'est à partir de ça que le robot doit différencier la balle des buts.

Deux solutions furent proposées. Nous avons opté sur le changement de fréquence : Le rayonnement infrarouge se fait à une fréquence : elle peut être de 600 ou de 1200 Hz. Justement, le capteur infrarouge du robot peut être réglé pour recevoir plutôt du 600 Hz, ou du 1200 Hz. Nous utiliserons cette fonctionnalité pour distnguer la balle des buts.

Après avoir effectué des tests avec un autre groupe, nous avons trouvé que le robot détecte mieux les ondes sur le mode 600 Hz. C'est ce mode qui sera utilisé pour la balle. Nous demanderons donc aux constructeurs de buts de régler leur fréquence à 1200 HZ.


Lorsque le robot est en recherche de balle, il se placera en mode 600 Hz. Une fois la balle attrapée (condition vérifiée par l'activation du capteur ultrason), le robot passe en mode 1200 Hz pour les buts.

Attraper la balle / Lancer la balle

Le principe pour trouver la balle est de regarder la valeur de chaque capteur : le robot comprendra ou la balle peut se trouver. Son but est que le capteur central soit le seul à avoir une valeur significative (supérieur à une valeur précise). Une fois positionné face à la balle, il avance vers elle, tout en corrigeant sa trajectoire de manière à rester bien en face de celle-ci : son objectif est de l'attraper.


Une fois arrivé proche de la balle, (la valeur indiquée par le capteur est maximale), la pince s'abaisse grâce au servomoteur dédié. Si le capteur de contact sent une pression, alors la balle est bien emprisonnée et le robot continue son jeu. Sinon, il relève la pince et réessaie.

Le dispositif de tir consiste à ouvrir la pince avec une certaine vitesse. La bout arrière de notre mécanisme pousse la balle à la vitesse souhaitée, et celle-ci se dirige tout droit. Pour peu que le robot soit correctement dirigé, elle avance vers le but.

Après plusieurs test voilà la premiers résultats obtenus dans cette vidéo :[[Fichier:]]

Detecter les buts

Se replacer

Lorsque l'arbitre le lui ordonne, le robot se replace sur son garage. Il suit l'algorithme précisé dans la partie "Robot de compétition" du twiki.


Obéir à l'arbitre