Pular para o conteúdo principal
Fase 3 · Capítulo 9 · Teoria

9. Arquitetura do sistema LeRobot e SO-ARM

Capítulo 9 do curso para iniciantes em SO-ARM Physical AI — o que é o LeRobot, a divisão líder/seguidor, a arquitetura de plugins Robot e Teleoperator, o fluxo de dados câmeras/barramento serial/braços e o essencial da configuração do SO-ARM.

9.1 O que é o LeRobot e por que precisamos dele?​

Motivação

9.1 O que é o LeRobot e por que precisamos dele?

No Capítulo 8 estabelecemos o arcabouço conceitual: demonstração, dados, modelo, ciclo fechado. Mas para rodar esse pipeline, você esbarra de imediato numa pilha de problemas triviais porém concretos:

  • Como alinhar carimbos de tempo entre quadros de câmera e ângulos de juntas?
  • Em que formato armazenar imagens, estados e ações de dezenas de episódios?
  • Como compartilhar e baixar modelos treinados no Hugging Face Hub?
  • Como os três códigos — coleta, treinamento e inferência — compartilham a mesma lógica de controle do braço?
Reinventar a roda

Se cada um reinventar a roda, o aprendizado em robótica continuaria um jogo de poucos laboratórios. O LeRobot é o framework de código aberto que a Hugging Face construiu para resolver isso — implementa algoritmos de imitação comprovados (ACT, SmolVLA, GR00T etc.) em PyTorch, define um formato padrão de dataset robótico e fornece uma cadeia completa de ferramentas de linha de comando, da teleoperação e coleta ao treinamento e implantação. O SO-ARM nasceu junto com o LeRobot como seu hardware de referência de baixo custo — um foi desenhado para o outro.

9.2 Braço líder e braço seguidor​

Braços

9.2 Braço líder e braço seguidor

  • O primeiro passo do aprendizado por imitação é "o humano demonstra ao robô". A questão é: como um humano "ensina" movimentos precisos a um braço? Guiá-lo com a mão é perigoso e produz dados não suaves.
  • A resposta é a teleoperação mestre-escravo: usar um braço de demonstração estruturalmente idêntico, leve e de movimento livre como "dispositivo de entrada" — a pessoa move o líder, e o seguidor acompanha em tempo real.
Braço líder e braço seguidor
  • Braço líder (leader / de ensino): o braço que a pessoa segura e move. Só lê posições — lê seus ângulos em tempo real e os envia ao computador. Não precisa exercer força, então usa os mesmos STS3215 com baixa carga, e as juntas movidas pela mão humana têm relações menores.
  • Braço seguidor (follower / de execução): o braço que trabalha de verdade. Recebe os ângulos do líder e aciona servos de maior torque e alimentação plena para seguir, completando a preensão real.

É como a relação entre a alavanca de controle da cabine de uma grua e o braço da grua. O operador move a alavanca leve (líder), e o trabalho pesado é feito pelo braço lá fora (seguidor). Cada movimento da alavanca é "traduzido" em tempo real para movimento da grua.

Um kit SO-ARM traz os dois na mesma caixa — por isso é uma plataforma de ensino tão natural.

9.3 Arquitetura de plugins: plugin Robot e plugin Teleoperator​

Plugins

9.3 Arquitetura de plugins: plugin Robot e plugin Teleoperator

O primeiro princípio de design do LeRobot: o framework não conhece hardware específico; define interfaces. O hardware entra como plugins.

Plugin RobotPlugin Teleoperator
PapelExecutor: recebe ações, reporta estadoEntrada: só lê a intenção de movimento humano
Direção dos dadosBidirecional (leitura + escrita)Unidirecional (somente leitura)
Métodos centraisget_observation(), send_action()get_action()
No sistema SO-ARMso101_follower (seguidor branco)so101_leader (líder preto)

Numa frase: o Robot cuida de "fazer", o Teleoperator de "ler".

Arquitetura de plugins

9.4 Fluxo de dados: câmeras, barramento serial e braços​

Fluxo de dados

9.4 Fluxo de dados: câmeras, barramento serial e braços

Num ciclo de controle, quais dados fluem, em que formato, por qual caminho? Um computador conecta três tipos de periféricos, correspondendo a três caminhos:

  1. Câmeras → computador: quadros USB (frontal + lateral);
  2. Líder → computador: posições de juntas no barramento serial (/dev/ttyACM1) — a intenção humana;
  3. Computador → seguidor: posições-alvo no barramento serial (/dev/ttyACM0) — com o estado do próprio seguidor lido no mesmo barramento.

O computador fica no centro: lê câmeras + líder, escreve no seguidor, carimba tudo com marcas de tempo e (ao gravar) escreve uma linha alinhada de observação/estado/ação por quadro.

9.5 Quatro fluxos de trabalho: quatro usos do mesmo sistema​

Fluxos

9.5 Quatro fluxos de trabalho: quatro usos do mesmo sistema

Entendendo o hardware e o fluxo de dados, ao olhar os quatro fluxos desta fase você verá que usam os mesmos plugins e a mesma configuração; só muda a ferramenta do LeRobot chamada:

FluxoFerramenta LeRobot
Teleoperaçãolerobot-teleoperate
Coleta de dadoslerobot-record
Treinamentolerobot-train
Inferência e implantaçãolerobot-record (com política) ou lerobot-rollout
  • Teleoperação e coleta usam a mesma cadeia de hardware — a única diferença é gravar dados ou não.
  • Implantação de inferência e coleta são imagens espelhadas: na coleta, as ações vêm do líder (humano); na inferência, do modelo (checkpoint). Todo o resto (leitura de câmeras, realimentação de estado, comandos de servo, limites de segurança) é idêntico. Esse é o benefício da arquitetura de plugins — trocar o decisor não exige trocar o sistema.
  • Teleoperação e inferência: ambas ativam todo o hardware e controlam o braço on-line; a diferença é "quem decide" — na teleoperação, a pessoa; na inferência, o modelo.

9.6 Essenciais da configuração do SO-ARM​

Configuração

9.6 Essenciais da configuração do SO-ARM

ItemBraço seguidorBraço líder
Tipo LeRobot--robot.type=so101_follower--teleop.type=so101_leader
Porta típica/dev/ttyACM0/dev/ttyACM1
Chave de porta--robot.port--teleop.port
Chave de ID--robot.id--teleop.id
Alimentação (kit Standard)5V5V
Alimentação (kit Pro)12V5V

Notas que evitam os erros mais comuns:

  • SO100 e SO101 compartilham código. so101_leader e so100_leader são a mesma implementação; usuários de SO100 usam os mesmos comandos.
  • O id guarda o arquivo de calibração. Use o mesmo --robot.id / --teleop.id na teleoperação, gravação e avaliação para o mesmo braço físico — senão o LeRobot procura um arquivo que não existe.
  • A ordem das portas segue a ordem de conexão no Linux e Jetson: primeira placa = ttyACM0, segunda = ttyACM1. Confirme com lerobot-find-port antes de cada sessão.

O sistema numa frase: mesmo esqueleto, dois papéis. O líder lê, o seguidor escreve, as câmeras assistem, e o computador costura tudo com marcas de tempo. Todos os comandos seguintes reutilizam exatamente esta configuração.

Loading Comments...