BE 2011-2012

De Wiki de bureau d'études PeiP
Révision datée du 28 janvier 2012 à 16:41 par Rex (discussion | contributions) (Robots synchronisés)

But à atteindre

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).


Matériel à votre disposition

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 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.
Boite mindstorm.jpg
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.

Répartition des tâches

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).

Robot suiveur de ligne

Vous devez créer un robot capable de suivre une courbe discontinue au sol. Le robot doit être capable de réaliser les actions ci-dessous.

  • en cas de perte du marquage, tourner dans un sens puis dans l'autre pour tenter de le retrouver avec des angles de plus en plus grands ;
  • si le marquage ne peut pas être retrouvé, se remettre dans la position de la perte initiale et partir tout droit ;
  • se remettre dans l'axe du marquage lorsque ce marquage est retrouvé ;
  • s'arrêter quand un obstacle se présente devant lui et repartir si l'obstacle disparait ;
  • changer de parcours sur commande, c'est à dire emprunter un parcours d'une couleur différente dès qu'il est rencontré ;
  • inverser son sens de parcours.

Voici des exemples de parcours discontinus pouvant être suivis dans les deux sens.

Matériel: boite lego MindStorm, scotch de couleur.

Robots synchronisés

Cette étude sera menée par deux binômes. Vos deux robots doivent être capables de se synchroniser. Il vous est demandé de réaliser le comportement décrit ci-dessous.

  • séparés les robots avancent tout droit et s'arrêtent dès qu'ils détectent un obstacle avec leur sonar ;
  • les deux robots doivent pouvoir être couplés côte à côte ;
  • dans le mode couplé, les robots avancent quand aucun obstacle n'est détecté par leurs sonars ;
  • dans le mode couplé, si un robot détecte un obstacle et l'autre non le couple tourne dans la direction

Les robots démarrent avec une trajectoire pré-programmée (par exemple un large cercle) et envoient un message dès qu'un obstacle se présente à eux. Le robot recevant le message doit s'arrêter lui aussi. Quand l'obstacle s'efface les deux robots repartent.

La communication entre les deux robots se fait par =bluetooth=. Etudiez le problème de la perte de signal et sous quelles conditions les robots peuvent se remettre a communiquer quand ils reviennent à portée.

Matériel: %GREEN%2 boites lego %NOP%MindStorm%ENDCOLOR%.

Robot suiveur RFID

Vous doterez votre robot d'un lecteur RFID. Votre robot devra suivre les tags RFID posés au sol. La difficulté consiste à trouver le tag suivant. Dans un premier temps vous pourrez supposer que la trajectoire est une ligne brisée avec des angles entre les segments connus. Par la suite il faudra trouver un algorithme pour trouver le tag suivant le plus proche sans faire d'hypothèse particulière. La direction de la trajectoire doit être prise en compte dans cet algorithme.

Matériel: %GREEN%boite lego %NOP%MindStorm%ENDCOLOR%, %GREEN%module RFID%ENDCOLOR%.

Robot naviguant aux instruments

Vous doterez votre robot d'un gyroscope et d'un accéléromètre pour lui permettre de se situer avec précision dans l'espace. Votre robot sera déposé au point "origine" et de là sera capable de donner, en intégrant son accélération et en maitrisant ses rotations, à tout moment, sa position cartésienne par rapport au point "origine". Votre robot suivra une trajectoire aléatoire pour mieux tester vos algorithmes de calcul de position. La position (X,Y) doit être affichée sur l'écran LCD du micro-contrôleur.

Matériel: %GREEN%boite lego %NOP%MindStorm%ENDCOLOR%, %GREEN%capteur accéléromètre%ENDCOLOR%, %GREEN%module gyroscope%ENDCOLOR%.

Robot téléguidé avec système embarqué

Votre robot doit pouvoir être radio-guidé par un contrôleur. Le dit contrôleur peut diriger le robot au vu de l'image de la webcam embarquée. L'acquisition de la webcam et sa diffusion par Wifi est assuré par un système embarqué %NOP%FoxBoard. La %NOP%FoxBoard vous sera livrée configurée mais il faudra étudier la possibilité de l'alimenter sans secteur (une piste à explorer est l'utilisation d'un boitier à piles pour alimenter des périphériques USB). Un calcul du temps d'autonomie doit être effectué. Dans un premier temps le radio-guidage peut se faire à l'aide du logiciel %NOP%MindStorm par =bluetooth=. Dans un second temps il faut étudier la possibilité d'un radio-guidage par Wifi, les ordres étant reçus par la %NOP%FoxBoard puis transmis au micro-contrôleur %NOP%MindStorm. Ce dernier point nécessite de régler un certain nombre de problèmes dont connecter 3 périphériques USB sur la %NOP%FoxBoard et faire communiquer la %NOP%FoxBoard et le micro-contrôleur %NOP%MindStorm par =bluetooth=. Pour établir cette communication, il sera peut être nécessaire de passer à une programmation plus bas niveau. Consultez la page web http://vikram.eggwall.com/computers/nxt.html.

Matériel: %GREEN%boite lego %NOP%MindStorm%ENDCOLOR%, %GREEN%eeePC avec convertisseur =bluetooth= %ENDCOLOR%, %GREEN%%NOP%FoxBoard avec webcam, interface Wifi, convertisseur =bluetooth= %ENDCOLOR%, %GREEN%boitier piles%ENDCOLOR%.

Intégration des fonctionnalités

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.

Pour configurer la FoxBoard avec tout le matériel nécessaire, suivez les instructions.

Pour une description du système à obtenir suivez la flèche.

Img circuit.jpg

Démonstration finale

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.