Présentation : Pack de visualisations robotiques Unity

AMANDA TRANG Software Engineer
Oct 4, 2021|16 Min
Présentation : Pack de visualisations robotiques Unity
Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.

Avec cette boîte à outils permettant de visualiser et de déboguer l'état interne des simulations robotiques, Unity peut être utilisé comme un outil de simulation et de visualisation ROS tout-en-un.

L’un des défis auxquels sont confrontés les roboticiens est la nécessité de comprendre ce qui se passe dans leur système. Dans un réseau complexe de composants interconnectés, lorsque quelque chose ne fonctionne pas, comment déterminer quelle partie ne fonctionne pas ? Le composant A génère-t-il de mauvaises données ou le composant B les traite-t-il mal ? Il est essentiel de pouvoir visualiser les données circulant dans le système.

Dans cet esprit, nous sommes ravis d’annoncer aujourd’hui la prochaine version d’Unity Robotics : le package Robotics Visualizations est un nouveau package permettant d’afficher et de personnaliser les visualisations des messages ROS.

L'équipe Unity Robotics a travaillé dur, publiant plusieurs exemples de projets de robotique, tels que Pick-and-Place et Object Pose Estimation. Plus récemment, nous avons publié notre exemple Nav2-SLAM, démontrant un robot autonome naviguant et cartographiant un espace inconnu, le tout simulé dans Unity.

Le package Robotics Visualizations s'appuie sur ces packages et les prend en charge en offrant une bibliothèque de visualisations personnalisables pour tous les types de messages ROS courants : formes, poses, nuages de points, images, capteurs de toutes sortes, etc. Il prend en charge nativement l'arbre de transformation ROS et vous permet d'activer, de désactiver et de personnaliser les visualisations pour n'importe quelle rubrique ROS au moment de l'exécution.

Flux de travail

Voici à quel point il est simple d’utiliser le package de visualisations robotiques pour ajouter des visualisations à un projet robotique existant :

Importez le package de visualisations robotiques dans Unity à l’aide du gestionnaire de packages.

Faites glisser le préfab DefaultVisualizationSuite dans votre scène Unity.

Appuyez sur Play et vous verrez de nouveaux boutons dans l'affichage tête haute (HUD). Cliquez sur le bouton Sujets pour voir la liste de tous les sujets que ROS connaît.

Cliquez sur les sujets pour lesquels vous souhaitez voir des visualisations !

 Le menu Sujets fonctionne de manière similaire à rviz : cliquer sur le bouton radio active la visualisation dans la scène Unity.
Déboguez vos applications robotiques avec tous vos types de visualisation préférés
Transforme

Les transformations représentent les relations entre les référentiels dans un système robotique. Toutes vos données sont générées dans des cadres de coordonnées différents. Les données Lidar sont dans le cadre Lidar, les données de la caméra sont dans le cadre de la caméra et les données cartographiques sont dans le cadre de la carte. Afin de donner un sens à toutes ces sources de données disparates, nous devons disposer d’un cadre de référence commun. Les transformations nous aident à faire cela en gardant une trace des relations entre ces images. Déboguer des robots sans placer les capteurs et les algorithmes dans ce contexte 3D est presque impossible. Avec le package de visualisations robotiques, vous pouvez désormais visualiser les données en temps réel aux côtés des scènes et des ressources Unity et basculer de manière transparente entre les données simulées et réelles.

robot dans l'usine
Cartes des robots

La cartographie des robots est délicate. Les cartes peuvent se fracturer, les robots peuvent dériver. Votre odométrie est-elle correctement réglée ou la carte s'est-elle cassée en deux parce qu'un algorithme SLAM basé sur l'optimisation est tombé en panne ? Le package de visualisations Unity Robotics vous permet de visualiser la grille d'occupation, les transformations, la localisation et le nuage de points lidar les uns sur les autres, vous permettant ainsi de voir visuellement où les algorithmes échouent.

Le package de visualisations robotiques prend en charge la plupart des types de messages ROS courants, notamment les transformations, les grilles d'occupation, les nuages de points 3D, les marqueurs, les numérisations laser, les images (jpeg, png et non compressées), etc. Et offre des possibilités de personnalisation si vous avez un type de données unique que vous devez afficher !

Ici, les visualisations de transformation du robot ont été activées, vous permettant de superposer des données et de déboguer en temps réel.
Personnalisation

Le package de visualisations robotiques prend également en charge les visualisations créées par l'utilisateur : il comprend un ensemble puissant d'outils pour dessiner tout ce dont vous avez besoin et/ou créer et personnaliser les visualisations intégrées. Voici quelques points saillants :

Drawing3d est une classe utilitaire facile à utiliser pour dessiner des lignes, des formes, des maillages et des étiquettes texturées/colorées arbitraires dans l'espace 3D. Par exemple, vous pouvez l'utiliser pour dessiner le fantôme d'un objet à la position où vous prévoyez qu'il sera, une ligne indiquant la trajectoire qu'il suivra pour y arriver, et d'autres lignes autour de lui pour indiquer des barres d'erreur.

PointCloudDrawing est un moteur de rendu de nuages de points optimisé par GPU, qui peut afficher jusqu'à 10 millions de points d'affichage, chacun avec sa propre taille et sa propre couleur, à des vitesses interactives. Vous pouvez l'utiliser pour afficher des données volumétriques telles que des scans 3D ou des images de profondeur.

Affichez les tendances des données historiques, les traces de mouvement 3D et bien plus encore avec le modèle HistoryDrawingVisualizer , qui conserve un historique de longueur configurable des messages envoyés sur un sujet. Vous pouvez analyser et afficher cet historique comme vous le souhaitez.

Et bien sûr, tout cela est soutenu par la puissance et la facilité d'utilisation du moteur Unity, offrant des fonctionnalités telles que la prise en charge de la réalité augmentée et de la réalité virtuelle, des shaders personnalisés avec Unity Shader Graph, des shaders de calcul, une simulation cloud, et bien plus encore.

Quelle est la prochaine étape ?

Nous sommes impatients de voir ce que vous ferez tous avec le package de visualisations robotiques !

Pour démarrer avec le package de visualisations robotiques, consultez cette nouvelle extension du didacticiel Nav2-SLAM qui montre comment utiliser le nouveau package.

Le package de visualisations robotiques Unity vous permet de visualiser les données des robots aux côtés des environnements Unity combinant des données réelles et des données simulées en un seul endroit.

Notre package de visualisations robotiques n'est qu'une partie de notre écosystème croissant de packages et de fonctionnalités robotiques qui permettent la robotique dans Unity. Pour plus de projets de robotique, visitez le Unity Robotics Hub sur GitHub.

N'oubliez pas de nous rendre visite sur le Forum Robotiqueou de nous envoyer un e-mail à unity-robotics@unity3d.com avec vos commentaires et suggestions !