Teleguide2011-3

De Wiki de bureau d'études PeiP

Robot téléguidé via wifi

Construction du robot

Nous avons construit le robot lors de la première et seconde séances. La difficulté étant de construire un robot qui puisse supporter tout un panel de capteurs, câbles, et matériels informatiques (foxboard, boitier de contrôle Lego, ...) tout en gardant des dimensions acceptables. Il ne fallait pas faire un montage trop extravagant vu le nombre de pièces que nous avions à disposition.


Construction du châssis du robot lors de la 1ère séance
Construction du support du robot terminé
Robot terminé monté avec tous les périphériques nécessaires
Robot terminé monté avec tous les périphériques nécessaires 2


Configuration de la foxboard

Une foxboard est une platine, elle sert ici à l'étude et l'utilisation d'un système de contrôle embarqué de faible dimension et peut être comparé à un mini ordinateur.
En effet, elle est composée entre autre de:

  • un micro processeur
  • 2 ports USB
  • un port ethernet
  • un connecteur d'alimentation
  • une carte micro SD servant de mémoire
  • ...

Notre foxboard possède un systéme d'exploitation sous Linux et est configurée comme un modem. Pour la configurer, il faut la relier à un ordinateur.

Après avoir rencontré des problèmes de connections entre la foxboard et l'ordinateur (dus à de multiples problèmes d'interférences bluetooth), nous avons transformé la foxboard en borne wifi. Nous nous connectons à cette borne via un téléphone android.

Une foxboard


Fonctionnement du systéme

Il a fallu concevoir un programme permettant d'éxecuter les commandes envoyées par le téléphone. Ces données passent du téléphone à la foxboard via wifi et de la foxboard au brique de contrôle via bluetooth. La brique exécute alors le programme selon la valeur qu'elle reçoit et actionne les moteurs.


Schéma du chemin des données


Descriptif du programme

Nous avons édité ce programme sur le logiciel fourni par légomindstorm. Ce logiciel s'utilise sous forme de programmation en puzzle. Pour être sûr que la chaîne de données était sans faille, nous avons fait en sorte que le programme affiche une îcone sur le boitier si celui-ci recevait bien un signal du téléphone. Le signal est en fait une valeur numérique qui est ensuite stockée dans une variable. Celle-ci est alors analysée et comparée aux valeurs types correspondantes au mouvement du robot. En fonction de la réponse de la comparaison, l'action détectée est réalisée.

Programme sous legomindstorm


Descriptif du programme legomindstorms ci-dessus
Afficher "NXT"
Tant que VRAI
Imprimer dans Texte1 la valeur du signal reçu
Si signal reçu
alors afficher "Smiley"
Comparer Texte1:
     égal 0 : Moteur A & C => Arrêter
     égal 1 : Moteur A & C => Avancer
     égal 2 : Moteur A & C => Reculer
     égal 3 : Moteur A => Avancer ; Moteur C => Reculer
     égal 4 : Moteur A => Reculer ; Moteur C => Avancer
     égal 5 : Programme "rose des vents" => Impression des valeurs de puissances des moteurs A et C dans des variables puissance1 
                                            et puissance2
                                         => Déplacement des moteurs en fonction de ces valeurs 
Envoi signal "Tout s'est bien passé"
Fin si
Fin tant que
Fin


Vidéo Présentation du robot