RobotAttaque2013-3 : Différence entre versions
(→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 | + | *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 | + | 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 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 | + | 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 | + | 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, | + | 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 | + | 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 | + | 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 ==== | ||
− | 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. | + | 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]] </ | + | [[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
Sommaire
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
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.
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.
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.
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
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.