Fortschritte im autonomen Fahren mit AutonomROS
AutonomROS integriert umkonfigurierbare Hardware für einen effizienten Betrieb autonomer Fahrzeuge.
― 5 min Lesedauer
Inhaltsverzeichnis
Autonomes Fahren ist ein spannendes Forschungsfeld, das darauf abzielt, Fahrzeuge zu entwickeln, die ohne menschliches Eingreifen fahren können. Diese Technologie hat das Potenzial, unsere Art zu reisen zu verändern und sie sicherer und effizienter zu machen. Allerdings braucht es eine Menge Rechenleistung, um all die Aufgaben für sicheres und zuverlässiges Fahren zu managen. Dazu gehört das Verstehen der Umgebung, schnelles Entscheiden und das präzise Ausführen von Aktionen.
Um diese hohen Rechenanforderungen zu erfüllen, schauen sich Forscher spezielle Rechenmethoden an, die heterogene Rechenplattformen genannt werden und reguläre Prozessoren mit rekonfigurierbarer Hardware kombinieren. Diese Anordnung bietet eine gute Balance zwischen Leistung und Flexibilität, was sie für autonome Fahrsysteme geeignet macht.
Eine beliebte Softwarearchitektur für diese Systeme heisst ROS 2, die in der Robotik weit verbreitet ist. Unser Fokus liegt auf einem Framework namens ReconROS, das auf ROS 2 aufbaut, um komplexe Aufgaben auf Hardware auszulagern, die sie effektiver bewältigen kann.
Was ist AutonomROS?
Unsere Arbeit stellt AutonomROS vor, eine autonome Fahren-Einheit, die auf dem ReconROS-Framework basiert. AutonomROS dient als Ausgangspunkt für die Entwicklung grösserer Anwendungen im Bereich autonomes Fahren. Es integriert die wichtigen Funktionen von ROS 2 mit massgeschneiderten Software- und Hardwarelösungen für Aufgaben wie das Erzeugen von Punktwolken, das Erkennen von Hindernissen und das Folgen von Fahrspuren.
Das Problem der hohen Rechenanforderungen
Beim autonomen Fahren müssen Fahrzeuge ständig über ihre Umgebung Bescheid wissen. Das bedeutet, sie müssen Daten von Sensoren in Echtzeit analysieren, um Hindernisse zu erkennen und die Strassenverhältnisse zu verstehen. Der ständige Bedarf an hohen Rechenlevels führt zu erheblichem Stromverbrauch, was besonders für Elektrofahrzeuge problematisch sein kann.
Mit steigender Komplexität steigt auch das Risiko von Systemausfällen, weshalb es wichtig ist, effektive Lösungen zu finden, um gut zu performen, ohne das System zu überlasten.
Die Rolle von rekonfigurierbarer Hardware
Eine vielversprechende Lösung für die hohen Rechenkosten ist die Verwendung von rekonfigurierbarer Hardware, wie z.B. Field-Programmable Gate Arrays (FPGAs). FPGAs sind spezielle Chips, die programmiert werden können, um bestimmte Aufgaben effizient zu erledigen. Sie können viele Berechnungen gleichzeitig durchführen, was für die Echtzeitanforderungen beim autonomen Fahren nützlich ist.
FPGAs sind ausserdem energieeffizienter im Vergleich zu traditionellen Rechenmethoden und ermöglichen es, komplexe Aufgaben bei minimalem Stromverbrauch zu erledigen. Diese Flexibilität bedeutet, dass sie für verschiedene Aufgaben nach Bedarf angepasst werden können.
ReconROS und seine Vorteile
ReconROS ist ein Framework, das entwickelt wurde, um Anwendungen mit ROS 2 auf diesen fortschrittlichen Rechenplattformen zu implementieren. Es unterstützt die Aufteilung von Software in kleinere Teile, die Knoten genannt werden, die auf verschiedene Arten kommunizieren können.
Durch die Ermöglichung von Hardwarebeschleunigung erlaubt ReconROS, dass bestimmte Aufgaben schneller verarbeitet werden, wodurch die Belastung der Haupt-CPU reduziert wird. Das ist ein grosser Vorteil, der es dem System ermöglicht, flüssiger und effizienter zu laufen.
Die Architektur von AutonomROS
AutonomROS ist als umfassende Lösung für autonomes Fahren konzipiert. Es besteht aus mehreren wichtigen Komponenten:
- Punktwolken-Generierung: Diese Komponente nimmt Tiefendaten von Kameras auf, um eine 3D-Darstellung der Umgebung zu erstellen.
- Hinderniserkennung: Sie verarbeitet die Punktwolkendaten, um Hindernisse im Weg des Fahrzeugs zu identifizieren.
- Fahrspur-Detektion: Diese Komponente analysiert die Strasse, um Fahrbahnmarkierungen zu finden.
- Navigations-Stack: Dieser kontrolliert, wie sich das Fahrzeug basierend auf den gesammelten Daten bewegt.
- Lokalisierung: Sie verfolgt die Position des Fahrzeugs mithilfe von Daten von Sensoren wie IMUs und Rad-Encodern.
- Fahrzeugkommunikation: Sie kümmert sich um die Kommunikation mit Verkehrsschildern und anderer Infrastruktur.
- Tempomat: Dieser regelt die Geschwindigkeit des Fahrzeugs basierend auf den Navigationsdaten und den aktuellen Bedingungen.
Die Architektur ist so gestaltet, dass kritische Komponenten, die viel Rechenleistung benötigen, Hardwarebeschleunigung effektiv nutzen können.
Wie die Komponenten zusammenarbeiten
Die Komponenten von AutonomROS arbeiten so zusammen:
- Die Punktwolken-Generierung erfasst und erstellt eine detaillierte Ansicht der Umgebung.
- Die Hinderniserkennung nutzt diese Daten, um potenzielle Gefahren zu finden.
- Die Fahrspur-Detektion identifiziert Fahrbahnmarkierungen, damit das Fahrzeug auf Kurs bleibt.
- Der Navigations-Stack verarbeitet all diese Informationen, um zu bestimmen, wie sich das Fahrzeug bewegen soll, z.B. das Lenken oder die Geschwindigkeit anzupassen.
- Die Lokalisierungs-Komponente verfolgt, wo sich das Fahrzeug basierend auf Sensor-Eingaben befindet.
- Die Fahrzeugkommunikation-Komponente ermöglicht es dem Auto, mit Verkehrsschildern und anderen Fahrzeugen zu interagieren, um die Sicherheit zu erhöhen.
- Schliesslich sorgt der Tempomat dafür, dass das Fahrzeug eine sichere Geschwindigkeit basierend auf den Navigationsdaten beibehält.
Die Bedeutung der Kommunikation
Ein entscheidender Teil des reibungslosen Betriebs des AutonomROS-Systems ist, wie die verschiedenen Komponenten miteinander kommunizieren. Während traditionelle Systeme Sockets zur Datenübertragung verwenden, was alles verlangsamen kann, nutzen wir eine spezialisierte Kommunikationsmiddleware namens Iceoryx.
Iceoryx ermöglicht sofortigen Datenaustausch zwischen Prozessen, ohne Daten mehrfach zu kopieren, was viel schneller ist. Das ist besonders wichtig in Echtzeitanwendungen wie autonomem Fahren, wo Verzögerungen kritisch sein können.
Bewertung von AutonomROS
Um zu sehen, wie gut AutonomROS funktioniert, haben wir Tests mit einem Modellauto durchgeführt, das mit verschiedenen Sensoren und unserem System ausgestattet war. Das Modell wurde so gestaltet, dass es reale Fahrbedingungen nachahmt.
Wir haben uns darauf konzentriert, die Leistung der hardwarebeschleunigten Komponenten zu messen, die entscheidend sind für das effektive Funktionieren in Echtzeit. Wir haben die CPU-Belastung, Bildraten und Bearbeitungszeiten für Aufgaben überprüft.
Unsere Ergebnisse zeigten, dass die Nutzung von Iceoryx die CPU-Nutzung erheblich senkte. Wenn Hardwarebeschleunigung zusammen mit diesem Kommunikationsansatz verwendet wurde, verbesserte sich die Leistung noch weiter, sodass das System Aufgaben effektiv bewältigen konnte, ohne die CPU zu überlasten.
Fazit und Ausblick
AutonomROS zeigt, wie rekonfigurierbare Hardware effektiv im Bereich des autonomen Fahrens eingesetzt werden kann. Durch die Kombination von Hardwarebeschleunigung mit verbesserten Kommunikationsmethoden sehen wir erhebliche Leistungsgewinne.
In Zukunft wollen wir die AutonomROS-Einheit weiter verbessern, indem wir fortschrittliche Funktionen hinzufügen, wie verbesserte Lokalisierungstechniken und ausgeklügelte Fahrassistenzsysteme.
Das Ziel ist es, die Fähigkeiten der Technologie für autonomes Fahren weiter voranzutreiben und dabei Sicherheit und Effizienz auf unseren Strassen zu gewährleisten.
Titel: AutonomROS: A ReconROS-based Autonomous Driving Unit
Zusammenfassung: Autonomous driving has become an important research area in recent years, and the corresponding system creates an enormous demand for computations. Heterogeneous computing platforms such as systems-on-chip that combine CPUs with reprogrammable hardware offer both computational performance and flexibility and are thus interesting targets for autonomous driving architectures. The de-facto software architecture standard in robotics, including autonomous driving systems, is ROS 2. ReconROS is a framework for creating robotics applications that extends ROS 2 with the possibility of mapping compute-intense functions to hardware. This paper presents AutonomROS, an autonomous driving unit based on the ReconROS framework. AutonomROS serves as a blueprint for a larger robotics application developed with ReconROS and demonstrates its suitability and extendability. The application integrates the ROS 2 package Navigation 2 with custom-developed software and hardware-accelerated functions for point cloud generation, obstacle detection, and lane detection. In addition, we detail a new communication middleware for shared memory communication between software and hardware functions. We evaluate AutonomROS and show the advantage of hardware acceleration and the new communication middleware for improving turnaround times, achievable frame rates, and, most importantly, reducing CPU load.
Autoren: Christian Lienen, Mathis Brede, Daniel Karger, Kevin Koch, Dalisha Logan, Janet Mazur, Alexander Philipp Nowosad, Alexander Schnelle, Mohness Waizy, Marco Platzner
Letzte Aktualisierung: 2023-11-07 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2309.02026
Quell-PDF: https://arxiv.org/pdf/2309.02026
Lizenz: https://creativecommons.org/licenses/by/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.