Un humanoide que imita los brazos de una persona vista por una cámara

Una persona mueve los brazos frente a una cámara y un robot humanoide repite el movimiento en tiempo real, sin trajes de captura ni marcadores. Este proyecto construyó esa cadena completa para el robot Unitree G1 y la validó primero en simulación y luego en el robot físico. En cuatro escenarios de prueba, el error medio de seguimiento por brazo se mantuvo por debajo de 3°.
Contexto
Enseñarle un movimiento a un humanoide por demostración es más natural que programarlo articulación por articulación. La dificultad es que el cuerpo del robot no es el de la persona: sus segmentos tienen otras longitudes y sus articulaciones otros rangos. Copiar ángulos directamente no funciona. Hay que trasladar la intención del movimiento a la cinemática del robot, lo que se conoce como retargeting.
Arquitectura
Flujo de datos, del operador humano al robot
Estimación de pose. Una cámara RGB-D ejecuta un modelo de estimación de pose corporal que entrega puntos del cuerpo en tres dimensiones.
Esqueleto de la parte superior del cuerpo estimado por la cámara
Transformación y filtrado. Los puntos se llevan del sistema de la cámara a un sistema centrado en el usuario y alineado con el del robot. Un filtro descarta puntos perdidos o inestables.
Reorientación. Los vectores hombro-codo y codo-muñeca de la persona se escalan a las longitudes del brazo del robot. La posición objetivo resultante se convierte en ángulos articulares por cinemática inversa sobre el modelo del robot en MuJoCo.
Representación vectorial del brazo derecho después del escalamiento geométrico
Ejecución. Un nodo de ROS 2 valida los ángulos y los envía al robot por Ethernet. La simulación y el robot real comparten la misma interfaz de comandos, de modo que lo que se prueba en simulación se ejecuta sin cambios en el hardware.
Poses del robot obtenidas en simulación a partir de puntos objetivo
Evaluación
Se probaron cuatro escenarios: pose en T, brazos al frente, una secuencia de saludo asimétrica y movimiento libre. El error se calculó como la diferencia entre el ángulo comandado y el medido en cada articulación.
Error absoluto medio de seguimiento en la secuencia de saludo, por brazo
Error medio de seguimiento por brazo en cada escenario
| Escenario | Brazo derecho | Brazo izquierdo |
|---|---|---|
| Pose en T | 2,3° | 2,1° |
| Brazos al frente | 2,7° | 2,4° |
| Saludo | 2,6° | 1,2° |
| Movimiento libre | 1,8° | 1,7° |
Los picos de error aparecen al inicio de cada movimiento y llegan a unos 6°. El movimiento del robot es suave y visualmente coherente con el de la persona.
Lo que falta
El error reportado mide qué tan bien sigue el robot los ángulos comandados. No mide qué tan parecida es la pose del robot a la de la persona, que es la pregunta de fondo de la imitación y requeriría una referencia externa. El usuario debe permanecer de frente a la cámara, y la estimación se degrada con oclusiones y movimientos rápidos. Solo se imitan hombros y codos, sin orientación de la muñeca ni manos, lo que impide manipular objetos. El aprendizaje de secuencias de acción quedó como trabajo inicial.
Relación con Robiolab
Este proyecto y el de razonamiento con modelos de lenguaje son los dos primeros trabajos del laboratorio sobre el humanoide Unitree G1, y son complementarios: uno resuelve cómo decide el robot qué hacer, y este, cómo adquiere un movimiento a partir de una persona. La captura de movimiento humano con cámaras de profundidad es además una herramienta compartida con los proyectos de biomecánica de la mano, y la imitación es un camino directo hacia la teleoperación.
