PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interessantes Verhalten bei TD-Erhöhung beim PID-Regler



ähM_Key
11.05.2008, 11:36
Hi!

Brauche mal eure Hilfe.

Beim Regler Einstellen eines differential angetrieben Roboters ist folgendes aufgetreten:
(Drehen auf der Stelle, orange: Winkel-Geschwindigkeit)

Reiner PI-Regler, KR=2.2, TI=0.35, TD=0

http://www.abload.de/thumb/ohnedhbh.jpg (http://www.abload.de/img/ohnedhbh.jpg)

Mit kleinem D-Anteil, dafür weniger I-Anteil (TI geht ja reziprok ein), KR=2, TI=0.6, TD=0.008

http://www.abload.de/thumb/mitd2ca.jpg (http://www.abload.de/img/mitd2ca.jpg)

(X-Achse: /100µs; Y-Achse: /mRad/s)

Sprung war auf 120Grad/s, also im Diagramm 2094 mRad/s

Kann das jemand erklären?
Warum knickt die Kurve vorm erreichen des Sollwertes so ein? Klar, der D-Anteil wirkt nur am Anfang...und I hat weniger Differenz zum Intregrieren, aber das erklärt meiner Meinung nach immernoch nicht, das Einknicken.

Sicher kanns immernoch an der Regelstrecke liegen, aber so schlimm kann die (also der Roboter) eigentlich ni sein. ;)


Danke!


Gruß, MK


PS: Schiebts jetzt bitte nicht nur auf die unterlagerte Stromregelung..die geht eigentlich ganz gut :)

mare_crisium
12.05.2008, 21:04
ähM_key,

ich nehme an, die Diagramme stellen die Antwort der Regelstrecke auf einen Sollwertsprung von -2000 dar.

Wenn man die ersten drei Punkte der beiden Diagramme miteinander vergleicht, fällt auf, dass die im 2. Diagramm näher am Sollwert liegen, als die entsprechenden Punkte im 1. Diagramm. Das bedeutet, dass der Regler mit der zweiten Einstellung den Istwert schneller in Richtung Sollwert bewegt, als mit der 1. Einstellung; das ist die bestimmungsgemässe Wirkung des D-Teils.

Der "Haken" kommt zustande, weil die Änderung der Soll-Istwertabweichung nach dem 4. Punkt langsamer wird. Damit sinkt auch der Beitrag des D-Teils. Nach dem 20. Punkt sind die Änderungen so langsam, dass der D-Beitrag so gut wie verschwunden ist, und es zeigt sich das PI-Verhalten. Das kleinere Kp und das längere Ti bewirken dann eine langsamere Annäherung an den Sollwert, als mit der 1. Einstellung. Das Verhalten, wie im 2. Diagramm zu sehen, ist für einen noch nicht optimierten Regelkreis (zuviel D-Teil) nicht ungewöhnlich.

Meiner Erfahrung nach stimmt die Grundeinstellung des PI-Teils noch nicht. Hast Du schon mal Folgendes ausprobiert: Den Regler als reinen P-Regler einstellen und ausprobieren, bei welchem Kp die Strecke zu schwingen anfängt?

Ciao,

mare_crisium

ähM_Key
12.05.2008, 22:51
Hallo mare_crisium,

danke für deine Antwort!

Problem ist, dass sämtliche üblichen Regler-Optimierungs-Algos fehlschlagen, da das System bei größerem P-Anteil sich nicht aufschwingt, sondern sehr instabil wird. :(

(EDIT: Soll-Ist war vertauscht)

Die 2te Kurve versteh ich leider auch mit deiner Erklärung nicht. Selbst wenn der D-Anteil nicht mehr wirkt, sollte ja P und I dafür sorgen, dass der Istwert sich in Richtung Sollwert bewegt. Das ist aber nicht so, sondern der Istwert wird wieder kleiner (betragsmäßig). Langsam denke ich der Regler, oder zumindest der D-Anteil ist fehlerhaft implementiert...oder ich hab nen Denkfehler - wäre super, wenn wir das aufklären könnten :)


Gruß, MK

mare_crisium
13.05.2008, 09:18
Guten Morgen, ähM_Key,

na, das kriegen wir schon hin :-) ! - Nicht um zu kritisieren, aber weil es mich verwirrt: Du schreibst "...dass der Sollwert sich in Richtung Istwert bewegt..." - Du hast wohl versehentlich Sollwert und Istwert verwechselt? Der Sollwert wird bei Deinem Regler ja nur von Hand verstellt.

Erzähl' 'mal ein bisschen über den Regler: Regelst Du die Drehgeschwindigkeit oder den Drehwinkel? Entsprechen die Punkte in dem Diagramm auch den Zeitpunkten, an denen eine neue Stellgrösse berechnet wird? Verwendest Du den Regelalgorithmus, wie in diesem Wiki-Artikel dargestellt?

https://www.roboternetz.de/wissen/index.php/Regelungstechnik

Ciao,

mare_crisium

ähM_Key
13.05.2008, 11:06
Öhm, ja, das habe ich natürlich verwechsel :oops:
Ich hab das korrigierte mal oben reineditiert.

(Um genau zu sein hab nicht ich den Regler entworfen, sondern möchte nur beim debuggen helfen - oft verfährt man sich ja, wenn man dann betriebsblind ist..)

Es wird im Moment nur die Drehgeschwindigkeit geregelt.
Ja, aller 20ms wird neu berrechnet und gestellt.
Nein, das ist etwas anders, es wird eine Übertragungsfunktion berrechnet, soweit ich das verstanden habe ;)

Danke, MK

mare_crisium
13.05.2008, 16:18
ähM_Key,

na, Dein Diagramm 2 sieht aber der Abbildung im Abschnitt

4.5 PID-Regler

auf der besagten Wiki-Seite seeeeehr ähnlich ;-) !

Wie meinst Du das mit der Übertragungsfunktion? Dazu gehört immer eine Transformation, die vom Zeit-Raum in den Parameter-Raum (z.B. den Frequenz-Raum, wenn man die Fouriertransformation verwendet). Um welche Transformation handelt es sich? Ist die Übertragungsfunktion im Parameter-Raum vorgegeben?

Ciao,

mare_crisium

ähM_Key
14.05.2008, 00:29
Hm, ich fürchte ich hatte nen Denkfehler..bzw. fällt es mit bis jetzt schwer einzusehen, dass die Reibung usw. im System den starken Einbruch hervorruft.
Dann wird es wohl wirklich so sein, und wir müssen noch weiter an den Parametern schrauben.

Danke erstmal für deine Hilfe :)

MK

mare_crisium
14.05.2008, 08:00
ähM_Key,

tut mir leid, dass Du jetzt wieder in die Parameter-Such-Tretmühle musst! Das verschlingt leicht extrem viel Zeit. Ich weiss nicht, wieviel Erfahrung Du mit sowas schon sammeln konntest; es gibt ein paar Faustregeln, die Zeit sparen helfen. Bist daran interessiert?

Viel Glück, ;-)

mare_crisium

ähM_Key
14.05.2008, 08:26
es gibt ein paar Faustregeln, die Zeit sparen helfen. Bist daran interessiert?

Immer gerne :)

Ziegler/Nichols, Chien/Hrones/Reswick oder das von dem Japaner (jedenfalls so ein unaussprechbarer Name ;) ) waren nicht so sehr erfolgreich...

Gruß, MK

mare_crisium
14.05.2008, 17:00
Hi, ähM_Key,

oh weia! Mit soviel Theorie kann ich nicht mithalten :-)! Bei mir ging es darum, Regler in Chemieanlagen einzustellen. Oft waren es ganz neue Anlagen, deren Verhalten nur im Groben bekannt war. Die ausgefeilten Simulationsmöglichkeiten, die man heute kennt, standen noch nicht zur Verfügung. Es ging also um vorsichtiges Annähern an den optimalen Zustand. Das dauerte dann meist ein paar Tage (bei ca. 50-100 Regelkreisen pro Anlage).

Grundlage ist das Verfahren der Intervallschachtelung, auch als "Artillerieverfahren" bekannt: Jeweils ein einzelner Parameter wird mit einem vorgegebenen Inkrement (nicht zu klein wählen) schrittweise erhöht. Wenn das erste ungünstige Verhalten sichtbar wird (z.B. zu schwach gedämpftes Schwingen), wird der letzte Schritt rückgängig gemacht. Von diesem Wert geht es dann mit halbiertem Inkrement weiter. - So lange, bis das Inkrement und die Verbesserung vernachlässigbar klein werden. Dann werden alle bereits eingestellten Parameter konstant gehalten (eisern bleiben! Auch wenn man das dringende Gefühl hat, man könne durch ein kleines Drehen den Volltreffer landen - meistens führt das auf direktem Weg ins Chaos), und der nächste wird einzeln(!) optimiert. Wichtig ist auch, nebenher eine Tabelle zu führen, in der man die schon geprüften Parametersätze und die Beurteilung einträgt. Das Gedächtnis ist bei solchen langen Versuchsreihen schnell verwirrt, selbst in jungen Jahren. ;-)

Grundeinstellung ist Kp=1, Tn=unendlich und Td=0. Optimiert wird in der Reihenfolge Kp, Tn und ganz zuletzt, und nur wenn wirklich notwendig, Td. Der Differentialteil richtet meist mehr Schaden an, als dass er nutzt. Bei Tn wird natürlich die Intervallschachtelung mit einem Dekrement durchgeführt.

Wenn Tn optimiert ist, kann man anschliessend oft Kp noch etwas höher nehmen.

Versuch's mal so. Das ist zwar die reine Empirie, führt aber alles in allem schneller und zuverlässiger zum Ziel, als der Versuch, die Streckenkonstanten zu bestimmen und daraus die Parameter abzuleiten... Is' so meine persönliche Erfahrung.

Ciao,

mare_crisium

ähM_Key
14.05.2008, 23:25
Hallo mare_crisium,

danke für die Mühen mit dem langen Text. Leider machen wir das die ganze Zeit schon fast so, wie du es beschreibst.

Problem scheint auch, dass das System ziemlich unlinear ist. D.h. wenn man den Regler auf den einen speziellen Sprung optimiert hat, heißt das noch lange nicht, dass diese Werte (bisher nur PI-Regler) auch für größere Sprünge funktionieren. Dadurch mussten die Regler bis jetzt noch sehr weich eingestellt werden, was leider kein schnelles Fahren ermöglicht :(

mare_crisium
15.05.2008, 18:19
ähM_Key,

wenn Ihr mit der Methode den Regelkreis nicht befriedigend einstellen konntet, dann ist irgendwas oberfaul. Auch mit Nichtlinearitäten (wenn nicht gerade ein Rad Mega-schlackert) müsste das Verfahren eigentlich fertigwerden. Die Mechanik habt ihr sicher schon mehr als einmal gründlich untersucht. Deshalb sollten wir woanders suchen und uns 'mal die Regelkreis-Struktur ansehen. Damit meine ich so einen Signalflussplan, der den Weg von den Messdatenquellen zu den Motoren beschreibt. Kannst Du den 'mal posten? Ich poste ein Beispiel, um zu zeigen, was ich meine.

Ciao,

mare_crisium