Selbstfahrendes Motorad mit Arduino: Unterschied zwischen den Versionen
Zeile 43: | Zeile 43: | ||
|[[Datei:Beschreibung_des_Motorrades_durch_physikalische_Größe.png|thumb|links|600px|Bild 3: Beschreibung des Motorrades durch physikalische Größe. [[Benutzer:Junjie Lyu|Junjie Lyu]] ([[Benutzer Diskussion:Junjie Lyu|Diskussion]]) 10:49, 12. Okt. 2021]] | |[[Datei:Beschreibung_des_Motorrades_durch_physikalische_Größe.png|thumb|links|600px|Bild 3: Beschreibung des Motorrades durch physikalische Größe. [[Benutzer:Junjie Lyu|Junjie Lyu]] ([[Benutzer Diskussion:Junjie Lyu|Diskussion]]) 10:49, 12. Okt. 2021]] | ||
|[[Datei:Regelstrecke.png|none|600px|thumb|Bild 4: Regelkreis des Motorrades.[[Benutzer:Junjie Lyu|Junjie Lyu]] ([[Benutzer Diskussion:Junjie Lyu|Diskussion]]) 00:38, 12. Okt. 2021]] | |[[Datei:Regelstrecke.png|none|600px|thumb|Bild 4: Regelkreis des Motorrades.[[Benutzer:Junjie Lyu|Junjie Lyu]] ([[Benutzer Diskussion:Junjie Lyu|Diskussion]]) 00:38, 12. Okt. 2021]] | ||
|} | |||
{| class="mw-datatable" | |||
! style="font-weight: bold;" | physikalische Größe | |||
! style="font-weight: bold;" | Bedeutung | |||
|+ style = "text-align: left"|Tabelle 1: Bedeutung dieser physikalischen Größe in Bild 3 | |||
|- | |||
| \theta | |||
| Ein P-Regler erreicht in unserem Fall keine Regeldifferenz von 0. Die bleibende Regelabweichung kann durch Erhöhung des Parameters <math>K_P</math> verringert werden. Dies begünstigt jedoch ein aggressives Verhalten der Regelung. | |||
|- | |||
| \phi | |||
| In dem Projekt wurde ein PI-Regler verwendet. Dieser kompensiert durch sein Integrator die bleibende Regelabweichung. Als Parameter wurden <math>K_P = 8</math> und <math>K_I = 16</math> verwendet. Dar unsere Stellgröße begrenzt ist, tritt der Wind-Up-Effekt auf. Dieser wird durch die Clamping-Methode verhindert. | |||
|- | |||
| h_cm | |||
| Der PID-Regler erweitert den PI-Regler durch ein Differenzierer, der auf die Änderungsrate der Reglerabweichung reagiert. Der Roboter hat keine komplexe Kinematik, wodurch die Änderungsrate meist konstant bleibt. Deshalb wird auf ein I-Glied verzichtet. | |||
|} | |} | ||
Version vom 12. Oktober 2021, 12:24 Uhr
Autoren: Junjie Lyu
Betreuer: Prof. Schneider
Art: PA
Projektlaufzeit: 04/2021-04/2022
Thema
Aufbau eines selbsfahrenden Motorades, welches sich selbst während der Fahrt ausbalanciert.
Ziel
Das Arduino Engineering Kit ermöglicht den Aufbau dreier regelungstechnischer Herausforderungen. In diesem Projekt soll ein selbstfahrendes Motorad gebaut und programmiert werden.
Aufgabenstellung
- Einarbeitung in das Thema, auch aus regelungstechnischer Sicht
- Identifikation des Regelstrecke
- Sichtung und Test des bestehenden Bausatzes
- Aufbau des Systems (ggf. Platinenfertigung, etc.)
- Vergleichen und bewerten Sie verschiedene Regleransätze (P, PI, PID und andere).
- Modellbasierte Programmierung der Hardware via Matlab und Simulink
- Test des Segway
- Dokumentation nach wissenschaftlichem Stand
- Erstellung von Gefährdungsbeurteilung und Betriebsanweisung
Anforderung
- Wissenschaftliche Vorgehensweise (Projektplan, etc.)
- Wöchentliche Fortschrittsberichte (informativ)
- Projektvorstellung im Wiki
- Machen Sie ein tolles Videos, welches die Funktion visualisiert.
Gantt - Chart
Bewertung des Bausatzes
Das Motorrad ist ein zweirädrig Roboter, der mit Hilfe einer rotierenden Scheibe (Trägheitsrad) das Gleichgewicht halten und sich bewegen kann, um zu kompensieren, wenn das Motorrad das Gleichgewicht verliert. Das Motorrad wird von einem Arduino MKR1000, dem Arduino MKR Motor Carrier, einem Gleichstrommotor zum Bewegen des Hinterrads, einem Encoder, einem Gleichstrommotor zum Steuern des Trägheitsrads, einer 6-Achsen-IMU, einem Standardservomotor zum Lenken des Motorradgriffs, einem Abstandssensor (Ultraschallsensor) und einem Drehzahlmesser (Hallsensor) gesteuert. Der Hardwareaufbau konnte mithilfe der Anweisung des Anleitungsvideos zusammengebaut werden. Das Kabel vom Gleichstrommotor zum Steuern des Trägheitsrads ist nicht lang genug. Versuchen Wir, durch das Innere des Motorrads zu führen, um dem Arduino MKR Motor Carrier anzuschließen. Der Akku rutscht leicht vom Motorkörper. Versuchen wir, mit einem Gummi den Akku mit Motorkörper befestigen.
Aufbau des Systems
Identifikation der Regelstrecke
physikalische Größe | Bedeutung |
---|---|
\theta | Ein P-Regler erreicht in unserem Fall keine Regeldifferenz von 0. Die bleibende Regelabweichung kann durch Erhöhung des Parameters verringert werden. Dies begünstigt jedoch ein aggressives Verhalten der Regelung. |
\phi | In dem Projekt wurde ein PI-Regler verwendet. Dieser kompensiert durch sein Integrator die bleibende Regelabweichung. Als Parameter wurden und verwendet. Dar unsere Stellgröße begrenzt ist, tritt der Wind-Up-Effekt auf. Dieser wird durch die Clamping-Methode verhindert. |
h_cm | Der PID-Regler erweitert den PI-Regler durch ein Differenzierer, der auf die Änderungsrate der Reglerabweichung reagiert. Der Roboter hat keine komplexe Kinematik, wodurch die Änderungsrate meist konstant bleibt. Deshalb wird auf ein I-Glied verzichtet. |
Bewertung verschiedener Regleransätze
Wahl des Reglers
Simulation des Reglers
Realisierung des Reglers
Validierung des Reglers
Zusammenfassung und Ausblick
Quelltext
Video
Verlinken Sie hier ein YouTube-Video zu Ihrem fertigen Projekt. Tipps zum Video finden Sie hier.
Weblinks
- Arduino Engineering Kit
- YouTube: Unboxing the Arduino Engineering Kit
- YouTube: Motorcycle Self Balancing Using Reinforcement Learning
- YouTube: Motorcycle Maneuvers
- Arduino Store
Software
- Arduino Engineering Kit Hardware Support
- Arduino Engineering Kit Hardware Support für R2018b
- Arduino Engineering Kit Project Files
- Reinforcement learning with Self-balancing motorcycle
Siehe auch
→ zurück zum Hauptartikel: Studentische Arbeiten