SuiveurRFID2011-1
Sommaire
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
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. Le but n'était pas de suivre le mode d'emploi fourni par le constructeur, puisque notre robot diffère sur différents points. En effet, nous n'avons par exemple pas besoin d'y intégrer un troisième moteur central.
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
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
Problème rencontré
Comment passer à coup sûr sur la carte RFID ?
Lors des premières séances, nos puces RFID étaient petites (de la taille d'une pièce de 2€) et le capteur RFID passait donc rarement dessus, même si le robot était envoyé dans la bonne direction. Pour corriger ce problème, nous avons par la suite pu utiliser des cartes RFID (de la taille d'une carte bleue) : plus fines et occupant une surface bien plus importante, le robot a davantage de chances de passer dessus. Prochainement, les cartes RFID seront au centre d'un cercle de couleur. Le robot passera forcément sur le cercle de couleur, il n'aura alors plus qu'à trouver la carte RFID au centre de celui-ci.