Lego EV3. mouvement de la ligne noire

Voici comment une personne voit la ligne :

Voici comment le robot le voit :


Nous utiliserons cette fonctionnalité lors de la conception et de la programmation d'un robot pour la catégorie de compétition "Trajectoire".

Il existe de nombreuses façons d'apprendre à un robot à voir une ligne et à se déplacer le long de celle-ci. Il existe des programmes complexes et d'autres très simples.

Je veux parler d'une façon de programmer que même les enfants de la 2e à la 3e année maîtriseront. À cet âge, il leur est beaucoup plus facile d'assembler des structures selon des instructions, et programmer un robot est une tâche difficile pour eux. Mais cette méthode permettra à l'enfant de programmer le robot sur n'importe quel itinéraire de la piste en 15 à 30 minutes (en tenant compte de la vérification progressive et de l'ajustement de certaines caractéristiques de la trajectoire).

Cette méthode a été testée lors de compétitions municipales et régionales de robotique dans la région de Surgut et dans l'Okrug-Yugra autonome de Khanty-Mansi et a valu à notre école les premières places. Là, j'étais convaincu que ce sujet est très pertinent pour de nombreuses équipes.

Eh bien, commençons.

Lors de la préparation de ce type de compétition, la programmation n'est qu'une partie de la solution au problème. Vous devez commencer par concevoir un robot pour une piste spécifique. Dans le prochain article, je vous montrerai comment faire. Eh bien, puisque le mouvement le long de la ligne est très courant, je vais commencer par la programmation.

Considérez la version du robot avec deux capteurs de lumière, car elle est plus compréhensible pour les élèves du primaire.

Les capteurs de lumière sont connectés aux ports 2 et 3. Moteurs aux ports B et C.
Les capteurs sont placés aux bords de la ligne (essayez d'expérimenter en plaçant les capteurs à différentes distances les uns des autres et à différentes hauteurs).
Un point important. Pour le meilleur fonctionnement d'un tel circuit, il est souhaitable de sélectionner une paire de capteurs en fonction des paramètres. Sinon, il faudra introduire un bloc de correction des valeurs des capteurs.
Installation des capteurs sur le châssis selon le schéma classique (triangle), approximativement comme sur la figure.

Le programme consistera en un petit nombre de blocs :


1. Deux blocs de capteur de lumière ;
2. Quatre blocs de "Mathématiques" ;
3. Deux blocs de moteurs.

Le robot est contrôlé par deux moteurs. La puissance de chacun est de 100 unités. Pour notre schéma, nous prendrons la valeur moyenne de la puissance du moteur égale à 50. Autrement dit, la vitesse moyenne lors d'un déplacement en ligne droite sera égale à 50 unités. Lors de la déviation du mouvement rectiligne, la puissance des moteurs augmentera ou diminuera proportionnellement, en fonction de l'angle de déviation.

Voyons maintenant comment connecter tous les blocs, configurer le programme et ce qui s'y passera.
Exposons deux capteurs de lumière et attribuons-leur les ports 2 et 3.
Nous prenons un bloc de mathématiques et sélectionnons "Soustraction".
Connectons les capteurs de lumière des sorties "Intensité" avec des pneus au bloc mathématique aux entrées "A" et "B".
Si les capteurs du robot sont installés symétriquement à partir du centre de la ligne de voie, les valeurs des deux capteurs seront égales. Après soustraction, on obtient la valeur - 0.
Le prochain bloc de mathématiques sera utilisé comme coefficient et vous devez y définir "Multiplier".
Pour calculer le coefficient, vous devez mesurer le niveau de "blanc" et de "noir" à l'aide de l'unité NXT.
Supposons : blanc -70, noir -50.
Ensuite, nous calculons : 70-50=20 (différence entre le blanc et le noir), 50/20=2,5 ​​(nous fixons la valeur moyenne de la puissance lors du déplacement en ligne droite dans les blocs de mathématiques à 50. Cette valeur plus la puissance ajoutée lors du réglage du mouvement doit être égale à cent)
Essayez de régler la valeur sur 2,5 sur l'entrée "A", puis récupérez-la plus précisément.
Connectez la sortie "Résultat" du bloc mathématique "Soustraction" précédent à l'entrée "B" du bloc mathématique "Multiplication".
Vient ensuite une paire - un bloc de mathématiques (Addition) et le moteur B.
Configuration du bloc mathématique :
L'entrée "A" est réglée sur 50 (la moitié de la puissance du moteur).
La sortie du bloc "Résultat" est reliée par un bus à l'entrée "Puissance" du moteur B.
Après la vapeur se trouve le bloc mathématique (soustraction) et le moteur C.
Configuration du bloc mathématique :
L'entrée "A" est réglée sur 50.
L'entrée "B" est reliée par un bus à la sortie "Résultat" du bloc de mathématiques "Multiplication".
La sortie du bloc "Résultat" est reliée par un bus à l'entrée "Puissance" du moteur C.

A la suite de toutes ces actions, vous recevrez le programme suivant :

Puisque tout cela fonctionnera dans un cycle, nous ajoutons le "Cycle", sélectionnons et transférons le tout dans le "Cycle".

Essayons maintenant de comprendre comment le programme fonctionnera et comment le configurer.


Pendant que le robot se déplace en ligne droite, les valeurs des capteurs sont les mêmes, ce qui signifie que la sortie du bloc "Soustraction" aura la valeur 0. La sortie du bloc "Multiplication" donne également la valeur 0. Cette valeur est transmise en parallèle à la paire de commande du moteur. Étant donné que la valeur 50 est définie dans ces blocs, l'ajout ou la soustraction de 0 n'affecte pas la puissance des moteurs. Les deux moteurs fonctionnent à la même puissance de 50 et le robot roule en ligne droite.

Supposons que la piste effectue un virage ou que le robot dévie d'une ligne droite. Que va-t-il se passer ?

La figure montre que l'éclairement du capteur connecté au port 2 (ci-après dénommés capteurs 2 et 3) augmente, puisqu'il se déplace vers un champ blanc, et que l'éclairement du capteur 3 diminue. Supposons que les valeurs de ces capteurs deviennent : capteur 2 - 55 unités et capteur 3 - 45 unités.
Le bloc "Soustractions" va déterminer la différence entre les valeurs des deux capteurs (10) et l'alimenter au bloc de correction (multiplication par un facteur (10 * 2,5 = 25)) puis aux blocs de contrôle
moteurs.
Dans le bloc mathématique (Addition) du moteur B commande à la valeur de vitesse moyenne de 50
25 seront ajoutés et une valeur de puissance de 75 sera appliquée au moteur B.
Dans le bloc mathématique (Soustraction) de la commande du moteur C, 25 sera soustrait de la valeur de vitesse moyenne de 50 et une valeur de puissance de 25 sera appliquée au moteur C.
Ainsi, l'écart par rapport à une ligne droite sera corrigé.

Si la piste tourne brusquement sur le côté et que le capteur 2 est sur blanc et le capteur 3 est sur noir. Les valeurs d'éclairement de ces capteurs deviennent : capteur 2 - 70 unités, et capteur 3 - 50 unités.
Le bloc "Soustraction" va déterminer la différence entre les valeurs des deux capteurs (20) et l'alimenter au bloc de correction (20 * 2,5 = 50) puis aux blocs de contrôle moteur.
Maintenant dans le bloc de mathématiques (Addition) contrôlant le moteur B, la valeur de puissance 50 +50 =100 sera appliquée au moteur B.
Dans le bloc mathématique (Soustraction) de la commande du moteur C, une valeur de puissance de 50 - 50 = 0 sera appliquée au moteur C.
Et le robot fera un virage serré.

Sur les champs blancs et noirs, le robot doit se déplacer en ligne droite. Si cela ne se produit pas, essayez de faire correspondre les capteurs avec les mêmes valeurs.

Créons maintenant un nouveau bloc et utilisons-le pour déplacer le robot le long de n'importe quelle piste.
Sélectionnez le cycle, puis dans le menu "Edition", sélectionnez la commande "Créer mon bloc".

Dans la boîte de dialogue "Block Builder", donnez un nom à notre bloc, par exemple, "Go", sélectionnez une icône pour le bloc et cliquez sur "DONE".

Nous avons maintenant un bloc qui peut être utilisé dans les cas où nous devons nous déplacer le long de la ligne.

Pour que le robot se déplace en douceur le long de la ligne noire, vous devez lui faire calculer la vitesse de déplacement elle-même.

Une personne voit une ligne noire et sa limite claire. Le capteur de lumière fonctionne un peu différemment.

C'est cette propriété du capteur de lumière - l'incapacité de distinguer clairement la bordure du blanc et du noir - que nous allons utiliser pour calculer la vitesse de déplacement.

Introduisons tout d'abord la notion de « Point idéal de la trajectoire ».

Les lectures du capteur de lumière vont de 20 à 80, le plus souvent sur le blanc, les lectures sont d'environ 65, sur le noir, d'environ 40.

Le point idéal est un point conditionnel approximativement au milieu des couleurs blanche et noire, après quoi le robot se déplacera le long de la ligne noire.

Ici, l'emplacement du point est fondamental - entre le blanc et le noir. Il ne sera pas possible de le régler exactement sur blanc ou noir pour des raisons mathématiques, pourquoi - ce sera clair plus tard.

Empiriquement, nous avons calculé que le point idéal peut être calculé à l'aide de la formule suivante :

Le robot doit se déplacer strictement le long du point idéal. Si une déviation se produit dans l'une ou l'autre direction, le robot doit revenir à ce point.

composons description mathématique du problème.

Donnée initiale.

Pointe parfaite.

Les lectures actuelles du capteur de lumière.

Résultat.

Puissance moteur B.

Puissance de rotation du moteur C.

Solution.

Considérons deux situations. Premièrement : le robot a dévié de la ligne noire vers la blanche.

Dans ce cas, le robot doit augmenter la puissance de rotation du moteur B et diminuer la puissance du moteur C.

Dans une situation où le robot roule dans la ligne noire, c'est le contraire qui est vrai.

Plus le robot s'écarte du point idéal, plus il doit y revenir rapidement.

Mais la création d'un tel régulateur est une tâche assez difficile, et elle n'est pas toujours requise dans son intégralité.

Par conséquent, nous avons décidé de nous limiter à un régulateur P qui répond de manière adéquate aux écarts par rapport à la ligne noire.

En langage mathématique, cela s'écrirait ainsi :

où Hb et Hc sont respectivement les puissances totales des moteurs B et C,

Hbase - une certaine puissance de base des moteurs, qui détermine la vitesse du robot. Il est sélectionné expérimentalement, en fonction de la conception du robot et de la netteté des virages.

Itech - lectures actuelles du capteur de lumière.

I id - point idéal calculé.

k est le coefficient de proportionnalité, choisi expérimentalement.

Dans la troisième partie, nous verrons comment programmer cela dans l'environnement NXT-G.

Algorithmes de contrôle pour un robot LEGO mobile. Suivi de ligne avec deux capteurs de lumière

Enseignant de l'enseignement complémentaire

Kazakova Lyubov Alexandrovna


Mouvement de ligne

  • Deux capteurs de lumière
  • Régulateur proportionnel (régulateur P)

Algorithme pour se déplacer le long de la ligne noire sans contrôleur proportionnel

  • Les deux moteurs tournent avec la même puissance
  • Si le capteur de lumière droit atteint la ligne noire, la puissance du moteur gauche (par exemple B) diminue ou s'arrête
  • Si le capteur de lumière gauche touche la ligne noire, la puissance de l'autre des moteurs (par exemple, C) diminue (revient à la ligne), diminue ou s'arrête
  • Si les deux capteurs sont en blanc ou en noir, alors il y a un mouvement rectiligne

Le mouvement s'organise en changeant la puissance d'un des moteurs


Exemple de programme pour se déplacer le long de la ligne noire sans contrôleur P

Le mouvement est organisé en changeant l'angle de rotation


  • Le contrôleur proportionnel (contrôleur P) vous permet d'ajuster le comportement du robot, en fonction de la différence entre son comportement et celui souhaité.
  • Plus le robot s'écarte de la cible, plus il faut de force pour y revenir.

  • Le contrôleur P est utilisé pour maintenir le robot dans un certain état :
  • Maintenir la position du manipulateur Se déplacer le long d'une ligne (capteur de lumière) Se déplacer le long d'un mur (capteur de distance)
  • Maintien de la position du manipulateur
  • Mouvement de ligne (capteur de lumière)
  • Se déplacer le long d'un mur (capteur de distance)

Suivi de ligne avec un seul capteur

  • Le but est de se déplacer le long de la frontière "blanc-noir"
  • Une personne peut distinguer la frontière du blanc et du noir. Le robot ne peut pas.
  • La cible pour le robot est sur la couleur grise

Traversées

Lors de l'utilisation de deux capteurs de lumière, il est possible d'organiser le trafic sur des itinéraires plus difficiles



Algorithme pour rouler le long d'une autoroute avec des intersections

  • Les deux capteurs sont allumés en blanc - le robot roule en ligne droite (les deux moteurs tournent avec la même puissance)
  • Si le capteur de lumière droit touche la ligne noire et celui de gauche sur la ligne blanche, alors il tourne à droite
  • Si le capteur de lumière gauche touche la ligne noire et le droit touche la ligne blanche, alors il tourne à gauche
  • Si les deux capteurs sont sur le noir, alors un mouvement rectiligne se produit. Vous pouvez compter les intersections ou effectuer une sorte d'action


Le principe de fonctionnement du régulateur P

Emplacement des capteurs

O=O1-O2


Algorithme pour se déplacer le long de la ligne noire avec un contrôleur proportionnel

SW \u003d K * (C-T)

  • C - valeurs cibles (prenez les lectures du capteur de lumière sur blanc et noir, calculez la moyenne)
  • T - valeur actuelle - reçue du capteur
  • K est le coefficient de sensibilité. Plus il y en a, plus la sensibilité est élevée.



Pour afficher une présentation avec des images, un design et des diapositives, télécharger son fichier et l'ouvrir dans PowerPoint sur ton ordinateur.
Contenu textuel des diapositives de présentation :
"Algorithme pour se déplacer le long d'une ligne noire avec un capteur de couleur" Cercle sur "Robotique" Enseignant avant Yezidov Ahmed Elievich Au MBU DO "Shelkovskaya CTT" Pour étudier l'algorithme de déplacement le long d'une ligne noire, un robot Lego Mindstorms EV3 avec un capteur de couleur sera utilisé Capteur de couleur Le capteur de couleur distingue 7 couleurs et peut détecter l'absence de couleur. Comme dans le NXT, il peut fonctionner comme un capteur de lumière Terrain de compétition de robots Line S La piste en forme de "S" proposée vous permettra d'effectuer un autre test intéressant des robots créés pour la vitesse et la réaction. Considérons l'algorithme le plus simple pour se déplacer le long d'une ligne noire sur un capteur de couleur sur EV3. Cet algorithme est le plus lent, mais le plus stable. Le robot ne se déplacera pas strictement le long de la ligne noire, mais le long de sa bordure, tournant à gauche et à droite et avancer progressivement L'algorithme est très simple : si le capteur voit noir, alors le robot tourne dans un sens, s'il voit blanc - dans l'autre. Traçage d'une ligne en mode lumière réfléchie avec deux capteurs Parfois, le capteur de couleur peut ne pas être en mesure de bien faire la distinction entre le noir et le blanc. La solution à ce problème est d'utiliser le capteur non pas en mode de détection de couleur, mais en mode de détection de luminosité en lumière réfléchie. Dans ce mode, connaissant les valeurs du capteur sur une surface sombre et claire, on peut dire indépendamment ce qui sera considéré comme blanc et ce qui sera noir. Déterminons maintenant les valeurs de luminosité sur les surfaces blanches et noires. Pour ce faire, dans le menu de la brique EV3, nous trouvons l'onglet "Applications de la brique". Vous êtes maintenant dans la fenêtre d'affichage du port et vous pouvez voir les lectures de tous les capteurs à l'instant présent. nos capteurs doivent s'allumer en rouge, ce qui signifie qu'ils sont en mode de détection de lumière réfléchie. S'ils brillent en bleu, dans la fenêtre de vue du port sur le port souhaité, appuyez sur le bouton central et sélectionnez le mode COL-REFLECT.Maintenant, nous allons placer le robot de sorte que les deux capteurs soient situés au-dessus de la surface blanche. Nous regardons les nombres dans les ports 1 et 4. Dans notre cas, les valeurs sont respectivement 66 et 71. Ce seront les valeurs de blanc des capteurs. Plaçons maintenant le robot de manière à ce que les capteurs soient situés au-dessus de la surface noire. Encore une fois, regardons les valeurs des ports 1 et 4. Nous avons 5 et 6, respectivement. Ce sont les significations du noir. Ensuite, nous allons modifier le programme précédent. À savoir, nous modifions les paramètres des commutateurs. Tant qu'ils ont un capteur de couleur -> Mesure -> Couleur installé. Nous devons définir le capteur de couleur -> Comparaison -> Intensité de la lumière réfléchie Nous devons maintenant définir le "type de comparaison" et la "valeur seuil". La valeur seuil est la valeur de certains "gris", les valeurs en dessous desquelles nous considérerons le noir, et plus - le blanc. Pour la première approximation, il convient d'utiliser la valeur moyenne entre le blanc et le noir de chaque capteur. Ainsi, la valeur seuil du premier capteur (port #1) sera (66+5)/2=35.5. Arrondir à 35. Valeur seuil du second capteur (port #4) : (71+6)/2 = 38,5. Arrondissons jusqu'à 38. Maintenant, nous définissons ces valeurs dans chaque commutateur, respectivement. C'est tout, les blocs avec des mouvements restent à leur place inchangés, car si nous mettons le signe " dans le "type de comparaison"<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 - ставьте датчики ниже. Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

Le texte de l'œuvre est placé sans images ni formules.
La version complète de l'ouvrage est disponible dans l'onglet "Job Files" au format PDF

Lego Mindstorms EV3

Phase préparatoire

Créer et calibrer un programme

Conclusion

Littérature

1. Introduction.

La robotique est l'un des domaines les plus importants du progrès scientifique et technologique, dans lequel les problèmes de la mécanique et des nouvelles technologies entrent en contact avec les problèmes de l'intelligence artificielle.

Ces dernières années, les progrès de la robotique et des systèmes automatisés ont changé les domaines personnels et professionnels de nos vies. Les robots sont largement utilisés dans les transports, l'exploration terrestre et spatiale, la chirurgie, l'industrie militaire, la recherche en laboratoire, la sécurité, la production de masse de biens industriels et de consommation. De nombreux appareils qui prennent des décisions sur la base des données reçues des capteurs peuvent également être considérés comme des robots - comme, par exemple, les ascenseurs, sans lesquels notre vie est déjà impensable.

Le constructeur Mindstorms EV3 nous invite à entrer dans le monde fascinant des robots, à nous plonger dans l'environnement complexe des technologies de l'information.

Objectif : Apprendre à programmer un robot pour qu'il se déplace en ligne droite.

    Familiarisez-vous avec le constructeur Mindstorms EV3 et son environnement de programmation.

    Ecrire des programmes pour le déplacement du robot en ligne droite sur 30 cm, 1 m 30 cm et 2 m 17 cm.

    Constructeur Mindstorms EV3.

Pièces design - 601 pièces, servomoteur - 3 pièces, capteur de couleur, capteur de mouvement, capteur infrarouge et capteur tactile. Le bloc microprocesseur EV3 est le cerveau des LEGO Mindstorms.

Un gros servomoteur est responsable du mouvement du robot, qui se connecte à la brique EV3 et fait bouger le robot : avancer et reculer, faire demi-tour et rouler le long d'une trajectoire donnée. Ce servomoteur dispose d'un capteur de rotation intégré, ce qui vous permet de contrôler très précisément le mouvement du robot et sa vitesse.

Vous pouvez faire effectuer une action à un robot à l'aide du logiciel EV3. Le programme se compose de différents blocs de contrôle. Nous allons travailler avec le bloc mouvement.

Le bloc de mouvement contrôle les moteurs du robot, l'allume, l'éteint, le fait fonctionner conformément aux tâches. Vous pouvez programmer le mouvement sur un certain nombre de tours, ou degrés.

    Phase préparatoire.

    Création d'un terrain technique.

Nous marquerons le champ de travail du robot, à l'aide de ruban électrique et d'une règle, nous créerons trois lignes de 30 cm de long - une ligne verte, 1 m 15 cm - rouge et 2 m 17 cm - lignes noires.

    Calculs nécessaires :

Diamètre de la roue du robot - 5 cm 7 mm = 5,7 cm.

Un tour de la roue du robot est égal à la circonférence d'un cercle d'un diamètre de 5,7 cm. La circonférence est trouvée par la formule

Où r est le rayon de la roue, d est le diamètre, π = 3,14

l = 5,7 * 3,14 = 17,898 = 17,9.

Celles. Pour un tour de roue, le robot parcourt 17,9 cm.

Calculer le nombre de tours nécessaires pour passer :

N=30 : 17,9=1,68.

    1m 30cm = 130cm

N=130 : 17,9=7,26.

    2 m 17 cm = 217 cm.

N = 217 : 17,9 = 12,12.

    Création et calibrage du programme.

Nous allons créer un programme selon l'algorithme suivant :

Algorithme:

    Sélectionnez un bloc de mouvement dans le logiciel Mindstorms EV3.

    Allumez les deux moteurs dans la direction donnée.

    Attendez que la lecture du capteur de rotation de l'un des moteurs passe à la valeur spécifiée.

    Éteignez les moteurs.

Le programme terminé est chargé dans l'unité de commande du robot. Nous mettons le robot sur le terrain et appuyons sur le bouton de démarrage. L'EV3 traverse un champ et s'arrête à la fin d'une ligne donnée. Mais pour obtenir une finition précise, vous devez calibrer, car des facteurs externes influencent le mouvement.

    Le terrain est installé sur les pupitres des étudiants, une légère déviation de la surface est donc possible.

    La surface du terrain est lisse, une mauvaise adhérence des roues du robot sur le terrain n'est donc pas exclue.

    En calculant le nombre de révolutions, nous avons dû arrondir les nombres, et donc, en changeant les centièmes des révolutions, nous avons obtenu le résultat requis.

5. Conclusion.

La possibilité de programmer un robot pour qu'il se déplace en ligne droite sera utile pour créer des programmes plus complexes. En règle générale, toutes les dimensions du mouvement sont indiquées dans les termes de référence des compétitions de robotique. Ils sont nécessaires pour que le programme ne soit pas surchargé de conditions logiques, de boucles et d'autres blocs de contrôle complexes.

À l'étape suivante de la connaissance du robot Lego Mindstorms EV3, vous apprendrez à programmer des virages sous un certain angle, des mouvements en cercle, des spirales.

C'est très intéressant de travailler avec le designer. En savoir plus sur ses capacités, vous pouvez résoudre tous les problèmes techniques. Et à l'avenir, peut-être, créez vos propres modèles intéressants du robot Lego Mindstorms EV3.

Littérature.

    Koposov D. G. "Le premier pas dans la robotique pour les élèves de la 5e à la 6e année." - M. : Binom. Laboratoire des connaissances, 2012 - 286 p.

    Filippov S. A. "Robotique pour les enfants et les parents" - "Science" 2010

    Ressources Internet

    http://lego. rkc-74.ru/

    http://www.9151394.ru/projects/lego/lego6/beliovskaya/

    http://www. légo. fr/éducation/

Chargement...Chargement...