RobotAttaque2013-2 : Différence entre versions

De Wiki de bureau d'études PeiP
(Le châssis)
(Système d'attrape et de lancer)
 
(52 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<include nopre noesc src="/home/pedago/ppeip/include/video-RobotAttaque2-2013-iframe.html" />
 +
__TOC__
 +
<br style="clear: both;">
 
= Introduction =
 
= Introduction =
  
 
Dans le cadre du bureau d'étude IMA, nous devons fabriquer un robot à l'aide de Lego Mindstorm. Il doit être capable de jouer une partie de foot. Nous avons décidé de confectionner un robot d'attaque. Le cahier des charges est très simple. Le robot doit être capable de jouer dans les limites du terrain, de pouvoir repérer la balle, l'attraper et tirer dans les buts qui ont été confectionnés par nos camarades. Nous avons donc une grande liberté pour sa réalisation.  
 
Dans le cadre du bureau d'étude IMA, nous devons fabriquer un robot à l'aide de Lego Mindstorm. Il doit être capable de jouer une partie de foot. Nous avons décidé de confectionner un robot d'attaque. Le cahier des charges est très simple. Le robot doit être capable de jouer dans les limites du terrain, de pouvoir repérer la balle, l'attraper et tirer dans les buts qui ont été confectionnés par nos camarades. Nous avons donc une grande liberté pour sa réalisation.  
  
Nous avons d'abord construit la base du robot en apportant une grande importance à sa stabilité. Puis nous avons ajouté et programmé les capteurs un par un. Cela a occasionné des modifications sur le robot car les capteurs doivent être placés à des endroits précis pour fonctionner correctement.
+
Nous avons d'abord construit la base du robot, puis nous avons ajouté et programmé les capteurs un par un. Cela a occasionné des modifications sur le robot car les capteurs doivent être placés à des endroits précis pour fonctionner correctement. Notre systéme d'attaque est assez imposant et occasionne des vibrations, c'est pourquoi, tout au long de notre conception, la stabilité de notre robot fut optimisée.
  
 
= Construction mécanique du robot=
 
= Construction mécanique du robot=
  
 
La construction du robot passe d'abord par la confection d'un châssis stable, d'un système d'attrape du robot, d'un système de lancer et enfin du choix et du positionnement des capteurs.
 
La construction du robot passe d'abord par la confection d'un châssis stable, d'un système d'attrape du robot, d'un système de lancer et enfin du choix et du positionnement des capteurs.
 +
Pour cela nous disposons de legos, des roues, des chenilles, de 3 servomoteur et de 3 capteurs : ultrasons, infrarouge, couleurs. Une fois le système d’attrape et de lancer prêt, il ne nous restait plus qu'à construire le robot et à placer les différents éléments, essentiels à la réalisation des différentes tâches.
 +
  
 
== Le châssis ==
 
== Le châssis ==
 
Après les premiers essais avec les roues, nous nous sommes aperçues que le robot avait tendance à glisser lors d'un demi-tour. Pour pallier à ce problème nous avons décidé d'utiliser des chenilles qui offrent une plus grande adhérence au sol.
 
Après les premiers essais avec les roues, nous nous sommes aperçues que le robot avait tendance à glisser lors d'un demi-tour. Pour pallier à ce problème nous avons décidé d'utiliser des chenilles qui offrent une plus grande adhérence au sol.
<gallery>
+
[[Fichier:chassis1.jpg|200px|thumb|left|châssis]]
Image:chassis1.jpg
+
[[Fichier:chassis2.jpg|350px|thumb|center|châssis]]
 
 
Image:chassis2.jpg
 
 
 
</gallery>
 
  
  
  
[[Fichier:chassis1.png|350px|thumb|left|châssis]]
+
==Système d'attrape et de lancer ==
 
 
== Système d'attrape et de lancer ==
 
 
Au regard de la taille et du poids de la balle, il faut un système ayant suffisamment de force pour la renvoyer correctement.
 
Au regard de la taille et du poids de la balle, il faut un système ayant suffisamment de force pour la renvoyer correctement.
 
Ne disposant que de servomoteurs avec une vitesse de rotation limité, nous avons décider de multiplier cette vitesse grâce à un système très connue en mécanique : les engrenages. Nous avons donc relié trois engrenages pour augmenter considérablement la force de frappe de notre robot.
 
Ne disposant que de servomoteurs avec une vitesse de rotation limité, nous avons décider de multiplier cette vitesse grâce à un système très connue en mécanique : les engrenages. Nous avons donc relié trois engrenages pour augmenter considérablement la force de frappe de notre robot.
Ligne 31 : Ligne 30 :
  
 
Dans le cahier des charges, il est demandé d'attraper la balle, de diriger le robot vers le but et ensuite de tirer. Nous avons donc réalisé une sorte d'entonnoir, dans lequel la balle viens se caler. Ensuite grâce à la force du signal de l'infrarouge, dès que la balle est calée, la pince fait un demi tour pour serrer la balle contre le robot. Pour tirer cette même pince tourne dans l'autre sens.
 
Dans le cahier des charges, il est demandé d'attraper la balle, de diriger le robot vers le but et ensuite de tirer. Nous avons donc réalisé une sorte d'entonnoir, dans lequel la balle viens se caler. Ensuite grâce à la force du signal de l'infrarouge, dès que la balle est calée, la pince fait un demi tour pour serrer la balle contre le robot. Pour tirer cette même pince tourne dans l'autre sens.
 
VIDEO
 
  
 
== Les capteurs==
 
== Les capteurs==
Ligne 38 : Ligne 35 :
 
=== Capteur Ultrasons ===
 
=== Capteur Ultrasons ===
  
Le premier capteur que l'on a mis en service était le capteur ultrason. Ce capteur permet d'envoyer des informations sur la distance qui le sépare des objets qui l'entour. Une fois installé sur le robot, il sert à éviter les obstacles (à savoir les autres robots sur le terrain). Nous avons décidé de la placer en hauteur et de choisir une distance minimale de 15cm pour laquelle il change de direction afin d'éviter l'obstacle grâce à des tests effectués par le NXT. En effet, la balle est vue elle même pour un obstacle. Il ne faut absolument pas qu'elle rentre dans le cercle de détection du capteur ultrason même quand elle est contre le robot.
+
[[Fichier:capteurultrason.jpg|200px|thumb|left|position capteur ultrasons]]Le premier capteur que l'on a mis en service était le capteur ultrason. Ce capteur permet d'envoyer des informations sur la distance qui le sépare des objets qui l'entour. Une fois installé sur le robot, il sert à éviter les obstacles (à savoir les autres robots sur le terrain). Nous avons décidé de la placer en hauteur et de choisir une distance minimale de 15cm pour laquelle il change de direction afin d'éviter l'obstacle grâce à des tests effectués par le NXT. En effet, la balle est vue elle même pour un obstacle. Il ne faut absolument pas qu'elle rentre dans le cercle de détection du capteur ultrason même quand elle est contre le robot.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
  
 
=== Capteur Infrarouge ===
 
=== Capteur Infrarouge ===
  
Le capteur infrarouge est le plus important. Il a deux fonctions. Premièrement il divise l'espace qui l'entour en 9 zones. Il est capable de repérer dans quel zone est la balle qui émet des signaux. Deuxièmement il est capable de mesurer l'intensité de ces signaux et donc de savoir à quel distance se trouve la balle. En associant chaque zone à un mouvement, nous avons pu faire en sorte que le robot se dirige vers la balle. Ensuite pour une valeur de l'intensité que nous avons fixé, le robot "attrape" la balle. Nous avons dû faire de nombreux tests pour évaluer cette intensité étant donné que le capteur ultrason n'est pas répertorié dans le NXT. Nous avons placé le capteur ultrason au milieu du robot de sorte à ce qu'il avance droit sur la balle.
+
[[Fichier:capteurinfrarouge.jpg|150px|thumb|left|position capteur ultrasons]]Le capteur infrarouge est le plus important. Il a deux fonctions. Premièrement il divise l'espace qui l'entour en 9 zones. Il est capable de repérer dans quel zone est la balle qui émet des signaux. Deuxièmement il est capable de mesurer l'intensité de ces signaux et donc de savoir à quel distance se trouve la balle. En associant chaque zone à un mouvement, nous avons pu faire en sorte que le robot se dirige vers la balle. Ensuite pour une valeur de l'intensité que nous avons fixé, le robot "attrape" la balle. Nous avons dû faire de nombreux tests pour évaluer cette intensité étant donné que le capteur ultrason n'est pas répertorié dans le NXT. Nous avons placé le capteur ultrason au milieu du robot de sorte à ce qu'il avance droit sur la balle.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
  
 
=== Capteur Couleur ===
 
=== Capteur Couleur ===
  
Nous avons mis en place ce capteur afin que le robot puisse repérer les lignes du terrain. En effet le capteur est capable de déterminer les couleurs au sol. La grande difficulté est son positionnement sur le robot. Il faut que le capteur soit à une distance très précise du sol pour qu'il capte les bonnes couleurs et surtout qu'il ne soit pas parasité par les ombres que le châssis du robot est susceptible de faire. Nous avons donc fait des tests à l'aide du NXT. Le capteur qui était initialement placé au centre du châssis a été mis sur une des branches qui forment "l'entonnoir".  Le terrain est gris foncé (capté comme noir par le capteur) et les lignes qui forment la limite du terrain sont bleus. Nous avons donc programmé le robot pour qu'il effectue ses actions sauf dans le cas ou il capte du bleu au quel cas il recule en effectuant une petite rotation.
+
[[Fichier:capteurcouleur.jpg|200px|thumb|left|position capteur ultrasons]] Nous avons mis en place ce capteur afin que le robot puisse repérer les lignes du terrain. En effet le capteur est capable de déterminer les couleurs au sol. La grande difficulté est son positionnement sur le robot. Il faut que le capteur soit à une distance très précise du sol pour qu'il capte les bonnes couleurs et surtout qu'il ne soit pas parasité par les ombres que le châssis du robot est susceptible de faire. Nous avons donc fait des tests à l'aide du NXT. Le capteur qui était initialement placé au centre du châssis a été mis sur une des branches qui forment "l'entonnoir".  Le terrain est gris foncé (capté comme noir par le capteur) et les lignes qui forment la limite du terrain sont bleus. Nous avons donc programmé le robot pour qu'il effectue ses actions sauf dans le cas ou il capte du bleu au quel cas il recule en effectuant une petite rotation.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
  
 
== Robot final ==
 
== Robot final ==
 
+
 
Suite a différents test, notre robot à évolué peu a peu dans sa conception. En effet il a fallu s’adapter aux différentes caractéristiques des capteurs, mais aussi prendre en compte les vibrations occasionnées par le système de frappe. C'est pourquoi nous avons renforcer dans son intégralité la partie centrale.
 
Suite a différents test, notre robot à évolué peu a peu dans sa conception. En effet il a fallu s’adapter aux différentes caractéristiques des capteurs, mais aussi prendre en compte les vibrations occasionnées par le système de frappe. C'est pourquoi nous avons renforcer dans son intégralité la partie centrale.
  
[[Fichier:Robotfinal.png|500px|thumb|midlle|Robot final]]
+
[[Fichier:Robotfinal.png|500px|thumb|center|Robot final]]
  
= Test fonctionnel=
 
== Déplacements==
 
== Detections de lignes==
 
== Détection Infrarouges ==
 
 
= Programmation=
 
= Programmation=
== Prise en main==
+
 
=== Programme test ===
+
==Programmation capteur ultrason==
 +
 
 +
[[Fichier:Ultrasons.png|800px|thumb|center|]]
 +
=== Mouvement du robot===
 +
 
 +
[[Fichier:Infrarouge_direction.png|800px|thumb|center|]]
 +
==Programmation capteur couleur==
 +
 
 +
[[Fichier:Couleur.png|800px|thumb|center|]]
 +
 
 +
==Programmation capteur infrarouge==
 +
=== Puissance de réception du signal===
 +
[[Fichier:Infrarouge_puissance_21.png|800px|thumb|center|Pose d'une variable]]
 +
[[Fichier:Infrarouge_puissance_32.png|800px|thumb|center|Comparaison entre la variable et la valeur reçue par le capteur infrarouge]]
 +
[[Fichier:Infrarouge_puissance_11.png|800px|thumb|center|]]
 +
 
 +
== Programmation du lancer de la balle==
 +
[[Fichier:Actions_de_Shoot.jpg|800px|thumb|center|]]
 +
 
 +
= Conclusion =
 +
 
 +
Pour ce bureau d'étude, nous avons choisie de réaliser un robot d'attaque. La conception de ce projet s'est déroulée en trois étapes.
 +
Tout d'abord, la construction d'un point de vue mécanique. Nous avons essuyé quelques problèmes dues à la stabilité et au poids. Ensuite, nous avons choisi les différents capteurs que nous avions besoin d'utiliser pour programmer le robot. Nous avons du effectuer beaucoup de modifications, car chaque capteur doit avoir une position bien définie et ne pas rentrer en interaction avec des paramètres qui ne les concernent pas. Et enfin, nous sommes passés à la programmation. C'est la partie que nous appréhendions le plus, mais grâce au logiciel Lego Mindstorms, simple et efficace, nous avons su comprendre et apprendre.
 +
Au final, notre robot est capable de réaliser toutes les taches imposées dans le cahier des charges, sauf une, il ne différencie pas l'infrarouge du but et celui de la balle.
 +
Ce projet nous a permis d'avoir une première approche de ce que pourrait être le département IMA et nous avons été très agréablement surpris par cet univers qui pouvait nous freiner auparavant.

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


Vidéo HD


Introduction

Dans le cadre du bureau d'étude IMA, nous devons fabriquer un robot à l'aide de Lego Mindstorm. Il doit être capable de jouer une partie de foot. Nous avons décidé de confectionner un robot d'attaque. Le cahier des charges est très simple. Le robot doit être capable de jouer dans les limites du terrain, de pouvoir repérer la balle, l'attraper et tirer dans les buts qui ont été confectionnés par nos camarades. Nous avons donc une grande liberté pour sa réalisation.

Nous avons d'abord construit la base du robot, puis nous avons ajouté et programmé les capteurs un par un. Cela a occasionné des modifications sur le robot car les capteurs doivent être placés à des endroits précis pour fonctionner correctement. Notre systéme d'attaque est assez imposant et occasionne des vibrations, c'est pourquoi, tout au long de notre conception, la stabilité de notre robot fut optimisée.

Construction mécanique du robot

La construction du robot passe d'abord par la confection d'un châssis stable, d'un système d'attrape du robot, d'un système de lancer et enfin du choix et du positionnement des capteurs. Pour cela nous disposons de legos, des roues, des chenilles, de 3 servomoteur et de 3 capteurs : ultrasons, infrarouge, couleurs. Une fois le système d’attrape et de lancer prêt, il ne nous restait plus qu'à construire le robot et à placer les différents éléments, essentiels à la réalisation des différentes tâches.


Le châssis

Après les premiers essais avec les roues, nous nous sommes aperçues que le robot avait tendance à glisser lors d'un demi-tour. Pour pallier à ce problème nous avons décidé d'utiliser des chenilles qui offrent une plus grande adhérence au sol.

châssis
châssis


Système d'attrape et de lancer

Au regard de la taille et du poids de la balle, il faut un système ayant suffisamment de force pour la renvoyer correctement. Ne disposant que de servomoteurs avec une vitesse de rotation limité, nous avons décider de multiplier cette vitesse grâce à un système très connue en mécanique : les engrenages. Nous avons donc relié trois engrenages pour augmenter considérablement la force de frappe de notre robot. Ce système a permis de multiplier par trois la vitesse de rotation du servomoteur.

Le système de lancer réalisé, il nous faut maintenant un système d'attrape. Étant donné que nous ne disposons que de trois servomoteurs il faut que ce système soit non-articulé, ou directement lié au système de lancer. Pour cela, une solution simple est possible : utiliser la pince existante pour attraper la balle.

Dans le cahier des charges, il est demandé d'attraper la balle, de diriger le robot vers le but et ensuite de tirer. Nous avons donc réalisé une sorte d'entonnoir, dans lequel la balle viens se caler. Ensuite grâce à la force du signal de l'infrarouge, dès que la balle est calée, la pince fait un demi tour pour serrer la balle contre le robot. Pour tirer cette même pince tourne dans l'autre sens.

Les capteurs

Capteur Ultrasons

position capteur ultrasons
Le premier capteur que l'on a mis en service était le capteur ultrason. Ce capteur permet d'envoyer des informations sur la distance qui le sépare des objets qui l'entour. Une fois installé sur le robot, il sert à éviter les obstacles (à savoir les autres robots sur le terrain). Nous avons décidé de la placer en hauteur et de choisir une distance minimale de 15cm pour laquelle il change de direction afin d'éviter l'obstacle grâce à des tests effectués par le NXT. En effet, la balle est vue elle même pour un obstacle. Il ne faut absolument pas qu'elle rentre dans le cercle de détection du capteur ultrason même quand elle est contre le robot.






Capteur Infrarouge

position capteur ultrasons
Le capteur infrarouge est le plus important. Il a deux fonctions. Premièrement il divise l'espace qui l'entour en 9 zones. Il est capable de repérer dans quel zone est la balle qui émet des signaux. Deuxièmement il est capable de mesurer l'intensité de ces signaux et donc de savoir à quel distance se trouve la balle. En associant chaque zone à un mouvement, nous avons pu faire en sorte que le robot se dirige vers la balle. Ensuite pour une valeur de l'intensité que nous avons fixé, le robot "attrape" la balle. Nous avons dû faire de nombreux tests pour évaluer cette intensité étant donné que le capteur ultrason n'est pas répertorié dans le NXT. Nous avons placé le capteur ultrason au milieu du robot de sorte à ce qu'il avance droit sur la balle.







Capteur Couleur

position capteur ultrasons
Nous avons mis en place ce capteur afin que le robot puisse repérer les lignes du terrain. En effet le capteur est capable de déterminer les couleurs au sol. La grande difficulté est son positionnement sur le robot. Il faut que le capteur soit à une distance très précise du sol pour qu'il capte les bonnes couleurs et surtout qu'il ne soit pas parasité par les ombres que le châssis du robot est susceptible de faire. Nous avons donc fait des tests à l'aide du NXT. Le capteur qui était initialement placé au centre du châssis a été mis sur une des branches qui forment "l'entonnoir". Le terrain est gris foncé (capté comme noir par le capteur) et les lignes qui forment la limite du terrain sont bleus. Nous avons donc programmé le robot pour qu'il effectue ses actions sauf dans le cas ou il capte du bleu au quel cas il recule en effectuant une petite rotation.









Robot final

Suite a différents test, notre robot à évolué peu a peu dans sa conception. En effet il a fallu s’adapter aux différentes caractéristiques des capteurs, mais aussi prendre en compte les vibrations occasionnées par le système de frappe. C'est pourquoi nous avons renforcer dans son intégralité la partie centrale.

Robot final

Programmation

Programmation capteur ultrason

Ultrasons.png

Mouvement du robot

Infrarouge direction.png

Programmation capteur couleur

Couleur.png

Programmation capteur infrarouge

Puissance de réception du signal

Pose d'une variable
Comparaison entre la variable et la valeur reçue par le capteur infrarouge
Infrarouge puissance 11.png

Programmation du lancer de la balle

Actions de Shoot.jpg

Conclusion

Pour ce bureau d'étude, nous avons choisie de réaliser un robot d'attaque. La conception de ce projet s'est déroulée en trois étapes. Tout d'abord, la construction d'un point de vue mécanique. Nous avons essuyé quelques problèmes dues à la stabilité et au poids. Ensuite, nous avons choisi les différents capteurs que nous avions besoin d'utiliser pour programmer le robot. Nous avons du effectuer beaucoup de modifications, car chaque capteur doit avoir une position bien définie et ne pas rentrer en interaction avec des paramètres qui ne les concernent pas. Et enfin, nous sommes passés à la programmation. C'est la partie que nous appréhendions le plus, mais grâce au logiciel Lego Mindstorms, simple et efficace, nous avons su comprendre et apprendre. Au final, notre robot est capable de réaliser toutes les taches imposées dans le cahier des charges, sauf une, il ne différencie pas l'infrarouge du but et celui de la balle. Ce projet nous a permis d'avoir une première approche de ce que pourrait être le département IMA et nous avons été très agréablement surpris par cet univers qui pouvait nous freiner auparavant.