SuiveurFox : Différence entre versions

De Wiki de bureau d'études PeiP
Ligne 5 : Ligne 5 :
  
  
Nous avons choisi la partie la plus difficile du projet, celle du contrôle à distance du robot. La difficulté viens du fait de l'ajout d'un nouvel élément en complément de la NXT : une foxboard. Ce module complémentaire, un ordinateur miniature, permet de contrôler à distance le robot. Cette FoxBoard contient un serveur Web accessible par Wifi dans l'école faisant l'intermédiaire entre l'utilisateur (via le Wifi) et le Robot (via le Bluetooth). Schéma des Liaisons :
+
Nous avons choisi la partie la plus difficile du projet, celle du contrôle à distance du robot. La difficulté viens du fait de l'ajout d'un nouvel élément en complément de la NXT : une foxboard. Ce module complémentaire, un ordinateur miniature, permet de contrôler à distance le robot. Cette FoxBoard contient un serveur Web accessible par Wifi dans l'école faisant l'intermédiaire entre l'utilisateur (via le Wifi) et le Robot (via le Bluetooth).  
  
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Communication entre les robots]]
+
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Schéma des Liaisons]]
  
 
=== Robot V1 ===
 
=== Robot V1 ===
Ligne 18 : Ligne 18 :
  
 
Puis nous avons créer une seconde version plus maniable, rapide et contenant tous les composants nécessaires et certains inutiles !  
 
Puis nous avons créer une seconde version plus maniable, rapide et contenant tous les composants nécessaires et certains inutiles !  
<gallery heights="300px" widths="500px">
+
<gallery heights="300px" widths="650px">
 
Image:SuiveurFox_Schema_Robot.jpg|Schéma simplifié du robot
 
Image:SuiveurFox_Schema_Robot.jpg|Schéma simplifié du robot
 
Image:SuiveurFox_Le_robotV2-01.jpg|Robot avec quelques accessoires !
 
Image:SuiveurFox_Le_robotV2-01.jpg|Robot avec quelques accessoires !
Ligne 45 : Ligne 45 :
 
== Problèmes à résoudre ==
 
== Problèmes à résoudre ==
  
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.
+
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.<br />
Ensuite, il faudra améliorer l'interface de la page Web afin de la rendre interactive, aussi bien dans l'envoi des messages (avec des liens sur la page) que dans la réception des messages envoyés par le Robot. Pour l'instant le robot renvoie 42 à la réception de l'instruction.
+
Ensuite, il faudra améliorer l'interface de la page Web afin de la rendre interactive, aussi bien dans l'envoi des messages (avec des liens sur la page) que dans la réception des messages envoyés par le Robot. Pour l'instant le robot renvoie 42 à la réception de l'instruction.<br />
 
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).
 
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).

Version du 7 mars 2011 à 23:09

Robot téléguidé avec système embarqué - Vincent BLONDEAU - Remi BOUTON


Présentation du projet

Nous avons choisi la partie la plus difficile du projet, celle du contrôle à distance du robot. La difficulté viens du fait de l'ajout d'un nouvel élément en complément de la NXT : une foxboard. Ce module complémentaire, un ordinateur miniature, permet de contrôler à distance le robot. Cette FoxBoard contient un serveur Web accessible par Wifi dans l'école faisant l'intermédiaire entre l'utilisateur (via le Wifi) et le Robot (via le Bluetooth).

Schéma des Liaisons

Robot V1

Dans un premier temps nous avons construit un robot avec des jambes. Mais cela posait des problèmes : Changement de direction, puissance des moteurs insuffisante,...

Première version de notre robot

Robot V2

Puis nous avons créer une seconde version plus maniable, rapide et contenant tous les composants nécessaires et certains inutiles !

Missions effectuées

La configuration de la Fox étant trop compliquée pour nous, nous nous sommes donc concentrés sur le programme contenu dans le robot Lego. Dans un premier temps, nous avons essayé de programmer via le logiciel Lego fourni. Le logiciel permettant de recevoir et d'envoyer des instructions par Bluetooth, nous avons exploré cette voie. Pour cela comme la fox n'était pas utilisable, nous avons aussi acquis un logiciel permettant de nous en dispenser. Il envoie via une clé bluetooth un signal en théorie compréhensible par le logiciel Lego. Nous pouvions transférer des entiers, des booléens et même des chaînes de caractères. Mais en réalité nous n'avons pu qu'envoyer des booléens. Ce qui n'est pas l'idéal.

Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour "Not eXactly C", permet de lire facilement les messages envoyés par la fox, et de les traiter afin de commander le robot a distance. Nous avons donc du apprendre le langage C ainsi que les principales commandes qui permettent de piloter le robot. En se connectant sur le serveur de la fox (172.26.165.210), nous pouvons via l'adresse de la page Web envoyer des requêtes Php sous forme de nombre :

  • 0 : Stop
  • 1 : Marche Avant
  • 2 : Marche Arrière
  • 3 : Gauche
  • 4 : Droite

afin de commander le robot.

Nous avons aussi réfléchi à la manière d'informer le robot de la ligne a suivre (Principale, Réserve, Rechargement) via les puces RFID.

Schéma montrant le comportement du robot à un croisement

Comme la connexion entre la fox et le robot se relance à chaque nouveau message, le robot met donc un certain temps (quelques secondes) à répondre : pour cela le robot doit être indépendant. Ce sur quoi nous avons travaillé.

Problèmes à résoudre

Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.
Ensuite, il faudra améliorer l'interface de la page Web afin de la rendre interactive, aussi bien dans l'envoi des messages (avec des liens sur la page) que dans la réception des messages envoyés par le Robot. Pour l'instant le robot renvoie 42 à la réception de l'instruction.
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).