Was ist CARLA und wie nutzt man es um autonomes Fahren zu simulieren?

what-is-carla

Was ist CARLA?

Viele Projekte zum autonomen Fahren kämpfen mit den Kosten für die Entwicklung eines funktionalen Fahrerassistenzsystems, das verschiedene Verkehrssituationen bewältigen kann. Um diese Herausforderung zu bewältigen, werden bestimmte Aspekte des Systems in Simulationen nachgebildet. Obwohl Simulatoren für die Ermöglichung des KI-gestützten Fahrens unverzichtbar sind, ist es dennoch unerlässlich autonome Fahrzeuge in einer nicht-virtuellen Umgebung zu testen.

Dieser Blogbeitrag befasst sich mit dem CARLA Simulator, einer Open-Source-Simulationsplattform, die zur Entwicklung, zum Training und zur Validierung von Software für autonomes Fahren verwendet werden kann. Der Simulator bietet eine Vielzahl von Funktionen, von der Multi-Client-Unterstützung bis hin zu einer flexiblen API. Außerdem werden Akteure und Agenten unterstützt, um eine hohe Authentizität zu erreichen. Akteure sind die Elemente in der Simulation, die verschiedene Aktionen ausführen. Sie können sich auf andere Akteure und Objekte auswirken, die im System vorhanden sein können. Beispiele für Akteure sind u.a. Fahrzeuge, Fußgänger, Verkehrszeichen oder auch Verkehrssensoren. Agenten können als fortgeschrittene Akteure betrachtet werden, die sich selbst und die Welt um sie herum verstehen, was sie zu einer vielseitigen Form der künstlichen Intelligenz macht. Um bessere Agenten zu schaffen, verwenden wir zunächst bestehende Akteursklassen oder nehmen Änderungen an diesen bestehenden vor.

Auf der visuellen Seite bietet CARLA die Möglichkeit, realistische Verkehrsschilder, verschiedene Sensoren und unterschiedliche Fahrzeugmodelle in der Simulation zu platzieren. Auch sind vorgefertigte Maps in CARLA enthalten. Die vorgefertigten Maps beinhalten ausschließlich USA Verkehrszeichen und Markierungen. Alles wird gerendert und verarbeitet und zwar in der Unreal Engine.

CARLA simulated on Unreal Engine
CARLA simulated on Unreal Engine

Unser CARLA Use Case

Unser Anwendungsfall für CARLA war besonders, da wir bestimmte Abfolgen von Verkehrssituationen benötigten, die wir in einem Video aufnehmen wollten. Zu diesen Verkehrssituationen gehörten das Wechseln der Fahrspur, das Überholen anderer Fahrzeuge und das Befolgen von Verkehrszeichen. Damit diese Aktionen ausgeführt werden konnten, mussten wir die vollständige Kontrolle über die Verkehrssituation haben, d.h. andere Akteure wie Fußgänger oder Fahrzeuge durften nicht zufällig platziert werden. Außerdem wollten wir diese Szenarien in deutschen Verkehrsszenarien abspielen, d.h. mit deutschen Fahrbahnmarkierungen und Verkehrsschildern. Da wir für unser Szenario spezifische Verkehrszeichen und Fahrbahnmarkierungen sowie ein absichtlich gestaltetes Straßennetz benötigten, mussten wir eine benutzerdefinierte Map erstellen. Die Erstellung einer benutzerdefinierten Map erfordert die Verwendung bestimmter Editoren, auf die wir in einem späteren Blogbeitrag näher eingehen.

Nachdem wir die Maps importiert hatten, definierten wir im nächsten Schritt ein Szenario. Um ein bestimmtes Szenario zu beschreiben, mussten wir Akteure und ihre Interaktion untereinander sowie mit der Umgebung einrichten.

Arbeiten mit CARLA

Einrichten von CARLA auf einem Remote Server

Die erste Herausforderung bestand darin, CARLA auf einem Remote Server einzurichten und es den Clients zu ermöglichen, Simulationen auf dem Server auszuführen, während sie den Video-Feed empfangen. Unsere Erkenntnisse und Erfahrungen werden im folgenden Blogbeitrag näher erläutert: "Einrichten von CARLA auf einem Server für den Fernzugriff.”

Bearbeitung von Maps

Da unser Anwendungsfall eine spezielle Architektur der Straßeninfrastruktur erforderte, mussten wir eine benutzerdefinierte Map erstellen, was bereits einige Herausforderungen mit sich brachte. Die Suche nach den richtigen Tools hat sich nicht so einfach wie ursprünglich gedacht gestaltet, so dass wir verschiedene Editoren ausprobiert haben.

Wir haben die Tools CommonRoad Scenario Designer, Netedit, Blender, OpenRoadEd, und RoadRunner getestet, aber stießen bei den meisten auf Probleme, u. a. bei der Installation und beim Export von Dateien. Schließlich entschieden wir uns für den Mapeditor RoadRunner.

RoadRunner ist ein interaktiver Editor, mit dem 3D-Straßennetze und Landschaften für die Simulation und das Testen automatisierter Fahrsysteme entworfen werden können. RoadRunner ist weder kostenlos noch Open-Source. Die Erstellung einer benutzerdefinierten Map in RoadRunner ermöglicht die Platzierung regionalspezifischer Straßenschilder und Markierungen. RoadRunner ermöglicht das Einfügen von Schildern, Signalen, Leitplanken, Straßenschäden, Blättern, Gebäuden und anderen 3D-Modellen in die Straßenszenen. Nach unserer Erfahrung ist RoadRunner der einzige voll funktionsfähige, intuitive Editor in CARLA. Der Import der RoadRunner-Map in CARLA brachte einige Herausforderungen mit sich, die wir im folgenden Blogbeitrag genauer beschreiben: "Importieren einer benutzerdefinierten RoadRunner-Map in CARLA.”

Scenic

Für die Entwicklung und Ausführung von Verkehrsszenarien verwendeten wir Scenic, eine domänenspezifische probabilistische Programmiersprache, welche für die Modellierung von Umgebungen mit autonomen Fahrzeugen und Robotern entwickelt wurde. Durch den Einsatz von Scenic konnten wir benutzerdefinierte Szenarien für CARLA erstellen.

Scenic ist gut in CARLA integriert und wird für die Definition von Verkehrsszenarien verwendet. Die Akteure können entweder zufällig oder an gewünschten Positionen platziert werden. Sobald die Akteure platziert sind, können wir sie steuern, indem wir das gewünschte Verhalten festlegen. Scenic ist eine hervorragende Erweiterung zum Designen von Szenarios, da es die Steuerung der Fahrzeugposition, des Zustands und der Aktion ermöglicht. Lesen Sie unseren Blog-Artikel "Best Practices bei der Verwendung von Scenic mit CARLA", um zu erfahren, wie Sie Scenic am besten für benutzerdefinierte Szenarien verwenden.

Recording and creating videos in CARLA
Recording and creating videos in CARLA

Videos erstellen

Eine unserer Anforderungen war es, die Kamerabilder im Spiel mit einer von uns gewählten Bildrate pro Sekunde (FPS) zu erfassen. CARLA bietet eine Funktion, mit der frühere Simulationen aufgezeichnet und nachgespielt werden können. Wir mussten jedoch feststellen, dass diese Funktion nicht korrekt funktionierte. Bei der Wiederholung der Simulation traten mehrere grafische Störungen auf. So gab es u.a. viele Artefakte und allgemeine Störungen im Video. Um diese Störungen zu vermeiden und eine bessere Videoqualität zu erzielen, wurde die individuelle Videoerfassung direkt von Scenic zur besten Alternative. Wir haben eine Lösung entwickelt, um Videos von benutzerdefinierten Szenarien in CARLA aufzunehmen.

Fazit

Die CARLA-Plattform war in der Lage, verschiedene Verkehrssituationen zu bewältigen, aber sie bot nicht alles, was wir brauchten. Wir haben erfolgreich Simulationen mit einer Reihe von Ressourcen erstellt, welche uns zur Verfügung standen - RoadRunner, Scenic und kundenspezifische Rocketloop-Lösungen. Die Simulationen waren in der Lage, verschiedene Verkehrssituationen zu bewältigen und gleichzeitig die notwendigen Daten für deren Bewertung zu generieren. Schließlich war es unseren Kunden möglich, ihren Kunden hochwertige Produkte und Dienstleistungen anzubieten.

Teile diesen Artikel mit Deinem Netzwerk

Facebook
Reddit
Twitter
WhatsApp
LinkedIn
Email
Telegram

Haben Sie fragen zu unserem Artikel?
Kontaktieren Sie uns!

Danke!

Wir haben Deine Nachricht erhalten und werden uns schnellstmöglich bei Dir melden!

Beginnen wir noch heute,
Ihre Erfolgsstory zu schreiben!

Sind Sie bereit, mit der Entwicklung Ihres Produkts zu starten? Warten Sie nicht länger! Geben Sie hier Ihre E-Mail-Adresse ein und wir setzen uns umgehend mit Ihnen in Verbindung!

This Website Uses Cookies

We use cookies to provide social media features and to analyze our traffic. You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice, or by continuing to browse otherwise. You can read more about our cookie consent policy hier.