domicile - Cloison sèche
Lego ev3 suivant la ligne noire. Lego EV3. Mouvement le long de la ligne noire. Capteur de couleur - Mode d'intensité de la lumière ambiante


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

Une personne voit une ligne noire et sa bordure 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 frontière du blanc et du noir - et nous l'utiliserons pour calculer la vitesse de déplacement.

Tout d'abord, nous introduisons le concept de « point de trajectoire idéal ».

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, à la suite duquel le robot se déplacera le long de la ligne noire.

Ici, en principe, l'emplacement du point se situe entre le blanc et le noir. Il ne sera pas possible de le poser 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é en utilisant la formule suivante :

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

Composons description mathématique du problème.

Donnée initiale.

Point parfait.

La lecture actuelle du capteur de lumière.

Résultat.

Puissance de rotation du moteur V.

Puissance de rotation du moteur C.

Solution.

Considérons deux situations. Premièrement : le robot s'est écarté de la ligne noire vers la ligne 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 entre dans la ligne noire, le contraire 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 ensemble.

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

Dans le langage des mathématiques, cela s'écrira ainsi :

où Hb et Hc sont respectivement les puissances finales 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.

Itek - lectures actuelles du capteur de lumière.

I id - point idéal calculé.

k - coefficient de proportionnalité, est sélectionné expérimentalement.

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

Cette tâche est classique, conceptuellement simple, elle peut être résolue plusieurs fois, et à chaque fois vous découvrirez quelque chose de nouveau pour vous-même.

Il existe de nombreuses approches pour résoudre le problème de suivi de ligne. Le choix de l'un d'eux dépend de la conception spécifique du robot, du nombre de capteurs, de leur emplacement par rapport aux roues et les uns par rapport aux autres.

Dans notre exemple, nous analyserons trois exemples de robot basé sur le modèle de formation de base Robot Educator.

Pour commencer, nous assemblons un modèle de base du robot d'entraînement Robot Educator, pour cela, vous pouvez utiliser les instructions du logiciel MINDSTORMS EV3.

De plus, par exemple, nous avons besoin de capteurs de couleur claire EV3. Ces capteurs de lumière, pas comme les autres, sont les mieux adaptés à notre tâche, lorsque nous travaillons avec eux, nous n'avons pas à nous soucier de l'intensité de la lumière ambiante. Pour ce capteur, dans les programmes, nous utiliserons le mode lumière réfléchie, dans lequel la quantité de lumière réfléchie du rétroéclairage rouge du capteur est estimée. Les limites des lectures du capteur sont de 0 à 100 unités, respectivement pour « aucune réflexion » et « réflexion totale ».

Par exemple, nous analyserons 3 exemples de programmes pour se déplacer le long d'une trajectoire noire représentée sur un fond plat et clair :

· Un capteur, avec régulateur P.

· Un capteur, avec contrôleur PC.

· Deux capteurs.

Exemple 1. Un capteur, avec un contrôleur P.

Concevoir

Le capteur de lumière est monté sur un faisceau idéalement situé sur le modèle.


Algorithme

Le fonctionnement de l'algorithme est basé sur le fait qu'en fonction du degré de recouvrement du faisceau de rétroéclairage du capteur avec une ligne noire, les lectures renvoyées par le capteur varient avec un gradient. Le robot garde la position du capteur de lumière sur le bord de la ligne noire. En convertissant les données d'entrée du capteur de lumière, le système de contrôle génère une valeur pour la vitesse de rotation du robot.


Étant donné que sur une trajectoire réelle, le capteur génère des valeurs dans toute sa plage de travail (0-100), alors la valeur à laquelle le robot s'efforce est de 50. Dans ce cas, les valeurs des fonctions de rotation transmises sont formées dans le plage -50-50, mais ces valeurs ne sont pas suffisantes pour un virage raide de la trajectoire. Par conséquent, la plage devrait être étendue d'une fois et demie à -75 - 75.

De ce fait, dans le programme, la fonction calculatrice est un simple contrôleur proportionnel. Dont la fonction ( (a-50) * 1.5 ) dans la plage de travail du capteur de lumière génère les valeurs de rotation conformément au graphique :

Un exemple de fonctionnement de l'algorithme

Exemple 2. Un capteur, avec un contrôleur PC.

Cet exemple repose sur la même construction.

Vous avez peut-être remarqué que dans l'exemple précédent, le robot se balançait excessivement, ce qui ne lui permettait pas d'accélérer suffisamment. Maintenant, nous allons essayer d'améliorer un peu cette situation.

À notre contrôleur proportionnel, nous ajoutons également un simple contrôleur de cube qui ajoutera de la flexibilité à la fonction du contrôleur. Cela réduira le balancement du robot près de la limite souhaitée de la trajectoire, ainsi que des secousses plus fortes à grande distance de celle-ci.

Voici comment une personne voit la ligne :

Voici comment le robot la voit :


C'est cette fonctionnalité que nous utiliserons lors de la conception et de la programmation d'un robot pour la catégorie compétition « Trajectoire ».

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

Je veux vous parler d'une méthode de programmation que même les enfants de 2-3 ans 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 pour n'importe quel itinéraire de la piste en 15 à 30 minutes (en tenant compte de la vérification et de l'ajustement étape par étape de certaines des caractéristiques de la trajectoire).

Cette méthode a été testée lors de compétitions de robotique municipales et régionales dans la région de Surgut et l'Okrug-Yugra autonome de Khanty-Mansi et a permis à notre école de remporter les premières places. Au même endroit, j'ai acquis la conviction que ce sujet est très pertinent pour de nombreuses équipes.

Eh bien, commençons.

En préparation à 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 vais vous montrer comment faire cela. Eh bien, puisque le mouvement le long d'une ligne est très courant, je vais commencer par la programmation.

Considérons une variante d'un robot avec deux capteurs de lumière, car il 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 alignés le long des bords de la ligne (essayez d'expérimenter avec les capteurs à différentes distances les uns des autres et à différentes hauteurs).
Un point important. Pour un meilleur fonctionnement d'un tel circuit, il est conseillé de sélectionner une paire de capteurs en fonction des paramètres. Dans le cas contraire, il sera nécessaire de saisir un bloc pour corriger les valeurs des capteurs.
Installation des capteurs sur le châssis selon le schéma classique (triangle), approximativement comme sur la figure.

Le programme sera composé d'un petit nombre de blocs :


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

Deux moteurs sont utilisés pour contrôler le robot. La capacité de chacun est de 100 unités. Pour notre schéma, nous prendrons la valeur moyenne de la puissance du moteur égale à 50. C'est-à-dire que la vitesse moyenne lors de la conduite en ligne droite sera égale à 50 unités. En s'écartant du mouvement en ligne droite, 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 se passera dedans.
Configurons deux capteurs de lumière et affectons-leur les ports 2 et 3.
Prenez le bloc mathématique et choisissez Soustraction.
Relions les capteurs de lumière des sorties "Intensité" avec bus au bloc mathématique aux entrées "A" et "B".
Si les capteurs du robot sont installés symétriquement par rapport au centre de la ligne de voie, les valeurs des deux capteurs seront égales. Après avoir soustrait, nous obtenons la valeur - 0.
Le prochain bloc de mathématiques sera utilisé comme coefficient et vous devez y définir "Multiplication".
Pour calculer le rapport, vous devez mesurer les niveaux "blanc" et "noir" avec l'unité NXT.
Supposons que le blanc soit -70, le noir soit -50.
Ensuite on compte : 70-50 = 20 (la différence entre le blanc et le noir), 50/20 = 2,5 (on fixe la valeur moyenne de la puissance en se déplaçant en ligne droite dans les blocs mathématiques à 50. Cette valeur plus le la puissance lors de la correction du mouvement doit être égale à 100)
Essayez de définir la valeur sur 2,5 à l'entrée "A", puis sélectionnez-la avec plus de précision.
Reliez 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.
Mise en place d'un 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.
Ensuite, la vapeur est un bloc de mathématiques (Soustraction) et le moteur C.
Mise en place d'un 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 mathématique "Multiplication".
La sortie du bloc "Résultat" est reliée par un bus à l'entrée "Puissance" du moteur C.

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

Puisque tout cela fonctionnera en boucle, nous ajoutons une "Loop", la sélectionnons et transférons le tout dans une "Loop".

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


Pendant que le robot se déplace en ligne droite, les valeurs du capteur coïncident, ce qui signifie que la sortie du bloc Soustraction aura une valeur de 0. La sortie du bloc Multiplication donne également la valeur 0. Cette valeur est introduite parallèle à la paire de commande du moteur. Étant donné que ces blocs sont définis sur 50, 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 fasse un virage ou que le robot dévie de la ligne droite. Que va-t-il se passer ?

La figure montre que l'éclairement du capteur connecté au port 2 (appelés ci-après capteurs 2 et 3) augmente, puisqu'il passe à un champ blanc, et 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 "Soustraction" va déterminer la différence entre les valeurs des deux capteurs (10) et la soumettre au bloc de correction (multiplication par un facteur (10 * 2,5 = 25)) puis aux unités de contrôle
moteurs.
Dans le bloc de mathématiques (Addition) contrôle du moteur B à la valeur de la vitesse moyenne 50
25 sera ajouté et la valeur de puissance 75 sera fournie au moteur B.
Dans le bloc mathématique (Soustraction) de la commande du moteur C, 25 sera soustrait de la valeur de vitesse moyenne 50 et la valeur de puissance 25 sera fournie au moteur C.
Ainsi, l'écart par rapport à la ligne droite sera corrigé.

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

Sur les champs blancs et noirs, le robot doit rouler 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 Constructor", 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 avons besoin d'un mouvement de ligne.

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

Jeu de construction Lego Mindstorms EV3

Étape 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 transformé les domaines personnels et professionnels de nos vies. Les robots sont largement utilisés dans les transports, dans l'exploration de la Terre et de l'espace, en chirurgie, dans l'industrie militaire, dans la recherche en laboratoire, dans le domaine de la sécurité, dans la production en série de biens industriels et de biens 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 - tels sont, par exemple, les ascenseurs, sans lesquels notre vie est déjà impensable.

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

Objectif : Apprendre à programmer le mouvement du robot 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 à 30 cm, 1 m 30 cm et 2 m 17 cm.

    Constructeur Mindstorms EV3.

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

Un gros servomoteur est responsable du mouvement du robot, qui est connecté au micro-ordinateur EV3 et fait bouger le robot : aller en avant et en arrière, tourner et conduire le long d'une trajectoire donnée. Ce servomoteur possède un capteur de rotation intégré, qui permet un contrôle très précis du mouvement du robot et de sa vitesse.

Vous pouvez utiliser le logiciel informatique EV3 pour faire effectuer une action à votre robot. Le programme se compose de diverses unités de contrôle. Nous allons travailler avec un bloc de mouvement.

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

    Étape préparatoire.

    Création d'un domaine technique.

Sur le champ de travail du robot, nous allons appliquer un marquage, à l'aide de ruban électrique et d'une règle, créer trois lignes de 30 cm de long - une ligne verte, 1 m 15 cm - une ligne rouge et 2 m 17 cm - une ligne noire .

    Calculs nécessaires :

Le diamètre de la roue du robot est de 5 cm 7 mm = 5,7 cm.

Un tour de la roue du robot est égal à la circonférence avec 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. en un tour de roue, le robot parcourt 17,9 cm.

Calculons le nombre de tours nécessaires pour conduire :

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

    1m30cm = 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 le programme selon l'algorithme suivant :

Algorithme:

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

    Allumez les deux moteurs dans le sens spécifié.

    Attendre le changement de la valeur du capteur de rotation d'un des moteurs à la valeur spécifiée.

    Couper les moteurs.

Nous chargeons le programme fini dans l'unité de contrôle du robot. Nous mettons le robot sur le terrain et appuyons sur le bouton de démarrage. L'EV3 traverse le champ et s'arrête à la fin de la ligne définie. Mais pour obtenir une finition précise, il est nécessaire de calibrer, car des facteurs externes influencent le mouvement.

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

    La surface du champ est lisse, par conséquent, une mauvaise adhérence des roues du robot au champ est possible.

    En calculant le nombre de tours, nous devions arrondir les nombres, et donc, en changeant les centièmes des tours, nous obtenions le résultat requis.

5. Conclusion.

Apprendre à programmer le 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 tailles de 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é par des conditions logiques, des cycles et d'autres blocs de contrôle complexes.

Lors de la prochaine étape de connaissance du robot Lego Mindstorms EV3, vous devrez apprendre à programmer des virages selon un certain angle, des mouvements en cercle, des spirales.

Il est très intéressant de travailler avec le constructeur. En apprenant plus sur ses capacités, vous pouvez résoudre n'importe quel problème technique. Et à l'avenir, peut-être, créez vos propres modèles intéressants du robot Lego Mindstorms EV3.

Littérature.

    D. Koposov "Le premier pas vers la robotique pour les grades 5-6". - M. : Binom. Laboratoire des connaissances, 2012 - 286 p.

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

    Ressources Internet

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

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

    http://www. lego. com / éducation /

15.01.2012, 18:51

Jusqu'à présent, dans les articles sur les algorithmes utilisés lors du déplacement le long d'une ligne, une méthode était envisagée lorsque le capteur de lumière semblait suivre sa bordure gauche ou droite : dès que le robot se déplace vers la partie blanche du champ, le contrôleur renvoie le robot à la frontière, le capteur commence à s'enfoncer plus profondément dans les lignes noires - le régulateur l'a redressé.
Malgré le fait que l'image ci-dessus est pour un contrôleur de relais, le principe général de mouvement du proportionnel (contrôleur P) sera le même. Comme déjà mentionné, la vitesse moyenne d'un tel mouvement n'est pas très élevée et plusieurs tentatives ont été faites pour l'augmenter en raison d'une légère complication de l'algorithme : dans un cas, un freinage « doux » a été utilisé, dans l'autre, en plus des virages , un mouvement vers l'avant a été introduit.
Afin de permettre au robot d'avancer dans certaines zones, une zone étroite a été allouée dans la plage de valeurs donnée par le capteur de lumière, que l'on pourrait classiquement appeler "le capteur est en bordure de ligne".
Cette approche présente un petit inconvénient - si le robot "suit" le bord gauche de la ligne, alors sur les virages à droite, il ne détecte pas immédiatement la courbure de la trajectoire et, par conséquent, passe plus de temps à rechercher la ligne et à tourner . De plus, il est sûr de dire que plus le virage est raide, plus cette recherche est longue.
La figure suivante montre que si le capteur n'était pas du côté gauche de la frontière, mais du côté droit, alors il a déjà détecté la courbure de la trajectoire et commencerait à effectuer des manœuvres de virage.

Par conséquent, c'est une bonne idée d'équiper le robot de deux capteurs à la fois, qui étaient situés sur les côtés opposés de la ligne et, par conséquent, aideraient le robot à réagir plus rapidement aux changements de direction du mouvement.
L'étape suivante consiste à déterminer comment ce changement de conception affectera le programme. Pour simplifier, il faut encore commencer par le contrôleur de relais le plus simple et donc, dans un premier temps, vous intéresser aux positions possibles des capteurs par rapport à la ligne :

En fait, un autre état admissible peut être distingué - sur les itinéraires difficiles, ce sera l'intersection d'une intersection ou une sorte d'épaississement sur le chemin.
Les autres positions des capteurs ne seront pas prises en compte, car soit elles sont dérivées de celles présentées ci-dessus, soit ce sont les positions du robot lorsqu'il a quitté la ligne et ne pourra plus y revenir grâce aux informations des capteurs. En conséquence, toutes les dispositions ci-dessus peuvent être réduites à la classification suivante :
  • le capteur gauche, ainsi que le droit - au-dessus de la surface lumineuse
  • capteur gauche au-dessus de la surface claire, capteur droit au-dessus de l'obscurité
  • capteur gauche au-dessus de la surface sombre, capteur droit au-dessus de la lumière
  • les deux capteurs sont situés au-dessus d'une surface sombre
Si à un certain moment le programme sur le robot détecte l'une de ces positions, il devra réagir en conséquence :
    Si les deux capteurs sont au-dessus de la surface blanche, alors c'est une situation normale dans laquelle la ligne est entre les capteurs, donc le robot doit aller tout droit. Si le capteur gauche est toujours au-dessus de la surface lumineuse, et le capteur droit est déjà au-dessus de la surface sombre, alors le robot a poussé son côté droit sur la ligne. Cela signifie qu'il doit tourner vers la droite pour que la ligne soit à nouveau entre les capteurs. Si le capteur gauche est au-dessus de la surface sombre, et le droit est toujours au-dessus de la lumière, alors pour aligner le robot doit tourner à gauche.Si les deux capteurs sont au-dessus de la surface sombre, alors en général, le robot continue à se déplacer tout droit.

Le diagramme ci-dessus montre immédiatement comment exactement le comportement des moteurs doit changer dans le programme. Maintenant, l'écriture du programme ne devrait pas être difficile. Vous devez commencer par choisir quel capteur sera interrogé en premier. Cela n'a pas vraiment d'importance, alors gardons-le à gauche. Il est nécessaire de déterminer s'il est au-dessus d'une surface claire ou au-dessus d'une surface sombre :
Cette action ne permet pas encore de dire dans quelle direction le robot doit aller. Mais il divisera les états énumérés ci-dessus en deux groupes : (I, II) pour la branche supérieure et (III, IV) pour la branche inférieure. Chacun des groupes a maintenant deux états, vous devez donc en sélectionner un. Si vous regardez de près les deux premiers états I et II, ils diffèrent par la position du capteur droit - dans un cas, il est au-dessus d'une surface claire, dans l'autre - au-dessus d'une surface sombre. C'est ce qui va déterminer le choix de l'action à entreprendre :
Vous pouvez maintenant insérer des blocs qui définissent le comportement des moteurs selon les tableaux ci-dessus : la branche supérieure de la condition imbriquée définit la combinaison "les deux capteurs sur clair", celle du haut - "gauche sur clair, droite sur sombre":
La branche inférieure de la condition principale est responsable d'un autre groupe d'états III et IV. Ces deux conditions diffèrent également l'une de l'autre par le niveau d'éclairement que capte le bon capteur. Ainsi, il déterminera le choix de chacun d'eux :
Les deux branches résultantes sont remplies de blocs de mouvement. La branche supérieure est responsable de l'état "gauche sur sombre, droite sur clair" et celle du bas - pour "les deux capteurs sur sombre".
Il convient de noter que cette conception détermine uniquement comment allumer les moteurs en fonction des lectures des capteurs à un certain endroit du champ, naturellement après un moment le programme doit vérifier si les lectures ont changé afin de corriger le comportement de les moteurs, et après un moment encore, encore, et ainsi de suite. .d. Par conséquent, il doit être placé dans une boucle qui fournira cette vérification itérative :

Un programme aussi simple fournira une vitesse de déplacement assez élevée du robot le long de la ligne sans dépasser ses limites, si vous définissez correctement la vitesse maximale lors de la conduite dans les états I et IV, ainsi que la méthode optimale de freinage dans états II et III - plus les virages sont raides sur la piste, plus le freinage doit être "dur" - la vitesse doit baisser plus vite, et vice versa - avec des virages en douceur, il est tout à fait possible d'appliquer le freinage par la mise hors tension ou même généralement par une légère baisse de vitesse.

Quelques mots distincts doivent également être dits sur le placement des capteurs sur le robot. Evidemment, pour la localisation de ces deux capteurs par rapport aux roues, les mêmes recommandations s'appliqueront que pour un capteur, seul le milieu du segment reliant les deux capteurs est pris comme sommet du triangle. La même distance entre les capteurs doit également être choisie à partir des caractéristiques de la piste : plus les capteurs sont proches les uns des autres, plus le robot s'alignera souvent (effectuer des virages relativement lents), mais si les capteurs sont suffisamment écartés , il y a un risque de sortir de la piste, vous devrez donc effectuer des virages plus serrés et des vitesses de déplacement plus lentes sur les sections droites.



 


Lire:



Youri Trutnev Youri Trutnev vie personnelle

Youri Trutnev Youri Trutnev vie personnelle

Qui aurait pensé, tout récemment, que les divorces siégeraient tout à fait ouvertement au gouvernement fédéral? Cependant, les temps sont un peu...

Le gouverneur de Sakhaline, Alexander Horoshavin, a été arrêté parce qu'il était soupçonné d'avoir accepté un pot-de-vin Qu'est-il arrivé à Horoshavin

Le gouverneur de Sakhaline, Alexander Horoshavin, a été arrêté parce qu'il était soupçonné d'avoir accepté un pot-de-vin Qu'est-il arrivé à Horoshavin

Un ancien responsable s'est plaint à Poutine du manque de yachts, de villas et d'hôtels au bord de la mer Le coût total est de plus de 240 millions de roubles. Voitures ...

L'ancien souverain. III. Le souverain et sa cour. Dioclétien : Quae fuerunt vitia, mores sunt - Ce qui était vices est maintenant entré dans les mœurs

L'ancien souverain.  III.  Le souverain et sa cour.  Dioclétien : Quae fuerunt vitia, mores sunt - Ce qui était vices est maintenant entré dans les mœurs

Il y a 400 ans, la dynastie des Romanov monta sur le trône de Russie. Dans le contexte de cette date mémorable, des discussions s'enflamment sur l'influence du pouvoir tsariste...

Réforme de l'ordre en Russie

Réforme de l'ordre en Russie

Le système des organes du pouvoir central de l'État, qui a commencé à se former sous Ivan III, a reçu une forme relativement complète au cours des réformes d'Ivan ...

image de flux RSS