13.07.2015 Aufrufe

Inverses Pendel - Technische Universität München

Inverses Pendel - Technische Universität München

Inverses Pendel - Technische Universität München

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Technische</strong> <strong>Universität</strong> <strong>München</strong>Praktikum Computergestützter RegelungsentwurfVersuch: <strong>Inverses</strong> <strong>Pendel</strong>Wintersemester 12/13


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>WICHTIGE INFORMATION1. Lesen Sie die gesamte Versuchsanleitung.2. Bearbeiten Sie die Hausaufgaben am Ende der Beschreibung BEVOR Sie zum Versuchkommen. (Es wird nur eine ausgearbeitete Lösung pro Gruppe benötigt.)3. Die Vorbereitung für den Versuch sollte ca. 3 Stunden in Anspruch nehmen.4. Zu Beginn des Praktikums wird jeder Teilnehmer der Gruppe zu Vorbereitung,Versuchsdurchführung und Versuchsaufbau befragt.5. Am Ende des Praktikumsversuchs wird von jeder Gruppe ein Bericht abgegeben, indem die Fragen zum Versuch beantwortet und erläutert werden.6. Die Bewertung setzt sich folgendermaßen zusammen:• Vorbereitung: 33.3% (die einzige gemeinsame Note für die gesamte Gruppe)• Mündliche Abfrage: 33.3%• Versuchsdurchführung, Engagement und Bericht: 33.3%7. Empfohlene Literatur(a) Multivariable Feedback Control, Sigurd Skogestad and Ian Postlethwaite, 2005.(b) Moderne Regelungssysteme, Richard C. Dorf and Robert H. Bishop, 10. Auflage,2006.(c) Vorlesungsskript Prof. B. Lohmann, Moderne Methoden der Regelungstechnik1.2


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>Inhaltsverzeichnis1 Zielsetzungen 42 Versuchsaufbau 42.1 Das Leistungsmodul: Quanser UPM 1503 . . . . . . . . . . . . . . . . . . . 52.2 Der servomotorgetriebene Wagen: Quanser IP02 . . . . . . . . . . . . . . . 52.3 Datenerfassung und Reglerkarte: dSpace DS1104 R&D . . . . . . . . . . . 62.4 Steuerungssoftware: dSpace ControlDesk . . . . . . . . . . . . . . . . . . . 73 Modellierung 84 Reglerentwurf 94.1 Zustandsregelung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.2 Vorfilter F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3 Rückführmatrix R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Versuchsdurchführung 125.1 Reglerentwurf und -simulation . . . . . . . . . . . . . . . . . . . . . . . . . 125.2 Echtzeitimplementierung und Online-Optimierung des Reglers . . . . . . . 135.3 Abschätzung der Störempfindlichkeit des Systems . . . . . . . . . . . . . . 166 Hausaufgabe 176.1 Modellierungstipps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176.2 Nichtlineare Bewegungsgleichungen . . . . . . . . . . . . . . . . . . . . . . 176.3 Linearisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Appendix 213


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>1 ZielsetzungenDasinverse<strong>Pendel</strong>(IP)isteinklassischesakademischesBeispielausderRegelungstechnik.Es kann verglichen werden mit dem Balancieren eines Besenstiels auf der Fingerspitze.Der Unterschied ist, dass sich der Besenstiel dreidimensional bewegen kann, während sichdas <strong>Pendel</strong> nur in einer Ebene bewegt. In diesem Versuch ist das inverse <strong>Pendel</strong> auf einemWagenmontiert,dersichentlangeinergeradenSchienebewegt.WährenddesExperimentswerden Sie mit der Stabilisierung eines instabilen Modells durch Zustandsrückführungvertraut gemacht. Die Aufgabenstellung des Versuchs ist es, das inverse <strong>Pendel</strong> in dervertikalen Lage zu balancieren und gleichzeitig mit dem Wagen eine vorgegebene Positionanzufahren. In der Praxis kommt es z.B. bei der Rollstabilisierung von Schiffen oder demStart einer Rakete zu ähnlichen dynamischen und regelungstechnischen Problemen.Am Ende der Experiments sollten Sie folgende Kenntnisse erlangt haben:• Mathematische Modellierung des auf dem Wagen angebrachten IPs, z.B. mit Hilfevon Lagrange-Gleichungen.• Linearisierung der gewonnenen nichtlinearen Bewegungsgleichungen um den Arbeitspunkt.• Entwurf eines Reglers über Zustandsrückführung zur Stabilisierung des Modells undgezielte Platzierung der Pole des geschlossenen Regelkreises.• BeobachtenundÜberprüfendesStörverhaltensdesstabilisiertenIP+Wagen-Systemsdurch leichtes Antippen des <strong>Pendel</strong>s.2 VersuchsaufbauAlsinverses<strong>Pendel</strong>wirdeinStabverwendet,derdrehbaraufeinemWagenmontiertist,sodass seine Rotationsachse senkrecht auf der Bewegungsachse des Wagens steht. Es könnenzwei verschieden lange <strong>Pendel</strong> auf dem Wagen montiert werden; eines ist 12 Zoll lang, dasandere 24 Zoll.Der Wagen wird von einem 12 Volt Gleichstrommotor über einen Zahnstangenmechanismusangetrieben. Um gleichmäßigen und konstanten Vortrieb zu gewährleisten, gleitetder Wagen auf einer rostbeständigen Edelstahl-Achse. Die Wagenposition wird über einenBlindstrom-Inkrementalgeber gemessen, welcher über ein separates Ritzel mit der Schieneverbunden ist.Für den Versuch werden folgende Hardware- und Softwarekomponenten benötigt:• Leistungsmodul: Quanser UPM 1503• Wagen mit Gleichstrommotor: Quanser IP02 mit 12 Zoll <strong>Pendel</strong>4


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>Abbildung 1: Der Versuchsaufbau.• Datenerfassung und Reglerkarte: dSpace DS1104 R&D Controller Board• Echtzeitfähige Steuerungssoftware: dSpace ControlDesk2.1 Das Leistungsmodul: Quanser UPM 1503Das universelle Leistungsmodul (Abbildung 2) ist ein Leistungsverstärker, welcher zurAnsteuerung eines Quanser Aktors benötigt wird. Er besteht aus:• einer ±12 Volt Stromversorgung,• vier analogen Sensoreingängen,• einem verstärkten analogen Ausgang.Auf die oben genannten Ein-/Ausgänge kann nicht nur über Standardschnittstellen zugegriffenwerden, sondern auch über zusätzliche Testkontakte, die mit einem Oszilloskopextern angezeigt werden können.2.2 Der servomotorgetriebene Wagen: Quanser IP02Abbildung 1 zeigt den IP02 mit zusätzlichen Gewichten, um Schlupfeffekte zu reduzieren.Er wird von einem 12 Volt Gleichstrommotor über eine Zahnstange angetrieben.5


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>Abbildung 2: Das Quanser UPM Leistungsmodul.Der Wagen gleitet entlang einer geschliffenen und korrosionsbeständigen Linearführung.Zusätzlich ist auf dem IP02 ein Drehgelenk befestigt, dessen Rotationsachse senkrecht zurBewegungsrichtung des Wagens steht. An dem Gelenk kann ein frei schwingender Stabbefestigt werden. Dieser Stab kann sowohl als inverses <strong>Pendel</strong> als auch als reguläres <strong>Pendel</strong>fungieren. Der Wagen ist mit zwei Blindstrom-Inkrementalgebern ausgestattet. Dereine misst die Position des Wagens mit Hilfe eines Zahnrads, welches auf der Zahnstangeläuft. Der andere misst den Winkel des Stabs. Der Messbereich der Auslenkung ist nichteingeschränkt und stetig über der gesamten Kreisbahn, welche der Stab beschreiben kann.2.3 Datenerfassung und Reglerkarte: dSpace DS1104 R&DDas dSpace Controller Board ist ein Produkt der dSpace GmbH, einem führenden UnternehmenfürdieEntwicklungvonHard-undSoftwarefürEchtzeitsysteme.DortwirdesmitDS1104 R&D Controller Board bezeichnet. Die Karte ist ein eigenständiges Echtzeitsystem,d.h. sie verfügt über einen integrierten Prozessor. Das DS1104-Board muss allerdings(im Gegensatz zu einigen anderen dSpace-Karten) an den PC angeschlossen bleiben undkann nicht außerhalb des PCs betrieben werden. Darüber hinaus ist die Reglerkarte miteiner Schnittstellenkarte verbunden. Diese verfügt über diverse Ein-/und Ausgänge, z.B.für analoge und digitale Signale oder auch um Inkremental-Encoder auszulesen. Die Karteempfängt analoge oder encodierte Signale von den Sensoren am Wagen und konvertiert siezu digitalen Signalen, welche vom Prozessor weiterverarbeitet werden können. Ein Steuerungsprogrammführt daraufhin die zur Signalverarbeitung nötigen Operationen durchund berechnet die Ausgangsspannung, welche über die Schnittstelle übertragen wird. DieAusgänge der I/O-Karte sind mit dem Verstärker (UPM 1503) verbunden, welcher dieAktoren mit Spannung versorgt.6


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>Analog inputs (A/D)Encoder inputsTerminal boardAnalog outputs(D/A)Multi QAbbildung 3: Datenerfassung und Reglerkarte.Tabelle 1: Softwareliste (xx ist die Kennung für das jeweilige Experiment).Typ Funktion Benötigtxx.map MAPLE-Datei, zur Herleitung von Differentialgleichungen MAPLExx m.m Ausgabewert der MAPLE-Datei, enthält ein lineares Modell, MATLABwelches von der MATLAB-Entwurfsdatei gelesen wirdd xx.m MATLAB-Skript, entwirft den Regler des Systems MATLABs xx.mdl SIMULINK-Simulation des Systems mit Regler SIMULINKq xx.mdl SIMULINK-Regler - zuerst muss d xx.m SIMULINK, RTWin MATLAB ausgeführt werdenq xx.cdx ControlDesk Experiment-Datei, enthält Benutzer-Layouts dSpace ControlDeskq xx.sdf ControlDesk Applikation, generiert aus xx.mdl dSpace ControlDeskZu Beginn des Versuchs sind die Dateien aus Tabelle 1 vorhanden. Der allgemeine Ansatzbeim Entwurf und Betrieb eines Reglers setzt die Kenntnis der Differentialgleichungenvoraus, denen das System folgt. Diese erhält man z.B. mit Hilfe von MAPLE. Das Programmgeneriert ein linearisiertes Modell, welches dann in MATLAB genutzt wird, umeinen linearen Regler zu entwerfen. Der Regler wird anschließend mit Hilfe von Simulinkimplementiert und in Echtzeit mit dSpace ControlDesk verwendet.2.4 Steuerungssoftware: dSpace ControlDeskNach dem Reglerentwurf in Matlab Simulink kann der Regelalgorithmus auf die dSpace-Karte geladen werden, welche dann den E-Motor ansteuert. Mittels der Software ControlDeskist es möglich, Daten vom Versuch aufzuzeichnen sowie während der Versuchsdurchführunginteraktiv Reglerparameter zu verändern. Für Modellbildung, Regelungsentwurfund Simulation wird die Software Matlab mit der Simulink- und der Control-Toolbox sowie dem Real-Time Workshop verwendet. Für die Implementierung des Reglersauf der dSpace-Karte wird zunächst ein Simulink-Modell des Reglers erstellt, wobeiSensor-Eingängebzw.Stellgrößen-AusgängedurchspezielleDS1104-Input/Output-Blöckeersetzt werden. Danach erfolgt eine automatische Code-Generierung, d.h. per Mausklick7


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>yx cy pM pl p.>0x pM cF >0cxAbbildung 4: Prinzipskizze des IP mit Wagenwird das Modell automatisch in ausführbaren C-Code umgewandelt. Mit Hilfe von ControlDeskwirdderCodeanschließendeinfachaufdiedSpace-Karteüberspielt.FürdasModellmüssen bestimmte Grundeinstellungen (feste Integrations-Schrittweite, etc.) berücksichtigtwerden.3 ModellierungAbbildung 4 zeigt eine Prinzipskizze des Versuchsaufbaus. In Tabelle 2 sind Symbole undNotationen der mathematischen Modellierung des Wagens zu finden. Die zahlenmäßigenWerte sind in Tabelle 4 aufgelistet. Symbole und Notationen der mathematischen Modellierungdes <strong>Pendel</strong>s können in Tabelle 3 eingesehen werden, dazugehörige Zahlenwerte inTabelle 5. Sämtliche Tabellen sind im Anhang zu finden.Wie in der Prinzipskizze in Abbildung 4 dargestellt, ist die positive Drehrichtung des IPgegen den Uhrzeigersinn festgelegt. Der Nullwinkel und damit die Ruhelage (Periode 2π)ist hierbei exakt vertikal nach oben zeigend. Die positive Richtung der translatorischenBewegung wird, wie anhand des globalen kartesischen Koordinatensystems in Abbildung4 zu sehen, nach rechts festgelegt.Das Aufstellen der nichtlinearen Bewegungsgleichungen sowie ihre Linearisierung um denArbeitspunkt (α = 0, ˙α = 0) ist Teil der Versuchsvorbereitung und wird im Abschnitt” Hausaufgabe“ näher besprochen. 8


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>4 ReglerentwurfDer in diesem Versuch zu entwickelnde Regler sollte die folgenden Ziele erfüllen:• Ein instabiles System muss stabilisiert, sprich das <strong>Pendel</strong> in der aufrechten Positionbalanciert werden. (Das ungeregelte System hat einen Pol in der rechten komplexenHalbebene.)• Die Position des Wagens x c muss geregelt werden und auch einer wechselnden Sollpositionx soll folgen können.• Das geregelte System sollte ein ”gutes“ dynamisches Verhalten haben.Mankannzeigen,dassdieseAnforderungenleidernichteinfachmitHilfeeinesPID-Reglersdurch Messung der Position des Wagens als Ausgangsgröße erreicht werden können. Eineeinfache Ausgangsrückführung reicht also nicht aus. Folglich muss eine aufwändigereRegelung gefunden werden.4.1 ZustandsregelungUm das System kontrollieren zu können, muss ein Regler mit Zustandsrückführung undVorfilter entworfen werden. Theorie und detaillierte Erklärungen zum Entwurf eines Reglersmit Zustandsrückführung können in den Aufzeichnungen zur Vorlesung Moderne Methodender Regelungstechnik 1 nachgeschlagen werden. Für Praktikumsteilnehmer, diediese Vorlesung bereits besucht haben, wird der folgende Abschnitt einen kurzen Rückblickdes Entwurfs eines solchen Reglers geben und für diejenigen, die die Vorlesung nochnicht besucht haben, wird es eine kleine Einführung und Vorbereitung darauf sein.Betrachten wir das folgende System in Zustandsraumdarstellung:ẋ(t) = Ax(t)+Bu(t), x(t 0 ) = x 0 (1)y(t) = Cx(t) (2)Die Matrizen A,B,C sind konstant und x 0 ist der Anfangswert. Es wird angenommen,dass das System n Zustände, p Eingänge und q Ausgänge besitzt.Das Regelgesetz für eine Zustandsrückführung bei linear zeit-invarianten Systemen (LZI)lautet:u(t) = −Rx(t)+Fw(t), (3)wobei R ∈ R p×n die Rückführmatrix und F ∈ R p×q die Vorfiltermatrix ist.Wird das Regelgesetz (3) in die Differentialgleichung (1) eingesetzt, so folgt die Dynamikdes geschlossenen Regelkreises (siehe Abbildung 5):ẋ(t) = (A−BR)x(t)+BFw(t), x(t 0 ) = x 0 (4)y(t) = Cx(t) (5)9


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>Abbildung 5: Blockdiagramm der Regelstrecke mit ZustandsrückführungNun gilt es, die Koeffizienten von R richtig zu wählen, um Stabilität und das gewünschtedynamische Verhalten zu erreichen und einen passenden Vorfilter F zu finden, umFolgeverhalten zu erzielen. Mit anderen Worten bedeutet das• für Stabilität und dynamisches Verhalten: Die Koeffizienten r 1 ,r 2 ,r 3 ,r 4 (Elementevon R) müssen so gewählt werden, dass die Pole des geschlossenen Systems an dengewünschten Stellen λ 1 ,λ 2 ,λ 3 ,λ 4 liegen.• für gutes Folgeverhalten (Tracking): Die Werte von F sollen so gewählt werden, dassdie gewünschte Wagenposition angefahren wird.4.2 Vorfilter FAngenommen, eine Rückführmatrix R sei bekannt, dann lautet die Zustandsgleichung desSystems im Gleichgewicht:0 = (A−BR)x s+BFw (6)⇒ x s = −(A−BR) −1 BFw, (7)wobei x s den stationären Zustand darstellt. Man kann zeigen, dass die benötigte Inverseimmer existiert. Substituiert man jetzt x s in der Ausgangsgleichung, kann y für denstabilen Fall angegeben werden:y s = Cx s = C(BR−A) −1 BFw.Außerdem besteht die Forderung:y s = w.Sofern p = q kann der gesuchte Vorfilter F somit angegeben werden mitF = ( C(BR−A) −1 B ) −1.10


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>4.3 Rückführmatrix RObwohl sich in der Literatur viele Methoden für die Berechnung der Rückführmatrix Rfinden, beschränken wir uns hier auf die Methode der Eigenwertvorgabe, auch als Polplatzierungoder Polverschiebung bekannt. Grundgedanke dieser Methode ist, die Koeffizientender Matrix R so zu wählen, dass sich die Eigenwerte des geschlossenen Systems in dergewünschten Lage einstellen. Mit anderen Worten wird zuerst die Lage der Pole des geregeltenSystems festgelegt, um gewünschtes Folgeverhalten zu erreichen und anschließendR so gewählt, dass die Pole des ungeregelten Systems an die gewünschten Stellen verschobenwerden. Um dies zu ermöglichen, muss das System selbstverständlich vollständigsteuerbar sein.Die einfachste Methode zur Berechnung der Rückführmatrix R eines SISO-Systems istder Koeffizientenvergleich des charakteristischen Polynoms des geregelten Systems (mitden Elementen von R als Unbekannten) mit dem Wunschpolynom berechnet aus dengewünschten Eigenwerten.Die Zustandsdarstellung des geregelten Systems lautetẋ = (A−BR)x+BFw.Dieses System hat das charakteristische Polynomdet(sI−A+BR).Bei Vergleich des obigen charakteristischen Polynoms mit dem Wunschpolynom aus denfestgelegten Eigenwertenergibt sichdet(sI−A+BR) = (s−λ 1 )(s−λ 2 )...(s−λ n )s n +a n−1 (R)s n−1 +...+a 0 (R) = s n +p n−1 s n−1 +...+p 0 ,wobei die p i bekannt sind aus λ i .Wir erhalten durch Vergleich der Koeffizienten auf beiden Seiten n Gleichungen für dien×p Elemente von R. Im SISO-Fall (p = 1) sind die n Gleichungen linear und könneneindeutig gelöst werden, wenn das System steuerbar ist.11


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>5 VersuchsdurchführungFühren Sie bitte zunächst das MATLAB m-file setup lab ip02 sip.m aus. Achten Sievorher darauf, dass das Flag CONTROLLER TYPE auf MANUAL gestellt ist. Dieses m-File(re-)initialisiert alle Parameter des <strong>Pendel</strong>s und des Wagens sowie benutzerspezifischeVariablen, welche von den Simulink-Diagrammen benötigt werden. Außerdem werden dieZustandsmatrizen ermittelt.5.1 Reglerentwurf und -simulationAufgabe 1. Schreiben Sie ausgehend von der Einführung des vorhergehenden Abschnittsein m-file, das es Ihnen ermöglicht, Rückführmatrix R und Vorfilter F zu berechnen. LegenSie als Startpunkt alle Pole des geschlossenen Regelkreises ungefähr in −7 (MATLAB-Befehl: place, kein Doppelpol erlaubt!)Abbildung 6: Simulink-Blockdiagramm zur Simulation des inversen <strong>Pendel</strong>sÖffnen Sie das Simulink-Diagramm s sip SF.mdl. Sie sollten ein Diagramm ähnlich demin Abbildung 6 gezeigten erhalten. Nehmen Sie sich ein bisschen Zeit, sich mit dem Modellvertraut zu machen. Um die Simulation über den gesamten Rotationsbereich gültig zugestalten, wurde das IP anhand der zuvor bestimmten Bewegungsgleichung ohne lineareNäherungimplementiert. GehenSie sicher,dass dieParameter des Signalgenerator-Blocksrichtig eingestellt sind, um ein Rechtecksignal der Amplitude 1 und der Frequenz 0.2Hz zuerhalten. Hinweis: Es sollte beachtet werden, dass Führungsgröße und Regler so gewähltwerden, dass das System in dem Bereich bleibt, in dem die Linearisierung Gültigkeitbesitzt.12


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>Aufgabe 2. Starten Sie Simulink, indem Sie Simulink in den MATLAB Workspaceschreiben. Vervollständigen Sie das Modell des geschlossenen Regelkreises in Simulink,indem Sie zwei Zustandsrückführungsregler mit Hilfe des ”Derivative“-Blocks aus der SimulinkContinuous Library einfügen, um die fehlenden Zustände zu generieren. VerwendenSie denselben Regler für das linearisierte Modell. Starten Sie die Simulation, indemSie Strg+T drücken. Die Ergebnisse können im Scope-Block eingesehen werden.Aufgabe 3. Lassen Sie die Simulation laufen, während Sie den Wert der ”Setpoint Amplitude“erhöhen und beobachten Sie den Effekt auf den Ausgang des Systems. Prüfen Sie,ob die Grenzwerte der Motorspannung erreicht werden, falls der Sollwert erhöht wird. Istdie Antwort des linearisierten Systems immer noch dieselbe wie die des nichtlinearen?Aufgabe 4. Was passiert, wenn Sie die Pole des geregelten Systems weit links der imaginärenAchse legen? Wie verändert sich das Einschwingverhalten? Prüfen Sie, ob dieGrenzwerte für die Motorspannung erreicht werden, falls die Pole weit nach links gelegtwerden. Wiederholen Sie dazu Aufgabe 3. Ist die Antwort des linearisierten Modells immernoch dieselbe wie für das nichtlineare System? Sollte der Regelkreis verlangsamt werden,falls der Sollwert vergrößert wird? Schlagen Sie einen geeigneten Wert für die Pole desgeschlossenen Regelkreises vor, so dass einerseits schnell genug, andererseits mit geringerAbweichung zwischen linearisiertem und nichtlinearem Modell geregelt wird. Es solltenauch die nicht berücksichtigten Modellparameter beachtet werden und ein ausreichenderAbstand zur Stellgrößenbegrenzung des Motors eingehalten werden.Da ein idealer Derivative-Block, der nicht realisierbar ist, ein System instabil und empfindlichgegenüber Messrauschen macht, soll der ideale Derivative-Block durch ein Systemzweiter Ordnung ersetzt werden. Während dabei einerseits die Dynamik der Differentiationbei tiefen Frequenzen angenähert werden soll, müssen andererseits hochfrequenteEingangssignale mit einer Steigung von −20 dB /dec gedämpft werden.Aufgabe 5. Ersetzen Sie die idealen Derivative-Blöcke des nichtlinearen Systems durch3948sdas System und starten Sie die Simulation, um den Fehler im Vergleich zums 2 +113.1s+3948linearisierten Modell mit idealen Derivative-Blöcken zu vergleichen. Verwenden Sie denTransfer Fcn“-Block aus der Simulink Continuous Library.”Frage 1. Erstellen Sie die Bode-Diagramme des idealen und des genäherten Derivative-Blocks, indem Sie die Befehle tf und bode verwenden. Was sind die Vorteile bei derVerwendung einer solchen Näherung? Bis zu welcher Frequenz ist die Näherung gültig?5.2 Echtzeitimplementierung und Online-Optimierung des ReglersZiele:• Implementierung eines Echtzeitreglers für das reale IP und Ansteuerung mit Hilfevon dSpace ControlDesk,• Gleichzeitige und parallele Simulation des geschlossenen Regelkreises, um die realenund simulierten Systemantworten vergleichen zu können.13


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>NachdemSiedurchdievorangegangeneRegelkreis-SimulationdesIPunddieÜberprüfungder verschiedenen Antworten, die wir von den Systemausgängen erhalten haben (d.h.Wagenposition und <strong>Pendel</strong>winkel), einen ersten Einblick bekommen haben, können wirnun den gefundenen Regler in Echtzeit implementieren und seinen Einfluss auf das inverse<strong>Pendel</strong> untersuchen. Um das zu erreichen, befolgen Sie bitte die folgenden Schritte:Öffnen Sie die Simulink-Datei d sip SF ip02.mdl. Sie sollten ein Diagramm ähnlich demin Abbildung 6 vorfinden. Vervollständigen Sie das Blockdiagramm analog zu den Aufgaben2, 4 und 5. Das Modell hat zwei parallele und unabhängige Regelschleifen: Dieerste durchläuft unter Verwendung des linearisierten Modells eine reine Simulation desgeregelten IP-Systems. Der andere Regelkreis kommuniziert direkt mit der Hardware undsteuert den Wagen mit dem inversen <strong>Pendel</strong>. Öffnen Sie beide Subsysteme, um sich mitdem Diagramm vertraut zu machen und einen besseren Eindruck der Blöcke sowie derI/O-Verbindungen zu bekommen. Überprüfen Sie, ob die Führungsgröße der Wagenpositionein Rechtecksignal der Amplitude 20mm und der Frequenz 0.2Hz ist. Zuletzt sollteIhre Abtastzeit auf 1ms gesetzt werden, d.h T s = 10 −3 s.Um später zwischen zwei verschiedenen Reglerparametrierungen schalten zu können undso einen direkten Vergleich der Eigenschaften zu ermöglichen, passen Sie bitte Ihr m-Fileaus Aufgabe 1 entsprechend an. Stellen Sie sicher, dass Ihr Zustandsrückführungsregler 1,bestehend aus R1 und F1, die Systemspezifikationen erfüllt. Reglerparametrierung 2, bestehendaus R2 und F2, soll dagegen weiter rechts gelegene Pole besitzen. Geben Siehierfür jeweils passende Eigenwerte des geschlossenen Regelkreises vor und führen danndas überarbeitete m-File aus.Sie können jetzt den Echtzeit-Code Ihres Diagramms erstellen. Benutzen Sie hierfür dieBuild-Funktion wahlweise über die Simulink-Menüleiste oder mit Hilfe von Strg+B.Nachdem Sie das Diagramm erfolgreich kompiliert haben, befindet sich in Ihrem Ordnereine sdf-Datei. Diese enthält den maschinenlesbaren C-Code, der mit Hilfe von dSpaceControlDesk auf die dSpace-Karte geladen werden kann. Starten Sie dazu ControlDeskund öffnen die entsprechende Experiment-Umgebung via File/Open Experiment. LadenSie anschließend den Echtzeit-Code auf die Reglerkarte, indem Sie in der Menüleiste Platform/Application/LoadApplication auswählen. Sofern Sie sich im Edit Mode befinden,vergewissern Sie sich, dass alle Instrumente mit den gewünschten Simulink-Variablen verknüpftsind. Schieben Sie den Wagen in die Mitte der Strecke und stellen Sie sicher, dasser sich in beide Richtungen frei bewegen kann, bevor Sie in den Animation Mode wechselnund mit der Ansteuerung beginnen. Achten Sie zusätzlich darauf, dass das <strong>Pendel</strong> überder gesamten Wegstrecke, auf der sich der Wagen bewegen kann, frei rotieren kann (d.h.nicht nur in der Mitte). Befolgen Sie den Startablauf wie nachstehend beschrieben, bevorSie den Regler aktivieren.Startablauf des inversen <strong>Pendel</strong>s: Es ist wichtig zu erwähnen, dass der Encoderdie Startposition zu Null annimmt, wenn der Echtzeit-Code gestartet wird. In unseremlinearisiertenModellhattenwiralsNull-Grad-Positiondes<strong>Pendel</strong>seineabsolutsenkrechtePosition nach oben zeigend angenommen. Die perfekte Startposition findet man, indemman das <strong>Pendel</strong> vor dem Wagen nach unten hängen lässt und wartet, bis es zur Ruhekommt. Dann kann der Echtzeit-Code gestartet werden, wodurch der exakte Wert ±π14


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>3020Set pointMeasured positionSimulated position2.521.5Measured angleSimulated angle101Position (mm)0Alpha (deg.)0.50−0.5−10−1−20−1.5−2−300 2 4 6 8 10Time (sec.)−2.50 2 4 6 8 10Time (sec.)Abbildung 7: Wagenposition.Abbildung 8: <strong>Pendel</strong>winkel.bekannt ist. Aktivieren Sie dazu den SimState Run innerhalb des ControlDesk-Fensters.Abschließend drehen Sie das <strong>Pendel</strong> per Hand in die senkrechte Position nach oben undgeben es frei, sobald der Regelalgorithmus arbeitet. Der geschlossene Regelkreis, anfangsnoch ausgeschaltet, wird automatisch aktiv, sobald der Winkel die 0 Grad erreicht hat.Dieser Startvorgang wurde bereits in der Datei d sip SF ip02.mdl implementiert. IhrWagen sollte nun die geforderte Position anfahren und gleichzeitig das <strong>Pendel</strong> balancierenkönnen.Das vorgefertigte ControlDesk-Layout zeigt bereits die Scopes Cart Position (mm) undPend Angle (deg) sowie die Stellgröße V Command an. Auf dem Cart Position (mm)-Scope können Sie nun online die tatsächliche Wagenposition verfolgen und sehen, wiediese ihrer zuvor definierten Führungsgröße folgt. Vergleichen Sie die Ergebnisse mit denender Simulation des linearisierten <strong>Pendel</strong>s. Auf dem Pend Angle (deg)-Scope könnenSie online, während der Regelung des Wagens, den tatsächlichen Winkel des <strong>Pendel</strong>s sowieseine Bewegung um die vertikale Achse zu jedem Zeitpunkt verfolgen. Gleichzeitigkönnen Sie die Resultate im selben Scope ebenfalls mit dem simulierten Winkel des linearisiertenModells im geschlossenen Regelkreis vergleichen. Überprüfen Sie außerdem denRegelaufwand sowie -sättigung (vgl. technische Daten).Aufgabe 6. Was sind Ihre Beobachtungen? Verringern Sie die Frequenz der Führungsgröße,um das Problem zu erkennen. Erfüllt Ihr Entwurf des geschlossenen Regelkreisesdie gewünschten Entwurfsspezifikationen? Ist Ihr System schnell genug, um Ihren Wagenan der gewünschten Position zu halten? Falls nicht, sollten Sie die Werte ihrer Wunschpoleoptimieren, um die Anforderungen zu erfüllen. Sollte es Ihnen immer noch nichtmöglich sein, die gewünschte Performance zu erhalten, wenden Sie sich bitte an IhrenBetreuer. Wenn Ihre Ergebnisse die Vorgaben für den geschlossenen Regelkreis erfüllen,sollten Sie ähnlich wie in Abbildung 7 und Abbildung 8 aussehen.Aufgabe 7. Eine mögliche Fehlerquelle könnte ein Offset der Winkelmessung sein. AddierenSie einen konstanten Wert zum Winkel in Simulink und optimieren Sie seinenWert, während der Versuch läuft.15


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>Frage 2. Speichern Sie für Ihren Bericht die Plots für Winkel, Auslenkung und Motorspannung.Dokumentieren Sie alle Resultate und Beobachtungen. Wie gut stimmen dertatsächliche Winkel des IP und der simulierte überein? Wie gut passt die tatsächlicheWagenposition mit der aus der Simulation zusammen? Bemerken Sie eine bleibende Regelabweichungim Positionssignal des Wagens? Falls ja, worin liegen mögliche Ursachen?Können Sie sich geeignete Maßnahmen vorstellen, um diesen Fehler zu reduzieren oderzu eliminieren?5.3 Abschätzung der Störempfindlichkeit des SystemsDieserTeildesVersuchssollIhnenanhandeinigerStörgrößen-AbschätzungeneinengrundsätzlichenEinblick in die Regelungsproblematik geben. Sie werden das Verhalten des IP unterStörgrößeneinwirkung, d.h. die Antwort des Systems auf einen kleinen Schlag an das<strong>Pendel</strong>, beobachten und untersuchen. Folgen Sie hierzu der untenstehenden Versuchsbeschreibung.StartensieihrIP-Wagen-Systemin derMittederStrecke.VerwendenSiedenzuvor entwickeltenRegelkreis. Setzen Sie allerdings dieses Mal die Führungsgröße der Wagenpositionauf Null, so dass der Regler Wagenposition und Auslenkung um Null hält. Der Wagensoll also in der Mitte bleiben und seine Position möglichst nicht verändern.Aufgabe 8. Wenn sich das <strong>Pendel</strong> stabilisiert hat, tippen Sie es leicht an, aber nichtfester, als dass es eine Auslenkung von (plus oder minus) 4 Grad erfährt. Vergleichen Siedie Ergebnisse, wenn Sie ”schnellere“ oder ”langsamere“ Pole für den Regelkreis wählen.Beurteilen Sie die beiden Fälle subjektiv. Verwenden Sie für die Analyse auch die bereitszuvor erwähnten Scopes.Frage 3. Wie verhalten sich die drei Systemantworten beim Stabilisieren des <strong>Pendel</strong>s,nachdem es angetippt wurde? Wie fängt der Wagen das <strong>Pendel</strong> wieder ein? BeschreibenSie die Systemantworten, einerseits anhand Ihrer Beobachtungen und andererseits anhandIhrer Plots. Legen Sie ihrem Bericht einen Ausdruck von x c , α und V m bei, um ihreAntworten zu belegen.16


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>6 Hausaufgabe6.1 ModellierungstippsUm sich die Herleitung der Bewegungsgleichungen zu erleichtern, beachten Sie bitte folgendePunkte:1. Die Masse des <strong>Pendel</strong>s ist als in seinem Schwerpunkt konzentriert zu betrachten.Für die Berechnung des Trägheitsmoments ist jedoch die volle Länge des <strong>Pendel</strong>szu berücksichtigen.2. Sie können eine Methode ihrer Wahl verwenden, um die Systemdynamik zu modellieren.In der nachfolgenden Modellierung wurde der Lagrange’sche Ansatz gewählt.Die generellen Schritte, um zu den Bewegungsgleichungen zu gelangen, sind:Schritt1: Auffinden der absoluten kinetischen Energie T T und der absoluten potentiellenEnergie V T des Systems.Schritt2: Aufstellen der Lagrange-Funktion L = T T −V T .Schritt3: DadasSystemüberzweiFreiheitsgradeverfügt,sollteesauchzweiunabhängigeKoordinaten geben. Wir wählen hierfür x c und α. Zudem wird als Eingangdes Systems die horizontal auf den Wagen aufgebrachte Kraft F c verwendet.Schritt4: Die Bewegungsgleichungen ergeben sich dann aus den Lagrange’schen Gleichungen.6.2 Nichtlineare BewegungsgleichungenBearbeiten Sie für die Modellierung die Fragen 1 bis 5, um die nichtlinearen Bewegungsgleichungenzu erhalten. Um auf die Lagrange-Gleichungen zu kommen, muss zuerst dieabsolute kinetische und potentielle Energie, abhängig von α und x c , aufgestellt werden.Frage 1. Wie lauten die absoluten kartesischen Koordinaten des <strong>Pendel</strong>schwerpunkts,wenn Sie das Bezugssystem wie in Abbildung 4 dargestellt wählen?Jetzt kann die absolute potentielle Energie des Systems V T aufgestellt werden. In unseremBeispiel brauchen Sie die Deformationsenergie des <strong>Pendel</strong>s nicht zu berücksichtigen. Diepotentielle Energie wird demnach nur aus der Schwerkraft abgeleitet. Somit kann dieEnergie in generalisierten Koordinaten angegeben werden.Frage 2. Geben Sie die potentielle Energie V T des <strong>Pendel</strong>s an.17


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>Jetzt muss die absolute kinetische Energie T T des Systems aufgestellt werden. Diese setztsichauszweiTeilenzusammen:ErstensausderBewegungsenergiederTranslationdesWagens(Beachten Sie: Die Bewegung des Wagens steht senkrecht zur Rotation des Ritzels)und zweitens aus der Rotationsenergie des darauf befestigten <strong>Pendel</strong>s (Beachten Sie auchhier: Translation des Wagens und Rotation des <strong>Pendel</strong>s stehen zueinander senkrecht).Frage 3. Geben Sie die absolute Bewegungsenergie T c des Wagens an.Hinweis: Die Rotationsgeschwindigkeit des Motors ist ω m = Kg dx c(t)r mp dtFrage 4. Geben Sie die absolute kinetische Energie T p des <strong>Pendel</strong>s an.Die gesamte kinetische Energie des Systems ist:T T = T c +T p = 1 ( ) ( ) 2 ( )(dd dMc +M p2 dt x c(t) −M p l p cos(α(t))c(t))dt α(t) dt x+ 1 ( ) ( ) 2I p +M p lp2 d2 dt α(t) .Stellen Sie jetzt die Bewegungsgleichungen nach Lagrange für das Gesamtsystem auf. DieGleichungen, die wir aus den vorher definierten generalisierten Koordinaten, x c und α,erhalten, lauten( (d ∂ ∂− = Q xc , (9)wobei L definiert ist als:dtddt)∂ẋ c (t) L ( ) ∂∂ ˙α(t) L −(8))∂x c (t) L ( ) ∂∂α(t) L = Q α , (10)L = T T −V T . (11)Q xc und Q α sind die generalisierten Kräfte, welche sich aus den generalisierten Koordinatenergeben, und können folgendermaßen angegeben werden:Q xc = F c (t)−B eqddt x c(t),dQ α = −B p α(t), (12)dtunter Vernachlässigung der Reibung. Außerdem wurde die Kraft, welche das <strong>Pendel</strong> beider Rotation auf den Wagen ausübt, vernachlässigt.Frage 5. Leiten Sie die Lagrange-Funktionen (9) und (10) mit Hilfe von (12) her, umdie nichtlinearen Bewegungsgleichungen zu erhalten.Antwort: Die Lagrange-Gleichungen führen zu den folgenden gewöhnlichen Differentialgleichungenfür x c und α, welche die Bewegungsgleichungen des dynamischen Systemsdarstellen:(Mc +M p) d 2dt 2x c(t)−M p l p cos(α(t)) d2−M p l p cos(α(t)) d2dt 2x c(t)+( ) 2 ddt 2α(t)+M pl p sin(α(t))dt α(t) d= F c −B eq) d2(I p +M p l 2 p18dt 2α(t)−M pgl p sin(α(t)) = −B pddt α(t).dt x c(t)


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>Diese Gleichungen nach der zweiten Ableitung von x c und α aufgelöst ergeben:d 2 ( ( )dt 2x c(t) = − I p +M p lp2 d) ( ) 2B eqdt x c(t)−(Mpl 2 p 3 +I p M p l p sin(α(t)) dα(t)dtd( ))−M p l p cos(α(t))B pdt α(t)+ I p +M p lp2 F c +Mpl 2 pgcos(α(t))sin(α(t))2 )/( (Mc+M p)Ip +M c M p l 2 p +M 2 pl 2 psin 2 (α(t))d 2 (dt 2α(t) = d−M p l p cos(α(t))B eqdt x c(t)−Mpl 2 psin(α(t))cos(α(t))2( ) 2 dα(t)dt)+ ( )M c +M p Mp gl p sin(α(t))− ( ) dM c +M p Bpdt α(t)+F cM p l p cos(α(t))(Mc ) )/(+M p Ip +M c M p lp 2 +Mpl 2 psin 2 2 (α(t))(13)(14)Anmerkung: Um Bewegungsgleichungen wie die obigen für t ≥ 0 lösen zu können (z.B. zurSimulation), ist die Kenntnis der Startwerte x c (0),ẋ c (0),α(0), ˙α(0) erforderlich. Die vierVariablen x c (t),ẋ c (t),α(t) und ˙α(t) beschreiben den Zustand des Systems zum Zeitpunktt. Sie werden deshalb Zustandsvariablen genannt.6.3 LinearisierungUm einen linearen Regler für das System entwerfen und implementieren zu können, musseine lineare Differentialgleichung abgeleitet werden. Dazu müssen die nichtlinearen Differentialgleichungenum den Arbeitspunkt linearisiert werden. In unserem Fall bezieht sichder Arbeitsbereich auf kleine Auslenkungen α von der senkrechten Position.Frage 6. Linearisieren Sie die nichtlinearen Gleichungen (13) und (14) unter den Vereinfachungen,die für sehr kleine Winkel gelten. Sie können also cos(α) ≈ 1, sin(α) ≈ α,sin 2 (α(t)) ≈ 0 and ˙α 2 ≈ 0 annehmen.Frage 7. Die Zustände des Systems werden als [x c (t),α(t),ẋ c (t), ˙α(t)] definiert, F c istEingang und x c (t) Ausgang des Systems. Wie lautet das dazugehörige Zustandsraummodell(Matrizen A, B and C) des linearisierten Modells?EingangsgrößedesSystemsistdieamMotorangelegteSpannungV m .DieKraftdesMotorskann ausgedrückt werden durch:F c = − η gKgη 2 dxm K t K c(t)m dtR m rmp2Das Trägheitsmoment des <strong>Pendel</strong>s bezüglich seines Schwerpunkts ist+ η gK g η m K t V mR m r mp. (15)I p = 112 M pL 2 p. (16)Frage 8. Nachdem Sie dies berücksichtigt haben und als Eingangsgröße des Systems dieMotorspannung gewählt haben, berechnen Sie die neue Zustandsdarstellung des Systems.19


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>AnmerkungenEinige Textstellen dieser Versuchsbeschreibung wurden mit freundlicher Unterstützungvon Quanser Inc. erstellt.20


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>7 AppendixTabelle 2: Nomenklatur des Wagens.Symbol BeschreibungMATLAB/SimulinkNotationV m Motorspannung VmI m Motorstromstärke ImR m Motorwiderstand RmK t Motordrehmomentkonstante Ktη m Motorwirkungsgrad Eff mK m Gegeninduktionskoeffizient (Gegen-EMK) KmE emf Gegen-EMK-Spannung EemfJ m Rotorträgheitsmoment JmK g Übersetzung des Planetengetriebes Kgη g Wirkungsgrad des Planetengetriebes Eff gM Masse des Wagens MM c Gesamtmasse des Systems, inklusive des McRotorträgheitsmomentr mp Radius des Motorritzels r mpB eq equivalenter viskoser Dämpfungskoeffizient Beqaus Sicht des MotorritzelsF c Vortriebskraft des Wagens aufgrund Fcder Motorkraftx c Wagenposition auf der Stecke xcdx cdtWagengeschwindigkeit xc dotTabelle 3: Nomenklatur des <strong>Pendel</strong>s.Symbol BeschreibungMATLAB/SimulinkNotationα <strong>Pendel</strong>winkel bzgl. senkrechter Position alphadαWinkelgeschwindigkeit des <strong>Pendel</strong>s alpha dotdtα 0 Startwert des <strong>Pendel</strong>winkels (bei t = 0) IC ALPHA0M p Masse des <strong>Pendel</strong>s (inklusive T-Stutzen) MpL p volle <strong>Pendel</strong>länge (von Drehpunkt bis Spitze) Lpl p <strong>Pendel</strong>länge von Drehpunkt bis Schwerpunkt lpI p Trägheitsmoment des <strong>Pendel</strong>s Ipx p Absolute x-Koordinate des <strong>Pendel</strong>schwerpunktsAbsolute y-Koordinate des <strong>Pendel</strong>schwerpunktsy p21


Praktikumsversuch <strong>Inverses</strong> <strong>Pendel</strong>Tabelle 4: Wagenparameter.Symbol Beschreibung Wert EinheitV nom Nominelle Motorspannung 12.0 Vfv max Maximale Motorspannungs-Frequenz 50 HzR m Motorwiderstand 2.6 ΩL m Motorinduktivität 0.18 mHK t Motordrehmomentkonstante 0.00767 N·m/Aη m Motor-Wirkungsgrad 100 %K m Gegeninduktionskoeffizient (Gegen-EMK) 0.00767 V·s/radJ m Rotorträgheitsmoment 3.90E-7 kgm 2K g Übersetzung des Planetengetriebes 3.71η g Wirkungsgrad des Planetengetriebes 100 %M Masse des Wagens 0.94 kgL t Länge der Strecke 0.990 mT c Bewegungsfreiheit des Wagens 0.814 mr mp Radius des Motorritzels 6.35E-3 mK EC Auflösung des Wagen-Encoders 2.275E-5 m/countK EP Auflösung des <strong>Pendel</strong>-Encoders 0.0015 rad/countTabelle 5: Parameter des <strong>Pendel</strong>s.Symbol Beschreibung Wert EinheitM pl Masse des langen <strong>Pendel</strong>s (inklusive T-Stutzen) 0.230 kgM pm Masse des mittleren <strong>Pendel</strong>s (inklusive T-Stutzen) 0.127 kgL pl volle Länge des langen <strong>Pendel</strong>s 0.6413 m(von Drehpunkt bis Spitze)L pm volle Länge des mittleren <strong>Pendel</strong>s 0.3365 m(von Drehpunkt bis Spitze)l pl <strong>Pendel</strong>länge von Drehpunkt bis Schwerpunkt 0.3302 m(langes <strong>Pendel</strong>)l pm <strong>Pendel</strong>länge von Drehpunkt bis Schwerpunkt 0.1778 m(mittleres <strong>Pendel</strong>)I pl Trägheitsmoment des langen <strong>Pendel</strong>s 7.88E-3 kgm 2bzgl. seines SchwerpunktsI pl Trägheitsmoment des mittleren <strong>Pendel</strong>s 1.2E-3 kgm 2bzgl. seines SchwerpunktsB p Viskoser Dämpfungskoeffizient 0.0024 N·m·s/radaus Sicht der <strong>Pendel</strong>achseg Gravitationskonstante der Erde 9.81 m/s 222

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!