le principal - Histoire de réparation
Un contrôleur PID intégré intégré proportionnel dans la robotique de l'esprit lego. Régulateur proportionnel. Robots de comptoirs internationaux - Règles - Exemples de robots - Robot pour une trajectoire basée sur le programme LEGO EV3 proportionnelle à

Robotics - une nouvelle direction intéressante, qui, apparemment, continuera de se développer dans le cadre des cours d'école d'informatique et de technologie. La robotique BOOM est en grande partie due au fait que cela vous permet de répondre à la question suivante: "Et pourquoi enseignons-nous réellement la programmation?" De plus, le conscience de la robotique peut être trouvé avec les concepts élémentaires de la théorie du contrôle automatique.

Cette page présente des simulateurs développés par l'auteur pour la programmation et les conseils d'Arduino. Ils peuvent aider dans les cas où pour une raison quelconque, il n'est pas possible d'utiliser du matériel réel.

Les simulateurs utilisent les capacités de HTML5, elles ne fonctionnent donc que dans les navigateurs modernes (il est préférable d'utiliser Google Chrome. ou alors Mozilla Firefox.).

nouvelles maintenant dans le canal de télégramme

27 novembre 2015
La piste de Germin ajoutée aux simulateurs ( M.v. Lazarev, Orekhovo-Zuyevo).

13 octobre 2015
Maintenant, dans les simulateurs du LEGO-ROBOT, vous pouvez télécharger vos propres pistes (champs pour le robot). Comment faire? Voir.
Ajout de nouveaux simulateurs - Lego-robots avec deux, trois, quatre capteurs de lumière.

Langue de gestion du robot

Pour contrôler les robots dans les simulateurs, un simple langage de programmation est utilisé, qui a reçu un titre de travail. Sirop. (Programmation simple du robot.).

Gestion du robot avec capteur de lumière

Le capteur de lumière permet au robot de naviguer sur la surface de la table, par exemple, aller le long de la bordure entre les zones blanches et noires (le long du bord de la ligne noire). La photodiode met en évidence la surface, le photodétecteur "attrape" les rayons réfléchis et mesure leur intensité.

La tâche la plus populaire de ce type est le mouvement le long de la ligne. Avec l'aide d'un simulateur, vous pouvez explorer diverses lois de contrôle - relais, proportionnels et même contrôleurs du PID (différentiel proportionnel et intégré).

Exemples de programmes pour un robot avec capteur d'éclairage

Tandis que 1 (si le capteur\u003e 128 (moteur \u003d 100 \u003d 0) sinon (moteur \u003d 0 moteur \u003d 100) Attendez (10))

Kp \u003d 0,2 tandis que 1 (u \u003d kp * (capteur-128) moteur \u003d 50 + u moteur \u003d 50 - u attente (20))

Principal (tandis que 1 (tandis que le capteur\u003e 128 (moteur \u003d 100 Moteur \u003d 100 Attendez (10)) Retour () Turn ())) Retour (moteur \u003d -100 Moteur \u003d -100 attendre (260)) Rotation (moteur \u003d - 50 Moteur \u003d 50 Attendez (50))

Robot de gestion avec deux capteurs de lumière

Deux capteurs de lumière permettent au robot de naviguer et de naviguer dans la ligne mince. Ils sont rendus un peu avancé et divorcés sur les côtés. Quant aux tâches avec un capteur, avec l'aide de ce simulateur, vous pouvez explorer diverses lois de contrôle.

Exemples de programmes de robot avec trois capteurs de lumière

Robot de gestion avec quatre capteurs d'éclairage

Quatre capteurs d'éclairage permettent au robot de mieux déterminer les virages escarpés. Les capteurs internes servent pour des réglages fins, le contrôle proportionnel est utilisé pour eux. Deux capteurs externes sont un peu avancés et divorcés sur les côtés. Ils sont utilisés quand il se produit un tournant raide. Le gain pour le contrôle des indications des capteurs de paire externes est sélectionné supérieur à celui de la paire interne (voir L.yu. Ovsyanitskaya et al., Algorithmes et programmes de la circulation des Mindsorms Lego EV3 en ligne, M.: Peno, 2015).

Exemples de programmes pour un robot avec quatre capteurs d'éclairage

Tandis que 1 (D0 \u003d capteur\u003e 128 d1 \u003d capteur\u003e 128 d2 \u003d capteur\u003e 128 d3 \u003d capteur\u003e 128 si D1 &! D2 (Moteur \u003d 100 Moteur \u003d 0) Si! D1 & D2 (Moteur \u003d 0 Moteur \u003d 100) Si D1 \u003d\u003d D2 (Moteur \u003d 100 Moteur \u003d 100) Si D0 · D3 (Moteur \u003d 30 Moteur \u003d 0) Si! D0 & D3 (Moteur \u003d 0 Moteur \u003d 30) Attendez (10))

K1 \u003d 0,2 k2 \u003d 0,4 jusqu'à présent 1 (U1 \u003d capteur - capteur U2 \u003d capteur - capteur de moteur \u003d 50 + k1 * u1 + k2 * u2 moteur \u003d 50-k1 * u1-k2 * u2 attendre (10))

Robot de gestion avec capteur de distance (Sonomer)

Le capteur de distance (sonar) permet au mouvement du robot de déterminer la distance à l'obstacle le plus proche. Il émet un signal ultrasonique et prend un signal réfléchi. Plus il y a de temps entre les signaux élastiques et reçus, plus la distance est grande.

Utilisation du capteur de distance, vous pouvez programmer le robot de manière à transmettre automatiquement le labyrinthe du formulaire connu, mais des tailles inconnues.

Cette tâche est classique, idéologiquement simple, elle peut être résolue plusieurs fois et chaque fois que vous découvrirez quelque chose de nouveau.

Il existe de nombreuses approches pour résoudre la tâche de suivi. 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 des autres.

Dans notre exemple, trois exemples du robot basé sur le principal modèle d'entraînement Robot Educator seront démontés.

Pour commencer, nous recueillons le modèle de base du robot de formation Robot Educator, pour cela, vous pouvez utiliser les instructions du logiciel Mindstorms EV3.

De plus, pour des exemples, nous aurons besoin de capteurs légers EV3. Ces capteurs de lumière, comme tous les autres, conviennent mieux à notre tâche, lorsqu'ils travaillent avec eux, nous n'aurons pas à oublier l'intensité de la lumière ambiante. Pour ce capteur, nous utiliserons le mode lumineux réfléchi dans les programmes, dans lequel la quantité de lumière réfléchie de la lumière de lumière rouge est estimée. Les limites du témoignage du capteur de 0 à 100 unités, pour le «manque de réflexion» et «réflexion complète», respectivement.

Par exemple, nous analyserons 3 exemples de programmes de mouvement de trajectoire mobiles sur fond lisse et léger:

· Un capteur, avec un régulateur.

· Un capteur, avec régulateur PK.

· Deux capteurs.

Exemple 1. Un capteur, avec un régulateur.

Conception

Le capteur de lumière est installé sur la poutre, qui est idéalement situé sur le modèle.


Algorithme

L'action de l'algorithme repose sur le fait que, selon le degré de chevauchement, le faisceau de l'éclairage du capteur de ligne noire, renvoyé par le capteur de témoignage varient de manière grasse. Le robot conserve la position du capteur de lumière sur la bordure de la ligne noire. Conversion de l'entrée du capteur de lumière, le système de commande génère le taux de rotation du robot.


Depuis sur la trajectoire réelle, le capteur génère des valeurs dans toute la plage de fonctionnement (0-100), puis la valeur à laquelle le robot est choisi 50. Dans ce cas, les valeurs des fonctions de rotation transmises sont formées dans La gamme -50 - 50, mais ces valeurs ne suffisent pas pour raide tournant la trajectoire. Par conséquent, il devrait être étendu par une gamme d'une fois et demi à -75 - 75.

En conséquence, dans le programme, la fonction de calculatrice est un régulateur proportionnel simple. La fonction de laquelle ( (A-50) * 1.5 ) La plage de fonctionnement du capteur de lumière génère les valeurs de rotation en fonction de l'horaire:

Un exemple de travail de l'algorithme

Exemple 2. Un capteur, avec régulateur PK.

Cet exemple est basé sur le même design.

Vous avez probablement remarqué que dans le dernier exemple, le robot a été négligé qu'il ne lui a pas suffisamment donné de se disperser. Nous allons maintenant essayer d'améliorer un peu cette situation.

Pour notre régulateur proportionnel, nous ajoutons un simple régulateur cubique, qui ajoutera la flexion à la fonction de régulation. Cela réduira le berceau du robot près de la limite souhaitée de la trajectoire, ainsi que de réaliser des secousses plus fortes à une forte distance de celui-ci.

Le contrôleur proportionnel est un dispositif qui a un effet de contrôle U (t) sur un objet proportionnellement à son écart linéaire E (T) d'un état donné X0 (T);

e (t) \u003d x0 (t) -x (t), où x (t) est l'état pour le moment;

u (t) \u003d ke (t), où k est un coefficient de renforcement.
Autrement dit, plus le robot s'écarte du cours spécifié, plus les moteurs devraient fonctionner, les alignant.

Mouvement sur une ligne avec un capteur d'éclairage utilisant un régulateur P

Le mouvement le long de la bordure du noir et du blanc peut également être construit sur le régulateur P. Bien que l'extérieurement, la tâche doit être résolue uniquement à l'aide d'un régulateur de relais, car il n'y a que deux de la personne visible à l'œil humain: noir et blanc. Mais le robot voit tout différemment, il n'y a pas de frontière nette entre ces fleurs. On peut dire qu'il est proche de Hutruk et voit la transition de gradient de nuances de gris.

Cela aidera à construire un régulateur P.
Déterminer l'état de travail comme indication du capteur d'éclairage, apprenez à fournir un effet de contrôle proportionnel sur les moteurs en fonction de la loi suivante:
E \u003d S1-GREY, où S1 est les lectures du capteur de courant et le gris est une valeur spécifiée.

Le coefficient K (égal dans cet exemple 2) doit être suffisamment petit (de 1 à 3). Un tel contrôleur ne fonctionne efficacement que pour les petits angles de déviation, de sorte que le robot doit être mis dans la direction du mouvement afin que le capteur soit sur le côté gauche de la ligne noire. Il est facile de noter que le mouvement sur la ligne sur le régulateur P est lisse. Et dans certaines régions de travail, il se déplace presque droit ou de répéter avec précision les coudes de la ligne.

Calibrage du capteur

Tournez au numéro 48 utilisé dans la formule. C'est la lecture arithmétique moyenne du capteur d'éclairage sur le noir et sur blanc, par exemple (40 + 56) / 2 \u003d 48. Cependant, les lectures de capteurs sont souvent changées pour diverses raisons: une autre surface, un changement de l'éclairage général à l'intérieur, une petite modification de la structure, etc. Par conséquent, nous effectuerons le calibrage du robot manuellement, déterminant les lectures du capteur d'éclairage sur blanc et sur le noir.

Mouvement sur une ligne avec deux capteurs d'éclairage à l'aide d'un régulateur P
Corrigez l'intersection avec un capteur de lumière est assez difficile. S'il est nécessaire de le faire avec une vitesse suffisamment élevée, vous avez besoin d'au moins deux capteurs définis par une distance en deux largeurs de ligne (ou plus larges).
Lors du déplacement, quatre états de capteurs sont possibles:

  • les deux sur blanc - mouvement droit;
  • gauche (S1) non noire, droite (S2) sur le mouvement blanc - à gauche;
  • laissé sur blanc, droit sur le noir - mouvement droit;
  • les deux sur le noir - se déplacent à droite.
Donc Avec des lectures égales du capteur (blanche ou blanche), robot robot est directement. Avant d'exécuter le robot, nous effectuerons l'autocalibration des deux capteurs. Ensuite, l'algorithme de mouvement le long de la ligne avec le régulateur P se ressemblait à C.O.:

Le coefficient K peut varier dans une plage assez large (de 1 à 20 à 20 ou plus) en fonction de la courbure de la ligne, de la maniabilité du robot et de la différence entre le noir et le blanc sur le terrain.
Condition importante. L'autocalibration doit être effectuée sur une surface monochrome et de préférence avec cet éclairage qui occupera la plus grande partie du chemin. Par exemple, si le robot va le long de la ligne noire sur un champ blanc, vous devez étalonner sur blanc. Ceux. La position du robot au début devrait être comme ceci:


Et une autre remarque. Il y a des capteurs dont les lectures diffèrent de 10 à 20%. Il est conseillé de ne pas les mettre dans une paire d'un régulateur avec un grand coefficient, car avec un changement important de l'éclairage général, même sur un blanc uniforme, le champ de déviation peut être différent, ce qui entraînera des conséquences inattendues. Détails Auteur: Konovalov Igor Le régulateur proportionnel est une amélioration. Le principal relais Minus est qu'il ne se soucie pas de la manière dont les valeurs actuelles diffèrent de la valeur de capteur normale. Il n'a que deux états - soit essayer d'augmenter les valeurs du capteur sur un certain nombre constant si elles sont inférieures à la valeur normale ou à une augmentation. Pour cette raison, les fluctuations se produisent avec une amplitude permanente, qui est très inefficace.
Il est beaucoup plus logique de déterminer jusqu'où «le témoignage actuel de la normale et, selon cela, changez l'amplitude. Pour que cela soit plus clair, nous examinerons sur l'exemple. Un exemple, comme dans le dernier article, le même: un robot de LEGO Mindstorms EV3 monte sur une ligne noire avec un capteur de couleur en mode lumière.

Le robot tente d'aller le long de la frontière entre le blanc et le noir et le capteur montre environ 50% de l'éclairage. Et plus il provient d'une situation normale, plus le robot est attaché au retour à 50%.
Pour écrire le programme, nous utilisons les termes "erreur", "action de contrôle". Erreur - La différence de la lecture du capteur de courant et de la normale. Dans notre cas, si le robot voit maintenant 20% de l'éclairage, alors l'erreur est 20-50 \u003d -30%. Le panneau d'erreur indique la manière dont le robot vaut la peine de se débarrasser de l'erreur. Nous devons maintenant spécifier les moteurs, de la manière de transformer le robot, à quelle vitesse et dans quelle mesure. Il est nécessaire d'avoir un effet de contrôle sur les moteurs dans lesquels elle implique la rapidité avec laquelle elle devrait être renvoyée à la normale. L'effet de contrôle (UP) est calculé comme une erreur (erreur) multipliée par le coefficient de proportionnalité (K). Ce coefficient est utilisé pour améliorer ou réduire l'effet de l'erreur sur l'effet de contrôle. L'exposition de contrôle est introduite à la direction où la vitesse moyenne du robot est installée.
Comment configurer le coefficient de proportionnalité? Connu en sélectionnant les valeurs pour piloter la trajectoire, par exemple de 0,2 à 1,5, en fonction de la vitesse et de la conception du robot. Si le coefficient est trop gros, le robot s'user fera fortement, si petit - va bien, mais à un moment donné, à un moment donné, bougez à l'insuffisance de l'ampleur de l'exposition de contrôle. Nous écrirons deux versions du programme - avec des variables (pour ceux qui les ont déjà étudiés) et sans.


Mais ce contrôleur peut être amélioré en introduisant le composant proportionnel et intégré, la description sera dans les articles suivants. À bientôt!

Régulateur proportionnel

La description

Avec ajustement automatique, l'effet de contrôle U (T) est généralement la fonction d'une erreur dynamique - des écarts d'erreur de E (T) de la valeur réglable x (t) de sa valeur spécifiée x0 (t):

e (t) \u003d x0 (t) - x (t).

C'est le principe de la commande de déviation de premier cycle du curseur ou du principe de rétroaction. L'expression mathématique de la dépendance fonctionnelle de l'effet de contrôle souhaitée U0 (T) des valeurs mesurées par le régulateur est appelée loi ou algorithme du règlement, mentionné ci-dessus.

Le contrôleur proportionnel est un dispositif qui fournit un effet de contrôle sur l'objet proportionnellement à son écart par rapport à l'état spécifié:

Ici k est le gain du régulateur.

L'état spécifié de X0 est d'habitude d'être appelé point de consigne et la déviation de celle-ci est incertaine. Ensuite, pour la définition, nous désignerons une réduction de la simulation de la méprise (à partir du mot anglais "erreur" - erreur).

Contrôle moteur

Un guerrier expérimenté ne balancera pas l'épée, car elle rend le robot sur le régulateur de relais. Il est nécessaire de proposer un algorithme qui retardera le moteur, tenant une épée, dans une position strictement fixe (Fig. 7.1). Cela aidera le régulateur p-.

Soit E 1 les indications du capteur de révolution1 sur le moteur A - est une valeur réglable. Setpoint X0 \u003d 45 et non instantané E \u003d 45 - E 1. Ensuite, l'effet de commande sur le moteur est donné par la formule

u \u003d k ∙ (45 - E 1).

Ici K est un coefficient de gain, par exemple 5, qui augmentera la réaction du moteur, même avec de petites écarts à partir du point de consigne.

1 Ne confondez pas la désignation mathématique de la Slender E (de l'erreur) avec les indications du codeur E 1 (à partir du codeur), une variable de robolab prédéterminée.

Lorsqu'un rejet de côté positif, un effet de contrôle négatif sera fourni au moteur, et inversement. Ce contrôle peut être appliqué au moteur dans un cycle avec un petit délai de 1 à 10 ms pour décharger le contrôleur (Fig. 7.8).

Figure. 7.8. Algorithme de contrôle du moteur sur un régulateur proportionnel.

Si un coefficient de renforcement est augmenté de 5 à 100, notre régulateur proportionnel commencera à fonctionner comme relais, provoquant des oscillations fortes dues à la survenue de l'effet inverse.

Dans Robotc, il n'existe pas de désignation aussi pratique de l'encodeur de l'encodeur comme à Robolab. Le programme semble donc un peu plus long:

int k \u003d 5, u; nmotorencoder \u003d 0; Tandis que (vrai)

u \u003d k * (45-nmotorencoder); Moteur \u003d u;

Ensuite, pour infliger suffisamment de "souffler par une épée", avoir au lieu des variables numéro 45, changez de valeur de l'extérieur, par exemple, d'un problème parallèle. Ceci est écrit dans la section dédiée aux robotammars au chapitre 8.

Et maintenant nous construisons un régulateur, gérant non seulement la position statique du moteur, mais également la vitesse de son mouvement. Suite à la logique de l'algorithme, le point de consigne, qui a jusqu'à présent été une constante et n'a pas changé, devrait commencer à progresser ou à diminuer. Obéissant au régulateur, le moteur le suivra inévitablement. L'outil le plus simple pour l'incrément constant de la valeur de consigne est une minuterie.

Le contrôleur NXT comporte quatre minuteries intégrées, chacune pouvant mesurer le temps dans les dixièmes, les centièmes et les millièmes de secondes. Nous allons maîtriser la première minuterie qui, dans une seconde, 10 "

crique. À Robolab, il est noté par T1 ou Timer100ms1 et dans Robotc - Timer100.

L'angle d'alpha déviation du moteur défini dans l'exemple précédent avec la valeur 45, nous ajouterons une dépendance aux lectures de la minuterie avec un coefficient d'accélération K 2:

alpha \u003d k2 ∙ t1.

L'effet de contrôle restera le même avec le coefficient d'amélioration K 1:

u \u003d k 1 ∙ (alpha-e 1).

Brièvement dans le programme de la langue Robolab, l'exposition de contrôle sera immédiatement soumise au moteur, pré-initialisation de la minuterie

Figure. 7.9. Le contrôle de la vitesse du moteur est un tour par seconde.

Le coefficient K 2 \u003d 36 détermine que, dans une seconde, la valeur alpha fonctionne jusqu'à 360, ce qui correspond à un chiffre d'affaires complet du moteur:

int k1 \u003d 2, k2 \u003d 36, u, alpha; nmotorencoder \u003d 0; ClearTimer (T1); Tandis que (vrai)

alpha \u003d Timer100 * K2; u \u003d k1 * (alpha-nmotorencoder); Moteur \u003d u;

En utilisant une division entière adoptée dans C (et à Robolab) pour variables de type entier, on peut obtenir un changement de coin discret, c'est-à-dire incréments de celui-ci une fois par seconde:

alpha \u003d t 1/10 ∙ k 2.

Avec le coefficient K 2 \u003d 60, les mouvements du faisceau correspondront au mouvement de la seconde flèche sur l'horloge. Mais ce n'est pas assez

visiblement. Pour plus de clarté, vous pouvez définir K2 \u003d 30, puis la flèche effectuera un tour complet pour 12 "Tikov" 30 degrés chacun. Soyez prudent avec la séquence des opérations de division et de multiplication entière, lorsque vous modifiez leur commande ou «abréviation», le résultat changera certainement (Fig. 7.10).

Figure. 7.10. Imitation accélérée du mouvement des flèches d'horloge.

Et enfin, un exemple de batteur mathématique. Au lieu d'un mouvement permanent, la flèche effectuera des fluctuations dans le cadre de la main sous le contrôle du régulateur P. Cela aidera le fonctionnement de la séparation avec le résidu, qui dans le C est noté par le signe de la signature. Le reste de l'entier non négatif sur 2 sera toujours 0 ou 1:

alpha \u003d t 1% 2 ∙ K 2.

Intensifiant la déviation de K 2 \u003d 15 fois, nous obtenons l'alpha de consigne oscillant, qui forcera le régulateur 5 fois par seconde déplacer le moteur à 0º, puis à 15 degrés. Les changements dans le programme sont petits. Considérons un exemple sur robotc:

int k1 \u003d 3, k2 \u003d 15, u, alpha; nmotorencoder \u003d 0; ClearTimer (T1); Tandis que (vrai)

alpha \u003d minuterie100% 2 * k2; u \u003d k1 * (alpha-nmotorencoder); Moteur \u003d u;

Ce batteur prototype frappe à la table en même temps. La principale chose est de commencer dans la bonne position. En utilisant des mathématiques entier, vous pouvez spécifier un motif rythmique plus complexe, par exemple (tableau 7.1):

alpha \u003d T 1% 5% 2 K 2.

centre \u003d S3.

Le coefficient est déterminé dans le cycle:

k 1 \u003d C + (S 3 - CENTRE) / K 2.

Figure. 7.36. Mouvement sur la ligne sur un régulateur proportionnel avec un coefficient flottant.

La législation de coefficients d'amélioration résultante peut être appliquée non seulement à la composante proportionnelle, mais également à tout autre, ainsi qu'à l'influence de contrôle dans son ensemble (figure 7.36).

Régulateur PID

Différentiel intégré proportionnel (PID) Le régulateur est l'un des plus populaires et est utilisé dans un grand nombre de dispositifs de différents types dans lesquels la vitesse de la réaction et la précision du positionnement du système sont nécessaires. Comme le nom suit, ce contrôleur est constitué de la quantité de trois composants et est représenté graphiquement à la Fig. 7.37.

Figure. 7.37. Circuit de régulateur PID.

Ceci est un schéma simplifié. Une erreur dynamique E (t) est fournie à l'entrée du contrôleur et l'effet de contrôle U (t) est produit à la sortie:

u (t) \u003d p + i + d \u003d k p ∙ e (t) + k i ∙ ò t

e (τ) d τ + k d ∙

de.

La composante proportionnelle représentée sur le schéma de triangle est responsable du positionnement du système dans un état donné. Dans certains cas, cela peut causer une redistribution avec les auto-oscillations ultérieures. C'est-à-dire que le régulateur P peut "réorganiser" et le robot commencera à apporter d'un côté à l'autre.

Le composant intégral accumule une expérience négative (résume les erreurs) et produit des effets de compensation. Avec des écarts minimaux, la composante proportionnelle "faible" et intégrale, en raison de son augmentation rapide de la sommation, aide "atteindre" la valeur réglable au point de consigne.

Le composant différentiel (composant D) surveille la vitesse de modification de l'état du système et empêche la redistribution possible. Dans certains cas, le composant D est opposé à proportionnel au panneau, et certains coïncident.

Avec la composante proportionnelle, nous sommes déjà familiers, le différentiel est décrit dans le chapitre précédent 6. Nous prendrons l'intégrale. Ce composant est déterminé de manière dynamique, en résumé avec la valeur précédente:

i \u003d I + ki × e (t) × Dt.

La signification physique de la valeur de E (t) × dt est qu'il est

le rapport Durée du système est dans un état d'erreur. Étant donné que le coefficient de K i est soumis pour des crochets, vous pouvez parler de la valeur de I en tant que quantité de durées d'erreur. Ainsi, nous trouvons une intégrale en résumé.

Considérez l'utilisation du contrôleur PID sur l'exemple d'un équilibrage de robot sur deux roues. Cette tâche classique peut être résolue à l'aide de différents capteurs de différentes manières. L'exemple proposé a utilisé le capteur d'éclairage et la forme la plus simple du contrôleur PID. Cependant, pour assurer la stabilisation du robot, vous devrez utiliser des lectures de capteurs plus précises.

Format brut

Les données des capteurs arrivent au contrôleur NXT dans le formulaire "fromage" non traité. Tous les capteurs transmettent une valeur numérique au système d'exploitation de 0 à 1023, qui est ensuite traitée par le pilote approprié et est réduite à une vue plus claire (distance 0 ... 255, illumination 0 ... 100, toucher 0 ou 1 , etc.). Mais les données peuvent être obtenues et en passant directement le conducteur. Un tel format non transformé est appelé cru (de l'anglais. "RAW"). Dans certains cas, il peut être obtenu avec une plus grande précision. Par exemple, la gamme de valeurs de capteur d'éclairage peut augmenter d'environ 10 fois. Cette fonctionnalité est utilisée plus loin.

Vous pouvez recevoir des données dans le format RAW à Robolab et Robotc. Pour cela, le capteur est initialisé en conséquence et les données de celui-ci sont lues à l'aide d'une variable prédéfinie spéciale.

Robot d'équilibrage

La conception du robot Sigvea est décrite à la Fig. 7.38: contrôleur localisé verticalement, roues fermées et capteur de lumière dirigé vers le bas. L'algorithme sera un peu plus compliqué.

Le principe de stabilisation de Sigvea dans la position d'équilibre est la suivante. Si le robot se rend en avant, les lectures sur le capteur de lumière se lèvent en raison de la lumière réfléchie. En réponse, l'impact de la commande est produit, ce qui rend le robot aller de l'avant et prend ainsi une position verticale à nouveau.

Lorsque vous rejetez le témoignage du capteur, le robot commence à revenir en arrière. Pour tout cela correspond à la composante proportionnelle. Le rôle des composants intégrale et différentiels est donné à l'assurance globale.

Figure. 7.38. Équilibrer la session du robot.

En figue. 7.39 montre l'algorithme à Robolab. Sa part de cela prend l'initialisation des variables. Pour augmenter la précision, non seulement les données du capteur sont lues dans le format RAW, mais la plupart des variables sont déclarées dans le format de flotteur de matériau. En fait, l'algorithme PID est dans le cycle.

Figure. 7.39. L'algorithme d'équilibrage est basé sur le régulateur PID.

Suite à la tradition du mouvement de la ligne, utilisez la variable GRY comme point de consigne - les lectures moyennes du capteur d'éclairage dans la position d'équilibre. Le paramètre de nouvelle échelle définit la mise à l'échelle de l'exposition de contrôle. En fait, c'est un coefficient d'affaiblissement car la valeur générée par le régulateur est trop élevée pour les moteurs NXT. Il serait possible de l'introduire à l'intérieur des coefficients existants, mais pour Robotc, ce paramètre sera différent et les coefficients sont les mêmes.

Avec les coefficients ci-dessus, le robot est bien stabilisé sur un linoléum ou un bureau de lumière monophonique. C'est-à-dire qu'il n'a pas besoin de couleur de surface blanche. Pour commencer, vous devez installer avec précision SIGWE dans la position d'équilibre. Si le robot commence par une pente avant ou en arrière, il commencera immédiatement le mouvement dans la direction de l'inclinaison.

Un exemple similaire sur Robotc est quelque peu différent en vertu d'un certain nombre de raisons. Premièrement, la vitesse de NXT avec le micrologiciel de cet environnement est supérieure à environ 1,4 fois que Robolab. Le coefficient d'échelle devrait donc être augmenté. Deuxièmement, les valeurs brutes sont transmises dans le bon ordre et devront installer un verso de moteurs ou simplement soumettre un effet de contrôle négatif:

int gris \u003d sensorraw; Int err, errold \u003d 0;

flotteur kp \u003d 25, ki \u003d 350, kd \u003d 0,3; Échelle de flotteur \u003d 14;

flotteur dt \u003d 0,001; Flotter p, i \u003d 0, d, u; Tandis que (vrai)

err \u003d gris-sensorraw; // déviation avec panneau inversé p \u003d kp * err;

i \u003d i + ki * err * dt; d \u003d kd * (error orthold) / dt; Errold \u003d err. u \u003d (p + i + d) / échelle; Moteur \u003d u; Moteur \u003d u; Wait1msec (1);

Éléments de la théorie du contrôle automatique à l'école1

Une tâche méthodologique importante et intéressante est le "pont" entre les domaines de la connaissance d'un spécialiste et un écolier, aidant les étudiants à voir la perspective de la future spécialité, c'est-à-dire. Effectuer des orientations professionnelles et les étudiants voient l'applicabilité pratique de leurs connaissances professionnelles. Pour atteindre cet effet, des techniques de calcul des régulateurs, utilisant un appareil mathématique, pas au-delà de la portée des programmes scolaires en mathématiques et en physique. En particulier, au lieu d'équations différentielles, de différence, de caractère discrète bien approprié de l'interaction d'un objet et d'un régulateur avec contrôle informatique sont utilisés.

Considérez, par exemple, le problème de la construction de régulateurs proportionnels (P) et différentielle proportionnelle (PD) dans la tâche de contrôle du mouvement de robot mobile le long du mur. Note de xt la distance entre le robot et la paroi, à travers θt - l'angle de parcours du robot, et via UT - l'effet de contrôle au moment du numéro de séquence T, respectivement, où T \u003d 0, 1, 2,. .. - Numéros moments

rhénium. On pense que l'enquête sur les capteurs et les changements de l'ampleur de l'exposition de contrôle est effectuée à une période égale de temps H. Pour les tâches de gestion LEGO NXT, il est naturel pour les robots que l'exposition de contrôle est la différence entre les vitesses angulaires de la rotation de la roue, proportionnelle à la vitesse de changement d'angle d'échange:

Compte tenu du taux de change de la valeur nominale θT \u003d 0 petite et la vitesse moyenne du robot est permanente: VT \u003d V, la dynamique des modifications de l'état variable du robot dans la première approximation peut être décrite par des équations linéaires de l'état:

où g \u003d h2vr / b.

Définissez la distance souhaitée sur la paroi X *\u003e 0 et nous définissons le but de la commande (CSU) par le ratio

xt → x * à t → ∞.

Nous introduirons naturellement au niveau substantiel le concept de stabilité asymptotique, car les propriétés des solutions du système (4) garantissent la réalisation de la CSU (5) dans toutes les conditions initiales, diffèrent légèrement de la cible. Il est facile de voir que avec u t \u003d 0, la solution d'équation (4) est toute valeur constante x t \u003d x *. Mais depuis l'équation (4), les modèles correspondants du double intégrateur (double additionneur) ne disposent pas de la propriété de la stabilité asymptotique, la CSU (5) pendant la commande constante n'est pas atteinte. Ceci est facilement démontré comme analytiquement - la sommation de



 


Lis:



Meilleure armure à Skyrim - Armure légère et lourde

Meilleure armure à Skyrim - Armure légère et lourde

Comment comprendre les subtilités de l'armure et trouver le code de la chose appropriée dans le jeu Skyrim 5 Vous apprendrez de cet article. Nous remarquerons 5 - Le jeu n'est pas pour Sllyuntaev et ...

Cheats codes skyrim à la maison stop ustensile

Cheats codes skyrim à la maison stop ustensile

Construire un système de codes dans Skyrim est assez simple et déjà connu des amoureux de la série Scrolls des aînés. Permettez-moi de vous rappeler que pour l'introduction de codes dont vous avez besoin ...

Renforcement de l'école de sorcellerie School Magic à Skyrim

Renforcement de l'école de sorcellerie School Magic à Skyrim

Dans les Scrolls des aînés 5: School School School School School School School School School School est spécialisé dans l'appel des créatures et la création d'armes magiques ....

Livres noirs Skyrim Secret Servant

Livres noirs Skyrim Secret Servant

Le vent de changement est l'un des rares livres noirs, composés uniquement d'un chapitre. Une fois dans l'apocryphathe, allez de la pièce à la pièce, activant ...

image d'alimentation. RSS.