RB2 places en cours d’exécution. (3 / 5 étapes)

Étape 3: Utilisation d’un PID

Imaginons la première consigne = 2 tiques. Donc nous attendons le bot pour exécuter à 2 graduations par 0,1 seconde (comme j’ai mentionné : il s’agit d’un calcul approximatif, en laissant de côté l’accélération lors de l’intervalle). Puis le bot commence à courir à la vitesse de décrochage. Après 0,1 seconde, les capteurs sont lus et les encodeurs venir avec 1 tick. Nous ' re au-dessous de cible à une erreur de 1 tique.

Dans la formule :

erreur = consigne – tiques réelles

La vitesse réelle doit être augmentée car nous aspirons à une vitesse supérieure pour le bot à exécuter. La façon la plus simple à corriger cela ajoute l’erreur à la prochaine commande de vitesse. Dans la pratique cela se révélera pour être Vitesse trop ou trop peu pour obtenir le bot près la direction désirée. Réglage de la correction peut être fait en multipliant l’erreur avec une constante. Cette façon de corriger est appelée « proportionnelle ». La constante de syntonisation est appelée un « gain ».

Dans la formule :

P = Kp * erreur

Réglage de la correction proportionnelle soigneusement va réduire l’erreur au fil du temps significativement, mais n’apportera jamais il à zéro (car il n’y a toujours une erreur nécessaire pour une correction proportionnelle). Dans beaucoup de cas, cette façon de corriger l’erreur se traduira également par des changements rapides, ce qui entraîne un comportement choquant (oscillation) du bot. Pour lisser les réactions une partie « Intégrés » est ajoutée à la correction en additionnant les erreurs au fil du temps. La partie intégrée peut aussi être Assemblée à l’aide d’un gain.

Dans la formule :

J’ai = Ki * somme des erreurs * intervalle

Pour résumer permettra enfin de réduire l’erreur à zéro et il fonctionne très bien tant qu’il y a une partie de la gauche de l’erreur. Intégrer les empêchera également augmenter sans fin de la vitesse. La correction prend plus de temps et... œuvres plus longues. Alors quand l’erreur est finalement réduite à zéro, la partie intégrante de la correction va continuer à travailler (et devenir négatif) jusqu'à ce que la somme de toutes les erreurs est réduite à zéro. Il s’agit de dépassement.

Souvent (par exemple lorsqu’il est appliqué sur un robot équilibrage) une troisième partie de la correction est nécessaire pour « couper » la remise des gaz. C’est la partie « différentielle ». Il traite de la volatilité du changement en faisant la différence entre les 2 erreurs au fil du temps en compte. Aussi la partie différentielle peut être réglée à l’aide d’un gain.

Dans la formule :

D = Kd * (erreur : erreur précédente) / intervalle

Ajouter les pièces se traduira par une correction contrôlée de la vitesse: P + I + D.

Le point de consigne, l’erreur et la correction PID sont tous chez les tiques (par seconde). Pour la commande pour changer la vitesse du moteur, il est nécessaire de recalculer cela en PWM-pourcentage. Chaque fois que la partie contrôlée s’exécute, la vitesse des moteurs augmentera jusqu'à ce que le bot fonctionne à la vitesse désirée.

Comme mentionné précédemment : il s’agit d’un contrôle simplifié et fonctionne sans utiliser l’accélération dans les équations. En regardant le diagramme de la vitesse : ce script ne réalise pas une motion qui décélère. Lors de la saisie des concours vous devez et vous aurez probablement le bot ramper pour les derniers millimètres vers la distance de la cible exacte. (Travail avec RB2 se fait en centimètres au mieux).

Le codage de Python complet est fourni dans le script, donc je vais le laisser hors de ce blog. Garder une trace de toutes les valeurs et les enregistrer dans un fichier csv fichier formaté, nous permettront d’analyser les données d’erreur et les aide à réglage de la correction en changeant les gains (donc quitter peu d’exercice et une partie saine de la patience). L’image ci-dessous montre un tableau de bord utilisé pour l’analyse. Évident, que je n’étais pas là encore. -0)

Si le réglage est fait correctement les graphiques erreur montrera des courbes agréables, lentement proche de zéro.

RB2 est un robot d’entraînement différentiel : il a 2 séries de moteurs indépendants. Pour chaque côté, une partie distincte contrôlée est utilisée. En théorie, les deux séries de moteurs devraient être exécuté à la vitesse de la cible au même moment dans le temps et le bot doit être exécuté dans une ligne droite. Pour alerter, une troisième, équilibrage, PID peut être utilisé pour corriger les divergences qui subsistent entre gauche et droite.

RB2 produit un autre défi : je ne pouvais pas régler la différence entre la gauche et la bonne vitesse. Je ne sais toujours pas a raison pour que (j’ai changé les moteurs, commuté pneus, inversé le câblage, essayé un autre moteur, changé le cadre, remplacé la batterie, mais n’a pas pu combler l’écart). Donc, dans mon script le PID équilibrage a le plus de poids dans la correction totale et la plus élevée des deux lectures encodeur est utilisé pour calculer la distance effectuée (en ajoutant un autre inexactitude). Cependant je crois que c’est la façon de mettre en oeuvre : tout d’abord régler le PID pour les moteurs. Une fois atteint le résultat souhaité et le comportement, mettre en œuvre le PID d’équilibrage.

Tout ce qui est laissé pour l’exécution de places maintenant, apporte tour à tour en exactement de 90 degrés. Et bien sûr: « Pourquoi jamais vouloir le bot pour courir à carrés? »

Articles Liés

Grand écran de 8 * 8 couleur LED Funduino (colorduino) en cours d’exécution « plasma »

Grand écran de 8 * 8 couleur LED Funduino (colorduino) en cours d’exécution « plasma »

Un temps de retour, j'ai acheté une planche funduino et le pug de couleur LED 8 * 8 correspondant au module. Lorsque j'ai d'abord mis sous tension il il est pré-chargé avec une démo qui traversait un affichage simple, c'était vraiment cool, j'ai pens
En cours d’exécution plus sûres, sur des routes rurales

En cours d’exécution plus sûres, sur des routes rurales

Course rurale ajoute de nouveaux dangers, tels que le manque de ressources immédiates et dangers pour l'environnement, que de nombreux coureurs de niveau novice et adepte découvrent la dure. Ce guide est conçu pour aider les nouveaux coureurs à bien
Vélo en cours d’exécution indicateurs

Vélo en cours d’exécution indicateurs

ceux qui roulent dans la nuit de ce vélo en cours d'exécution indicateur contribue à prévenir les accidents, il brille brillant et n'importe qui peut facilement détecter le cycle.Étape 1: Matériel requis1. 9V Batteries - 22. led - 6 (préférez Orange/
Arduino IDE en cours d’exécution sur ChipKIT DP32

Arduino IDE en cours d’exécution sur ChipKIT DP32

Cette instructable fournit des processus étape par étape sur la façon d'exécuter des programmes arduino utilisant chipKIT DP32Étape 1: Matériel nécessaire : Matériel :ChipKIT DP32 (http://www.microchipdirect.com/ProductSearch.aspx?keywords=TDGL019)Câ
En cours d’exécution un à travers un champ de zéros

En cours d’exécution un à travers un champ de zéros

Dans les années 70, je travaillais pour Northern Telecom (Nortel Networks). J'ai assisté à un cours d'électronique numérique et une partie du cours traite de LED et tongs.Une des tâches que nous devions effectuer l'appelait exécutant un à travers un
Bonne forme pour montée & descente en cours d’exécution

Bonne forme pour montée & descente en cours d’exécution

apprendre à perfectionner votre formulaire en cours d'exécution sur les collines. Pour aider les participants à se préparer pour leurs activités sportives, volodalen.com propose également une gamme d'outils de formation en ligne et les plans de remis
En cours d’exécution à travers l’Amérique une seule frappe à la fois : création d’un Blog de course virtuel - Mile 1500 !

En cours d’exécution à travers l’Amérique une seule frappe à la fois : création d’un Blog de course virtuel - Mile 1500 !

La plupart du temps lorsque vous exécutez vous commencent et se terminent au même point.  Mais que se passerait-il si vous avez exécuté que vous pourriez et puis a commencé le lendemain de ce même point ?  Combien de temps cela prendrait-il vous rend
Comment construire un bassin d’eau en cours d’exécution pour le développement de plusieurs photos analogiques

Comment construire un bassin d’eau en cours d’exécution pour le développement de plusieurs photos analogiques

la construction d'une salle sombre pour développer vos photos est facile. Acheter les matériaux nécessaires et couvrir vos fenêtres. Après avoir développé les photos, vous devriez les mettre dans une bassine d'eau en cours d'exécution. Vous pouvez ac
En utilisant une tablette Wacom dans Ableton Live en cours d’exécution sur OSX

En utilisant une tablette Wacom dans Ableton Live en cours d’exécution sur OSX

Lorsque votre brillant nouveau Wacom pen se comporte erratiques sous Ableton Live en cours d'exécution sur OSX, il y a quelque chose que vous pouvez à ce sujet ! Le comportement typique est celui de boutons et de curseurs va tous à un extrême, le sec
Obtenir un noyau d’étincelle en cours d’exécution sans utiliser app Spark

Obtenir un noyau d’étincelle en cours d’exécution sans utiliser app Spark

L' Étincelle Core est un outil puissant--un CPU 32-bit, beaucoup de rangement sur puce et hors-die pour code et résultats, exigences de faible puissance et intégré dans la puce WiFi et antenne. Nombre d'appels Arduino et même de nombreuses bibliothèq
En cours d’exécution 3 moniteurs en installant la deuxième carte PCI Express

En cours d’exécution 3 moniteurs en installant la deuxième carte PCI Express

j'ai envie de courir 3 écrans sur mon PC, mais il avait seulement un slot pour carte vidéo unique. Cela signifiait que je pouvais courir seulement 1 carte vidéo et une seule carte vidéo habituellement prend uniquement en charge 2 moniteurs. Certaines
En cours d’exécution un filet maillant à recueillir des échantillons de poissons

En cours d’exécution un filet maillant à recueillir des échantillons de poissons

un filet maillant est une méthode d'échantillonnage utilisée par le MRN, le poisson et le Service de la faune. Cette technique permet à ces organisations de recueillir un grand nombre de poissons fins de recherche ou écloserie. Ce tutoriel va donner
FAT16 en cours d’exécution sur le Ti Launchpad

FAT16 en cours d’exécution sur le Ti Launchpad

Cette vidéo présente le code en action pour la lecture d'une carte SDvous aurez besoin de ce qui suit :N'importe quel morceau MSP430 avec USI et 4k ou plus flashune carte SDun capcitor (rien de plus que 10uf)Code Composer Studio 5 (grace facilite les
Bases de fusible avr : en cours d’exécution un avr avec une horloge externe

Bases de fusible avr : en cours d’exécution un avr avec une horloge externe

fusibles sont parmi les sujets plus difficiles que j'ai rencontré tout en découvrant la programmation de microcontrôleurs. Même après la recherche et la lecture intensivement, je ne pouvais pas parviennent encore à effacer mes concepts à leur sujet.