Einrichten von CARLA auf einem Server für den Fernzugriff

map of the road from above, details on the left, CARLA driving simulator

Dieser Blog-Beitrag bietet einen Vergleich der verschiedenen Optionen für die Installation von CARLA, wobei die Vor- und Nachteile jeder Option detailliert beschrieben werden, damit Sie eine fundierte Entscheidung treffen und die beste Lösung für Ihr Projekt finden können. Dieser Beitrag führt Sie durch den Einrichtungsprozess für die verschiedenen CARLA-Versionen und enthält klare Anweisungen für den Aufbau einer Remote-Verbindung. Wir haben Ubuntu 20.04 und CARLA 0.9.13 für alle in diesem Tutorial beschriebenen Schritte verwendet.

Vorteile/Nachteile der Ausführung von CARLA auf einer dedizierten Maschine

Der Einsatz von CARLA auf einem Server hat sowohl Vorteile als auch Nachteile. Der Hauptvorteil besteht darin, dass Sie keinen leistungsstarken Grafikprozessor für die Clients benötigen, wenn CARLA auf einem Server läuft. Lediglich der Server muss mit einem System ausgestattet sein, das über einen leistungsstarken Grafikprozessor verfügt, um sicherzustellen, dass er grafische Inhalte für mehrere Clients reibungslos und effizient verarbeiten kann. Dies macht es zu einer wesentlich kostengünstigeren Lösung.

Die hohen Bandbreitenanforderungen beim Streaming von Bildern von CARLA-Sensoren an Clients können jedoch zu Verzögerungen bei Echtzeitanwendungen führen. Dies kann dazu führen, dass das Streaming verzögert abläuft und schwierig zu nutzen ist. Unsere Erfahrung hat gezeigt, dass wir in einem lokalen Netzwerk mit einer Bandbreite von 866 Mb/s keine 30 Bilder pro Sekunde mit einer Auflösung von 720p streamen konnten.

Daher sollte die Entscheidung, CARLA auf einem Server laufen zu lassen, sorgfältig geprüft werden. Wenn Sie darauf angewiesen sind, dass die CARLA-Bilder in Echtzeit angezeigt werden, sollten Sie den lokalen Betrieb von CARLA in Betracht ziehen. Wenn Sie jedoch einem Team, das an der Entwicklung von CARLA arbeitet, Zugang zu CARLA gewähren wollen, ist es sinnvoll, CARLA auf einem Remote-Server zu installieren.

CARLA

Das richtige CARLA-Paket finden - Vor- und Nachteile der Verwendung des Docker-, Binär- und Source-Pakets von CARLA

Je nach den Anforderungen Ihres Projekts kann CARLA auf unterschiedliche Weise installiert werden. Um das bestmögliche Ergebnis für Ihr Projekt zu erzielen, ist es wichtig, das richtige Paket zu wählen. Es gibt zwei Versionen von CARLA - die Binärpaketversion und die Quellpaketversion. Während die Binärversion eine ausführbare Datei zum Starten des Servers enthält, enthält die Quellversion auch den Unreal-Editor und die entpackten Assets. Beide Versionen können je nach Ihren individuellen Anforderungen verwendet werden und haben ihre Vor- und Nachteile. Docker-Images sind im Allgemeinen einfacher zu verwenden, da der Benutzer keine Abhängigkeiten installieren muss. Das Docker-Image mit der Paketversion von CARLA ist sofort verfügbar, während das Docker-Image mit dem Quellcode und dem Unreal-Editor manuell gebaut werden muss.

Die binäre Paketversion

Die Paketversion von CARLA enthält eine Binärdatei zum Starten des Servers und ist etwa 16 GB groß. Unsere Erfahrung hat gezeigt, dass es viel einfacher ist, benutzerdefinierte Karten in die Quellversion zu importieren, aber ohne diese Anforderung ist es einfacher, die gepackte Version einzurichten.

Für die packaged Version gibt es folgende Installationsmethoden:

  • Paketversion CARLA
  • Docker-Container der Paketversion CARLA
    • Praktisch, aber nicht empfehlenswert, um eigene Maps einzubindenPraktisch, aber nicht empfehlenswert, um eigene Maps einzubinden
    • Installationsanweisungen
    • Die Anleitung ist etwas veraltet. Das neuste Image ist Version 0.9.13.

Die Binärpaketversion bietet eine bessere Wartung, Stabilität und einfache Installation. Paketmanager testen und aktualisieren Binärpakete gründlich auf Stabilität und Sicherheit, was sie zu einer besseren Option macht als das Herunterladen aus dem Quellcode. Die vorkompilierten Installationsdateien ermöglichen eine einfache Nachverfolgung und ein automatisches Herunterladen von Abhängigkeiten, was die Installation vereinfacht. Paketmanager übernehmen auch die Verwaltung von Abhängigkeiten, was die Wartung und Einrichtung der Software erleichtert.

Der größte Nachteil der Binärpaketversion sind die begrenzten Anpassungsmöglichkeiten, die umfangreiche Änderungen verhindern. Das Hinzufügen von benutzerdefinierten Maps ist nicht ohne Weiteres möglich, und es ist ratsam, eine Alternative zu verwenden, z. B. die Quellpaketversion, wenn benutzerdefinierte Maps eine Anforderung sind.

Die Source Paket Version

Die Quellpaketversion von CARLA benötigt mindestens 150 GB Speicherplatz; in der CARLA-Dokumentation werden jedoch oft andere Zahlen genannt, die nicht konsistent sind. Der Grund für den großen Speicherbedarf liegt darin, dass der Unreal Engine 4 Editor eine Abhängigkeit für diese Version darstellt. Außerdem bietet die Quellversion keine Binärdatei zum direkten Starten des Servers; Sie können jedoch eine Binärdatei zum Starten des Unreal-Editors erstellen, von der aus der Server gestartet werden kann. Wir empfehlen, CARLA aus dem Quellcode zu erstellen, da dies besser dokumentiert ist als die Erstellung des entsprechenden Docker-Images.

Die Erstellung der Software aus dem Quellcode ermöglicht es dem Benutzer, Änderungen und Modifikationen am Code vorzunehmen und seine eigenen benutzerdefinierten Karten in die Software aufzunehmen. Dies bietet eine größere Flexibilität und Anpassungsmöglichkeiten im Vergleich zur Verwendung vorkompilierter Binärversionen. Der Benutzer hat die vollständige Kontrolle über den Code und kann ihn an seine spezifischen Bedürfnisse und Anforderungen anpassen.

Für die Version des Quellpakets gibt es die folgenden Installationsmethoden:

Quellpakete bieten aktuelle Software und die Kontrolle durch den Benutzer, da er seine eigene Software kompilieren und die zu installierenden Funktionen auswählen kann. Bei der Installation aus dem Quellcode werden jedoch die Paketmanager umgangen, was zu potenziellen Problemen bei der Fehlersuche und -behebung führt, die kostspielig und zeitaufwändig sein können.

CARLA Roads Video

Starten eines Remote CARLA Server

Wenn Sie die Quellversion installiert haben, müssen Sie den Server über den Unreal-Editor starten, indem Sie einfach auf Play drücken. Falls Sie die Binärversion installiert haben, gehen Sie wie folgt vor.

Zunächst müssen Sie zu dem Ordner navigieren, in dem CARLA installiert ist. Dann verwenden Sie den folgenden Befehl um den Server zu starten

./CarlaUE4.sh

Hilfreiche parameter:

  • -quality-level=<Low/Epic>: Kontrolliert die Renderqualität von CARLA. Für low-end GPUs, wird die Einstellung Low neu empfohlen. Mögliche Werte sind Low neu und Epic
  • -ResX=<Integer>Kontrolliert die horizontale Auflösung der Spectator Kamera. Jedes Mal, wenn der CARLA-Server gestartet wird, wird auch die Zuschauerkamera gespawnt. Die Kamera benötigt GPU Ressourcen, daher stellen Sie hier 1 ein, wenn sie nicht benötigt wird.
  • ResY=<Integer>: Ist das gleiche wie ResX aber für die vertikal Auflösung.
  • -RenderOffscreen: Erzeugt kein Fenster, das die Ausgabe der Zuschauerkamera zeigt. Erforderlich, wenn CARLA auf einem entfernten Server ausgeführt wird. Beachten Sie, dass die Zuschauerkamera weiterhin gerendert wird (nur nicht angezeigt). Daher sollte es nicht mit den folgenden zusammen genutzt werden: -ResX=1 -ResY=1.
  • Einstellen der IP und des port: Die Clients kommunizieren mit dem Server über eine TCP-Verbindung mit dem vom Server angegebenen Host und Port. ./CarlaUE4.sh --carla-world-port=NN wird in der Regel als gerade Zahl eingestellt, da der Server den Port N+1 für Verbindungen belegt.

Probleme mit dem integrierten Intel-Grafikprozessor und einem dedizierten Grafikprozessor

Unter Ubuntu 22.04 kam es häufig zu Problemen beim Start von CARLA auf der GPU. Im Terminal beim Start von CARLA wurde diese Warnung angezeigt:

MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0Code-Sprache: HTTP (http)

Was helfen kann CARLA auf GPU laufen zu lassen:

  • Anstatt des Befehls ./CarlaUE4.sh sollten Sie den folgenden Befehl verwenden:
<code>./CarlaUE4.sh -prefernvidia</code>Code-Sprache: HTML, XML (xml)

Sollte dies nicht funktionieren, können Sie diesen Befehl testen:

DRI_Prime=1 ./CarlaUE4.sh -quality-level=Epic

Wenn keine der folgenden Maßnahmen das Problem löst, führen Sie vor dem Start von CARLA Folgendes aus:

  • Aktivieren Sie das Intel-Kernelmodul, damit User-Space-Anwendungen GPU-basierte Metriksammlungen durchführen können. Beim Booten ist dies für User-Space-Anwendungen standardmäßig nicht möglich:
    Verwenden Sie den folgenden Befehl, um die GPU-basierte Metriksammlung manuell zu aktivieren:
<code>sudo sysctl -w dev.i915.perf_stream_paranoid=0</code>Code-Sprache: HTML, XML (xml)

Starten Sie hiernach den CARLA Server.

Verbindung zu einem entfernten CARLA-Server von außerhalb eines lokalen Netzwerks

Da CARLA einen TCP-Server bereitstellt, können Sie sich standardmäßig nicht von außerhalb Ihres lokalen Netzwerks verbinden. Der einfachste Weg, sich auch von außerhalb zu verbinden, ist die Einrichtung eines ssh-Tunnels, d. h., Sie verbinden sich per ssh mit dem CARLA-Server und leiten die entsprechenden Ports (standardmäßig 2000, 2001 und 2002) weiter:

ssh -L 2000:localhost:2000 -L 2001:localhost:2001 -L 2002:localhost:2002 <USER>@<IP OF REMOTE SERVER>Code-Sprache: CSS (css)

Danach kann in einem anderen Terminalfenster die Verbindung mit CARLA hergestellt werden.

Zusammenfassung

CARLA bietet zwei Optionen für die Simulation des autonomen Fahrens, jede mit einem eigenen Grad an Komplexität und Flexibilität. Die Paketversion wird für eine einfachere Installation empfohlen und ist für die meisten Benutzer ausreichend. Die Quellversion bietet jedoch mehr Anpassungsmöglichkeiten und Kontrolle, obwohl sie mehr Aufwand bei der Installation erfordert. Wählen Sie die Paketversion für eine einfache Einrichtung oder die Quellversion für maximale Anpassung und Kontrolle.

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.