Importieren einer benutzerdefinierten RoadRunner-Karte in CARLA

carla-roadrunner

Wir wollen unsere Erfahrungen mit CARLA teilen und zeigen, wie es uns geholfen hat, eine langfristige Lösung für den Import von benutzerdefinierten Maps zu finden. Um eine eigene Map in CARLA zu importieren, muss die Dokumentation verstanden sowie die Schritte befolgt werden (auch wenn es auf dem Weg dorthin einige Herausforderungen gab). Im Folgenden möchten wir diese Erkenntnisse und Erfahrungen teilen.

Wie in einem früheren Blogeintrag erläutert, ist RoadRunner ein Mapeditor von MathWorks, der speziell auf die Erstellung von Straßennetzen zugeschnitten ist.

Ideales Setup für RoadRunner und CARLA

ls wir anfingen, CARLA und RoadRunner gemeinsam zu nutzen, waren wir uns der Kompatibilitätsanforderungen für RoadRunner und CARLA nicht bewusst. Während die aktuelle CARLA Dokumentation nicht vor Inkompatibilitäten mit RoadRunner warnt, heißt es in der RoadRunner-Dokumentation dass RoadRunner nur mit der Source-Version CARLA 0.9.5 kompatibel ist (zum Zeitpunkt der Erstellung dieses Artikels war die letzte stabile Version CARLA 0.9.13). Außerdem empfiehlt MathWorks die Verwendung von Ubuntu 18.04 für RoadRunner- und CARLA-Projekte.

Wir haben für alle in diesem Tutorial beschriebenen Schritte Ubuntu 20.04 und CARLA 0.9.13 verwendet. Unter diesen Umständen werden Lösungen vorgeschlagen, die einen erfolgreichen Import der RoadRunner-Map in den CARLA UE4-Editor ermöglichen.

Es gibt zwei Varianten von CARLA: die Paketversion, die eine Binärdatei zum Starten des CARLA-Servers enthält, oder die Source-Version, die den Unreal-Engine-4-Editor als Abhängigkeit benötigt. Die Source-Version enthält keine Binärdatei, um den Server direkt zu starten. Stattdessen wird eine Binärdatei zum Starten des Unreal-Editors mitgeliefert, von dem aus der Server gestartet werden kann. Die Paketvariante ist etwa 16 GB groß, die Source-Version benötigt jedoch mindestens 150 GB (die CARLA-Dokumentation nennt andere Zahlen, ist aber sehr inkonsistent damit). Man kann argumentieren, dass die Paketversion die bessere ist, aber wir hatten große Probleme beim Importieren von Maps - wie wir in diesem Beitrag nochmal verdeutlichen. Daher raten wir, die Source-Version von CARLA zu verwenden.

Für beide Varianten gibt es Docker-Images. Allerdings muss das Image für die Source-Version erstellt werden und ist unseres Wissens nach nicht als Download verfügbar.

Zusammengefasst bestehen die folgenden Installationsmethoden:

Erstellen einer benutzerdefinierten Map mit RoadRunner

Die Erstellung einer benutzerdefinierten Map in RoadRunner ist einfach und kann durch das Lesen der offiziellen Dokumentation schnell erlernt werden. Im Folgenden geben wir Tipps, wie Probleme beim Mapexport vermieden werden können.

Als Erstes ist es wichtig zu wissen, dass der Unreal Engine 4 Editor das Platzieren von Assets nach dem RoadRunner Export erlaubt. Das kann sich als nützlich erweisen, wenn die Map schließlich in ein Projekt importiert wird. RoadRunner ist ein hervorragendes Werkzeug für die Erstellung eines Straßennetzes in Verbindung mit einer OpenDrive-Map. Im Gegensatz dazu ist der UE4-Editor ein sehr gutes Werkzeug für die Bearbeitung des Geländes und das Hinzufügen von Gebäuden und Dekorationen neben den Straßen. Unserer Erfahrung nach führte das Hinzufügen einiger Gebäude in RoadRunner zu Warnungen, als wir sie in UE4 importierten. Wir beschlossen, sie zu entfernen und die entsprechenden Gebäude im UE4-Editor hinzuzufügen.

Zweitens muss sichergestellt werden, dass die Map keine Geometriefehler enthält. RoadRunner kann helfen, Geometrieprobleme zu erkennen und anzuzeigen. Die offizellen Anweisungen tellen dar, wie Probleme visualisert werden können. Es gab mehrere Fälle, in denen Linienmarkierungen ineinander liefen und Probleme erzeugt haben. Grund dafür ist die Tatsache, dass Linienmarkierungen tatsächliche Geometrie sind und nicht nur Texturen auf der Fahrbahn. Die Folge können in CARLA auftretende visuelle Artefakte sein. Um sicherzustellen, dass das nicht passiert, mussten wir entweder eine Linienmarkierung aus dem problematischen Bereich entfernen oder eine gestrichelte Linie in diesem Bereich verschieben.

Zu guter Letzt ist es wichtig, die OpenDrive-Map zu visualisieren und auf Fehler zu überprüfen. In unserem Fall stammen die meisten OpenDrive-Fehler von komplexen Kreuzungen und Autobahnrampen. Die voreingestellten Fahrspurverbindungen waren in der Regel bei Autobahnrampen fehlerhaft und konnten mit dem Kreuzungstool leicht behoben werden.

RoadRunner-Maps in den UE4-Mapseditor importieren

Nehmen wir an, wir haben gerade eine Map in RoadRunner erstellt und wollen sie nach CARLA exportieren. Dazu gibt es zwei verschiedene Strategien. Entweder wir folgen der CARLA-Dokumentation, wie man eine RoadRunner-Map importiert und sie direkt für die CARLA-Paketversion nutzbar macht, oder wir folgen der RoadRunner-Dokumentation, wie man die Map in den UE4-Editor von CARLA importiert.

Darstellung einer benutzerdefinierten Map in RoadRunner.
Darstellung einer benutzerdefinierten Map in RoadRunner.

Es ist uns nicht gelungen, eine Map mit der Paketversion von CARLA 0.9.13 mit RoadRunner 2022 erfolgreich zu importieren, obwohl wir den Anweisungen er CARLA-Dokumentation befolgt sind. Wir sind auf zwei erhebliche Probleme mit der Map gestoßen: Die Verkehrszeichen, die wir platziert hatten, fehlten in CARLA, und das Laub zeigte Rendering-Probleme.

missing traffic signs in CARLA simulator
In CARLA fehlen Verkehrsschilder.
rendering problems with CARLA simulator
Es bestehen erheblich Rendering-Probleme bei den Blättern. Der Busch sollte wie der Busch auf dem Screenshot von RoadRunner aussehen.

Wir haben dieses Problem gelöst, indem wir auf die Source-Version von CARLA umgestiegen sind, die den UE4-Editor enthält. Die direkte Verwendung des UE4-Editors zum Importieren der RoadRunner-Map gibt uns ein besseres Feedback darüber, was während des Importvorgangs passiert. Außerdem wird in der offiziellen RoadRunner-Dokumentation vorgeschlagen, diesen Ansatz für den Import von Assets in UE4 zu verwenden. Die Installationsschritte sind die folgenden:

  1. Erstellen Sie den CARLA UE4-Editor sowie CARLA, indem Sie den Anweisungen.
  2. Installieren Sie die UE4 RoadRunner- Plugins

Der nächste Schritt ist der Export aus RoadRunner. Hierfür stehen zwei Optionen zur Verfügung: ein Export zu CARLA und ein Export zur Unreal Engine. Obwohl empfohlen wird, nur die Option "Export to CARLA" zu verwenden, hatten wir Probleme mit beiden Optionen, ohne ein offensichtliches Muster zu erkennen. Beispielsweise haben wir den beschriebenen Prozess auf zwei Ubuntu 20.04-Maschinen durchgeführt. Auf einem Rechner funktionierte die Option "Export to CARLA", auf dem anderen die Option "Export to Unreal Engine". Die Wahl der falschen Option führte zu einem Absturz des UE4-Editors beim Importieren der Map.

Abgesehen von dieser Merkwürdigkeit, wird die Map in UE4 importiert - wie in der RoadRunner- Dokumentationbeschrieben. Erstellen Sie als nächstes einen Ordner mit dem Namen "OpenDrive" neben der Map-Datei, worin die OpenDrive-Datei (.xodr) abgelegt werden kann. In unserem Fall wurden die Maps in "ExportedMaps" importiert. Schließlich müssen Sie im UE4-Editor auf play drücken, wodurch der CARLA-Server gestartet wird, und schon können Sie Ihre benutzerdefinierte Map in CARLA erkunden.

Zusammenfassung

Es gibt mehrere Installationsvarianten für CARLA und verschiedene Methoden für den Import von Custom Maps. Außerdem kann sich der Prozess je nach der CARLA-Version, die Sie gerade verwenden, ändern. Unsere Erfahrungen mit den verschiedenen Varianten von CARLA 0.9.13 deuten darauf hin, dass es am einfachsten ist, eine benutzerdefinierte Map zu importieren, wenn Sie eine Source-Version verwenden und den Schritten von RoadRunner folgen.

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.