AEP Gruppe B2 - SoSe18
→ zurück zum Hauptartikel: Informatikpraktikum 2 SoSe18
Die Aufgabe im Infopraktikum 2 bestand darin ein Fahrzeug zu Konstruieren und zu programmieren, bis der Roboter automatisch in eine parklücke einparken kann.
Dazu musste zunächst ein Fahrzeug mit Hilfe von Lego- Mindstorm Komponenten konstruiert werden. Dabei wurde darauf geachtet die Konstruktion möglichst real Getreu zu bauen. Deshalb verfügt Fahrzeug über eine lenkbare Vorderachse, die durch Zahnräder verbunden wurde. Zudem verfügt die Antriebsachse, die die Hinterachse ist über ein Differrenzielgetriebe. Zudem besitzt der PKW über einem Ultraschallsensor, sowie einem Gierratensensor. Durch das Differential ist der Wendekreis sehr kleineren und sich die Räder mit unterschiedlichen Geschwindigkeiten drehen können.
Vorstellung der Gruppe und Kompetenzbereich
Lukas Kriete:
Programmierung, Konstruktion, Wiki- Artikel
Moritz Oberg:
Programmierung, Konstruktion, Lego Digital Designer
Jendrik Terharen::
Programmierung, Konstruktion
Hardware
Die erste Aufgabe bestand darin ein Fahrzeug zu konstruieren. Da
Lego NXT Brick
Der NXT- Brick ist das "Gehirn" von dem Fahrzeug. Bei ihm werden alle Sensoren und Motoren angeschlossen.
Aktuatoren
Das Fahrzeug ist mit zwei Motoren ausgestattet. Dererste Motot ist für die Fahrt nach vorne und hinten verantwortlich. Der zweite Motot dient zur Lenkung.
Sensoren
• Der Gyrosensor ist ein Beschleunigungs- oder Lagesensor zu Ermittlung der aktuellen Lage des Fahrzeugs
• Der Ultraschallsensor erfasst den Abstand zu einem Objekt. Dadurch kann eine passenden Parklücke für das Fahrzeug gefunden werden
Abmessung des Roboters
Parameter | Wert |
---|---|
Fahrzeuglänge | 235 mm |
Fahrzeugbreite | 170 mm |
Spurweite (vorn) | 130 mm |
Spurweite (hinten) | 125 mm |
Achsabstand | 180 mm |
Max. Radeinschlagswinkel Linkseinschlag in Deg | 180 mm |
Max. Radeinschlagswinkel Rechtseinschlag in Deg | 180 mm |
Software
In diesem Semester wurde MATLAB von der Firma Mathworks zum Programmieren des NXT genutzt. Hierzu musste allerdings zuerst die Toolbox der RWTH Aachen in MATLAB integriert werden. Diese Toolbox bietet die Möglichkeit Programme zu erstellen und diese Befehle an den NXT zu senden. Da die Programme nun nicht mehr auf dem NXT gespeichert werden, sondern vom Computer per Bluetooth oder Kabel übertragen werden, können hier größere Programme erstellt werden als bei den klassischen NXT Programmen. In der Toolbox sind viel Funktionen und Algorithmen bereits implementiert, welche das Programmieren erleichtern. Einführungen und Beispielprogramme findet man auf der Internetseite der RWTH Aachen. Nach dem das Programm bei MATLAB fertig geschrieben und funktionsfähig war sollte die gleiche Aufgabenstellung mit Simulink gelöst werden. Simulink ist eine in MATLAB integrierte Toolbox, bei der man keinen Quellcode erstellt, sondern eine Struktur aus Logik-Blöcken erstellt. Die Blöcke könne per Drag and Drop in das Programmierfenster gezogen und miteinander verknüpft werden. Der Vorteil von Simulink ist, dass man einen besseren Überblick über die Programme hat und auch mehrere Bausteine zu einer Funktion zusammen führen und als einzelnen Block darstellen lassen kann. Die Verbindung der einzelnen Bausteine veranschaulicht zudem die technischen Zusammenhänge und macht es für Außenstehende verständlicher. Aufgrund der fehlenden Zeit haben wir uns entschieden das Programm mit MATLAB zu Ende zu programmieren, da eine ausreichende Einarbeitung in Simulink in zwei Praktikumsterminen nicht möglich war.
Einparkkonzept als Programm-Ablauf-Plan
Link zum Video
Um unseren Booby in Action zu sehen und um uns kurz vorzustellen klicke auf den Link
Was haben wir gelernt?
- Grafische Programmierung mithilfe von NXT 2.1
- Praktische Anwendung der Programmierkenntnisse mithilfe von Matlab
- Programmumsetzung in simulink
- Umgang mit SVN
- Sensoren und ihre Funktionsweise
- Teamarbeit und Aufgabenverteilung
- Nachvollziehabre Dokumentation im Quellcode
- Erstellung eines Filmes
Link zu unserem svn-Ordner
Hier befindet sich unser svn-Ordner
Literaturverzeichnis
→ zurück zum Hauptartikel: Informatikpraktikum 2 SoSe18