AEP Gruppe C5: Unterschied zwischen den Versionen
(27 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Datei:NXT Roboter Gruppe C5.png|miniatur|links|Der Roboter der Gruppe C5]] | |||
Mit diesem Wiki Eintrag möchte das Projektteam C5 des Informatikpraktiukum II des Studiengang Mechatronik der Hochschule Hamm Lippstadt ihre Erfahrungen festhalten. Das Praktikum wurde von Prof Schneider betreut, mit dem man sich alle 14 Tage getroffen hat und seinen Fortschritt vorgestellt hat. | Mit diesem Wiki Eintrag möchte das Projektteam C5 des Informatikpraktiukum II des Studiengang Mechatronik der Hochschule Hamm Lippstadt ihre Erfahrungen festhalten. Das Praktikum wurde von Prof Schneider betreut, mit dem man sich alle 14 Tage getroffen hat und seinen Fortschritt vorgestellt hat. | ||
Die Aufgabenstellung des Praktikums war es einen LEGO Mindstorms (NXT Roboter)[http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT] mit Heckantrieb sowie mit einer Lenkachse zu entwickeln, welcher eine geeignete Parklücke durch die Programmierung mit Matlab[http://193.175.248.171/wiki/index.php/Matlab/Simulink] selbstständig erkennt und darin einparkt. Dies wurde mit Hilfe von dem Ultraschall-Sensor und dem Gierraten-Sensor realisiert. Abschließend wurde der Roboter dem Dozenten vorgestellt. | Die Aufgabenstellung des Praktikums war es einen LEGO Mindstorms (NXT Roboter)[http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT] mit Heckantrieb sowie mit einer Lenkachse zu entwickeln, welcher eine geeignete Parklücke durch die Programmierung mit Matlab[http://193.175.248.171/wiki/index.php/Matlab/Simulink] selbstständig erkennt und darin einparkt. Dies wurde mit Hilfe von dem Ultraschall-Sensor und dem Gierraten-Sensor realisiert. Abschließend wurde der Roboter dem Dozenten vorgestellt. | ||
<br /><br /> | <br /><br /> | ||
== Projektteam == | == Projektteam == | ||
[[Benutzer:Max_Boening| Max Böning]]: | [[Benutzer:Max_Boening| Max Böning]]: | ||
<br /> | <br /> Konstruktion und Bau des Fahrzeugs | ||
Zeile 23: | Zeile 21: | ||
[[Benutzer:Sven_Soebbeke| Sven Söbbeke]]: | [[Benutzer:Sven_Soebbeke| Sven Söbbeke]]: | ||
<br /> Programmierung des NXTs | <br /> Programmierung des NXTs | ||
== Praktikumsverlauf == | == Praktikumsverlauf == | ||
[[Datei:Ablaufplan.jpg|miniatur| rechts| Ablauf des Praktikums]] | |||
Das Praktikum bestand insgesamt aus sechs verpflichtenden Terminen. Es begann am ersten Termin mit einem Kick Off Meeting, an dem die Aufgabenstellung und die Anforderungen an den NXT Roboter erläutert wurden. Der zweite und dritte Termin diente der Einarbeitung in Matlab und dem Vertraut machen mit der Versionsverwaltungssoftware Apache Subversion. An den folgenden drei Terminen sollte letztendlich das Programm zum Autonomen einparken erarbeitet werden. Am Anfang stand die präzise Geradeausfahrt mittels des Gierratensensors. Danach sollte der Roboter, mit Hilfe des Ultraschallsensors, die Größe von Parklücken während der Geradeausfahrt erkennen. Schlussendlich musste der Roboter eine ausreichend große Parklücke erkennen und unter der Verwendung einer Zustandsmaschine autonom einparken. | Das Praktikum bestand insgesamt aus sechs verpflichtenden Terminen. Es begann am ersten Termin mit einem Kick Off Meeting, an dem die Aufgabenstellung und die Anforderungen an den NXT Roboter erläutert wurden. Der zweite und dritte Termin diente der Einarbeitung in Matlab und dem Vertraut machen mit der Versionsverwaltungssoftware Apache Subversion. An den folgenden drei Terminen sollte letztendlich das Programm zum Autonomen einparken erarbeitet werden. Am Anfang stand die präzise Geradeausfahrt mittels des Gierratensensors. Danach sollte der Roboter, mit Hilfe des Ultraschallsensors, die Größe von Parklücken während der Geradeausfahrt erkennen. Schlussendlich musste der Roboter eine ausreichend große Parklücke erkennen und unter der Verwendung einer Zustandsmaschine autonom einparken. | ||
<br /><br /><br /><br /><br /><br /><br /><br /><br /> | |||
== Projektziele == | == Projektziele == | ||
Zeile 37: | Zeile 34: | ||
* Komplexe mechatronische Probleme im Team lösen können | * Komplexe mechatronische Probleme im Team lösen können | ||
* Den Roboter autonom Einparken | * Den Roboter autonom Einparken | ||
[[Datei:Projektziel.PNG|Projektziel]] | |||
[[Datei:Projektziel.PNG | <br /><br /><br /> | ||
== Realisierungsstrategie == | == Realisierungsstrategie == | ||
== Fahrzeugdaten == | == Fahrzeugdaten == | ||
[[Datei:NXT Roboter Gruppe C5.png|miniatur|rechts]] | |||
* Fahrzeuglänge: 300mm | * Fahrzeuglänge: 300mm | ||
* Fahrzeugbreite: 140mm | * Fahrzeugbreite: 140mm | ||
* Spurweite vorn: 140mm | * Spurweite vorn: 140mm | ||
* Spurweite hinten: 120mm | * Spurweite hinten: 120mm | ||
* Achsabstand: 220mm | * Achsabstand: 220mm | ||
* Max. Radeinschlagswinkel Linkseinschlag: 40° | * Max. Radeinschlagswinkel Linkseinschlag: 40° | ||
* Max. Radeinschlagswinkel Rechtseinschlag: 40° | * Max. Radeinschlagswinkel Rechtseinschlag: 40° | ||
<br /><br /> | |||
== Hardwareseitige Lösung == | == Hardwareseitige Lösung == | ||
Zeile 62: | Zeile 59: | ||
== Softwareseitige Lösung == | == Softwareseitige Lösung == | ||
[[Datei:Programmablaufplan.jpg|miniatur|rechts]] | |||
Zuerst soll der Roboter autonom geradeaus fahren, während dessen sucht der Ultraschall-Sensor nach einer Parklücke, die anderthalb mal so groß ist wie die Länge des Fahrzeugs selbst. Wenn dies erfüllt ist beginnt der Einparkvorgang, dieser ist in drei Zustände unterteilt. | |||
Wobei es sich beim ersten Zustand um den Rechtseinschlag handelt, danach soll er rückwärts fahren, dies wird so lang ausgeführt bis der Roboter im 45° Winkel in der Parklücke steht, dies wird über den Gierraten-Sensor ermittelt. Sobald der Zustand erfüllt wurde springt die Zustandsmaschine in Zusatand 2. Welcher den Linkseinschlag beinhaltet, danach fährt der Roboter noch eine Radumdrehung zurück. Damit ist auch Zustand 2 erfüllt und die Zustandsmaschine kann in den letzten Zustand (Zustand 3) springen. Hier soll der Roboter wieder einen Radumfang geradeaus fahren, damit er mittig in der Parklücke plaziert ist. Zu letzt spielt der NXT einen Ton ab. |
Aktuelle Version vom 20. Juni 2014, 15:11 Uhr
Mit diesem Wiki Eintrag möchte das Projektteam C5 des Informatikpraktiukum II des Studiengang Mechatronik der Hochschule Hamm Lippstadt ihre Erfahrungen festhalten. Das Praktikum wurde von Prof Schneider betreut, mit dem man sich alle 14 Tage getroffen hat und seinen Fortschritt vorgestellt hat.
Die Aufgabenstellung des Praktikums war es einen LEGO Mindstorms (NXT Roboter)[1] mit Heckantrieb sowie mit einer Lenkachse zu entwickeln, welcher eine geeignete Parklücke durch die Programmierung mit Matlab[2] selbstständig erkennt und darin einparkt. Dies wurde mit Hilfe von dem Ultraschall-Sensor und dem Gierraten-Sensor realisiert. Abschließend wurde der Roboter dem Dozenten vorgestellt.
Projektteam
Max Böning:
Konstruktion und Bau des Fahrzeugs
Matthias Grünhage:
Programmierung des NXTs
Tobias Krautwig:
Konstruktion und Bau sowie Programmierung des NXTs
Sven Söbbeke:
Programmierung des NXTs
Praktikumsverlauf
Das Praktikum bestand insgesamt aus sechs verpflichtenden Terminen. Es begann am ersten Termin mit einem Kick Off Meeting, an dem die Aufgabenstellung und die Anforderungen an den NXT Roboter erläutert wurden. Der zweite und dritte Termin diente der Einarbeitung in Matlab und dem Vertraut machen mit der Versionsverwaltungssoftware Apache Subversion. An den folgenden drei Terminen sollte letztendlich das Programm zum Autonomen einparken erarbeitet werden. Am Anfang stand die präzise Geradeausfahrt mittels des Gierratensensors. Danach sollte der Roboter, mit Hilfe des Ultraschallsensors, die Größe von Parklücken während der Geradeausfahrt erkennen. Schlussendlich musste der Roboter eine ausreichend große Parklücke erkennen und unter der Verwendung einer Zustandsmaschine autonom einparken.
Projektziele
- Einarbeitung in Matlab
- Einarbeitung in SVN
- Komplexe mechatronische Probleme im Team lösen können
- Den Roboter autonom Einparken
Realisierungsstrategie
Fahrzeugdaten
- Fahrzeuglänge: 300mm
- Fahrzeugbreite: 140mm
- Spurweite vorn: 140mm
- Spurweite hinten: 120mm
- Achsabstand: 220mm
- Max. Radeinschlagswinkel Linkseinschlag: 40°
- Max. Radeinschlagswinkel Rechtseinschlag: 40°
Hardwareseitige Lösung
- Konstruktion des Roboters nach den Vorgaben
- Differenzial
- Lenkung (Max Radeinschlag 40°)
- Achsenabstand zur Spurweite im Verhältnis 2:1
- Ultraschall- , Gyrosensor
Softwareseitige Lösung
Zuerst soll der Roboter autonom geradeaus fahren, während dessen sucht der Ultraschall-Sensor nach einer Parklücke, die anderthalb mal so groß ist wie die Länge des Fahrzeugs selbst. Wenn dies erfüllt ist beginnt der Einparkvorgang, dieser ist in drei Zustände unterteilt. Wobei es sich beim ersten Zustand um den Rechtseinschlag handelt, danach soll er rückwärts fahren, dies wird so lang ausgeführt bis der Roboter im 45° Winkel in der Parklücke steht, dies wird über den Gierraten-Sensor ermittelt. Sobald der Zustand erfüllt wurde springt die Zustandsmaschine in Zusatand 2. Welcher den Linkseinschlag beinhaltet, danach fährt der Roboter noch eine Radumdrehung zurück. Damit ist auch Zustand 2 erfüllt und die Zustandsmaschine kann in den letzten Zustand (Zustand 3) springen. Hier soll der Roboter wieder einen Radumfang geradeaus fahren, damit er mittig in der Parklücke plaziert ist. Zu letzt spielt der NXT einen Ton ab.