EV3 : Suiveur de ligne

Présentez-nous vos créations...
Avatar de l’utilisateur
Hugolin
Level 6
Level 6
 
Messages: 342
Localisation: Aicirits 64
Âge: 49 ans
moceurtechnicexpertvainqueurconcours2

Messagepar Hugolin » Sam Nov 29, 2014 8:09 pm

Merci

=> YodaSoftware
Oui les tests avec angle droit vont venir.
Avec le programme de la video, en cas d'angle droit, le robot perd la ligne et continu.

Je viens de rajouter la séquence en cas de perte de ligne :
Et bien avec 7 points de mesure sur la rotation de la tête, il ne trouve pas à chaque fois la ligne, même en ligne droite.
- Sans la séquence "perte de ligne" ça ne pose pas de problème puisqu'il continu avec les dernières puissances utilisées et la retrouve juste après (c'est ce qu'il se passe sur la vidéo). Enfin ça arrive aussi qu'il ne la retrouve pas et parte dans les choux.
- Avec, quand il perd la ligne, il repart un peu en arrière pour la retrouver. Ca marche mais le mouvement est moins fluide.

Je vais passer à 9 points de mesure pour limiter les cas de pertes de ligne et peut être faire en sorte que le programme ignore les premières pertes pour être sur que la ligne est vraiment perdu.

Normalement, en cas d'angle droit, il devrait retrouver la ligne quand il recule :
Le tête décrit un arc de cercle, elle est donc plus reculée quand elle cherche sur les cotés.
Du coup elle doit retrouver la ligne sur un coté en premier.


=> Tcdovdi14
Le robot repose sur ces 2 roues et un roulette fait avec la pièce suivant et une bille.
Image
Bon pour l'instant j'utilise une simple bille, trop petite : ça marche mais je la perd à chaque fois que je lève le robot.
Et comme le chat n'est jamais très loin, j'ai beaucoup de mal à la retrouver. ::D:
Image

Avatar de l’utilisateur
YodaSoftware
Level 8
Level 8
 
Messages: 937
Localisation: POITIERS (86)
Âge: 53 ans
collectionneur

Messagepar YodaSoftware » Sam Nov 29, 2014 8:27 pm

Hugolin a écrit:Et comme le chat n'est jamais très loin, j'ai beaucoup de mal à la retrouver. ::D:

gaffe qu'il ne l'avale pas ::D:
Ma Collection BrickSet
Mes « I want » BrickSet

May Charlie be with us . . . Always !

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Dim Nov 30, 2014 1:00 am

Salut,
J'ai enfin un peu de temps pour regarder tes vidéos. C'est marrant cette tête chercheuse :resp:

De mémoire les suivi de ligne se faisait d'un bord de la ligne seulement. Le capteur reste entre le blanc et le noir et si les puissances aux moteur sont bien calibrées ça marche bien. Le mieux étant une régulation PID. Je faisais ça sur le circuit de base du NXT, donc un simple oval sans angles vifs.
On le voit bien à 43sec : https://www.youtube.com/watch?v=oWJ0l4Dpej8

Avatar de l’utilisateur
Tcdovdi14
Level 7
Level 7
 
Messages: 537
Localisation: Valbonne / Antibes (06)
Âge: 23 ans

Messagepar Tcdovdi14 » Dim Nov 30, 2014 1:09 pm

Je viens de tester ton 1er programme modifié pour qu'il suive une ligne noire et il bug: il n'avance pas et cherche la ligne noire qui est devant lui :/ . c'est bizarre :muh?: :think:
K/AFOL un jour, K/AFOL toujours ! 2° de France en robotique !!

Ma collection Brickset - Ma chaîne Youtube - Mon site en construction

Avatar de l’utilisateur
Hugolin
Level 6
Level 6
 
Messages: 342
Localisation: Aicirits 64
Âge: 49 ans
moceurtechnicexpertvainqueurconcours2

Messagepar Hugolin » Dim Nov 30, 2014 3:59 pm

=> Alban42800
La tête chercheuse m'amuse beaucoup aussi. ::D:

Après effectivement, suivre le bord de ligne quand on a un seul capteur c'est le plus simple.(C'est la première chose que j'ai fait).
Avec un correcteur PID, c'est surement le plus efficace.
Mais j'avais envie de suivre la ligne et non le bord, d'ou la tête chercheuse.
Sans oublié que l'efficacité n'est pas le but principal, c'est surtout pour apprendre le langage de programmation de l'EV3 que je j'ai fait ça.


=>Tcdovdi14
Tu as surement du faire des erreurs en recopiant le programme et/ou en le modifiant.

Si le capteur du robot est sur du noir quand tu lance le programme, il doit avancer :
C'est la première chose que fait le programme : avancer jusqu'à ce qu'il ne soit plus sur la ligne.
Mais attention : il avance en attendant de détecter autre chose que du noir :
Donc dans le bloc "attendre" en mode comparaison de couleur tu doit tout sélectionner sauf la couleur de la ligne (noir dans ton cas).
Essai de voir ça en premier lieu.
Après si ta ligne est étroite, avec les paramètres de la capture d'écran il y a de forte chance qu'il passe plus de temps à chercher qu'a avancer : il va perdre très vite la ligne, il faut surement réduire le coef.
Bon courage. :)


Si non, j'ai fini le programme avec la perte de ligne : c'est plutôt pas mal, il perd la ligne en cas d'angle droit mais la retrouve assez vite.
Dés que les piles sont rechargées je vous montre ça avec une ligne bien tordu. :dent:
Image

Avatar de l’utilisateur
Tcdovdi14
Level 7
Level 7
 
Messages: 537
Localisation: Valbonne / Antibes (06)
Âge: 23 ans

Messagepar Tcdovdi14 » Dim Nov 30, 2014 5:04 pm

C'est bon j'ai mis 1 pour le coef, reste plus qu'a tester ;)
Pour le bloc attendre c'était ok
:thx: pour l'info
K/AFOL un jour, K/AFOL toujours ! 2° de France en robotique !!

Ma collection Brickset - Ma chaîne Youtube - Mon site en construction

Avatar de l’utilisateur
Hugolin
Level 6
Level 6
 
Messages: 342
Localisation: Aicirits 64
Âge: 49 ans
moceurtechnicexpertvainqueurconcours2

Messagepar Hugolin » Lun Déc 01, 2014 7:14 pm

Le robot gère maintenant la perte de ligne : Si la tête ne trouve pas de noir sur un balayage, alors le robot recul.
Pour limiter les cas ou le capteur passe d'un coté de la ligne à l'autre sans la détecter, les points de mesure sont passés de 7 à 13.
Ca m'a également permit d'avoir une rotation plus progressive et de rendre le robot un peu plus rapide.

Voici le circuit de test (non, ça ne représente rien :bizarre: , la forme est venu comme elle a bien voulue) :
Image
Angle droit, courbes assez serrées, bref assez torturé pour voir les faiblesses du programme.

Et la vidéo du test :

C'est plutôt pas mal il me semble.
En rajoutant quelques points de mesure pour élargir la zone de détection, je dois pouvoir faire mieux.
Pour l'instant la tête balaye sur 120°, je peux donc élargir encore un peu.
:)
Image

Avatar de l’utilisateur
YodaSoftware
Level 8
Level 8
 
Messages: 937
Localisation: POITIERS (86)
Âge: 53 ans
collectionneur

Messagepar YodaSoftware » Lun Déc 01, 2014 8:14 pm

Joli boulot :clap:
Ma Collection BrickSet
Mes « I want » BrickSet

May Charlie be with us . . . Always !

Avatar de l’utilisateur
oracid
Level 5
Level 5
 
Messages: 170
Âge: 70 ans

Messagepar oracid » Mar Déc 02, 2014 11:40 am

Bravo ! Tu vas devenir un pro de la programmation.

Avatar de l’utilisateur
micagtd
Level 5
Level 5
 
Messages: 185
Localisation: Près du mans
Âge: 41 ans

Messagepar micagtd » Mar Déc 02, 2014 12:55 pm

Vraiment sympa ton moc. ::D: L'oscillation de la tête chercheuse lui donne un air rigolo :lol:
Je suis surpris par la vitesse à la quelle avance ton moc. Je m'attendais à un truc beaucoup plus lent.
Je serrai curieux de voir comment ton moc réagis avec un angle inférieur à 90° (60 ou 45°, 30 sera peu être trop raide).
Si tu lui propose 2 chemin différent le quel choisira t-il? Ex : Tu le mets à tourner sur ton tracé dans l'autre sens. Arrivé au départ il fait quoi?
En gros j'imagine ton moc évolué sur un tracé avec de multiples voies, sans vraiment savoir où il va passé. Çà devrait être totalement aléatoire. Çà peut être sympa en expo. 8)

Pour le moment c'est vrai que ça serre pas à grand chose, mais c'est fun. J'aime beaucoup ;)
L'ouverture d'esprit n'est pas une fracture du crâne

Avatar de l’utilisateur
YodaSoftware
Level 8
Level 8
 
Messages: 937
Localisation: POITIERS (86)
Âge: 53 ans
collectionneur

Messagepar YodaSoftware » Mar Déc 02, 2014 1:17 pm

micagtd a écrit:Pour le moment c'est vrai que ça serre pas à grand chose, mais c'est fun. J'aime beaucoup ;)

ça peut s'intégrer dans un système d'acheminement d'objets (comme on peut le voir maintenant dans des usines de production automobile, certains ports de commerce, ...
Ma Collection BrickSet
Mes « I want » BrickSet

May Charlie be with us . . . Always !

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Mar Déc 02, 2014 5:49 pm

Ce qui est fun avec les mindstorms c'est que la seule utilité est de se divertir et d'apprendre :loveyes:

Avatar de l’utilisateur
YodaSoftware
Level 8
Level 8
 
Messages: 937
Localisation: POITIERS (86)
Âge: 53 ans
collectionneur

Messagepar YodaSoftware » Mar Déc 02, 2014 6:01 pm

C'est le but principal, mais rien n'empêche d'en faire quelque chose d'utile.
Il me semble avoir vu dans un des topic "exposition" qu'un EV3 était utilisé pour gérer l’ascenseur d'une reproduction de la Tour Eiffel
Certain l'utilisent pour trier des pièces par couleurs/longueur (pratique après le démontage d'un gros MOC ou réception d'un colis BULK)
Ma Collection BrickSet
Mes « I want » BrickSet

May Charlie be with us . . . Always !

Avatar de l’utilisateur
micagtd
Level 5
Level 5
 
Messages: 185
Localisation: Près du mans
Âge: 41 ans

Messagepar micagtd » Mar Déc 02, 2014 7:07 pm

YodaSoftware a écrit:ça peut s'intégrer dans un système d'acheminement d'objets (comme on peut le voir maintenant dans des usines de production automobile, certains ports de commerce, ...


J'ai très bien compris qu'il a été créer pour apprendre. ;)
Pour le moment il ne serre a rien et justement parce qu'il ne serre à rien, il est fun. :tare:
Il peut êtres intégrer dans un tas de moc, c'est juste une fonction parmi d'autre (dans futur peut êtres).

Alban42800 a écrit:Ce qui est fun avec les mindstorms c'est que la seule utilité est de se divertir et d'apprendre :loveyes:

J'ai des notions automatisme industrielle, je commence avec arduino. Un Ev3 me fait bien envie, mais le prix calme :dent: Je concentre mes finances sur la 42030 qui fait mal aussi. Quand je vois toutes les promos actuel ça fait envie, mais en cette périodes de l'année je pense à faire des achats pour les autres. :resp: A partir de janvier on pourra penser à soi. :sadique:
L'ouverture d'esprit n'est pas une fracture du crâne

Avatar de l’utilisateur
Hugolin
Level 6
Level 6
 
Messages: 342
Localisation: Aicirits 64
Âge: 49 ans
moceurtechnicexpertvainqueurconcours2

Messagepar Hugolin » Jeu Déc 04, 2014 9:05 pm

Merci à tous. :)

micagtd a écrit:Je serrai curieux de voir comment ton moc réagis avec un angle inférieur à 90° (60 ou 45°, 30 sera peu être trop raide).
Si tu lui propose 2 chemin différent le quel choisira t-il? Ex : Tu le mets à tourner sur ton tracé dans l'autre sens. Arrivé au départ il fait quoi?
En gros j'imagine ton moc évolué sur un tracé avec de multiples voies, sans vraiment savoir où il va passé. Çà devrait être totalement aléatoire. Çà peut être sympa en expo. 8)


- La réaction du robot est assez simple : le capteur décrit un arc de cercle, il est donc plus reculé quand il est sur le coté, c'est là qu'il va retrouver la ligne en premier…
Sauf si l'angle est trop aiguë. Dans ce cas il retrouve la ligne au milieu et reste donc coincer ( milieu => avance droit, re perte => recul, etc…)
L'angle maximum de la ligne par rapport à la trajectoire du robot doit être environ de 60°. (si le robot sort d'un virage juste avant, ça peut poser problème.)

- En cas de voies multiples, il devrait logiquement prendre la voie de gauche :
Dans la boucle du programme, les points de mesures sont pris de droite à gauche, chaque fois que le capteur rencontre du noir les puissances moteur sont mises à jours, donc la voie de gauche devrait être la dernière prise en compte.
Enfin comme il arrive que la tête "loupe" la ligne, il faudrait faire un test.



YodaSoftware a écrit:…, mais rien n'empêche d'en faire quelque chose d'utile.

Heu… oui, mais non. Les trucs utiles il y en a plein dans la vie de tous les jours :nunu:, dans les loisirs, je reste à 100% dans l'inutile :D .



oracid (à propos du correcteur PID) a écrit:
Je serais très intéressé par ta solution si tu la mettais en pratique et la postais ici.

Je viens de faire un petit programme qui est une première approche d'un régulateur PID. (c'est le "P" du PID)
Image

La vidéo qui va avec :


Si j'ai un peu temps je ferai le "I".
Pour le "D"…, il faut que je branche quelques neurones de plus. (pas sur que je les ai encore. ::D: )
Image


Retourner vers Vos MOCs Technic

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 56 invités

cron