AEP Gruppe B6 - SoSe17: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(46 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
== Einleitung  ==
== Einleitung  ==


Im Rahmen des Informatik 2 Submoduls Praktikum 2 wurde uns die Aufgabe zugeteilt ein selbstkonstruiertes Lego Modell autonom einparken zu lassen.
Im Rahmen des Informatik 2 Submoduls Praktikum 2 wurde uns die Aufgabe zugeteilt, ein selbstkonstruiertes Lego Fahrzeug autonom einparken zu lassen. Hierzu wurden uns alle nötigen Lego Mindstorms Produkte, sowie Software in Form von Matlab und Simulink von der Hochschule bereitgestellt.
Die Herausforderung bestand nicht darin ein PKW ähnliches Modell zu bauen, sondern in der Programmierung des Mindstorms Bricks mithilfe von Matlab.
Das Projekt wurde über Matlab mit der Programmiersprache NXC (Not eXactly C) realisiert.
 
[[Datei:KFZ2.jpg|mini|KFZ von der Seite]]
[[Datei:KFZ.jpg|mini|KFZ von der Seite]]


== Team und Aufgabenverteilung ==
== Team und Aufgabenverteilung ==


#Valentin Rentzsch[http://193.175.248.52/wiki/index.php/Benutzer:Valentin_Rentzsch]
#[http://193.175.248.52/wiki/index.php/Benutzer:Valentin_Rentzsch Valentin Rentzsch]
#*Programmierung
#*Programmierung
#*Koordination
#*Koordination
#*Lego Konstrukteur  
#*Lego Konstrukteur
#*Organisation


#Vincent Holthaus[http://193.175.248.52/wiki/index.php/Benutzer:Vincent_Holthaus]
#[http://193.175.248.52/wiki/index.php/Benutzer:Vincent_Holthaus Vincent Holthaus]
#*Programmierung
#*Programmierung
#*Programmablaufplan
#*Programmablaufplan
#*Lego Designer Übertragung
#*Organisation


#Jarco Groenhagen[http://193.175.248.52/wiki/index.php/Benutzer:Jarco_Groenhagen]
#[http://193.175.248.52/wiki/index.php/Benutzer:Jarco_Groenhagen Jarco Groenhagen]
#*Programmierung
#*Programmierung
#*Lego Konstrukteur  
#*Lego Konstrukteur  
#*Organisation
#*Organisation
#*Lego Designer Übertragung


== Hardware ==
== Hardware ==
Zeile 27: Zeile 30:


Durch die Aufgabenstellung wurden an die Konstruktion des Autos einige Vorgaben gestellt.
Durch die Aufgabenstellung wurden an die Konstruktion des Autos einige Vorgaben gestellt.
Diese sind jedoch keine Herausforderung für uns gewesen, da jeder von uns mit der Materie
Die Vorgaben bestanden daraus, dass die Lenkung einen
durchaus vertraut ist. Die Vorgaben bestanden daraus, dass die Lenkung beispielsweise einen
maximal Einschlag von 40° besitzt ein Differential an der Antriebsachse verbaut wird, damit der Lenkradius verkleinert werden kann.
maximal Einschlag von 40° besitzt. Des weiteren sollte ein Differenzial an der Antriebsachse  
Bei der Gestaltung des Fahrzeugs waren wir nur dadurch eingeschränkt, dass die Fahrzeuglänge etwa das doppelte des Radstands betragen sollte.
eingebaut werden, damit der Lenkradius ingesamt verkleinert werden kann.
 


Die größte Herausforderung bestand darin, eine Lenkung mit möglichst geringen
Die größte Herausforderung bestand darin, eine Lenkung mit möglichst geringem
Lenkspiel zu konstruieren. Ganz ohne Lenkspiel ist es bei Lego Mindstorms jedoch nicht möglich,
Lenkspiel zu konstruieren. Ganz ohne Lenkspiel ist es bei Lego Mindstorms jedoch nicht möglich,
da die Motoren werksseitig ein gewisses spiel besitzen.
da die Motoren werksseitig eine leichte Ungenauigkeit aufweisen.
 
Neben einer großen Auswahl an Lego Bausteinen waren uns auch ein Lego Mindstorms NXT Brick, ein Gyrosensor, ein Ultraschallsensor und zwei Motoren vorgegeben.


== Software und Autonomes Einparken ==
== Software und Autonomes Einparken ==
Zeile 48: Zeile 53:


== Programmablaufplan ==
== Programmablaufplan ==
Aus dem Programmablaufplan folgt die Zustandsmaschine (Abbildungen rechts).
[[Datei:PAP1.jpg|rechts|mini|Programmablaufplan]]
[[Datei:PAP1.jpg|rechts|mini|Programmablaufplan]]
[[Datei:Zustandsmaschine.jpg|rechts|mini|Zustandsmaschine]]


== Fahrzeugdaten ==
== Fahrzeugdaten ==
Zeile 59: Zeile 69:
! style="font-weight: bold;" | Spurbreite
! style="font-weight: bold;" | Spurbreite
|-
|-
| 20m
|28cm
|30m
|14cm
|40m
|18cm
|50m
|13.5cm
|20m
|12cm
|-
|-
|}
|}
Zeile 69: Zeile 79:
== Fazit ==
== Fazit ==


Summa Summarum ist jeder unseres Teams Begeistert gewesen. Auch im Hinblick auf die  
Rückblickend hat uns das zweite Informatikpraktikum ermöglicht unser Wissen in der Informatik zu vertiefen und uns ein Verständis dafür
berufliche Zukunft ist dieses Praktikum eine wirklich tolle Erfahrung gewesen. Besonders
gegeben praxisorientiert zu programmieren. Zu unserer Überraschung haben sich in der Praxis viele kleine Probleme ergeben, die ausgebessert
erwähnenswert ist die phänomenale Teamarbeit gewesen.
werden mussten, bevor unser Fahrzeug überhaupt fahrtauglich wurde.


== Ausblick ==
== Links ==
Das Praktikum selbst hat uns sehr viel Spaß gemacht. Die einzige Verbesserungsmöglichkeit
[https://youtu.be/0QDj0gYZrmQ YouTube-Video] <br />
, ist, die toten Links in der Präsentation zu aktualisieren.
[https://svn.hshl.de/svn/Informatikpraktikum_2/trunk/Gruppen/SoSe2017/MTR_Inf2P_B6/ SVN Ordner]

Aktuelle Version vom 7. Juli 2017, 19:18 Uhr

Einleitung

Im Rahmen des Informatik 2 Submoduls Praktikum 2 wurde uns die Aufgabe zugeteilt, ein selbstkonstruiertes Lego Fahrzeug autonom einparken zu lassen. Hierzu wurden uns alle nötigen Lego Mindstorms Produkte, sowie Software in Form von Matlab und Simulink von der Hochschule bereitgestellt. Das Projekt wurde über Matlab mit der Programmiersprache NXC (Not eXactly C) realisiert.

KFZ von der Seite

Team und Aufgabenverteilung

  1. Valentin Rentzsch
    • Programmierung
    • Koordination
    • Lego Konstrukteur
    • Organisation
  1. Vincent Holthaus
    • Programmierung
    • Programmablaufplan
    • Lego Designer Übertragung
    • Organisation
  1. Jarco Groenhagen
    • Programmierung
    • Lego Konstrukteur
    • Organisation
    • Lego Designer Übertragung

Hardware

Durch die Aufgabenstellung wurden an die Konstruktion des Autos einige Vorgaben gestellt. Die Vorgaben bestanden daraus, dass die Lenkung einen maximal Einschlag von 40° besitzt ein Differential an der Antriebsachse verbaut wird, damit der Lenkradius verkleinert werden kann. Bei der Gestaltung des Fahrzeugs waren wir nur dadurch eingeschränkt, dass die Fahrzeuglänge etwa das doppelte des Radstands betragen sollte.


Die größte Herausforderung bestand darin, eine Lenkung mit möglichst geringem Lenkspiel zu konstruieren. Ganz ohne Lenkspiel ist es bei Lego Mindstorms jedoch nicht möglich, da die Motoren werksseitig eine leichte Ungenauigkeit aufweisen.

Neben einer großen Auswahl an Lego Bausteinen waren uns auch ein Lego Mindstorms NXT Brick, ein Gyrosensor, ein Ultraschallsensor und zwei Motoren vorgegeben.

Software und Autonomes Einparken

Durch unsere Erfahrung im vorherigem Praktikum konnten wir uns mit Matlab recht schnell zurecht finden und ebenfalls schnelle Ergebnisse vorweisen. Die einzige Schwierigkeit bestand darin die Software auf das KFZ anzupassen. Dies gelang uns durch mehrmalige Testfahrten.

Für das autonome Einparken werden zwei Sensoren benötigt. Zum einen wird der Ultraschallsensor benötigt, damit eine passende Parklücke gefunden werden kann. Zum anderen wird der Gyro Sensor benötigt, damit die Gierrate an die Lenkung weitergeben werden kann.

Programmablaufplan

Aus dem Programmablaufplan folgt die Zustandsmaschine (Abbildungen rechts).

Programmablaufplan
Zustandsmaschine

Fahrzeugdaten

Fahrzeuglänge Fahrzeugbreite Radstand Höhe Spurbreite
28cm 14cm 18cm 13.5cm 12cm

Fazit

Rückblickend hat uns das zweite Informatikpraktikum ermöglicht unser Wissen in der Informatik zu vertiefen und uns ein Verständis dafür gegeben praxisorientiert zu programmieren. Zu unserer Überraschung haben sich in der Praxis viele kleine Probleme ergeben, die ausgebessert werden mussten, bevor unser Fahrzeug überhaupt fahrtauglich wurde.

Links

YouTube-Video
SVN Ordner