6. Configurar motores e montar os braços
Capítulo 6 do curso para iniciantes em SO-ARM Physical AI — imprima as peças em 3D, cabear e alimente o barramento de servos, grave IDs e baud rates com lerobot-setup-motors, e depois monte os braços líder e seguidor passo a passo.
Antes de executar qualquer programa capaz de mover o braço, retire itens de valor, objetos frágeis, ferramentas, cabos e itens alheios a até 1 metro do espaço de trabalho. Durante depuração e operação, mantenha as pessoas afastadas do alcance do braço.
- Não toque em juntas, motores, elos, garras ou ferramentas do extremo com o braço energizado.
- Antes de configurar servos, calibrar, teleoperar, gravar dados, reproduzir ou avaliar políticas, confirme que o braço está bem fixado.
- Mantenha pelo menos 1 metro de distância e certifique-se de que os presentes saibam que o braço pode se mover de repente.
- Em caso de movimento anormal, ruído, tremor, cabos soltos, mau contato de energia ou perda de comunicação, interrompa o programa imediatamente e desligue antes de inspecionar.
- Desligue antes de conectar ou desconectar cabos de servo, USB, conectores de energia ou cabos da placa.
Se você comprou um braço robótico pré-montado, pule este capítulo e vá direto ao Capítulo 10 (calibração do braço completo).
6.1 Guia de impressão 3D (versão kit)
6.1 Guia de impressão 3D (versão kit)
Se comprou a versão kit (servos e hardware sem peças impressas), imprima a estrutura primeiro. Os STLs saem em impressoras FDM comuns:
- Material: PLA+
- Bico / altura de camada: bico 0.4mm com camada 0.2mm, ou bico 0.6mm com camada 0.4mm
- Preenchimento: 15%
- Suportes: em toda parte, ignorando rampas acima de 45° da horizontal; sem suportes nos furos de parafuso horizontais
Todas as peças do líder ou do seguidor vêm num único STL, já orientadas com z para cima para minimizar suportes:
- Mesa de 220mm × 220mm (p. ex. Ender): Seguidor · Líder
- Mesa de 205mm × 250mm (p. ex. Prusa / Up): Seguidor · Líder
Após a atualização oficial do SO101, os arquivos-fonte do SO100 deixaram de ser mantidos, mas continuam no nosso Makerworld. Para quem já comprou o SO100, os tutoriais e métodos continuam válidos — a impressão do SO101 é totalmente compatível com a instalação do kit de motores do SO100.
Opcional: imprima uma garras macia (dedos de TPU, peças PLA) para objetos macios, frágeis ou irregulares, e o encaixe do suporte de câmera se precisar montar uma. Arquivos no repositório soarm_soft_gripper.
6.2 Planejar os motores: etiquetas, IDs e relações
6.2 Planejar os motores: etiquetas, IDs e relações
Designe um adaptador de barramento e 6 motores para o braço líder, e outro adaptador e 6 motores para o seguidor. Etiquete cada motor F1–F6 (juntas 1–6 do seguidor) ou L1–L6 (juntas 1–6 do líder) — escrever na carcaça do servo poupa horas de depuração.
| Modelo de servo | Relação | Juntas |
|---|---|---|
| ST-3215-C044 (7.4V) | 1:191 | L1 |
| ST-3215-C001 (7.4V) | 1:345 | L2 |
| ST-3215-C044 (7.4V) | 1:191 | L3 |
| ST-3215-C046 (7.4V) | 1:147 | L4–L6 |
| ST-3215-C001 (7.4V) / C018 (12V) / C047 (12V) | 1:345 | F1–F6 |
Alimente o barramento com a fonte que corresponde aos motores: 5V para os STS3215 de 7.4V e 12V para os de 12V. O braço líder sempre usa motores de 7.4V — confira o adaptador antes de plugá-lo se tiver ambos os tipos, senão você pode queimar os motores! O cabo USB não fornece energia: a fonte e o USB precisam estar ambos conectados.

O processo de calibração e inicialização de servos do SO-ARM101 é igual ao do SO-ARM100 em método e código — mas as relações das três primeiras juntas do líder do SO-ARM101 diferem das do SO-ARM100, então distinga e configure com cuidado.
6.3 Localizar as portas USB
6.3 Localizar as portas USB
Rode o utilitário para descobrir qual porta serial cada placa ocupa:
lerobot-find-port
Exemplo de saída:
Finding all available ports for the MotorBus.
['/dev/ttyACM0', '/dev/ttyACM1']
Remove the usb cable from your MotorsBus and press Enter when done.
[...Disconnect corresponding leader or follower arm and press Enter...]
The port of this MotorsBus is /dev/ttyACM1
Reconnect the USB cable.
Dicas que poupam tempo:
- Desconecte mesmo o USB quando pedido, senão a interface não é detectada.
- No Linux e Jetson, o primeiro dispositivo plugado mapeia para
ttyACM0(normalmente o seguidor), o segundo parattyACM1(líder). - Se o LeRobot depois reclamar
Could not connect on port '/dev/ttyACM0', conceda permissões e confira:
sudo chmod 666 /dev/ttyACM*
6.4 Configurar IDs e baud rates
6.4 Configurar IDs e baud rates
A ferramenta grava o ID e o baud rate corretos em cada servo, um servo por vez (o Capítulo 4 explicou o porquê: todos compartilham o barramento e um ID duplicado seria regravado em todos).
Use estas fotos de referência para a postura padrão de cabeamento de cada junta antes de calibrar:
Imagens de referência para calibração dos servos do líder
| Junta 6 | Junta 5 | Junta 4 | Junta 3 | Junta 2 | Junta 1 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Imagens de referência para calibração dos servos do seguidor
| Junta 6 | Junta 5 | Junta 4 | Junta 3 | Junta 2 | Junta 1 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Configure os servos do seguidor. Ligue o cabo USB e a fonte na placa do seguidor e execute:
lerobot-setup-motors \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 # <- cole aqui a porta do passo anterior
A ferramenta guia junta por junta:
Connect the controller board to the 'gripper' motor only and press enter.
Ligue somente o motor da garras (F6) na placa, pressione Enter, e o script grava o ID e o baud rate dele automaticamente:
'gripper' motor id set to 6
Em seguida:
Connect the controller board to the 'wrist_roll' motor only and press enter.
Pode deixar o cabo de 3 fios anterior conectado ao motor da garras na outra ponta; coloque um cabo novo no motor de rotação do punho e conecte só esse à placa. Repita para cada motor conforme instruído — sempre exatamente um conectado.
Confira o cabeamento antes de cada Enter — o cabo de alimentação costuma se soltar enquanto você manuseia a placa.
Quando o script terminar, encadeie os motores: plugue o cabo de 3 fios de cada motor no seguinte, e o do primeiro motor (rotação do ombro, ID 1) na placa, que já pode ser fixada na base do braço.
Configure os servos do líder do mesmo jeito:
lerobot-setup-motors \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM0 # <- cole aqui a porta do passo anterior
Usuários de SO100: os códigos de SO100 e SO101 são compatíveis — usem os mesmos tipos so101_leader / so101_follower e parâmetros.
6.5 Montagem
6.5 Montagem
A montagem de dupla braço do SO-ARM101 é igual à do SO-ARM100 — as únicas diferenças são os clipes de cabo do SO-ARM101 e as relações diferentes dos servos do líder. Tanto SO100 quanto SO101 podem ser montados com os passos abaixo. Antes de montar, confira modelos de motor, relações e voltagem contra a tabela da seção 6.2.
Montar o braço líder
| Passo 1 | Passo 2 | Passo 3 | Passo 4 | Passo 5 | Passo 6 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Passo 7 | Passo 8 | Passo 9 | Passo 10 | Passo 11 | Passo 12 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Passo 13 | Passo 14 | Passo 15 | Passo 16 | Passo 17 | Passo 18 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Passo 19 | Passo 20 | ||||
![]() | ![]() |
Montar o braço seguidor
A montagem do seguidor é em geral igual à do líder. A única diferença é a instalação do efetor final (garras e punho) depois do passo 12.
| Passo 1 | Passo 2 | Passo 3 | Passo 4 | Passo 5 | Passo 6 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Passo 7 | Passo 8 | Passo 9 | Passo 10 | Passo 11 | Passo 12 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Passo 13 | Passo 14 | Passo 15 | Passo 16 | Passo 17 | |
![]() | ![]() | ![]() | ![]() | ![]() |
6.6 Checklist antes de seguir
6.6 Checklist antes de seguir
- Os dois braços montados; cada servo responde com o ID esperado (verifique com a ferramenta do Capítulo 7);
- Tensões conformes com a edição (Standard: ambos 5V; Pro: líder 5V, seguidor 12V);
- As duas placas aparecem como
/dev/ttyACM0e/dev/ttyACM1; - Cabos bem encaixados, sem dobras agudas e fora do alcance das juntas.
Se algum servo não aparece, o ID parece duplicado ou o neutro está errado, a ferramenta de depuração do próximo capítulo resolve exatamente esses problemas.
















































