AEP Gruppe B4 - SoSe18: Unterschied zwischen den Versionen
Zeile 115: | Zeile 115: | ||
--- | ---- | ||
→ zurück zum Hauptartikel: [[ | → zurück zum Hauptartikel: [[Autonomes_Fahren_SoSe18|Informatikpraktikum 2 SoSe18]] |
Aktuelle Version vom 8. August 2018, 14:32 Uhr
Einleitung
Das Modul Informatik II im SS 18/19 des Studiengangs Mechatronik an der HSHL beinhaltet ein Praktikum unter der Leitung von Prof. Schneider. Das Praktikum ist in 3 Gruppen unterteilt, die verschiedene Aufgaben zu lösen haben. Als Mitglieder der Gruppe B war es unsere Aufgabe, einen Roboter zu konstruieren und zu programmieren, der autonom in einer Parklücke einparken kann, die 1,5 Mal so groß ist wie die Länge des Fahrzeugs. Für die Programmierung verwenden die Studierenden die Programme "Matlab" und "Simulink".
Zur Umsetzung des Projekts steht das Lego MindstormsTM Baukastensystem des Spielzeugherstellers LegoTM zur Verfügung.
Teammitglieder der Gruppe B4
Kevin Hustedt : Programmierung mittels Matlab & Simulink
Alessio Cebeci : Programmierung mittels Matlab & Simulink, Konstruktion des Roboters
Henning Hoffmeier : Konstruktion des Roboters, Erstellen des Wiki-Artikels & Video
Lernziele und Aufgaben im Praktikum
• Konstruieren eines fahrzeugähnlichen Roboters mit Hilfe von Lego
• Einarbeiten in die Programmiersoftware Matlab & Simulink
• Pflege des Dateimanagementsystems "SVN"
• Grafische Darstellung von Messwerten
• Programmierung mit Matlab & Simulink
• Erstellung einer Funktion zum autonomen Einparken
• Regelmäßige Präsentation der Ergebnisse
• Erstellung eines Wiki Artikels
• Dokumentation des Einparkmanövers in einem Video
Hardware
Bevor mit dem Programmieren begonnen werden konnte, musste zuerst ein Fahrzeug konstruiert werden. Um die aktuelle Position sowie die passende Parklücke zu finden wurden verschiedene Sensoren und Aktuatoren verbaut.
NXT-Baustein
Der NXT-Baustein ist das Herzstück des Fahrzeugs. Hier sind alle Sensoren und Motoren angeschlossen. Auf dem NXT werden die Programme geladen und ausgeführt.
Aktuatoren
Der Roboter verfügt über zwei Elektromotoren. Einer wird zum fortbewegen des Fahrzeugs verwendet und der andere dient der Lenkung. Bei den Motoren handelt es sich um LEGO-Servomotoren, die einen Elektromotor sowie einen Rotationssensor integriert haben. Die Servomotoren können mit verschiedenen Geschwindigkeiten betrieben werden sowie mithilfe des Sensors genau ausgerichtet werden.
Sensoren
• Gyrosensor -> Ermittlung der aktuellen Lage des Fahrzeugs
• Ultraschallsensor -> Erfassen der passenden Parklücke für das Fahrzeug
Software
Im Verlauf des Praktikums haben wir die Aufgabe zum Eiparken mit Matlab und Simulink umgesetzt.
Für unsere finale Lösung entschieden wir uns für die Umsetzung mit Simulink.
Simulink gefiel uns besonders, da hier das gesamte Problem in kleinere Probleme anschaulich unterteilt wird.
Die Teillösungen der Probleme werden in einzelnen Blöcken umgesetzt. Dadurch wird das Programm und die Lösung übersichtlich.
Einparkkonzept
Geradeausfahren und Lücke suchen
Der Ultraschallsensor und der Gyrosensor werden vor Beginn der Fahrt kalibriert. Die Kalibrierungswerte wurden experimentell ermittelt und in die Kalibrierungswerte im Simulink-Baustein der Sensoren eingetragen. Beim Start der Fahrt steht das Fahrzeug parallel auf der Fahrbahn. Um eine ungewollte Querabweichung zu vermeiden wird anhand der Werte des Gyrosensors eine Regelung gewährleistet um bei einer Abweichung entsprechend gegenlenken zu können. Während der geregelten Geradeausfahrt misst der Ultraschallsensor den Abstand zu Hindernissen an der rechten Seite. Wenn der Abstand ausreichend ist wird zusätzlich die Länge der Lücke mithilfe des Motordrehgebers gemessen. Ist die Lücke zu klein fährt das Fahrzeug weiter geradeaus und wiederholt die Vorgänge bis eine passende Lücke gefunden wird. Wird eine passende Lücke gefunden muss das Fahrzeug noch ein Stück weiter geradeausfahren, da der Ultraschallsensor nicht ganz hinten am Fahrzeugverbaut ist, und anschließend werden die Motoren gestoppt und der Einparkvorgang beginnt.
Einparken
Bei Beginn des Einparkvorgangs werden die Räder um 40° nach rechts eingeschlagen und das Fahrzeug fährt rückwärts, bis das Fahrzeug in einem Winkel von 40° steht. Sobald das Fahrzeug in dem Winkel von 40° steht werden die Räder um 80° nach links eingeschlagen und das Fahrzeug fährt weiterhin rückwärts, bis das Fahrzeug gerade steht. Wenn das Fahrzeug geradesteht, fährt es ein Stück geradeaus um sich mittig in der Parklücke zu positionieren. Danach werden alle Motoren gestoppt und das Fahrzeug hat den Einparkvorgang beenedet.
Fahrzeugparameter
Parameter | Wert |
---|---|
Länge in mm | 270 |
Breite in mm | 150 |
Höhe in mm | 120 |
Spurweite in mm | 110 |
Achsabstand in mm | 210 |
Länge Parklücke in mm | 405 |
Max. Radeinschlag rechts | 40° |
Max. Radeinschlag links | 40° |
Videodokumentation
Link zum Video:
https://youtu.be/b68X9H_1GTE
→ zurück zum Hauptartikel: Informatikpraktikum 2 SoSe18