|
|
Optimierung der Gewichtungsfaktoren (LQR) |
|
bronsco |
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 06.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.11.2010, 15:09
Titel: Optimierung der Gewichtungsfaktoren (LQR)
|
|
Hallo zusammen!
Wie im Thema erwähnt, würde ich gerne die Gewichtungsfaktoren für eine LQ-Regelung optimieren (gegeben ist also ein lineares Zustandsraummodell x_d = Ax+Bu, y = Cx mit LQR+Vorfilter). Leider habe ich keine Ahnung von irgendwelchen Optimierungsalgorithmen bzw. deren Implementierung. Das einzige was mir einfällt, wäre ein "natürliches Vorgehen": Alle möglichen Faktorenkombinationen in einem gewissen Zahlenbereich durchlaufen lassen und "das beste" Ergebnis (ermittelt über ein Gütekriterium oder sonstiges) auswählen. Das darf ich dann bloß nicht Optimum schimpfen...
Könnte mir hierbei jemand evtl. weiterhelfen? Ich denke, dass das Problem wohl schon des öfteren vorkommen dürfte, nur leider verlief meine Suche nach einer Lösung bis jetzt ergebnislos.
Vielen Dank schonmal!
Viele Grüße
|
|
|
|
|
al3ko |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.11.2010, 20:49
Titel:
|
|
Wie hast du deine Gewichtsmatrix denn bis jetzt bestimmt?
|
|
|
bronsco |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 06.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.11.2010, 21:11
Titel:
|
|
ehrlich gesagt... mehr oder weniger willkürlich. ich habe zustände, über die ich eine qualitative aussage in form einer hierarchie machen kann. die weit oben stehen gewichte ich halt "viel" stärker als die anderen. bloß muss das ganze doch auch im hinblick auf ein kriterium optimierbar sein, oder?
mein betreuer hat dahingehend mal etwas vom genetischen algorithmus gesagt (function ga). die beispiele in der hilfe sind mir schon klar, bloß wie setz ich das auf mein problem um?
|
|
|
bronsco |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 06.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.11.2010, 09:16
Titel:
|
|
sorry, bin die letzten tage nicht mehr zu was gekommen... hat keiner eine idee?
|
|
|
al3ko |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.11.2010, 00:06
Titel:
|
|
Hi bronsco,
hab dich völlig vergessen. Unter willkürlich gewählt kann ich mir ehrlich gesagt nichts vorstellen. Das kann von bis gehen. Hast du die Matrix denn nach einem bestimmten Schema gewählt?
Ich habe gelernt, dass die Diagonale der Gewichtsmatrix den Kerhwert der maximalen Werte der Zustände zum Quadrat innehält. Klingt aber auch scheiße
Okay, hier mathematisch:
usw usf.
Bist du nach dem gleichen Schema vorgegangen?
Und falls du eine Lösung gefunden hast, darfst du sie uns gerne mitteilen. Ich würde gerne wissen, wie du die Gewichtsmatrix optimiert hast.
|
|
|
bronsco |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 06.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.11.2010, 09:12
Titel:
|
|
kein Problem!
die Zahlen sind in der Tat bis jetzt willkürlich gewählt! Ein Schema hatte ich da nicht (z.B. Inverses Pendel: Wenn man als Zustände Position und Winkel hat, dann würde ich die Gewichtung der Position "verhältnismäßig" groß machen ggü. der Gewichtung des Winkels: also z.B. 10 und 2 oder 10e3 und 2 oder ...
al3ko hat Folgendes geschrieben: |
Ich habe gelernt, dass die Diagonale der Gewichtsmatrix den Kerhwert der maximalen Werte der Zustände zum Quadrat innehält. Klingt aber auch scheiße
Okay, hier mathematisch:
|
Das die Diagonalwerte diese Bedeutung haben wusste ich nicht. Hast du da evtl. eine Quelle für? Ich dachte immer man kann die Diagonalwerte beliebig (!) wählen. Ausschlaggebend ist immer das Verhältnis der Gewichtungen zueinander.
Eine Lösung habe ich bis jetzt leider noch nicht, aber falls ich eine finde, werde ich sie posten...
|
|
|
al3ko |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.11.2010, 10:12
Titel:
|
|
|
|
bronsco |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 06.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.11.2010, 14:57
Titel:
|
|
als (vorläufige) antwort kann ich dazu folgendes sagen:
als fitnessfunction erstellt man eine function, in der man die variablen werte für die diagonalmatrizen zuweist (q_ii = x(..), r_ii = x(..)), den Regler mi lqr berechnet, eine Simulation durchführt und einen zu minimierende wert (z.B. rms) zurückgibt. als aufruf dient dann x = ga(@fitnessfct,[],...,[],lb,ub).
|
|
|
|
|
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.
|
|