Afficher la télémétrie
Résultat : ouvre un journal et vérifie que son affichage correspond au mécanisme réel. Le spectateur lit les fichiers ; il ne se connecte jamais aux servos, ne commande jamais le matériel ou ne prédit jamais les résultats de réglage du PID.
Installer et ouvrir les journaux
Depuis la racine du projet, en utilisant Python 3.12 :
macOS / Linux
python3.12 -m venv tools/simulation/.venv
tools/simulation/.venv/bin/python -m pip install -r tools/simulation/requirements.txt
mkdir -p logs/motion
Windows PowerShell
py -3.12 -m venv tools/simulation/.venv
.\tools\simulation\.venv\Scripts\python.exe -m pip install -r tools/simulation/requirements.txt
New-Item -ItemType Directory -Force logs/motion | Out-Null
Regardez le répertoire des journaux dans un terminal :
macOS / Linux
tools/simulation/.venv/bin/python tools/simulation/viewer.py live logs/motion --model so101
Windows PowerShell
.\tools\simulation\.venv\Scripts\python.exe tools/simulation/viewer.py live logs/motion --model so101
Un répertoire vide attend son premier enregistrement. Démarrez le contrôle matériel dans un autre terminal ; le spectateur suit le nouveau journal et passe aux sessions suivantes. Il recherche les fichiers .ndjson dans ce répertoire, et non dans ses sous-répertoires. La fermeture de la visionneuse n’arrête pas le contrôle du matériel.
Pour afficher une session terminée, remplacez EVENTS.ndjson par son chemin :
macOS / Linux
tools/simulation/.venv/bin/python tools/simulation/viewer.py play EVENTS.ndjson --model so101
Windows PowerShell
.\tools\simulation\.venv\Scripts\python.exe tools/simulation/viewer.py play EVENTS.ndjson --model so101
Sélectionnez --model so101 pour SO-101 ou --model so102 pour SO-102 . SO-102 est la valeur par défaut. Les modèles et les maillages sont regroupés. Un POSES.json à pose nommée n’est pas un journal de visualisation : relisez-le via le contrôleur, puis ouvrez le journal des événements résultant.
Vérifiez le mappage de position
L’étalonnage et le mappage d’affichage sont distincts :
angle = referenceRadians + (counts − referenceCount) × radiansPerCount
Les décomptes enregistrés incluent déjà la correction de position du servo ; ne le soustrayez plus.
| Modèle | Hypothèse par défaut |
|---|---|
| SO-101 | Au compte 2048 , les six joints URDF sont à 0 ° ; les comptes positifs augmentent l’angle de 2π/ 4096 radians par compte |
| SO-102 | Au comptage 2048 : M1 0°, M2 − 3°, M3 1°, M4 1° ; le rouleau de poignet et les mâchoires utilisent des positions d’affichage fixes |
SO-101 est étiqueté reference pose assumed : il s’agit d’une hypothèse, d’un alignement non détecté. La pince utilise un angle d’encodeur, une ouverture non normalisée 0 – 100. La carte SO-102 lie les décalages spécifiques du bras d’origine.
Après le recalibrage, faites correspondre la référence physique aux angles URDF. Vérifiez une deuxième pose et le signe d’un petit mouvement manuel au niveau de chaque articulation ; une pose correspondante ne peut pas vérifier l’échelle ou la direction. Les nombres minimum et maximum d’encodeurs ne dérivent pas automatiquement ces angles.
Pour une carte 2 en version personnalisée, copiez tools/simulation/so101-encoder-map.json ou tools/simulation/encoder-angle-map.json , modifiez-la et indiquez son chemin :
macOS / Linux
tools/simulation/.venv/bin/python tools/simulation/viewer.py play EVENTS.ndjson --model so101 --mapping MY_MAP.json
Windows PowerShell
.\tools\simulation\.venv\Scripts\python.exe tools/simulation/viewer.py play EVENTS.ndjson --model so101 --mapping MY_MAP.json
MY_MAP.json est votre carte avec les corrects model, joints, fixedJoints et encoderCalibration en option. Chaque joint modèle doit être cartographié ou corrigé. La modification uniquement des champs de contrôle d’étalonnage ne corrige pas la conversion d’angle physique. La sélection d’un modèle de visionneuse ne modifie pas le contrôleur matériel ni son modèle de gravité.
Interpréter l’affichage
La pose mesurée et la référence cyan sont différentes. Le feedback C2 détaillé contient la trajectoire intermédiaire prévue ; le compact C1 contient uniquement des mesures, la comparaison utilise donc la destination commandée. Une erreur relative à la destination finale lors du déplacement n’est pas une erreur de suivi par rapport au plan.
Le spectateur ne recrée pas les mesures manquantes. Les données obsolètes sont étiquetées ; les commandes seules ne peuvent pas le rafraîchir. Les graphiques conservent jusqu’à 20 secondes. La lecture conserve la dernière image sans boucle automatique ; rouvrir un fichier remplacé ou tronqué.
Clés : 1 – 6 sélectionne un moteur ; Superposition de référence G ; Cartes C ; Joints J ; M / R pose mesurée/référence ; Qualité F ; Aide H. La grille est visuelle, sans collisions. La géométrie est reproduite avec les contacts du simulateur et la gravité désactivés.
Vérifiez : , le modèle correspond au bras, deux poses physiques et les directions des articulations s’affichent correctement et vous comprenez le type de retour. Corrigez le mappage avant de juger les performances du contrôle si ces vérifications échouent.
Accueil de la documentation · Révision source : a995f77 . Extension 9.0 .