<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://peip-ima.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vblondea</id>
		<title>Wiki de bureau d'études PeiP - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://peip-ima.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vblondea"/>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php/Sp%C3%A9cial:Contributions/Vblondea"/>
		<updated>2026-04-24T18:14:00Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=BE_2010-2011&amp;diff=487</id>
		<title>BE 2010-2011</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=BE_2010-2011&amp;diff=487"/>
				<updated>2011-05-02T17:23:48Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Intégration des fonctionnalités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= But à atteindre =&lt;br /&gt;
&lt;br /&gt;
Ce bureau d'étude a comme finalité la construction de robots patrouilleurs. Ces robots doivent parcourir de façon semi-autonome un espace en accumulant des données. Ces données peuvent être, par exemple, des images de leur environnement ou le résultat d'écoutes Wifi. Un robot semi-autonome est un robot capable de se déplacer dans son espace sans intervention humaine en suivant un balisage quelconque (marquage au sol, tags RFID, sons particuliers, etc). Un humain doit cependant pouvoir prendre le contrôle partiel ou total d'un robot. Le contrôle partiel consiste à faire varier la vitesse du robot, le sens du parcours du robot, etc. Le contrôle total consiste à gérer complétement le déplacement du robot, même si ce dernier évite encore les collisions (que le contrôleur pourrait ne pas avoir pu prévoir). Les robots doivent aussi pouvoir communiquer entre eux pour s'échanger des informations de positionnement, pour pouvoir s'éviter ou pour pouvoir se regrouper (par exemple pour pouvoir explorer en détail un lieu particulier). A ce propos il est fondamental que les robots sachent se positionner pour pouvoir annoter les informations envoyées ou stockées (images ou données).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Matériel à votre disposition =&lt;br /&gt;
&lt;br /&gt;
Ce type de robot très communicant et relativement intelligent peut être réalisé à partir de chassis adaptés controlés par un système embarqué complet de type [http://www.acmesystems.it/foxg20/doku.php FoxBoard]. Cela dit pour un bureau d'études pré-cycle ingénieur il faut utiliser des outils plus accessibles. Les couches basses du robot seront réalisées à l'aide de lego MindStorm. Le lego va permettre de réaliser le chassis avec sa motorisation et d'y installer des capteurs divers. Il est même possible d'assurer une certaine communication entre les robots et le contrôleur grâce à la technologie bluetooth intégrée au micro-contrôleur MindStorm. [[Image:boite_mindstorm.jpg|thumb]] Pour aller plus loin il sera certainement nécessaire d'embarquer un micro-PC de type FoxBoard sur le robot. C'est ce micro-PC qui pourra faire les acquisitions d'images ou les analyses Wifi et c'est à lui que le micro-contrôleur du MindStorm pourra envoyer ses données de localisation.&lt;br /&gt;
&lt;br /&gt;
= Répartition des tâches =&lt;br /&gt;
&lt;br /&gt;
Chaque binôme va se voir affecter une des problématiques décrites dans les précédentes sections. Par la suite les résultats devront être incorporés dans chaque robot pour obtenir un robot tel que décrit plus haut. Notez que tous les robots doivent savoir s'arrêter quand un obstacle se présente devant eux (utilisation du sonar MindStorm).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Projet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Elèves&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Présence&amp;lt;/th&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[[SuiveurLigne|Robot suiveur de ligne]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;DELARUE Simon&amp;lt;br&amp;gt;DECEUNINCK Matthieu&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;X _ _ X _ X X &amp;lt;br&amp;gt;X _ X X _ X _ &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[[Synchronise|Robots synchronisés A]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;PETITPREZ Pierre-Jean&amp;lt;br&amp;gt;VANGAEVEREN Simon&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;X X X X X X X&amp;lt;br&amp;gt;X X X X X X X&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[[Synchronise|Robots synchronisés B]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;MATYJA Antoine&amp;lt;br&amp;gt;HAOUCHINE Billal&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;X X X X X X X&amp;lt;br&amp;gt;X X X X X X X&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[[Bumblebee|Robot Antoine Louis]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;BLIN Louis&amp;lt;br&amp;gt;LEFEVRE Antoine&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;X X X X X X X&amp;lt;br&amp;gt;X X X X X X X&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[[SuiveurInstrument|Robot naviguant aux instruments]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;SCHANNES Jean-Baptiste&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;X X X _ _ X X&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[[SuiveurFox|Robot téléguidé avec système embarqué]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;BOUTON Rémi&amp;lt;br&amp;gt;BLONDEAU Vincent&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;X X X _ X X X&amp;lt;br&amp;gt;X X X _ X X X&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Intégration des fonctionnalités =&lt;br /&gt;
Une fois toutes les études terminées et les solutions implantées (sous forme de briques personnalisées par exemple), vous doterez votre robot des fonctionnalités nécessaires à la réalisation de la démonstration finale. Votre robot devra être capable de suivre des marquages discontinus au sol, être capable de communiquer avec les autres robots, d'embarquer une FoxBoard avec une connexion Wifi et une webcam, être capable de se repérer dans l'espace et enfin pouvoir être contrôlé à distance par un humain. Pour la partie repérage dans l'espace vous avez le choix de vous reposer sur une lecture d'informations au sol, sur le repérage de tag RFID (deux détecteurs disponibles), sur le calcul aux instruments (1 gyroscope et 2 accéléromètres disponibles) ou le repérage de sons particuliers (2 capteurs de sons possibles). Ces méthodes peuvent être complétées par des heuristiques de localisation en fonction des tours de roues et des angles de rotations.&lt;br /&gt;
&lt;br /&gt;
Pour configurer la FoxBoard avec tout le matériel nécessaire, suivez les [[FoxBoard pour MindStorm|instructions]].&lt;br /&gt;
&lt;br /&gt;
Pour une description du système à obtenir suivez la [[FoxBoard MindStorm système|flèche]].&lt;br /&gt;
&lt;br /&gt;
[[Image:img_circuit.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
= Démonstration finale =&lt;br /&gt;
Pour la démonstration finale vous tracerez un parcours constitué de deux courbes fermées reliées par deux bretelles de communication (parcours rouge et bleu). Ajoutez à ce parcours trois voies de garage, deux conduisant à des stations de rechargement factices (parcours vert) et la dernière à une voie de stockage (parcours jaune). Le parcours doit, bien entendu, être constitué d'un marquage au sol discontinu. Vous placerez vos six robots complets sur l'une des courbes fermées. Les robots doivent cheminer un certain temps sur cette courbe (l'occasion de vérifier le bon suivi du marquage au sol et que les robots savent tenir leurs distances). Par la suite le contrôleur doit ordonner à trois robots de passer sur l'autre courbe fermée par une des bretelles. La encore, les robots doivent cheminer un certain temps sur leurs parcours distincts. Sur chaque courbe, le contrôleur ordonne à un robot de changer de sens de parcours. Les robots devraient se bloquer. Le contrôleur inverse le sens de parcours des autres robots pour débloquer la situation. Le contrôleur ordonne enfin à chaque robot d'aller se recharger. Les robots cherchent donc sur leurs parcours un embranchement vers une voie de chargement, suivent la voie jusqu'au bout et attendent un certain temps. Attention les robots ne s'engagent sur une voie de chargement que si d'autres robots ne les occupent pas (communication entre robots). Si les voies de chargement sont occupées, les robots vont attendre sur la voie de stockage (les robots en question verifient de temps en temps pour voir si une voie de rechargement devient libre). Pendant cette démonstration, le contrôleur prend parfois le contrôle total d'un robot et le promène un peu, le robot devant ensuite retrouver automatiquement le parcours le plus proche.&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=FoxBoard_MindStorm_syst%C3%A8me&amp;diff=486</id>
		<title>FoxBoard MindStorm système</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=FoxBoard_MindStorm_syst%C3%A8me&amp;diff=486"/>
				<updated>2011-05-02T17:23:02Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Communication vers la FoxBoard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Etats du robot ==&lt;br /&gt;
Le robot peut être dans trois états distincts :&lt;br /&gt;
* mode télécommandé ;&lt;br /&gt;
* mode suivi de ligne ;&lt;br /&gt;
* mode recharge.&lt;br /&gt;
Dans le mode suivi de ligne, il y a des sous-états possibles; suivi de ligne bleue dans un sens, suivi de ligne bleue dans l'autre sens, suivi de ligne rouge dans un sens, suivi de ligne rouge dans l'autre sens.&lt;br /&gt;
== Communication vers le MindStorm ==&lt;br /&gt;
Pour passer le robot dans le mode télécommande, il suffit de lui envoyer un octet dans la boite aux lettre n°3 dont les 4 bits de poids forts sont à zéro. Voici la signification de ces octets :&lt;br /&gt;
* valeur 0x00 (0) : arrêt du robot ;&lt;br /&gt;
* valeur 0x01 (1) : le robot avance ;&lt;br /&gt;
* valeur 0x02 (2) : le robot recule ;&lt;br /&gt;
* valeur 0x03 (3) : le robot tourne à gauche ;&lt;br /&gt;
* valeur 0x04 (4) : le robot tourne à droite.&lt;br /&gt;
Pour passer dans le robot dans le mode suivi de ligne, il suffit d'envoyer un octet avec les 4 bits de poids forts à 0x10. Voici la signification de ces octets :&lt;br /&gt;
* valeur 0x10 (16) : suivre la ligne bleue, bande blanche à gauche ;&lt;br /&gt;
* valeur 0x11 (17) : suivre la ligne bleue, bande noire à gauche ;&lt;br /&gt;
* valeur 0x12 (18) : suivre la ligne rouge, bande blanche à gauche ;&lt;br /&gt;
* valeur 0x13 (19) : suivre la ligne rouge, bande noire à gauche.&lt;br /&gt;
Enfin pour passer en mode recharge, il suffit d'envoyer un octet avec les 4 bits de poids forts à 0x20 (32).&lt;br /&gt;
&lt;br /&gt;
== Communication vers la FoxBoard ==&lt;br /&gt;
Les valeurs de retour du MindStorm vers la FoxBoard, messages reçu dans la boite aux lettre n°4, sont comme suit :&lt;br /&gt;
* en mode télécommande; 0x00 si le robot bouge, 0x01 si le robot est arrété ;&lt;br /&gt;
* en mode suivi de ligne; 0x10 (16) si le robot suit une ligne bleue, 0x12 (18) si le robot suit une ligne rouge, 0x14 (20) si le robot suit une ligne jaune, 0x16 (22) si le robot suit une ligne grise ;&lt;br /&gt;
* en mode recharge; 0x20 (32) si le robot cherche un point de recharge ou 0x21 (33) s'il est en train de se recharger.&lt;br /&gt;
&lt;br /&gt;
== Page de contrôle Web ==&lt;br /&gt;
La page de contrôle Web devra donc permettre de réaliser les actions suivantes par envoi de messages au MindStorm, par affichage des retours du MindStorm et par quelques fonctions JavaScript :&lt;br /&gt;
* en mode télécommande; on peut arrêter le robot, le faire avancer ou reculer ou le faire tourner ;&lt;br /&gt;
* en mode suivi de ligne; on peut lui demander de suivre une ligne bleue ou rouge, avec la bande blanche ou noire à gauche ;&lt;br /&gt;
* en mode recharge; des fonctions JavaScript vérifient que les stations de recharge sont libres et dans ce cas lance le robot en mode recharge, quand le robot est passé en mode recharge la FoxBoard doit diffuser ce mode aux autres robots.&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_Nos_Robots.jpg&amp;diff=485</id>
		<title>Fichier:SuiveurFox Nos Robots.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_Nos_Robots.jpg&amp;diff=485"/>
				<updated>2011-05-02T17:21:19Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : Robots construits lors de ce BE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robots construits lors de ce BE&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=484</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=484"/>
				<updated>2011-05-02T17:20:19Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Galerie Photo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isométrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Robot version finale ==&lt;br /&gt;
&lt;br /&gt;
Voici notre robot finalisé et opérationel :&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotVF_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotVF_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotVF_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotVF_sideL.jpg |Vue du cote Gauche&lt;br /&gt;
Image:SuiveurFox_RobotVF_sideR.jpg |Vue du cote Droit&lt;br /&gt;
Image:SuiveurFox_RobotVF_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotVF_Under.jpg| Vue de Dessous&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotVF_Under_detail.jpg|450px|thumb|center|Detail de la troisième roue]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce [https://peip-ima.polytech-lille.net:40001/archive/NXC_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Interface WEB ==&lt;br /&gt;
&lt;br /&gt;
J'ai aussi du modifier la page web de la foxboard afin de pouvoir envoyer les ordres de suivi de ligne en plus du contrôle à distance.&lt;br /&gt;
Il reste à implémenter les ordres envoyés par le robot sur la fox afin de connaître en temps réél l'état du robot.&lt;br /&gt;
&lt;br /&gt;
La source de la page web est disponible sur ce [https://peip-ima.polytech-lille.net:40001/archive/SiteFox_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Problèmes restants ==&lt;br /&gt;
&lt;br /&gt;
Le suivi de ligne dans un sens ou dans l'autre n'est pas opérationel à 100%. Mais il suit parfaitement la ligne dans un seul sens qu'elle soit continue ou discontinue. Néanmoins le changment de couleur marche.&lt;br /&gt;
L'initialisation de la fox reste cepandant indépendante de notre volonté, ainsi que les bons contacts de la clé USB Wifi !!!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox Nos Robots.jpg|thumb|center|700px|Robots contruits lors de ce BE]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=483</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=483"/>
				<updated>2011-05-02T17:19:39Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Galerie Photo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isométrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Robot version finale ==&lt;br /&gt;
&lt;br /&gt;
Voici notre robot finalisé et opérationel :&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotVF_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotVF_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotVF_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotVF_sideL.jpg |Vue du cote Gauche&lt;br /&gt;
Image:SuiveurFox_RobotVF_sideR.jpg |Vue du cote Droit&lt;br /&gt;
Image:SuiveurFox_RobotVF_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotVF_Under.jpg| Vue de Dessous&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotVF_Under_detail.jpg|450px|thumb|center|Detail de la troisième roue]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce [https://peip-ima.polytech-lille.net:40001/archive/NXC_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Interface WEB ==&lt;br /&gt;
&lt;br /&gt;
J'ai aussi du modifier la page web de la foxboard afin de pouvoir envoyer les ordres de suivi de ligne en plus du contrôle à distance.&lt;br /&gt;
Il reste à implémenter les ordres envoyés par le robot sur la fox afin de connaître en temps réél l'état du robot.&lt;br /&gt;
&lt;br /&gt;
La source de la page web est disponible sur ce [https://peip-ima.polytech-lille.net:40001/archive/SiteFox_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Problèmes restants ==&lt;br /&gt;
&lt;br /&gt;
Le suivi de ligne dans un sens ou dans l'autre n'est pas opérationel à 100%. Mais il suit parfaitement la ligne dans un seul sens qu'elle soit continue ou discontinue. Néanmoins le changment de couleur marche.&lt;br /&gt;
L'initialisation de la fox reste cepandant indépendante de notre volonté, ainsi que les bons contacts de la clé USB Wifi !!!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox Nos Robots.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Under.jpg&amp;diff=482</id>
		<title>Fichier:SuiveurFox RobotVF Under.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Under.jpg&amp;diff=482"/>
				<updated>2011-05-02T17:15:31Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=481</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=481"/>
				<updated>2011-05-02T17:14:47Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Robot version finale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isométrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Robot version finale ==&lt;br /&gt;
&lt;br /&gt;
Voici notre robot finalisé et opérationel :&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotVF_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotVF_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotVF_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotVF_sideL.jpg |Vue du cote Gauche&lt;br /&gt;
Image:SuiveurFox_RobotVF_sideR.jpg |Vue du cote Droit&lt;br /&gt;
Image:SuiveurFox_RobotVF_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotVF_Under.jpg| Vue de Dessous&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotVF_Under_detail.jpg|450px|thumb|center|Detail de la troisième roue]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce [https://peip-ima.polytech-lille.net:40001/archive/NXC_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Interface WEB ==&lt;br /&gt;
&lt;br /&gt;
J'ai aussi du modifier la page web de la foxboard afin de pouvoir envoyer les ordres de suivi de ligne en plus du contrôle à distance.&lt;br /&gt;
Il reste à implémenter les ordres envoyés par le robot sur la fox afin de connaître en temps réél l'état du robot.&lt;br /&gt;
&lt;br /&gt;
La source de la page web est disponible sur ce [https://peip-ima.polytech-lille.net:40001/archive/SiteFox_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Problèmes restants ==&lt;br /&gt;
&lt;br /&gt;
Le suivi de ligne dans un sens ou dans l'autre n'est pas opérationel à 100%. Mais il suit parfaitement la ligne dans un seul sens qu'elle soit continue ou discontinue. Néanmoins le changment de couleur marche.&lt;br /&gt;
L'initialisation de la fox reste cepandant indépendante de notre volonté, ainsi que les bons contacts de la clé USB Wifi !!!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Under_detail.jpg&amp;diff=480</id>
		<title>Fichier:SuiveurFox RobotVF Under detail.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Under_detail.jpg&amp;diff=480"/>
				<updated>2011-05-02T17:14:46Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Top.jpg&amp;diff=479</id>
		<title>Fichier:SuiveurFox RobotVF Top.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Top.jpg&amp;diff=479"/>
				<updated>2011-05-02T17:14:05Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_sideR.jpg&amp;diff=478</id>
		<title>Fichier:SuiveurFox RobotVF sideR.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_sideR.jpg&amp;diff=478"/>
				<updated>2011-05-02T17:13:17Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_sideL.jpg&amp;diff=477</id>
		<title>Fichier:SuiveurFox RobotVF sideL.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_sideL.jpg&amp;diff=477"/>
				<updated>2011-05-02T17:12:30Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Iso.jpg&amp;diff=476</id>
		<title>Fichier:SuiveurFox RobotVF Iso.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Iso.jpg&amp;diff=476"/>
				<updated>2011-05-02T17:11:53Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Front.jpg&amp;diff=475</id>
		<title>Fichier:SuiveurFox RobotVF Front.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Front.jpg&amp;diff=475"/>
				<updated>2011-05-02T17:11:16Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Back.jpg&amp;diff=474</id>
		<title>Fichier:SuiveurFox RobotVF Back.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Back.jpg&amp;diff=474"/>
				<updated>2011-05-02T17:10:42Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : a téléversé une nouvelle version de « Fichier:SuiveurFox RobotVF Back.jpg »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Back.jpg&amp;diff=473</id>
		<title>Fichier:SuiveurFox RobotVF Back.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotVF_Back.jpg&amp;diff=473"/>
				<updated>2011-05-02T17:07:51Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=391</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=391"/>
				<updated>2011-04-15T07:43:05Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Robot version finale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isométrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Robot version finale ==&lt;br /&gt;
&lt;br /&gt;
Voici notre robot finalisé et opérationel :&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotVF_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotVF_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotVF_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotVF_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotVF_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotVF_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce [https://peip-ima.polytech-lille.net:40001/archive/NXC_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Interface WEB ==&lt;br /&gt;
&lt;br /&gt;
J'ai aussi du modifier la page web de la foxboard afin de pouvoir envoyer les ordres de suivi de ligne en plus du contrôle à distance.&lt;br /&gt;
Il reste à implémenter les ordres envoyés par le robot sur la fox afin de connaître en temps réél l'état du robot.&lt;br /&gt;
&lt;br /&gt;
La source de la page web est disponible sur ce [https://peip-ima.polytech-lille.net:40001/archive/SiteFox_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Problèmes restants ==&lt;br /&gt;
&lt;br /&gt;
Le suivi de ligne dans un sens ou dans l'autre n'est pas opérationel à 100%. Mais il suit parfaitement la ligne dans un seul sens qu'elle soit continue ou discontinue. Néanmoins le changment de couleur marche.&lt;br /&gt;
L'initialisation de la fox reste cepandant indépendante de notre volonté, ainsi que les bons contacts de la clé USB Wifi !!!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=389</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=389"/>
				<updated>2011-04-15T07:42:29Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isométrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Robot version finale ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotVF_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotVF_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotVF_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotVF_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotVF_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce [https://peip-ima.polytech-lille.net:40001/archive/NXC_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Interface WEB ==&lt;br /&gt;
&lt;br /&gt;
J'ai aussi du modifier la page web de la foxboard afin de pouvoir envoyer les ordres de suivi de ligne en plus du contrôle à distance.&lt;br /&gt;
Il reste à implémenter les ordres envoyés par le robot sur la fox afin de connaître en temps réél l'état du robot.&lt;br /&gt;
&lt;br /&gt;
La source de la page web est disponible sur ce [https://peip-ima.polytech-lille.net:40001/archive/SiteFox_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Problèmes restants ==&lt;br /&gt;
&lt;br /&gt;
Le suivi de ligne dans un sens ou dans l'autre n'est pas opérationel à 100%. Mais il suit parfaitement la ligne dans un seul sens qu'elle soit continue ou discontinue. Néanmoins le changment de couleur marche.&lt;br /&gt;
L'initialisation de la fox reste cepandant indépendante de notre volonté, ainsi que les bons contacts de la clé USB Wifi !!!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=387</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=387"/>
				<updated>2011-04-15T07:40:29Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Programme en NXC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce [https://peip-ima.polytech-lille.net:40001/archive/NXC_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Interface WEB ==&lt;br /&gt;
&lt;br /&gt;
J'ai aussi du modifier la page web de la foxboard afin de pouvoir envoyer les ordres de suivi de ligne en plus du contrôle à distance.&lt;br /&gt;
Il reste à implémenter les ordres envoyés par le robot sur la fox afin de connaître en temps réél l'état du robot.&lt;br /&gt;
&lt;br /&gt;
La source de la page web est disponible sur ce [https://peip-ima.polytech-lille.net:40001/archive/SiteFox_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Problèmes restants ==&lt;br /&gt;
&lt;br /&gt;
Le suivi de ligne dans un sens ou dans l'autre n'est pas opérationel à 100%. Mais il suit parfaitement la ligne dans un seul sens qu'elle soit continue ou discontinue. Néanmoins le changment de couleur marche.&lt;br /&gt;
L'initialisation de la fox reste cepandant indépendante de notre volonté, ainsi que les bons contacts de la clé USB Wifi !!!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=386</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=386"/>
				<updated>2011-04-15T07:39:26Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Interface WEB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce lien&lt;br /&gt;
&lt;br /&gt;
== Interface WEB ==&lt;br /&gt;
&lt;br /&gt;
J'ai aussi du modifier la page web de la foxboard afin de pouvoir envoyer les ordres de suivi de ligne en plus du contrôle à distance.&lt;br /&gt;
Il reste à implémenter les ordres envoyés par le robot sur la fox afin de connaître en temps réél l'état du robot.&lt;br /&gt;
&lt;br /&gt;
La source de la page web est disponible sur ce [https://peip-ima.polytech-lille.net:40001/archive/SiteFox_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Problèmes restants ==&lt;br /&gt;
&lt;br /&gt;
Le suivi de ligne dans un sens ou dans l'autre n'est pas opérationel à 100%. Mais il suit parfaitement la ligne dans un seul sens qu'elle soit continue ou discontinue. Néanmoins le changment de couleur marche.&lt;br /&gt;
L'initialisation de la fox reste cepandant indépendante de notre volonté, ainsi que les bons contacts de la clé USB Wifi !!!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=385</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=385"/>
				<updated>2011-04-15T07:39:17Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Interface WEB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce lien&lt;br /&gt;
&lt;br /&gt;
== Interface WEB ==&lt;br /&gt;
&lt;br /&gt;
J'ai aussi du modifier la page web de la foxboard afin de pouvoir envoyer les ordres de suivi de ligne en plus du contrôle à distance.&lt;br /&gt;
Il reste à implémenter les ordres envoyés par le robot sur la fox afin de connaître en temps réél l'état du robot.&lt;br /&gt;
&lt;br /&gt;
La source de la page web est disponible sur ce [[https://peip-ima.polytech-lille.net:40001/archive/SiteFox_VBRB.tar lien].&lt;br /&gt;
&lt;br /&gt;
== Problèmes restants ==&lt;br /&gt;
&lt;br /&gt;
Le suivi de ligne dans un sens ou dans l'autre n'est pas opérationel à 100%. Mais il suit parfaitement la ligne dans un seul sens qu'elle soit continue ou discontinue. Néanmoins le changment de couleur marche.&lt;br /&gt;
L'initialisation de la fox reste cepandant indépendante de notre volonté, ainsi que les bons contacts de la clé USB Wifi !!!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=369</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=369"/>
				<updated>2011-04-15T07:17:10Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : Voici une description complète de notre robot de la partie mécanique jusqu'à la partie informatique.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce lien&lt;br /&gt;
&lt;br /&gt;
== Interface WEB ==&lt;br /&gt;
&lt;br /&gt;
J'ai aussi du modifier la page web de la foxboard afin de pouvoir envoyer les ordres de suivi de ligne en plus du contrôle à distance.&lt;br /&gt;
Il reste à implémenter les ordres envoyés par le robot sur la fox afin de connaître en temps réél l'état du robot.&lt;br /&gt;
&lt;br /&gt;
La source de la page web est disponible sur ce lien.&lt;br /&gt;
&lt;br /&gt;
== Problèmes restants ==&lt;br /&gt;
&lt;br /&gt;
Le suivi de ligne dans un sens ou dans l'autre n'est pas opérationel à 100%. Mais il suit parfaitement la ligne dans un seul sens qu'elle soit continue ou discontinue. Néanmoins le changment de couleur marche.&lt;br /&gt;
L'initialisation de la fox reste cepandant indépendante de notre volonté, ainsi que les bons contacts de la clé USB Wifi !!!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=362</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=362"/>
				<updated>2011-04-15T07:06:03Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Programme en NXC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce lien&lt;br /&gt;
&lt;br /&gt;
== Problèmes a résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il nous est indispensable de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui est très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
L'interface de la page Web a été modifiée afin de la rendre interactive. On peut dire au robot d'aller a gauche, droite, devant, arrière. Cependant on ne peut pas recevoir de donnée du robot, ni envoyer d'autres instructions comme le changement de couleur de ligne, la vitesse des moteurs...&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=361</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=361"/>
				<updated>2011-04-15T07:05:34Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Programme en NXC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&lt;br /&gt;
&amp;lt;strong&amp;gt;nbc warrior.nxc -d -S=usb&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les sources sont accessibles sur ce &amp;lt;a href=about.home&amp;gt;lien&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problèmes a résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il nous est indispensable de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui est très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
L'interface de la page Web a été modifiée afin de la rendre interactive. On peut dire au robot d'aller a gauche, droite, devant, arrière. Cependant on ne peut pas recevoir de donnée du robot, ni envoyer d'autres instructions comme le changement de couleur de ligne, la vitesse des moteurs...&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=354</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=354"/>
				<updated>2011-04-15T06:59:07Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Programme en NXC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi d'écrire le programme du Lego dans le langage NXC, qui est un langage plus léger et prtique à utiliser que le Labview (logiciel fourni avec le Lego Mindstrorm). Le programme est divisé en pusieurs parties (tâches) : &lt;br /&gt;
* La réception : permet de recevoir les ordres données par la fox et de lui en transmettre&lt;br /&gt;
* La détection d'obstacles : permet de savoir grâce au capteur ultrason si un obstacle est devant le robot&lt;br /&gt;
* La detection de couleur : permet de reconnaitre les couleurs lues par le capteur RGB du robot. Le programme compare les valeurs en rouge bleu et vert envoyées par le capteur RGB et suivant ces valeurs il peut  savoir s'il lit du BLANC, NOIR, BLEU, ROUGE, JAUNE ou une autre couleur.&lt;br /&gt;
* La tâche principale : Traite les instructions reçues par la fox et les variables renvoyées par les tâches secondaire décrites ci-dessus. Elle est divisée en deux parties : le suivi de ligne et le contrôle a distance.&lt;br /&gt;
&lt;br /&gt;
J'ai fait une version appelée &amp;quot;couleur.nxc&amp;quot; qui me permettai d'étalonner les seuils pour la détection des couleurs.&lt;br /&gt;
&lt;br /&gt;
L'autre version plus complète, &amp;quot;warrior.nxc&amp;quot;, contient toutes les tâches decrites ci-dessus.&lt;br /&gt;
&lt;br /&gt;
La commande sert à compiler le fichier nxc et à l'envoyer sur le robot via le port USB :&lt;br /&gt;
[nbc warrior.nxc -d -S=usb]&lt;br /&gt;
&lt;br /&gt;
== Problèmes a résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il nous est indispensable de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui est très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
L'interface de la page Web a été modifiée afin de la rendre interactive. On peut dire au robot d'aller a gauche, droite, devant, arrière. Cependant on ne peut pas recevoir de donnée du robot, ni envoyer d'autres instructions comme le changement de couleur de ligne, la vitesse des moteurs...&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=347</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=347"/>
				<updated>2011-04-15T06:32:18Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créé une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Programme en NXC ==&lt;br /&gt;
&lt;br /&gt;
== Problèmes a résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il nous est indispensable de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui est très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
L'interface de la page Web a été modifiée afin de la rendre interactive. On peut dire au robot d'aller a gauche, droite, devant, arrière. Cependant on ne peut pas recevoir de donnée du robot, ni envoyer d'autres instructions comme le changement de couleur de ligne, la vitesse des moteurs...&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=346</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=346"/>
				<updated>2011-04-15T06:27:23Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Missions effectuées */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créer une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
Pour le diriger d'une part : &lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
Et pour le suivi de ligne d'autre part :&lt;br /&gt;
* 17 : Suivi de ligne Bleue dans un sens&lt;br /&gt;
* 16 : Suivi de ligne bleue dans l'autre sens&lt;br /&gt;
* 19 : Suivi de ligne Rouge dans un sens&lt;br /&gt;
* 18 : Suivi de ligne rouge dans l'autre sens &lt;br /&gt;
* 32 : Recharge du robot (suivi ligne jaune sous certaines conditions)&lt;br /&gt;
&lt;br /&gt;
Pour la recharge du robot s'effectue de la manière suivante (en théorie puisque ce n'a jamais été testé) : &lt;br /&gt;
* Les robots cherchent la ligne jaune et dès que un robot en a trouvée une, &lt;br /&gt;
* Le robot envoie le message aux autres robots qu'il est sur la borne de recharge&lt;br /&gt;
* Les autres robots continuent alors de suivre leur ligne courante (bleue ou rouge)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il nous est indispensable de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui est très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
L'interface de la page Web a été modifiée afin de la rendre interactive. On peut dire au robot d'aller a gauche, droite, devant, arrière. Cependant on ne peut pas recevoir de donnée du robot, ni envoyer d'autres instructions comme le changement de couleur de ligne, la vitesse des moteurs...&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=275</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=275"/>
				<updated>2011-03-14T18:57:48Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Problèmes à résoudre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créer une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
|[[Image:SuiveurFox_Schema_Robot.jpg|700px|thumb|center|Schéma simplifié du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il nous est indispensable de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui est très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
L'interface de la page Web a été modifiée afin de la rendre interactive. On peut dire au robot d'aller a gauche, droite, devant, arrière. Cependant on ne peut pas recevoir de donnée du robot, ni envoyer d'autres instructions comme le changement de couleur de ligne, la vitesse des moteurs...&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=274</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=274"/>
				<updated>2011-03-14T18:56:51Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Robot V2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créer une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|450px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
|[[Image:SuiveurFox_Schema_Robot.jpg|700px|thumb|center|Schéma simplifié du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; align=center&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il nous est indispensable de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui est très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
L'interface de la page Web a été modifiée afin de la rendre interactive. On peut dire au robot d'aller a gauche, droite, devant, arrière. Cependant on ne peut pas recevoir de donnée du robot, ni envoyer d'autres instructions comme le changement de couleur de ligne, la vitesse des moteurs...&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=273</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=273"/>
				<updated>2011-03-14T18:56:15Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Robot V2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créer une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|700px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
|[[Image:SuiveurFox_Schema_Robot.jpg|700px|thumb|center|Schéma simplifié du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il nous est indispensable de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui est très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
L'interface de la page Web a été modifiée afin de la rendre interactive. On peut dire au robot d'aller a gauche, droite, devant, arrière. Cependant on ne peut pas recevoir de donnée du robot, ni envoyer d'autres instructions comme le changement de couleur de ligne, la vitesse des moteurs...&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=272</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=272"/>
				<updated>2011-03-14T18:47:10Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créer une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_RobotV2_Iso.jpg|700px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
|[[Image:SuiveurFox_Schema_Robot.jpg|700px|thumb|center|Schéma simplifié du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_Side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;direct&amp;quot; notre robot à cause du décalage de temps action/réaction. Ce problème a été résolu, le temps de réponse est d'environ 1/2 seconde ce qui est largement acceptable pour commander le robot a distance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il nous est indispensable de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui est très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
L'interface de la page Web a été modifiée afin de la rendre interactive. On peut dire au robot d'aller a gauche, droite, devant, arrière. Cependant on ne peut pas recevoir de donnée du robot, ni envoyer d'autres instructions comme le changement de couleur de ligne, la vitesse des moteurs...&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;br /&gt;
&lt;br /&gt;
== Galerie Photo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Tests_dans_le_Hall.jpg|thumb|center|700px|Test des connections sans fil du robot dans le hall de l'école (malgré des problème de serveur et de piratage des commandes !!!)]]&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=271</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=271"/>
				<updated>2011-03-14T18:35:31Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : /* Robot V2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|650px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|375px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|375px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créer une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
A noter que cette version définitive comporte tous les capteurs en position et branché. Ainsi nous pouvons d'avantage nous préoccuper de la programmation que sur l'architecture même de notre robot. Dans sa construction nous avons tenu compte des poids à équilibrer (surtout pour les batteries, qui sont d'ailleurs au plus proche du centre de rotation du robot). Ainsi bien qu'imposant il est tout à fait maniable et prêt à concourir !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_RobotV2_Iso.jpg|700px|thumb|center|Robot vue isometrique]]&lt;br /&gt;
[[Image:SuiveurFox_Schema_Robot.jpg|700px|thumb|center|Schéma simplifié du robot]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:SuiveurFox_RobotV2_Back.jpg |Vue de Derriere&lt;br /&gt;
Image:SuiveurFox_RobotV2_Top.jpg  |Vue de haut&lt;br /&gt;
Image:SuiveurFox_RobotV2_Side.jpg |Vue de Cote&lt;br /&gt;
Image:SuiveurFox_RobotV2_Front.jpg|Vue de Face&lt;br /&gt;
Image:SuiveurFox_RobotV2_Antenne_Wifi.jpg| Vue de l'antenne Wifi&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|700px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
Cependant il reste un problème de taille à traiter : la vitesse de transfert des données. En effet la connexion wifi de Polytech n'est pas tout à fait optimisée pour ce type de contrôle, ainsi à chaque ordre émis par l'ordinateur la connexion wifi se réinitialise. Ainsi nous ne pouvons pas contrôler réellement en &amp;quot;directe&amp;quot; notre robot à cause du décalage de temps action/réaction.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il nous est indispensable de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui est très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_Antenne_Wifi.jpg&amp;diff=270</id>
		<title>Fichier:SuiveurFox RobotV2 Antenne Wifi.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_Antenne_Wifi.jpg&amp;diff=270"/>
				<updated>2011-03-14T18:27:08Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_Front.jpg&amp;diff=269</id>
		<title>Fichier:SuiveurFox RobotV2 Front.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_Front.jpg&amp;diff=269"/>
				<updated>2011-03-14T18:26:50Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_Iso.jpg&amp;diff=268</id>
		<title>Fichier:SuiveurFox RobotV2 Iso.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_Iso.jpg&amp;diff=268"/>
				<updated>2011-03-14T18:26:29Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_Back.jpg&amp;diff=267</id>
		<title>Fichier:SuiveurFox RobotV2 Back.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_Back.jpg&amp;diff=267"/>
				<updated>2011-03-14T18:26:02Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_Top.jpg&amp;diff=266</id>
		<title>Fichier:SuiveurFox RobotV2 Top.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_Top.jpg&amp;diff=266"/>
				<updated>2011-03-14T18:25:40Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_side.jpg&amp;diff=265</id>
		<title>Fichier:SuiveurFox RobotV2 side.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_RobotV2_side.jpg&amp;diff=265"/>
				<updated>2011-03-14T18:25:15Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_Tests_dans_le_Hall.jpg&amp;diff=264</id>
		<title>Fichier:SuiveurFox Tests dans le Hall.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_Tests_dans_le_Hall.jpg&amp;diff=264"/>
				<updated>2011-03-14T18:24:35Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : Tests de la liaison sans fil dans le hall de Polytech&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tests de la liaison sans fil dans le hall de Polytech&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=204</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=204"/>
				<updated>2011-03-08T21:55:10Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|500px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|500px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créer une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Schema_Robot.jpg|865px|thumb|center|Schéma simplifié du robot]]&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|880px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=203</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=203"/>
				<updated>2011-03-08T21:54:17Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|500px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|500px|thumb|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créer une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Schema_Robot.jpg|865px|thumb|Schéma simplifié du robot]]&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|880px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=202</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=202"/>
				<updated>2011-03-08T21:52:22Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV1.jpg|500px|thumb|left|Première version de notre robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Principe_Robot_V1.jpg|500px|right|Principe du robot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créer une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Schema_Robot.jpg|865px|Schéma simplifié du robot]]&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|880px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=201</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=201"/>
				<updated>2011-03-08T21:49:40Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps nous avions eu l'idée de créer un robot sur patte (pour sortir du lot dirions nous) grâce à une technique bien connu des amateurs. Seulement nous avons été confronté au problème du poids du robot, de son empattement, et du manque de puissance des moteurs. De plus le robot ne tenait pas forcement correctement la ligne droite ... projet abandonné.&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Le_robotV1.jpg|500px|thumb|left|Première version de notre robot]]&lt;br /&gt;
[[Image:SuiveurFox_Principe_Robot_V1.jpg|500px|right|Principe du robot]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons créer une base mobile stable, simple et solide, nous permettant un accès facile à la brique NXT (sauf au boîtier pile mais c'est un autre problème), et un positionnement aisée de la FOXBOARD en position verticale à l'arrière du robot. Cependant le kit LEGO MINDSTORM ne contenait pas assez de pièce pour concevoir un robot à 2 roues motrices et une roue &amp;quot;folle&amp;quot;, nous avons donc décidé de munir notre robot d'une roue &amp;quot;folle&amp;quot; achetée à part. Ainsi la maniabilité du robot est accrue et le fait de tourner n'engendre pas de contraintes supplémentaires aux moteurs (déjà faibles en puissance).&lt;br /&gt;
&lt;br /&gt;
|[[Image:SuiveurFox_Schema_Robot.jpg|865px|Schéma simplifié du robot]]&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Suivi_de_ligne.jpg|thumb|center|550px|Le robot est initialement place sur une ligne colorée (ici verte) pour éviter de faire un programme qui détermine si le robot est a l'extremité droite ou gauche de la ligne verte le robot va se contenter de zigzager.&lt;br /&gt;
Le robot tourne et avance un peu au debut tant qu'il ne rencontre pas autre chose que du vert, si Ie robot détecte autre chose, il tourne de l'autre côté en ajoutant 1 a son compteur ' bleu ' . Ainsi une fois qu'il tourne de I'autre côté, s'il détecte une ligne bleu, le compteur &amp;quot;bleu&amp;quot; passe a 2 et le robot sait qu'il doit boucler depuis le debut du programme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cependant Ie programme devra etre changé lors du choix de ligne (voir plus loin).]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|880px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_Suivi_de_ligne.jpg&amp;diff=200</id>
		<title>Fichier:SuiveurFox Suivi de ligne.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_Suivi_de_ligne.jpg&amp;diff=200"/>
				<updated>2011-03-08T21:33:20Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : Principe du suivi de ligne par le robot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Principe du suivi de ligne par le robot&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_Principe_Robot_V1.jpg&amp;diff=199</id>
		<title>Fichier:SuiveurFox Principe Robot V1.jpg</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Fichier:SuiveurFox_Principe_Robot_V1.jpg&amp;diff=199"/>
				<updated>2011-03-08T21:32:08Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : Principe du robot marcheur&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Principe du robot marcheur&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=179</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=179"/>
				<updated>2011-03-07T23:22:52Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
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,...&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Le_robotV1.jpg|500px|thumb|center|Première version de notre robot]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Puis nous avons créer une seconde version plus maniable, rapide et contenant tous les composants nécessaires et certains inutiles ! &lt;br /&gt;
{|border=&amp;quot;2&amp;quot; style=&amp;quot;background-color:#bfbfbf&amp;quot;&lt;br /&gt;
|[[Image:SuiveurFox_Schema_Robot.jpg|865px|Schéma simplifié du robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV2-01.jpg|327px|Robot avec quelques accessoires !]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|880px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=178</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=178"/>
				<updated>2011-03-07T23:14:51Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
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,...&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Le_robotV1.jpg|500px|thumb|center|Première version de notre robot]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Puis nous avons créer une seconde version plus maniable, rapide et contenant tous les composants nécessaires et certains inutiles ! &lt;br /&gt;
{|&lt;br /&gt;
|[[Image:SuiveurFox_Schema_Robot.jpg|865px|Schéma simplifié du robot]]&lt;br /&gt;
|[[Image:SuiveurFox_Le_robotV2-01.jpg|327px|Robot avec quelques accessoires !]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|880px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=177</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=177"/>
				<updated>2011-03-07T23:09:46Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Schéma des Liaisons]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
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,...&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Le_robotV1.jpg|500px|thumb|center|Première version de notre robot]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Puis nous avons créer une seconde version plus maniable, rapide et contenant tous les composants nécessaires et certains inutiles ! &lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;300px&amp;quot; widths=&amp;quot;650px&amp;quot;&amp;gt;&lt;br /&gt;
Image:SuiveurFox_Schema_Robot.jpg|Schéma simplifié du robot&lt;br /&gt;
Image:SuiveurFox_Le_robotV2-01.jpg|Robot avec quelques accessoires !&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|880px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=176</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=176"/>
				<updated>2011-03-07T23:07:42Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 :&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Communication entre les robots]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
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,...&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Le_robotV1.jpg|500px|thumb|center|Première version de notre robot]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Puis nous avons créer une seconde version plus maniable, rapide et contenant tous les composants nécessaires et certains inutiles ! &lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;300px&amp;quot; widths=&amp;quot;500px&amp;quot;&amp;gt;&lt;br /&gt;
Image:SuiveurFox_Schema_Robot.jpg|Schéma simplifié du robot&lt;br /&gt;
Image:SuiveurFox_Le_robotV2-01.jpg|Robot avec quelques accessoires !&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|880px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.&lt;br /&gt;
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.&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=175</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=175"/>
				<updated>2011-03-07T23:07:19Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 :&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Communication entre les robots]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
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,...&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Le_robotV1.jpg|500px|thumb|center|Première version de notre robot]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Puis nous avons créer une seconde version plus maniable, rapide et contenant tous les composants nécessaires et certains inutiles ! &lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;300px&amp;quot; widths=&amp;quot;1000px&amp;quot;&amp;gt;&lt;br /&gt;
Image:SuiveurFox_Schema_Robot.jpg|Schéma simplifié du robot&lt;br /&gt;
Image:SuiveurFox_Le_robotV2-01.jpg|Robot avec quelques accessoires !&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|880px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.&lt;br /&gt;
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.&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=174</id>
		<title>SuiveurFox</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=SuiveurFox&amp;diff=174"/>
				<updated>2011-03-07T23:05:43Z</updated>
		
		<summary type="html">&lt;p&gt;Vblondea : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot téléguidé avec système embarqué - &amp;lt;small&amp;gt;Vincent BLONDEAU - Remi BOUTON&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 :&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Communication.jpg|600px|thumb|center|Communication entre les robots]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V1 ===&lt;br /&gt;
&lt;br /&gt;
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,...&lt;br /&gt;
&lt;br /&gt;
[[Image:SuiveurFox_Le_robotV1.jpg|500px|thumb|center|Première version de notre robot]]&lt;br /&gt;
&lt;br /&gt;
=== Robot V2 ===&lt;br /&gt;
&lt;br /&gt;
Puis nous avons créer une seconde version plus maniable, rapide et contenant tous les composants nécessaires et certains inutiles ! &lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;300px&amp;quot; widths=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Image:SuiveurFox_Schema_Robot.jpg|Schéma simplifié du robot&lt;br /&gt;
Image:SuiveurFox_Le_robotV2-01.jpg|Robot avec quelques accessoires !&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missions effectuées ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Nous avons donc pu utiliser un équivalent du logiciel Lego. Le NXC, acronyme pour &amp;quot;Not eXactly C&amp;quot;, 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. &lt;br /&gt;
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 :&lt;br /&gt;
* 0 : Stop&lt;br /&gt;
* 1 : Marche Avant&lt;br /&gt;
* 2 : Marche Arrière&lt;br /&gt;
* 3 : Gauche&lt;br /&gt;
* 4 : Droite&lt;br /&gt;
afin de commander le robot.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SuiveurFox_Fourche.jpg|thumb|center|880px|Schéma montrant le comportement du robot à un croisement]]&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Problèmes à résoudre ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, il s'agit de mieux comprendre la syntaxe C et les principales fonctions du langage NXC qui très complet.&lt;br /&gt;
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.&lt;br /&gt;
De plus il faudra réfléchir à faire envoyer par le robot des informations d'état du Robot (à définir).&lt;/div&gt;</summary>
		<author><name>Vblondea</name></author>	</entry>

	</feed>