Teleguide2013-3 : Différence entre versions

De Wiki de bureau d'études PeiP
(Construction du robot)
(Durée de fonctionnement)
 
(46 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''' ==
  
 +
----
  
== Construction du robot ==
 
  
----
 
 
'''I.Le Châssis'''
 
'''I.Le Châssis'''
  
  
Pour commencer, nous avons construit un châssis à trois roues, or les forces de frottements étaient trop importantes sur la roue arrière lors des rotations . Nous sommes passé sur un système à quatre roues pour compenser les frottements mais 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 se qui le déséquilibrais .   
+
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 troisieme 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]]
  
  
Ligne 35 : Ligne 38 :
  
 
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 . ( metttre image des supports )
+
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".
  
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 , sur le dernier est attaché une barre qui permet de tirer .
 
  
Notre derniere idée
 
  
 +
''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'''==
 +
----
  
  
  
INTRO
+
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.
CONSTRUCTION
 
      -chassis
 
      -amelioration
 
        (barre de sécurité, dispositif pour tenir le hub et la caméra, système de tir)
 
FONCTIONNEMENT
 
      -bluetooth
 
      -wi-fi
 
      -programation (insérer photo + algorithme)
 
      -amélioration ( système mouseup)
 
CONCLUSION
 

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

Introduction


Vidéo HD



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 .

châssis


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 .

Plateforme caméra
Plateforme Hub
Plateforme Hub
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.

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.

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

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


   <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.