SuiveurRFID2011-1

De Wiki de bureau d'études PeiP

Introduction

Il s'agit ici de modifier la direction du robot en fonction de la puce RFID au dessus de laquelle il passe. Pour ce faire, le robot est équipé d'un capteur RFID afin de lire les puces et d'une boussole pour de le diriger. Lorsque le robot détectera une carte RFID, celle-ci lui indiquera la direction dans laquelle il doit aller, puis il devra avancer et maintenir son cap afin de tomber sur la carte suivante, et ainsi de suite.

La construction du robot

Le robot en cours de construction

La première fabrication

Il s'agit initialement de construire le robot en y incluant les différents composants nécessaires à notre projet, en particulier le capteur RFID et la boussole.


Notre robot dans l'état actuel (sans les cables)


Lecture d'une puce RFID




Les modifications apportées

Lors de l'essai de la boussole, nous nous sommes rendus compte que notre robot n'effectuait pas la tâche souhaitée. Nous avons d'abord pensé à une erreur de programmation, puis avons fini par penser à un problème matériel. En effet, pour fonctionner la boussole a besoin d'être installée à l'horizontale, or nous l'avions placée à la verticale à côté du capteur RFID. Une fois ce changement effectué, l'installation fonctionnait.




La programmation

Les débuts

Faire avancer le robot jusqu'à ce qu'il passe sur une carte RFID dont le nom est donné en paramètre

Lors de nos premières séances, nous nous sommes d'abord familiarisés avec le logiciel Mindstorms NXT utilisé pour programmer notre robot. Les premiers essais ont eu pour but de faire avancer le robot puis de l'arrêter lorsqu'il passe sur une puce RFID avant de le faire redémarrer quelques secondes plus tard.

Au bout de quelques séances, le programme marchait assez bien, mais il était extrêmement répétitif. En effet, nous avions fait un bloc pour chaque puce : les cartes devaient donc être dans un ordre bien précis, et rien ne changeait dans nos différents blocs si ce n'est le nom de la puce et la plage du cap vers lequel se diriger. Par la suite, et avec le conseil de l'un des professeurs, nous avons donc trouvé plus judicieux de tout réunir en un seul bloc puis de sélectionner la direction grâce au nom de la carte RFID stockée dans une variable.

A noter que pour pouvoir créer notre programmes, nous avons dû ajouter deux modules téléchargés sur internet : celui du lecteur RFID et celui de la boussole. Ils n'étaient pas intégrés par défaut à l'interface.


L'algorithme de programmation

Faire avancer le robot

Lorsque le capteur détecte une puce RFID, stocker son nom dans la variable "Texte 1"
Comparer la variable "Texte 1" avec les différents noms de puces RFID répertoriés Selon le nom de la puce, une valeur va être attribuée à la variable "Nombre 1" et une valeur à la variable "plage_bas"
Boucle tant que "on ne passe pas au dessus d'une autre puce RFID" Si le cap actuel est compris dans la plage allant de "Nombre 1" à "plage_bas" alors Avancer tout droit Sinon Si le cap actuel est inférieur à "Nombre 1" alors Tourner à droite Sinon Tourner à gauche Fin si Fin si Fin de la boucle


Lecture de la carte RFID, stockage de son nom dans une variable qui sera comparée afin de connaitre la destination à prendre
Réorientation du robot s'il dévie trop