Skip to content

Final degree project about robot remote control through virtual reality (VR) envinorment using NeRF and Gaussian Splatting (3DGS) technology and Unreal Engine 5.2 for rescue tasks.

Notifications You must be signed in to change notification settings

javierjimenezfernandez/TFG-ROS_NeRF_UE5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

(🇪🇸) Versión en español

DIGITAL TWIN, TELEMATIC CONTROL AND VR GENERATED BY NERF AND 3DGS IN RESCUE TASKS

In the digital era, Digital Twins have emerged as key tools for real-time simulation and control of complex physical environments. This final degree project (TFG) presents an immersive telematic control system that combines digital twins with virtual reality (VR) in Unreal Engine, employing advanced technologies such as Neural Radiance Fields (NeRF) and 3D Gaussian Splatting (3DGS). The research demonstrates the feasibility of integrating these 3D reconstruction methods into rescue operations, providing immersive and detailed visualization of the affected environment, facilitating faster response and reducing risk to rescue teams. The main contributions include the identification of optimal tools for the generation of 3D models compatible with digital twin simulation, the evaluation of robustness and deployment times in realistic scenarios, and the compatibility with the lines of research in simulation and telematic control of the Robotics and Cybernetics Laboratory (ROBCIB) of the CAR ETSII UPM-CSIC. The combination of the tools allows an effective deployment in about an hour and a half, demonstrating its applicability in simulated rescue situations.

   

(a) Thermal camera. Robustness testing of 3DGS. Images inside the Unreal Engine simulation (a) Under the sea. Robustness testing of 3DGS. Images inside the Unreal Engine simulation (a) Smoke. Robustness testing of 3DGS. Images inside the Unreal Engine simulation (a) Flowers (complex geometry). Robustness testing of 3DGS. Images inside the Unreal Engine simulation

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

Deployment of technology in a simulated rescue situation. Source: own elaboration

   

About this repository

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.

Information available

The research report can be consulted in the UPM Digital Archive.

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.

The list of videos on the YouTube channel is as follows:

  1. Demonstration of the complete workflow
  2. instant-ngp - Yellow Flowers Training
  3. 3DGS Robustness Testing - Environments with Repetitive Elements
  4. 3DGS Robustness Testing - Small Object Sizes
  5. 3DGS Robustness Testing - Elements with Complex Geometry
  6. 3DGS Robustness Testing - Smoky or Foggy Scenes
  7. 3DGS Robustness Testing - Night Scenes
  8. 3DGS Robustness Testing - Thermal Camera Recordings
  9. 3DGS Robustness Testing - Reflected and Refracted Scenes

       

GEMELO DIGITAL, CONTROL TELEMÁTICO Y RV GENERADA POR NERF Y 3DGS EN TAREAS DE RESCATE

En la era digital, los gemelos digitales (Digital Twins) han surgido como herramientas clave para la simulación y el control en tiempo real de entornos físicos complejos. Este trabajo de fin de grado (TFG) presenta un sistema de control telemático inmersivo que combina gemelos digitales con realidad virtual (RV) en Unreal Engine, empleando tecnologías avanzadas como Neural Radiance Fields (NeRF) y 3D Gaussian Splatting (3DGS). La investigación demuestra la viabilidad de integrar estos métodos de reconstrucción 3D en operaciones de rescate, proporcionando una visualización inmersiva y detallada del entorno afectado, lo que facilita una respuesta más rápida y reduce el riesgo para los equipos de rescate. Las contribuciones principales incluyen la identificación de herramientas óptimas para la generación de modelos 3D compatibles con la simulación de gemelos digitales, la evaluación de la robustez y tiempos de despliegue en escenarios realistas, y la compatibilidad con las líneas de investigación en simulación y control telemático del laboratorio de Robótica y Cibernética (ROBCIB) del CAR ETSII UPM-CSIC. La combinación de las herramientas permite un despliegue efectivo en aproximadamente una hora y media, demostrando su aplicabilidad en situaciones simuladas de rescate.

   

(a) Cámara térmica. Ensayos de robustez de 3DGS. Imágenes dentro de la simulación de Unreal Engine (a) Bajo el mar. Ensayos de robustez de 3DGS. Imágenes dentro de la simulación de Unreal Engine (a) Humo. Ensayos de robustez de 3DGS. Imágenes dentro de la simulación de Unreal Engine (a) Flores (geometría compleja). Ensayos de robustez de 3DGS. Imágenes dentro de la simulación de Unreal Engine

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

Despliegue de la tecnología en una situación de rescate simulada. Fuente: elaboración propia

   

Acerca de este repositorio

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.

Información accesible

La memoria del trabajo se puede consultar en el Archivo Digital UPM.

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.

La relación de vídeos que se encuentran en el canal de YouTube es la siguiente:

  1. Demostración del flujo de trabajo completo
  2. instant-ngp - Entrenamiento Flores Amarillas
  3. Ensayos de robustez de 3DGS - Entornos con elementos repetitivos
  4. Ensayos de robustez de 3DGS - Objetos de tamaño reducido
  5. Ensayos de robustez de 3DGS - Elementos con geometrías complejas
  6. Ensayos de robustez de 3DGS - Escenas con humo o niebla
  7. Ensayos de robustez de 3DGS - Escenas nocturnas
  8. Ensayos de robustez de 3DGS - Grabaciones con cámara térmica
  9. Ensayos de robustez de 3DGS - Escenas con reflejos y refracción

Descripción general

En la era digital, los gemelos digitales (Digital Twins) han emergido como herramientas fundamentales para la simulación y el control en tiempo real de entornos fíısicos complejos. Este trabajo presenta el desarrollo de un sistema de control telemático inmersivo que combina la tecnología de los gemelos digitales con realidad virtual (VR), generada a partir de Neural Radiance Fields (NeRF) y posteriores desarrollos derivados de este como 3D Gaussian Splatting (3DGS).

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.

   

Ejemplo (a) de Digital Twins en entornos artificiales o poco realistas Ejemplo (b) de Digital Twins en entornos artificiales o poco realistas

Figuras 0.1a y 0.1b. Ejemplos de Digital Twins en entornos artificiales o poco realistas. Fuentes: 2 y 3.

   

Ejemplos de modelos 3D de entornos complejos generados con 3DGS

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:

  1. 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.
  2. La robustez y el tiempo de despliegue de la tecnología en situaciones de aplicación realistas.
  3. 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.

   

Flujo de trabajo completo

Figura 0.3: Flujo de trabajo completo. Fuente: elaboración propia

   

Tabla de tiempos de despliegue del flujo de trabajo completo

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.

   

Demostración del flujo de trabajo completo

Figura 0.4: Demostración del flujo de trabajo completo. Fuente: elaboración propia

   

Palabras clave

Digital Twin, control telemático, simulación inmersiva, NeRF, Gaussian Splatting, Unreal Engine, realidad virtual para rescates.

Referencias

Footnotes

  1. 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

  2. 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.

  3. 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/.

  4. 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/.

  5. Tomar, S. (2006). Converting video formats with FFmpeg. En: Linux Journal 2006.146, pág. 10. url: https://www.ffmpeg.org/

  6. 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/

  7. 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

  8. 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

  9. Volinga development team (2023). Volinga Suite, volinga-model and Volinga plugin. url: https://volinga.ai/ y https://github.com/Volinga/volinga-model 2 3

  10. 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.

  11. 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.

About

Final degree project about robot remote control through virtual reality (VR) envinorment using NeRF and Gaussian Splatting (3DGS) technology and Unreal Engine 5.2 for rescue tasks.

Resources

Stars

Watchers

Forks

Packages

No packages published