Teleguide2013-3

De Wiki de bureau d'études PeiP
Révision datée du 20 mai 2014 à 18:44 par Jrazafin (discussion | contributions) (Problèmes rencontrés)

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 .

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 . ( mettre image des supports )

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 la batterie NXT



INTRO


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 + image pour tirer)

TEMPS ...

PROBLEME RENCONTRER

difficultés de retenir les commandes du petit ordi.., problème de connexion au démarrage (changement de canal), difficulté a trouver un bon système de tir, pb au niveau mécanique avec les frottements


CONCLUSION


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