Kom - Kommunikation
Aufgabenstellung und Ziele
Kommunikation Kamera + Laserscanner zur DS-1104 gemäß Schnittstellendokumentation
incl. ausführlichem Testing
Framework
Lidar
Die Lidar-Daten müssen segmentiert und zu Objekten verarbeitet werden. Bitte bereite hierfür ein Framework (Hülse) vor, das die Beispieldaten gemäß Schnittstellendokument weiterleitet. Ich fülle mit den Studierenden diese Schnittstelle anschließend mit Inhalt. Bitte übergib mir die Schnittstelle mit einer angemessenen Dokumentation.
Fusion Kamera-Lidar
Framework für die Fusion Kamera - Lidar auf den PC übertragen. Im zweiten Schritt müssen Kameraobjekte mit Videoobjekten fusioniert werden. Auch hierfür benötige ich ein Framework (Hülse, Funktionsrumpf), das ich dann fülle. Per Default werden die Kameraspur und die Laserscannerobjekte übergeben.
Anweisung für das ONLINE-Modell
- Nutzen sie bitte MATLAB 2013a
- Achten Sie bitte auf der Solver des Blocks --> Fixed Step nicht auf auto
- Lesen Sie die Wiki-Artikeln durch
- Notieren Sie Fehlermeldungen und Warnings
- Warnings sind sofort zu beseitigen beim Erstellen einer neuen Bibliothek!
Tutorial - Bussysteme in Matlab
Autor: John Kneib
Verbindung zum Fahrzeug
VNC-Verbindung
Von Simulink zu ControlDesk
Aufbau einer virtuellen Kommunikationsumgebung
Kommunikationsarchitektur
Hardwarearchitektur für die Kommunikation
Benötig werden vier Hauptbauteile:
- die dSPACE Karte
- die VRmDC-12 Kamera
- der Hokuyo URG-04LX-UG Laserscanner
- der PC (Pineview D525 NM10 mini-ITX Motherboard)
Die Verbindung zwischen den Bauteilen wird gemäß Schnittstellen Dokumentation hergestellt und sieht folgendermaßen aus:
Die Kamera und der Laserscanner werden am PC verbunden. Die Kamera via Ethernet und der Laserscanner via USB. Die Beide Bausteine werden mit Hilfe C/C++-Quellcode angesprochen. Die Projekt-Solution holt die Informationen beider Sensoren und verarbeitet diese. Die verarbeiteten Daten werden an die dSPACE-Karte über die RS232-Schnittstelle übermittelt.
Softwarearchitektur für die Kommunikation
Der C/C++-Quellcode für den LiDAR und die Kamera befindet sich im SVN-Ordner OSE Fusion Software Final. Da die Kommmunikation sich mit der Datenfusion LiDAR-Kamera beschäftigt, ist es wichtig in welcher Datei des Projektes sich die notwendigen Informationen befinden. Die Software wirkt auf dem ersten Blick unübersichtlich. Die für die Kommunikation relevanten Dateien wurden in folgendem Diagramm abgebildet.
Die Implementierung der Quelldatei "RS232Comm.cpp" wird in diesem Wiki-Artikel und diesem Wiki-Artikel beschrieben.
Fehlermeldung MSVCP140D bei ComTest.exe
Autor: Tim Schonlau, Changlai Bao in WS2022/23
Beim ersten Start fehlen bestimmte Windows Bibliotheken. Das Kompilieren der Datei "ComTest.vcxproj" mit Visual Studio (2019) löst das Problem.
LiDAR
Objekterkennung mit LiDAR Hokuyo URG-04LX
Autor: Michael Deitel Manuel Groß Bearbeitet von: Benedikt Wulowitsch, John Kneib
Inbetriebnahme und Objekterkennung des LiDAR Hokuyo URG-04LX in MATLAB
Autor: Yu Peng
Inbetriebnahme und Objekterkennung des RP Lidar A1M8 in MATLAB
Autor:Thomas Miska
Kommunikation Hokuyo LiDAR via USB
Autor:Isaac Mpidi Bita
Kamera
Umrechnung von Bildkoordinaten ins Weltkoordinatensystem
Spurerkennung (Vorheriger Ansatz)
Autor: Konstantin Wotschel
Objekterkennung mit Kamera VR-Magic
Autor: Christian Hauke 7. Feb. 2014 (CET)
Bildentzerrung und KOS-Transformation mit OpenCV (aktueller Ansatz)
Autor: Luca Di Lillo, Tim Bexten in SS2019
Fahrzeugkommunikation
Überblick
dSpace zu PC
Signalname | Datentyp | Beschreibung |
---|---|---|
V_x_ego | float32 (4 Byte) | Ego-Längsgeschwindigkeit des Fahrzeugs |
alpha | float32 (4 Byte) | Lenkwinkel: α > 0 Lenkausschlag links, α < 0 Lenkausschlag rechts |
Gesamtgröße des Datenpakets | 8 Byte |
PC zu dSpace
Signalname | Datentyp | Beschreibung |
---|---|---|
a | float32 (4 Byte) | Fahrspurparameter |
b | float32 (4 Byte) | Fahrspurparameter |
c | float32 (4 Byte) | Fahrspurparameter |
lane_asign | bool (1 Byte) | Spurzuordnung: 1 = rechte Fahrspur, 0 = linke Fahrspur |
stop_insight | bool (1 Byte) | 1 = Stopplinie erkannt, 0 = keine Stopplinie erkannt |
stop_distance | float32 (4 Byte) | Entfernung zur Stopplinie |
n_objekte | uint8 (1 Byte) | Anzahl relevanter Objekte (maximal 5) |
number[n_objekte] | uint8 (1 Byte) | Objektzähler |
x_0[n_objekte] | float32 (4 Byte) | x-Koordinate des Objektmittelpunktes (mitte, vorn) |
y_0[n_objekte] | float32 (4 Byte) | y-Koordinate des Objektmittelpunktes (mitte, vorn) |
b[n_objekte] | float32 (4 Byte) | Objektbreite |
t[n_objekte] | float32 (4 Byte) | Objekttiefe |
alpha[n_objekte] | float32 (4 Byte) | Objektausrichtung |
v[n_objekte] | float32 (4 Byte) | Betrag des Geschwindigkeitsvektors |
plausible[n_objekte] | uint8 (1 Byte) | Vertrauenswert für das Objekt in Prozent ( 0 = minimale Vertrauen, 100 = maximale Vertrauen) |
Gesamtgröße des Datenpakets | 149 Byte |
Dokumentation
Kommunikation und Diagnoseschnittstelle (aktueller Ansatz)
Kommunikation zwischen PC und dSpace-Karte (vorheriger Ansatz)
Tests der Kommunikation
Datum | Link |
---|---|
Februar 2019 | Kommunikation zwischen PC und dSpace-Karte via RS232 |
Januar 2020 | Übertragen des Spurpolynoms |
Januar 2022 | Kommunikation RS232 zwischen PC und DS1104 |
Juli 2022 | Kom - Kommunikation: Test der Kommunikation zw. PC und DS1104 |
Wichtige Dokumenten in SVN
- Schnittstellendokumentation
Im SVN ist der aktuelle Stand der Schnittstelle zwischen dSPACE-1104-Karte und PC dokumentiert.
→ SVN: Schnittstellendokumentation
- Namenskonvetion
Im SVN sind Programmierrichtlinien bezüglich Namenskonvention unter: Programmierrichtlinien: Namenskonvention gespeichert.
→ zurück zum Hauptartikel: Praktikum SDE