Aller à l’article

Régler et valider la commande

Vérifié 2026-11-01

Résultat : accepte les paramètres en fonction de critères mesurés plutôt qu’un mouvement réussi. Vérifiez d’abord l’étalonnage, la trajectoire de mouvement initiale, les profils et tout modèle de gravité.

1. Préparer un plan de base

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

Dans tools/tuning/plan.local.json , définissez config sur controller.local.json , stage sur baseline et candidates sur [] . L’exemple source contient un candidat PID ; ne l’exécutez pas inchangé comme mesure de référence.

Définissez le port et les profils du contrôleur et incluez chaque moteur prenant en charge dans joints comme {"followerId": ID} . Supprimer un durationMs copié : le batch.maxDurationMs du plan est propriétaire du budget durée.

Champ Planifier Décision avant de courir
probeId Moteur qui va bouger
poses.screen , poses.validate Différentes paires de paramètres autorisés pour le dépistage et la validation ; ne copiez pas les exemples de comptes 2000 / 2050 sans vérifier les positions physiques
motion.speeds Vitesses adaptées à la charge examinée
limits Erreur de suivi/support, limites de température et de tension
acceptance Critères d’erreur, de dépassement, de stabilisation et de saturation
batch Répétitions, durées de conservation et budget total

Les positions sont des comptes d’encodeur corrigés. Après recalibrage, les mêmes chiffres peuvent représenter des positions physiques différentes. Les articulations de support maintiennent les cibles de maintien existantes ; l’outil ne repositionne pas automatiquement tout le bras.

2. Séparez les trois commandes

Inspecter les fichiers et l’utilisation estimée du bus sans connecter  :

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

Lire le firmware, l’étalonnage, les limites et les profils sans changer les moteurs :

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

Exécutez le batch avec le mouvement :

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

N’exécutez pas si le contrôle en amont révèle des cibles découpées inattendues, une erreur de modèle ou une paire de points de terminaison réduite à une seule position. Le lot se déplace probeId ; les autres moteurs doivent conserver une pose de support révisée.

3. Réglez dans l’ordre

  1. Base de référence : mouvements initiaux et prises sans candidats ; établir la répétabilité et enquêter sur les alarmes.
  2. Gravité : vérifie un modèle à travers les poses, les directions et au moins deux vitesses. Cette étape collecte des données sans modifier les gains.
  3. Vitesse  : compare l’anticipation directionnelle en utilisant un mouvement constant.
  4. PID : compare P, D et le filtrage entre les charges ; utilisez des prises plus longues pour exposer les oscillations.
  5. Intégrale :  n’est introduit que pour une erreur durable ; tester le gain et la limite ensemble, y compris les petites inversions.
  6. Mouvement  : Le maintient les gains fixes tout en comparant le temps d’accélération et de rampe.
  7. Mouvement combiné  : rejoue un parcours de tout le bras ; Le réglage articulaire isolé ne valide pas le mouvement couplé.
  8. Validation  : Le gèle les paramètres et vérifie les vitesses, accélérations, charges utiles et prises prolongées requises.

L’étape restreint les champs de candidats. La ligne de base, la gravité et la validation ne modifient pas les paramètres. Les limites de sortie totales restent explicitement configurées plutôt que automatiquement ajustées.

4. Interpréter les résultats

Chaque répertoire tools/tuning/logs/<run>/ contient events.ndjson et summary.json . Examinez l’état d’achèvement, les références avant et après le lot, les paires de validation indépendantes et chaque critère d’acceptation. Un lot incomplet ou en échec ne fournit aucune recommandation. La dérive de la ligne de base peut rendre une comparaison peu concluante.

Les mesures couvrent le suivi mobile RMS, l’erreur et la plage constantes, le dépassement, le temps de stabilisation, le temps de réponse total et la fraction de saturation. La sédimentation nécessite un intervalle continu à l’intérieur de la bande ; une traversée précoce est insuffisante. Des prises courtes ne peuvent établir l’absence d’oscillation lente.

La fin normale rétablit les réglages de référence configurés et maintient la position. Pendant le réglage, Ctrl+C tente de désactiver le couple, contrairement à la relecture en mode Extension. Soutenez le mécanisme avant l’interruption. Un arrêt forcé du processus ou une déconnexion du bus peut laisser le maintien précédent actif.

5. Enregistrez les paramètres acceptés

L’outil n’installe pas automatiquement un candidat gagnant. Après examen, mettez à jour les profils locaux et conservez-les avec les détails d’étalonnage, de modèle, de charge utile/de montage et les journaux de validation. L’exportation ci-dessous utilise le contrôleur de pose nommée du guide du premier mouvement. Mettez à jour ses profils avec les valeurs acceptées. Pour utiliser apply , ajoutez d’abord cette propriété joints de niveau supérieur à tools/poses/controller.local.json , en ajustant les ID pour qu’ils correspondent au bras physique :

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

Il s’agit d’un fragment de propriété et non d’un fichier JSON complet : ajoutez une virgule entre celui-ci et la propriété adjacente. Exporter vers un nouveau répertoire sans se connecter aux moteurs :

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

Utilisez un répertoire qui n’existe pas encore. L’exportation ne certifie pas les paramètres. Pour appliquer le contrôleur exporté sans relecture, il doit contenir joints pour tous les abonnés. Cette commande change de contrôle et active le maintien :

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

Un changement de profil peut libérer brièvement du couple. La relecture ordinaire applique sa propre configuration et ne nécessite pas de commande apply distincte.


Accueil de la documentation · Révision source : a995f77 . Extension 9.0 .