Predicción de subtareas
Blog|

Predicción de subtareas

S
Sereact5 min de lectura
Subtask Prediction

De un vistazo

  • Conciencia de la tarea. Un módulo dedicado de predicción de subtasks le indica a la policy qué fase de una tarea de horizonte largo está activa en cada momento, eliminando una fuente importante de fallos en tareas largas.
  • Percepción nativa en vídeo. Nuestro Subtask Predictor procesa los últimos fotogramas del historial visual.
  • Condicionamiento sin rediseño. Los embeddings de subtask entran directamente en el world model como señal de condicionamiento, antes de que se generen los futuros candidatos. Así el bucle de planificación conoce la fase de la tarea sin cambiar el pipeline de acción posterior.
  • 95 % de precisión de clasificación en nuestro conjunto de evaluación, con mejoras medibles en la tasa de éxito de extremo a extremo frente a policies sin condicionamiento por subtask.

Introducción

Cortex 2.0 introdujo la planificación basada en world model en nuestro stack de manipulación: antes de comprometerse con una acción, el robot imagina futuros candidatos y elige el más prometedor. Eso responde a la pregunta de qué hacer a continuación. Pero en flujos industriales de horizonte largo, como la gestión de devoluciones, el kitting o el ensamblaje en varios pasos, la policy debe responder a una pregunta complementaria: ¿en qué punto de la tarea global estoy?

Pensemos en un flujo de gestión de devoluciones. El robot tiene que abrir un paquete, identificar el artículo, cogerlo, clasificar su estado y depositarlo en el contenedor correcto. Una policy reactiva ejecuta bien cada acción atómica, pero sin conciencia explícita de la fase actual queda expuesta a una clase sutil de fallos: no fallar el agarre, sino equivocarse sobre qué agarre ejecutar, o intentar un escaneo antes de que el artículo esté del todo extraído. Estos fallos se acumulan en horizontes largos y son difíciles de recuperar, porque el error no está en el movimiento sino en el contexto.

El módulo de predicción de subtasks aborda esto clasificando de forma continua la fase actual de la tarea a partir del historial visual. En lugar de depender de máquinas de estados escritas a mano o de una descomposición de la tarea basada en lenguaje, entrenamos nuestro Subtask Predictor, un VLM, para reconocer las fronteras entre subtasks directamente a partir de lo que ve el robot. El subtask clasificado se codifica y se pasa al world model como entrada de condicionamiento, de modo que los rollouts futuros candidatos se generan teniendo en cuenta la fase que hay que ejecutar.

Pick & place: 2 subtasks

Flujo de pick-and-place que muestra los subtasks de recogida y colocación

Gestión de devoluciones: 6 subtasks

Flujo de gestión de devoluciones que muestra los subtasks de abrir paquete, desembalar, desdoblar, limpiar, doblar y reembalar

Por qué importa la conciencia de subtask

La mayoría de los fallos de manipulación en producción no tienen que ver con la física del agarre. Tienen que ver con la secuencia. Un robot excelente recogiendo, pero confundido sobre si debe recoger o colocar, fallará la tarea global. Las tareas cortas, por ejemplo el pick-and-place, donde los estados inicial y final están bien definidos, funcionan de forma fiable con policies reactivas. Pero los flujos más complejos son composiciones de muchos pasos de ese tipo, y es en las transiciones donde las cosas se rompen. Dos de nuestros despliegues centrales lo ilustran:

Gestión de devoluciones

Un solo ciclo de devolución implica abrir el paquete, extraer el artículo, inspeccionarlo y clasificarlo, y volver a embalarlo. Cada fase tiene requisitos de manipulación distintos: desde un desembalaje cuidadoso hasta una clasificación precisa y un reembalaje limpio. Sin conciencia explícita de la fase, la policy aplica de vez en cuando la estrategia de manipulación equivocada al contexto actual, lo que provoca extracciones fallidas o artículos mal encaminados.

Kitting

Los flujos de kitting exigen que el robot recoja artículos concretos en orden y los coloque en embalajes compartimentados. Un artículo puede acabar en la misma posición que el anterior, o el pedido puede darse por terminado demasiado pronto cuando aún faltan artículos. Cuanto más largo y complejo es el kit, más crítico resulta que la policy sepa en qué punto de la secuencia se encuentra.

Cross-embodiment y multitarea:

Exploramos la predicción de subtasks en nuestras tareas de investigación y en distintos embodiments:

  1. Mobile Trossen: aproximación al armario de almacenamiento, apertura del armario, recogida de la botella del armario, colocación de la botella en el contenedor, cierre del armario
  1. Humanoid Bottle: detección de una persona que se acerca, recogida de la botella de agua, entrega de la botella a la persona
  1. Dualarm Candy: recogida de la caja, traslado de la caja a la estación de llenado, recogida del caramelo, colocación del caramelo en la caja, cierre de la caja, colocación de la caja en el compartimento

Reducir el sesgo de distribución de acciones

El condicionamiento por subtask también ayuda a reducir el sesgo de distribución de acciones. Cuando el world model sabe qué fase está activa, recurre con menos frecuencia por defecto a la primitiva de manipulación más común en los datos de entrenamiento y genera con más facilidad futuros que reflejan la dinámica propia de la fase actual.

Arquitectura

El módulo de predicción de subtasks es un módulo ligero de contexto de tarea que alimenta el bucle de planificación de Cortex 2.0, condicionando el world model con el contexto de fase antes de que empiece la planificación. A alto nivel, el módulo tiene dos flujos alineados, con un codificador de vídeo y otro de texto.

Codificación visual con el Subtask Predictor

El Subtask Predictor consume los fotogramas más recientes del historial visual del flujo de cámara del robot. Un solo fotograma no permite distinguir «aproximarse para recoger» de «aproximarse para colocar»: la mano está más o menos en la misma posición, la pinza tiene el mismo aspecto y solo difiere el historial reciente. Al procesar varios fotogramas del pasado a la vez, el modelo resuelve esas ambigüedades directamente a partir del movimiento y de la dinámica de la escena, y no de heurísticas escritas a mano. Es la misma observación que motiva la agregación temporal en la literatura sobre segmentación de acciones.

Para agregar esta secuencia en una representación de tamaño fijo, añadimos un pequeño conjunto de tokens de consulta de subtask aprendidos. El Subtask Predictor codifica estos fotogramas en un embedding conjunto que captura tanto el estado actual de la escena como la dinámica temporal de las acciones recientes.

Flujo de texto y entrenamiento contrastivo

En paralelo al flujo de visión, un pequeño codificador de texto proyecta cada descripción de subtask de referencia (por ejemplo, «doblar vaqueros» o «colocar artículo en la caja») a un Subtask Query Embedding zt de la misma dimensionalidad que zv, también normalizado en L2.

Ambos flujos se entrenan de forma conjunta. Para cada clip de entrenamiento, el modelo produce dos embeddings: zv y zt. Estos dos embeddings describen el mismo evento subyacente desde dos modalidades distintas, y el objetivo del entrenamiento es alinearlos. En concreto, minimizamos una pérdida InfoNCE simétrica con temperatura aprendida, idéntica al objetivo contrastivo empleado en CLIP. Dentro de cada batch de N pares (clip, descripción), la pérdida maximiza la similitud coseno de los pares coincidentes (subtask positivo) y la minimiza para todos los pares no coincidentes (subtasks negativos), en ambas direcciones (de clip a texto y de texto a clip). Esto moldea la representación visual de modo que la proximidad en el espacio proyectado se corresponda con la similitud semántica de la fase de la tarea.

Esto hace que el diseño sea open-vocabulary: el codificador de visión ha aprendido una correspondencia general entre vídeos y un espacio de embeddings moldeado por el lenguaje. Como ese espacio lo estructura el lenguaje y no una lista de clases fija, introducir un subtask nuevo solo requiere añadir su descripción al banco, sin reentrenar la capa de clasificación. Esto funciona bien cuando el nuevo subtask es una recomposición de primitivas y elementos visuales familiares; las habilidades de manipulación genuinamente nuevas, por supuesto, siguen exigiendo datos de entrenamiento adicionales.

En inferencia la arquitectura se reduce a un único flujo. El codificador de texto no se carga y el robot nunca ve etiquetas de referencia en operación. Solo se ejecuta el flujo de visión, que produce un embedding de observación zv que ya vive en el espacio de subtasks alineado con el lenguaje.

Integración con Cortex 2.0

El embedding de observación continuo zv y la etiqueta discreta de subtask decodificada se pasan como entradas de condicionamiento al world model, antes de generar las trayectorias futuras candidatas. Así, los rollouts del world model conocen la fase desde el principio: al predecir estados futuros sabe si el robot está en una fase de apertura de paquete o de inspección, y genera los candidatos en consecuencia. El scoring PRO posterior y la generación de acciones operan entonces sobre rollouts que ya reflejan el contexto de tarea correcto.

Es una decisión arquitectónica clave. En lugar de corregir la policy después de planificar (condicionando el action expert), condicionamos la planificación misma. El world model genera futuros candidatos fundamentalmente distintos según el subtask actual. El módulo PRO puntúa después esos candidatos adecuados a la fase, y la VLA ejecuta el mejor: todo el bucle de planificación es consciente del subtask, no solo la salida final de acción.

La inferencia se ejecuta de forma continua y asíncrona. En cuanto termina la clasificación anterior, se dispara de inmediato una nueva inferencia sobre los fotogramas más recientes.

Evaluación

Evaluamos el módulo de predicción de subtasks en dos ejes: la precisión de clasificación del propio predictor y el impacto posterior en el éxito de extremo a extremo cuando la policy se condiciona con las predicciones de subtask.

Precisión de la clasificación de subtasks

En un conjunto de test reservado de secuencias de manipulación anotadas, el Subtask Predictor alcanza un 94,6 % de precisión de clasificación a nivel de fotograma. Lo medimos comparando las predicciones de subtask del modelo fotograma a fotograma con anotaciones de referencia producidas por anotadores humanos, sobre un conjunto reservado de secuencias de manipulación no vistas durante el entrenamiento. A cada fotograma se le asigna una etiqueta de subtask de referencia, y la precisión se calcula como la fracción de fotogramas en los que la etiqueta predicha coincide. Los errores se concentran en las fronteras entre subtasks, en lugar de ser errores sistemáticos sobre fases enteras.

Éxito de la tarea de extremo a extremo

Comparamos la policy completa de Cortex 2.0, con y sin predicción de subtask, en nuestros flujos de despliegue, atendiendo al éxito de la tarea de extremo a extremo.

El conjunto de evaluación tiene una distribución desigual de tareas individuales, cargada hacia el pick-and-place, seguido de la gestión de devoluciones y el kitting. En nuestros flujos de despliegue, el condicionamiento por subtask eleva el éxito de extremo a extremo del 91,8 % al 97,4 %. El efecto escala con la longitud de la tarea: la gestión de devoluciones (5+ transiciones de fase) registra la mayor mejora, con 16,1 puntos porcentuales (pp), el kitting 9,3 pp, mientras que las tareas cortas de pick-and-place muestran una mejora mínima (1,4 pp), como cabía esperar. Con pocas transiciones, la policy reactiva ya dispone de contexto suficiente a partir de la observación actual.

Tasa de éxito de extremo a extremo por flujo, con y sin predicción de subtask

Análisis de fallos

Sin predicción de subtask, el modo de fallo más habitual en tareas de horizonte largo no es un agarre fallido ni una colisión, sino que la policy aplique la estrategia de manipulación equivocada para la fase actual. Por ejemplo, intentar un movimiento de colocación cuando el artículo aún no está del todo extraído, o reiniciar una secuencia de recogida cuando el artículo ya está agarrado. Estos fallos resultan especialmente costosos porque suelen requerir intervención humana: el estado del robot se ha alejado de cualquier trayectoria recuperable.

Con predicción de subtask, esta clase de fallos se reduce sustancialmente. La policy recibe una señal explícita sobre la fase actual, lo que evita los errores de secuencia más graves. Los fallos residuales tienden a ser errores de ejecución dentro de una misma fase (por ejemplo, un agarre que resbala) y no confusiones entre fases.

Reducción relativa del error por modo de fallo, con y sin predicción de subtask

Ejecución correcta de todos los subtasks

Modo de fallo: errores de secuencia

Modo de fallo: fallos de agarre

Modo de fallo: colisiones

Dónde estamos hoy

El módulo de predicción de subtasks está desplegado actualmente junto a Cortex 2.0 en nuestros flujos de gestión de devoluciones y kitting. Estamos ampliando el conjunto de descripciones de subtask a medida que incorporamos nuevas tareas, y aumentando la diversidad de los datos de entrenamiento para mejorar la robustez en distintos entornos de almacén y distribuciones de objetos.

El enfoque de embeddings de texto contrastivos ya nos acerca al descubrimiento de subtasks en open-vocabulary, donde el modelo identifica fases de la tarea a partir de los datos, sin anotación manual de una lista de clases fija. Esto reduce el esfuerzo de ingeniería necesario para desplegar la predicción de subtasks en nuevos flujos y permite que el sistema se adapte a estructuras de tarea inéditas en el momento del despliegue.

Combinada con las capacidades de planificación de Cortex 2.0, la predicción de subtasks nos acerca a sistemas de manipulación que no solo razonan sobre qué hacer a continuación, sino que entienden dónde se encuentran en el contexto más amplio de la tarea. Esta capacidad nos ayudará a resolver con más fiabilidad la autonomía de horizonte largo.

Recursos del artículo

Acceda al contenido y los recursos de esta publicación

Contenido de texto

Copie el texto completo del artículo al portapapeles para leerlo o compartirlo fácilmente.

Recursos visuales

Descargue en un archivo ZIP todas las imágenes de alta resolución utilizadas en este artículo.

Últimos artículos