Newer
Older
Video-basierte Fahrspurerkennung von mobilen Robotern
Auf der Projektfläche „Autonomes Fahren“ des Instituts für Konstruktionselemente, Mechatronik und Elektromobilität (IKME) der Hochschule Hannover ist
eine große urbane Kreuzung im Maßstab 1:18 nachgebildet. Hier sollen in Zukunft automatisierte Logistikkonzepte mit mobilen Roboterfahrzeugen
entwickelt und getestet werden. Die Roboter sind jeweils mit einer nach vorne gerichteten Videokamera ausgerüstet. Um die Fahrzeuge damit sicher
steuern zu können, soll damit eine zuverlässige Fahrspurerkennung benötigt.
Ziel der Arbeit ist es, eine echtzeitfähige Erkennung der Fahrspurmarkierungen aus dem Video-Bilddatenstrom zu realisieren und die Position der
Markierungen relativ zum Fahrzeug anzugeben. Im eine geometrisch richtige Darstellung zu erhalten, soll zunächst eine Bestimmung der intrinsischen und
extrinsischen Kamera-Kalibrierung durchgeführt werden. Mit den so bestimmten intrinsischen Parametern so dann eine Rektifizierung der Bilder
durchgeführt werden.
Auf den rektifizierten Bildern soll dann die eigentlich Erkennung der Spurmarkierungen erfolgen. Dies kann a) kanten-basiert oder b) mit tiefen
neuronalen Netzen erfolgen. Die extrinsische Kalibrierung soll dann genutzt werden, um die Position der Markierungen in Fahrzeug-Koordinaten
umzurechnen. Zusätzlich kann die Farbinformation des Bildes genutzt werden um zwischen weißen und gelben Linien zu unterscheiden.
Gegebenenfalls kann auch das zeitliche Tracking eines Spurmodells umgesetzt werden.
Die Bildverarbeitung sollte unter ROS auf der Jetson-nano Hardware unter ROS in Echtzeit lauffähig sein. Eine erste Implementierung kann mit Python erfolgen. Für den längerfristigen Einsatz wäre eine Umsetzung in C++ mit ROS Nodelets wünschenswert.
Das Repository basiert auf [dieser Vorlage](https://lab.it.hs-hannover.de/qxx-tul-u1/latex-template-hsh). Dort befindet sich alle notwendige
Dokumentation.
Es wird sowohl der LaTeX-Quellcode, als auch die fertige PDF unter Versionskontrolle gestellt. Um die PDF selbst zu erzeugen, folgenden Befehle
verwenden:
# Design
## Farbpalette
<svg width="128.4" height="19.84" version="1.1" xmlns="http://www.w3.org/2000/svg">
<rect x="32.1" width="32.1" height="19.84" style="fill-rule:evenodd;fill:#0d47a1"/>
<rect x="64.21" width="32.1" height="19.84" style="fill-rule:evenodd;fill:#1b5e20"/>
<rect x="96.31" width="32.1" height="19.84" style="fill-rule:evenodd;fill:#f57f17"/>
<rect width="32.1" height="19.84" style="fill-rule:evenodd;fill:#b71c1c"/>
</svg>
- Rot `#B71C1C`
- Blau `#0D47A1`
- Grün `#1B5E20`
- Gelb `#F57F17`
# ideen:
- [ ] Performance daten (CPU-Auslastung, Rechenzeit, etc.) mit echten Daten/Plot in die Arbeite aufnehmen
- [ ] evtl. Videobeispiel mit live überlagertem Ergebnis (vor allem für Kolloc)
- Quellen für Stand der Technik:
- <https://www.sciencedirect.com/science/article/abs/pii/S003132032030426X>
- <https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.695.9070&rep=rep1&type=pdf>
- [x] Paarbildung (finden von rechter+linker Kante einer Linie) -> Mittellinien