RobotAttaque2013-3 : Différence entre versions

De Wiki de bureau d'études PeiP
(Le capteur infrarouge)
(Le déplacement et le tir)
 
(55 révisions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<include nopre noesc src="/home/pedago/ppeip/include/video-RobotAttaque3-2013-iframe.html" />
 +
__TOC__
 +
<br style="clear: both;">
 
== Introduction ==
 
== Introduction ==
 
Dans le cadre du bureau d'étude IMA, le projet qui nous a été confié consiste en la réalisation d'un robot capable de jouer au football à partir du kit Lego Mindstorms.  
 
Dans le cadre du bureau d'étude IMA, le projet qui nous a été confié consiste en la réalisation d'un robot capable de jouer au football à partir du kit Lego Mindstorms.  
Ligne 5 : Ligne 8 :
 
Le robot à réaliser doit être capable de :
 
Le robot à réaliser doit être capable de :
 
*se diriger vers la balle qui diffuse des rayons infrarouges en utilisant un capteur infrarouge
 
*se diriger vers la balle qui diffuse des rayons infrarouges en utilisant un capteur infrarouge
*contrôler la balle avec l'aide d'un grapin
+
*contrôler la balle  
 
*propulser la balle vers le but
 
*propulser la balle vers le but
  
 
== Réalisation du robot ==
 
== Réalisation du robot ==
 +
[[Fichier:2014_-_4.jpg|thumb|250px]]
 
=== Le châssis ===
 
=== Le châssis ===
Nous avons tenté de réaliser un châssis léger optimisé pour les composants(moteurs, capteurs, boîtier NXT) de manière optimale, tout en offrant un design novateur et élégant.
+
Nous avons tenté de réaliser un châssis léger intégrant les composants(moteurs, capteurs, boîtier NXT) de manière optimale, tout en offrant un design novateur et élégant.
 +
[[Fichier:2014 - 1.jpg|thumb|left|200px]]
 +
 
 +
=== Le captage et la propulsion ===
 +
 
 +
Pour capter la balle, on utilise un grappin d'axe horizontal, actionné par un moteur indépendant, qui monte la balle sur un pan incliné à l'avant du robot. Le grappin aide ainsi a stocker la balle, la maintenant en haut de la pente. L'avantage de ce système est qu'il sert aussi de propulseur, il suffit lorsque la balle est stockée de relâcher brutalement le grappin pour que la balle roule d'elle même avec une vitesse suffisante. La direction du tir est gérée par rotation du robot.
  
=== le captage et la propulsion ===
 
Pour capter la balle, on utilise un grappin d'axe horizontal, actionné par un moteur indépendant, qui monte la balle sur un pan incliné à l'avant du robot.Le grappin aide ainsi a stocker la balle. L'avantage de ce système est qu'il sert aussi de propulseur, il suffit lorsque la balle est stockée de relâcher brutalement le grappin pour que la balle roule d'elle même, avec une vitesse suffisante.
 
  
 
=== Le déplacement ===
 
=== Le déplacement ===
On a décidé d'utiliser un système de déplacement à deux roues, idéal pour tourner sur place. Le robot est en équilibre arrière et repose sur des barres plastique qui ont une texture lisse et ne frottent presque pas avec le sol. Chaque roue est contrôlée par un moteur indépendant.
+
On a décidé d'utiliser un système de déplacement à deux roues, idéal pour tourner sur place. Le robot est en équilibre arrière et repose sur des barres plastique qui ont une texture lisse et ne frottent presque pas sur le sol. Chaque roue est contrôlée par un moteur indépendant.
  
 
=== Les capteurs ===
 
=== Les capteurs ===
Le robot est équipé d'un capteur d'ultrasons, d'un capteur à infrarouge, d'un capteur tactile et d'un capteur de couleurs.
+
Le robot est équipé d'un capteur à ultrasons, d'un capteur infrarouge, d'un capteur tactile et d'une boussole.
Nous avons rencontré quelques difficultés pour la mise en place des capteurs sur notre robot, dues au grappin qui prend une grande place à l'avant du robot. C'est pour ces raisons que le capteur ultrasons est décentré et que le capteur de couleurs se trouve à l'arrière du robot.
+
Nous avons rencontré quelques difficultés pour la mise en place des capteurs sur notre robot, notamment pour le capteur infrarouge qui avait certains angles masqués par certaines parties du robot et provoquait des disfonctionnements.
  
 
== Test des fonctionnalités de base ==
 
== Test des fonctionnalités de base ==
 
=== Le mouvement ===
 
=== Le mouvement ===
Les premiers test que nous avons effectué concerne le déplacement du robot. Nous avons vérifié si il était capable de se déplacer en ligne droite, en courbe et de tourner sur lui même. Ce test avait également pour but de confirmer ou d'infirmer notre choix d'utiliser seulement deux roues pour notre déplacement. Ces test ont été positifs, le robot est stable et réactif; les deux roues sont très efficaces pour que le robot tourne sur lui-même.
+
Les premiers test que nous avons effectués concernent le déplacement du robot. Nous avons vérifié si il était capable de se déplacer en ligne droite, en courbe et de tourner sur lui même. Ce test avait également pour but de confirmer ou d'infirmer notre choix d'utiliser seulement deux roues pour notre déplacement. Ces test ont été positifs, le robot est stable et réactif; les deux roues sont très efficaces pour que le robot tourne sur lui-même.
  
 
=== Le grappin ===
 
=== Le grappin ===
Nous avons ensuite vérifié que notre grappin pouvait agripper la balle et la monter sur notre pan incliné correctement. Les simples branches du grappin, longues et légères par rapport à la balle manquaient de puissance pour effectuer son action de manière efficace. Nous avons alors décidé d'utiliser un engrenage pour décupler le couple du moteur et augmenter la puissance et la vitesse du grappin. Cette méthode a amélioré la fonctionnalité du grappin, et a confirmé notre choix.
+
Nous avons ensuite vérifié que notre grappin pouvait agripper la balle et la monter sur notre pan incliné correctement. Les simples branches du grappin, longues et légères par rapport à la balle manquaient de puissance pour effectuer son action de manière efficace. Nous avons alors décidé d'utiliser un engrenage pour décupler le couple du moteur et augmenter la puissance du grappin au détriment de sa vitesse. Cette méthode a amélioré la fonctionnalité du grappin, et a confirmé notre choix.
  
=== Test des capteurs ===
+
=== Les capteurs ===
 
==== Le capteur infrarouge ====
 
==== Le capteur infrarouge ====
Le capteur infrarouge sert à situer la balle afin de se déplacer vers elle. La balle est située de manière polaire, car le capteur détecte l'angle de la balle avec la normale ainsi que la puissance du signal perçu, proportionnel à la distance. </br>
+
Le capteur infrarouge sert à situer la balle afin de se déplacer vers elle. La balle est située de manière polaire, car le capteur détecte l'angle de la balle avec la normale ainsi que la puissance du signal perçu, proportionnel à la distance.
[[Fichier:iRSeeker_Diag2.jpg.jpg|200px|thumb|left]] </br>
+
[[Fichier:iRSeeker_Diag2.jpg.jpg|200px|thumb|left]] <br />
 +
 
 
Il a donc fallu créer un programme qui pourrait lier directement l'angle perçu par le capteur infrarouge à la puissance des deux moteurs des roues. Après plusieurs test plus ou moins fructueux, nous nous sommes aperçus que cette fonctionnalité était directement implantée dans le logiciel lego mindstorm.
 
Il a donc fallu créer un programme qui pourrait lier directement l'angle perçu par le capteur infrarouge à la puissance des deux moteurs des roues. Après plusieurs test plus ou moins fructueux, nous nous sommes aperçus que cette fonctionnalité était directement implantée dans le logiciel lego mindstorm.
[[Fichier:Test1.png]]
+
Grâce à ce programme très simple, le robot est dors et déjà capable de suivre la balle de manière fiable.
 +
 
 +
[[Fichier:Test1.png]]<br />
 +
 
 +
Après plusieurs test, nous nous sommes rendu compte que le capteur infrarouge ne captait plus la balle sous certains angles, car le signal était obstrué par des parties du robot. Nous avons donc placé le capteur infra-rouge plus haut, résolvant le problème mais en créant un nouveau: lorsque la balle est aux pieds du robot, elle n'est pas détectée par le capteur. Il faudrait donc trouver un autre moyen de déterminer la distance avec la balle lorsqu'elle est trop proche pour être captée par le capteur infrarouge.
 +
 
 +
Nous avons d'abord essayé de contrôler le grappin avec la puissance infrarouge perçue, c'est à dire de fermer le grappin lorsque la balle est proche de l'avant du robot, mais cela manquait de précision et nous avons opté pour un capteur ultrasons pour cette fonctionnalité.
 +
 
 +
==== Le capteur tactile ====
 +
On utilise un capteur tactile pour vérifier que le grappin est parvenu à capter la balle. Ce capteur est placé derrière le capteur ultrasons, un bon moyen de centrer les deux capteurs:
 +
Lorsque la balle est en haut de la pente, elle appuie sur le capteur ultrasons qui appuie lui-même sur le capteur tactile par glissement. Lorsque la balle est renvoyée le capteur tactile agit comme un ressort faisant revenir le capteur ultrasons à sa position d'origine. Ce système permet de faire savoir au robot si il a ou non capté correctement la balle: Si le capteur tactile est enfoncé, le robot lance alors sa phase de tir. Sinon, le programme se relancera au début.
 +
 
 +
==== Le capteur à ultrasons ====
 +
Le capteur ultrasons nous sert uniquement à fermer le grappin lorsque la balle est suffisamment proche. Pour cela, le programme de captage active l'abaissement du grappin lorsque la puissance reçue par le capteur dépasse une certaine valeur. Ce système a démontré sa fiabilité contrairement au même système via le capteur infrarouge.
 +
 
 +
=== La boussole ===
 +
Le robot est équipé d'une boussole pour pouvoir différentier les deux buts: le programme retient la valeur initiale perçue par la boussole pour reprendre la même direction lors du tir.
 +
 
 +
== Le programme ==
 +
[[Fichier:Programme entier.png|thumb|néant|1100px]]
 +
 
 +
Le programme de fonctionnement du robot est divisé en deux programmes fonctionnant de manière parallèle: l'un pour fermer le grappin, l'autre pour gérer le déplacement et le tir.
 +
 
 +
=== Le contrôle ===
 +
 
 +
Le programme du haut vise uniquement à contrôler le grappin: Une boucle mesure la distance avec la balle mesurée par le capteur à ultrasons et ferme le grappin lorsque la balle est à une distance optimale, en face du robot. Ensuite, le programme vérifie que la balle soit bien montée sur la pente : si le capteur tactile est enfoncé, c'est que la balle est contrôlée, il stoppe donc la boucle. Si le capteur tactile n'est pas enfoncé, c'est que le robot a raté sa tentative et capter la balle et relance cette boucle au début, en relevant le grappin.
 +
 
 +
=== Le déplacement et le tir ===
 +
 
 +
Ce programme est composé tout d'abord d'une boucle comprenant le suivi de la balle par l'angle perçu par le capteur infrarouge. Cette boucle, comme celle du grappin, s'arrête lorsque le capteur tactile est enfoncé.
 +
Elle laisse alors place au programme de tir: le robot se tourne dans la direction approximative du but grâce à la boussole et avance en levant le grappin, pour avoir une puissance de tir maximale.
 +
 
 +
Nous n'avons pas pu mettre en place le système de visée du but car les émetteurs d'infrarouges des buts n'ont été utilisables que lors de la dernière séance, et nous manquons de temps pour cette une nouvelle phase d'expérimentation.
 +
 
 +
== Conclusion ==
 +
Le robot est maintenant fonctionnel. La réalisation de ce robot a demandé plusieurs phases d'expérimentation, mais les difficultés rencontrées ont été résolues.

Version actuelle datée du 22 mai 2014 à 11:25


Vidéo HD


Introduction

Dans le cadre du bureau d'étude IMA, le projet qui nous a été confié consiste en la réalisation d'un robot capable de jouer au football à partir du kit Lego Mindstorms.

Projet

Le robot à réaliser doit être capable de :

  • se diriger vers la balle qui diffuse des rayons infrarouges en utilisant un capteur infrarouge
  • contrôler la balle
  • propulser la balle vers le but

Réalisation du robot

2014 - 4.jpg

Le châssis

Nous avons tenté de réaliser un châssis léger intégrant les composants(moteurs, capteurs, boîtier NXT) de manière optimale, tout en offrant un design novateur et élégant.

2014 - 1.jpg

Le captage et la propulsion

Pour capter la balle, on utilise un grappin d'axe horizontal, actionné par un moteur indépendant, qui monte la balle sur un pan incliné à l'avant du robot. Le grappin aide ainsi a stocker la balle, la maintenant en haut de la pente. L'avantage de ce système est qu'il sert aussi de propulseur, il suffit lorsque la balle est stockée de relâcher brutalement le grappin pour que la balle roule d'elle même avec une vitesse suffisante. La direction du tir est gérée par rotation du robot.


Le déplacement

On a décidé d'utiliser un système de déplacement à deux roues, idéal pour tourner sur place. Le robot est en équilibre arrière et repose sur des barres plastique qui ont une texture lisse et ne frottent presque pas sur le sol. Chaque roue est contrôlée par un moteur indépendant.

Les capteurs

Le robot est équipé d'un capteur à ultrasons, d'un capteur infrarouge, d'un capteur tactile et d'une boussole. Nous avons rencontré quelques difficultés pour la mise en place des capteurs sur notre robot, notamment pour le capteur infrarouge qui avait certains angles masqués par certaines parties du robot et provoquait des disfonctionnements.

Test des fonctionnalités de base

Le mouvement

Les premiers test que nous avons effectués concernent le déplacement du robot. Nous avons vérifié si il était capable de se déplacer en ligne droite, en courbe et de tourner sur lui même. Ce test avait également pour but de confirmer ou d'infirmer notre choix d'utiliser seulement deux roues pour notre déplacement. Ces test ont été positifs, le robot est stable et réactif; les deux roues sont très efficaces pour que le robot tourne sur lui-même.

Le grappin

Nous avons ensuite vérifié que notre grappin pouvait agripper la balle et la monter sur notre pan incliné correctement. Les simples branches du grappin, longues et légères par rapport à la balle manquaient de puissance pour effectuer son action de manière efficace. Nous avons alors décidé d'utiliser un engrenage pour décupler le couple du moteur et augmenter la puissance du grappin au détriment de sa vitesse. Cette méthode a amélioré la fonctionnalité du grappin, et a confirmé notre choix.

Les capteurs

Le capteur infrarouge

Le capteur infrarouge sert à situer la balle afin de se déplacer vers elle. La balle est située de manière polaire, car le capteur détecte l'angle de la balle avec la normale ainsi que la puissance du signal perçu, proportionnel à la distance.

IRSeeker Diag2.jpg.jpg

Il a donc fallu créer un programme qui pourrait lier directement l'angle perçu par le capteur infrarouge à la puissance des deux moteurs des roues. Après plusieurs test plus ou moins fructueux, nous nous sommes aperçus que cette fonctionnalité était directement implantée dans le logiciel lego mindstorm. Grâce à ce programme très simple, le robot est dors et déjà capable de suivre la balle de manière fiable.

Test1.png

Après plusieurs test, nous nous sommes rendu compte que le capteur infrarouge ne captait plus la balle sous certains angles, car le signal était obstrué par des parties du robot. Nous avons donc placé le capteur infra-rouge plus haut, résolvant le problème mais en créant un nouveau: lorsque la balle est aux pieds du robot, elle n'est pas détectée par le capteur. Il faudrait donc trouver un autre moyen de déterminer la distance avec la balle lorsqu'elle est trop proche pour être captée par le capteur infrarouge.

Nous avons d'abord essayé de contrôler le grappin avec la puissance infrarouge perçue, c'est à dire de fermer le grappin lorsque la balle est proche de l'avant du robot, mais cela manquait de précision et nous avons opté pour un capteur ultrasons pour cette fonctionnalité.

Le capteur tactile

On utilise un capteur tactile pour vérifier que le grappin est parvenu à capter la balle. Ce capteur est placé derrière le capteur ultrasons, un bon moyen de centrer les deux capteurs: Lorsque la balle est en haut de la pente, elle appuie sur le capteur ultrasons qui appuie lui-même sur le capteur tactile par glissement. Lorsque la balle est renvoyée le capteur tactile agit comme un ressort faisant revenir le capteur ultrasons à sa position d'origine. Ce système permet de faire savoir au robot si il a ou non capté correctement la balle: Si le capteur tactile est enfoncé, le robot lance alors sa phase de tir. Sinon, le programme se relancera au début.

Le capteur à ultrasons

Le capteur ultrasons nous sert uniquement à fermer le grappin lorsque la balle est suffisamment proche. Pour cela, le programme de captage active l'abaissement du grappin lorsque la puissance reçue par le capteur dépasse une certaine valeur. Ce système a démontré sa fiabilité contrairement au même système via le capteur infrarouge.

La boussole

Le robot est équipé d'une boussole pour pouvoir différentier les deux buts: le programme retient la valeur initiale perçue par la boussole pour reprendre la même direction lors du tir.

Le programme

Programme entier.png

Le programme de fonctionnement du robot est divisé en deux programmes fonctionnant de manière parallèle: l'un pour fermer le grappin, l'autre pour gérer le déplacement et le tir.

Le contrôle

Le programme du haut vise uniquement à contrôler le grappin: Une boucle mesure la distance avec la balle mesurée par le capteur à ultrasons et ferme le grappin lorsque la balle est à une distance optimale, en face du robot. Ensuite, le programme vérifie que la balle soit bien montée sur la pente : si le capteur tactile est enfoncé, c'est que la balle est contrôlée, il stoppe donc la boucle. Si le capteur tactile n'est pas enfoncé, c'est que le robot a raté sa tentative et capter la balle et relance cette boucle au début, en relevant le grappin.

Le déplacement et le tir

Ce programme est composé tout d'abord d'une boucle comprenant le suivi de la balle par l'angle perçu par le capteur infrarouge. Cette boucle, comme celle du grappin, s'arrête lorsque le capteur tactile est enfoncé. Elle laisse alors place au programme de tir: le robot se tourne dans la direction approximative du but grâce à la boussole et avance en levant le grappin, pour avoir une puissance de tir maximale.

Nous n'avons pas pu mettre en place le système de visée du but car les émetteurs d'infrarouges des buts n'ont été utilisables que lors de la dernière séance, et nous manquons de temps pour cette une nouvelle phase d'expérimentation.

Conclusion

Le robot est maintenant fonctionnel. La réalisation de ce robot a demandé plusieurs phases d'expérimentation, mais les difficultés rencontrées ont été résolues.