OSE - Objekterkennung und -verfolgung mittels LiDAR WS20/21: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 44: Zeile 44:
[[Datei:Ose python2.png|thumb|none]]
[[Datei:Ose python2.png|thumb|none]]


3. pip.exe -V ausführen. Ausgabe sollte wie auf dem Bild sein und das richtige Verzeichnis ausgeben.
3. <code>pip.exe -V</code> ausführen. Ausgabe sollte wie auf dem Bild sein und das richtige Verzeichnis ausgeben.
[[Datei:Ose python3.png|thumb|none]]
[[Datei:Ose python3.png|thumb|none]]


4. pip.exe install matplotlib ausführen
4. <code>pip.exe install</code> matplotlib ausführen
 
5. In Visual Studio Debug und x86 einstellen
 
6. Die Projekt-Properties einstellen (siehe Bilder)
[[Datei:Ose pp1.png|thumb|none]]
[[Datei:Ose pp2.png|thumb|none]]
[[Datei:Ose pp3.png|thumb|none]]
[[Datei:Ose pp4.png|thumb|none]]


== Programmierung ==
== Programmierung ==

Version vom 9. Februar 2021, 20:50 Uhr


Autoren: Stefan Arndt, Marius Köhler


Einleitung

Im Rahmen des Praktikums "SDE - Systemintegration" wurde im Wintersemster 2020/2021 eine Software entwickelt, welche die LiDAR-basierte Erkennung und Verfolgung von Hindernissen durch das CaroloCup-Fahrzeug ermöglichen soll. Die Software wurde - grob unterteilt - in einem zweistufigen Prozess entwickelt. Zunächst erfolgte die prototypische Entwicklung und Erprobung in Matlab, anhand vorab aufgezeichneter Messungen. Nach Erreichen eines zufriedenstellenden Zustandes, folgte die Implementierung in C++, welche neben der Verarbeitung von aufgezeichneten Messungen auch direkt auf den LiDAR zugreifen und somit in Echtzeit Hindernisse erkennen und verfolgen kann.

Anforderungen

Im Lastenheft des Autonomen Fahrzeugs finden sich folgenden zwei Anforderungen an das Fahrzeug:


Die Erkennung und Verfolgung der Hindernisse (der statischen, wie der dynamischen) soll LiDAR-basiert erfolgen. Daher wurden folgende Pflichten aus Obigem abgeleitet:

Software-Entwurf

In Absprache mit Prof. Dr.-Ing Ulrich Schneider wurde ein modellbasierter Ansatz zur Erkennung relevanter Hindernisse verfolgt. Zur Modellbildung wird auf die a priori bekannten Abmessungen und Eigenschaften der möglichen Hindernisse zurückgegriffen Gemäß des Schnittstellendokuments, Punkt 3: RS-232 Schnittstelle, sollen folgende Track-Attribute er- bzw. übermittelt werden:

Zur anfänglichen Vereinfachung des Tracking-Problems soll zunächst die Erkennung und Verfolgung eines Hindernisses realisiert werden. Somit entfallen zunächst die Attribute:

  • Objekt[n].Nummer

Weiterhin wurde auf das Tracking von

  • Objekt[n].b
  • Objekt[n].t

zunächst verzichtet.

Implementierung in C++

Softwarevoraussetzungen

OpenCV 4.3.0_32bit - Einrichtugn siehe hier und hier
python 2.7.18 x86 - hier | Download
NuGet Package (Eigen) - Installation im Packet Manager von Visual Studio

Installation und Inbetriebnahme von Python

1. Install just for me


2. Installationsverzeichnis sollte C:\Python27-x86 sein

3. pip.exe -V ausführen. Ausgabe sollte wie auf dem Bild sein und das richtige Verzeichnis ausgeben.

4. pip.exe install matplotlib ausführen

5. In Visual Studio Debug und x86 einstellen

6. Die Projekt-Properties einstellen (siehe Bilder)

Programmierung

Schematischer Ablauf der Verarbeitung eines LiDAR-Sweeps

Komponententest

Fazit

Literaturverzeichnis




→ zurück zum Hauptartikel: Praktikum SDE