Rad efterföljare Robot - PID Control - Android Setup (8 / 12 steg)

Steg 8: PID Control (valfritt)



Om du vill hoppa denna del, är det OK. Du kan bo med proportionell kontroll förklaras på det sista steget, eller bränna vissa hjärnor för att genomföra ett mer komplext system på din Robot, det är ditt val. Kom så går vi.

PID (proportionell, derivata och integral) är en av de vanligaste kontroll system runt. De flesta industriella reglerkretsar använda några smak av PID kontroll. Det finns många sätt att ställa in en PID loop, inklusive den manuella teknik som används i detta exempel.

Tänk på PID som en enkel fjäder. En fjäder har en ursprungliga längd, som när störd, av expansion eller kontraktion, tenderar att återta sin ursprungliga längd under kortast möjliga tid. Likaså en PID algoritm i ett system har ett set-värde av en viss fysisk kvantitet som skall regleras, kallas en "set point", som när ändras på grund av någon anledning, systemet styr de andra funktionerna som behövs i det, att komma tillbaka till den ursprungliga uppsättningen pekar på kortast tid möjligt. PID-styrenheter används överallt där det finns ett behov av att styra en fysisk kvantitet och att göra det lika med ett angivet värde. Exempel, kryssning controller i bilar, robotar, Temperaturregulatorer, spänningsregulatorer, etc.

Hur fungerar PID?

Systemet beräknar den "fel", eller "avvikelse" av den fysiska kvantiteten från börvärdet, genom att mäta det aktuella värdet av den fysiska kvantiteten med en givare. För att komma tillbaka till börvärdet, detta "fel" bör minimeras, och helst bör göras lika med noll. Också bör denna process ske så snabbt som möjligt. Helst bör man noll fördröjning i svaret av systemet till förändringen i dess börvärde.

Mer information finns i många böcker och webbplats även här:

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

Genomföra PID

i) fel Term (e):

Detta är lika med skillnaden mellan börvärdet och det aktuella värdet för den kvantitet som kontrolleras.

fel = set_point – current_value (i vårt fall är fel variabel get från positionen där Robot över linjen

II) proportionell Term (P):

Denna term är proportionell mot felet.

P = fel

Detta värde är ansvarig för omfattningen av förändring krävs i den fysiska kvantiteten för att uppnå börvärdet. Andel är vad avgör stigtiden kontroll loop eller hur snabbt det kommer att nå börvärdet.

III) integrerad Term (I):

Denna term är summan av alla tidigare felvärden.

Jag = jag + fel

Detta värde är ansvarig för snabbhet svar av systemet till förändringen från börvärdet. Integrerad termen används eliminera distansträning felet krävs av proportionell termen. Vanligtvis använder små robotar inte integrerad termen eftersom vi är inte oroliga distansträning fel och det kan försvåra loop tuning.

IV) differentiell eller härledda sikt (D):

Denna term är skillnaden mellan den momentana fel från börvärdet, och felet från tidigare instant.

D = fel - previousError

Detta värde är ansvarig att bromsa graden av förändring av den fysiska kvantiteten när det gäller nära börvärdet. Härledda termen används minska överskridandet eller hur mycket systemet över korrigerar.

Ekvation:

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

Var:

KP är konstant, som används för att variera storleken på den förändring som krävs för att uppnå börvärdet.

KI är det konstant, som används för att variera andelen som ändringen bör föras i den fysiska kvantiteten att uppnå börvärdet.

KD är konstant, som används för att variera stabiliteten i systemet.

Ett sätt är att variabeln Kd 0 och tune Kp termen ensam först. KP 25 är ett bra ställe att börja i vårt fall här. På sista steget använde vi en Kp 50 som fungerar mycket bra med min Robot. Om roboten reagerar för långsamt, öka värdet. Om roboten verkar reagera snabbt och blir instabil, minska värdet. När roboten Svaren ratta rimligen, härledda portion av den kontrollerar kretsar. Först sätta den Kp och Kd värden till 1/2 Kp värde. Till exempel om robot Svaren rimligt med en Kp = 50, då sätta Kp = 25 och Kd = 25 att starta. Öka vinsten Kd (derivat) att minska överskridandet, minska det om roboten blir instabila.

En annan komponent av slingan att överväga är den faktiska prov/loop hastigheten. Påskynda detta eller bromsa detta kan göra en betydande skillnad i robotens prestanda. Detta ställs av dröjsmål uttalanden som du har i din kod. Det är en trevande försök-fel metod att få optimala resultat

Baserat på ovan beskrivna tillvägagångssätt, genomfördes funktionen nedan:

void calculatePID()
{

P = fel;

Jag = I + fel;

D = fel-previousError;

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

previousError = fel;

}

Den enkla Kp konstant används på det sista steget kommer att ersättas för detta mer komplett PIDvalue:

void motorPIDcontrol()
{

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

leftServo.writeMicroseconds(leftMotorSpeed);

rightServo.writeMicroseconds(rightMotorSpeed);

}

Men observera att om du har Kd och Ki = 0, PIDvalue är endast Kp * fel som det sista steget

Se Steg
Relaterade Ämnen

LINUSBot - rad efterföljare Robot - med PID control

LINUSBot - rad efterföljare Robot - med PID controlLINUSBot - PID ControlDetta är ett tillägg till den första "instructables" LINUSBot (linje efter robot).Nu roboten har kontroll görs av en PID-regulator, kontrollera proportionella, Integral och...

Rad efterföljare Robot använder kameran Shield i 1Sheeld & Arduino

Det var så länge sedan min sista publicerade Instructables. Faktiskt, jag försökte göra mycket populära projektet men med en nya verktyg och ett lätt sätt särskilt i kodning. Jag arbetade på en rad efterföljare robot som spåra en vit linje och följa...

Gör rad efterföljare robot i 5$

Vi alla har mött några backar på grund av begränsad budget och minskad finansiering.Vi kan övervinna denna situation genom innovation och använda de billiga material till vårt förfogande.Steg 1: INTRO Den mest grundläggande konceptet i robotteknik är...

Rad efterföljare Robot

detta är min andra rad efterföljare Robot och som dess namn antyder, det är en robot vars syfte är efter en linje. Denna robot kan användas i tävlingar där en robot måste följa en rutt som avgränsas av en svart linje på en vit bakgrund i kortast möjl...

ENKEL rad efterföljare ROBOT (enda Sensor)

Hej killar i denna handledning kan se hur man gör en enkel rad efterföljare robot med enda infraröd sensor.Steg 1: Introduktion:Vanligtvis för nybörjare i robotteknik är detta din första robot att spela med eftersom denna robot har vissa grundläggand...

Hur man gör världens minsta rad efterföljare robot (robo Rizeh)

hur man gör världens minsta rad efterföljare robot (vibrobot)"roboRizeh"vikt: 5gr storlek: 19 x 16 x 10 mmav: Naghi Sotoudehwww.roborizeh.IROrdet "Rizeh" är ett Persiska ord som betyder "liten". Rizeh är en vibration baserat...

Karta med kartong överfart för rad efterföljare robot

För att få lite mer kul med min Makeblock mBot i rad efterföljare läge, har jag skapat denna anpassade karta med en kartong överfart.En karta för en rad efterföljare robot är faktiskt ganska enkel att göra. Vad jag ska visa här är hur jag gjorde över...

Högpresterande rad efterföljare Robot

Hej! Jag ska försöka att introducera dig till världen av rad efterföljare robotar. Många av oss har hört talas om denna typ av konstiga bots, som finns i en mängd olika versioner från verkligen långsam och tung sådana, som oftast kan fungera även med...

Autonoma rad efterföljare robot

detta är en rad efterföljare som jag hade byggt under det första året av min grundutbildning engineering program. Roboten använder arduino eftersom det är hjärnan och kan följa svart linje på en vit yta, dvs det är en svart linje anhängare med enkel...

Enkel rad efterföljare robot med hjälp av en Actobotics Runt Rover spira

Vid hinder undvika robotar, vore vanligaste nybörjare bot en rad efterföljare. Jag själv älskar linje anhängare, och de är några av mina favorit helgen bygger. Det är bara så kul titta på lite bot efter lite svart linje om och om igen, men det är bar...

Arduino-baserad rad efterföljare robot med hjälp av Pololu kvart-8RC line sensor

uppdatering FEB 2012: denna guide är med på Adafruits blogghttp://www.adafruit.com/blog/2012/02/14/Arduino-based-line-Follower-robot/Detta är Faz3a II, min första linje-efter roboten, vilket jag hoppas också att använda för labyrint-lösa. Jag använde...

LINUSBot - rad efterföljare Robot

driften av denna Robot är ganska enkel.Infraröda sensorer placerade på framsidan av chassit kommer att övervaka när vår Robot är över en svart linje eller när det är över en vit bakgrund.I detta projekt kommer vi använda lämpliga rundade chassit till...

Arduino rad efterföljare robot

Syftet med linjen efter robot:Det följer linje på två olika sätt.Att följa vita linjer på en svart bakgrund följer en svart linje på en vit bakgrund Information om robotar:IR-sensorer tack vare en svart eller vit linje eder.kısa av algoritmen vi bays...

DIY rad efterföljare Sensor Array

I detta Instructable lär du hur du gör din egen rad efterföljare sensor array!Det består av två delar:IR-LED styrelsen.Op-Amp styrelsen.IR-LED styrelsen består av en matris med 5 par IR-lysdioder och fotodioder. Det snyggt med styrelsen är att du kan...

Rad efterföljare utan microcontroller

Det är en maskin som följer en linje, antingen en svart linje på vit yta eller vise versa. För nybörjare är det oftast sina första robot att leka med. I följande steg kommer du helt förstår begreppet rad efterföljare.Nu vi kommer att bygga en rad eft...

Linje efterföljare Robot utan Arduino eller Microcontroller

här förklarade jag en rad efterföljare robot utan mikrokontroller eller Arduino. Detta är mycket enkelt projekt för nybörjare. Här har du behov av att inte ha någon programmeringskunskap. så låter prova...Steg 1: Samla materialet1. två IR-sensor2. tv...

PID rad efterföljare Atmega328P

INTRODUKTIONHej killar är 3: e året universitetsstudent Lovely Professional University, Indien för närvarande bedriver elektronik och kommunikation Engineering.Youtube-kanal::: https://www.youtube.com/channel/UC6ck0xanIUl14OorqW06VZAFacebook-profil::...

ATtiny13A rad efterföljare

Skapa en robot med ATtiny13A är en utmaning, det har bara 1k flash och 5 IO pinnar. Men det är tillräckligt bra för att skapa en liten rad efterföljare.YouTube-demovideo: https://youtu.be/00PYO1ThzEASteg 1: Förbered hårdvara MCUIdag core ämne, ATtiny...

SVART linje efterföljare ROBOT

det är en svart linje efterföljare robot med IR-sensorer och mikro-controller 8051. Dess en kostnadseffektiv modell och har perfekt utgång i nästan alla terräng.Följande rad roboten är en som upptäcker en svart banaöver en vit yta och vice versa och...