Synchronize2011-1

De Wiki de bureau d'études PeiP

Les objectifs de ce Bureau d'Etude

Le but de ce Bureau d’Étude est de concevoir dans un premier temps des robots remplissant une fonction précise comme le suivi de ligne ou la synchronisation avec un autre robot et dans un second temps, les robots doivent intégrer toutes les fonctionnalités proposées. Nous avons été chargé de concevoir un robot destiné à être synchronisé avec un autre robot.


Objectifs de la première partie:

1) Il faut concevoir un robot permettant d'accueillir principalement un boîtier NXT, un boîtier de piles, une foxboard et quatre capteurs.

2) Le robot qui rencontre un obstacle s'arrête et cherche une issue en balayant successivement à gauche et à droite. Lorsque aucun objet n'est détecté, le robot redémarre.

3) Il faut connecter les deux robots communicants par bluetooth afin qu'ils puissent mutuellement recevoir et envoyer des messages à l'autre.

4) Les deux robots avancent en même temps ; lorsqu'un robot détecte un objet, il envoie un message à l'autre et ils exécutent le programme d'évitement mis au point précédemment.


Objectifs de la deuxième partie:

Le robot doit intégrer les fonctionnalités suivantes :

1) être capable de suivre une ligne bleue et une ligne rouge discontinues

2) être capable de capter une carte RFID

3) être capable de connaître sa position exacte

4) être capable de se synchroniser avec d'autres robots

5) être téléguidé via un téléphone androïd

Le robot final effectuera une réprésentation à la fin du Bureau d'Etude.


Construction du Robot synchronisé, ATOM.

30/01/2012: Première séance: Construction du robot.

La base du robot


Nous avons construit la base de la structure du robot incluant trois moteurs. Nous avons tout d'abord repris le modèle de construction du manuel Légo puis nous avons modifié l'original pour que le robot puisse intégrer tous les éléments nécessaires à sa fonctionnalité. Puis, nous avons monté les roues avec dans un premier temps des chaînes. Finalement, nous avons opté pour des pneus car les chaînes n'étaient pas assez tendues et occasionnaient des frottements.

Après introduction du boîtier NXT
Nous avons ensuite mis en place le boîtier NXT puis le capteur. Nous avons ensuite installé la Foxboard en prévision du projet final qui nécessite cet équipement.






06/02/2012: Deuxième séance: Fin de la construction, début de la programmation.

Après introduction de la Foxboard


Nous avons terminé de construire la structure du robot en incluant le matériel nécessaire à l'alimentation des moteurs, le fonctionnement du capteur à ultrasons etc. Nous avons situé à la base de notre robot, le boîtier de piles. Cependant, nous avons laissé un accès pratique en cas de changement de piles par un système de bascule d'une partie de la structure.

Nous avons pu commencer la programmation par le logiciel Lego Mindstorm.
Le robot dans sa finalité







Programmation pour la première partie du projet

Première partie du programme:

Nous avons réalisé un premier code via le logiciel Lego Mind Storm permettant au robot de s'arrêter s'il détecte un obstacle et d'avancer sinon. Puis nous avons mis au point un système de balayage de la zone : Le robot pivote successivement d'un angle donné à gauche et du double de cet angle à droite etc ; ainsi, il contourne l'objet par le chemin le plus accessible selon la position de l'obstacle. Nous avons imposé un angle maximum de pivot pour éviter que le robot tourne de 360°. De cette façon, si l'obstacle est en mouvement, le robot s'arrête quand il atteint l'angle limite et il redémarre quand il n'y a plus d'obstacle.


Seconde partie du programme:

Nous avons tout d'abord réalisé un court programme, en collaboration avec le second groupe chargé des robots communicants, qui permet d'envoyer et de recevoir des messages par bluetooth d'un robot à l'autre. Ensuite, nous avons élaboré un code qui permet aux robots d'éviter des obstacles simultanément grâce à la communication par bluetooth. Ainsi, Les deux robots démarrent le programme en avancant tout droit; Lorsque l'un des deux détecte un obstacle, ils l'évitent ensemble en le contournant. Pour ce faire, nous avons du définir par défaut que le maître serait toujours à la gauche de l'esclave. De ce fait, si l'esclave détecte l'objet, les deux robots le contourne par la droite alors qu'ils le contournent par la gauche si c'est le maître qui a l’obstacle. Si les deux robots détectent un objet simultanément alors ils s'arrêtent. Ils redémarrent lorsque l'objet est retiré..

Connexion Bluetooth

La connexion bluetooth entre deux robots se décompose en plusieurs étapes. Tout d'abord, l'un des robots doit être défini comme le maître et par défaut, l'autre devient esclave. Le robot maître est celui qui entame la connexion bluetooth avec l'autre robot. L'esclave occupe obligatoirement la connexion 0 alors que le maître est libre de se connecter sur celle qu'il souhaite. Afin de pouvoir créer la connexion, il est nécessaire de sélectionner l'intitulé exact du robot auquel on souhaite s'appareiller.

Les robots maître et esclave ne peuvent partager un même programme de communication inter-robots; Tout d'abord, le programme du maître doit intégrer la fonction: démarrer la connexion bluetooth avec l'esclave. Ensuite, il nous faut définir une boîte aux lettres pour l'envoi et une autre pour la réception. Par ailleurs, la boîte aux lettres sur laquelle émet le robot maître doit être celle définie comme boîte de réception du robot esclave et inversement.


défaut de la communication: Temps nécessaire au maître pour entamer la connexion et recevoir les instructions de l'esclave !!! Voir la définition de la position des robots par rapport à l'autre ! et difficulté d'intégration de la manœuvre d'évitement par rapport au logiciel