Rss Faire du suivi de ligne

Sommaire:

 

Le suivi de ligne grâce à la lumière



Le capteur de lumière peut fonctionner dans deux modes différents comme nous l'avons vu dans la partie consacrée à ce dernier.
Il peux fonctionner soit en mode capteur de couleur, soit en mode capteur de luminosité.

C'est ce capteur qui sera utilisé pour faire le suivi d'une ligne noire sur fond blanc, comme celle imprimé sur votre planche de test.

Comme il peut fonctionner de deux façons différentes, nous verrons donc les deux manières de faire du suivi de ligne avec un capteur de lumière.

Mais commençons tout d'abord par voir le principe du suivi de ligne.


Le principe du suivi de ligne




Le principe de notre programme sera le suivant. Initialement, le robot sera placé de telle sorte qu'il soit centré sur la ligne noire. Le capteur de lumière se trouvant juste au dessus de celle-ci.

Nous allons faire avancer notre robot tout en le faisant tourner d'un côté ou d'un autre.

Lorsqu'il détectera une couleur noire, il avancera en tournant vers la droite. De ce fait, ce léger virage déplacera le capteur de lumière vers un côté de la ligne et il se retrouvera à un moment au dessus de la couleur blanche.

Le robot aura tous simplement sortie de l'axe de la ligne.

Lorsqu'il détectera une autre couleur que le noir, comme par exemple la couleur blanche de la planche de test, il avancera en tournant cette fois ci vers la gauche.

Ainsi, le robot reviendra vers l'axe de la ligne noire et il aura avancé car les deux roues auront tournées dans le même sens sur une courte distance.

Le capteur repassant au dessus de la ligne noire, il aura donc fait un cycle complet, à savoir, être sur la ligne puis s'en éloigner et enfin revenir vers cette même ligne.

Le cœur du programme est là. Il ne suffira plus qu'à faire effectuer ce cycle au robot de manière permanente.

Voyons donc maintenant les deux manières de réaliser un programme de suivi de ligne selon que l'on décide d'utiliser le capteur de lumière dans son mode capteur de couleurs ou dans son mode capteur de luminosité.


Avec le mode capteur de couleurs




Dans ce mode de fonctionnement, le capteur de lumière permet de déterminer la couleur qui se trouve en face de lui.

Et concernant le suivi de ligne, il n'y a que deux couleurs à détecter. La couleur noire de la ligne et la couleur blanche de la planche de test.

Nous choisirons donc la couleur noire comme condition de commutation du programme.


Utilisation avec le capteur de couleurs du set NXT 2.0 (8547)





Commençons par placer une boucle infinie au début de notre programme. En effet, le suivi de ligne va se faire en permanence.




Puis, placez à l'intérieur de cette boucle un bloc "Commutation" paramétré sur le capteur de couleur et réglé sur la couleur noire.




De cette manière, la condition de commutation du programme sera la couleur déterminée par le capteur de lumière.

Si le capteur identifie devant lui une couleur noire, celle de la ligne, la condition est vrai et le bloc "Commutation" exécutera le bloc placé sur le rayon de séquence supérieur.

Nous allons utiliser un bloc "Déplacer" pour contrôler les deux moteurs de propulsion et le configurer de tel manière que le robot tourne vers la droite :




Assurez-vous bien de régler le paramètre Diriger à l'aide de sa réglette de façon correcte. Ne poussez pas entièrement la réglette sur la droite sous peine de voir votre robot effectuer des rotations sur lui-même au lieu d'avancer en tournant vers la droite.
Vous devez revenir un peu en arrière sur la gauche avec votre réglette de manière à obtenir que le symbole de direction représenté par une flèche affiche un virage à droite et non un demi-tour.

De même, configurer le paramètre Durée sur Illimité pour obtenir un mouvement continu.

Si le capteur identifie devant lui une autre couleur que le noir, comme la couleur blanche de la planche de test, b]la condition est fausse[/b] et le bloc "Commutation" exécutera le bloc placé sur le rayon de séquence inférieur.

Là encore, nous utiliserons un bloc "Déplacer". Mais configuré cette fois pour que le robot tourne vers la gauche :




Les recommandations indiqués ci-dessus concernant les paramètres Diriger et Durée s'applique également sur ce dernier bloc.
Prenez donc garde ici de ne pas pousser la réglette entièrement à gauche.

Voila en ce qui concerne le programme suivi de ligne en mode capteur de couleur, le principe de fonctionnement étant appliqué correctement.

Voyons maintenant le programme suivi de ligne en mode capteur de luminosité.


Avec le mode capteur de luminosité




Dans ce mode de fonctionnement, le capteur de lumière permet de mesurer l'intensité de la lumière qu'il capte.
Plus le capteur reçoit de la lumière, plus la valeur numérique qu'il renvoi au NXT est grande.

Cette lumière peut provenir de la luminosité ambiante ou être émisse par la lampe du capteur.

Nous utiliserons ici la lampe du capteur pour émettre la lumière qui sera réfléchie par la surface de la planche de test et ainsi renvoyée au capteur de lumière pour qu'il en mesure l'intensité. Nous fonctionnerons donc en mode de lumière réfléchie.

La valeur numérique renvoyé par le capteur varie entre 0 et 100. La valeur 0 indiquant qu'il ne reçoit pas de lumière et la valeur 100 qu'il en reçoit un maximum. Les différentes valeurs intermédiaires indiquent s'il en reçoit plus ou moins.

Ce mode de fonctionnement peut être utilisé pour faire du suivi de ligne.

Cela est possible grâce à une particularité physique intéressante, celle qu'ont les couleurs à absorber la lumière. Plus une couleur est sombre, plus elle absorbe de lumière. Ainsi, la couleur noire, qui est la plus sombre possible dans la nature, absorbe presque toute la lumière et n'en réfléchie quasiment pas. De fait la valeur renvoyé par le capteur sera faible, aux environs de 20, car il captera peu de lumière.

A l'inverse, la couleur blanche, très claire, renvoie quasiment toute la lumière quelle reçoit. Dans ce cas, la valeur renvoyé par le capteur sera plus importante, aux environs de 60, car il captera plus de lumière.

De fait, l'utilisation de cette particularité physique avec le capteur de lumière fonctionnant en mode capteur de luminosité nous permettra de faire la distinction entre le blanc de la planche de test et le noir de la ligne que nous voulons suivre. Lorsque le capteur se trouvera au dessus de la couleur blanche, il recevra beaucoup de lumière et n'en recevra pratiquement plus au dessus de la ligne noire.


Utilisation avec le capteur de couleurs du set NXT 2.0 (8547)





Le programme se trouve être le même que précédemment. A l'exception près, bien évidemment, du mode de fonctionnement du capteur de lumière.




Vous devez ici choisir l'option Capteur photosensible du paramètre Action et sélectionner le signe < (plus petit que) dans le paramètre Comparer, en sélectionnant le bouton de gauche représenté par une lumière sombre, de manière à indiquer au bloc "Commutation" d’exécuter le rayon de séquence supérieur (b]condition vrai[/b]) lorsque le capteur de lumière renverra une valeur de luminosité inférieur à la valeur de déclenchement indiqué dans le champ de saisie situé à droite. Cette valeur de déclenchement a une valeur de 50 par défaut. Vous pouvez changer ce réglage avec la réglette et ses deux boutons aux extrémités ou avec la zone de saisie.

Enfin, assurez-vous que la lampe de couleur soit bien activée par le fait que sa boîte d'activation soit cochée et que ce soit la lumière rouge qui soit sélectionnée. En effet, même si le programme suiveur de ligne peut fonctionner avec n'importe quelle couleur de lampe (rouge, vert ou bleu), c'est la couleur rouge qui est le plus souvent employée car moins absorbé par la surface de la planche de test que les deux autres couleurs.

Comme il est là, le programme pourrait fonctionner correctement.

Si le capteur mesure une valeur inférieure à 50, c'est à dire qu'une couleur sombre comme la couleur noire de la ligne se trouve en face de lui, le rayon de séquence supérieur est exécuté es le robot avance en tournant vers la droite.

Si le capteur mesure une valeur supérieure à 50, c'est à dire qu'une couleur claire comme la couleur blanche de la planche de test se trouve en face de lui, le rayon de séquence inférieur est exécuté et le robot avance en tournant vers la gauche.

Vous pouvez laisser cette valeur de déclenchement à 50. Elle représente bien la valeur médiane entre la couleur la plus claire, le blanc, et la couleur la plus sombre, le noir. Ce seuil divise toute la plage des valeurs du capteur de lumière en deux catégories. La catégorie des couleurs claires et la catégorie des couleurs sombres.

Toutes les valeurs renvoyées par le capteur de lumière se trouvant supérieure à ce seuil, c'est à dire dans la plage de valeur allant de 50 à 100, sont considérées comme faisant parties de la catégorie des couleurs claires. De même, toutes les valeurs inférieure à ce seuil allant de 0 à 49 sont considérées comme des couleurs sombres.

Mais vous pouvez encore améliorer un peu le programme en choisissant plus finement la valeur de déclenchement.

En effet, si vous regardez bien l'image ci-dessus concernant le panneau de configuration du bloc "Commutation", vous aurez sans doute remarqué sur la gauche que la zone de rétroaction me renvoie une valeur de 24.

Il s'agit en fait, dans mon cas, de la valeur renvoyé par le capteur de lumière lorsque je le place au dessus de la ligne noire de ma planche de test.

Vous pouvez faire de même chez vous, en connectant d'abord le NXT de votre robot sur l'ordinateur puis en lançant le programme LEGO MINDSTORMS NXT. Créer le programme ci-dessus, ou ouvrer le fichier de ce programme s'il est déjà créé, et placer votre robot sur votre planche de test de manière à ce que le capteur de lumière se trouve au dessus de la ligne noire à suivre.

La zone de rétroaction de votre bloc "Commutation" vous indiquera la valeur du niveau de luminosité mesuré dans votre propre environnement personnel. Cette valeur variant selon que vous soyez dans une pièce plus ou moins bien éclairée. Dans tout les cas, vous trouverez une valeur aux environs de 20.

De même, comme pour moi avec l'image ci-dessous, vous pouvez mesurer le niveau de luminosité mesuré au dessus de la surface blanche de votre planche de test. Il vous suffit simplement pour cela de déplacer légèrement votre robot de manière à ce que le capteur de lumière soit placé au dessus de la couleur blanche de votre planche de test.



Comme vous pouvez le voir, la mesure effectuée au-dessus de la surface blanche de ma planche de test fournie une valeur de 58.

Ainsi, comme expliqué dans cette partie du tutoriel concernant le calcul d'une moyenne arithmétique, nous pouvons faire la moyenne de ces deux valeurs.
Ce qui donne dans mon cas :

Moyenne~=~(~24~+~58~) / 2~=~82 / 2~=~41



Il ne reste plus qu'à régler finement la valeur de déclenchement du bloc "Commutation" en rentrant cette valeur moyenne dans la zone de saisie du paramètre Comparer. Comme montré sur l'image ci-dessous :



Faite de même chez vous avec les valeurs de vos propres mesures.

La différence n'est pas énorme entre 41 et 50, mais votre robot réagira mieux en connaissant la valeur moyenne des deux valeurs extrêmes qu'il rencontrera.

Comme vous pouvez le constater, ce n'était pas très compliqué. :lol


Utilisation avec le capteur photosensible des sets NXT 1.0 (8527) et éducation (9797)







Vous devez ici choisir l'option Capteur photosensible du paramètre Capteur et sélectionner le signe < (plus petit que) dans le paramètre Comparer, en sélectionnant le bouton de gauche représenté par une lumière sombre, de manière à indiquer au bloc "Commutation" d’exécuter le rayon de séquence supérieur (b]condition vrai[/b]) lorsque le capteur de lumière renverra une valeur de luminosité inférieur à la valeur de déclenchement indiqué dans le champ de saisie situé à droite. Cette valeur de déclenchement a une valeur de 50 par défaut. Vous pouvez changer ce réglage avec la réglette et ses deux boutons aux extrémités ou avec la zone de saisie.

D'ailleurs, vous pouvez voir sur l'image ci-dessus que la valeur de déclenchement a été fixée à 41 suite au calcul de la moyenne effectuée précédemment et expliqué en détail pour le capteur de couleurs.

Enfin, assurez-vous que la lampe de couleur soit bien allumée par le fait que sa boîte d'activation soit cochée.

Comme il est là, le programme fonctionne correctement.

Si le capteur mesure une valeur inférieure à 41, c'est à dire qu'une couleur sombre comme la couleur noire de la ligne se trouve en face de lui, le rayon de séquence supérieur est exécuté es le robot avance en tournant vers la droite.

Si le capteur mesure une valeur supérieure à 41, c'est à dire qu'une couleur claire comme la couleur blanche de la planche de test se trouve en face de lui, le rayon de séquence inférieur est exécuté et le robot avance en tournant vers la gauche.

Vous pouvez toutefois laisser cette valeur de déclenchement à 50. Elle représente bien la valeur médiane entre la couleur la plus claire, le blanc, et la couleur la plus sombre, le noir. Ce seuil divise toute la plage des valeurs du capteur de lumière en deux catégories. La catégorie des couleurs claires et la catégorie des couleurs sombres.

Toutes les valeurs renvoyées par le capteur photosensible se trouvant supérieure à ce seuil, c'est à dire dans la plage de valeur allant de 50 à 100, sont considérées comme faisant parties de la catégorie des couleurs claires. De même, toutes les valeurs inférieure à ce seuil allant de 0 à 49 sont considérées comme des couleurs sombres.

Voila ce qui termine pour de bon ce tutoriel sur le suivi de ligne simple.

 
 « Page précédente
Le bloc Commutation
 1  2  3  4 
Page suivante »
Conclusion 
 
 
Aucune note
Ecrit par: FRED_80 Le: 15/04/11