VLA / Trilha 2 — Aplicação Técnica

Trilha 2 — Aplicação Técnica

De zero a deploy: Python, LeRobot, simuladores, ROS2, treinamento e transferência sim-to-real. As ferramentas e técnicas para construir VLAs que funcionam.

6 módulos · ~18 h estimadas · Pré-requisito: Trilha 1

Coleta Teleoperação LeRobot · RLDS Treinamento ACT · Diffusion PyTorch + W&B Simulação MuJoCo · Isaac Sim Domain Randomization 94k FPS ray-tracing ROS2 Nav2 · MoveIt2 DDS Middleware Deploy Sim-to-Real Robô Real + Dados + Política + Validação + Integração Pipeline completo: da coleta ao deploy em robô real

Mapa da trilha

Conteúdo detalhado

2.1 Ecossistema Python: PyTorch, Transformers, Gymnasium

As ferramentas que todo engenheiro VLA precisa dominar: do tensor ao environment. PyTorch para autograd, HuggingFace para modelos pré-treinados, Gymnasium para ambientes padronizados.

Python 3.10+ Linguagem base do ecossistema VLA PyTorch Tensores + Autograd GPU CUDA nativo Transformers Modelos pré-treinados 300k+ modelos no Hub Gymnasium Environments RL obs/act/reward API W&B Tracking Experimentos Docker: Reprodutibilidade
1 PyTorch para robótica: tensores e autograd

O que é

PyTorch é o framework de deep learning dominante em robótica e VLA. Tensores são arrays multidimensionais com suporte nativo a GPU via CUDA. O sistema autograd calcula gradientes automaticamente, essencial para backpropagation durante treinamento de políticas.

Por que aprender

Praticamente todo VLA (OpenVLA, pi-0, ACT) é implementado em PyTorch. Sem dominar tensores, shapes e autograd, você não consegue debugar treinamentos, customizar losses ou adaptar arquiteturas existentes.

Conceitos-chave

torch.Tensor, device (cpu/cuda), dtype (float32/bfloat16), autograd e computational graph, nn.Module e forward(), optim.AdamW, mixed precision (torch.amp), torch.compile para otimização JIT.

2 HuggingFace Transformers: modelos pré-treinados

O que é

Biblioteca que unifica o acesso a 300k+ modelos pré-treinados via API padronizada. Para VLA, é crucial porque modelos como OpenVLA, SmolVLA e Qwen-VL são distribuídos via HuggingFace Hub com pipeline de inferência pronto.

Por que aprender

O HuggingFace Hub é o centro do ecossistema open-source de VLA. LeRobot hospeda 58k+ datasets lá. Saber usar AutoModel, from_pretrained() e tokenizers é pré-requisito para qualquer trabalho prático.

Conceitos-chave

AutoModelForVision2Seq, AutoProcessor, from_pretrained(), model.generate(), LoRA/PEFT para fine-tune eficiente, datasets library, model cards, safetensors format, Hub API.

3 Gymnasium (ex-Gym): environments padronizados

O que é

Gymnasium (sucessor do OpenAI Gym) define a interface padrão para ambientes de RL: observation_space, action_space, step(), reset(). Em robótica VLA, serve como wrapper para simuladores e permite treinar políticas com interface consistente.

Por que aprender

A API Gymnasium é o contrato universal entre política e ambiente. MuJoCo, Isaac Sim e PyBullet todos implementam essa interface. Entender obs/act/reward/done é fundamental para qualquer loop de treinamento.

Conceitos-chave

gym.Env, observation_space (Box, Dict), action_space (Box contínuo, Discrete), step() retorna (obs, reward, terminated, truncated, info), VectorEnv para paralelismo, wrappers para transformações.

4 Datasets e DataLoaders para trajetórias

O que é

Dados de robótica são trajetórias: sequências de (observação, ação, reward) coletadas por teleoperação ou simulação. O formato RLDS (Google) e LeRobot Dataset padronizam como armazenar e carregar essas trajetórias para treinamento eficiente.

Por que aprender

Dados são o gargalo número um em robótica. Saber estruturar datasets de trajetórias, fazer data augmentation (crop, color jitter) e usar DataLoaders com prefetch é essencial para treinos que convergem.

Conceitos-chave

RLDS format (TFRecord), LeRobot Dataset (Parquet + vídeo), torch.utils.data.DataLoader, num_workers, pin_memory, collate_fn para batches de trajetórias variáveis, data augmentation específica de robótica.

5 Weights & Biases: tracking de experimentos

O que é

W&B é a plataforma padrão para rastrear experimentos de ML. Registra métricas (loss, success rate), hiperparâmetros, artefatos (checkpoints) e permite comparar runs lado a lado. LeRobot tem integração nativa com W&B.

Por que aprender

Sem tracking estruturado, treinamentos de VLA viram caixa preta. Você precisa comparar ACT vs Diffusion Policy, diferentes learning rates, e identificar quando o modelo diverge. W&B torna isso visual e reproduzível.

Conceitos-chave

wandb.init(), wandb.log(), wandb.config, Sweeps para hyperparameter search, Tables para visualizar trajetórias, model registry para versionamento, integração LeRobot via config YAML.

6 Docker e reprodutibilidade em robótica

O que é

Docker containeriza o ambiente de desenvolvimento: versões exatas de Python, PyTorch, CUDA e dependências ficam fixas. Em robótica, onde a combinação CUDA driver + PyTorch + MuJoCo pode quebrar facilmente, containers são essenciais.

Por que aprender

Reprodutibilidade é um dos maiores problemas em pesquisa de robótica. Um Dockerfile garante que qualquer pessoa consiga rodar seu treinamento. NVIDIA NGC e LeRobot fornecem containers prontos.

Conceitos-chave

Dockerfile multi-stage, nvidia-docker2 (GPU passthrough), NVIDIA NGC containers, docker-compose para multi-serviço, volumes para datasets, devcontainers para VS Code, CI/CD com containers.

2.2 LeRobot: Pipeline End-to-End

O framework open-source do HuggingFace que democratiza robótica: coleta, treino e deploy. Com 12k stars no GitHub e 58k+ datasets, LeRobot é o ponto de entrada mais acessível para VLA prático.

LeRobot Pipeline Coleta Teleoperação lerobot/record SO-100 / Koch Dataset 58k+ no Hub Parquet + Video Treino ACT / Diffusion TDMPC / VQ-BeT YAML config Avaliação Success Rate Benchmarks Deploy Robô Real-time 12k GitHub stars GPU A100/H100 7-50 Hz Open-source: pip install lerobot
1 LeRobot overview: 12k stars, 58k+ datasets

O que é

LeRobot é o framework open-source da HuggingFace para robótica end-to-end. Lançado em 2024, já tem 12k stars no GitHub e 58k+ datasets no Hub. Cobre coleta de dados, treinamento de políticas e deploy em robôs reais com uma única ferramenta.

Por que aprender

É o caminho mais rápido de zero a robô funcionando. Antes do LeRobot, cada lab tinha seu pipeline ad-hoc. Agora existe um padrão open-source com comunidade ativa e documentação extensa.

Conceitos-chave

pip install lerobot, lerobot/scripts/train.py, lerobot/scripts/record.py, LeRobotDataset class, HuggingFace Hub integration, modelo de contribuição aberta, suporte a múltiplos robôs (SO-100, Koch, Aloha).

2 Coleta de dados com teleoperação

O que é

Teleoperação é quando um humano controla o robô remotamente para gerar demonstrações. O LeRobot grava sincronizadamente vídeo das câmeras e posições dos atuadores. Cada demonstração vira um episódio no dataset com timestamps alinhados.

Por que aprender

Qualidade e quantidade dos dados de demonstração determinam diretamente o sucesso do treinamento. Saber montar o setup de teleoperação, calibrar câmeras e gravar episódios consistentes é a base de tudo.

Conceitos-chave

Leader-follower setup, calibração de câmera intrínseca/extrínseca, episode recording, lerobot record --robot-path, 50-100 episódios para tarefas simples, data quality filtering, replay para validação.

3 Políticas: ACT, Diffusion Policy, TDMPC

O que é

Políticas são os modelos neurais que mapeiam observações para ações. LeRobot implementa várias: ACT (Action Chunking with Transformers) usa CVAE + transformer, Diffusion Policy usa denoising iterativo, TDMPC combina model-based planning com learned dynamics.

Por que aprender

Cada política tem tradeoffs: ACT é rápido de treinar mas pode ser impreciso em tarefas finas. Diffusion Policy gera ações mais suaves mas é mais lento na inferência. Saber escolher a política certa para a tarefa é crucial.

Conceitos-chave

ACT: CVAE encoder + transformer decoder, action chunks de 100 steps. Diffusion Policy: DDPM com U-Net ou transformer, 10-100 denoising steps. TDMPC: world model + planning. VQ-BeT: tokenização discreta de ações.

4 Treinamento em GPU: config YAML e checkpoints

O que é

LeRobot usa configs YAML para definir toda a pipeline de treinamento: política, dataset, hiperparâmetros, device. Um único comando (python lerobot/scripts/train.py) lança o treino com logging automático em W&B e checkpoints periódicos.

Por que aprender

A config YAML é o "contrato" do experimento. Saber ajustar learning rate, batch size, número de epochs e scheduling de checkpoints é a diferença entre um modelo que converge e um que diverge.

Conceitos-chave

Hydra config system, policy.yaml + env.yaml, training_steps, eval_freq, checkpoint_freq, resume_from_checkpoint, GPU memory management (gradient accumulation, mixed precision), multi-GPU com DDP.

5 Avaliação: métricas de sucesso e benchmarks

O que é

Avaliação em robótica é diferente de NLP: não basta medir loss no validation set. O que importa é success rate (% de episódios onde a tarefa foi completada) e generalização para objetos/posições novas. LeRobot integra avaliação automática em simuladores.

Por que aprender

Um modelo com loss baixo pode falhar no robô real. Métricas de sucesso em simulação são o proxy mais confiável antes do deploy. Saber configurar avaliação periódica durante o treino acelera iterações.

Conceitos-chave

Success rate, partial completion score, out-of-distribution (OOD) evaluation, sim evaluation via gym env, N_eval_episodes (tipicamente 50), video recording de episódios, benchmark comparisons (SIMPLER, LIBERO).

6 Deploy em robô real: SO-100 e Koch

O que é

Deploy é transferir o checkpoint treinado para controlar um robô real em tempo real. LeRobot suporta robôs acessíveis como SO-100 (~$300) e Koch v1.1, rodando inferência no próprio laptop. O loop é: capturar frame, inferir ação, enviar comando ao atuador.

Por que aprender

O deploy real é onde tudo é testado de verdade. Latência de câmera, USB bandwidth, jitter do sistema operacional, tudo importa. Saber diagnosticar problemas de deploy é a habilidade que separa simulação de robótica real.

Conceitos-chave

lerobot/scripts/control_robot.py, real-time inference loop, camera latency budgeting, USB serial communication, safety limits (velocidade máxima, force threshold), calibração pós-deploy, iteração rápida coleta-treino-deploy.

2.3 Simuladores: MuJoCo, Isaac Sim, PyBullet

Treinar robôs sem quebrar nada: simulação física de alta fidelidade para VLA. MuJoCo a 2.7M steps/s, Isaac Sim com ray-tracing a 94k FPS, e PyBullet para prototipagem rápida.

MuJoCo 2.7M steps/s Contato suave DeepMind / Google Padrão acadêmico Open-source (Apache 2) Isaac Sim 94k FPS ray-tracing PhysX 5 + Omniverse NVIDIA Domain randomization Free (NVIDIA dev) PyBullet Leve e rápido pip install pybullet Bullet Physics Prototipagem rápida Open-source (zlib) Velocidade Fidelidade Acessibilidade
1 MuJoCo: 2.7M steps/s, o padrão acadêmico

O que é

MuJoCo (Multi-Joint dynamics with Contact) é um motor de física otimizado para simulação de contato entre corpos rígidos e articulações. Adquirido pelo Google DeepMind em 2021, agora é open-source e processa 2.7 milhões de steps por segundo em CPU.

Por que aprender

MuJoCo é o simulador padrão da comunidade acadêmica de robótica e RL. A maioria dos benchmarks (dm_control, Gymnasium Robotics) roda em MuJoCo. Dominar MuJoCo é pré-requisito para reproduzir papers e treinar políticas VLA em escala.

Conceitos-chave

MJCF (formato XML para modelos), qpos/qvel (estado generalizado), solver Newton/CG, contato suave (soft contacts), integrador semi-implícito Euler, mujoco-py vs mujoco (binding oficial), MJX (MuJoCo em JAX para GPU).

2 NVIDIA Isaac Sim: 94k FPS, ray-tracing

O que é

Isaac Sim é a plataforma de simulação robótica da NVIDIA construída sobre Omniverse e PhysX 5. Oferece renderização fotorrealística com ray-tracing em tempo real e pode simular milhares de robôs em paralelo usando GPU, atingindo 94k FPS.

Por que aprender

Para sim-to-real de alta fidelidade, a qualidade visual do simulador importa muito. Isaac Sim permite domain randomization com texturas e iluminação realistas, reduzindo o reality gap. É o simulador escolhido pela NVIDIA para treinar GR00T N1.

Conceitos-chave

Omniverse USD (formato universal de cena), PhysX 5 (GPU-accelerated physics), Isaac Lab (framework de RL/IL), OmniGraph (lógica visual), RTX ray-tracing, Isaac Gym (predecessor, deprecado), integração com ROS2 via bridge.

3 PyBullet: leve e open-source

O que é

PyBullet é o wrapper Python do Bullet Physics Engine. Com um simples pip install, você tem um simulador 3D com detecção de colisão, constraints e URDF loader. Ideal para prototipagem rápida e ensino.

Por que aprender

A barreira de entrada é mínima: funciona em qualquer laptop sem GPU dedicada. Muitos tutoriais e cursos de RL usam PyBullet. É o caminho mais rápido para ter um robô simulado rodando uma política aprendida.

Conceitos-chave

URDF (Unified Robot Description Format), p.loadURDF(), stepSimulation(), getJointState/setJointMotorControl2, pybullet_envs (Gymnasium wrappers), direct vs GUI mode, collision shapes, constraints.

4 Gazebo + ROS2: integração nativa

O que é

Gazebo (agora "Gz") é o simulador integrado ao ecossistema ROS2. Diferente de MuJoCo (focado em pesquisa RL), Gazebo simula sensores reais (LiDAR, câmeras depth, IMU) e se comunica com ROS2 via topics nativamente.

Por que aprender

Se o deploy final usa ROS2, testar em Gazebo significa que o código do robô real e do simulado é praticamente idêntico. Isso acelera enormemente o ciclo de desenvolvimento e reduz surpresas no deploy.

Conceitos-chave

SDF (Simulation Description Format), gz-sim (novo nome), ros_gz_bridge, sensor plugins (câmera, LiDAR, IMU), world files, spawn models via service, Gazebo Fuel (repositório de modelos 3D), integração MoveIt2.

5 Domain randomization: variabilidade para transferência

O que é

Domain randomization é a técnica de variar aleatoriamente parâmetros do simulador (texturas, iluminação, massas, fricção, cores) durante o treinamento para que a política aprenda a ser robusta a variações e transfira melhor para o mundo real.

Por que aprender

Sem domain randomization, políticas treinadas em simulação falham catastroficamente no mundo real porque overfitam nos visuais e na física perfeita do simulador. É a técnica que viabilizou o primeiro sim-to-real bem-sucedido (OpenAI Rubik's Cube, 2019).

Conceitos-chave

Visual randomization (texturas, cores, luz), physics randomization (massa, fricção, damping), dynamics randomization, structured vs uniform sampling, curriculum de randomização (progressiva), ADR (Automatic Domain Randomization).

6 Sim-to-sim: validação antes do real

O que é

Sim-to-sim é a prática de transferir uma política treinada em um simulador (ex: MuJoCo) para outro simulador (ex: Isaac Sim) como etapa intermediária antes do robô real. Se a política falha em outro sim, vai falhar no real.

Por que aprender

É uma validação barata e rápida. Testar em 2+ simuladores com físicas diferentes revela fragilidades da política antes de arriscar hardware caro. Também permite isolar se o problema é visual ou de dinâmica.

Conceitos-chave

Cross-simulator transfer, physics fidelity gap entre simuladores, URDF/MJCF conversion tools, benchmark standardization (SIMPLER), avaliação estatística (N episódios, confidence intervals), debugging visual vs dinâmico.

2.4 ROS2: Middleware para Robótica Real

O sistema operacional dos robôs: pub/sub, TF2, Nav2 e integração com VLA. ROS2 é o padrão da indústria para robótica de produção.

DDS Middleware (Topics / Services / Actions) 📷 Camera /image_raw 🔄 TF2 Transformações 🧠 VLA Inference /vla/actions 🦾 MoveIt2 /joint_trajectory 🤖 Robot Hardware ros2_control · drivers
1 ROS2 Humble/Iron: arquitetura DDS

O que é

ROS2 é o framework middleware padrão da indústria robótica. Diferente do ROS1, usa DDS (Data Distribution Service) como camada de transporte, oferecendo QoS configurável, descoberta automática de nós e comunicação real-time sem master node central.

Por que aprender

Qualquer robô que vai para produção industrial usa ROS2. É o "Linux da robótica". Integrar um modelo VLA em ROS2 é obrigatório para deploy real. As distribuições atuais (Humble LTS, Iron) são estáveis e suportadas até 2027+.

Conceitos-chave

DDS (Fast-RTPS, Cyclone DDS), nós (nodes), executores (single-threaded vs multi-threaded), lifecycle nodes, QoS profiles (reliability, durability, history), colcon build system, ament_cmake/ament_python.

2 Topics, Services e Actions

O que é

Os três padrões de comunicação em ROS2. Topics são pub/sub assíncronos (streaming de dados, ex: imagem da câmera). Services são request/reply síncronos (ex: mudar modo). Actions são tarefas longas com feedback (ex: mover braço até posição).

Por que aprender

Escolher o padrão errado causa bugs sutis: usar topic onde deveria ser action significa perder feedback de progresso; usar service onde deveria ser topic bloqueia o nó. VLA inference tipicamente publica em topic (alta frequência) e recebe comandos via action.

Conceitos-chave

Publisher/Subscriber (topic), Client/Server (service), ActionServer/ActionClient, msg/srv/action interfaces, custom messages, QoS para cada tipo, ros2 topic echo/pub para debug, rqt_graph para visualizar.

3 TF2: árvore de transformações

O que é

TF2 (Transform Library 2) mantém uma árvore de transformações 3D entre todos os frames de referência do robô (base_link, câmera, gripper, etc) atualizada em tempo real. Permite converter coordenadas entre qualquer par de frames instantaneamente.

Por que aprender

VLA precisa saber onde a câmera está em relação ao gripper e ao mundo. Sem TF2, você teria que calcular transformações manualmente a cada frame. TF2 faz isso automaticamente com buffer temporal, essencial para fusão de sensores.

Conceitos-chave

Frames (base_link, odom, map, camera_link, tool0), static vs dynamic transforms, tf2_ros::Buffer, lookupTransform(), URDF → robot_state_publisher → TF tree, tf2_echo para debug, rviz2 para visualizar.

4 Nav2 e MoveIt2: navegação e manipulação

O que é

Nav2 é o stack de navegação autônoma (planejamento de caminho, obstacle avoidance, costmaps). MoveIt2 é o framework de manipulação (motion planning, cinemática inversa, collision avoidance). Juntos cobrem mobilidade e manipulação.

Por que aprender

VLA pode gerar ações de alto nível ("vá até a mesa"), mas Nav2/MoveIt2 executam o planejamento de caminho seguro. A combinação VLA (o quê fazer) + Nav2/MoveIt2 (como chegar lá sem colidir) é o padrão para robôs mobile manipulators.

Conceitos-chave

Nav2: BT (Behavior Trees), costmap2d, planner/controller servers, recovery behaviors. MoveIt2: SRDF, planning scene, OMPL planners (RRT*, PRM), servo (real-time control), grasp planning, pick-and-place pipeline.

5 ROS2 + VLA: nó de inferência

O que é

O nó de inferência VLA em ROS2 é o componente que recebe imagens e comandos de linguagem via topics, roda o modelo VLA (PyTorch/ONNX), e publica ações para o controlador do robô. Funciona como uma ponte entre o mundo ROS2 e o mundo ML.

Por que aprender

Integrar ML em ROS2 tem desafios únicos: GIL do Python, latência de serialização, sincronização câmera-ação, gerenciamento de GPU memory. Um nó bem arquitetado é a diferença entre 5 Hz e 50 Hz de inferência.

Conceitos-chave

rclpy node com callback de imagem, message_filters (sincronizar câmera + joint_states), ONNX Runtime para inferência otimizada, TensorRT via ROS2, pre-allocated buffers (evitar malloc), executor multi-thread, composable nodes.

6 Launch files e deploy em produção

O que é

Launch files em ROS2 (Python) orquestram a inicialização de múltiplos nós com parâmetros, remappings e condicionais. Em produção, combinam com systemd, Docker e monitoramento para garantir que o sistema robótico reinicie automaticamente após falhas.

Por que aprender

Deploy de robótica em produção é engenharia de sistemas, não só ML. Um launch file bem estruturado com lifecycle management, health checks e restart policies é o que separa um demo de um produto. Empresas pagam premium por essa expertise.

Conceitos-chave

LaunchDescription, Node(), ComposableNodeContainer, lifecycle_node (configure/activate/deactivate), parameters YAML, launch arguments, event handlers, ros2 launch logging, systemd unit files, Docker + ROS2, rosbag2 para replay.

2.5 Treinamento: Imitation Learning, ACT, Diffusion Policy

Como o robô aprende assistindo humanos: das demonstrações à política neural. Behavior cloning, Action Chunking Transformers e Diffusion Policy são os 3 paradigmas dominantes.

🧑‍🏫 Demonstrações (s, a) pares Behavior Cloning MSE loss · simples ACT (Chunking) Transformer · chunks Diffusion Policy Denoising · multimodal Política Neural obs → ação checkpoint .pt 🤖 Deploy
1 Imitation Learning: behavior cloning básico

O que é

Behavior cloning (BC) é a forma mais simples de imitation learning: coleta-se demonstrações humanas (pares observação-ação), e treina-se uma rede neural supervisionada para mapear observações a ações. É essencialmente regressão sobre trajetórias.

Por que aprender

BC é o baseline de toda robótica VLA. Apesar de simples, funciona surpreendentemente bem com dados suficientes. OpenVLA, RT-2 e Octo usam variantes sofisticadas de BC como ponto de partida. Entender suas limitações (distribution shift) é essencial.

Conceitos-chave

Supervised learning sobre (s,a) pares, MSE/L1 loss para ações contínuas, distribution shift (compounding errors), DAgger (Dataset Aggregation) para mitigar drift, covariate shift, horizon de demonstração vs horizon de execução.

2 ACT: Action Chunking with Transformers

O que é

ACT (Zhao et al., 2023) prediz chunks de ações futuras de uma vez, em vez de uma ação por vez. Um encoder CVAE gera um estilo latente, e um decoder transformer gera K ações futuras condicionadas nesse estilo e na observação atual.

Por que aprender

ACT resolve dois problemas de BC: o temporal compounding error (ao planejar K passos à frente) e a multimodalidade (via CVAE). É a política padrão do LeRobot e a base do ALOHA (braços bimanuais do Google). Performance estado da arte com poucos demos.

Conceitos-chave

Action chunking: predizer K ações de uma vez (K=100 típico). CVAE (Conditional Variational Autoencoder) para capturar modos múltiplos. Temporal ensemble: média ponderada de chunks sobrepostos. kl_weight (regularização do latente).

3 Diffusion Policy: denoising para ações

O que é

Diffusion Policy (Chi et al., 2023) aplica modelos de difusão (como os de geração de imagem) à geração de trajetórias robóticas. Começa com ruído gaussiano e, em T passos de denoising condicionados na observação, gera uma trajetória de ações suave e multimodal.

Por que aprender

Diffusion Policy supera BC e ACT em tarefas com alta multimodalidade (ex: múltiplos caminhos válidos para o mesmo objetivo). É a base da política S1 do GR00T N1 e do π0. A capacidade de capturar distribuições complexas de ações é incomparável.

Conceitos-chave

DDPM (Denoising Diffusion Probabilistic Models) aplicado a ações, noise schedule, conditional denoising (observation-conditioned), U-Net vs transformer backbone, inference steps (DDIM para acelerar), horizon de ação, observation horizon vs action horizon.

4 Fine-tuning de VLAs pré-treinados

O que é

Fine-tuning adapta um modelo VLA pré-treinado em dados gerais (ex: OpenVLA treinado em Open X-Embodiment) para sua tarefa e robô específicos usando um dataset muito menor. Análogo ao fine-tuning de LLMs, mas com trajetórias robóticas.

Por que aprender

Treinar um VLA do zero requer milhões de trajetórias. Fine-tuning de um modelo pré-treinado precisa de apenas 50-200 demonstrações do seu setup. OpenVLA 7B fine-tuned supera RT-2-X com 10x menos dados. É o caminho prático para 99% dos projetos.

Conceitos-chave

LoRA / QLoRA para eficiência de memória, learning rate schedule (cosine decay com warmup), frozen backbone vs full fine-tune, dataset mixing (dados gerais + específicos), catastrophic forgetting, evaluation on holdout tasks.

5 RL post-training: +24% com reinforcement

O que é

Reinforcement Learning post-training aplica RL (PPO, GRPO) sobre uma política inicializada por imitation learning. O robô melhora além das demos humanas ao otimizar reward signals automáticos. Analogia: RLHF para LLMs, mas com rewards físicos.

Por que aprender

Qwen-VLA mostrou +24% de melhoria em success rate após RL post-training com GRPO. O modelo supera as demonstrações humanas originais. É a fronteira atual de performance: IL para bootstrap, RL para otimização.

Conceitos-chave

GRPO (Group Relative Policy Optimization), PPO (Proximal Policy Optimization), reward shaping para manipulação, success-based sparse reward vs dense reward, KL penalty (não divergir muito do IL), sample efficiency, online vs offline RL.

6 Avaliação: success rate, OOD generalization

O que é

Avaliação em robótica VLA mede success rate (% de tarefas completadas) em cenários in-distribution (mesmos objetos do treino) e out-of-distribution (objetos, posições e iluminação novos). OOD success rate é a métrica que realmente importa.

Por que aprender

Um modelo com 95% in-distribution pode ter 30% OOD. Saber projetar avaliações que testam generalização real evita surpresas no deploy. Benchmarks como SIMPLER e LIBERO padronizam comparações entre modelos.

Conceitos-chave

Success rate (SR), OOD SR, partial completion metrics, N_eval_episodes (50+), confidence intervals, SIMPLER benchmark, LIBERO suite, video recording de falhas, error taxonomy (grasp fail, reach fail, collision), ablation studies.

2.6 Sim-to-Real: Do Virtual ao Físico

A ponte mais difícil: como transferir habilidades do simulador para o robô real. Domain randomization, system identification e o loop real-to-sim-to-real.

🖥️ Simulação Domain Randomization MuJoCo / Isaac Sim 10K+ episódios Rápido, seguro, barato transfer 🌉 Bridge System ID Domain Adaptation Calibração + ajuste deploy 🤖 Real Hardware real Física imperfeita Feedback sensorial Ground truth final real-to-sim feedback (refine)
1 Reality gap: por que simulação ≠ realidade

O que é

O reality gap é a diferença entre o comportamento de um robô no simulador e no mundo real. Vem de três fontes: visual (texturas, iluminação), dinâmica (atrito, massas, compliance) e sensorial (ruído de câmera, latência, jitter). Uma política perfeita em sim pode falhar 100% no real.

Por que aprender

Ignorar o reality gap é o erro mais comum de iniciantes. Entender suas fontes permite escolher as técnicas certas: domain randomization para o gap visual, system identification para o gap dinâmico, sensor noise injection para o gap sensorial.

Conceitos-chave

Visual gap (rendering vs câmera real), dynamics gap (física simplificada vs contato real), sensor gap (sensores ideais vs ruidosos), actuator gap (controle perfeito vs backlash e atrito), transferability metrics, sim-to-real success rate.

2 Domain randomization: texturas, física, luz

O que é

Domain randomization varia sistematicamente os parâmetros do simulador (texturas, cores, posição de luzes, massas, coeficientes de atrito) a cada episódio. A política é forçada a generalizar porque nunca vê o mesmo cenário duas vezes.

Por que aprender

É a técnica de sim-to-real mais robusta e mais usada. OpenAI usou para resolver Rubik's Cube (2019), NVIDIA usa em Isaac Lab, e todos os pipelines VLA modernos incluem alguma forma de randomization. Sem isso, políticas overfitam na aparência do sim.

Conceitos-chave

Visual DR: texturas random, cor de fundo, intensidade de luz, posição de câmera. Physics DR: massa ±30%, fricção ±50%, damping, action delay (1-3 steps). ADR (Automatic Domain Randomization): aumenta ranges automaticamente quando performance estabiliza.

3 System identification: calibrar o simulador

O que é

System identification (sysid) é o processo de medir os parâmetros físicos reais do robô (massas, inércias, atrito, rigidez) e configurar o simulador para matchá-los. Em vez de randomizar tudo, você calibra o sim para ser o mais próximo possível do real.

Por que aprender

Domain randomization com ranges muito amplos pode degradar a performance (a política fica "medíocre em tudo"). System identification permite usar ranges estreitos centrados nos valores reais, combinando o melhor dos dois mundos: robustez + precisão.

Conceitos-chave

Parameter estimation: gravar trajetória real, otimizar parâmetros do sim para minimizar erro. Bayesian optimization para sysid. Residual physics learning: rede neural que aprende a diferença entre sim e real. Sim calibration tools (MuJoCo XML editing, Isaac Lab config).

4 Sim-to-real transfer: técnicas atuais

O que é

Sim-to-real transfer é o pipeline completo de levar uma política treinada em simulação para funcionar no robô real. Inclui: treinamento com DR/sysid no sim, validação sim-to-sim, deploy inicial com safety constraints, iteração com dados reais.

Por que aprender

É o gargalo de toda robótica baseada em aprendizado. Dominar sim-to-real é a habilidade mais valorizada na indústria porque determina se meses de treinamento em sim se traduzem em performance real ou em desperdício de GPU hours.

Conceitos-chave

Progressive deployment: sim → sim-to-sim → real com safety limits → real full. Action smoothing (filtro passa-baixa nos comandos). Safety constraints (force limits, velocity limits, workspace bounds). Online adaptation: ajustar política com dados do real.

5 Real-to-sim-to-real: o loop completo

O que é

Real-to-sim-to-real é um loop iterativo: coleta dados no robô real, usa esses dados para calibrar/melhorar o simulador, re-treina a política no sim melhorado, e deploya novamente. Cada iteração melhora tanto o sim quanto a política.

Por que aprender

Um único pass de sim-to-real raramente é suficiente. O loop iterativo é como robôs comerciais são desenvolvidos na prática. Figure, NVIDIA e Physical Intelligence rodam dezenas de iterações real-to-sim-to-real antes de declarar um comportamento "production-ready".

Conceitos-chave

Data flywheel: mais dados reais → sim melhor → política melhor → mais dados reais. Sim tuning automático com dados reais (neural sim). Digital twin: réplica exata do setup real no sim. Continuous deployment pipeline: CI/CD para políticas robóticas.

6 Casos de sucesso: OpenAI Rubik's Cube, NVIDIA

O que é

Os marcos do sim-to-real: OpenAI resolveu o cubo de Rubik com mão robótica Dexterous (2019) usando ADR massivo. NVIDIA treina locomotion de humanoides em Isaac Sim com 4096 ambientes paralelos. Google RT-2 usou sim-to-real para validação de tarefas de manipulação.

Por que aprender

Esses casos demonstram que sim-to-real funciona para tarefas extremamente complexas. As lições aprendidas (escala de randomization, importância de sensores táteis, design de reward) são diretamente aplicáveis a qualquer projeto VLA.

Conceitos-chave

OpenAI Rubik's: ADR com 200+ parâmetros randomizados, 13K years de experiência sim. NVIDIA humanoid: massively parallel sim, PPO com 4096 envs, 45 min wall-clock. Google RT-2: SIMPLER benchmark para validação sim. Lição: escala de sim compensa.

Ver módulo completo →