|
|
LQR Reglerauslegung unter Kriterien |
|
Batski |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 15.12.15
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.12.2015, 18:01
Titel: LQR Reglerauslegung unter Kriterien
|
|
|
|
|
Hallo!
Ich habe hier schon öfters gute Tipps bzgl. Matlab gefunden, damit ich Aufgaben trotz meiner doch relativ bescheidenen Kenntnisse lösen konnte.
Leider habe ich trotz einer intensiven Suche nichts gefunden, was mir jetzt weiterhilft, daher habe ich mich mal angemeldet!
Konkret geht es um einen Entwurf für einen LQR eines Pendels, welches verkehrt herum auf einem "Fahrzeug" steht. Ein Segway wenn man so will Eingangsgröße ist die Kraft, dann gibt es vier Zustandsgrößen (Winkel und Position mit den jeweiligen Ableitungen), wovon die Position und der Winkel die Ausgangsgrößen sind.
Ich komme bei der LQR-Auslegung leider nicht weiter. Und zwar soll ich für das grundlegende linearisierte Modell einen LQ Regler auslegen, sodass
- die settling time unter 3s liegt (für beide Ausgangsgrößen)
- der steady state error unter 2 % liegt
- der Ausschlagswinkel immer kleiner als 20°/0.3rad ist
- die Eingangsgröße/die Kraft kleiner als 20N ist
Meine grundlegende Idee war es, zuerst die Gewichtungsfaktoren in der Matrix Q so anzupassen, dass die settling time unter 3s fällt. Dabei gewichte ich den Winkel mehr als die Position, da mir das Aufrecht-stehen-bleiben des Stabes am wichtiger ist. Mal so eine Randfrage: Wie groß sollten Unterschiede sein, damit es spürbare Auswirkungen gibt? Mein großes Problem liegt aber an der Beschränkung der Kraft. Dafür muss man ja soweit ich weiß den Parameter R anpassen. Mein Problem ist jedoch, dass ich nicht weiß, wie ich sehen kann, wie große die Kraft schlussendlich ist. Daraus resultiert auch, dass ich nie weiß, wie sich der Winkel als wichtige Ausgangsgröße verhält.
Mit
bzw.
nehme ich ja leider keine Rücksicht auf den Eingangsgröße (initialplot) bzw. nehme Sie als gegeben an (lsim).
Kann mir wer helfen, diesen Anforderungen gerecht zu werden? Ich weiß echt nicht weiter... Danke schonmal!
Der Aufgabentext selber lautet:
Zitat: |
Tune the weights for Q and R matrices in order to meet the requirements from an initial condition. Report the optimal matrix K. |
Ich denke, daher müsste das auch nur mit dem LQR möglich sein oder?
PS: Tut mir leid für die englischen Begriffe, aber ich lerne es momentan halt in Englisch. Hier ist ein ähnlicher Fall, welcher mir schon geholfen hat! Desweiteren habe ich mal meine .m Datei angehangen!
Beschreibung: |
|
Download |
Dateiname: |
assignment.m |
Dateigröße: |
2.92 KB |
Heruntergeladen: |
554 mal |
|
|
|
|
|
BigBodyBugatti |
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 25.11.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.12.2015, 13:17
Titel:
|
|
|
|
|
Also ich bin selber noch neu auf dem Gebiet, deswegen kann ich keine Garantie auf meine Antworten geben, aber hier mal ein paar Ansätze:
Zu der Gewichtung der Zustände: Das hängt von der Dynamik des Systems ab und kann so nicht pauschal beantwortet werden. Im Endeffekt hilft da nur der "educated guess" bzw. trail and error.
Zu der Eingangsgröße: Du kannst ja nicht einfach die Kraft, die angreift begrenzen. Ich glaube eher, dass das eine Randbedinung ist. Ansonsten wirst du dein Pendel einen zu hohen Ausschlag haben.
Mit R kannst du nicht ide Eingangsgröße beeinflussen sondern nur die Steuerenergie Gewichten (gegenüber den Zuständen). Definierst du R>Q dann ist es dir wichtiger, dass sich das System mit möglichst wenig Energie der Führungsgröße anpasst.
Den Link den du gepostet hast fand ich sehr gut, ich habe den am Anfang auch damit angefangen. Allerdings solltest du dir überlegen nicht den Föllinger zu kaufen. Gerade dieser Teil wurde in den neuen Asugabe nue überarbeitet udn ist echt gut erklärt.
Ich hoffe ich konnte dir helfen!
|
|
|
Batski |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 15.12.15
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.12.2015, 14:33
Titel:
|
|
|
|
|
BigBodyBugatti hat Folgendes geschrieben: |
Definierst du R>Q dann ist es dir wichtiger, dass sich das System mit möglichst wenig Energie der Führungsgröße anpasst. |
Bedeutet, dass dann nicht, dass das System mit einer geringeren Eingangsgröße in den gewünschten Zustand überführt wird und dafür mehr Zeit braucht bzw. mehr abweicht? D.h., dass es in diesem Fall Werte für R gibt (verglichen mit Q natürlich), für welche die benötigte Kraft um das Pendel aufrecht zu halten auf 20 N "beschränkt" ist?
Ich habe mich vorgestern zuletzt intensiv nochmal mit der Aufgabe beschäftigt, mir aber echt die Zähne ausgebissen. Ich komme einfach nicht drauf, inwiefern ich die Parameter Q und R wählen kann, damit ich den Anforderungen entspreche. Mit einem step input oder einem gegebenen Verlauf der Eingangsgröße über die Zeit ist es ja möglich. Letztere ist bis jetzt auch die Variante, welche ich im Bericht niedergeschrieben habe. Ich schätze sozusagen die Eingangsgröße auf konstant 20N, und wähle dann die Parameter von Q so, dass die settling time unter 3s ist. Nur mit dem Parameter R kann ich dann nicht wirklich was anfangen...
Danke für die Buchempfehlung, ich werde mal einen Blick rein werfen! Mir wurde hier in Lausanne vom Professor nur das Buch "Modern Control Systems" von C. Dorf empfohlen. Allerdings muss ich ganz ehrlich sagen, dass ich doch lieber mit dem Skript meiner "Heimatuniversität" gearbeitet habe, welches schlussendlich für mich ja auch am relevantesten ist.
|
|
|
BigBodyBugatti |
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 25.11.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.12.2015, 15:06
Titel:
|
|
Zitat: |
Bedeutet, dass dann nicht, dass das System mit einer geringeren Eingangsgröße in den gewünschten Zustand überführt wird und dafür mehr Zeit braucht bzw. mehr abweicht? D.h., dass es in diesem Fall Werte für R gibt (verglichen mit Q natürlich), für welche die benötigte Kraft um das Pendel aufrecht zu halten auf 20 N "beschränkt" ist? |
Nicht ganz. Du musst hier Energie und Kraft unterscheiden. Auf das Pendel wirkt eine Kraft von xx Newton. Der Motor braucht dann eine gewissen Energie um das Pendel wieder in die Gelichgewichtslage zu bringen.
Auf die Kraft die auf das Pendel wirkt hast du keinen Einfluss. Aber die Energie des Motors kannst du über R beeinflussen. Du hast natürlich recht, das die Regelung langsamer wird, wenn du die Steuerenrgie stark gewichtest. Ich würde die Aufgabe so wie du interpretieren: Die Eingangsgröße ist zwischen 0N - 20N groß, wobei ich bei 20N den Regeler einstellen würde, da hier das Pendel am weitesten ausschlägt.
|
|
|
Batski |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 15.12.15
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.12.2015, 18:50
Titel:
|
|
Ja genau so habe ich es jetzt auch gemacht, also bei F = 20N und R = 4 (einfach mal willkürlich festgelegt) den Regler ausgelegt bzw. die beiden anderen Gewichtungen in Q bestimmt.
Mit der Lösung selber bin ich irgendwie unzufrieden, weil die Kraft für mich halt eigentlich eher eine Größe ist, welche man nicht kennt und die immer auf den Zustand des Systems reagiert. Aber gut, ich bin da definitiv mit meinem Latein am Ende, habe jetzt einfach mit stepinfo und lsim die wichtigsten Systemeigenschaften nachvollzogen und damit die Parameter gewählt.
Die einzige Idee, welche ich noch hätte wäre den Zusammenhang u = -Kx zu verwenden. Allerdings müsste man dafür die Zustände kennen, was wiederum ein Lösen der DGLs voraussetzt und ich denke jetzt einfach mal, dass dies nicht Teil der Aufgabe ist.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|