Analyse des Übertragungsverhaltens eines einachsigen Vehikels
(EN google-translate)
(PL google-translate)
Vor dem Hintergrund der Ausführungen im vorangehenden Unterkapitel soll ein erneuter Versuch unternommen werden, ein Modell für den Einachser zu identifizieren.
Grundidee:
|
Hilfestellungen
MPU6050_DMP6.zip - Selbst-tunender Regler von TEAM GELB (Tag der Offenen Tür 29.5., Gruppe Böckenkamp)einachser_isr2_003_anfahren.zip - Arbeitsgrundlage (Versuch einer übersichtlichen Code-Strukturierung)
Hinweis: Bitte INT auf MPU6050 mit digitalem Ausgang 0 (entspricht RX bzw. INT2) auf Arduino-Micro verbinden, damit obige Projekte korrekt arbeiten.
Hinweis: Um die seriellen Daten zu bekommen, ohne während der Regelung eine Kabelverbindung zum PC zu haben, kann Seriell1 (TX) verwendet werden:
seriell_weiterleiten.zipeinachser_sprung005_SERIELL.zip
Warum bekommen wir Informationen über die Regelstrecke, obwohl ein geregeltes Gesamtsystem vorliegt?
Bild 0-1: Antwort.
Ausgangssystem
Bild 0-2: Geschätzte Struktur der Systemmatrix der Regelstrecke.
Algebraische Gleichung für LSQ
$ \dot \alpha = p \cdot \omega + q \cdot \alpha + r \cdot pwm $
Formel 0-1: Algebraische Gleichung für LSQ
$ a= \frac {1}{r} & b=-q \cdot a & c=-p \cdot a $
Formel 0-2: Umrechnungen
Numerische zeitliche Ableitungen
Um möglichst gute Näherungen an den benötigten abgeleiteten Größen zu erhalten, bietet es sich an, s.g. zentrale Ableitungen zu verwenden:
$ \omega _k = \frac { \phi _\left(k+1\right) - \phi _\left(k-1\right)}{2 \Delta t} $
Formel 0-3: Numerische Bestimmung der Winkelgeschwindigkeit
$ \alpha _k = \frac { \phi _\left(k+1\right) - 2 \phi _k + \phi _\left(k-1\right)}{ \Delta t ^2} $
Formel 0-4: Numerische Bestimmung der Winkelbeschleunigung
$ \dot \alpha _k = \frac { \phi _\left(k+2\right) - 2 \phi _\left(k+1\right) + 2 \phi _\left(k-1\right) - \phi _\left(k-2\right)}{2 \Delta t ^3} $
Formel 0-5: Numerische Bestimmung der zeitlichen Ableitung der Winkelbeschleunigung
Aufbereiten der Meßwerte mit Scilab
Mittels der Funktion interp1 läßt sich ein zeitlicher Verlauf mit unregelmäßigen Zeitschritten auf einen mit regelmäßigen mappen.
Durch Wahl einer größeren Schrittweite als in der Ausgangsfolge, erhält man eine geglättete Kurve.
t=[0,2,5,7,8,10,13,17,19,20] y=[1,3,6,9,4,11,13,15,21,22] tneu=[0,5,10,15,20] yneu=interp1(t,y,tneu);
Code 0-1: Scilab-Beispiel zu interp1.
Weiterführende Gedanken
Euler Rückwärts
Für die spätere Simulation des Beobachters im Zustandsregler mit Beobachter wäre die Verwendung des impliziten Euler-Verfahrens von Vorteil
Vergleich des Verfahrens gegenüber dem expliziten Eulerverfahren
|
$ \dot \vec y = A \vec y + B \vec u $
Formel 0-6: Lineares dynamisches System mit Stellsignal\left(en\right) im Zeitbereich.
$ \vec y_\left(k+1\right) = \vec y_k+\left(A \vec y_k + B \vec u_k\right) \Delta t $
Formel 0-7: Explizites Eulerverfahren für ein LDGLs erster Ordnung
$ \vec y_\left(k+1\right) = \vec y_k+\left(A \vec y_\left(k+1\right) + B \vec u_k\right) \Delta t $
Formel 0-8: Implizites Eulerverfahren für ein LDGLs erster Ordnung & bzw. Euler Rückwärts.
$ E \cdot \vec y_\left(k+1\right) - A \cdot \vec y_\left(k+1\right) \cdot \Delta t = \vec y_k+B \cdot \vec u_k \cdot \Delta t $
Formel 0-9: Implizites Eulerverfahren umgeformt
$ \left(E-A \cdot \Delta t\right) \cdot \vec y_\left(k+1\right) = \vec y_k+B \cdot \vec u_k \cdot \Delta t $
Formel 0-10: Implizites Eulerverfahren weiter umgeformt
$ \vec y_\left(k+1\right) = \left(E-A \cdot \Delta t\right)^\left(-1\right) \cdot \left( \vec y_k+B \cdot \vec u_k \cdot \Delta t\right) $
Formel 0-11: Implizites Eulerverfahren noch weiter umgeformt
Rein diskret betrachtetes Gesamtsystem (Gedächtnisstütze - noch in Arbeit / ev. Fehler behaftet)
Eine alternative Variante wäre es einen rein diskreten Zustandsregler aufzubauen:
$ y_\left(k+1\right) = a_0 \cdot y_\left(k\right) + a_1 \cdot y_\left(k-1\right) + a_2 \cdot y_\left(k-2\right) + ... + b_0 \cdot u_\left(k\right) + b_1 \cdot u_\left(k-1\right) + b_2 \cdot u_\left(k-2\right) + ... $
Formel 0-12: Diskretes Modell der Regelstrecke.
$ u_\left(k\right) = r_0 \cdot y_\left(k\right) + r_1 \cdot y_\left(k-1\right) + r_2 \cdot y_\left(k-2\right) + ... $
Formel 0-13: Diskreter Regler.
|
Übung
Aufgabe 1
loesung_aufg_12_2.zip - Teillösung bzw. Lösungsüberprüfung zu Aufgabe 1.loesung_aufg_12_2_neu.zip - mit Lösung zu 7).
Gegeben ist folgendes PT2-Übertragungsglied:
$ G\left(s\right) = \frac {1}{s^2 + 4} $
Formel 0-14: Übertragungsglied.
1) Bestimmen Sie die zugehörige Systemmatrix im Zeitbereich.
Das System soll mit Hilfe eines Zustandsreglers mit Beobachter ausgeregelt werden. Die Implementierung soll mit Hilfe des impliziten Eulerverfahrens erfolgen.
2) Bereiten dies vor, indem Sie die Matrix...
$ Q=\left(E-A \cdot \Delta t\right)^\left(-1\right) $
Formel 0-15: ...von Hand bestimmen. Vergleichen Sie Ihr Ergebnis mit einer entsprechenden Berechnung in Scilab.
Dabei soll Δt der Einfachheit halber 1 Sekunde sein.
3) Geben Sie die Eigenwerte des Systems an.
4) Geben die Gleichungen an, die das System samt Zustandsregler repräsentieren.
5) Legen Sie den Zustandsregler so aus, dass die Eigenwerte des Gesamtsystems als doppelte reelle Postelle bei -4 liegen. Geben Sie die zugehörige Regelmatrix R an.
6) Nun soll das entstandene Gesamtsystem für die numerische Integration mittels des impliziten Eulerverfahrens vorbereitet werden. Bestimmen Sie auch für das Gesamtübertragungsverhalten die Matrix Q von Hand (vergl. Punkt 2). Vergleichen Sie Ihr Ergebnis mit einer entsprechenden Berechnung in Scilab.
7) Formulieren Sie den Zustandsregler mit Beobachter in Scilab. Verwenden Sie ein Modell als reales System und eines als Beobachter. Beaufschlagen Sie in der Gesamtdarstellung den x-Anteil des realen y=[x,v] dort, wo es mit L*(y-ysim) im Simulationsteil verwendet wird mit einem normalverteilten Rauschen und leiten diesen Wert numerisch ab, um v für die gleiche Stelle zu erhalten, Mittelwert 0, Streuung 0.2. Die Bedeutung hiervon ist, dass die für die Regelung verwendeten Meßwerte für den Systemzustand y nie ganz genau sind. Formulieren Sie das fiktiv simulierte System als Euler-Vorwärts-Simulation mit einer Schrittweite von 0.01s.
8) Untersuchen Sie qualitativ den Einfluß der Störung auf das Gesamtverhalten und den Einfluß der Parameter der Matrix LL. Untersuchen Sie den Unterschied im Regelungsverhalten, wenn der Beobachter ausgeschaltet wird und der rekonstruierte (verrauschte) Systemzustand zur Zustandsregelung verwendet wird.
9) Wandeln Sie den Simulationsteil nun so weit wie denkbar möglich in eine Simulation mit dem impliziten Eulerverfahren um. Vergleichen Sie die hiermit gewonnenen Ergebnisse mit denen aus 7) und 8).
10) Untersuchen Sie den Einfluß der Schwingungsfähigkeit des geregelten Systems auf die Güte der Integrationen mit Euler und implizitem Eulerverfahren. Wählen Sie dazu r1 in der Regelmatrix R so, dass sich für das Gesamtsystem Eigenwerte bei -4+4i und -4-4i ergeben.
Aufgabe 2
Bild 0-3: Walze.
Eine homogene Walze rollt ideal auf einer Ebene ab und wird von einer Feder gehalten.
Zu Beginn für φ=0 liegen das Körper-Koordinatensystem und das Raumkoordinatensystem ineinander. Das Körper-eigene Koordinatensystem liegt im Mittelpunkt der Walze und dreht mit.
Gegebene Parameter:
R=1m m=3kg C=2N/m
Code 0-2: Parameter.
Teil 1 - Systemdynamik
|
Teil 2 - Zustandsregler
Das System soll mit Hilfe eines Moments M, das im Schwerpunkt angreift ausgeregelt werden. Die entsprechende Stellgröße liefert ein Zustandsregler mit Beobachter.
|