10. LeRobot e Arquitetura de Sistema do Braço reBot
Capítulo 10 do Curso para Iniciantes em IA Física da Seeed — o que é o LeRobot, divisão de trabalho entre braço líder/seguidor, a arquitetura de plugins Robot e Teleoperator, o fluxo de dados câmera/CAN/braço e as diferenças de configuração entre DM e RS.
10.1 O Que é LeRobot e Por Que Precisamos Dele?
10.1 O Que é LeRobot e Por Que Precisamos Dele?
No Capítulo 9 estabelecemos o framework conceitual de aprendizado por imitação: demonstração, dados, modelo, laço fechado. Mas, para realmente executar esse pipeline, você imediatamente se depara com uma série de problemas triviais porém específicos:
- Como alinhar carimbos de tempo entre quadros da câmera e ângulos das juntas?
- Que formato deve ser usado para armazenar imagens, estados e ações para dezenas de Episódios?
- Como compartilhar e baixar modelos treinados no Hugging Face Hub?
- Como as três bases de código — coleta de dados, treinamento e inferência — podem compartilhar a mesma lógica de controle do braço?

Se todo mundo reinventasse a roda, aprendizado de robôs continuaria sendo um jogo para poucos laboratórios. LeRobot é o framework open source que a Hugging Face construiu para resolver isso — ele implementa algoritmos comprovados de aprendizado por imitação (ACT, smolVLA, GR00T, etc.) em PyTorch, define um formato padrão de dataset de robótica e fornece uma cadeia completa de ferramentas de linha de comando, desde teleoperação e coleta de dados até treinamento e implantação em robôs reais.
10.2 Braço Líder e Braço Seguidor
10.2 Braço Líder e Braço Seguidor
- A primeira etapa do aprendizado por imitação é "o humano demonstra para o robô". A questão é: como um humano "ensina" um braço com alcance de 750 mm a fazer movimentos de preensão precisos? Guiá-lo fisicamente com a mão é ao mesmo tempo perigoso e produz dados não suaves.
- A resposta é teleoperação mestre-escravo: usar um braço de demonstração estruturalmente semelhante, leve e flexível como "dispositivo de entrada" — o humano move o líder, e o seguidor segue em tempo real.

- Braço Líder (leader / braço de ensino): o braço que o humano segura e move. Ele apenas lê posições — lê seus próprios ângulos de junta em tempo real e os envia para o computador. Ele não precisa fornecer força, então pode usar uma solução de servo leve e de baixo custo.
- Braço Seguidor (follower / braço de execução): o braço que realmente faz o trabalho. Ele recebe ângulos de junta do Líder e aciona seus motores de junta de alta potência para seguir, completando a preensão real.
Isso é como a relação entre a alavanca de controle na cabine de um guindaste e o próprio braço do guindaste. O operador move a alavanca leve (Líder), enquanto o trabalho pesado é feito pelo braço externo (Seguidor). Cada movimento da alavanca é "traduzido" em tempo real em movimentos do braço do guindaste.
10.3 Arquitetura de Plugins
10.3 Arquitetura de Plugins: Plugin Robot e Plugin Teleoperator
Primeiro princípio de design do LeRobot: o framework não conhece nenhum hardware específico; ele apenas define interfaces. O hardware se conecta como plugins.
| Robot Plugin | Teleoperator Plugin | |
|---|---|---|
| Função | Executor: recebe ações, reporta estado | Entrada: apenas lê a intenção de movimento humana |
| Direção dos Dados | Bidirecional (leitura + escrita) | Unidirecional (somente leitura) |
| Métodos Centrais | get_observation(), send_action() | get_action() |
| No sistema reBot | Braço escravo Seguidor B601 | Braço mestre Líder reBot 102 |
Distinção em uma frase: o Robot cuida do "fazer", o Teleoperator cuida do "ler".

10.4 Visão Geral do Fluxo de Dados: Câmeras, CAN e o Braço
10.4 Visão Geral do Fluxo de Dados: Câmeras, CAN e o Braço
Em um ciclo de controle, que dados fluem, em qual formato e por qual caminho? Um computador conecta três tipos de periféricos, correspondendo a três caminhos de dados:

10.5 Quatro Fluxos de Trabalho: Quatro Usos do Mesmo Sistema
10.5 Quatro Fluxos de Trabalho: Quatro Usos do Mesmo Sistema
Entendendo o hardware e o fluxo de dados, quando você olhar para os quatro fluxos de trabalho nos capítulos posteriores deste estágio, verá que eles usam os mesmos plugins e a mesma configuração; apenas as ferramentas LeRobot chamadas são diferentes:
| Fluxo de Trabalho | Ferramenta LeRobot |
|---|---|
| Teleoperation | lerobot-teleoperate |
| Coleta de Dados | lerobot-record |
| Treinamento | lerobot-train |
| Inferência e Implantação | lerobot-record (com uma policy) ou um script de inferência |
- Teleoperação e coleta de dados usam a mesma cadeia de hardware — a única diferença é se os dados são gravados ou não.
- Implantação de inferência e coleta de dados são imagens espelhadas estruturais: durante a coleta, as ações vêm do Líder (humano); durante a inferência, as ações vêm do modelo (checkpoint). Todo o resto (leitura da câmera, feedback de State, comandos CAN, limites de segurança) é idêntico. Esse é o benefício de uma arquitetura de plugins — mudar o tomador de decisão não exige mudar o sistema.
- Teleoperação e implantação de inferência: ambas têm todo o hardware ativo e controlam o braço online; a diferença é "quem toma as decisões" — na teleoperação, o tomador de decisão é o humano; na inferência, é o modelo.
10.6 Diferenças de Configuração entre DM e RS
10.6 Diferenças de Configuração entre DM e RS
| Item de Comparação | B601-DM | B601-RS |
|---|---|---|
| Conexão com o PC | Damiao USB2CAN Serial Bridge | Adaptador USB-CAN compatível com SocketCAN |
| Nome do Dispositivo | /dev/ttyACM* (Serial Bridge) | can0 (Interface de Rede SocketCAN) |
--robot.type | seeed_b601_dm_follower | seeed_b601_rs_follower |
--robot.port | /dev/ttyACM0 (dependendo da enumeração real) | can0 (dependendo da enumeração real) |
--robot.can_adapter | damiao | socketcan |
Uma frase resumindo a relação entre as duas versões: mesmo esqueleto, dois conjuntos de "coração e nervos". A estrutura mecânica, a nomeação das juntas e os fluxos de trabalho de software de alto nível são idênticos; todas as diferenças estão nos motores e na cadeia de comunicação CAN — que também é o parâmetro mais comumente configurado de forma incorreta em todos os comandos LeRobot.
Isso significa que todos os comandos subsequentes de teleoperação, coleta de dados, treinamento e avaliação são idênticos para ambos os braços — você só precisa substituir o nome do braço correspondente.