E1 · Rodar o script
5 minCopie 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".
Aula 2 · 16 min
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
Objetivo: explicar o caminho imagem + frase → ações e por que action chunking e flow matching existem.
Role a página: cada etapa acende uma parte do diagrama.
Role a página: cada etapa abaixo acende a sua parte do diagrama.
Transforma cada imagem em uma sequência de vetores que o resto do modelo entende. Normalmente vem pronto de um VLM pré-treinado.
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.
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.
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.
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.
Clique em cada um. A diferença é velocidade e precisão.
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.
A tokenização FAST da Physical Intelligence aplica uma transformada (DCT) e compressão (BPE) num pedaço da trajetória, que vira poucos tokens. Segundo a PI, treina 5 vezes mais rápido.
Em mai/2026 o MolmoAct 2, da Ai2, publicou uma reimplementação aberta do tokenizer FAST, com dados abertos.
Uma parte do modelo dedicada à ação (action expert) parte de ruído e o empurra até a ação certa, em valores contínuos. É o caminho do π0.
Difusão é parente próxima: o GR00T usa um DiT (transformer de difusão) de 32 camadas, e o modelo da Boston Dynamics com a TRI controla o Atlas inteiro a 30 Hz com diffusion transformer e flow matching (ago/2025).
Movimento fino e rápido: ação contínua em chunks. Raciocínio passo a passo: tokens.
Um modelo grande pensa devagar; um motor quer comando rápido. A solução é empilhar sistemas. No Helix da Figure (fev/2025), o S2 é um VLM a 7–9 Hz e o S1 uma política a 200 Hz.
O Helix 02 (jan/2026) acrescentou o S0: um controlador de corpo inteiro de 10M parâmetros a 1 kHz, que substitui 109.504 linhas de C++.
Um script de dez linhas que responde: dá tempo de o modelo pensar antes de o chunk acabar?
# 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")python3 orcamento.py
$ 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.
Faça a conta antes de rodar o script e depois confira.
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".
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).
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.
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
Pergunta 2 de 4
Por que existe o action chunking?
Pergunta 3 de 4
Qual action head gera a ação como valor contínuo, partindo de ruído?
Pergunta 4 de 4
No Helix 02, o que faz o S0?
Escolha uma alternativa. A explicação aparece depois da sua tentativa.