<?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=Jgondry</id>
	<title>Wiki de bureau d&#039;é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=Jgondry"/>
	<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php/Sp%C3%A9cial:Contributions/Jgondry"/>
	<updated>2026-11-10T06:34:02Z</updated>
	<subtitle>Contributions de l’utilisateur</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Synchronize2011-2&amp;diff=710</id>
		<title>Synchronize2011-2</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Synchronize2011-2&amp;diff=710"/>
		<updated>2012-03-14T17:13:07Z</updated>

		<summary type="html">&lt;p&gt;Jgondry : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Construction et installation des modules ==&lt;br /&gt;
&lt;br /&gt;
Durant les deux premières semaines, nous avons commencé par monter le robot Mindstorms en suivant la procédure du manuel. Nous l&amp;#039;avons ensuite personnalisé de manière à ce que le modèle fini correspondent aux objectifs du projet, c&amp;#039;est-à-dire en rajoutant les différents modules que sont la Foxboard, son alimentation usb, les capteurs nécessaires (dans notre cas, l&amp;#039;ultrason) ainsi que le hub usb pour la connection wifi et bluetooth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:06-02-12 0934.jpg|Installation de la Foxboard&lt;br /&gt;
Fichier:06-02-12_0939.jpg|Installation de l&amp;#039;alimentation USB&lt;br /&gt;
Fichier:06-02-12 0940.jpg|Installation du contrôleur NXT&lt;br /&gt;
Fichier:DSC 0003.JPG|Installation du HUB USB&lt;br /&gt;
Fichier:DSC 0001.JPG|VBRB est né ! &lt;br /&gt;
Fichier:DSC 0002.JPG&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmation NXT ==&lt;br /&gt;
&lt;br /&gt;
Du point de vue logiciel, nous avons commencé durant la deuxième semaine à nous familiariser avec l&amp;#039;environnement NXT que nous avons trouvé relativement ergonomique. Notre premier objectif a consisté au déplacement du robot avec évitement d&amp;#039;obstacles.&lt;br /&gt;
&lt;br /&gt;
Durant la troisième semaine, nous avons tenté de perfectionner notre programme pour qu&amp;#039;il ne favorise pas une direction particulière lorsqu&amp;#039;il évite un obstacle. Nous avons tenté l&amp;#039;algorithme suivant:&lt;br /&gt;
&lt;br /&gt;
 compteur = 0&lt;br /&gt;
 tant que infini&lt;br /&gt;
    tant que distance &amp;lt; 20&lt;br /&gt;
        si compteur &amp;lt; 6 alors &lt;br /&gt;
            tourne à gauche de 5°&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
        sinon &lt;br /&gt;
            compteur = 0&lt;br /&gt;
            tourne à droite 30° &lt;br /&gt;
            tant que distance &amp;lt; 20&lt;br /&gt;
            si compteur &amp;lt; 6 alors &lt;br /&gt;
                tourne à droite 5°&lt;br /&gt;
                compteur = compteur + 1&lt;br /&gt;
            sinon recule&lt;br /&gt;
     fin tant que&lt;br /&gt;
     avance&lt;br /&gt;
 fin tant que&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Malheureusement, le programme prenait une taille de plus en plus importante mais ne fonctionnait toujours pas. Un peu déçus, nous avons donc travaillé sur le programme que l&amp;#039;autre groupe avait réalisé et qui utilise une méthode un peu différente que celle que nous voulions programmer. &lt;br /&gt;
&lt;br /&gt;
Elle consiste en une analyse de la distance tous les x degrés en alternance gauche/droite jusqu&amp;#039;à ce que le robot ait la voie libre pour avancer. Dans le cas d&amp;#039;un trop grand nombre d&amp;#039;analyses gauche/droite (obstacle en U par exemple), le robot attend que l&amp;#039;obstacle parte. &lt;br /&gt;
En comparaison, le programme de notre binôme avait l&amp;#039;inconvénient de favoriser davantage le côté gauche mais avait en revanche prévu une manœuvre de recul dans le cas d&amp;#039;un obstacle en U. Le cas idéal serait de pouvoir introduire cette manœuvre dans le programme mais le temps nous est compté...&lt;br /&gt;
&lt;br /&gt;
Nous avons su par la suite d&amp;#039;où provenait notre erreur sur notre premier programme : Ce que nous pensions être la condition d&amp;#039;entrée de boucle sur le programmeur NXT était en réalité la condition de sortie ! Bref, notre programme aurait peut-être pu fonctionner mais nous avions déjà commencé à travailler avec l&amp;#039;autre binôme sur la synchronisation de nos robots.&lt;br /&gt;
&lt;br /&gt;
Petit détail : Nous avons également appris que les autres capteurs (RFID, RGB...) serviront pour la seconde partie du BE qui consistera à rassembler nos différents projets sur une seule machine. Nous ajusterons alors le moment venu notre robot afin qu&amp;#039;il puisse accueillir ces nouveaux éléments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La synchronisation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous voilà déjà à la septième séance ! La mise en place de la connexion Bluetooth entre les robots nous a pris un certain temps ! Avec l&amp;#039;aide de l&amp;#039;enseignant, nous avons déjà commencé par réaliser un programme permettant de vérifier l&amp;#039;envoi et la réception de données entre les robots grâce à un compteur qui s&amp;#039;incrémente lorsqu&amp;#039;il y a transmission. Nous avons alors découvert comment fonctionnait réellement le Bluetooth entre les contrôleurs NXT : &lt;br /&gt;
Pour qu&amp;#039;un robot puisse envoyer des données, il faut qu&amp;#039;il s&amp;#039;apparie à l&amp;#039;autre robot (et non l&amp;#039;inverse), ce qui fera de lui le &amp;quot;maître&amp;quot; alors que le robot récepteur devient &amp;quot;l’esclave&amp;quot;. L&amp;#039;appariement se fera obligatoirement sur le canal 0 pour l&amp;#039;esclave et sur le 1,2 ou 3 pour le maître. Il faudra également prendre en considération le fait que la réception et l&amp;#039;émission s&amp;#039;effectuent à chaque fois sur deux boîtes aux lettres distinctes. De plus, il est nécessaire que l&amp;#039;émission et la réception s&amp;#039;effectue en parallèle et non à la suite comme nous avions commencé à faire.&lt;br /&gt;
&lt;br /&gt;
Nous avons terminé la séance sur une ébauche du programme final qui permettra aux deux robots connectés d&amp;#039;éviter un obstacle dans un mouvement synchrone. Pour ce faire, il faut que chaque robot effectue la même manœuvre d&amp;#039;évitement s&amp;#039;il y a obstacle devant l&amp;#039;un ou l&amp;#039;autre : dans ce cas, le robot qui a l&amp;#039;obstacle envoie le nombre 1 à l&amp;#039;autre via Bluetooth (il devient maître temporairement) afin que ce dernier effectue avec lui la manœuvre. Il faudra également modifier le premier programme (manœuvre d&amp;#039;évitement) afin qu&amp;#039;il s&amp;#039;insère correctement dans le principal.&lt;/div&gt;</summary>
		<author><name>Jgondry</name></author>
	</entry>
	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Synchronize2011-2&amp;diff=709</id>
		<title>Synchronize2011-2</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Synchronize2011-2&amp;diff=709"/>
		<updated>2012-03-14T17:00:03Z</updated>

		<summary type="html">&lt;p&gt;Jgondry : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Construction et installation des modules ==&lt;br /&gt;
&lt;br /&gt;
Durant les deux premières semaines, nous avons commencé par monter le robot Mindstorms en suivant la procédure du manuel. Nous l&amp;#039;avons ensuite personnalisé de manière à ce que le modèle fini correspondent aux objectifs du projet, c&amp;#039;est-à-dire en rajoutant les différents modules que sont la Foxboard, son alimentation usb, les capteurs nécessaires (dans notre cas, l&amp;#039;ultrason) ainsi que le hub usb pour la connection wifi et bluetooth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:06-02-12 0934.jpg|Installation de la Foxboard&lt;br /&gt;
Fichier:06-02-12_0939.jpg|Installation de l&amp;#039;alimentation USB&lt;br /&gt;
Fichier:06-02-12 0940.jpg|Installation du contrôleur NXT&lt;br /&gt;
Fichier:DSC 0003.JPG|Installation du HUB USB&lt;br /&gt;
Fichier:DSC 0001.JPG|Bob est né ! &lt;br /&gt;
Fichier:DSC 0002.JPG&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmation NXT ==&lt;br /&gt;
&lt;br /&gt;
Du point de vue logiciel, nous avons commencé durant la deuxième semaine à nous familiariser avec l&amp;#039;environnement NXT que nous avons trouvé relativement ergonomique. Notre premier objectif a consisté au déplacement du robot avec évitement d&amp;#039;obstacles.&lt;br /&gt;
&lt;br /&gt;
Durant la troisième semaine, nous avons tenté de perfectionner notre programme pour qu&amp;#039;il ne favorise pas une direction particulière lorsqu&amp;#039;il évite un obstacle. Nous avons tenté l&amp;#039;algorithme suivant:&lt;br /&gt;
&lt;br /&gt;
 compteur = 0&lt;br /&gt;
 tant que infini&lt;br /&gt;
    tant que distance &amp;lt; 20&lt;br /&gt;
        si compteur &amp;lt; 6 alors &lt;br /&gt;
            tourne à gauche de 5°&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
        sinon &lt;br /&gt;
            compteur = 0&lt;br /&gt;
            tourne à droite 30° &lt;br /&gt;
            tant que distance &amp;lt; 20&lt;br /&gt;
            si compteur &amp;lt; 6 alors &lt;br /&gt;
                tourne à droite 5°&lt;br /&gt;
                compteur = compteur + 1&lt;br /&gt;
            sinon recule&lt;br /&gt;
     fin tant que&lt;br /&gt;
     avance&lt;br /&gt;
 fin tant que&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Malheureusement, le programme prenait une taille de plus en plus importante mais ne fonctionnait toujours pas. Un peu déçus, nous avons donc travaillé sur le programme que l&amp;#039;autre groupe avait réalisé et qui utilise une méthode un peu différente que celle que nous voulions programmer. &lt;br /&gt;
&lt;br /&gt;
Elle consiste en une analyse de la distance tous les x degrés en alternance gauche/droite jusqu&amp;#039;à ce que le robot ait la voie libre pour avancer. Dans le cas d&amp;#039;un trop grand nombre d&amp;#039;analyses gauche/droite (obstacle en U par exemple), le robot attend que l&amp;#039;obstacle parte. &lt;br /&gt;
En comparaison, le programme de notre binôme avait l&amp;#039;inconvénient de favoriser davantage le côté gauche mais avait en revanche prévu une manœuvre de recul dans le cas d&amp;#039;un obstacle en U. Le cas idéal serait de pouvoir introduire cette manœuvre dans le programme mais le temps nous est compté...&lt;br /&gt;
&lt;br /&gt;
Nous avons su par la suite d&amp;#039;où provenait notre erreur sur notre premier programme : Ce que nous pensions être la condition d&amp;#039;entrée de boucle sur le programmeur NXT était en réalité la condition de sortie ! Bref, notre programme aurait peut-être pu fonctionner mais nous avions déjà commencé à travailler avec l&amp;#039;autre binôme sur la synchronisation de nos robots.&lt;br /&gt;
&lt;br /&gt;
Petit détail : Nous avons également appris que les autres capteurs (RFID, RGB...) serviront pour la seconde partie du BE qui consistera à rassembler nos différents projets sur une seule machine. Nous ajusterons alors le moment venu notre robot afin qu&amp;#039;il puisse accueillir ces nouveaux éléments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La synchronisation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous voilà déjà à la septième séance ! La mise en place de la connexion Bluetooth entre les robots nous a pris un certain temps ! Avec l&amp;#039;aide de l&amp;#039;enseignant, nous avons déjà commencé par réaliser un programme permettant de vérifier l&amp;#039;envoi et la réception de données entre les robots grâce à un compteur qui s&amp;#039;incrémente lorsqu&amp;#039;il y a transmission. Nous avons alors découvert comment fonctionnait réellement le Bluetooth entre les contrôleurs NXT : &lt;br /&gt;
Pour qu&amp;#039;un robot puisse envoyer des données, il faut qu&amp;#039;il s&amp;#039;apparie à l&amp;#039;autre robot (et non l&amp;#039;inverse), ce qui fera de lui le &amp;quot;maître&amp;quot; alors que le robot récepteur devient &amp;quot;l’esclave&amp;quot;. L&amp;#039;appariement se fera obligatoirement sur le canal 0 pour l&amp;#039;esclave et sur le 1,2 ou 3 pour le maître. Il faudra également prendre en considération le fait que la réception et l&amp;#039;émission s&amp;#039;effectuent à chaque fois sur deux boîtes aux lettres distinctes. De plus, il est nécessaire que l&amp;#039;émission et la réception s&amp;#039;effectue en parallèle et non à la suite comme nous avions commencé à faire.&lt;br /&gt;
&lt;br /&gt;
Nous avons terminé la séance sur une ébauche du programme final qui permettra aux deux robots connectés d&amp;#039;éviter un obstacle dans un mouvement synchrone. Pour ce faire, il faut que chaque robot effectue la même manœuvre d&amp;#039;évitement s&amp;#039;il y a obstacle devant l&amp;#039;un ou l&amp;#039;autre : dans ce cas, le robot qui a l&amp;#039;obstacle envoie le nombre 1 à l&amp;#039;autre via Bluetooth (il devient maître temporairement) afin que ce dernier effectue avec lui la manœuvre. Il faudra également modifier le premier programme (manœuvre d&amp;#039;évitement) afin qu&amp;#039;il s&amp;#039;insère correctement dans le principal.&lt;/div&gt;</summary>
		<author><name>Jgondry</name></author>
	</entry>
	<entry>
		<id>https://peip-ima.plil.fr/mediawiki/index.php?title=Synchronize2011-2&amp;diff=708</id>
		<title>Synchronize2011-2</title>
		<link rel="alternate" type="text/html" href="https://peip-ima.plil.fr/mediawiki/index.php?title=Synchronize2011-2&amp;diff=708"/>
		<updated>2012-03-14T16:26:58Z</updated>

		<summary type="html">&lt;p&gt;Jgondry : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Construction et installation des modules ==&lt;br /&gt;
&lt;br /&gt;
Durant les deux premières semaines, nous avons commencé par monter le robot Mindstorms en suivant la procédure du manuel. Nous l&amp;#039;avons ensuite personnalisé de manière à ce que le modèle fini correspondent aux objectifs du projet, c&amp;#039;est-à-dire en rajoutant les différents modules que sont la Foxboard, son alimentation usb, les capteurs nécessaires (dans notre cas, l&amp;#039;ultrason) ainsi que le hub usb pour la connection wifi et bluetooth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:06-02-12 0934.jpg|Installation de la Foxboard&lt;br /&gt;
Fichier:06-02-12_0939.jpg|Installation de l&amp;#039;alimentation USB&lt;br /&gt;
Fichier:06-02-12 0940.jpg|Installation du contrôleur NXT&lt;br /&gt;
Fichier:DSC 0003.JPG|Installation du HUB USB&lt;br /&gt;
Fichier:DSC 0001.JPG|Bob est né ! &lt;br /&gt;
Fichier:DSC 0002.JPG&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmation NXT ==&lt;br /&gt;
&lt;br /&gt;
Du point de vue logiciel, nous avons commencé durant la deuxième semaine à nous familiariser avec l&amp;#039;environnement NXT que nous avons trouvé relativement ergonomique. Notre premier objectif a consisté au déplacement du robot avec évitement d&amp;#039;obstacles.&lt;br /&gt;
&lt;br /&gt;
Durant la troisième semaine, nous avons tenté de perfectionner notre programme pour qu&amp;#039;il ne favorise pas une direction particulière lorsqu&amp;#039;il évite un obstacle. Nous avons tenté l&amp;#039;algorithme suivant:&lt;br /&gt;
&lt;br /&gt;
 compteur = 0&lt;br /&gt;
 tant que infini&lt;br /&gt;
    tant que distance &amp;lt; 20&lt;br /&gt;
        si compteur &amp;lt; 6 alors &lt;br /&gt;
            tourne à gauche de 5°&lt;br /&gt;
            compteur = compteur + 1&lt;br /&gt;
        sinon &lt;br /&gt;
            compteur = 0&lt;br /&gt;
            tourne à droite 30° &lt;br /&gt;
            tant que distance &amp;lt; 20&lt;br /&gt;
            si compteur &amp;lt; 6 alors &lt;br /&gt;
                tourne à droite 5°&lt;br /&gt;
                compteur = compteur + 1&lt;br /&gt;
            sinon recule&lt;br /&gt;
     fin tant que&lt;br /&gt;
     avance&lt;br /&gt;
 fin tant que&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Malheureusement, le programme prenait une taille de plus en plus importante mais ne fonctionnait toujours pas. Un peu déçus, nous avons donc travaillé sur le programme que l&amp;#039;autre groupe avait réalisé et qui utilise une méthode un peu différente que celle que nous voulions programmer. &lt;br /&gt;
&lt;br /&gt;
Elle consiste en une analyse de la distance tous les x degrés en alternance gauche/droite jusqu&amp;#039;à ce que le robot ait la voie libre pour avancer. Dans le cas d&amp;#039;un trop grand nombre d&amp;#039;analyses gauche/droite (obstacle en U par exemple), le robot attend que l&amp;#039;obstacle parte. &lt;br /&gt;
En comparaison, le programme de notre binôme avait l&amp;#039;inconvénient de favoriser davantage le côté gauche mais avait en revanche prévu une manœuvre de recul dans le cas d&amp;#039;un obstacle en U. Le cas idéal serait de pouvoir introduire cette manœuvre dans le programme mais le temps nous est compté...&lt;br /&gt;
&lt;br /&gt;
Nous avons su par la suite d&amp;#039;où provenait notre erreur sur notre premier programme : Ce que nous pensions être la condition d&amp;#039;entrée de boucle sur le programmeur NXT était en réalité la condition de sortie ! Bref, notre programme aurait peut-être pu fonctionner mais nous avions déjà commencé à travailler avec l&amp;#039;autre binôme sur la synchronisation de nos robots.&lt;br /&gt;
&lt;br /&gt;
Petit détail : Nous avons également appris que les autres capteurs (RFID, RGB...) serviront pour la seconde partie du BE qui consistera à rassembler nos différents projets sur une seule machine. Nous ajusterons alors le moment venu notre robot afin qu&amp;#039;il puisse accueillir ces nouveaux éléments.&lt;br /&gt;
&lt;br /&gt;
Nous voilà déjà à la septième séance ! La mise en place de la connexion Bluetooth entre les robots nous a pris un certain temps ! Avec l&amp;#039;aide de l&amp;#039;enseignant, nous avons déjà commencé par réaliser un programme permettant de vérifier l&amp;#039;envoi et la réception de données entre les robots grâce à un compteur qui s&amp;#039;incrémente lorsqu&amp;#039;il y a transmission. Nous avons alors découvert comment fonctionnait réellement le Bluetooth entre les contrôleurs NXT : &lt;br /&gt;
Pour qu&amp;#039;un robot puisse envoyer des données, il faut qu&amp;#039;il s&amp;#039;apparie à l&amp;#039;autre robot (et non l&amp;#039;inverse), ce qui fera de lui le &amp;quot;maître&amp;quot; alors que le robot récepteur devient &amp;quot;l’esclave&amp;quot;. L&amp;#039;appariement se fera obligatoirement sur le canal 0 pour l&amp;#039;esclave et sur le 1,2 ou 3 pour le maître. Il faudra également prendre en considération le fait que la réception et l&amp;#039;émission s&amp;#039;effectuent à chaque fois sur deux boîtes aux lettres distinctes. De plus, il est nécessaire que l&amp;#039;émission et la réception s&amp;#039;effectue en parallèle et non à la suite comme nous avions commencé à faire.&lt;br /&gt;
&lt;br /&gt;
Nous avons terminé la séance sur une ébauche du programme final qui permettra aux deux robots connectés d&amp;#039;éviter un obstacle dans un mouvement synchrone. Pour ce faire, il faut que chaque robot effectue la même manœuvre d&amp;#039;évitement s&amp;#039;il y a obstacle devant l&amp;#039;un ou l&amp;#039;autre : dans ce cas, le robot qui a l&amp;#039;obstacle envoie le nombre 1 à l&amp;#039;autre via Bluetooth (il devient maître temporairement) afin que ce dernier effectue avec lui la manœuvre. Il faudra également modifier le premier programme (manœuvre d&amp;#039;évitement) afin qu&amp;#039;il s&amp;#039;insère correctement dans le principal.&lt;/div&gt;</summary>
		<author><name>Jgondry</name></author>
	</entry>
</feed>