Lijn volgeling Android Robot - PID Control - Setup (8 / 12 stap)

Stap 8: PID controle (optioneel)


In het geval dat u wilt springen van dit deel, is het OK. U kunt blijven met de proportionele controle uitgelegd op de laatste stap, of branden sommige hersenen ter uitvoering van een meer complexe controlesysteem in uw Robot, het is jouw keuze. We gaan.

PID (evenredige, afgeleide en integraal) is één van de meest voorkomende controle regelingen rond. De meeste industriële controlelussen gebruiken sommige smaak van PID controle. Er zijn vele manieren om af te stemmen op een PID lus, met inbegrip van de handmatige techniek die gebruikt wordt in dit voorbeeld.

Denk aan PID als een eenvoudige veer. Een veer heeft een originele lengte, die toen gestoord, door uitzetting of inkrimping, de neiging om het weer zijn oorspronkelijke lengte in de kortst mogelijke tijd. Ook een PID-algoritme in een systeem heeft een set-waarde van een bepaalde natuurkundige grootheid te worden gecontroleerd, genoemd een 'set point', die toen gewijzigd als gevolg van één of andere reden het systeem controles andere noodzakelijke functies uit het, om terug te gaan naar de oorspronkelijke set punt in de kortste tijd mogelijk. PID-controllers worden gebruikt wanneer er een behoefte om controle van een natuurkundige grootheid en om er gelijk is aan een opgegeven waarde. In het volgende voorbeeld, Cruise controller in auto's, Robots, temperatuurregelaars, spanningsstabilisatoren, enz.

Hoe werkt de PID?

Het systeem berekent de 'fout' of 'afwijking' van de fysieke hoeveelheid van de set-punt, door het meten van de huidige waarde van die fysieke hoeveelheid met behulp van een sensor (s). Als u wilt terugkeren naar de set-punt, deze 'fout' moet worden geminimaliseerd, en idealiter gelijk is aan nul moet worden gemaakt. Ook, zou dit proces zo snel mogelijk gebeuren. In het ideale geval moet er nul vertraging in het antwoord van het systeem tot de verandering van haar instelpunt.

Meer informatie vindt u in vele boeken en website ook hier:

http://en.wikipedia.org/wiki/PID_controller

Uitvoering van PID

i) fout Term (e):

Dit is gelijk aan het verschil tussen het instelpunt en de huidige waarde van de hoeveelheid die wordt gecontroleerd.

fout = set_point-current_value (in ons geval is de fout variabele krijgen van de positie van de Robot over de lijn

II) evenredig Term (P):

Deze term is evenredig met de fout.

P = fout

Deze waarde is verantwoordelijk voor de omvang van de verandering die nodig in de natuurkundige grootheid te bereiken de instelpunt. De term deel is wat bepaalt de stijgtijd van het controle-lus of hoe snel het zal bereiken de instelpunt.

III) integraal Term (I):

Deze term is de som van alle vorige foutwaarden.

I = I + fout

Deze waarde is verantwoordelijk voor de snelheid van de reactie van het systeem tot de verandering van de set-punt. De integraal term wordt gebruikt de eliminate de steady-state fout de proportionele termijn voorgeschreven. Meestal kleine Robots gebruikt niet de integraal term want we zijn niet bezorgd over de steady-state fout en het kan bemoeilijken de lus tuning.

IV) differentiële of daarvan afgeleide Term (D):

Deze termijn is het verschil tussen de momentane fout van de set-punt, en de fout van de vorige instant.

D = fout - previousError

Deze waarde is verantwoordelijk voor het vertragen van de snelheid van de veranderingen van de fysieke hoeveelheid qua dicht bij het punt van de reeks. De afgeleide term wordt gebruikt de verminderen de overschrijding of hoe veel het systeem over corrigeert.

Vergelijking:

PIDvalue = (Kp * P) + (Ki * ik) + (Kd * D)

Waar:

KP is de constante, waarmee de omvang van de verandering die nodig is om de instelpunt variëren.

Ki is de de constante, die wordt gebruikt om het tarief waartegen de verandering moet worden gebracht in de natuurkundige grootheid te bereiken de instelpunt variëren.

KD is de constante, waarmee de stabiliteit van het systeem variëren.

Een benadering is om de Kd-variabele instellen op 0 en de Kp term alleen eerst afstemmen. KP van 25 is een goede plaats om te beginnen in ons geval hier. Bij de laatste stap gebruikten we een Kp van 50 die zeer goed met mijn Robot werkt. Als de robot te traag reageert, verhogen de waarde. Als de robot lijkt te reageren om snel en instabiel, verlaagt u de waarde. Zodra de antwoorden van de robot tune redelijk, de afgeleide gedeelte van de controle-lus. Eerst de Kp en Kd waarde op de 1/2 van de Kp-waarde instellen. Bijvoorbeeld, als de robot reacties redelijk met een Kp = 50, dan stel Kp = 25 en Kd = 25 te starten. Verhoging van de winst van de Kd (afgeleide) verlagen de overschrijding te verminderen als de robot instabiel.

Een andere component van de lus te overwegen is de snelheid van de werkelijke monster/loop. Dit versnellen of het vertragen van dit kan maken een significant verschil in de prestaties van de robot. Dit is ingesteld door de verklaringen van de vertraging die u in uw code hebt. Het is een voorzichtige metod van proberen-fout om het optimale resultaat te krijgen

Op basis van de hoger genoemde benadering, was de balg-functie geïmplementeerd:

VOID calculatePID()
{

P = fout;

I = I + fout;

D = fout-previousError;

PIDvalue = (Kp * P) + (Ki * ik) + (Kd * D);

previousError = fout;

}

De eenvoudige Kp constante gebruikt in de laatste stap zal worden vervangen voor dit vollediger PIDvalue:

VOID motorPIDcontrol()
{

int leftMotorSpeed = 1500 - iniMotorPower - PIDvalue;
int rightMotorSpeed = 1500 + iniMotorPower - PIDvalue;

leftServo.writeMicroseconds(leftMotorSpeed);

rightServo.writeMicroseconds(rightMotorSpeed);

}

Maar merk op dat als u Kd en Ki hebt = 0, PIDvalue is alleen Kp * fout zoals in de laatste stap

Gerelateerde Artikelen

2pi lijn volgeling

2pi lijn volgeling

Ik heb onlangs mijn eerste robot gebouwd en dacht dat ik zou delen de stappen en resultaten. Het is een eenvoudige regel-follower gebouwd op het platform van de PlastoBot in Gordon McComb de Robot bouwer Bonanza en gedreven door een ATmega328 chip aa
LINUSBot - lijn volgeling Robot - met PID controle

LINUSBot - lijn volgeling Robot - met PID controle

LINUSBot - lijn volgeling Robot - met PID controleLINUSBot - PID controleDit is een aanvulling op de eerste "instructables" van de LINUSBot (lijn na robot).Nu de robot de controle van verplaatsingen gedaan door een PID-regelaar heeft, evenredige
PID lijn volgeling Atmega328P

PID lijn volgeling Atmega328P

INTRODUCTIEHi guys, ben een 3e jaars Student van de Universiteit van Lovely Professional Universiteit, India, momenteel het nastreven van elektronica en communicatie Engineering.Youtube-kanaal::: https://www.youtube.com/channel/UC6ck0xanIUl14OorqW06V
Lijn volgeling Robot met behulp van Camera Shield in 1Sheeld & Arduino

Lijn volgeling Robot met behulp van Camera Shield in 1Sheeld & Arduino

Het was zo lang omdat mijn laatst Instructables gepubliceerde. Eigenlijk, ik probeerde te doen van de zeer populaire project, maar met een nieuwe tools en een gemakkelijke manier vooral in codering. Ik heb gewerkt op een lijn volgeling robot die het
Hoge prestaties lijn volgeling Robot

Hoge prestaties lijn volgeling Robot

Hallo! Ik zal proberen om u kennismaken met de wereld van lijn volgeling robots. Velen van ons hebben ooit gehoord over dit soort rare bots, die bestaat in een breed scala aan versies echt traag en zwaar degenen, die meestal zelfs met alleen afzonder
Hoe maak je's werelds kleinste lijn volgeling robot (robo Rizeh)

Hoe maak je's werelds kleinste lijn volgeling robot (robo Rizeh)

Hoe maak je's werelds kleinste lijn volgeling robot (vibrobot)"roboRizeh"gewicht: 5gr grootte: 19 x 16 x 10 mmdoor: Naghi Sotoudehwww.roborizeh.IRHet woord "Rizeh" is een Perzisch woord dat 'piepklein' betekent. Rizeh is een zeer klein
Lijn volgeling Robot

Lijn volgeling Robot

dit is mijn tweede lijn volgeling Robot en zoals de naam doet vermoeden, het is een robot waarvan het doel is een lijn te volgen. Deze robot kan worden gebruikt in wedstrijden waar een robot moet het volgen van een route in de kortst mogelijke tijd v
Robot - lijn volgeling

Robot - lijn volgeling

Ik begon te werken op mijn eerste robot ongeveer twee jaar geleden. Zonder bijzondere reden, heb ik besloten om te beginnen met een lijn volgende robot en de waarheid wordt verteld, mijn eerste poging om het gebouw werd een complete mislukking. Terug
ZWARTE lijn VOLGELING ROBOT

ZWARTE lijn VOLGELING ROBOT

is een zwarte lijn volgeling robot met Ir-sensoren en micro-controller 8051. Zijn een kosteneffectieve model en heeft perfecte uitgang in bijna alle terreinen.De volgende regel robot is er een die een zwarte pad detecteertover een wit oppervlak en vi
Lijn volgeling Robot zonder Arduino of Microcontroller

Lijn volgeling Robot zonder Arduino of Microcontroller

hier heb ik een lijn volgeling robot zonder microcontroller of Arduino uitgelegd. Dit is zeer eenvoudig project voor beginners. Hier hoef je niet te gebruiken op enige kennis van programmeren. Dus laten we proberen...Stap 1: Verzamelen van het materi
Kaart met kartonnen viaduct voor lijn volgeling robot

Kaart met kartonnen viaduct voor lijn volgeling robot

Ik heb om een beetje meer plezier met mijn Makeblock mBot in lijn volgeling modus, deze aangepaste kaart gemaakt met een kartonnen viaduct.Een kaart voor een lijn volgeling robot is eigenlijk vrij eenvoudig te maken. Wat zal ik u tonen hier is hoe ik
Arduino gebaseerd Desktop lijn volgeling - jolliBot

Arduino gebaseerd Desktop lijn volgeling - jolliBot

Een van de klassieke projecten die vermelding niveau robotica hobbyist kunnen interesseren is de regel die volgt robot die is meer algemeen bekend als een volgeling van de lijn. Er zijn veel kit beschikbaar om te bouwen van volgelingen van de lijn in
DIY lijn volgeling Sensor Array

DIY lijn volgeling Sensor Array

In dit Instructable leert u hoe u uw zeer eigen lijn volgeling sensor-array!!Het bestaat uit twee delen:De IR LED-bestuur.Het bestuur van de opamp.Het bestuur van de IR LED bestaat uit een matrix van 5 paren van IR LEDs en fotodiodes. Het leuke deel
Analoge lijn volgeling upgraden naar Arduino met Attiny85

Analoge lijn volgeling upgraden naar Arduino met Attiny85

SamenvattingIn dit Instructable zullen wij tonen u hoe om te upgraden een goedkope analog lijn volgeling in een intelligente Arduino lijn volgeling door de LM393 comparator IC te vervangen door een intelligente Attiny85 en Arduino sketch.IntroductieL