BUMBLEBEE : Différence entre versions

De Wiki de bureau d'études PeiP
(Contrôle à Distance)
(Contrôle à Distance)
Ligne 123 : Ligne 123 :
 
== Contrôle à Distance ==
 
== Contrôle à Distance ==
 
<p align="justify">
 
<p align="justify">
Le mode télécommande a demandé plus de travail et des échanges avec les autres groupes pour parvenir à un résultat satisfaisant. Tout d'abord, il a fallu installer le système d'exploitation de la Foxboard, y enregistrer l'adresse MAC de la brique NXT afin de faire fonctionner le Bluetooth et y placer les pages Web qui servent d'interface afin de piloter le robot. Ensuite il a fallu créer le programme permettant au robot de savoir ce qu'il devait faire en recevant les différents messages (voir "Programme contrôle à distance"). Le programme est tout d'abord composé d'un bloc "réception de message Bluetooth", puis le message reçu, qui contient une valeur numérique, est transformé en variable. Ensuite un bloc "switch" permet d'associer le message reçu avec une action :
+
Le mode télécommande a demandé plus de travail et des échanges avec les autres groupes pour parvenir à un résultat satisfaisant. Tout d'abord, il a fallu installer le système d'exploitation de la Foxboard, y enregistrer l'adresse MAC de la brique NXT afin de faire fonctionner le Bluetooth et y placer les pages Web qui servent d'interface afin de piloter le robot. Ce site intègre également un "demon capture" ce qui permet de voir l'environnement dans lequel évolue Bumblebee via une Webcam embarquée (voir "SiteFOX" et "Webcam") Ensuite il a fallu créer le programme permettant au robot de savoir ce qu'il devait faire en recevant les différents messages (voir "Programme contrôle à distance"). Le programme est tout d'abord composé d'un bloc "réception de message Bluetooth", puis le message reçu, qui contient une valeur numérique, est transformé en variable. Ensuite un bloc "switch" permet d'associer le message reçu avec une action :
 
[[Fichier:SiteFOX.jpg|thumb|alt=SiteFOX|SiteFOX]]
 
[[Fichier:SiteFOX.jpg|thumb|alt=SiteFOX|SiteFOX]]
 
* si le message reçu est 0, les moteurs s'arrêtent (un clic sur le "stop")
 
* si le message reçu est 0, les moteurs s'arrêtent (un clic sur le "stop")

Version du 15 avril 2011 à 09:20

Rapport robot


Présentation du BE (avec les différentes parties)

Le Bureau d’Etude « Coopération entre Robots Mobiles » (IMA) consiste à terme à faire évoluer différents robots ensembles dans un environnement non défini à l’avance. C'est-à-dire : Que les robots communiquent par Bluetooth Qu’ils soient capables de suivre une ligne Capables d’éviter des obstacles Qu’ils soient contrôlables à distance (wifi) Et pour certains groupes, les robots auront des capacités qui leur sont propres, comme un gyroscope et un accéléromètre, un capteur RFID. Pour cela la première étape fut de construire, par binôme, un robot (Lego Mindstorm). Les différentes équipes on fait preuve d’une grande créativité, puisque aucun des robots ne se ressemblent. Puis est venu le moment de programmer. Le travail a été réparti de la façon suivante (par groupe) : Suivre une ligne Communication entre robot Navigant aux instruments (gyroscope + accéléromètre) Capteur RFID (nous) Robot contrôlé à distance, via le wifi

Our Robot ---> BUMBLEBEE

The Best One

Bumblebee

Présentation de notre partie Suiveur RFID

RFID
RFID

Notre mission était de faire un programme, pour exploiter le capteur RFID (permet d’identifier de manière certaine des transpondeurs RFID (une antenne avec une puce contenant un identifiant unique, parfois reprogrammable)). Donc notre programme consiste en : la recherche d’un transpondeur RFID (en avançant d’une longueur L, en reculant de L, puis léger pivot sur la droite, et ainsi de suite), une fois localisé notre robot se met à la recherche d’une second transpondeur, et ainsi de suite. Avec l’interface de Lego Mindstorm, donne programme ressemble à :




.

Description de l’algorithme RFID

Schema condensé :

BlocRFID.jpg

Schéma détaillé :

ProgRFID.jpg

Il se compose en deux parties qui se déroulent simultanément, mais toutes les deux régies par une même variable avec pour valeur préalable « fausse ».

La première (partie haute sur la photo) consiste à ne rien faire s’il ne lit pas le transpondeur, et ceci dans une boucle l’infini. S’il lit le transpondeur, tous les moteurs se stoppent et la variable se réécrit en tant que vrai, et sortie de la boucle.

La deuxième partie régie l’évolution du robot au sol. Si la variable est en valeur « fausse », le robot avance pendant 3 secondes, si la variable est toujours fausse le robot recule pendant 3 secondes, et si la variable est fausse il pivote légèrement sur la droite. Et ceci tant que la variable n’a pas été lue, via la première partie.

Mais tout ceci n’est que pour un transpondeur précis, donc il faut le reproduire autant de fois qu’il y a de transpondeur, en changeant le numéro d’identification dans le programme.

Suiveur Ligne

Un capteur de lumière est aussi intégré à Bumblebee ! Mais ce n'est pas nous qui avons développé cette capacité, le groupe du robot 3PJ (Pierre-Jean et Simon) ! Cette récupération de programme n'a pas été gratuite, nous lui avons donné en échange le programme permettant le contrôle à distance !! Comme on peut le voir sur la photo, notre capteur de lumière est excentré ! Ce qui apporte une touche d'originalité puisqu'on est les seul à l'avoir excentré !

Sonar

Sonar
Sonar


Bumblebee intègre un sonar qui lui permet, lorsqu'il détecte un obstacle à moins de 20cm, de stopper tous les moteurs ainsi que de reculer d'une quinzaine de centimètres pour éviter toute collision.

Cette application a été intégré dans le programme final, via un simple "if".





.

ADM

ADM
ADM



Bumblebee est également d'une Arme de Destruction Massive (ADM) !

Qui n'est autre qu'un lanceur de billes dernière génération super puissant !

Ce qui lui permet de détruire par utilité (traverser un mur) ou par plaisir ...









.

Contrôle à Distance

Le mode télécommande a demandé plus de travail et des échanges avec les autres groupes pour parvenir à un résultat satisfaisant. Tout d'abord, il a fallu installer le système d'exploitation de la Foxboard, y enregistrer l'adresse MAC de la brique NXT afin de faire fonctionner le Bluetooth et y placer les pages Web qui servent d'interface afin de piloter le robot. Ce site intègre également un "demon capture" ce qui permet de voir l'environnement dans lequel évolue Bumblebee via une Webcam embarquée (voir "SiteFOX" et "Webcam") Ensuite il a fallu créer le programme permettant au robot de savoir ce qu'il devait faire en recevant les différents messages (voir "Programme contrôle à distance"). Le programme est tout d'abord composé d'un bloc "réception de message Bluetooth", puis le message reçu, qui contient une valeur numérique, est transformé en variable. Ensuite un bloc "switch" permet d'associer le message reçu avec une action :

SiteFOX
SiteFOX
  • si le message reçu est 0, les moteurs s'arrêtent (un clic sur le "stop")
  • si le message reçu est 1, Bumblebee avance (un clic sur le "Flèche de la croix directionnelle")
  • si le message reçu est 2, Bumblebee recule (un clic sur le "Flèche de la croix directionnelle")
  • si le message reçu est 3, Bumblebee tourne à gauche (un clic sur le "Flèche de la croix directionnelle")
  • si le message reçu est 4, Bumblebee tourne à droite (un clic sur le "Flèche de la croix directionnelle")
  • si le message reçu est 18, Bumblebee suit la rouge dans le sens horaire (un clic sur le "Flèche rouge pointée vers la gauche")
  • si le message reçu est 19, Bumblebee suit la ligne rouge dans le sens opposé (un clic sur le "Flèche rouge pointée vers la droite")
  • si le message reçu est 666, Bumblebee tire utile son ADM (un clic sur le "Desert Eagle")
FinalControl
Programme contrôle à distance
Webcam
Webcam
Wifi
Wifi
Bluetooth
Bluetooth
BDR
Boule De Remorque

Les difficultés rencontrées et leur résolution

La première difficulté a été de comprendre le fonctionnement de l’interface de programmation LEGOMINDSTORM qui semble au premier regard assez simple d’utilisation mais qui se révèle difficile à l’application. En effet il faut réussir à combiner certaines commandes entre elles pour que le robot interagisse correctement. Cela s’est également révélé lors des essais pour comprendre le fonctionnement du capteur RFID : il faut enregistrer les transpondeurs dans le programme pour que le robot exécute une action lorsque le capteur arrive au dessus. Une fois ces problèmes réglés grâce aux explications de nos enseignants, on a pu commencer à créer le programme complet. C’est ici que s’est présentée la plus grande difficulté : on ne réussissait pas à faire lire le capteur RFID en continu. La lecture s’exécutait soit à la fin d’une boucle, soit entre chaque commande mais pas en cours d’exécution. Nos professeurs nous ont alors suggéré (et aidé !!) d’introduire des variables dans le programme ce qui a permis de faire une exécution en parallèle et donc de lire en continu.