Teleoperación y Simulación 3D de Brazos Robóticos
Descripción General
Este proyecto consiste en el diseño y desarrollo de un sistema de teleoperación y simulación 3D, concebido como un entorno de entrenamiento interactivo para operarios de robótica manipuladora.
La solución combina un entorno virtual tridimensional desarrollado en Unity y un controlador físico (joystick) personalizado basado en el microcontrolador Raspberry Pi RP2040. El sistema permite la formación y capacitación de operadores de manera segura, simulando el comportamiento dinámico de brazos robóticos reales y traduciendo los movimientos del joystick físico en acciones virtuales y reales en tiempo real.
Componentes Clave del Sistema
1. Simulación Virtual (Unity)
- Motor Gráfico: Unity se encarga del renderizado 3D de la celda de trabajo robótica y de calcular las colisiones y la física del brazo robótico manipulador.
- Cinemática: Implementación de algoritmos de cinemática directa e inversa para traducir los ángulos de las articulaciones del brazo a coordenadas cartesianas en el espacio tridimensional.
- Interfaz: Dashboard visual en tiempo real que reporta velocidades, ángulos articulares y estados de colisión.
2. Dispositivo de Teleoperación (Joystick Custom)
- Hardware: Basado en el microcontrolador RP2040 (núcleo dual ARM Cortex-M0+). Cuenta con sensores analógicos para capturar el movimiento en múltiples ejes y pulsadores para accionar la pinza (gripper).
- Firmware: Desarrollado en C++ nativo. Lee las señales analógicas de los potenciómetros del joystick, realiza el filtrado de ruido digital y empaqueta la información para su transmisión.
3. Canal de Comunicación
- Enlace Serie/UART: Comunicación bidireccional de baja latencia entre el firmware del RP2040 y el motor Unity, transmitiendo los vectores de control a una tasa constante para asegurar suavidad en el movimiento simulado.
- Pruebas de Teleoperación de Hardware: Arquitectura validada experimentalmente mediante el envío en tiempo real de los ángulos de cada articulación usando el protocolo UDP a un módulo receptor ESP8266, sentando las bases para controlar un brazo físico real.
Estructura del Repositorio
El código y los assets se dividen de la siguiente manera:
/UnityProject: Contiene la escena principal de Unity, los scripts de cinemática, los modelos 3D del brazo robótico y la lógica de renderizado del entorno virtual./JoystickFirmware: Proyecto embebido de C++ para el microcontrolador RP2040 que gestiona la lectura de sensores y el protocolo de comunicación serial.
Repositorio y Uso
- Código Fuente: GitHub - proyecto_final_RV_brazo-comandado
- Cómo probar la simulación:
- Abrir la carpeta
/UnityProjecten Unity Hub. - Ejecutar la escena para iniciar el entorno virtual.
- Compilar y flashear el firmware dentro de
/JoystickFirmwareen una placa de desarrollo RP2040 conectada vía USB.
- Abrir la carpeta