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]
El entrenamiento en 22 tipos de robots diferentes mejora el rendimiento en un 23o
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
La hipótesis es importante prácticamente porque los datos de robots son caros. En RCSV, recopilar 100 demostraciones de expertos en un [OpenArm]
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.000
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 (1
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: 50
200 demostraciones + 2 4 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 25
40% 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
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 150
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
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](
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.
- 50
200 demos de objetivos: Mix 1:5. Este es el punto ideal donde la encarnación cruzada proporciona el beneficio más relativoel 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. - 200
1,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:
- Linea de base: Entrenamiento con datos de robots objetivo.
- +Cross-embodiment: Entrenamiento en los datos de su objetivo mezclado con datos de cross-embodiment.
- +Initial pre-entrenado: Iniciar desde un punto de control Octo/OpenVLA, luego ajustar a la perfección en sus datos objetivo sólo.
- 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 5
** 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 2
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 3
5 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
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] [







