AEP Gruppe B1 - SoSe18: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „'''Autoren:''' Patrick Schumann, Martin Theine und Benutzer:Julin-Frederik Horstkoetter|Julin Horstk…“) |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
'''Autoren:''' [[Benutzer:Patrick Schumann|Patrick Schumann | '''Autoren:''' [[Benutzer:Patrick Schumann|Patrick Schumann]] und [[Benutzer:Julin-Frederik Horstkoetter|Julin Horstkötter]] | ||
In dem Informatikpraktikum des | In dem Informatikpraktikum des zweiten Semesters im Studiengang Mechatronik ist ein selbstfahrender Roboter konstruiert worden. Dessen Software ist darauf ausgelegt, autonom einzuparken.<br/><br/> | ||
[[Datei:20180123_171217-min.jpeg|200px|thumb|right|"Nr.27"]] | [[Datei:20180123_171217-min.jpeg|200px|thumb|right|"Nr.27"]] | ||
== Zielsetzung == | == Zielsetzung == | ||
"Die Zielsetzung besteht in der Entwicklung und Programmierung eines | "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.<br/> | ||
Programmiert wird in Matlab bzw. Simulink. | |||
== Teammitglieder und ihre Aufgaben == | == Teammitglieder und ihre Aufgaben == | ||
* [[Benutzer:Patrick Schumann|Patrick Schumann]] <br/> | * [[Benutzer:Patrick Schumann|Patrick Schumann]] <br/> | ||
:• Konstruktion des Fahrzeuges <br/> | :• Konstruktion des Fahrzeuges <br/> | ||
:• Programmentwicklung mit Matlab und | :• Programmentwicklung mit Matlab und Simulink <br/> | ||
:• Entwicklung und Visualisierung des Konzeptplans mit PapDesigner <br/> | :• Entwicklung und Visualisierung des Konzeptplans mit PapDesigner <br/> | ||
:• Visualisierung des Fahrzeuges mit LegoDesigner <br/> | :• Visualisierung des Fahrzeuges mit LegoDesigner <br/> | ||
<br/> | <br/> | ||
* [[Benutzer: | * [[Benutzer:Julin-Frederik Horstkoetter|Julin Horstkötter]] <br/> | ||
:• Konstruktion des Fahrzeuges <br/> | :• Konstruktion des Fahrzeuges <br/> | ||
:• Programmentwicklung mit Matlab und | :• Programmentwicklung mit Matlab und Simulink <br/> | ||
:• Verfassen des Wiki-Beitrages <br/> | :• Verfassen des Wiki-Beitrages <br/> | ||
:• Videoaufnahme und Bearbeitung <br/> | :• Videoaufnahme und Bearbeitung <br/> | ||
Zeile 66: | Zeile 62: | ||
|} | |} | ||
<i>Bemerkung:</i> Der Roboter ist kompakt gebaut | <i>Bemerkung:</i> Der Roboter ist kompakt gebaut verfügt über ein Differentialgetriebe. Aus diesen Gründen meistert er selbst enge Kurven mühelos. Dadurch kann der Roboter selbst in engen Parklücken mühelos einparken. | ||
== Sensorik und deren Anwendungsgebiete == | == 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) == | == Softwarekonzept als Programm-Ablauf-Plan (PAP) == | ||
Zeile 80: | Zeile 75: | ||
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: | ||
* | * ÄNDERN************* | ||
* | |||
* | |||
* | |||
<br/><br/><br/><br/><br/><br/><br/> | <br/><br/><br/><br/><br/><br/><br/> | ||
Zeile 108: | Zeile 99: | ||
'''Video-Beschreibung:'''<br /> | '''Video-Beschreibung:'''<br /> | ||
''Herausgeber:'' Patrick Schumann | ''Herausgeber:'' Patrick Schumann und Julin Horstkötter<br/> | ||
''Hochschule:'' Hochschule Hamm-Lippstadt<br/> | ''Hochschule:'' Hochschule Hamm-Lippstadt<br/> | ||
''Studiengang:'' Mechatronik | ''Studiengang:'' Mechatronik 2. Semester <br/> | ||
''Projektkurs:'' Informatikpraktikum | ''Projektkurs:'' Informatikpraktikum II (Gruppe B1)<br/> | ||
''Betreuer:'' Prof. Dr. Ing.-Schneider<br/> | ''Betreuer:'' Prof. Dr. Ing.-Schneider<br/> | ||
''Musikquelle:'' iMovie<br/> | ''Musikquelle:'' iMovie<br/> | ||
''Praktikumsziel:'' Konstruktion und Programmierung eines LEGO-Mindstorm-Roboters, der | ''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 == | == Zusammenfassung == |
Version vom 5. Juli 2018, 17:33 Uhr
Autoren: Patrick Schumann und Julin Horstkötter
In dem Informatikpraktikum des zweiten Semesters im Studiengang Mechatronik ist ein selbstfahrender Roboter konstruiert worden. Dessen Software ist darauf ausgelegt, autonom einzuparken.
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
Bemerkung: Da sich programmbedingt nicht alle Zahnräder korrekt platzieren ließen, fehlen im Konstruktionsplan in der Schussmotorik 2 Zahnräder pro Seite.
Fahrzeugkennwerte
Abmessungen des Fahrzeugs
Parameter | Maße in mm |
---|---|
Fahrzeuglänge | 270 mm |
Fahrzeugbreite | 170 mm |
Fahrzeughöhe | 300 mm |
Spurweite vorne | 120 mm |
Spurweite hinten | 60 mm |
Achsabstand | 90 mm |
Wendekreis | ca. 0 mm |
Bemerkung: Der Roboter ist kompakt gebaut verfügt über ein Differentialgetriebe. Aus diesen Gründen meistert er selbst enge Kurven mühelos. Dadurch kann der Roboter selbst in engen Parklücken mühelos 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)
PAP als PDF-Dokument: Datei:RoboSoccer - Gruppe B4 PAP.pdf
Die Software des Roboters teilt sich, wie im PAP ersichtlich, in folgende Unterprogramme auf:
- ÄNDERN*************
Bildmaterial
Fotos
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 Wintersemesters ist es geschafft. Der Roboter "Nr. 27" spielt Fußball. 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 sogar gegen einen gegenerischen Roboter Fußball spielen und gewinnen 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
- Der Tastsensor zur Hinderniserkennung ist derzeit instabil, da er nicht mechanisch geführt ist. Dies führt dazu, dass dieser beim schrägen Anfahren eines Hindernisses nicht auslöst.
- Die Ausrichtung zum Tor ist aufgrund des Kompasssensors nur begrenzt möglich. Der Roboter kann sich lediglich nach einer Himmelsrichtung ausrichten. Befindet er sich am Spielfeldrand, kann er das Tor nicht treffen, obwohl er sich korrekt ausgerichtet hat. Für die Lösung dieses Problems müsste der Roboter noch über eine Positionsinformation verfügen. Alternativ könnte man die Tore verbreitern.
Literaturverzeichnis
→ zurück zum Hauptartikel: RoboSoccer WS 17/18