SuiveurLigne : Différence entre versions
(→Algorithme) |
(→Suite du programme) |
||
(21 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
=Introduction= | =Introduction= | ||
+ | Le but de ce bureau d'étude est de créer un robot capable de suivre une ligne de couleur passée en paramètre. | ||
+ | |||
=Robot= | =Robot= | ||
− | + | Notre robot est assez simple. Pour le construire, nous avons suivi le guide [http://fr.wikipedia.org/wiki/Lego_Mindstorms_NXT Lego Mindstorms NXT]. <br /> | |
− | + | Il dispose de 3 moteurs, dont un servant au lestage du robot, qui permettent le déplacement du robot via 4 roues. <br /> | |
− | + | Le robot est composé aussi de 2 capteurs, un capteur de couleur dirigé vers le sol, il va permettre de détecter les couleurs du sol, et un capteur d'ultrasons qui permet de détecter les objets et de mesurer les distances. <br /> | |
− | + | Enfin, il y a la brique NXT où sont reliés les capteurs et les moteurs via des câbles adaptateur. C'est cette brique qui va supporter le programme et permettre de faire la liaison entre les moteurs et les instructions rentrées en données. | |
=Algorithme= | =Algorithme= | ||
− | L'algorithme permettant au robot de suivre des lignes est composé d'une | + | L'algorithme permettant au robot de suivre des lignes est composé d'une boucle à l'infini. <br /> |
Dans cette boucle se trouve un bloc de conditions, il va tester si le capteur de couleur détecte la couleur cherchée. Au cas où il se trouve au dessus de la couleur cherchée, le moteur B va fonctionner plus fort que le moteur A, ce qui va permettre au robot de suivre le bord droit de la ligne(voir ci-dessous).<br /> | Dans cette boucle se trouve un bloc de conditions, il va tester si le capteur de couleur détecte la couleur cherchée. Au cas où il se trouve au dessus de la couleur cherchée, le moteur B va fonctionner plus fort que le moteur A, ce qui va permettre au robot de suivre le bord droit de la ligne(voir ci-dessous).<br /> | ||
Dans l'autre cas, c'est à dire lorsque la couleur n'est plus vue, c'est le moteur A qui va fonctionner plus fort que le moteur B. Le robot va alors retrouver la ligne à suivre. <br /> | Dans l'autre cas, c'est à dire lorsque la couleur n'est plus vue, c'est le moteur A qui va fonctionner plus fort que le moteur B. Le robot va alors retrouver la ligne à suivre. <br /> | ||
[[Image:robot.jpg|thumb|alt=robot |center| upright=1.0]]<br /> | [[Image:robot.jpg|thumb|alt=robot |center| upright=1.0]]<br /> | ||
− | Pour ce faire, nous avons | + | Pour ce faire, nous avons paramétré les différents moteurs. Nous avons donc définit dans le premier cas une alimentation de 50 pour le moteur A et une alimentation de 10 pour le moteur B; et inversement dans le second cas. Dans le bloc de conditions, nous avons également paramétré la couleur bleu en tant que couleur à suivre. |
[[Image:algorithme.png |thumb|alt= Algorithme du robot |center |upright=1.5 ]] | [[Image:algorithme.png |thumb|alt= Algorithme du robot |center |upright=1.5 ]] | ||
Ligne 19 : | Ligne 21 : | ||
=Problèmes rencontrés= | =Problèmes rencontrés= | ||
− | Nous avons | + | Nous avons rencontré plusieurs problèmes suite à l'élaboration de notre algorithme <br /> |
− | * Notre robot ne s'arrête pas lorsqu'il ne trouve plus de ligne | + | * Notre robot ne s'arrête pas lorsqu'il ne trouve plus de ligne, cela s'explique par le fait que le robot va continuer à aller vers la gauche jusqu'à ce qu'il retrouve une ligne, il faudrait ajouter un paramètre qui oblige le robot à s'arrêter après un certain laps de temps. |
− | * Le robot n'arrive pas à suivre des lignes avec des rayons de courbures trop élevés | + | * Le robot n'arrive pas à suivre des lignes avec des rayons de courbures trop élevés. |
=Suite du programme= | =Suite du programme= | ||
+ | Le principal point à traiter est la resolution des problemes évoqués précédemment. En effet, lorsque le robot sera sur son circuit, en présence des autres robots, il devra savoir faire des virages serrés afin d'éviter les collisions. <br /> | ||
+ | Il serait intéressant de pouvoir changer facilement la couleur passée en paramètre, et de réussir a faire s’arrêter le robot lorsqu'il ne trouve plus cette ligne de couleur. <br /> | ||
+ | Ceci étant fait, nous mettrons nos robots en communs avec ceux des autres élèves. Le problème qui se posera sera celui de la reconnaissance entre robots. Le nombre de connexion entre ceux ci étant limité. |
Version actuelle datée du 8 mars 2011 à 13:56
Introduction
Le but de ce bureau d'étude est de créer un robot capable de suivre une ligne de couleur passée en paramètre.
Robot
Notre robot est assez simple. Pour le construire, nous avons suivi le guide Lego Mindstorms NXT.
Il dispose de 3 moteurs, dont un servant au lestage du robot, qui permettent le déplacement du robot via 4 roues.
Le robot est composé aussi de 2 capteurs, un capteur de couleur dirigé vers le sol, il va permettre de détecter les couleurs du sol, et un capteur d'ultrasons qui permet de détecter les objets et de mesurer les distances.
Enfin, il y a la brique NXT où sont reliés les capteurs et les moteurs via des câbles adaptateur. C'est cette brique qui va supporter le programme et permettre de faire la liaison entre les moteurs et les instructions rentrées en données.
Algorithme
L'algorithme permettant au robot de suivre des lignes est composé d'une boucle à l'infini.
Dans cette boucle se trouve un bloc de conditions, il va tester si le capteur de couleur détecte la couleur cherchée. Au cas où il se trouve au dessus de la couleur cherchée, le moteur B va fonctionner plus fort que le moteur A, ce qui va permettre au robot de suivre le bord droit de la ligne(voir ci-dessous).
Dans l'autre cas, c'est à dire lorsque la couleur n'est plus vue, c'est le moteur A qui va fonctionner plus fort que le moteur B. Le robot va alors retrouver la ligne à suivre.
Pour ce faire, nous avons paramétré les différents moteurs. Nous avons donc définit dans le premier cas une alimentation de 50 pour le moteur A et une alimentation de 10 pour le moteur B; et inversement dans le second cas. Dans le bloc de conditions, nous avons également paramétré la couleur bleu en tant que couleur à suivre.
Problèmes rencontrés
Nous avons rencontré plusieurs problèmes suite à l'élaboration de notre algorithme
- Notre robot ne s'arrête pas lorsqu'il ne trouve plus de ligne, cela s'explique par le fait que le robot va continuer à aller vers la gauche jusqu'à ce qu'il retrouve une ligne, il faudrait ajouter un paramètre qui oblige le robot à s'arrêter après un certain laps de temps.
- Le robot n'arrive pas à suivre des lignes avec des rayons de courbures trop élevés.
Suite du programme
Le principal point à traiter est la resolution des problemes évoqués précédemment. En effet, lorsque le robot sera sur son circuit, en présence des autres robots, il devra savoir faire des virages serrés afin d'éviter les collisions.
Il serait intéressant de pouvoir changer facilement la couleur passée en paramètre, et de réussir a faire s’arrêter le robot lorsqu'il ne trouve plus cette ligne de couleur.
Ceci étant fait, nous mettrons nos robots en communs avec ceux des autres élèves. Le problème qui se posera sera celui de la reconnaissance entre robots. Le nombre de connexion entre ceux ci étant limité.