
MRLink: Teleoperación robótica para tareas de manipulación complejas mediante realidad virtual
Introducción
La interacción con robots en entornos complejos -especialmente cuando se trata de realizar tareas de manipulación delicadas- se ha visto a menudo limitada por las interfaces disponibles. Los sistemas de control remoto tradicionales pueden resultar engorrosos y no ofrecen la precisión o flexibilidad necesarias para las tareas más complejas. Aquí es donde entra en juego nuestro proyecto: una solución innovadora que permite manipular a distancia paneles de control y otros objetos mediante robots a través de la realidad virtual. Combinando la potencia de la robótica avanzada con la tecnología punta de realidad virtual, hemos desarrollado un sistema que proporciona una forma natural e intuitiva de controlar una plataforma robótica móvil. Esta interacción es posible gracias a un dispositivo Meta Quest 3, que ofrece una forma inmersiva e intuitiva de interactuar con el entorno de forma remota.
La principal motivación de este proyecto es proporcionar una interfaz de control nueva y más intuitiva para los robots, que permita a los usuarios realizar tareas de manipulación complejas con facilidad. Gracias al seguimiento de las manos en tiempo real o a los guantes hápticos, junto con una respuesta visual continua en realidad virtual, los usuarios pueden interactuar con los robots de una forma que sería increíblemente difícil con los sistemas tradicionales de control remoto. Este sistema permite un control más preciso, una mejor navegación y una mayor percepción, aspectos todos ellos cruciales a la hora de interactuar con robots en entornos dinámicos.
Este proyecto pretende tender un puente entre la destreza humana y la precisión robótica, permitiendo a los operarios realizar tareas complejas en lugares distantes o peligrosos sin estar físicamente presentes. Ya sea para mantenimiento industrial, exploración de entornos peligrosos o aplicaciones de investigación, esta tecnología tiene el potencial de revolucionar las operaciones a distancia.
Conoce a los robots
El éxito de este proyecto se basa en la potente combinación de tres sistemas robóticos de vanguardia: el robot Spot de Boston Dynamics, el brazo robótico Kinova Gen3 y el Allegro Hand V4. Cada uno de estos robots desempeña un papel fundamental en la consecución de nuestro objetivo de permitir la manipulación remota a través de la realidad virtual, ofreciendo capacidades únicas que funcionan a la perfección juntas.
Boston Dynamics Spot Robot
Spot, de Boston Dynamics [1], es un robot móvil versátil y ágil diseñado para desplazarse por entornos complejos. Conocido por su capacidad para desplazarse por terrenos abruptos, Spot puede caminar, subir escaleras y atravesar obstáculos con una estabilidad impresionante. Este robot sirve como base del sistema, desplazándose por entornos mientras transporta cargas útiles. La avanzada movilidad de Spot le permite llegar a lugares de difícil o peligroso acceso para los humanos. El sistema de control del robot le permite evitar colisiones con obstáculos en tiempo real, manteniendo un alto nivel de seguridad mientras navega y realiza tareas.
Kinova Gen3 Robotic Arm
El brazo robótico Kinova Gen3 [2] es un brazo ligero y muy flexible diseñado para proporcionar capacidades avanzadas de manipulación. Con siete grados de libertad, el brazo Gen3 puede alcanzar una amplia gama de posiciones y orientaciones, imitando la destreza del brazo humano. Este robot es ideal para realizar tareas delicadas que requieren precisión y agilidad.
Allegro Hand V4
La Allegro Hand V4 [3] es una mano robótica muy avanzada diseñada para proporcionar una destreza real. Equipada con 16 actuadores, es capaz de realizar movimientos complejos. La flexibilidad y precisión de la mano la hacen ideal para manipular una gran variedad de objetos, desde pequeñas herramientas hasta materiales más frágiles. Esta capacidad de controlar la mano al detalle aporta al sistema un nivel de interacción sin precedentes, que permite manipular objetos sofisticados en un entorno remoto.
Funcionamiento del proyecto
Controlar el robot
El sistema permite a los usuarios controlar el robot Spot mediante el controlador Meta Quest. Aunque el usuario controla directamente su movimiento, el robot conserva su autonomía local, lo que significa que seguirá evitando obstáculos y navegando con seguridad. Esto garantiza un equilibrio entre el control manual y la evitación inteligente de obstáculos, evitando colisiones accidentales.
Además del control del movimiento, el usuario también puede cambiar entre los distintos modos de funcionamiento del robot, como por ejemplo:
- Modo Caminar – Permite al robot moverse por el entorno.
- Modo de pie – Permite al robot detenerse y mirar a su alrededor sin caminar.
- Modo Sentado – El robot descansa en su sitio, lo que también mejorará la estabilidad al manejar el brazo robótico.
Además, el usuario puede ajustar parámetros de movimiento específicos mediante controles deslizantes intuitivos en la interfaz de VR, como por ejemplo:
- Altura del tronco – Ajusta la altura del cuerpo del robot con respecto al suelo para diferentes condiciones del terreno.
- Distancia de paso – modifica la longitud de cada paso, lo que permite un control más preciso del movimiento y la estabilidad.
Control del brazo robótico
El brazo robótico puede manejarse de múltiples maneras, lo que proporciona flexibilidad en función de la tarea que se vaya a realizar:
- Modo de control directo: el usuario tiene pleno control sobre la posición y el movimiento del brazo, con mínimas restricciones de seguridad. Este modo es ideal para manipulaciones precisas en las que se requiere una destreza total.
- Modo protegido: en este modo, el sistema evita activamente las autocolisiones y garantiza un funcionamiento seguro. Resulta especialmente útil en situaciones en las que existe un alto riesgo de dañar el robot o el entorno.
- Modo planificado: esta nueva función permitirá al usuario planificar movimientos con antelación, visualizando trayectorias y resultados antes de ejecutarlos. Al simular el movimiento de antemano, los operarios pueden evitar errores y optimizar sus acciones.
Control de la mano robótica
Podemos controlar la mano robótica utilizando dos métodos de control principales:
- Posiciones predefinidas: los usuarios pueden seleccionar posiciones predefinidas de la mano, como señalar con el dedo o abrirla completamente, para simplificar la interacción con los objetos.
- Seguimiento de la mano en tiempo real: el sistema puede seguir el movimiento de la mano del usuario en tiempo real y trasladarlo directamente a la mano robótica para manipulaciones más complejas. Este método permite realizar gestos complejos y controlar la motricidad fina, con lo que las interacciones a distancia resultan más naturales.
La tecnología detrás del sistema
Para dar vida a este proyecto, aprovechamos varias tecnologías y frameworks avanzados:
Evergine
Evergine [4] es nuestro potente motor industrial interno basado en componentes y construido en .NET. Diseñado para ser multiplataforma, constituye la base de este sistema de interacción de VR. Evergine permite el renderizado en tiempo real, las simulaciones físicas y las experiencias de VR fluidas, lo que lo convierte en una parte crucial de este proyecto.
Se ha creado teniendo en cuenta las técnicas modernas de renderizado, y es compatible con los gráficos a través de canales de renderizado directos y diferidos. Su compatibilidad con Windows, Linux, Android, iOS y WebAssembly nos permite desplegar aplicaciones en una amplia gama de plataformas de manera eficiente. Con soporte integrado para AR y VR a través de OpenXR, Evergine es especialmente adecuado para entornos inmersivos.
Evergine también ofrece una sólida extensibilidad a través de su sistema de complementos, lo que permite a los desarrolladores mejorar fácilmente las capacidades del motor. Continuamente ampliamos su funcionalidad con nuevas características que se entregan como complementos, garantizando que Evergine se mantiene a la vanguardia de las necesidades de la industria. Entre las últimas incorporaciones se incluyen herramientas especializadas como el renderizador DICOM para imágenes médicas y un renderizador Gaussian Splatting para técnicas de visualización avanzadas. Esta flexible arquitectura de complementos permite a los usuarios adaptar Evergine a sus necesidades específicas, lo que lo hace apto para una amplia gama de aplicaciones.
Evergine Studio, el editor visual del motor, mejora aún más la productividad al proporcionar una interfaz fácil de usar para la gestión de escenas, activos y materiales. Estas características hacen de Evergine una opción ideal para crear aplicaciones industriales e interactivas de alto rendimiento y en tiempo real.
MRTK
MRTK [5] es un paquete de Evergine que acelera el desarrollo de aplicaciones XR multiplataforma proporcionando una rica colección de componentes básicos. Este complemento incluye componentes esenciales como punteros, botones, elementos interactivos e integraciones de sistemas de entrada que facilitan el diseño de interfaces de usuario XR intuitivas y con capacidad de respuesta. Abstrae los detalles específicos de la plataforma, lo que permite a los desarrolladores centrarse en la experiencia del usuario en lugar de en la compatibilidad del hardware.
El paquete admite diversas modalidades de entrada, como la mirada y los controladores, lo que permite una interacción natural y envolvente en todos los dispositivos. Además, ofrece mecanismos de retroalimentación visual que enriquecen las aplicaciones XR. Si su objetivo son los cascos de realidad aumentada o realidad virtual, MRTK para Evergine ayuda a agilizar el desarrollo con componentes reutilizables y un modelo de interacción coherente.
XRV
XRV [6] es una biblioteca especializada que utilizamos para desarrollar experiencias XR personalizadas. Proporciona una colección de funcionalidades esenciales, como ventanas flotantes, menús manuales y comandos de voz, utilizando una arquitectura basada en módulos para permitir una fácil extensibilidad. Con XRV, mejoramos la interacción del usuario en el entorno virtual, haciendo que la experiencia sea más intuitiva y fácil de usar.
ROS2
ROS2 [7] es un conjunto de bibliotecas y herramientas de software que sirve de columna vertebral de esta aplicación robótica. Ofrece componentes esenciales como controladores, algoritmos de última generación y sólidas herramientas de desarrollo, que nos permiten integrar y controlar de forma eficiente todos los robots de la solución. Gracias a su arquitectura basada en nodos, podemos desplegar distintos componentes en máquinas independientes para optimizar el uso de recursos en todo el hardware.
Mejoras para el futuro
Aunque el sistema ya ofrece unas prestaciones impresionantes, trabajamos continuamente en nuevas características para mejorar la funcionalidad y la facilidad de uso:
- Respuesta táctil: mediante la incorporación de sensores táctiles y un guante háptico, pretendemos dar a los usuarios una sensación de tacto al interactuar con objetos remotos, aumentando el realismo y la precisión.
- Escaneado de objetos: Tenemos previsto implantar funciones de escaneado que permitan al sistema generar réplicas digitales de objetos remotos y mostrarlas dentro del entorno virtual. Esto mejorará el conocimiento de la situación y la interacción.
- Control simbiótico: mediante el seguimiento de la mano, pretendemos introducir un modo en el que el brazo robótico se mueva de forma coordinada con la mano del usuario, creando un esquema de control más natural y fluido.
Resumen
Este proyecto representa un salto adelante en el campo de la robótica remota y la realidad virtual. Al combinar la tecnología de VR más avanzada con sistemas robóticos inteligentes, estamos consiguiendo que la manipulación a distancia sea más intuitiva, precisa y accesible. A medida que sigamos mejorando este sistema con nuevas funciones y capacidades, esperamos abrir posibilidades aún mayores para aplicaciones industriales, de investigación y en entornos peligrosos. El futuro de la interacción remota ya está aquí, y nos complace formar parte de esta revolución.
Referencias
- [1] https://bostondynamics.com/products/spot/
- [2] https://www.kinovarobotics.com/product/gen3-robots
- [3] https://www.allegrohand.com/v4
- [4] https://evergine.com
- [5] https://github.com/EvergineTeam/MixedRealityToolkit
- [6] https://github.com/EvergineTeam/XRV
- [7] https://docs.ros.org/