Presentando: Paquete de visualizaciones de Unity Robotics

AMANDA TRANG Software Engineer
Oct 4, 2021|16 minutos
Presentando: Paquete de visualizaciones de Unity Robotics
Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.

Con este kit de herramientas para visualizar y depurar el estado interno de simulaciones robóticas, Unity se puede utilizar como una herramienta de visualización y simulación de ROS todo en uno.

Uno de los desafíos que enfrentan los especialistas en robótica es la necesidad de comprender qué está sucediendo en su sistema. En una red compleja e interconectada de componentes, cuando algo no funciona, ¿cómo saber qué parte está fallando? ¿El componente A está generando datos erróneos o el componente B los está procesando mal? Es fundamental poder visualizar los datos que circulan por el sistema.

Con esto en mente, hoy nos complace anunciar el próximo lanzamiento de Unity Robotics: el Paquete de visualizaciones de robótica, un nuevo paquete para mostrar y personalizar visualizaciones de mensajes de ROS.

El equipo de Unity Robotics ha estado trabajando arduamente y ha lanzado varios proyectos de ejemplo de robótica, como Pick-and-Place y Object Pose Estimation. Más recientemente, lanzamos nuestro ejemplo Nav2-SLAM, que demuestra un robot autónomo que navega y mapea un espacio desconocido, todo simulado en Unity.

El paquete de visualizaciones robóticas se basa en estos paquetes y los respalda al ofrecer una biblioteca de visualizaciones personalizables para todos los tipos de mensajes ROS comunes: formas, poses, nubes de puntos, imágenes, sensores de todo tipo y más. Admite de forma nativa el árbol de transformación ROS y le permite habilitar, deshabilitar y personalizar visualizaciones para cualquier tema ROS en tiempo de ejecución.

Flujo de trabajo

Así de fácil es utilizar el paquete de visualizaciones de robótica para agregar visualizaciones a un proyecto de robótica existente:

Importe el paquete de visualizaciones de robótica en Unity mediante el Administrador de paquetes.

Arrastre el prefab DefaultVisualizationSuite a su escena de Unity.

Pulsa Reproducir y verás algunos botones nuevos en la pantalla de visualización frontal (HUD). Haga clic en el botón Temas para ver la lista de todos los temas que ROS conoce.

¡Haga clic en los temas cuyos visualizaciones desea ver!

 El menú Temas funciona de manera similar a rviz: al hacer clic en el botón de opción, se activa la visualización en la escena de Unity.
Depura tus aplicaciones de robot con todos tus tipos de visualización favoritos
Transforma

Las transformaciones representan las relaciones entre los marcos de coordenadas en un sistema robótico. Todos sus datos se generan en diferentes marcos de coordenadas. Los datos del lidar están en el marco del lidar, los datos de la cámara están en el marco de la cámara y los datos del mapa están en el marco del mapa. Para dar sentido a todas estas fuentes de datos dispares, necesitamos tener un marco de referencia común. Las transformaciones nos ayudan a lograr esto al realizar un seguimiento de las relaciones entre estos cuadros. Depurar robots sin poner los sensores y algoritmos en este contexto 3D es casi imposible. Con el paquete de visualizaciones robóticas ahora puede ver datos en tiempo real junto con escenas y activos de Unity y cambiar sin problemas entre datos simulados y reales.

robot en fabrica
Mapas de robots

El mapeo de robots es complicado. Los mapas pueden fracturarse y los robots pueden desviarse. ¿Su odometría está correctamente ajustada o el mapa simplemente se partió en dos porque falló un algoritmo SLAM basado en optimización? El paquete de visualizaciones de Unity Robotics le permite visualizar la cuadrícula de ocupación, las transformaciones, la localización y la nube de puntos lidar una encima de la otra, lo que le permite ver visualmente dónde fallan los algoritmos.

El paquete de visualizaciones robóticas admite los tipos de mensajes ROS más comunes, incluidas transformaciones, cuadrículas de ocupación, nubes de puntos 3D, marcadores, escaneos láser, imágenes (jpeg, png y sin comprimir) y más. ¡Y tiene oportunidades de personalización si tienes un tipo de datos único que necesitas ver!

Aquí, se han activado las visualizaciones de transformación del robot, lo que permite superponer datos y depurar en tiempo real.
Personalización

El paquete de visualizaciones robóticas también admite visualizaciones creadas por el usuario: incluye un potente conjunto de herramientas para dibujar todo lo que necesite y/o desarrollar y personalizar las visualizaciones integradas. A continuación se presentan algunos puntos destacados:

Drawing3d es una clase de utilidad fácil de usar para dibujar líneas, formas, mallas y etiquetas texturizadas o coloreadas arbitrarias en el espacio 3D. Por ejemplo, podrías usarlo para dibujar el fantasma de un objeto en la posición donde predice que estará, una línea que muestre la trayectoria que seguirá para llegar allí y más líneas a su alrededor para indicar barras de error.

PointCloudDrawing es un renderizador de nubes de puntos optimizado para GPU, que puede mostrar hasta 10 millones de puntos vallados, cada uno con su propio tamaño y color, a velocidades interactivas. Puede usarlo para mostrar datos volumétricos como escaneos 3D o imágenes de profundidad.

Muestre tendencias de datos históricos, rastros de movimiento en 3D y más con la plantilla HistoryDrawingVisualizer , que mantiene un historial de longitud configurable de los mensajes enviados sobre un tema. Puedes analizar y mostrar ese historial como quieras.

Y, por supuesto, todo esto está respaldado por la potencia y la facilidad de uso de Unity Engine, que ofrece funciones como compatibilidad con AR y VR; sombreadores personalizados con Unity Shader Graph; sombreadores de cálculo, simulación en la nube y más.

¿Qué sucede después?

¡Estamos emocionados de ver lo que todos ustedes hacen con el Paquete de Visualizaciones Robóticas!

Para comenzar a utilizar el paquete de visualizaciones robóticas, consulte esta nueva extensión del tutorial Nav2-SLAM que demuestra cómo utilizar el nuevo paquete.

El paquete de visualizaciones de Unity Robotics le permite visualizar datos de robots junto con entornos de Unity combinando datos reales y simulados en un solo lugar.

Nuestro paquete de visualizaciones robóticas es solo una parte de nuestro creciente ecosistema de paquetes y características de robótica que habilitan la robótica en Unity. Para más proyectos de robótica, visita Unity Robotics Hub en GitHub.

¡Asegúrese de visitarnos en el Foro de Robóticao envíenos un correo electrónico a unity-robotics@unity3d.com con sus comentarios y sugerencias!