Teleguide2012-1

De Wiki de bureau d'études PeiP
Révision datée du 11 mars 2013 à 08:41 par Jfabrici (discussion | contributions) (La construction du robot)

Objectif du robot

La but de cette partie est de contrôler un robot Mindstorms à l'aide d'un navigateur internet . Pour cela, on se connecte via Wifi à un micro-ordinateur (Foxboard) comprenant des pages web permettant le contrôle du robot.

Le matériel principal utilisé est :

  • Navigateur web
  • Foxboard avec interface Wifi et Bluetooth
  • Brique NXT du robot Mindstorm.

Pour transmettre des ordres au robot le navigateur se connecte à la Foxboard en Wifi et accède aux pages web, selon les actions effectuées sur ces pages web la Foxboard envoie les ordres à la brique NXT sous forme de chiffres (1 pour avancer par exemple) qui effectue les actions en fonction du chiffre reçu.

La construction du robot

1/Principe du fonctionnement

Le but étant de pouvoir contrôler le robot via un téléphone, il faut que le robot communique avec l'utlisateur, pour cela il y a plusieurs type de communication qui s'effectue entre les différents composants du robots .

Dans un premier temps , la connexion entre le robot et le téléphone s'effectue via le wifi diffisué par la foxboard , en effet la foxboard dispose de plusieurs port USB où une clé WIFI y est inséré. Une fois le téléphone connecté en wifi avec la foxboard , il suffit de se connecter à l'interface de la foxboard via le lien : http://192.168.1.1

Dans un second temps , la foxboard doit communiquer avec le boitier NXT Mindstorm afin d'y transmettre les ordres donné par l'utilisateur , la connexion FOXBOARD-BOITIER NXT s'effectue en bluetooth , la foxboard ne disposant pas de système bluetooth de base , une clé Bluetooth relié par USB est néccesaire. Les ordres sont transmis via un système de boîte aux lettres : il suffit de lui envoyer un octet dans la boite aux lettres n°3 dont les 4 bits de poids forts sont à zéro.


Une fois que le boitier Mindstorm a reçu les ordres , il n'a plus qu'a les transmettre aux servomoteurs . Voici un schéma récapitulatif.

Schéma explicatif




2/Le châssis


Nous avons commencé par monter le châssis proposé dans la notice,avec trois moteur , celui-ci ne nous convenait pas pour emporter le matériel nécessaire au fonctionnement de notre robot nous avons alors fabriqué notre propre châssis qui permets de transporter tout le matériel sans problèmes. Dans un premier temps nous avons commencé utiliser des roues , mais après quelque tests peu concluants, nous avons décidés d'utiliser les chenilles :


Voici une vidéo réalisée après 5 semaines de travail , tout se fait à distance via ordinateur :

Fichier:Videorobot.mp4


3/La programmation

/* à détailler, notamment pour indiquer ce que vous voulez faire */

Pour la brique NXT nous avons utilisé la programmation graphique. Pour cela nous avons suivi cet algorithme simple :

  Tant que VRAI
    Réception du signal en Bluetooth et stockage dans la variable texte1
    Si signal reçu alors
       comparaison de texte1 :
            0 : S'arrêter
            1 : Avancer
            2 : Reculer
            3 : Tourner à droite
            4 : Tourner à gauche
            5 : Stockage des valeurs dans deux variables et envoi dans les moteurs
    fin si
  fin tant que
  fin

Prog1 capture.png

3/Amélioration

Lors de nos premier essai de pilotage nous avons trouvé difficile de repérer via la caméra, en effet la caméra étant fixe certains obstacles ne sont pas visibles. Nous avons donc décidé d'ajouter une fonction au robot : déplacer la caméra. Pour cela nous avons dû créer deux images à insérer dans la page web de la Foxboard via le fichier html : Nous avons récupérer le fichier Html de la Foxboard, après avoir fait les modifications nous avons transférer le nouveau fichier ainsi que les images dans la Foxboard grâce à la commande effectuée dans le dossier contenant le fichier :

     scp conduire.html 192.168.100.1:/var/www/

voici un aperçu de l'interface pour piloter après la modification :

Modif.png

Par conséquence nous avons du modifier l'algorithme comme suit :

  Tant que VRAI
    Réception du signal en Bluetooth et stockage dans la variable texte1
    Si signal reçu alors
       comparaison de texte1 :
            0 : S'arrêter
            1 : Avancer
            2 : Reculer
            3 : Tourner à droite
            4 : Tourner à gauche
            5 : Stockage des valeurs dans deux variables et envoi dans les moteurs
            6 : Monter la caméra
            7 : Descendre la caméra
    fin si
  fin tant que
  fin

Problème rencontrés

1/Trouver un châssis adapté


2/Configuration de la Foxboard


3/Connexion des équipements