AEP Gruppe B1 - SoSe18: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 74: Zeile 74:


Die Software des Roboters teilt sich, wie im PAP ersichtlich, in folgende Unterprogramme auf:
Die Software des Roboters teilt sich, wie im PAP ersichtlich, in folgende Unterprogramme auf:
* Parklückensuche
                  * Parklückensuche
* Rechtseinschlag
                  * Rechtseinschlag
* Linkseinschlag
                  * Linkseinschlag
* Korrektur
                  * Korrektur
<br/><br/><br/><br/><br/><br/><br/>
<br/><br/><br/><br/><br/><br/><br/>



Version vom 9. Juli 2018, 16:20 Uhr

Autoren: Patrick Schumann und Julin Horstkötter

Im Informatikpraktikum des zweiten Semesters im Studiengang Mechatronik ist ein selbstfahrender Roboter konstruiert worden. Dessen Software ist darauf ausgelegt, autonom einzuparken.

"Fahrzeug der Gruppe B1"

Zielsetzung

Die Zielsetzung besteht in der Entwicklung und Programmierung eines autonom einparkenden Roboters. Dieser startet zunächst mit einer Geradeausfahrt, die mit einem Gierratensensor und einem PI-Regler geregelt ist. Parallel dazu misst der Roboter den Abstand zur rechten Wand mithilfe eines Ultraschallsensors. Aufgrund der dabei messbaren Abstandsdifferenz kann die Parklücke identifiziert werden. Durch den zusätzlichen Einsatz von Odometrie kann die Länge der Parklücke bestimmt werden. Nur wenn die Parklücke ausreichend groß ist, wird der eigentliche Parkvorgang eingeleitet. Dabei werden die Motoren für den eigentlichen Antrieb und für die Lenkung vollständig autonom angesteuert.
Programmiert wird in Matlab bzw. Simulink.

Teammitglieder und ihre Aufgaben

• Konstruktion des Fahrzeuges
• Programmentwicklung mit Matlab und Simulink
• Entwicklung und Visualisierung des Konzeptplans mit PapDesigner
• Visualisierung des Fahrzeuges mit LegoDesigner


• Konstruktion des Fahrzeuges
• Programmentwicklung mit Matlab und Simulink
• Verfassen des Wiki-Beitrages
• Videoaufnahme und Bearbeitung

Konstruktionsplan im Lego Designer

Schrägansicht rechts
Schrägansicht links



















Bemerkung: Da sich programmbedingt nicht alle Zahnräder korrekt platzieren ließen, fehlt im Konstruktionsplan im Differential ein Zahnrad.

Fahrzeugkennwerte

Abmessungen des Fahrzeugs

Parameter Maße in mm
Fahrzeuglänge 270 mm
Fahrzeugbreite 161 mm
Fahrzeughöhe 147 mm
Spurweite vorne 143 mm
Spurweite hinten 127 mm
Achsabstand 207 mm
Wendekreis ca. 640 mm

Bemerkung: Der Roboter ist kompakt gebaut und verfügt über ein Differentialgetriebe. Aus diesen Gründen meistert er selbst enge Kurven mühelos. Dadurch kann er auch in engen Parklücken (Fahrzeuglänge x 1,5) einparken.

Sensorik und deren Anwendungsgebiete

  • Gierratensensor: Messung der Rotationsgeschwindigkeit um die Hochachse
  • Ultraschallsensor: Messung des Abstandes zur Wand bzw. Messung der Tiefe der Parklücke
  • Odometrie: Messung des zurückgelegten Winkels der Motoren, woraus der Lenkwinkel und die Fahrdistanz berechnet werden können

Softwarekonzept als Programm-Ablauf-Plan (PAP)

Programmablaufplan (PAP)

PAP als PDF-Dokument: Datei:RoboSoccer - Gruppe B4 PAP.pdf

Die Software des Roboters teilt sich, wie im PAP ersichtlich, in folgende Unterprogramme auf:

                  * Parklückensuche
                  * Rechtseinschlag
                  * Linkseinschlag
                  * Korrektur








Bildmaterial

Werbeplakat von "Nr.27"



















Fotos

"Nr.27" auf dem Spielfeld während eines Torschusses
Schrägansicht rechts
Seitenansicht rechts
Vorderansicht
Seitenansicht links

























































Video

Video zum Roboter "Robo Fighter"

Video-Beschreibung:
Herausgeber: Patrick Schumann und Julin Horstkötter
Hochschule: Hochschule Hamm-Lippstadt
Studiengang: Mechatronik 2. Semester
Projektkurs: Informatikpraktikum II (Gruppe B1)
Betreuer: Prof. Dr. Ing.-Schneider
Musikquelle: iMovie
Praktikumsziel: Konstruktion und Programmierung eines LEGO-Mindstorm-Roboters, der autonom einparken kann. Die Geradeausfahrt wird mit dem Gierratensensor und einem PI-Regler geregelt. Der Abstand zur Wand bzw. die Tiefe der Parklücke wird über den Ultraschallsensor gemessen. Bei einer ausreichend großen Parklücke wird der Parkvorgang gestartet. Programmiert wurde mit Matlab und Simulink.

Zusammenfassung

Zum Ende des Sommersemesters ist es geschafft. Der Roboter parkt autonom ein. Somit ist das Ziel zur Zufriedenstellung der Teammitglieder erreicht. (Weitere Verbesserungen siehe "Ausblick")
Der Erfolg lag in einer gelungenen Absprache des kompletten Teams. Die Mitglieder haben sich bei Problemen gegenseitig geholfen, Aufgaben abgesprochen und gemeinsam an Lösungen gearbeitet und nach Optimierungsmöglichkeiten gesucht.
So ist ein Roboter entstanden, der ohne menschliches Eingreifen, alleine durch Sensoren, einen Mikrokontroller und eine intelligente Software eine Parklücke finden, vermessen und bei ausreichender Größe selbstständig einparken kann.

Verwendete Softwaretools

  • Bricx Command Center 3.3 [1] (für die Programmierung)
  • Microsoft Office: PowerPoint [2] (zur Erstellung des Werbeplakats)
  • LEGO Digital Designer [3] (zur Erstellung des Bauplans des Roboters)
  • Matlab [4] (zur Analyse von Daten aus Sensortests)
  • NXT 2.0 [5] (zur Programmierung der Software)
  • EV3 Lobby [6] (zur Programmierung der Software)
  • TortoiseSVN [7] (Datensicherung und -austausch zwischen den Teammitgliedern)

Unterlagen in TortoiseSVN

Die Unterlagen der Teammitglieder sind für autorisierte Personen unter folgender URL erreichbar [8].

Ausblick

  • In einigen Fällen steht der Roboter nach Abschluss des Parkvorgangs nicht genau mittig in der Parklücke. Möglicherweise müssen dazu Parameter in den letzten Fahrbefehlen optimiert werden.

Literaturverzeichnis



→ zurück zum Hauptartikel: Autonomes Fahren SoSe18