(🇪🇸) Versión en español
Robustness testing of 3DGS1. From left to right and from top to bottom: thermal camera, under the sea, smoke, flowers (complex geometry). Images inside the Unreal Engine simulation. Source: own elaboration
Deployment of technology in a simulated rescue situation. Source: own elaboration
In this repository you can find:
- The source code of the nodes and the launcher with the ROS parameters necessary for the communication between the robot and Unreal Engine.
- The complete Unreal Engine 5.2. project used for the development of the investigatin including the plugins with the modifications indicated in the memory.
- The manuals of installation and use of the tools used.
- The compilation of basic ROS concepts and commands necessary for the project.
- Link to the report: https://oa.upm.es/83722/
The following YouTube channel is available where they can be found the first tests performed with instant-ngp, the robustness tests of the 3D model generation capability for environments considered difficult and the video demonstration of the deployment of the technology.
- YouTube channel: https://www.youtube.com/@JavierJimenezFernandez-upm
The list of videos on the YouTube channel is as follows:
- Demonstration of the complete workflow
- instant-ngp - Yellow Flowers Training
- 3DGS Robustness Testing - Environments with Repetitive Elements
- 3DGS Robustness Testing - Small Object Sizes
- 3DGS Robustness Testing - Elements with Complex Geometry
- 3DGS Robustness Testing - Smoky or Foggy Scenes
- 3DGS Robustness Testing - Night Scenes
- 3DGS Robustness Testing - Thermal Camera Recordings
- 3DGS Robustness Testing - Reflected and Refracted Scenes
Ensayos de robustez de 3DGS1. De izquierda a derecha y de arriba a abajo: cámara térmica, bajo el mar, humo, flores (geometría compleja). Imágenes dentro de la simulación de Unreal Engine. Fuente: elaboración propia
Despliegue de la tecnología en una situación de rescate simulada. Fuente: elaboración propia
En este repositorio podrán encontrar:
- El código fuente de los nodos y el launcher con los parámetros de ROS necesarios para la comunicación entre el robot y Unreal Engine.
- El proyecto completo de Unreal Engine 5.2. utilizado para el desarrollo del trabajo incluyendo los plugins con las modificaciones indicadas en la memoria.
- Los manuales de instalación y uso de las herramientas utilizadas.
- La recopilación de conceptos y comandos de ROS básicos necesarios para el proyecto.
- Enlace a la memoria: https://oa.upm.es/83722/
Adicionalmente, se pone a disposición el siguiente canal de YouTube donde se pueden encontrar las primeras pruebas llevadas a cabo con instant-ngp, los ensayos de robustez de la capacidad de generación de modelos 3D para entornos considerados difíciles y el vídeo demostrativo del despliegue de la tecnología.
- Canal de YouTube: https://www.youtube.com/@JavierJimenezFernandez-upm
La relación de vídeos que se encuentran en el canal de YouTube es la siguiente:
- Demostración del flujo de trabajo completo
- instant-ngp - Entrenamiento Flores Amarillas
- Ensayos de robustez de 3DGS - Entornos con elementos repetitivos
- Ensayos de robustez de 3DGS - Objetos de tamaño reducido
- Ensayos de robustez de 3DGS - Elementos con geometrías complejas
- Ensayos de robustez de 3DGS - Escenas con humo o niebla
- Ensayos de robustez de 3DGS - Escenas nocturnas
- Ensayos de robustez de 3DGS - Grabaciones con cámara térmica
- Ensayos de robustez de 3DGS - Escenas con reflejos y refracción
Para ilustrar el punto de partida se presentan en la figura 0.1 un escenario típico de entrenamiento de Digital Twins (0.1a) y el estado del arte en teleoperación de sistemas robótico con interfaces de realidad virtual en el laboratorio de Robótica y Cibernética (ROBCIB) del CAR ETSII - UPM (0.1b); y en la figura 0.2 ejemplos de modelos 3D de entornos físicos complejos en los que se propone desplegar dichos gemelos digitales.
Figuras 0.1a y 0.1b. Ejemplos de Digital Twins en entornos artificiales o poco realistas. Fuentes: 2 y 3.
Figura 0.2: Ejemplos de modelos 3D de entornos complejos generados con 3DGS. Fuente: 1
Esta investigación busca demostrar que es posible la integración de estas tecnologías de reconstrucción de modelos 3D con las operaciones de rescate en situaciones de emergencia, proporcionando a los operadores una visualización inmersiva y detallada del entorno afectado.
La reconstrucción precisa y realista de entornos tridimensionales a partir de imágenes bidimensionales en la que puedan operar los gemelos digitales de los robots desplegados también permite la simulación de posibles escenarios de catástrofe.
De esta forma no solo se facilita una respuesta más rápida y efectiva, sino que también reduce el riesgo para los equipos de rescate.
Las principales aportaciones de este proyecto son las siguientes:
- La combinación de herramientas óptima para la obtención de un modelo 3D compatible con la simulación de los gemelos digitales de los robots.
- La robustez y el tiempo de despliegue de la tecnología en situaciones de aplicación realistas.
- La compatibilidad con las líneas de investigación actuales del laboratorio de Robótica y Cibernética (ROBCIB) del CAR ETSII UPM-CSIC en particular la simulación y el control telemático de robots mediante el uso de la realidad virtual para una colaboración más estrecha y segura entre operadores y robots.
La combinación de las herramientas utilizadas en este proyecto permite el despliegue de la tecnología en un tiempo aproximado de una hora y media para una situación simulada de rescate.
Tras descartar instant-ngp4 y Unity por incompatibilidades, se han escogido las herramientas recopiladas en la lista mostrada a continuación. En la figura 0.3 se muestra el diagrama del flujo de trabajo completo de dichas herramientas y, después, la tabla 0.1 recoje los tiempos empleados para su despliegue.
- FFmpeg5, para el preprocesamiento, y COLMAP6 con la adiciónn de hloc7, para la obtención de la fotogrametría.
- Splatfacto8 (método del entorno de NerfStudio8 para 3DGS1) y volinga-model9, para la generación del modelo 3D de la escena.
- Volinga Suite9, para compatibilidad con Unreal Engine (UE).
- UE junto con el plugin de Volinga9, para su representación en un entorno de realidad virtual compatible con la simulación de los gemelos digitales de los robots.
- Rosbridge10 y ROSIntegration11, para la compatibilidad con las líneas actuales de investigación que usan el estándar de ROS.
Figura 0.3: Flujo de trabajo completo. Fuente: elaboración propia
Tabla 0.1: Tabla de tiempos de despliegue del flujo de trabajo completo. Fuente: elaboración propia
Con todo ello, el aspecto de la tecnología desplegada durante la demostración se puede observar en las imágenes de la figura 0.4.
Footnotes
-
Kerbl, B., Kopanas, G., Leimk¨uhler, T. y Drettakis, G. (jul. de 2023). 3D Gaussian Splatting for Real-Time Radiance Field Rendering. En: ACM Transactions on Graphics 42.4. url: https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/. ↩ ↩2 ↩3 ↩4
-
Rudin, N., Hoeller, D., Reist, P. y Hutter, M. (2021). Learning to Walk in Minutes Using Massively Parallel Deep Reinforcement Learning. En: ArXiv abs/2109.11978. url: https://api.semanticscholar.org/CorpusID:237635100. ↩
-
Cruz Ulloa, C. (mar. de 2024). Quadrupedal Robots in Search and Rescue: Perception and Teleoperation. doi: 10.20868/UPM.thesis.81769. url: https://oa.upm.es/81769/. ↩
-
Müller, T., Evans, A., Schied, C. y Keller, A. (jul. de 2022). Instant Neural Graphics Primitives with a Multiresolution Hash Encoding. En: ACM Trans. Graph. 41.4, 102:1-102:15. doi: 10.1145/3528223.3530127. url: https://doi.org/10.1145/3528223.3530127 y https://nvlabs.github.io/instant-ngp/. ↩
-
Tomar, S. (2006). Converting video formats with FFmpeg. En: Linux Journal 2006.146, pág. 10. url: https://www.ffmpeg.org/ ↩
-
Schönberger, J. L., Zheng, E., Pollefeys, M. y Frahm, J.-M. (2016). Pixelwise View Selection for Unstructured Multi-View Stereo. En: European Conference on Computer Vision (ECCV). url: https://colmap.github.io/ ↩
-
Sarlin, P.-E., Cadena, C., Siegwart, R. y Dymczyk, M. (2019). From Coarse to Fine: Robust Hierarchical Localization at Large Scale. En: CVPR. url: https://github.com/cvg/Hierarchical-Localization ↩
-
Tancik, M. et al. (2023). Nerfstudio: A Modular Framework for Neural Radiance Field Development. En: ACM SIGGRAPH 2023 Conference Proceedings. SIGGRAPH ’23. url: https://docs.nerf.studio/ ↩ ↩2
-
Volinga development team (2023). Volinga Suite, volinga-model and Volinga plugin. url: https://volinga.ai/ y https://github.com/Volinga/volinga-model ↩ ↩2 ↩3
-
Crick, C., Jay, G., Osentoski, S., Pitzer, B. y Jenkins, O. C. (2011). ROSbridge: ROS for Non-ROS Users. En: Proceedings of the Robotics Systems Science and Systems Conference (RSS). url: http://rosbridge.org. ↩
-
Schmeisser, M. y Suero, M. (2018). ROSIntegration: Connecting Unreal Engine with ROS for Realistic Simulations. En: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). url: https://github.com/code-iai/ROSIntegration. ↩