Índice
Trabajo Propio10 de diciembre de 2024

Teleoperación y Simulación 3D de Brazos Robóticos

UnityRP2040C++RobóticaTeleoperación

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:
    1. Abrir la carpeta /UnityProject en Unity Hub.
    2. Ejecutar la escena para iniciar el entorno virtual.
    3. Compilar y flashear el firmware dentro de /JoystickFirmware en una placa de desarrollo RP2040 conectada vía USB.