Projekt 38: Regelung eines instabilen Systems: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(7 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 47: Zeile 47:
=== Planung des Projekts ===
=== Planung des Projekts ===


Um das Projekt erfolgreich durchführen zu können, wurde dieses im ersten Schritt geplant. Dazu wurde das Projekt in grob in vier Phasen unterteilt. Die Anfangsphase beinhaltet dabei das Erstellen eines Zeitplans des Projekts, die Installation und Einarbeitung in die benötigten Programme sowie das Einholen von Informationen. Nach Abschluss der Anfangsphase folgt die Konstruktionsphase, in der das Motorrad als instabiles System aus dem LEGO MINDSTORMS EV3 Baukasten konstruiert werden soll. Dabei gilt es die Konstruktion durch das Erstellen einer Bauanleitung und verschiedenen CAD Modellen zu dokumentieren. Abschließend soll die Konstruktionsphase durch Funktionstests und Problemanalysen bewertet werden und bei zufriedenstellenden Ergebnissen in die Programmierungsphase übergegangen werden. Der erste Schritt der Programmierungsphase soll dabei der Entwurf eines Reglerkonzepts sein, dass anschließend in Simulink implementiert werden soll. Anschließend soll die Regelung getestet und durch Anpassungen optimiert werden. Die Auswertung und Problemanalyse schließt die Programmierungsphase ab und es kann mit der Endphase des Projekts begonnen werden. Diese dient dazu, die Dokumentation des Projekts fertigzustellen und die Präsentation auf der Messe vorzubereiten.  
Um das Projekt erfolgreich durchführen zu können, wurde dieses im ersten Schritt geplant. Dazu wurde das Projekt grob in vier Phasen unterteilt. Die Anfangsphase beinhaltet dabei das Erstellen eines Zeitplans des Projekts, die Installation und Einarbeitung in die benötigten Programme, sowie das Einholen von Informationen. Nach Abschluss der Anfangsphase folgt die Konstruktionsphase, in der das Motorrad als instabiles System aus dem LEGO MINDSTORMS EV3 Baukasten konstruiert werden soll. Dabei gilt es die Konstruktion durch das Erstellen einer Bauanleitung und verschiedenen CAD Modellen zu dokumentieren. Abschließend soll die Konstruktionsphase durch Funktionstests und Problemanalysen bewertet werden und bei zufriedenstellenden Ergebnissen in die Programmierungsphase übergegangen werden. Der erste Schritt der Programmierungsphase soll dabei der Entwurf eines Reglerkonzepts sein, dass anschließend in Simulink implementiert werden soll. Anschließend soll die Regelung getestet und durch Anpassungen optimiert werden. Die Auswertung und Problemanalyse schließt die Programmierungsphase ab und es kann mit der Endphase des Projekts begonnen werden. Diese dient dazu, die Dokumentation des Projekts fertigzustellen und die Präsentation auf der Messe vorzubereiten.  




Zeile 55: Zeile 55:


[[Datei:Projektplaner Regelung eines instabilen Systems.png|zentriert|800px|left|Michael Bock]]
[[Datei:Projektplaner Regelung eines instabilen Systems.png|zentriert|800px|left|Michael Bock]]


=== Konstruktionsphase ===
=== Konstruktionsphase ===
Zeile 63: Zeile 66:


So kam es dazu, dass die Lenkung während des Projektes mehrmals umgebaut und verbessert wurde. Ebenfalls vergrößerte sich der Radabstand von Modell zu Modell, um den Schwerpunkt des Systems möglichst bodennah und mittig zwischen die beiden Reifen zu bekommen. Durch die Konstruktion mit dem EV3-Block mittig zwischen den Reifen des Motorrads und dem Gyroskop Sensor mittig unter dem EV3-Block, konnte ein stabiles System mit einer gleichmäßigen Verteilung der Masse auf beide Reifen, symmetrisch zur Neigungsachse erzeugt werden.
So kam es dazu, dass die Lenkung während des Projektes mehrmals umgebaut und verbessert wurde. Ebenfalls vergrößerte sich der Radabstand von Modell zu Modell, um den Schwerpunkt des Systems möglichst bodennah und mittig zwischen die beiden Reifen zu bekommen. Durch die Konstruktion mit dem EV3-Block mittig zwischen den Reifen des Motorrads und dem Gyroskop Sensor mittig unter dem EV3-Block, konnte ein stabiles System mit einer gleichmäßigen Verteilung der Masse auf beide Reifen, symmetrisch zur Neigungsachse erzeugt werden.


=== Programmierphase ===
=== Programmierphase ===


[[Datei:Simulink Motorrad.jpeg|mini|Oberfläche der Regelung in Matlab/Simulink ]]
[[Datei:Simulink Motorrad.jpeg|mini|Oberfläche der Regelung in Matlab/Simulink ]]
Nachdem das Motorrad gebaut wurde, stand nun die Programmierung auf dem Plan. Zuerst wurden Informationen eingeholt, um eine Planung für die Regelung aufzustellen. Eingehende Paramater wie die Daten des Gyrosensors und Lenkwinkels wurden bestimmt. Im Anschluss daran wurde überlegt, welche Signale ausgegeben werden müssen, um das System zu regeln. Die beiden Antriebsmotoren, sowie der Motor für die Lenkung wurden als Outputs identifiziert. Zeitgleich mussten die verschiedenen Messdaten ausgewertet werden, um die nächsten Schritte voraus zu planen. Die Gierrate ließ dabei Rückschlüsse auf die Neigung der Längsachse  und die Lenkwinkeländerung auf den Lenkwinkel schließen.
Zu Beginn der Programmierphase wurden Informationen für die Realisierung der Regelung eingeholt. Auf dessen Grundlage wurde die Verwendung eines PID Reglers ausgewählt, da dieser die Vorteile aller enthaltenen Regler kombiniert. Im Anschluss wurde mit der Umsetzung der Regelung durch Matlab / Simulink begonnen. Als Eingangsgrößen wurden die aktuelle Gierrate und der aktuelle Lenkwinkel über Sensoren erfasst und daraus resultierend eine Änderung des Lenkwinkels als Stellgröße ausgegeben. Die Geschwindigkeit und die Dauer der Ansteuerung der beiden Antriebsmotoren können über die Wahl von Konstanten festgelegt werden. Durch die Aufnahme und Auswertung von Messdaten konnte das System nun hinsichtlich der Gewichtung der P I und D Anteile der Regelung angepasst werden. Über eine Reihe von Tests wurde die optimale Geschwindigkeit der Antriebsmotoren ermittelt. Bis zu einem gewissen Grad hat sich die Stabilität des Systems durch Verwenden einer höheren Geschwindigkeit verbessert. Bei zu hoher Geschwindigkeit war das System nicht mehr fähig die Daten in Echtzeit in die Regelung mit einfließen zu lassen und es haben sich wieder Verschlechterungen im Regelungsergebnis gezeigt.


Im Anschluss daran wurde begonnen die Regelung mit Matlab / Simulink zu realisieren.






=== Fazit ===


=== Fazit ===
Die Durchführung des Projekts lief in der Anfangsphase und der Konstruktionsphase sehr gut, sodass schnell Ergebnisse erzielt werden konnten. Auch die geplanten Zeiträume für die Arbeitspakete haben dort sehr gut gepasst. In der Programmierphase kam es leider zu mehr Schwierigkeiten als anfangs erwartet und somit konnten die Anpassungen und das Feintuning nicht vollständig abgeschlossen werden. Trotzdem fuhr das Motorrad sehr gut und hat sich mit Hilfe des entwickelten Programms selbstständig geregelt.
Die Durchführung des Projekts lief in der Anfangsphase und der Konstruktionsphase sehr gut, sodass schnell Ergebnisse erzielt werden konnten. Auch die geplanten Zeiträume für die Arbeitspakete haben dort sehr gut gepasst. In der Programmierphase kam es leider zu mehr Schwierigkeiten als anfangs erwartet und somit konnten die Anpassungen und das Feintuning nicht vollständig abgeschlossen werden. Trotzdem fuhr das Motorrad sehr gut und hat sich mit Hilfe des entwickelten Programms selbstständig geregelt.


Zeile 106: Zeile 111:


== Weblinks ==
== Weblinks ==
*[http://bicycle.tudelft.nl/schwab/Bicycle/ Bicycle Dynamics]
*[https://de.wikipedia.org/wiki/Fahrphysik_(Fahrrad) Fahrphysik (Fahrrad)Wikipedia]


*[https://de.mathworks.com/matlabcentral/fileexchange/27694-nxtbike-gs--self-balancing-bike-robot-by-steer-into-fall- NXTbike-GS]
*[https://de.mathworks.com/matlabcentral/fileexchange/27694-nxtbike-gs--self-balancing-bike-robot-by-steer-into-fall- NXTbike-GS]
Zeile 111: Zeile 118:


== Projektunterlagen ==
== Projektunterlagen ==
Die gesamten Projektunterlagen sind unter dem Ordner 38_Regelung_instabiles_System in SVN zu finden. Bei Bedarf können die Dokumente auch bei den Autoren dieses Artikels angefragt werden.


== YouTube Video ==
== YouTube Video ==

Aktuelle Version vom 23. Januar 2018, 00:50 Uhr

Michael Bock
Michael Bock

Autoren: Madlen Bartnick, Nick Kleinewalter & Michael Bock

Betreuer: Prof. Dr. Ing.-Schneider & Prof. Dr.-Ing. Göbel

Aufgabe

Regeln Sie ein instabiles System, wie z.B. ein Motorrad oder einen Ballbalancierer


Erwartungen an die Projektlösung

  • Einsatz einer von Matlab / Simulink unterstützten Hardware (z.B. Lego EV3, Raspberry Pi, Galileo, oder Arduino)
  • Darstellung der Theorie
  • Systemidentifikation (Übertragungsfunktion der Regelstrecke bestimmen)
  • Realisierung des Aufbaus
  • Vergleichen und bewerten Sie verschiedene Regleransätze (P, PI, PID und andere).
  • Modellbasierte Programmierung der Hardware mit Simulink
  • Machen Sie ein tolles Videos, welches die Funktion visualisiert.
  • Test und wiss. Dokumentation
  • Live Vorführung während der Abschlusspräsentation

Schwierigkeitsgrad

Anspruchsvoll (****)

Einleitung

Im Rahmen des GET-Fachpraktikums an der HSHL wurde die Aufgabe gestellt, ein instabiles System zu konstruieren und dieses anschließend durch eine Regelung zu stabilisieren. Dabei ist die Wahl auf die Konstruktion eines Motorrads als instabiles Systems gefallen. Dieses soll mit einem LEGO MINDSTORMS EV3 Baukasten konstruiert und mit Matlab / Simulink geregelt werden.

Verwendete Bauteile

  • LEGO Mindstorm Education V3 Base Kit (mit Software)
  • LEGO MINDSTORMS Education EV3 Ergänzungsset
  • LEGO MINDSTORMS Education EV3 Gyrosensor
  • 2 LEGO Technic Räder 81,6x15 Motorrad
  • EDIMAX EW-7811UN Wireless USB Adapter, 150 Mbit/s, IEEE802.11b/g/n

Verwendete Software

  • Lego Digital Designer
  • LeoCAD
  • Autodesk 3D Studio MAX 2018
  • Mindstorms EV3 Education
  • Matlab / Simulink

Projekt

Planung des Projekts

Um das Projekt erfolgreich durchführen zu können, wurde dieses im ersten Schritt geplant. Dazu wurde das Projekt grob in vier Phasen unterteilt. Die Anfangsphase beinhaltet dabei das Erstellen eines Zeitplans des Projekts, die Installation und Einarbeitung in die benötigten Programme, sowie das Einholen von Informationen. Nach Abschluss der Anfangsphase folgt die Konstruktionsphase, in der das Motorrad als instabiles System aus dem LEGO MINDSTORMS EV3 Baukasten konstruiert werden soll. Dabei gilt es die Konstruktion durch das Erstellen einer Bauanleitung und verschiedenen CAD Modellen zu dokumentieren. Abschließend soll die Konstruktionsphase durch Funktionstests und Problemanalysen bewertet werden und bei zufriedenstellenden Ergebnissen in die Programmierungsphase übergegangen werden. Der erste Schritt der Programmierungsphase soll dabei der Entwurf eines Reglerkonzepts sein, dass anschließend in Simulink implementiert werden soll. Anschließend soll die Regelung getestet und durch Anpassungen optimiert werden. Die Auswertung und Problemanalyse schließt die Programmierungsphase ab und es kann mit der Endphase des Projekts begonnen werden. Diese dient dazu, die Dokumentation des Projekts fertigzustellen und die Präsentation auf der Messe vorzubereiten.


Der nachfolgende Projektplan gibt eine Übersicht der in den vier Phasen zu erledigenden Aufgabenpakete des Projekts so wie deren geschätzte Dauer.


Michael Bock
Michael Bock



Konstruktionsphase

Erstes Konzept des Motorrads

Zu Beginn sind die Anforderungen an die Konstruktion ermittelt worden, um diese bestmöglich auf die zu erfüllende Aufgabe abzustimmen. Dabei war die erste Überlegung, das Motorrad so zu konstruieren, dass es symmetrisch zur Neigungsachse ist. Dadurch ist gewährleistet, dass das Motorrad keine Schlagseite aufweist. Darüber hinaus sollte der Schwerpunkt des Systems möglichst niedrig liegen, um dadurch einen möglichst großen Winkel der Neigungsachse zu ermöglichen, ohne dass das System umkippt. Desweiteren musste berücksichtigt werden, dass das Gyroskop auf der Neigungsachse verbaut wird, um so die richtigen Messdaten zu empfangen. Die Lenkung bedurfte ebenfalls besondere Aufmerksamkeit, da diese schnell und präzise reagieren muss.

So kam es dazu, dass die Lenkung während des Projektes mehrmals umgebaut und verbessert wurde. Ebenfalls vergrößerte sich der Radabstand von Modell zu Modell, um den Schwerpunkt des Systems möglichst bodennah und mittig zwischen die beiden Reifen zu bekommen. Durch die Konstruktion mit dem EV3-Block mittig zwischen den Reifen des Motorrads und dem Gyroskop Sensor mittig unter dem EV3-Block, konnte ein stabiles System mit einer gleichmäßigen Verteilung der Masse auf beide Reifen, symmetrisch zur Neigungsachse erzeugt werden.



Programmierphase

Oberfläche der Regelung in Matlab/Simulink

Zu Beginn der Programmierphase wurden Informationen für die Realisierung der Regelung eingeholt. Auf dessen Grundlage wurde die Verwendung eines PID Reglers ausgewählt, da dieser die Vorteile aller enthaltenen Regler kombiniert. Im Anschluss wurde mit der Umsetzung der Regelung durch Matlab / Simulink begonnen. Als Eingangsgrößen wurden die aktuelle Gierrate und der aktuelle Lenkwinkel über Sensoren erfasst und daraus resultierend eine Änderung des Lenkwinkels als Stellgröße ausgegeben. Die Geschwindigkeit und die Dauer der Ansteuerung der beiden Antriebsmotoren können über die Wahl von Konstanten festgelegt werden. Durch die Aufnahme und Auswertung von Messdaten konnte das System nun hinsichtlich der Gewichtung der P I und D Anteile der Regelung angepasst werden. Über eine Reihe von Tests wurde die optimale Geschwindigkeit der Antriebsmotoren ermittelt. Bis zu einem gewissen Grad hat sich die Stabilität des Systems durch Verwenden einer höheren Geschwindigkeit verbessert. Bei zu hoher Geschwindigkeit war das System nicht mehr fähig die Daten in Echtzeit in die Regelung mit einfließen zu lassen und es haben sich wieder Verschlechterungen im Regelungsergebnis gezeigt.



Fazit

Die Durchführung des Projekts lief in der Anfangsphase und der Konstruktionsphase sehr gut, sodass schnell Ergebnisse erzielt werden konnten. Auch die geplanten Zeiträume für die Arbeitspakete haben dort sehr gut gepasst. In der Programmierphase kam es leider zu mehr Schwierigkeiten als anfangs erwartet und somit konnten die Anpassungen und das Feintuning nicht vollständig abgeschlossen werden. Trotzdem fuhr das Motorrad sehr gut und hat sich mit Hilfe des entwickelten Programms selbstständig geregelt.

Ergebnis

fertiges Motorrad

- Ein instabiles System wurde entworfen

- Das entwickelte Konzept wurde gebaut

- Eine Aufbauanleitung wurde verfasst

- Eine Regelung des Systems über Matlab / Simulink wurde verwirklicht

- Ein Youtube Video wurde angefertigt

- Das Projekt wurde auf der HSHL-Messe vorgestellt und vorgeführt



Zusammenfassung

Das Projekt im GET-Fachpraktikum kann als sehr gewinnbringend eingestuft werden. So wurde auf viele Bereiche des Mechatronik Studiums eingegangen. Angefangen bei der Konstuktionstechnik, welche bei dem Aufbau des Motorrades hilfreich war, über die Schwerpunktsberechnung aus der technischen Mechanik bis hin zur Regelungstechnik, um das instabile System zu regeln. So wurden die Kompetenzen in den Bereichen aufgefrischt und haben praxisnah Anwendung gefunden.

Ausblick

In Zukunft kann das Projekt noch erweitert werden. Ein Ultraschallsensor kann dafür sorgen, dass das Motorrad nicht gegen Hindernisse oder Objekte auf der Fahrbahn fährt. Dazu kann es auch dahingehend erweitert werden, dass es diesen ausweicht oder im Notfall anhält. Auch eine Regelung zum geradeaus fahren ist denkbar.

Die Optimierung der Lenkung ist ein weiteres Thema, da diese im aktuellen Aufbau noch sehr viel Spiel hat.

Literatur

Weblinks

Projektunterlagen

Die gesamten Projektunterlagen sind unter dem Ordner 38_Regelung_instabiles_System in SVN zu finden. Bei Bedarf können die Dokumente auch bei den Autoren dieses Artikels angefragt werden.

YouTube Video



→ zurück zum Hauptartikel: WS 17/18: Fachpraktikum Elektrotechnik (MTR) und Angewandte Elektrotechnik (BSE)