Ir ao artigo

Gravar e reproduzir as primeiras poses

Verificado 2026-11-01

Resultado : reproduz um pequeno caminho revisado e entende o estado final do motor. Você precisa de Extension v9, calibração verificada e um perfil para cada motor . Não execute um braço completo usando um exemplo de perfil único.

1. Verifique o hardware estacionário

Apoie o braço e mantenha o torque desligado. Esses comandos leem hardware; não adicione --include-writes:

macOS / Linux
npm run bus-benchmark -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
Windows PowerShell
npm.cmd run bus-benchmark -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
macOS / Linux
npm run telemetry -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check
Windows PowerShell
npm.cmd run telemetry -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check

Use os IDs reais. Escolha um novo diretório de saída de telemetria para outra execução. As verificações de tensão são padronizadas como 8 – 16 V; se isso for inadequado, defina --voltage-min e --voltage-max para o intervalo esperado do hardware.

Verificação : investiga falhas de comunicação, alarmes e leituras sinalizadas. Um arquivo de relatório por si só não significa que a verificação foi aprovada. Não substitua o conjunto completo de diferenças de hardware: ele pode mover motores e substituir configurações.

2. Grave duas poses próximas

Execute o gravador em um terminal interativo:

macOS / Linux
npm run record-poses -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6
Windows PowerShell
npm.cmd run record-poses -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6
  1. Apoie o mecanismo e pressione Enter para confirmar a liberação do torque.
  2. Aguarde Torque off verified.
  3. Escolha uma pose suportada dentro dos limites de deslocamento, mantenha-a imóvel e insira start .
  4. Faça um pequeno movimento manual revisado, mantenha a nova pose e insira nearby .
  5. Insira done e mantenha o caminho JSON impresso.

Uma pose é um instantâneo sequencial de motores estacionários, não uma gravação de movimento sincronizado. O torque permanece desligado. Os arquivos são salvos em tools/poses/recordings/; eles não contêm nenhum instantâneo de calibração e não podem detectar alterações posteriores de deslocamento.

3. Verifique a configuração e todo o caminho

Crie tools/poses/controller.local.json usando o guia de configuração . Inclua cada motor registrado, seu perfil e a porta correta. O barramento deve conter exatamente esses motores. Se o seu mecanismo requer um modelo de gravidade validado para suporte, configure-o antes de iniciar; um exemplo de compensação zero não estabelece a adequação para sua carga.

Substitua POSES.json pelo caminho registrado e cite os caminhos que contêm espaços. A visualização se conecta ao hardware, lê-o e verifica os alvos e limites configurados durante a gravação, sem alterar as configurações ou iniciar o movimento. Não verifica colisões, folgas ou o caminho físico dos links:

macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json

Verificação : Os IDs e a porta estão corretos, a contagem de quadros corresponde à gravação e os alvos e velocidades são esperados. cappedTargets relata alvos reduzidos aos limites atuais. Investigue qualquer recorte antes da primeira execução, em vez de assumir que o caminho modificado corresponde à gravação.

4. Comece o movimento

Verifique o caminho livre da posição atual até a primeira pose , bem como entre as poses gravadas. Mantenha as mãos fora da área de deslocamento e tenha acesso à desconexão da alimentação do motor. Este comando permite controle e movimento:

macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json --run
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json --run

Uma nova sessão ou perfis alterados podem liberar brevemente o torque durante a inicialização. Prenda ou apoie o mecanismo com segurança de antemão. As velocidades conjuntas aumentam com a distância percorrida, mas cada servo planeja sua própria curva S: a chegada simultânea exata não é garantida. Os waypoints são visitados com paradas, em vez de combinados em uma trajetória contínua.

Verificação : o programa é concluído sem erros, as posições atingem a tolerância configurada e um log é salvo em logs/motion/ . A conclusão bem-sucedida não é uma medida da precisão absoluta do ponto final.

5. Termine a sessão

Ao terminar normalmente a reprodução em modo Extension, os motores continuam energizados e mantêm o último alvo. Ctrl+C interrompe o envio de novos alvos; não interrompe o movimento imediatamente. Com um modelo de gravidade, o controlador continua atendendo ao movimento restante e espera a imobilidade antes de sair. Sem esse modelo, ele pode sair enquanto o motor continua em direção ao último alvo. Quando a gravidade está configurada, a última contribuição de compensação permanece, mas o computador deixa de atualizá-la após a saída.

Para liberar o torque após a conclusão do processo, apoie o braço, execute o comando de gravação da etapa 2 , confirme a liberação, aguarde Torque off verified e insira done . Isso cria uma gravação vazia não utilizada. Se a comunicação for perdida, este procedimento poderá falhar; uma desconexão acessível da alimentação do motor ainda é necessária.

Continue conforme necessário: gravidade , teleoperação , ajuste ou visualização de log . Consulte a referência da sessão para obter diferenças entre o comportamento de parada da ferramenta.


Início da documentação · Revisão de origem: a995f77 . Extension 9.0 .