WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zustandsregler mit Beobachter optimieren.

 

Baracuda
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 10.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.04.2012, 11:40     Titel: Zustandsregler mit Beobachter optimieren.
  Antworten mit Zitat      
Hallo,
Ich soll für eine UNI Aufgabe eine Strecke (Motorsteuerung) modellieren und einen Regler mit Beobachter dazu entwerfen. Als Auflage gilt weiters, dass der Zustandsregler nicht mehr als +- 15V erzeugen darf.

Als Gütekriterium dr gilt dr = (0.75 tr + 0.25 ts) (1 + 3 * Xmax/Xmin)
tr ... Rise Time (5% auf 95%)
ts ... Settling Time (1%)
Xmin ... Min value von X
Xmax ... Max value von X

Die Strecke habe ich modelliert und auch verifziert, das Passt.
Den Regler habe ich zunächst mit Ricatti erzeugt und von den Polen ausgehend versucht bessere zu finden. Danach habe ich den Beobachter erstellt.
Code:

LB =  acker (A,B,p_beo);
Aneu =  [A, -B*K1; LB'*CT, A-B*K1-LB'*CBT];
Bneu =  [B*GF1; B*GF1];
CTneu = [CT 0 0];
   
sys_beo = ss (Aneu, Bneu, CTneu, D);    
 

Die Zunstandmatrix A und B ist aus der Übung her gegeben. Ich benötige diese auch, da ich die Stellgröße die ich aus dem Beobachter erhalte zu überprüfen (gibt es da möglichkeiten mit estim?)
Code:
   
sys_aus = ss (Aneu, Bneu, [0 0 K1], D);
 


K1 ist meine Reglerverstärkung
Code:
   
p_reg = [1.0e+002*-5.4778;  1.0e+002*-1.1464];
p_beo = [1.0e+002*-10.4778;  1.0e+002*-2.1464];
   
K1 = acker (A,B,p_reg);
GF1 = inv(CT*(inv(-A+B*K1))*B);
A1 = (A-B*K1);
B1 = B*GF1;
   
sys_reg = ss (A1, B1, CT, D);
stepinfo (sys_reg)


Den Ausgang der neuen Stellgröße (nicht den des Reglers) überprüfe ich so
Code:
       
ergbenis_stepinfo_aus = stepinfo (sys_aus*15);
max (ergbenis_stepinfo_aus.Peak)
 


Meine Frage lautet nun, gibt es eine Möglichkeit mit der Optimization Tool box oder einem anderen Verfahren die Pole des Reglers und des Beobachters in Inblick auf die auf die Beschränkung durch ergbenis_stepinfo_aus zu optimieren? Sprich das Gütekriterium muss möglichst klein sein, ohne dass max (ergbenis_stepinfo_aus.Peak) > 15 ist. Zusatzpunkte bekommen nur die schnellsten drei Smile. Zudem würde es mich interessieren wie das die Profis machen bzw wie man das überhaupt angehen könnte.
LG und vielen Dank im Vorhinein für jede Hilfe
_________________

“For God's sake, give me the young man who has brains enough to make a fool of himself”, Robert Louis Stevenson
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.