Wir stellen vor: Unity Robotics Visualisierungen Paket

Mit diesem Toolkit für die Visualisierung und das Debugging des internen Zustands von Robotersimulationen kann Unity als All-in-One-ROS-Simulations- und Visualisierungstool verwendet werden.
Eine der Herausforderungen, mit denen sich Robotiker konfrontiert sehen, ist die Notwendigkeit, zu verstehen, was in ihrem System vor sich geht. Wenn in einem komplexen, miteinander verbundenen Netzwerk von Komponenten etwas nicht funktioniert, wie findet man dann heraus, welcher Teil schief läuft? Erzeugt Komponente A fehlerhafte Daten, oder verarbeitet Komponente B diese falsch? Es ist von entscheidender Bedeutung, dass die Daten, die sich im System bewegen, visualisiert werden können.
In diesem Sinne freuen wir uns, heute die nächste Veröffentlichung von Unity Robotics ankündigen zu können: das Robotics Visualizations Package ist ein neues Paket zur Anzeige und Anpassung von Visualisierungen von ROS-Nachrichten.
Das Unity-Robotik-Team hat fleißig gearbeitet und mehrere Robotik-Beispielprojekte veröffentlicht, z. B. Pick-and-Place und Object Pose Estimation. Vor kurzem haben wir unser Nav2-SLAM-Beispiel veröffentlicht, das einen autonomen Roboter zeigt, der einen unbekannten Raum navigiert und kartiert, alles in Unity simuliert.
Das Robotics Visualizations Package baut auf diesen Paketen auf und unterstützt sie, indem es eine Bibliothek mit anpassbaren Visualisierungen für alle gängigen ROS-Nachrichtentypen bietet: Formen, Posen, Punktwolken, Bilder, Sensoren aller Art und mehr. Es unterstützt nativ den ROS-Transformationsbaum und ermöglicht es Ihnen, Visualisierungen für jedes ROS-Thema zur Laufzeit zu aktivieren, zu deaktivieren und anzupassen.
Hier sehen Sie, wie einfach es ist, mit dem Robotics Visualizations Package Visualisierungen zu einem bestehenden Robotikprojekt hinzuzufügen:
Importieren Sie das Robotics Visualizations Package mit dem Package Manager in Unity.
Ziehen Sie die Vorabversion DefaultVisualizationSuite in Ihre Unity-Szene.
Drücken Sie auf Play, und Sie sehen einige neue Schaltflächen im Heads-Up-Display (HUD). Klicken Sie auf die Schaltfläche Themen, um eine Liste aller Themen zu sehen, die ROS kennt.
Klicken Sie auf die Themen, für die Sie Visualisierungen sehen möchten!

Transformationen stellen die Beziehungen zwischen Koordinatenrahmen in einem Robotersystem dar. Alle Ihre Daten werden in verschiedenen Koordinatenrahmen erzeugt. Die Lidar-Daten befinden sich im Lidar-Rahmen, die Kamera-Daten im Kamera-Rahmen und die Kartendaten im Karten-Rahmen. Um all diese unterschiedlichen Datenquellen sinnvoll nutzen zu können, brauchen wir einen gemeinsamen Bezugsrahmen. Die Transformationen helfen uns dabei, indem sie die Beziehungen zwischen diesen Rahmen aufzeichnen. Das Debuggen von Robotern ohne die Einbindung der Sensoren und Algorithmen in diesen 3D-Kontext ist nahezu unmöglich. Mit dem Robotics Visualizations Package können Sie jetzt Daten in Echtzeit neben Unity-Szenen und -Assets anzeigen und nahtlos zwischen simulierten und realen Daten wechseln.

Das Roboter-Mapping ist knifflig. Karten können zerbrechen, Roboter können abdriften. Ist Ihre Odometrie korrekt eingestellt oder ist die Karte einfach in zwei Hälften zerbrochen, weil ein optimierungsbasierter SLAM-Algorithmus versagt hat? Mit dem Unity Robotics Visualisierungspaket können Sie das Belegungsraster, die Transformationen, die Lokalisierung und die Lidar-Punktwolke übereinander visualisieren, so dass Sie sehen können, wo Algorithmen versagen.
Das Robotics Visualizations Package unterstützt die meisten gängigen ROS-Nachrichtentypen, darunter Transformationen, Belegungsraster, 3D-Punktwolken, Marker, Laserscans, Bilder (jpeg, png und unkomprimiert) und mehr. Und bietet Möglichkeiten zur Anpassung, wenn Sie einen bestimmten Datentyp anzeigen möchten!

Das Robotics Visualizations Package unterstützt auch benutzerdefinierte Visualisierungen: Es enthält eine Reihe leistungsstarker Werkzeuge, mit denen Sie alles zeichnen können, was Sie benötigen, und/oder auf den integrierten Visualisierungen aufbauen und diese anpassen können. Hier sind einige Highlights:
Drawing3d ist eine einfach zu bedienende Utility-Klasse zum Zeichnen beliebiger texturierter/farbiger Linien, Formen, Netze und Beschriftungen im 3D-Raum. So können Sie beispielsweise den Geist eines Objekts an der von Ihnen vorhergesagten Position einzeichnen, eine Linie, die die Flugbahn zeigt, der es folgen wird, um dorthin zu gelangen, und weitere Linien, um Fehlerbalken anzuzeigen.
PointCloudDrawing ist ein GPU-optimierter Punktwolken-Renderer, der bis zu 10 Millionen Billboard-Punkte mit jeweils eigener Größe und Farbe in interaktiver Geschwindigkeit darstellen kann. Sie können damit volumetrische Daten wie 3D-Scans oder Tiefenbilder anzeigen.
Zeigen Sie historische Datentrends, 3D-Bewegungspfade und vieles mehr mit der Vorlage HistoryDrawingVisualizer an, die einen konfigurierbaren Verlauf der zu einem Thema gesendeten Nachrichten verwaltet. Sie können diesen Verlauf nach Belieben auswerten und anzeigen.
Und natürlich wird all dies durch die Leistungsfähigkeit und Benutzerfreundlichkeit der Unity Engine unterstützt, die Funktionen wie AR- und VR-Unterstützung, benutzerdefinierte Shader mit Unity Shader Graph, Compute Shader, Cloud-Simulation und vieles mehr bietet.
Wir sind gespannt, was ihr mit dem Robotik-Visualisierungspaket alles anstellen werdet!
Um mit dem Robotik-Visualisierungspaket zu beginnen, sehen Sie sich diese neue Erweiterung des Nav2-SLAM-Tutorials an, das die Verwendung des neuen Pakets demonstriert.

Unser Robotik-Visualisierungspaket ist nur ein Teil unseres wachsenden Ökosystems von Robotik-Paketen und -Funktionen, die Robotik in Unity ermöglichen. Weitere Robotikprojekte finden Sie im Unity Robotics Hub auf GitHub.
Besuchen Sie uns im Robotik-Forum oder schicken Sie uns eine E-Mail an unity-robotics@unity3d.com mit Ihrem Feedback und Ihren Vorschlägen!
