PPE | 2009
1) Robot Prototype
a) Préliminaires
Il nous a tout d’abord été fourni une feuille explicative pour programmer un robot prototype, nous
avions aussi à notre disposition un robot prototype sur lequel nous pouvions transférer notre programme
que l’ont à créé sous FLOWCODE afin de le tester sur la piste !
J’ai commencé par convertir les valeurs qui nous étaient donnés comme les valeurs decimales que
l'on donnait au moteur et auquel était associé une certaine vitesse :
- 000000, 0 en code décimal, ce qui correspond à une vitesse de -1m/s
- 001111, 31 En code décimal, ce qui correspond a une vitesse de 0m/s
- 111111, 63 en code decimal, ce qui correspond a une vitesse de 1m /s
J’ai ensuite converti l’état des capteurs en code decimal :
ici les capteurs détectent la ligne noire tout à droite ce qui correspond au code decimal
124 puisque les 2 premiers bits (C0 et C1) sont masqués, que le premier bit (C2) est situé tout a gauche, et
que l’état logique du capteur est à 0 lorsqu’il détecte la ligne noire et j’ai fait ainsi de suite pour chaque état
du capteur.
Ainsi selon la valeur que les capteurs captaient, l’ordre donne aux roues n’était pas la meme, pre-
nons le cas de 124, puisque la ligne noire est tout a droite du robot, il faut mettre le moteur gauche a fond
(63) et le moteur droit à l’arret (31).
b) Tests
Après avoir fini le programme, j'ai testé celui-ci en le mettant sur le robot, il fallait tout d'abord
compiler le .fcf en un fichier .hex, puis ensuite utiliser MPLAB IDE pour transferer le programme sur le ro-
bot. Après plusieurs tests sans les obstacles, je me rend compte que mon robot ne suit pas très bien la
ligne, je me suis tout d'abord dit que je devais plutôt utiliser des vitesses intermédiaires au lieu de n'utiliser
que 31 et 63, ainsi j'ai rajoute plusieurs vitesses intermédiaires selon ce que captaient les capteurs, après
d'autres test le robot suivait mieux la ligne car il avait plus le temps de capter la ligne, mais ce n’était pas
encore assez car il prenait les virages trop largement et il prenait du temps avant de se remettre droit ; j’ai
donc pensé que le robot ne corrigeait pas assez sa trajectoire, il a donc fallut rajouter les états des capteurs
2 à 2 c'est-à-dire non seulement avoir et mais aussi , ainsi de
suite… je donnais au robot plus d’actions à faire. Grace à cela le robot suivait bien la ligne.
Il fallait aussi que le robot marche avec les obstacles, le robot parvenait bien a parcourir le circuit
avec les obstacles cependant des fois il trainait en haut du toboggan car les roues patinaient, il fallait donc
nettoyer les roues et la piste nous-mêmes pour que le robot patine le moins possible.
Après cela le robot parcourait donc la piste en suivant bien la ligne et en passant tous les obstacles.
Il fallait juste tester de nouvelles valeurs de vitesses afin de trouver l’accord parfait entre le suivi de la ligne
et la vitesse, le tableau ci-dessous représente les valeurs finales retenues, c’est un tableau récapitulatif des
vitesses, des positions :