Teleguide2013-3 : Différence entre versions
(→Construction du robot) |
(→Durée de fonctionnement) |
||
(41 révisions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | |||
== '''Introduction''' == | == '''Introduction''' == | ||
− | + | <include nopre noesc src="/home/pedago/ppeip/include/video-RobotTéléguidé3-2013-iframe.html" /> | |
---- | ---- | ||
Ligne 18 : | Ligne 17 : | ||
Tout d'abord, nous expliquerons la construction du robot. Ensuite, nous verrons le radio-guidage par Bluetooth. Pour finir, nous nous intéresserons au radio-guidage par wi-fi. | Tout d'abord, nous expliquerons la construction du robot. Ensuite, nous verrons le radio-guidage par Bluetooth. Pour finir, nous nous intéresserons au radio-guidage par wi-fi. | ||
+ | <br style="clear: both;"> | ||
+ | ==''' Construction du robot''' == | ||
+ | ---- | ||
− | |||
− | |||
'''I.Le Châssis''' | '''I.Le Châssis''' | ||
− | Pour commencer, nous avons construit un châssis à trois roues. Cependant, lorsque le robot effectuait des rotations, les forces de frottements étaient trop importantes sur la roue arrière. Nous sommes donc passé sur un système à quatre roues, comme une voiture classique. Toutefois un nouveau problème est apparu. En effet, lorsque l'on a installé la foxboard, webcam, module Bluetooth et le boitier de piles, le centre de gravité du robot était trop situé vers l’arrière du véhicule | + | Pour commencer, nous avons construit un châssis à trois roues. Cependant, lorsque le robot effectuait des rotations, les forces de frottements étaient trop importantes sur la roue arrière. Nous sommes donc passé sur un système à quatre roues, comme une voiture classique. Toutefois un nouveau problème est apparu. En effet, lorsque l'on a installé la foxboard, webcam, module Bluetooth et le boitier de piles, le centre de gravité du robot était trop situé vers l’arrière du véhicule ce qui le déséquilibrais . |
− | Pour résoudre se problème on a choisi d'utiliser des chenilles . Notre robot est composé de deux moteurs qui permettent de faire avancer le véhicule et d'un troisième pour tirer dans une balle . | + | Pour résoudre se problème on a choisi d'utiliser des chenilles . |
+ | Notre robot est composé de deux moteurs qui permettent de faire avancer le véhicule et d'un troisième pour tirer dans une balle . | ||
+ | |||
+ | [[Fichier:SJchassis.png|thumb|150px|center|châssis]] | ||
+ | |||
− | |||
'''II.Améliorations''' | '''II.Améliorations''' | ||
Une fois le véhicule terminé, nous avions des problèmes d'ergonomie pour placer la caméra et le hub usb . | Une fois le véhicule terminé, nous avions des problèmes d'ergonomie pour placer la caméra et le hub usb . | ||
− | Il fallait donc réussir à trouver des endroits stratégiques pour bien les positionner . La meilleure solution que nous avons trouvé est de placer deux supports de chaque coté du mindstorm . | + | Il fallait donc réussir à trouver des endroits stratégiques pour bien les positionner . La meilleure solution que nous avons trouvé est de placer deux supports de chaque coté du mindstorm . |
+ | |||
+ | [[Fichier:Plateforme1.png|thumb|150px|left|Plateforme caméra]][[Fichier:Plateforme2.png|thumb|150px|right|Plateforme Hub]] | ||
+ | [[Fichier:Platbis1.png|thumb|200px|right|Plateforme Hub]] | ||
+ | [[Fichier:Platbis2.png|thumb|100px|left|Plateforme caméra]] | ||
+ | |||
+ | |||
+ | |||
− | |||
− | |||
− | |||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Ensuite nous avons penser au système de tir, un système puissant, simple et petit. Pour notre véhicule, un système de rouages était le plus adéquate. Celui-ci est composé de trois engrenages de tailles différentes (du plus grand au plus petit), sur le dernier est attaché une barre qui permet de tirer. | ||
+ | [[Fichier:Systeme de tir.jpg|thumb|100px|center|système de tir]] | ||
+ | |||
+ | |||
+ | Pour notre dernière amélioration, on a décidé de s'inspirer des vrais voitures, et c'est pourquoi on a fabriqué un système de sécurité. En effet, certains mouvements du robot entraînaient la chute du boitier Mindstorm, donc on a fabriqué une barre de sécurité, que voici ci-dessous. | ||
+ | [[Fichier:Barre de sécurite.jpg|thumb|100px|center|Barre de sécurité]] | ||
+ | |||
+ | == '''Fonctionnnement''' == | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | |||
+ | '''I.Principe de fonctionnement''' | ||
+ | |||
+ | |||
+ | L'objectif de notre robot est de pouvoir être controler a distance. Pour ce faire, on dispose de plusieurs outils de communication sans fil comme le Wi-Fi ou encore le bluetooth. Il faut donc savoir que les ordres sont transmis suivant trois étapes. Tout d'abord le contact est établi grâce au Wi-Fi qui permet de se connecter à l'interface de la foxboard. Pour ce faire, il est nécessaire d'installer une clé Wi-Fi sur la foxboard car elle ne possède pas de Wi-Fi intégrer. Ensuite, l'utilisateur saisi une information sur l'interface web et la foxboard envoie les instructinos au boitier Mindstorm par le biais du bluetooth. De même, il a fallu insérer une clé bluetooth sur la foxboard car cette dernière n'en disposait pas. La dernière étape consiste à traiter le message reçu par le boitier NXT Mindstorm. Nous avons donc utiliser le logiciel NXT-G, basé sur une programmation graphique, labview que nous verrons plutard. Ainsi les servomoteurs, reliés au NXT à l'aide de prise mâles et femelles, peuvent s'actionner suivant différents critères comme le sens, la puissance, ou encore le temps. | ||
+ | |||
+ | |||
+ | '''II.Programme''' | ||
+ | |||
+ | [[Fichier:labview.png|900px|thumb|center|Programme Labview]] | ||
+ | |||
+ | |||
+ | |||
+ | L'algorithme de ce programme est le suivant: | ||
+ | |||
+ | |||
+ | |||
+ | Tant que Vrai | ||
+ | Recevoir message bluetooth | ||
+ | Mettre le message dans la variable Texte 1 | ||
+ | Si message reçu alos comparer la valeur de Texte 1 à : | ||
+ | 0 : Tirer | ||
+ | 1 : Avancer | ||
+ | 2 : Reculer | ||
+ | 3 : Tourner à droite | ||
+ | 4 : Tourner à gauche | ||
+ | 5 : Arrêt | ||
+ | Fin du Si | ||
+ | Fin du Tant que | ||
+ | |||
+ | |||
+ | '''II.Amélioration''' | ||
+ | |||
+ | |||
+ | Quand nous avons testé le programme nous avons remarqué qu'il était difficile de contrôler correctement le robot. En effet, lorsque l'on répétait plusieurs fois la même action, le robot s’arrêtait entre chaque instruction, le temps de traiter le message. Par exemple si on souhaitait qu'il avance pendant cinq secondes le robot faisait quatre haltes. Or on désirait un déplacement en continu. Pour résoudre ce problème nous avons été obligé de modifier la page Web de la Foxboard. Pour cela, on a du copier, modifier, puis remplacer le fichier conduire.html de la Foxboard. En ayant quelques notions en langage html, on a repérer que les fonctions de commande étaient situées dans un tableau grâce a la balise "table". | ||
+ | |||
+ | |||
+ | |||
+ | ''Voici le programme initial'' | ||
+ | |||
+ | <nowiki> | ||
+ | |||
+ | <table> | ||
+ | <tr> | ||
+ | <td> </td> | ||
+ | <td><img src="arrow-up.jpg" onclick="ordonne(1)"></td> | ||
+ | <td> </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><img src="arrow-left.jpg" onclick="ordonne(3)"></td> | ||
+ | <td><img src="stop.jpg" onclick="ordonne(0)"></td> | ||
+ | <td><img src="arrow-right.jpg" onclick="ordonne(4)"></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> </td> | ||
+ | <td><img src="arrow-down.jpg" onclick="ordonne(2)"></td> | ||
+ | <td> </td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | </nowiki> | ||
+ | |||
+ | |||
+ | ''Après modification :'' | ||
+ | |||
+ | <nowiki> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <td> </td> | ||
+ | <td><img src="arrow-up.jpg" onmousedown="ordonne(1)" onmouseup="ordonne(5)"></td> | ||
+ | <td> </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><img src="arrow-left.jpg" onmousedown="ordonne(4)" onmouseup="ordonne(5)"></td> | ||
+ | <td><img src="stop.jpg" onclick="ordonne(5)"></td> | ||
+ | <td><img src="arrow-right.jpg" onmousedown="ordonne(3)" onmouseup="ordonne(5)"></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> </td> | ||
+ | <td><img src="arrow-down.jpg" onmousedown="ordonne(2)" onmouseup="ordonne(5)"></td> | ||
+ | <td><img src="tire.png" onclick="ordonne(0)"></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | </nowiki> | ||
+ | |||
+ | |||
+ | Nous avons remplacer la commande "onclick" par "onmousedown" et rajouter "onmouseup". Le fait d'ajouter "onmouseup" permet de s'assurer que le robot s’arrête quand on relâche la souris, car certains tests ont montré que le robot continuait l'action ordonnée. | ||
+ | |||
+ | |||
+ | On peut constater également que nous avons rajouter une case dans le tableau. En effet aucune case n'était prévue prévue pour donner l'ordre de tirer. Ainsi nous avons décidé de placer un ballon dans la case en bas à droite, suivi de la commande de tire. | ||
+ | |||
+ | |||
+ | == Durée de fonctionnement == | ||
+ | |||
+ | Boitier NXT : | ||
+ | |||
+ | Pour calculer le temps de batterie du boitier , il faut utiliser la formule : | ||
+ | -Temps de fonctionnement = Capacité / consommation | ||
+ | |||
+ | Ce boitier est composé de trois moteur , chacun d'eux consomme 230 mA soit un total de 690 mA . | ||
+ | |||
+ | Le boitier est alimenté par un boitier de 6 piles qui a une capacité totale de 1400 mAh . | ||
+ | |||
+ | Soit t=2 | ||
+ | |||
+ | Donc le boitier a un temps d'autonomie de 2h . | ||
+ | |||
+ | |||
+ | Foxboard : | ||
+ | |||
+ | La foxboard est composé d'une webcam (500mA) et de deux ports USB ( 0.5 A) | ||
+ | La foxboard est alimenté par quatre piles en série ayant une capacité total de 2450 mAh . | ||
+ | |||
+ | On ré-applique la formule pour le boitier NXT | ||
+ | t = 1.57 | ||
+ | |||
+ | Donc la foxboard possède un temps d'autonomie de 1h35 . | ||
+ | |||
+ | == '''Problèmes rencontrés'''== | ||
+ | ---- | ||
+ | |||
+ | |||
+ | Notre premier gros problème était quand on essayait de se connecter à la Foxboard. En effet la connexion s'effectuait sur le mauvais canal. Nous devions rentrer la commande :'' /usr/local/bin/switchmode master sj 5''. | ||
+ | Or notre second problème était la mémorisation des commandes linux. | ||
+ | |||
+ | |||
+ | Nos autres problèmes se situaient plutôt au niveau mécanique. Effectivement nous avons trouvé difficile d'installer un système de tir adéquat a notre véhicule. De plus nous voulions partir sur un robot à trois roues mais le poids élevés des différents composants (Foxboard, boîtier de piles, Mindstorm) nous a contraint a utiliser des chenilles. | ||
+ | |||
+ | == '''Conclusion'''== | ||
+ | ---- | ||
+ | |||
+ | |||
+ | |||
+ | Pour conclure nous pouvons dire que grâce à ce B.E nous avons pu réellement se plonger dans la peau d'un ingénieur. En effet nous avons suivis le parcours de A à Z d'un produit. De plus, comme un ingénieur, nous avons dû travailler en équipe, et rechercher des solutions aux problèmes rencontrés. Ce B.E d'ima nous a fait découvrir les différentes faces de cette spécialité comme l'informatique ou encore la mécanique. |
Version actuelle datée du 22 mai 2014 à 17:11
Sommaire
Introduction
L'objectif de ce bureau d'étude est de construire des robots joueurs de balle. Ils seront diviser en plusieurs catégories:
-les robots d'attaques
-les robots de défenses
-les robots téléguidés avec systèmes embarqués
Nous avons choisi de créer un robot téléguidé. Les finalités de ce dernier sont de pouvoir avancer, reculer, tourner, et frapper le balle à l'aide d'un appareil équipé d'un module wi-fi ainsi que d'un navigateur Internet.
Tout d'abord, nous expliquerons la construction du robot. Ensuite, nous verrons le radio-guidage par Bluetooth. Pour finir, nous nous intéresserons au radio-guidage par wi-fi.
Construction du robot
I.Le Châssis
Pour commencer, nous avons construit un châssis à trois roues. Cependant, lorsque le robot effectuait des rotations, les forces de frottements étaient trop importantes sur la roue arrière. Nous sommes donc passé sur un système à quatre roues, comme une voiture classique. Toutefois un nouveau problème est apparu. En effet, lorsque l'on a installé la foxboard, webcam, module Bluetooth et le boitier de piles, le centre de gravité du robot était trop situé vers l’arrière du véhicule ce qui le déséquilibrais .
Pour résoudre se problème on a choisi d'utiliser des chenilles .
Notre robot est composé de deux moteurs qui permettent de faire avancer le véhicule et d'un troisième pour tirer dans une balle .
II.Améliorations
Une fois le véhicule terminé, nous avions des problèmes d'ergonomie pour placer la caméra et le hub usb . Il fallait donc réussir à trouver des endroits stratégiques pour bien les positionner . La meilleure solution que nous avons trouvé est de placer deux supports de chaque coté du mindstorm .
Ensuite nous avons penser au système de tir, un système puissant, simple et petit. Pour notre véhicule, un système de rouages était le plus adéquate. Celui-ci est composé de trois engrenages de tailles différentes (du plus grand au plus petit), sur le dernier est attaché une barre qui permet de tirer.
Pour notre dernière amélioration, on a décidé de s'inspirer des vrais voitures, et c'est pourquoi on a fabriqué un système de sécurité. En effet, certains mouvements du robot entraînaient la chute du boitier Mindstorm, donc on a fabriqué une barre de sécurité, que voici ci-dessous.
Fonctionnnement
I.Principe de fonctionnement
L'objectif de notre robot est de pouvoir être controler a distance. Pour ce faire, on dispose de plusieurs outils de communication sans fil comme le Wi-Fi ou encore le bluetooth. Il faut donc savoir que les ordres sont transmis suivant trois étapes. Tout d'abord le contact est établi grâce au Wi-Fi qui permet de se connecter à l'interface de la foxboard. Pour ce faire, il est nécessaire d'installer une clé Wi-Fi sur la foxboard car elle ne possède pas de Wi-Fi intégrer. Ensuite, l'utilisateur saisi une information sur l'interface web et la foxboard envoie les instructinos au boitier Mindstorm par le biais du bluetooth. De même, il a fallu insérer une clé bluetooth sur la foxboard car cette dernière n'en disposait pas. La dernière étape consiste à traiter le message reçu par le boitier NXT Mindstorm. Nous avons donc utiliser le logiciel NXT-G, basé sur une programmation graphique, labview que nous verrons plutard. Ainsi les servomoteurs, reliés au NXT à l'aide de prise mâles et femelles, peuvent s'actionner suivant différents critères comme le sens, la puissance, ou encore le temps.
II.Programme
L'algorithme de ce programme est le suivant:
Tant que Vrai Recevoir message bluetooth Mettre le message dans la variable Texte 1 Si message reçu alos comparer la valeur de Texte 1 à : 0 : Tirer 1 : Avancer 2 : Reculer 3 : Tourner à droite 4 : Tourner à gauche 5 : Arrêt Fin du Si Fin du Tant que
II.Amélioration
Quand nous avons testé le programme nous avons remarqué qu'il était difficile de contrôler correctement le robot. En effet, lorsque l'on répétait plusieurs fois la même action, le robot s’arrêtait entre chaque instruction, le temps de traiter le message. Par exemple si on souhaitait qu'il avance pendant cinq secondes le robot faisait quatre haltes. Or on désirait un déplacement en continu. Pour résoudre ce problème nous avons été obligé de modifier la page Web de la Foxboard. Pour cela, on a du copier, modifier, puis remplacer le fichier conduire.html de la Foxboard. En ayant quelques notions en langage html, on a repérer que les fonctions de commande étaient situées dans un tableau grâce a la balise "table".
Voici le programme initial
<table> <tr> <td> </td> <td><img src="arrow-up.jpg" onclick="ordonne(1)"></td> <td> </td> </tr> <tr> <td><img src="arrow-left.jpg" onclick="ordonne(3)"></td> <td><img src="stop.jpg" onclick="ordonne(0)"></td> <td><img src="arrow-right.jpg" onclick="ordonne(4)"></td> </tr> <tr> <td> </td> <td><img src="arrow-down.jpg" onclick="ordonne(2)"></td> <td> </td> </tr> </table>
Après modification :
<table> <tr> <td> </td> <td><img src="arrow-up.jpg" onmousedown="ordonne(1)" onmouseup="ordonne(5)"></td> <td> </td> </tr> <tr> <td><img src="arrow-left.jpg" onmousedown="ordonne(4)" onmouseup="ordonne(5)"></td> <td><img src="stop.jpg" onclick="ordonne(5)"></td> <td><img src="arrow-right.jpg" onmousedown="ordonne(3)" onmouseup="ordonne(5)"></td> </tr> <tr> <td> </td> <td><img src="arrow-down.jpg" onmousedown="ordonne(2)" onmouseup="ordonne(5)"></td> <td><img src="tire.png" onclick="ordonne(0)"></td> </tr> </table>
Nous avons remplacer la commande "onclick" par "onmousedown" et rajouter "onmouseup". Le fait d'ajouter "onmouseup" permet de s'assurer que le robot s’arrête quand on relâche la souris, car certains tests ont montré que le robot continuait l'action ordonnée.
On peut constater également que nous avons rajouter une case dans le tableau. En effet aucune case n'était prévue prévue pour donner l'ordre de tirer. Ainsi nous avons décidé de placer un ballon dans la case en bas à droite, suivi de la commande de tire.
Durée de fonctionnement
Boitier NXT :
Pour calculer le temps de batterie du boitier , il faut utiliser la formule :
-Temps de fonctionnement = Capacité / consommation
Ce boitier est composé de trois moteur , chacun d'eux consomme 230 mA soit un total de 690 mA .
Le boitier est alimenté par un boitier de 6 piles qui a une capacité totale de 1400 mAh .
Soit t=2
Donc le boitier a un temps d'autonomie de 2h .
Foxboard :
La foxboard est composé d'une webcam (500mA) et de deux ports USB ( 0.5 A) La foxboard est alimenté par quatre piles en série ayant une capacité total de 2450 mAh .
On ré-applique la formule pour le boitier NXT t = 1.57
Donc la foxboard possède un temps d'autonomie de 1h35 .
Problèmes rencontrés
Notre premier gros problème était quand on essayait de se connecter à la Foxboard. En effet la connexion s'effectuait sur le mauvais canal. Nous devions rentrer la commande : /usr/local/bin/switchmode master sj 5.
Or notre second problème était la mémorisation des commandes linux.
Nos autres problèmes se situaient plutôt au niveau mécanique. Effectivement nous avons trouvé difficile d'installer un système de tir adéquat a notre véhicule. De plus nous voulions partir sur un robot à trois roues mais le poids élevés des différents composants (Foxboard, boîtier de piles, Mindstorm) nous a contraint a utiliser des chenilles.
Conclusion
Pour conclure nous pouvons dire que grâce à ce B.E nous avons pu réellement se plonger dans la peau d'un ingénieur. En effet nous avons suivis le parcours de A à Z d'un produit. De plus, comme un ingénieur, nous avons dû travailler en équipe, et rechercher des solutions aux problèmes rencontrés. Ce B.E d'ima nous a fait découvrir les différentes faces de cette spécialité comme l'informatique ou encore la mécanique.