VLA: robôs que veem, entendem e agem|INEMA.CLUB-PRO

Aula 2 · 16 min

Olho, cérebro e mão: por dentro de um VLA

Todo VLA tem três partes: uma que vê, uma que entende e uma que transforma a decisão em movimento. A parte do movimento é onde os modelos mais diferem, e onde o relógio aperta: o braço espera comando a cada poucos milissegundos.

Começar a aula
Close da câmera de punho e da garra de um braço robótico prestes a pegar um copo.

Nesta aula você vai

  1. 1As três partes: encoder visual, backbone e action head
  2. 2Três jeitos de gerar ação: bins, FAST e flow matching
  3. 3Por que o modelo devolve um pedaço de ações (chunk)
  4. 4A hierarquia lento/rápido: S2, S1 e S0

Objetivo: explicar o caminho imagem + frase → ações e por que action chunking e flow matching existem.

01O caminho da câmera até o motor

Role a página: cada etapa acende uma parte do diagrama.

Role a página: cada etapa abaixo acende a sua parte do diagrama.

  1. 1/5

    Encoder visual

    Transforma cada imagem em uma sequência de vetores que o resto do modelo entende. Normalmente vem pronto de um VLM pré-treinado.

  2. 2/5

    Backbone

    Um VLM que recebe os tokens da imagem, a instrução e o estado do robô. Exemplos de 2026: o GR00T N1.7 usa o Cosmos-Reason2-2B; o RDT2 usa o Qwen2.5-VL-7B. É daqui que vem o "entende" do título do curso.

  3. 3/5

    Action head

    Transforma a decisão do backbone em números de motor. Pode escolher valores numa lista (bins), escrever a trajetória comprimida em tokens (FAST) ou gerar a ação contínua por flow matching ou difusão.

  4. 4/5

    Chunk de ações

    Em vez de uma ação por vez, o modelo devolve um pedaço de N ações. O controle executa esse pedaço enquanto o modelo calcula o próximo.

  5. 5/5

    O caminho inteiro

    A câmera vira tokens, o backbone junta com a frase e o estado, o action head devolve um chunk de ações e o motor executa enquanto o próximo chunk é calculado.

Na maioria dos VLAs de 2026 o backbone é um VLM pré-treinado e o que muda de um modelo para outro é o action head.

02Três jeitos de gerar a ação

Clique em cada um. A diferença é velocidade e precisão.

1. Bins

Cada junta tem a faixa de movimento dividida em caixinhas (bins), e o modelo escolhe uma caixinha como escolheria uma palavra. Modelos como o OpenVLA (7B, jun/2024) seguem essa ideia.

É simples, mas uma ação por vez e com precisão limitada pelo tamanho da caixinha.

03O orçamento de tempo do controle

Um script de dez linhas que responde: dá tempo de o modelo pensar antes de o chunk acabar?

orcamento.py
# orcamento.py: quanto tempo cada pedaço (chunk) de ações cobre
hz = 50            # frequência do controle (comandos por segundo)
chunk = 25         # ações que o modelo devolve de uma vez
inferencia_ms = 180  # tempo para o modelo gerar um chunk

periodo_ms = 1000 / hz
dura_chunk_ms = chunk * periodo_ms
acoes_na_espera = inferencia_ms / periodo_ms

print(f"período do controle: {periodo_ms:.0f} ms")
print(f"um chunk de {chunk} ações cobre: {dura_chunk_ms:.0f} ms")
print(f"ações que passam enquanto o modelo pensa: {acoes_na_espera:.0f}")
print("dá tempo de pensar antes do chunk acabar?", "sim" if inferencia_ms < dura_chunk_ms else "não")
Terminal
python3 orcamento.py
Exemplo do repositório
$ python3 orcamento.py
período do controle: 20 ms
um chunk de 25 ações cobre: 500 ms
ações que passam enquanto o modelo pensa: 9
dá tempo de pensar antes do chunk acabar? sim

Os 180 ms são o tempo de uma chamada de ação do MolmoAct 2 informado pela Ai2 (mai/2026). No seu robô, meça o seu.

04Prática: o seu orçamento de tempo

Faça a conta antes de rodar o script e depois confira.

E1 · Rodar o script

5 min

Copie o orcamento.py, rode e confira se a saída é igual à do quadro.

Pronto quando: o seu terminal mostra 20 ms, 500 ms, 9 e "sim".

E2 · Chunk curto demais

10 min

Troque chunk para 8 e mantenha 50 Hz e 180 ms. Antes de rodar, escreva no papel: quanto o chunk cobre, quantas ações passam na espera e se dá tempo.

Pronto quando: o seu papel e o terminal dizem o mesmo: 160 ms, 9 ações e "não" (o chunk acaba antes da próxima inferência).

E3 · O menor chunk que funciona

5 min

Ainda a 50 Hz e 180 ms, descubra o menor chunk que dá tempo.

Pronto quando: você chegou a 10 ações (200 ms, maior que 180 ms) e sabe explicar por que 9 não basta.

05Teste o que aprendeu

A explicação aparece depois da sua resposta.

Pergunta 1 de 4

Um controle a 50 Hz com chunk de 25 ações. Quanto tempo o chunk cobre?competência

06Resumo

Olho, cérebro e mãoEncoder visual, backbone (um VLM) e action head.
A mão é onde mudaBins, FAST ou flow matching/difusão: lista, tokens comprimidos ou contínuo.
O relógio mandaChunk de N ações a 50 Hz cobre N × 20 ms, e tem de durar mais que a inferência.

Fontes desta aula

Aula anteriorPróxima aula