Gravar e reproduzir as primeiras poses
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
- Apoie o mecanismo e pressione Enter para confirmar a liberação do torque.
- Aguarde
Torque off verified. - Escolha uma pose suportada dentro dos limites de deslocamento, mantenha-a imóvel e insira
start. - Faça um pequeno movimento manual revisado, mantenha a nova pose e insira
nearby. - Insira
donee 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 .