Sida 1 av 1

Reglerteknisk princip?

Postat: 2 mars 2011, 19:22:33
av Christian
Jo, har en fråga angående reglerteknik på låg nivå.
Jag har en robot där två motorer styr vars ett hjulpar (4 hjul på roboten). Jag räknar ut felet mellan nuvarande färdriktning och den önskade färdriktningen mot en long,lat koordinat och kan få värden mellan -180 och 180.
Jag styr motorerna med pulsbreddmodulering där jag har ett värde på Duty-cycle:n till motorerna på 150 för normal hastighet.
Om jag vill "PID" reglera motorernas hastighet efter felvärdet som jag får i relation till den önskade färdrikningen, hur skulle en sådan ekvation se ut?
Jag förtydligar lite:

Normal cruising-hastighet frammåt:
Motor1 PWM-värde = 150
Motor2 PWM-värde = 150

Felvärde från gps kan vara mellan -180 och 180.
Ska jag addera felvärdet till den ena motorn och subtrahera felvärdet från den andra motorn för att åstadkomma en sväng?
Tex. Om felvärdet råkar vara -180:
Motor1 PWM-värde = 150+(-180)=-30 (skulle innebära reversera riktningen för den Motor1
Motor2 PWM-värde = 150-(-180)=330 (skulle innebära full speed på Motor2
Men jag vill ha så fin justering som möjligt, inga plötsliga kast från höger till vänster..
Hur gör man "enligt skolboken"?

Re: Reglerteknisk princip?

Postat: 2 mars 2011, 19:31:33
av prototypen
Men det är ju bara att fortsätta tänket
GPS säger ett fel på 1

Motor1 PWM 150+1=151
Motor 2 PWM 150-1=149

Sedan är det alltid risk för självsvängning, kanske medelvärdesbilda signalerna från GPS:en över en tid.

Protte

Re: Reglerteknisk princip?

Postat: 2 mars 2011, 20:31:48
av Argtomte
Jopp, det beror väl lite på vad för sorts andra krav som finns på din styrning, om den måste vara snabb samtidigt som den inte har tvära kast etc. Ett lätt sätt att slippa tvära styrningsändringar är ju som sagt bara att medelvärdesbilda isåfall. Ha någon lämplig timer som tickar fram tidsintervall, och medelvärdesbilda t.ex. de tio senaste felvärdena.

En plötslig ändring från 0 till 180 ger då:

0 0 0 0 0 0 0 0 0 180 => 18 i medelvärde, så första ändringen blir bara (ditt exempel) 150 + 18 = 168 och 150 - 18 = 132

Re: Reglerteknisk princip?

Postat: 2 mars 2011, 21:04:33
av Walle
För att göra en riktig PID-reglering krävs ju att man har just de tre delarna, Proportionell, Integral och Derivata. Kort och gott kan man säga att P-delen står för det nuvarande felet, I-delen för ackumulerade tidigare fel, och D-delen förutsäger framtida fel baserat på den nuvarande förändringstakten.
Tex. Om felvärdet råkar vara -180:
Motor1 PWM-värde = 150+(-180)=-30 (skulle innebära reversera riktningen för den Motor1
Motor2 PWM-värde = 150-(-180)=330 (skulle innebära full speed på Motor2
Ovanstående ger bara P-delen av regleringen. Medelvärdesbildningen får väl sägas bli I-delen. Saknas bara derivatan, men den kanske är onödig i en sån här applikation?

Re: Reglerteknisk princip?

Postat: 2 mars 2011, 21:11:49
av Nerre
PI räcker ju normalt om man kan acceptera lite tröghet. PID behövs om man ska ha snabb reaktion och vill slippa överslängar.

Men exakt vad som behövs går ju normalt inte att veta om man inte kan ställa upp reglersystemets formel och räkna på stegsvar eller liknande.

Re: Reglerteknisk princip?

Postat: 2 mars 2011, 21:43:57
av blueint
Hur får man fatt på systemets formel? eller en tillräckligt god approximation iaf.

Re: Reglerteknisk princip?

Postat: 2 mars 2011, 22:05:51
av sodjan
Det verkar totalfel från början...

Det som är "150" är ju ett mått på en hastighet på motorerna (PWM frekvensen ?).
Eller, ingentligen, ett mått på tillförd effekt till motorerna, hastigheten beror
på belastning o.s.v.

Det som är "+/- 180" är (så vitt jag förstår) en *vinkel* avvikelse. Varför
skulle det annars vara just +/- *180* ?

Det finns ingen som helst anledning att anta att dessa värden bara ska
läggas ihop så där utan vidare !

Du måste fundera på t.ex hur snabbt (sekunder) vill du att ett kursfel på
x grader ska rättas till. Sedan får man med ledning av bl.a utväxlingen
beräkna hur stor justering av PWM frekvensen detta bör medföra.
Det vore osannolikt att 1 grad kursavvikelse skulle motsvara just exakt
1 steg i PWM värdet.

> En plötslig ändring från 0 till 180 ger då:

Det skulle betyda att hela roboten skulle vända på en 5-öring och
åka i den helt motsatta riktning, på tiden mellan *2* avläsningar !?
Hur rimligt är det ? Och *om* det är rimligt, så är det på tok för lång
period mellan mätningarna för att styrningen ska gå att fixa på ett
meningsfullt sätt i alla fall. Om det kan hända så kan ingen reglering
i världen få styrsel på det hela.

Re: Reglerteknisk princip?

Postat: 2 mars 2011, 22:51:37
av sodjan
En annan sak...

+180 och -180 är samma sak. Det går då inte att avgöra
i vilken riktning styrningen ska ske eller i vilken riktning
avvikelsen skedde.

Jag skulle säga att om fel-vinkeln går momentant från 0 till
+/- 180 så är det en felsituation och nödstoppet bör aktiveras.

Re: Reglerteknisk princip?

Postat: 3 mars 2011, 09:32:13
av Nerre
blueint skrev:Hur får man fatt på systemets formel? eller en tillräckligt god approximation iaf.
Det är svårt... (Det är därför det finns högskolekurser i reglerteknik.)

Att mäta stegsvar brukar vara det enklaste om det är komplexa grejer.

Re: Reglerteknisk princip?

Postat: 3 mars 2011, 11:26:04
av Icecap
PID-funktionen finns redan beskriven i andra länkar här i forumet, resten är faktisk logisk tänkande efter sodjans beskrivning.

Tänk även på att en GPS som står still ger lite olika positioner, dock centrerat runt en mitt men ändå ett antal olika positioner, så om du inte utför en integration blir det en mycket slingrande kurs som den kör.

Varje sekund kommer det en position, denna ska sedan integreras för att få lite stabilitet i det hela vilket betyder att ett sväng med roboten ska ta minst 10 sekunder för att inte vara helt sjukt.

När den står still kan du inte heller använda GPS'en till riktningsindikering, då måste du ha ett kompass istället.

Faktisk ville ett kompass kombinerat med GPS kunde ge en vettig funktion men bäst ville det vara att lägga med en gyro, då har du korttid-reaktion (gyro), mellantid-reaktion (kompass + GPS), absolutriktning (kompass), absolutposition (GPS) och långtidsreaktion (GPS).

Re: Reglerteknisk princip?

Postat: 3 mars 2011, 14:25:52
av blueint
Man kan bygga ett eget litet mini radiopositioneringssystem. Med radiofyrar osv.. för högre precision.

Re: Reglerteknisk princip?

Postat: 3 mars 2011, 15:19:26
av Icecap
Med tanke på TS beskrivning av sina förmågor tror jag att det är ganska mycket att begära... Och frågan är om det är användbart till vad som ska utföras.

Är det bara en autonom bomb som ska hitta till närheten av Slottet duger ±5m nog ganska bra...

Re: Reglerteknisk princip?

Postat: 3 mars 2011, 15:57:13
av blueint
Icecap, Låter som ett bra examensjobb. "Mitt projekt är lyckat, titta slottsruinen ryker!" :whoho:

Re: Reglerteknisk princip?

Postat: 3 mars 2011, 17:25:58
av Icecap
Lär bli uppmärksammat iaf. "Undrar på om jag klarade det... Ah, nyheterna... JA, JAG KLARADE DET!!! Hmmm, hur fan ska jag skriva det i CV't?"