Verallgemeinerter PID Regler funktioniert --- zumindest für das Stabbalancieren

31/05/2014 - 08:18 von thorstenkfr | Report spam
Hallo,
ich bin Informatiker und nicht so sehr vertraut mit der Theorie
der PID-Regler.

Dreist wie ich bin, habe ich e'' hinzugenommen und das Ganze dann
PIDD² getauft.

Habe gehört, daß das der Theorie widerspricht.

Für das Stabbalancieren funktioniert es aber in einer simulierten
Umgebung :

http://toki.burn3r.de/pidd2.html

In diesem Applet kann man auch mit den Parametern spielen,
um zu sehen, wie sich die Parameter auswirken.

Also wie gesagt, ich kann das theoretisch nicht begründen,
aber ich würde mal rein intuitiv behaupten,
daß die Ableitungen den PID Regler "intelligenter" machen ?!?

Ergo : Je mehr Ableitungen, desto "intelligenter" der Controller.
Oder : Je mehr Ableitungen, desto "mehr weiß" der Controller über das System bescheid.

Ich weiß schon, daß das etwas verrückt ist,
aber in diesem einen speziellen Fall gibt mir der Erfolg Recht.

Grüße
Thorsten Kiefer
 

Lesen sie die antworten

#1 Carsten Thumulla
31/05/2014 - 09:57 | Warnen spam
schrieb:

ich bin Informatiker und nicht so sehr vertraut mit der Theorie
der PID-Regler.

Dreist wie ich bin, habe ich e'' hinzugenommen und das Ganze dann
PIDD² getauft.

Habe gehört, daß das der Theorie widerspricht.



Nö, warum?


Für das Stabbalancieren funktioniert es aber in einer simulierten
Umgebung :

http://toki.burn3r.de/pidd2.html



Krieg' das Java grad nicht ans Rennen


In diesem Applet kann man auch mit den Parametern spielen,
um zu sehen, wie sich die Parameter auswirken.

Also wie gesagt, ich kann das theoretisch nicht begründen,
aber ich würde mal rein intuitiv behaupten,
daß die Ableitungen den PID Regler "intelligenter" machen ?!?

Ergo : Je mehr Ableitungen, desto "intelligenter" der Controller.
Oder : Je mehr Ableitungen, desto "mehr weiß" der Controller über das System bescheid.



Richtig, was ist denn eine Ableitung? Der Anstieg an der entsprechenden
Stelle. Sie sagt also was über die Richtung aus, in der sich das System
grad' veràndert und die Geschwindigkeit, mit der es das tut. Folglich
kann man damit Regelverhalten verbessern.
Die Theorie eines Reglers mit Verhalten PID ist das, was man theoretisch
beherrscht. Natürlich geht da mehr -- es kann nur kaum einer den
Differentialgleichungssalat ableiten. Schon die Optimierung eines
einfachen PID-Reglers ist schwierig. Das probiert man am besten aus.
Zuerst P. Damit macht man erstmal die Verstàrkung, bei der er nicht
schwingt, aber schnell genug einregelt. Der P-Regler behàlt aber immer
eine Regelabweichung, grundsàtzlich, das kann man ableiten. Danach I.
Der I-Anteil sorgt für einen schleichenden Abbau der Regelabweichung.
Diese beiden bringt man dann auf den Punkt, wo nichts mehr schwingt,
aber schnell genug regelt. Für das Einschwingen ist dann D zustàndig.
Das erhöht man, bis das Einschwingen schnell genug geht, unter Rücknahme
der anderen Parameter. Das ist sozusagen der Tritt in die richtige
Richtung, eine Energiereserve zur schnelleren Einstellung.


Ich weiß schon, daß das etwas verrückt ist,
aber in diesem einen speziellen Fall gibt mir der Erfolg Recht.



Nein, das ist nicht verrückt. Jeder Regler ist ein PID-Regler. Jeder
Regler hat eine konstante Kompensation, eine schleichende Einstellung
und eine beschleunigende Energiereserve. Sind I und D aus, so hat man P,
kann den aber auch mit der Theorie PID beschreiben. Man sollte das also
nicht so eng sehen.
Die beherrschte Theorie gilt nur für lineare Systeme. Selbstverstàndlich
kann man auch zu einem nichtlinearen Regler in weitestem Sinne PID
sagen, denn der hat auch eine konstante Kompensation, eine schleichende
Einstellung und eine beschleunigende Energiereserve -- nur eben
nichtlinear. So gesehen ist Dein Regler auch ein PID und das ist ja der
Sinn der allgemeinen PID-Theorie. Dein D ist eben nichtlinear, in Deinem
D steckt DD² drin.


Ich nehme meist keine vorgefertigten Bausteine mehr -- mit dem Nachteil,
daß ich die Kreisverstàrkung nicht berechnen könnte, normiert, wie in
der Theorie üblich. Das macht aber nichts, die braucht sowieso keiner.
Ich nehme eine Multiplikation und los geht es. Wenn mich die
Regelabweichung stört, dann nehme ich eine Summation dazu, ein I.
Manchmal mache ich nur I, es kommt eben auf das System an. Ich habe mal
eine Wehenhemmung gemacht -- das war ein unsymmetrisches I, weil man ja
nicht regeln kann, wenn keine Wehen da sind. Wenn ich dann noch ein
schnelles Einschwingen aus einer bestimmten Situation heraus brauche,
dann noch ein D, das ist selten.

Ein Beispiel für einen verrückten Regler von mir siehst Du hier:
http://thumulla.com/home/der_dritte...rpakt.html
http://thumulla.com/sozialpakt/Sozialpakt.html
Es ist ein Kaskadenregler, zwei überlagerte Regler
Es gibt eine kostenfreie Delphiversion bei Embarcadero, man muß sich nur
registrieren.


Laß Dich nicht beirren, Du bist auf dem richtigen Weg. PID ist eine
Theorie, die nur linear berechenbar ist. Es ist aber "alles"* PID, auch
wenn es nichtlinear ist, weil -- siehe oben.
* Ich weiß, aber viele diskrete Regler kann man mit PID beschreiben und
man könnte sie durch einen analogen ersetzen.


Carsten
http://abload.de/img/mgwagen97kkh.jpg

Ähnliche fragen