Embodied.cpp: A Portable Inference Runtime of Embodied AI Models on Heterogeneous Robots
Este artículo presenta Embodied.cpp, un tiempo de ejecución de inferencia en C++ portátil diseñado para unificar el despliegue fragmentado de diversos modelos de IA incorporada (como los VLA y los WAM) en robots de borde heterogéneos mediante la provisión de una arquitectura modular de cinco capas que permite un control de bucle cerrado de baja latencia y de múltiples tasas, mientras mejora significativamente la eficiencia de la memoria y las tasas de éxito de las tareas.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina que has construido un cerebro robótico brillante y altamente inteligente. Puede ver, entender el lenguaje y planificar cómo mover sus brazos para recoger una taza. Pero en este momento, lograr que este cerebro funcione realmente en un robot real es como intentar encajar un motor de Fórmula 1 en el cuadro de una bicicleta usando cinta adhesiva y una navaja suiza.
Actualmente, cada vez que un científico construye un nuevo cerebro robótico, tiene que escribir un conjunto completamente nuevo de "código de pegamento" (el software que conecta el cerebro con los sensores y motores del robot). Este código suele ser desordenado, escrito en Python y solo funciona en computadoras específicas. Si cambias el robot o el cerebro, tienes que reconstruir toda la conexión desde cero.
Entra "Embodied.cpp".
Piensa en Embodied.cpp como un kit de adaptadores universal y de alto rendimiento para cerebros robóticos. Es una pieza de software escrita en C++ (un lenguaje conocido por ser rápido y eficiente) que actúa como un puente entre cualquier nuevo cerebro robótico y cualquier cuerpo de robot, ya sea un diminuto robot en un chip o un robot de estación de trabajo gigante.
Así es como funciona, utilizando algunas analogías sencillas:
1. El Problema: El adaptador de "talla única para nadie"
Imagina que tienes un sistema de casa inteligente. Algunas luces se encienden cada segundo, el termostato comprueba la temperatura cada minuto y la cámara de seguridad graba cada hora.
- La forma antigua: Construyes un temporizador, un sensor y un interruptor separados para cada dispositivo. Si añades un nuevo dispositivo, tienes que cablear todo un circuito nuevo.
- El problema del artículo: Los cerebros robóticos son iguales. Algunas partes (como los ojos) necesitan actualizarse lentamente, mientras que otras (como los controles de los motores) necesitan actualizarse superrápido. El software existente intenta ejecutar todo a la misma velocidad, lo que es ineficiente y causa retrasos.
2. La Solución: Un sistema modular tipo "Lego"
Los autores diseñaron Embodied.cpp como un juego de Lego de alta tecnología con cinco capas específicas:
- Adaptadores de entrada: Estos son como enchufes universales. Ya sea que el robot vea una cámara, sienta un sensor táctil o lea un medidor de fuerza, esta capa lo traduce a un lenguaje que el cerebro entiende.
- Constructores de secuencias: Esto organiza los datos, como un bibliotecario clasificando libros antes de ponerlos en el estante.
- Ejecución del núcleo (Backbone): Esta es la "sala de máquinas" donde ocurre el pensamiento principal.
- Plugins de cabeza: Estas son las herramientas especializadas. Un robot puede necesitar una herramienta de "agarre", otro una herramienta de "caminar". Simplemente encajas el plugin correcto sin reconstruir el motor.
- Adaptadores de despliegue: Este es la capa de salida que habla con el mundo real, enviando comandos a los motores del robot o al software de simulación.
3. Las Tres Superpotencias
El artículo destaca tres formas específicas en las que este sistema es mejor que lo que existe hoy en día:
Ejecución de multitasa (El director de la orquesta):
En un robot, los "ojos" no necesitan parpadear tan rápido como los "dedos". Embodied.cpp actúa como un director de orquesta, permitiendo que los ojos funcionen a un ritmo lento y los dedos a un ritmo rápido, todo dentro del mismo sistema. El software antiguo intenta hacer que todos marchen al mismo ritmo, lo que desperdicia energía y causa lag.Control centrado en la latencia (El piloto de carreras):
En la computación en la nube (como chatear con una IA), la velocidad se mide por cuántas personas puedes atender a la vez. Pero para un robot, la velocidad se mide por qué tan rápido reacciona a un solo comando. Si un robot está atrapando un objeto que cae, no puede esperar a un "lote" de cálculos; necesita una respuesta instantánea. Embodied.cpp está construido para priorizar ese tiempo de reacción de una fracción de segundo en diferentes tipos de hardware (desde chips pequeños hasta grandes computadoras).Interfaces extensibles (El control remoto universal):
Los robots no solo emiten "palabras" o "tokens". Emiten cosas compleas como "mover el brazo 30 grados", "predecir dónde estará la pelota en 2 segundos" o "apretar suavemente". Embodied.cpp está construido para manejar estos resultados extraños y personalizados sin necesidad de ser reescrito cada vez que se inventa un nuevo robot.
4. Los Resultados: ¿Funciona?
Los autores probaron este sistema con dos tipos diferentes de cerebros robóticos:
- Los cerebros "Visión-Lenguaje" (VLA): Probaron dos modelos (HY-VLA y pi0.5). El sistema controló con éxito a un robot para completar tareas.
- Resultado: Un modelo tuvo éxito el 100% de las veces, y el otro el 91%. Demostró que el software podía ejecutar cerebros complejos en hardware real sin colapsar.
- Los cerebros "Mundo-Acción" (WAM): Estos son modelos más nuevos que intentan predecir el futuro (como adivinar dónde rodará una pelota). Probaron una pequeña parte de este cerebro.
- Resultado: Al usar este nuevo software, redujeron la memoria necesaria para ejecutar esa parte del cerebro de 312 MiB a 88 MiB. Eso es como encoger una mochila pesada para convertirla en una pequeña bolsa, haciendo que sea mucho más fácil de ejecutar en robots más pequeños y económicos.
La Conclusión
Embodied.cpp es un motor portátil y de alta velocidad para la inteligencia robótica. Evita que los científicos tengan que reinventar la rueda cada vez que construyen un nuevo robot. En lugar de escribir código desordenado y personalizado para cada nuevo proyecto, pueden conectar su nuevo cerebro robótico a este sistema universal, y simplemente funciona: rápido, de manera eficiente y en casi cualquier hardware.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.