AEP Gruppe C5: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(35 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Vorwort ==


[[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 />


== Projektteam ==
== Projektteam ==


[[Benutzer:Max_Boening| Max Böning]]:  
[[Benutzer:Max_Boening| Max Böning]]:  
<br /> Konstriktion und Bau des Fahrzeugs
<br /> Konstruktion und Bau des Fahrzeugs




Zeile 21: 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.
[[Datei:Ablaufplan.jpg|miniatur| rechts| Ablauf des Praktikums]]
<br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />


== Projektziele ==
== Projektziele ==
Zeile 35: 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|miniatur|links|Projektziel]]
[[Datei:Projektziel.PNG|Projektziel]]
<br /><br /><br /><br /><br />
<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
Zeile 48: Zeile 48:
* 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 59: Zeile 59:


== Softwareseitige Lösung ==
== Softwareseitige Lösung ==
* Geradeausfahrt programmieren
[[Datei:Programmablaufplan.jpg|miniatur|rechts]]
* Vermessung der Parklücke
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.
* Einparkvorgang programmieren
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

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. 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

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.








Projektziele

  • Einarbeitung in Matlab
  • Einarbeitung in SVN
  • Komplexe mechatronische Probleme im Team lösen können
  • Den Roboter autonom Einparken

Projektziel


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.