Volver a Blog

Entrenamiento de robots entre cuerpos: ¿Puedes transferir entre diferentes robots?

Lo que la investigación muestra sobre la capacitación en múltiples tipos de robots para mejorar la generalización <unk> Open X-Embodiment, DROID, RT-2-X, Octo, y configuración práctica de capacitación conjunta con ejemplos de código.

Parte de: [Guía de arrendamiento de robots]

[← Blog] T4)

El entrenamiento en 22 tipos de robots diferentes mejora el rendimiento en un 23o pero el efecto tiene importantes límites.

La hipótesis de la cruz de los cuerpos

La afirmación central del aprendizaje transversal: el entrenamiento de una política de robots sobre datos de múltiples tipos de robots diferentes diseños de brazos diferentes, recuentos de DOF diferentes, cinemática diferente produce un modelo que generaliza mejor a nuevos robots y nuevas tareas que un modelo entrenado solo en un solo tipo de robot. Esta hipótesis era intuitiva a partir de la analogía del modelo de lenguaje (la capacitación en textos más diversos ayuda) pero no era obvia para la robótica, donde los espacios de acción, la cinemática y las capacidades físicas difieren fundamentalmente entre las plataformas.

La hipótesis es importante prácticamente porque los datos de robots son caros. En RCSV, recopilar 100 demostraciones de expertos en un [OpenArm]T5) toma aproximadamente 4 horas de tiempo de operador a $75/hora que es $300 por tarea. Si puedes aprovechar 100,000 demostraciones recopiladas en otros tipos de robots por otros laboratorios, tu costo efectivo por ejemplo de entrenamiento útil disminuye en órdenes de magnitud. La pregunta es si los datos de una WidowX realmente ayudan a formar una política para un OpenArm, y si es así, en qué medida.

El cuerpo X abierto: la evidencia

El proyecto Open X-Embodiment (Padalkar et al., 2023; RTX collaboration paper) es la prueba más completa de esta hipótesis. El conjunto de datos contiene 527 habilidades en 22 tipos de robots, representando más de 160,000 episodios de robots contribuidos por laboratorios de todo el mundo. El resultado clave: RT-X, formado en el conjunto completo de datos de múltiples encarnaciones, superó a los especialistas en robots únicos en aproximadamente un 50% en tareas de generalización prolongadas.

El modelo multi-embodamiento no recibió ninguna información adicional sobre el robot objetivo, sino que simplemente se entrenó en datos más diversos.

Estadísticas de conjunto de datos en detalle

Dataset Robot Types Episodes Skills Environments Format
Open X-Embodiment (OXE) 22 160,266 527 160+ RLDS (TensorFlow)
DROID 22 (different set) 76,000 350+ 564 RLDS + HDF5
RoboSet 3 100,000+ 12 100+ HDF5
Bridge V2 1 (WidowX) 60,096 13 24 RLDS
RT-1 Robot Action 1 (Everyday Robot) 130,000 700+ 1 RLDS
RCSV Shared Pool 5 25,000+ 40+ 30+ LeRobot HDF5

El conjunto de datos OXE está distribuido de manera desigual: aproximadamente el 60% de los episodios provienen de solo 3 tipos de robots (WidowX, Franka, Robot de Todos los días). Los 19 tipos de robots restantes contribuyen cada uno con 1.0005.000 episodios. Este desequilibrio importa porque el beneficio de los múltiples encarnos es en parte impulsado por las plataformas más ricas en datos. Cuando se entrena en el conjunto completo de datos OXE, se aprende principalmente la manipulación de WidowX/Franka/Everyday Robot con una ventaja de diversidad de las otras 19 plataformas.

RT-2-X: El VLA que demostró que funciona en el cuerpo cruzado

RT-2-X amplió el modelo de acción de lenguaje de visión RT-2 para consumir el conjunto completo de datos OXE. La arquitectura es un modelo PaLM-E de parámetro 55B que toma imágenes e instrucciones de lenguaje como entradas y salidas discretas de acciones de robots. Los resultados clave:

  • +50% en evaluaciones emergentes: tareas que requieren combinaciones de objetos o relaciones espaciales nuevas que no se encuentran directamente en los datos de entrenamiento de ningún robot.
  • +25% en tareas de distribución: Incluso para tareas bien representadas en conjuntos de datos de un solo robot, el modelo multi-embodamiento fue mejor.
  • ** Transferencia de tiro cero:** RT-2-X podía controlar robots no en su conjunto de entrenamiento con tasas de éxito superiores a las probabilidades, aunque el rendimiento era sustancialmente inferior a los modelos ajustados.

El conteo de parámetros 55B es un contexto importante: este no es un modelo que se puede ejecutar en una GPU de laboratorio. La inferencia requiere múltiples A100 o H100. La versión práctica para la mayoría de los equipos es un modelo más pequeño (17B) afinado en los datos OXE, que capta la mayor parte de los beneficios de la incorporación cruzada a escala desplegable.

Octo: El modelo práctico de fundación de cuerpo cruzado

Octo (Ghosh et al., 2024) es el modelo con el que la mayoría de los equipos deben comenzar para la transferencia de encarnaciones cruzados. Es un transformador de parámetros 93M entrenado en 800K episodios de robots del conjunto de datos OXE, diseñado específicamente para el ajuste fino eficiente de nuevos robots y tareas. Propiedades clave:

  • Arquitectura: Transformador con tokenizers específicos de modalidad para imágenes (ViT), lenguaje (T5) y propriocepción (MLP).
  • Costos de ajuste: 50200 demostraciones + 24 horas en una sola GPU A100. Esto está al alcance de la mayoría de los laboratorios de investigación.
  • ** Performance:** Octo, mejorada con 100 demostraciones de robots objetivo, supera el entrenamiento desde cero con las mismas 100 demostraciones en 2540% en tareas de pick-and-place en WidowX, Franka y otras plataformas probadas.
  • Velocidad de inflexión: Parámetros de 93M funcionan a ~15 Hz en un solo RTX 4090 o a ~8 Hz en un Jetson AGX Orin lo suficientemente rápido como para el control de manipulación en tiempo real.
# Fine-tuning Octo on your own robot data (simplified)
# Requires: pip install octo-model jax[cuda]

from octo.model.octo_model import OctoModel
from octo.data.dataset import make_single_dataset

# Load pre-trained cross-embodiment model
model = OctoModel.load_pretrained("hf://rail-berkeley/octo-base")

# Load your target robot dataset (LeRobot HDF5 or RLDS format)
target_dataset = make_single_dataset(
    dataset_kwargs={
        "name": "my_openarm_dataset",
        "data_dir": "/data/openarm_pick_place/",
        "image_obs_keys": {"primary": "image_wrist", "secondary": "image_overhead"},
        "state_obs_keys": ["joint_positions"],
        "language_key": "language_instruction",
    },
    traj_transform_kwargs={"window_size": 2},
    frame_transform_kwargs={"image_size": (256, 256)},
)

# Fine-tune with new action head for your robot's action space
# OpenArm: 6 joint positions + 1 gripper = 7D action space
model = model.finetune(
    target_dataset,
    action_dim=7,
    action_head="diffusion",       # or "mse" for deterministic
    learning_rate=3e-4,
    batch_size=256,
    num_steps=50_000,              # ~2 hours on A100
    save_dir="./octo_openarm_finetuned/",
)

DROID: Escala dentro del cuerpo cruzado

El documento DROID (Khazatsky et al., 2024) amplió este análisis con un enfoque en la escala. 76K trayectorias en 22 robots y 564 entornos. La principal conclusión DROID relevante para la incorporación cruzada: agregar demostraciones de diferentes tipos de robots mejoró el rendimiento de la Política de Difusión y ACT en un robot objetivo incluso cuando los tipos de robots adicionales eran cinemáticamente bastante diferentes (WidowX vs. UR5, por ejemplo).

La mejora no fue uniforme agregar datos de robots muy similares (WidowX + WidowX-XL) ayudó más que agregar datos de robots muy diferentes (WidowX + manipulador móvil). Pero incluso los datos transversales distantes proporcionaron una señal positiva, lo que sugiere que las representaciones visuales y semánticas compartidas llevan información útil a través de diferentes plataformas físicas.

Beneficio de la transferencia por robot

Source Robot Target Robot Similarity Success Rate (Target Only) Success Rate (+Source Data) Improvement
WidowX-XL WidowX 250 Very High 62% 81% +19%
Franka Panda UR5e High (both 7-DOF) 55% 68% +13%
OpenArm WidowX 250 Moderate (6 vs 6 DOF) 62% 71% +9%
Franka Panda WidowX 250 Moderate (7 vs 6 DOF) 62% 70% +8%
Mobile Manipulator WidowX 250 Low 62% 65% +3%
Allegro Hand WidowX 250 Very Low 62% 62% +0%

El patrón es claro: el beneficio de transferencia se correlaciona con la similitud cinemática, pero incluso los robots de similitud moderada proporcionan una mejora significativa. La conclusión práctica es que si tienes 100 demostraciones en tu robot objetivo, agregar más de 1.000 demostraciones de robots cinemáticamente similares puede darte un rendimiento equivalente a 150200 demostraciones en tu robot objetivo solo una multiplicación de datos efectiva de 50100% a cero costo marginal de recogida.

Por qué funciona la transferencia de cuerpos

Se trata de tres mecanismos responsables:

1. Características visuales compartidas: Independientemente de qué robot esté ejecutando una tarea, las entradas visuales (objetos, espacio de trabajo, estructura de tarea) son similares. Un modelo entrenado en 22 tipos de robots desarrolla representaciones visuales más ricas para características relevantes para la manipulación detección de bordes alrededor de superficies agarrables, estimación del estado de objeto (abierto/cerrado, completo/vacío), codificación de relaciones espaciales (por encima, dentro, al lado) que uno entrenado en un solo robot. El codificador visual se beneficia de la diversidad de datos incluso cuando el decodificador de acción no lo hace.

2. Abstracción del espacio de acción en VLAs: Modelos de visión-lenguaje-acción como OpenVLA y RT-2-X representan acciones en un espacio abstracto tokenizado que desacopla parcialmente el conocimiento de tareas de la cinemática robótica específica. Cuando las acciones se discretan en contenedores (por ejemplo, 256 contenedores por dimensión), un token de "mover a la derecha" de una WidowX tiene un significado semántico similar a un token de "mover a la derecha" de una Franka, a pesar de que las trayectorias conjuntas subyacentes difieren completamente. Esta abstracción permite la transferencia de conocimiento a nivel de tarea a través de plataformas cinemáticamente diferentes.

3. Aterrizaje del lenguaje: Cuando las instrucciones de lenguaje forman parte de la entrada del modelo (como en RT-2-X, Octo, OpenVLA), el modelo aprende un mapeo compartido del lenguaje al comportamiento en todas las realizaciones. "Pick up the red cup" significa lo mismo independientemente de cuál robot lo esté ejecutando. Esta base lingüística compartida proporciona una representación de tareas universal que se transfiere perfectamente a través de las realizaciones, incluso cuando las estrategias de ejecución motora difieren.

Donde el traslado falla

  • ** Cinemática muy diferente:** La transferencia entre plataformas móviles de ruedas y brazos de base fija es casi cero. La falta de coincidencia en el espacio de acción es demasiado grande para que las características visuales compartidas se superen. Las acciones de una base móvil (vx, vy, omega) no proporcionan información útil de gradiente para las acciones de posición conjunta de un brazo de 6 DOF.
  • ** Desajuste del tipo de maxilar:** Los datos de las maxilaras paralelas no se transfieren bien a los robots de taza de succión y viceversa. El modelo de interacción de contacto es demasiado diferente. Los datos de la maxilaría paralela se transfieren bien a otros robots paralelas de maxilaría (incluso con diferentes geometrías de dedos), pero el comportamiento de la fase de agarre aprendido de las demostraciones paralelas de maxilaría es activamente perjudicial para la agarre basada en la succión.
  • ** Desajuste de escala DOF:** Los datos de los brazos 7-DOF se transfieren bien a otros brazos 7-DOF, pero a los brazos 4-DOF mal. La diferencia de dimensionalidad crea problemas de cobertura del espacio de acción: un brazo 7-DOF puede acercarse a objetos desde muchos ángulos, mientras que un brazo 4-DOF está restringido. Las políticas entrenadas en datos 7-DOF desarrollan estrategias de enfoque que son físicamente inaccesibles para el hardware 4-DOF.
  • Incoherencia de velocidad y dinámica: Los datos de los brazos industriales de alta velocidad (tiempos de ciclo < 0,5 s) se transfieren mal a los brazos de investigación con tiempos de ciclo de 3 5 s para la misma tarea. La dinámica temporal de las demostraciones perfiles de velocidad, patrones de aceleración, tiempo de cierre de la captura son fundamentalmente diferentes. Las observaciones visuales pueden parecer similares en cada marco, pero las secuencias de acción tienen ritmos diferentes.
  • Rich-contact vs. contact-free: Los datos de tareas ricas en contacto (garrapatas, inserción, pulido) proporcionan un mínimo beneficio de transferencia para tareas sin contacto (llegar, inspección visual) y viceversa. Las políticas aprendidas desarrollan comportamientos de anticipación de contacto (desacelerar antes del contacto esperado, endurecer las articulaciones específicas) que son específicos del tipo de tarea en lugar de generales en la realización.

Configuración práctica de la formación conjunta

Si quieres aprovechar los datos de encarnaciones cruzadas para tu robot y tarea específica, aquí está el flujo de trabajo que produce los mejores resultados en nuestra experiencia en RCSV:

Paso 1: Seleccione sus conjuntos de datos de base

En la colección OXE, seleccione conjuntos de datos de robots con DOF y tipo de agarre similares a su objetivo. Para un brazo de 6-DOF con agarre paralelo de mandíbula (como [OpenArm](T6)), las mejores fuentes son: Bridge V2 (WidowX, 60K episodios), subconjunto de DROID (6-DOF brazos, ~15K episodios) y el pool compartido RCSV (OpenArm + similar, ~10K episodios). Evite la manipulación móvil, la mano destre y los conjuntos de datos de alto DOF añaden costos de entrenamiento sin beneficio.

Paso 2: Normaliza los espacios de acción

Los robots diferentes tienen diferentes configuraciones conjuntas, por lo que las acciones de espacio conjunto no se transfieren. El enfoque estándar es convertir todas las acciones en espacio de efecto final: (dx, dy, dz, droll, dpitch, dyaw, gripper). Esta representación del efecto final delta 7D es universal en todos los manipuladores de un solo brazo con cualquier recuento de DOF y cualquier gripper. La conversión utiliza la cinemática avanzada de cada robot (solvente URDF + FK) y es un paso de preprocesamiento único por conjunto de datos.

# Action space normalization: joint space -> EE delta space
import numpy as np
from lerobot.common.robot_devices.robots.configs import OpenArmConfig

def joint_to_ee_delta(joint_actions, joint_states, robot_config):
    """Convert joint-space actions to end-effector delta actions.

    This normalization is required for cross-embodiment training:
    different robots have different joints but share the same
    6D end-effector space.
    """
    ee_deltas = []
    for i in range(len(joint_actions)):
        # FK at current state
        ee_current = robot_config.forward_kinematics(joint_states[i])
        # FK at next state (current + action)
        ee_next = robot_config.forward_kinematics(
            joint_states[i] + joint_actions[i, :robot_config.n_joints]
        )
        # Delta in EE space
        delta_pos = ee_next[:3] - ee_current[:3]
        delta_rot = quaternion_to_axis_angle(
            quaternion_multiply(ee_next[3:7], quaternion_inverse(ee_current[3:7]))
        )
        gripper = joint_actions[i, -1]  # gripper action passes through
        ee_deltas.append(np.concatenate([delta_pos, delta_rot, [gripper]]))
    return np.array(ee_deltas)

Paso 3: Estrategia de mezcla de conjuntos de datos

La relación de mezcla entre los datos de tu robot objetivo y los datos de los conjuntos de datos cruzados es importante. Demasiados datos cruzados sobrepasan los detalles específicos de los objetivos; demasiado poco no proporciona ningún beneficio. Nuestras proporciones recomendadas basadas en el tamaño del conjunto de datos objetivo:

  • <50 demos de objetivo: Mix 1:10 (target:cross). El modelo necesita la diversidad porque tiene muy poca señal de objetivo.
  • 50200 demos de objetivos: Mix 1:5. Este es el punto ideal donde la encarnación cruzada proporciona el beneficio más relativo el modelo tiene datos de objetivos suficientes para aprender la dinámica del robot específico mientras aprovecha la encarnación cruzada para representaciones visuales y de tareas.
  • 2001,000 demos objetivo: Mix 1:2. Los datos de encarnación cruzada ayudan pero el beneficio marginal disminuye.
  • >1,000 demos de objetivo: El pre-entrenamiento de encarnación cruzada sigue siendo beneficioso (utilice como inicialización), pero mezclarlo durante el ajuste fino proporciona rendimientos disminuyentes.

Paso 4: Configuración de la formación

Utilice la formación condicional de la realización: añada un token de realización aprendizaje (uno por tipo de robot) a la secuencia de entrada del modelo. Esto permite que el modelo aprenda patrones de comportamiento específicos de la realización mientras comparte representaciones visuales y de tareas entre todos los robots. Durante la inferencia en su robot objetivo, el modelo utiliza el token de realización de su robot. Costo: ~ 8 horas en un A100 para una carrera completa de co-entrenamiento con 200K episodios mixtos.

Co-entrenamiento con HuggingFace LeRobot

La forma más accesible de ejecutar el entrenamiento conjunto entre cada uno de los cuerpos es a través del marco LeRobot de HuggingFace, que proporciona una carga de datos estandarizada, entrenamiento de modelos e infraestructura de evaluación:

# LeRobot co-training config (YAML)
# Save as: configs/co_train_openarm.yaml

dataset:
  # Primary: your target robot data
  repo_id: "svrc/openarm_pick_place_v2"
  mix_datasets:
    # Cross-embodiment data, weighted by similarity
    - repo_id: "lerobot/bridge_v2"
      weight: 0.3    # WidowX - moderate similarity
    - repo_id: "lerobot/droid_franka"
      weight: 0.2    # Franka - moderate-high similarity
    - repo_id: "svrc/shared_pool_6dof"
      weight: 0.4    # RCSV pool - high similarity
  action_space: "ee_delta_7d"  # Normalized EE space

policy:
  name: "diffusion"
  pretrained: "lerobot/diffusion_oxe_base"  # OXE pre-trained
  chunk_size: 16
  n_obs_steps: 2
  n_diffusion_steps: 100

training:
  batch_size: 256
  learning_rate: 1e-4
  num_epochs: 200
  eval_freq: 10
  device: "cuda"

# Run: python lerobot/scripts/train.py --config configs/co_train_openarm.yaml

Medir los beneficios de los organismos

Para saber si los datos de los cuerpos cruzados realmente están ayudando a su caso específico, ejecuta un experimento controlado:

  1. Linea de base: Entrenamiento con datos de robots objetivo.
  2. +Cross-embodiment: Entrenamiento en los datos de su objetivo mezclado con datos de cross-embodiment.
  3. +Initial pre-entrenado: Iniciar desde un punto de control Octo/OpenVLA, luego ajustar a la perfección en sus datos objetivo sólo.
  4. Pipeline completo: Iniciar desde un punto de control previamente entrenado Y mezclar datos de los cuerpos cruzados durante el ajuste fino.

En nuestra experiencia, la opción 3 (initial pre-entrenado + ajuste fino solo para objetivos) supera a la opción 2 (initial aleatorio + entrenamiento mixto) para la mayoría de los equipos. Las representaciones visuales pre-entrenadas son la fuente principal de beneficio de transferencia, y vienen "gratuitamente" desde el punto de control. La opción 4 proporciona una mejora adicional del 510% en comparación con la opción 3 pero duplica el tiempo y la complejidad del entrenamiento.

** Recomendación del RCSV:** Para los equipos con <200 demostraciones en su robot objetivo, comience con la opción 3: descargue el punto de control base Octo, ajuste a la perfección sus datos durante 24 horas en un solo A100 y evalúe. No saltes directamente a la opción 4 la complejidad es significativa y el beneficio marginal sobre la opción 3 es a menudo modesto.

Las limitaciones actuales

  • ** Transferencia negativa es real:** Añadir datos de robots muy diferentes (diferente DOF, tipo de agarre diferente, dominio de tarea diferente) puede perjudicar el rendimiento en comparación con el entrenamiento solo para objetivos.
  • Normalización del espacio de acción pierde información: Convertir en espacio delta EE elimina la información de resolución redundante (cómo cambia la configuración del codo/ hombro del brazo). Para las tareas en las que la configuración del brazo es importante (llegar a entornos desordenados, evitar obstáculos con el codo), a veces es necesario ajustar el espacio articular después de la capacitación conjunta del espacio EE.
  • Varianza de calidad de los conjuntos de datos: Los conjuntos de datos OXE y DROID varían enormemente en calidad de demostración. Algunos laboratorios contribuyentes tenían operadores expertos; otros usaban operadores novatos o sistemas parcialmente automatizados.
  • Escales de costos computacionales linealmente: Más datos transversales significan proporcionalmente más computación de capacitación. Para una startup con una sola GPU, una carrera completa de capacitación conjunta de OXE dura 35 días.
  • Compostos de la brecha entre sim y realidad: Si sus datos de la combinación de los cuerpos cruzados incluyen datos de simulación (que algunos conjuntos de datos OXE lo hacen), la brecha entre sim y realidad se suma a la brecha entre los cuerpos cruzados. Filtra los conjuntos de datos derivados de la simulación de su mezcla entre los cuerpos cruzados a menos que haya verificado que ayudan en su tarea específica.

El futuro: modelos de la Fundación Robótica Universal

La trayectoria es clara: el campo de la robótica se está moviendo hacia modelos fundacionales entrenados en datos de cientos de tipos de robots, millones de episodios y miles de tareas análogos a cómo se entrenó GPT en miles de millones de páginas web. Proyectos como GR-2 (ByteDance), pi0 (Inteligencia Física) y la próxima generación de modelos RT-X están escalado hacia esta visión. Cuando estos modelos maduren, la transferencia de encarnaciones cruzados pasará de "recepta de entrenamiento conjunto cuidadosa" a "descargar el punto de control, ajustar 30 minutos, desplegar". No estamos allí todavía en 2026, pero la brecha se está cerrando rápidamente.

Para los equipos que construyen hoy en día, el consejo práctico es: recopilar sus datos en formatos estandarizados (LeRobot HDF5 o RLDS), con metadatos de calibración completos, para que pueda beneficiarse de estos modelos de base a medida que estén disponibles.

Compartir datos a través de RCSV

RCSV mantiene un conjunto de datos compartido de conjuntos de datos que los clientes pueden contribuir y extraer de. Cuando recopiles datos de demostración a través de los servicios de datos de RCSV, tienes la opción de contribuir a demostraciones anónimas en el pool compartido a cambio de acceso a datos de pre-entrenamiento de conjuntos de otros sistemas. Esto reduce su requerimiento efectivo de datos por tarea aprovechando el efecto de transferencia de transmutación. El grupo actualmente contiene más de 25.000 episodios en las plataformas OpenArm, WidowX, Franka, UR5e y Unitree Z1, con nuevas contribuciones añadidas semanalmente.

Para los equipos que deseen contribuir con los datos recopilados en su propio hardware, RCSV proporciona una tubería de validación que verifica el cumplimiento del formato, la calidad de la demostración (smoothness, success rate, camera calibration) y la privacidad (no hay información identificable en las vistas de la cámara).

Lectura relacionada

Política del ACT explicada · Erros comunes en el aprendizaje por imitación · Empezar con la teleoperatoria · Datasets RCSV · Glosario de robótica

Aprovechación de la formación previa a la formación de los cuerpos cruzados

El conjunto de datos compartido del RCSV proporciona datos de entrenamiento previo a través de 5 plataformas de robots.

[Explorar los Servicios de Datos] [T13] [Hablar con un ingeniero de datos] [T14)