AEP Gruppe B2 - SoSe18: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 22: Zeile 22:


== Hardware ==
== Hardware ==
==Fahrzeugparameter==
{| class="wikitable"
|-
! style="width:50%"| Parameter      !!  style="width:40%"|Wert
|-
| Länge                            ||style="text-align:right"| 325 mm
|-
| Breite                            ||style="text-align:right"| 155 mm
|-
| Spurweite (vorn)                  ||style="text-align:right"| 155 mm
|-
| Spurweite (hinten)                ||style="text-align:right"| 155 mm
|-
| Achsabstand                      ||style="text-align:right"| 240 mm
|-
| Max. Lenkeinschlag                ||style="text-align:right"| 40 °
|-
| Max. Geschwindigkeit              ||style="text-align:right"| 0,40 m/s                   
|}
== Software ==
Als Software, um den Parkalgorithmus zu programmieren, wurde die Toolbox der RWTH Aachen in MATLAB genutzt. Dieses Programm ermöglicht es, Algorithmen zu entwickeln, die sowohl mit spezifischen Befehlen für den Lego-Rechner, als auch mit bekannten Kontrollstrukturen wie „for“- oder „while“-Schleifen aus Programmiersprachen wie C++ arbeiten. Im Vergleich zu den klassischen NXT Programmen, ist hier eine theoretisch unbegrenzte Programmgröße möglich. Des Weiteren bietet Matlab (Toolbox der RWTH Aachen) bereits implementierte komplexe numerische Funktionen und Algorithmen an, wie z.B. eine Routine für das Kalibrieren und Initialisieren des Gyroskops. Die erforderlichen Toolboxen und Bibliotheken lassen sich ganz einfach in der Programmierumgebung integrieren und nutzen. Hilfreich sind dabei auch die gut dokumentierten Befehlsbeschreibungen, die sich per Rechtsklick öffnen lassen, sowie die detailliert erläuterten Erklärungen und Beispiele, die sich auf der Internetseite der Firma [http://de.mathworks.com/ Mathworks] oder der [http://www.mindstorms.rwth-aachen.de/ RWTH Aachen] finden lassen.
In den letzten beiden Terminen wurde die Programmier-Software geändert. Anstatt dem dateiorientierten, modularen Aufbau des Codes in MATLAB wurde nun das Simulationswerkzeug [https://de.wikipedia.org/wiki/Simulink Simulink] verwendet. Simulink ist eine Toolbox aus der Umgebung Matlab, die ein Editierfenster als Oberfläche bietet. Dort können sogenannte Funktionsblöcke per Drag and Drop eingefügt werden und logisch untereinander verbunden werden. Der Vorteil liegt darin, dass Simulink speziell konzipiert und daher gut geeignet ist für die Simulation dynamischer Systeme. Das Aussehen der programmierten Gesamtsysteme ähnelt den, aus der Systemtechnik bekannten, Blockschaltbildern, die zur Veranschaulichung von technischen Zusammenhängen verwendet werden. Da eine ergebnisreiche Realisierung mit Simulink aus Gründen der geringen Zeitfenster nicht mehr möglich war, entschieden wir unser Programm weiterhin mit Matlab zu gestalten. So konnten wir einige Verbesserungen umsetzen und den Algorithmus so zuverlässiger arbeiten lassen.

Version vom 15. Juni 2018, 13:15 Uhr

→ zurück zum Hauptartikel: Informatikpraktikum 2 SoSe18


Seitenansicht des Fahrzeugs

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

Fahrzeugparameter

Parameter Wert
Länge 325 mm
Breite 155 mm
Spurweite (vorn) 155 mm
Spurweite (hinten) 155 mm
Achsabstand 240 mm
Max. Lenkeinschlag 40 °
Max. Geschwindigkeit 0,40 m/s

Software

Als Software, um den Parkalgorithmus zu programmieren, wurde die Toolbox der RWTH Aachen in MATLAB genutzt. Dieses Programm ermöglicht es, Algorithmen zu entwickeln, die sowohl mit spezifischen Befehlen für den Lego-Rechner, als auch mit bekannten Kontrollstrukturen wie „for“- oder „while“-Schleifen aus Programmiersprachen wie C++ arbeiten. Im Vergleich zu den klassischen NXT Programmen, ist hier eine theoretisch unbegrenzte Programmgröße möglich. Des Weiteren bietet Matlab (Toolbox der RWTH Aachen) bereits implementierte komplexe numerische Funktionen und Algorithmen an, wie z.B. eine Routine für das Kalibrieren und Initialisieren des Gyroskops. Die erforderlichen Toolboxen und Bibliotheken lassen sich ganz einfach in der Programmierumgebung integrieren und nutzen. Hilfreich sind dabei auch die gut dokumentierten Befehlsbeschreibungen, die sich per Rechtsklick öffnen lassen, sowie die detailliert erläuterten Erklärungen und Beispiele, die sich auf der Internetseite der Firma Mathworks oder der RWTH Aachen finden lassen. In den letzten beiden Terminen wurde die Programmier-Software geändert. Anstatt dem dateiorientierten, modularen Aufbau des Codes in MATLAB wurde nun das Simulationswerkzeug Simulink verwendet. Simulink ist eine Toolbox aus der Umgebung Matlab, die ein Editierfenster als Oberfläche bietet. Dort können sogenannte Funktionsblöcke per Drag and Drop eingefügt werden und logisch untereinander verbunden werden. Der Vorteil liegt darin, dass Simulink speziell konzipiert und daher gut geeignet ist für die Simulation dynamischer Systeme. Das Aussehen der programmierten Gesamtsysteme ähnelt den, aus der Systemtechnik bekannten, Blockschaltbildern, die zur Veranschaulichung von technischen Zusammenhängen verwendet werden. Da eine ergebnisreiche Realisierung mit Simulink aus Gründen der geringen Zeitfenster nicht mehr möglich war, entschieden wir unser Programm weiterhin mit Matlab zu gestalten. So konnten wir einige Verbesserungen umsetzen und den Algorithmus so zuverlässiger arbeiten lassen.