Ir ao artigo

Ajustar e validar o controle

Verificado 2026-11-01

Resultado : aceita configurações de acordo com critérios medidos em vez de um movimento bem-sucedido. Primeiro verifique a calibração, o caminho de movimento inicial, os perfis e qualquer modelo de gravidade.

1. Prepare um plano básico

macOS / Linux
cp tools/tuning/example.json tools/tuning/plan.local.json
cp tools/tuning/controller.example.json tools/tuning/controller.local.json
Windows PowerShell
Copy-Item tools/tuning/example.json tools/tuning/plan.local.json
Copy-Item tools/tuning/controller.example.json tools/tuning/controller.local.json

Em tools/tuning/plan.local.json , defina config como controller.local.json , stage como baseline e candidates como [] . O exemplo de origem contém um candidato PID; não execute-o inalterado como medida de linha de base.

Defina a porta e os perfis do controlador e inclua cada motor de suporte em joints como {"followerId": ID} . Remover um durationMs copiado: o batch.maxDurationMs do plano possui o orçamento de duração.

Campo do plano Decisão antes de correr
probeId Motor que se moverá
poses.screen, poses.validate Diferentes pares de endpoints permitidos para triagem e validação; não copie contagens de exemplo 2000 / 2050 sem verificar as posições físicas
motion.speeds Velocidades apropriadas para a carga revisada
limits Erro de acompanhamento/suporte, limites de temperatura e tensão
acceptance Critérios de erro, overshoot, acomodação e saturação
batch Repetições, durações de retenção e orçamento total

As posições são contagens corrigidas do codificador. Após a recalibração, os mesmos números podem representar diferentes posições físicas. As juntas de apoio mantêm os alvos de retenção existentes; a ferramenta não reposiciona automaticamente todo o braço.

2. Separe os três comandos

Inspecione os arquivos e o uso estimado do barramento sem conectar :

macOS / Linux
npm run tune -- inspect tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- inspect tools/tuning/plan.local.json

Leia firmware, calibração, limites e perfis sem alterar os motores :

macOS / Linux
npm run tune -- preflight tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- preflight tools/tuning/plan.local.json

Execute o lote com movimento :

macOS / Linux
npm run tune -- run tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- run tools/tuning/plan.local.json

Não execute se a simulação revelar alvos cortados inesperados, um erro de modelo ou um par de terminais recolhido em uma posição. O lote move probeId ; outros motores devem manter uma posição de suporte revisada.

3. Sintonize em ordem

  1. Baseline: movimentos iniciais e retenções sem candidatos; estabelecer repetibilidade e investigar alarmes.
  2. Gravidade : verifica um modelo em poses, direções e pelo menos duas velocidades. Esta etapa coleta dados sem alterar os ganhos.
  3. Velocidade : compara feedforward direcional usando movimento constante.
  4. PID : compara P, D e filtragem entre cargas; use retenções mais longas para expor a oscilação.
  5. Integral: introduzido apenas para um erro duradouro; teste ganho e limite juntos, incluindo pequenas reversões.
  6. Movimento : mantém os ganhos fixos ao comparar a aceleração e o tempo de rampa.
  7. Movimento combinado: reproduz um caminho de braço inteiro; a afinação conjunta isolada não valida o movimento acoplado.
  8. Validação : congela as configurações e verifica as velocidades, acelerações, cargas úteis e retenções estendidas necessárias.

O estágio restringe os campos candidatos. Linha de base, gravidade e validação não alteram as configurações. Os limites totais de saída permanecem explicitamente configurados, em vez de ajustados automaticamente.

4. Interprete os resultados

Cada diretório tools/tuning/logs/<run>/ contém events.ndjson e summary.json . Revise o status de conclusão, as linhas de base antes e depois do lote, os pares de validação independentes e todos os critérios de aceitação. Um lote incompleto ou com falha não fornece nenhuma recomendação. O desvio da linha de base pode tornar uma comparação inconclusiva.

As métricas cobrem RMS de rastreamento móvel, erro e amplitude constantes, overshoot, tempo de acomodação, tempo de resposta total e fração de saturação. A acomodação requer um intervalo contínuo dentro da banda; uma travessia antecipada é insuficiente. Retenções curtas não podem estabelecer a ausência de oscilação lenta.

A conclusão normal restaura a configuração de referência e mantém a posição. Durante o ajuste, Ctrl+C tenta desativar o torque, ao contrário da reprodução em modo Extension. Sustente o mecanismo antes da interrupção. Encerrar o processo à força ou desconectar o barramento pode deixar a retenção anterior ativa.

5. Salve as configurações aceitas

A ferramenta não instala automaticamente um candidato vencedor. Após a revisão, atualize os perfis locais e mantenha-os com calibração, modelo, detalhes de carga/montagem e registros de validação. A exportação abaixo usa o controlador de pose nomeado do guia do primeiro movimento. Atualize seus perfis para os valores aceitos. Para usar apply , primeiro adicione esta propriedade joints de nível superior a tools/poses/controller.local.json , ajustando os IDs para corresponder ao braço físico:

"joints": [
  {"followerId": 1}, {"followerId": 2}, {"followerId": 3},
  {"followerId": 4}, {"followerId": 5}, {"followerId": 6}
]

Este é um fragmento de propriedade, não um arquivo JSON completo: adicione uma vírgula entre ele e a propriedade adjacente. Exporte para um novo diretório sem conectar-se aos motores:

macOS / Linux
npm run tune -- export tools/poses/controller.local.json accepted-controller
Windows PowerShell
npm.cmd run tune -- export tools/poses/controller.local.json accepted-controller

Use um diretório que ainda não existe. A exportação não certifica configurações. Para aplicar o controlador exportado sem replay, ele deve conter joints para todos os seguidores. Este comando altera o controle e ativa a retenção:

macOS / Linux
npm run tune -- apply accepted-controller/controller.json
Windows PowerShell
npm.cmd run tune -- apply accepted-controller/controller.json

Uma mudança de perfil pode liberar o torque brevemente. A reprodução comum aplica sua própria configuração e não requer um comando apply separado.


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