Entwicklung einer 3D-Simulationsumgebung für autonome Fahrzeuge mit MATLAB/Simulink

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autor: Jonas Gerken
Art: Bachelorarbeit
Dauer: 24.06.2023 - 24.10.2023
Betreuer: Prof. Schneider

Einleitung

Im 6. und 7. Semester MTR haben die Studierenden die Aufgabe ein autonomes Fahrzeug im Maßstab 1:10 in einer Spur zu führen und einparken zu lassen. Die derzeitige Simulationsumgebung ist 2D. Der Student hat die Aufgabe diese Umgebung durch eine 3D-umgebung zu ersetzen, so dass zukünftig in MATLAB/Simulink die Kamera als Sensor simuliert werden kann. Die Auswertung des Kamerabildes ist nicht Teil der Bachelorarbeit.

Aufgabenstellung

  1. Einarbeitung in die bestehende Simulationumgebung.
  2. 3D-Simulation des Rundkurses (0)
  3. Schaffung der Schnittstelle Simulink-3D-Visualisierung
  4. Umstellung von SEN_KAM auf die 3D Simulation
  5. einfache Generierung der Spurparameter aus der 3D-Simulation (Parameter a, b, c)
  6. Regelung des Fahrzeugs auf dem Rundkurs in 3D
  7. 3D-Simulation des Rundkurs mit Kreuzung (1)
  8. Optional: Stopplinienerkennung
  9. Test der Umgebung
  10. Dokumentation nach wissenschaftlichem Stand im HSHL-Wiki

Anforderungen an die wissenschaftliche Arbeit

SVN-Repositorium

Link: SVN URL: 3D_Simulation_AF

Getting Started

Projektplan

Modellieren der virtuellen Welt

Simulink Modell mit 3D Welt verknüpfen

Um in der 3D-Simulationumgebung ein Fahrzeug fahren zu lassen, muss ein bestehendes Simulink Modell mit der 3D Welt verknüpft werden.

Abb. 14: Zeigt ein VR-Sink Block

Dazu gibt es in dem Simulink-Library-Browser den VR-Sink Block unter dem Simulink 3D Animation Reiter. (Abb. 14) Zum einfügen in das Simulink Modell wird der Block einfach per Drag and Drop in das Modell gezogen.

Als nächstes muss der VR-Sink konfiguriert werden. Dazu wird durch einen Doppelklick auf das VR-Sink das Parameter Fenster geöffnet. Unter dem folgenden Link sind die einzelnen Punkte in dem Parameter Fenster erklärt. VR-Sink

So wird unter dem Bereich Source File die gewünschte VRML-Datei hinzugefügt und auf der rechten Seite unter Car(Transform) bei rotation und translation ein Haken gesetzt.(Abb. 15)

Abb. 15: Parameter-Fenster


Auf der linken Seite des VR-Sink sollten nun zwei Eingänge mit den Beschriftungen rotation und translation zu sehen sein. Für die benötigten Daten wird das Bus-Signal unter Darstellung abgegriffen und mit einem Bus-Selector in die Einzelnen Elemente aufgeteilt. In dem Bus-Selector werden die Elemente <ESM_x_I_f64>, <ESM_y_I_f64> und <ESM_psi_f64> ausgewählt Dann müssen die x und y Elemente mit 100 Multipliziert werden um es an die 3D Simulation anzupassen.

Die Daten <ESM_x_I_f64> und <ESM_y_I_f64> und einer Konstanten z-Koordinate müssen über ein Mux Element zusammen geführt werden, da die VR-Sink Eingänge nur aus einem einzelnen Pfad verfügen. Die z-Koordinate ist für die 3D Darstellung nötig. Das Element <ESM_psi_f64> wird über ein VR Signal Expender mit dem VR-Sink verbunden. <ESM_psi_f64> besteht intern aus 4 Werten. Einmal aus x, y und z, welche die Richtung bestimmen und dem vierten Wert, der den Winkel der Rotation bestimmt. Mit einem VR Singal Expender werden diese 4 Werte für die 3D Welt ausgelesen.

Die fertige Verknüpfung ist in Abb. 17 zu sehen.

Abb. 16: Simulink Modell


Kamera Bild erzeugen

Nach der Modellierung der 3D-Simulationsumgebung, ist der nächste Schritt die Kamera zu erstellen und ein Kamera-Bild zu erzeugen.

Für die Kamera wird ein "Viewpoint" verwendet. Allgemein ist ein Viewpoint in dem Simulink 3D World Editor ein Definierter Punkt, wie auf die erstellte 3D Welt geguckt werden soll. Viewpoints Einem Viewpoint können visuelle Informationen entnommen und in einem Simulink Modell weiter verarbeitet werden.

Abb. 15: Viewpoint/Kamera hinzufügen

In dem Editor wird ein Viewpoint wie in Abb. 15 gezeigt erstellt.

Da es die Kamera des Fahrzeugs sein soll, wird diese inerhalb der Car Group-Node erstellt.

  1. Rechtsklick auf children in der Car Group-Node
  2. Add Node auswählen
  3. Bindable auswählen
  4. Viewpoint auswählen

Zuletzt muss die Position des Viewpoints an das Fahrzeug angepasst werden. (Abb. 16)

Abb. 15: Viewpoint/Kamera hinzufügen



Kamera Bilder

Abb. 1: Kamera Darstellung
Abb. 2: Kamera Darstellung



Lastenheft



→ zurück zum Hauptartikel: Studentische Arbeiten