Embodied.cpp: A Portable Inference Runtime of Embodied AI Models on Heterogeneous Robots
Este artigo apresenta o Embodied.cpp, um tempo de execução de inferência em C++ portátil projetado para unificar a implantação fragmentada de diversos modelos de IA incorporada (tais como VLAs e WAMs) em robôs de borda heterogêneos ao fornecer uma arquitetura modular de cinco camadas que permite o controle de malha fechada de baixa latência e múltiplas taxas, enquanto melhora significativamente a eficiência de memória e as taxas de sucesso de tarefas.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine que você construiu um cérebro robótico brilhante e altamente inteligente. Ele consegue ver, entender linguagem e planejar como mover seus braços para pegar uma xícara. Mas, neste momento, fazer esse cérebro funcionar de fato em um robô real é como tentar encaixar um motor de Fórmula 1 em um quadro de bicicleta usando fita adesiva e um canivete suíço.
Atualmente, toda vez que um cientista constrói um novo cérebro robótico, ele tem que escrever um conjunto completamente novo de "código de cola" (o software que conecta o cérebro ao robô e aos seus sensores e motores). Esse código é frequentemente bagunçado, escrito em Python e só funciona em computadores específicos. Se você mudar o robô ou o cérebro, tem que reconstruir toda a conexão do zero.
Apresentando o "Embodied.cpp".
Pense no Embodied.cpp como um kit de adaptadores universal e de alto desempenho para cérebros robóticos. É uma peça de software escrita em C++ (uma linguagem conhecida por ser rápida e eficiente) que atua como uma ponte entre qualquer novo cérebro robótico e qualquer corpo de robô, seja um pequeno robô em um chip ou um robô de estação de trabalho gigante.
Veja como ele funciona, usando algumas analogias simples:
1. O Problema: O Adaptador "Um Tamanho Não Serve para Todos"
Imagine que você tem um sistema de casa inteligente. Algumas luzes ligam a cada segundo, o termostato verifica a temperatura a cada minuto e a câmera de segurança grava a cada hora.
- O Jeito Antigo: Você constrói um temporizador, um sensor e um interruptor separados para cada dispositivo. Se você adicionar um novo dispositivo, tem que montar todo um novo circuito.
- O Problema do Artigo: Os cérebros robóticos são a mesma coisa. Algumas partes (como os olhos) precisam atualizar lentamente, enquanto outras (como os controles de motor) precisam atualizar super rápido. Os softwares existentes tentam executar tudo na mesma velocidade, o que é ineficiente e causa atrasos.
2. A Solução: Um Sistema Modular de "Lego"
Os autores projetaram o Embodied.cpp como um conjunto de Lego de alta tecnologia com cinco camadas específicas:
- Adaptadores de Entrada: Estes são como plugues universais. Quer o robô veja uma câmera, sinta um sensor de toque ou leia um medidor de força, esta camada traduz isso para uma linguagem que o cérebro entenda.
- Construtores de Sequência: Isso organiza os dados, como um bibliotecário organizando livros antes de colocá-los na prateleira.
- Execução do Backbone: Esta é a "sala de máquinas" onde o pensamento principal acontece.
- Plugins de Cabeça (Head Plugins): Estas são as ferramentas especializadas. Um robô pode precisar de uma ferramenta de "preensão", outro de uma ferramenta de "caminhada". Você apenas encaixa o plugin certo sem reconstruir o motor.
- Adaptadores de Implantação: Esta é a camada de saída que fala com o mundo real, enviando comandos para os motores do robô ou para o software de simulação.
3. Os Três Superpoderes
O artigo destaca três maneiras específicas pelas quais este sistema é melhor do que o que existe hoje:
Execução de Taxa Múltipla (O Maestro de uma Orquestra):
Em um robô, os "olhos" não precisam piscar tão rápido quanto os "dedos". O Embodied.cpp atua como um maestro, permitindo que os olhos corram em um ritmo lento e os dedos corram em um ritmo rápido, tudo dentro do mesmo sistema. Os softwares antigos tentam fazer todos marcharem no mesmo ritmo, o que desperdiça energia e causa atrasos.Controle Prioritário de Latência (O Piloto de Carro de Corrida):
Na computação em nuvem (como conversar com uma IA), a velocidade é medida por quantas pessoas você pode atender de uma vez. Mas, para um robô, a velocidade é medida por o quão rápido ele reage a um único comando. Se um robô está pegando um objeto que está caindo, ele não pode esperar por um "lote" de cálculos; ele precisa de uma resposta instantânea. O Embodied.cpp foi construído para priorizar esse tempo de reação de milésimos de segundo em diferentes tipos de hardware (desde pequenos chips até grandes computadores).Interfaces Extensíveis (O Controle Remoto Universal):
Robôs não geram apenas "palavras" ou "tokens". Eles geram coisas complexas como "mover o braço 30 graus", "prever onde a bola estará em 2 segundos" ou "apertar suavemente". O Embodied.cpp foi construído para lidar com essas saídas customizadas e estranhas sem precisar ser reescrito toda vez que um novo robô é inventado.
4. Os Resultados: Isso Funciona?
Os autores testaram este sistema com dois tipos diferentes de cérebros robóticos:
- Cérebros "Visão-Linguagem" (VLA): Eles testaram dois modelos (HY-VLA e pi0.5). O sistema controlou com sucesso um robô para completar tarefas.
- Resultado: Um modelo obteve sucesso 100% das vezes, e o outro 91%. Isso provou que o software pode rodar cérebros complexos em hardware real sem travar.
- Cérebros "Mundo-Ação" (WAM): Estes são modelos mais novos que tentam prever o futuro (como adivinhar para onde uma bola vai rolar). Eles testaram uma pequena parte deste cérebro.
- Resultado: Ao usar este novo software, eles reduziram a memória necessária para rodar essa parte do cérebro de 312 MiB para 88 MiB. Isso é como encolher uma mochila pesada para um pequeno estojo, tornando muito mais fácil rodar em robôs menores e mais baratos.
A Conclusão
Embodied.cpp é um motor portátil e de alta velocidade para a inteligência robótica. Ele impede que os cientistas tenham que reinventar a roda toda vez que constroem um novo robô. Em vez de escrever um código customizado e bagunçado para cada novo projeto, eles podem conectar seu novo cérebro robótico a este sistema universal, e ele simplesmente funciona — de forma rápida, eficiente e em quase qualquer hardware.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.