6 📐 Calibrage
« Un coup manqué, même de peu, reste un coup manqué ! » 🎯
Le calibrage est indispensable au bon fonctionnement de Nybble.
Jusqu'à présent, nous n'avons fait que préparer les pièces du corps, mais nous ne les avons pas encore vissées aux servomoteurs. Si les servomoteurs ne sont pas calibrés avant d'être fixés, ils peuvent tourner dans tous les sens et rester coincés, ce qui peut endommager les servomoteurs ou les pièces du corps.
Le calibrage comporte quatre étapes :
Écrire les constantes dans le tableau.
Mettre le circuit sous tension, laisser les servomoteurs tourner librement jusqu'à l'angle/état de calibrage nul.
Fixer les pièces du corps aux servomoteurs.
Régler les compensations dans le logiciel.
Retrouvez plus de détails à propos du calibrage sur le forum OpenCat.
6.1. Définir les constantes
6.1.1. Il existe trois types de constantes à enregistrer dans le NyBoard :
Les définitions relatives à l'assemblage, comme la correspondance des articulations, le sens de rotation et le brochage du capteur d’ultrasons. Elles sont relativement précises et l’essentiel est présenté dans OpenCat.h. Elles sont compatibles avec les robots à venir ;
Les paramètres liés au calibrage, notamment les compensations du MPU6050 et le réglage des articulations, sont mesurés en temps réel et enregistrés dans l'EEPROM embarquée. Cette mesure ne s'effectue qu'une seule fois ;
Les données relatives aux mouvements, comme les postures, la démarche et les comportements préprogrammés sont principalement définies dans Instinct.h. Il est également possible d’ajouter de nouvelles compétences personnalisées à votre Nybble !
6.1.2. Charger et lancer WriteInstinct.ino.
WriteInstinct.ino écrit des constantes dans la mémoire morte embarquée ou I²C EEPROM et enregistre les valeurs pour le calibrage. Par la suite, le programme principal Nybble.ino l’écrasera.
Vous devez changer les options par défaut * sur#define NyBoard_V*_*
dans Instinct.h en fonction de la version de votre NyBoard. La version que vous utilisez est indiquée sur le côté gauche du terminal vert de la batterie.
Une fois le chargement de WriteInstinct.ino terminé, lancez le moniteur série. Plusieurs questions vous seront posées :
Reset all joint calibration? (Y/n)
(Souhaitez vous réinitialiser tous les calibrages des articulations ?)
Si vous n’avez jamais calibré les articulations, ou si vous souhaitez les réinitialiser, saisissez « Y ». ATTENTION : le « Y » est sensible à la casse !
Do you need to update Instincts? (Y/n)
(Avez-vous besoin de mettre à jour Instincts ?)
Si vous avez modifié Instinct.h de quelque manière que ce soit, saisissez « Y ». Cependant, une fois que vous aurez une meilleure compréhension du fonctionnement de la mémoire, vous verrez que ce n'est pas toujours nécessaire.
Calibrate MPU? (Y/n)
(Souhaitez-vous calibrer le microprocesseur ?)
Si vous avez déjà calibré le MPU6050, c’est-à-dire le capteur de l’accélérateur / du gyroscope, saisissez « Y ».
Il arrive que le programme s’interrompe à l’étape de connexion. Si tel est le cas, fermez puis lancez à nouveau le moniteur série ou appuyez sur le bouton de réinitialisation sur NyBoard pour le redémarrer.
6.2. Paramétrer le mode calibrage
L'état de calibrage correspond au point médian de la portée du servomoteur. Le calibrage des servomoteurs peut être fait dans WriteInstinct.ino ou Nybble.ino. En cas de problème avec les constantes, je vous recommande de le faire sous WriteInstinct.ino.
Pour un calibrage efficace, branchez TOUS les servomoteurs et la batterie. Puis, saisissez « c » dans le moniteur série pour lancer le calibrage. Les servomoteurs tourneront successivement à intervalles irréguliers avant de s’arrêter. Selon la direction initiale de l’arbre, certains pourront former des angles plus grands jusqu’à s’arrêter au point médian. Le système d’engrenage des servomoteurs devrait alors faire du bruit. Référez-vous à la table de calibrage :
La première ligne représente les indices d’articulation, la deuxième ligne correspond à leurs compensations de calibrage :
Les valeurs de départ sont « -1 » ou « 0 » et devront être modifiées par un calibrage ultérieur.
Les servomoteurs possèdent un potentiomètre qui contrôle la variation de rotation. En position statique, ils génèrent une tension autour de l’angle de l’axe de sortie. Après une courte période d’utilisation, une vibration se fera sentir. Elle ne vous posera pas de problèmes en mouvement continu. Des servomoteurs de meilleure qualité peuvent vous éviter ce genre d’inconvénients, mais ils coûtent également 10 fois plus cher.
6.3. Visser la tête, la queue et les jambes
6.3.1. Coordonner le système
Une fois que vous avez saisi « c » et que tous les servomoteurs sont en position initiale, vissez les éléments précédemment préparés (tête, queue et pattes) au corps de votre Nybble. Ils devraient être perpendiculaires à la partie du corps qui leur est associée. Évitez de faire pivoter l’arbre du servomoteur pendant la procédure.
La rotation des membres dans le sens antihoraire à partir de leur position initiale donnera une valeur positive (comme les coordonnées polaires). L’angle d’inclinaison de la tête est l’unique exception. Dans le cas d’une rotation dans le sens horaire, vous obtiendrez une position « tête haute » plus naturelle.
6.3.2. Comprendre les divisions d’angle
En regardant de plus près l’arbre du servomoteur, vous remarquerez qu’il contient plusieurs dents, qui servent à visser les servo-bras tout en évitant de glisser dans le sens de rotation. Dans l’exemple ci-dessous, les engrenages sont divisés en 20 secteurs sur 360 degrés, chacun de 18 degrés. Par conséquent, on ne peut pas toujours obtenir une installation perpendiculaire parfaite. Faites de votre mieux pour qu’ils soient le plus proche possible de la position initiale. Utilisez la vis A pour attacher les membres sur les servomoteurs.
6.4. Trouver et sauvegarder les compensations de calibrage idéales
6.4.1. Régler précisément le calibrage dans le logiciel
La commande de calibrage est programmée comme suit cIndex Offset
(référez-vous aux protocoles de communication série pour NyBoard). Vous remarquerez qu’il y a une espace entre l’Indice et la Compensation.
Par exemple, c8 6
signifie que le huitième servomoteur est compensé de 8 degrés. Trouvez la compensation qui rapprochera le plus possible le membre de sa position initiale.
Veuillez noter que si votre valeur de compensation absolue est supérieure à 9, alors le membre n’est pas vissé au plus près de sa position initiale. Par conséquent, la portée du servomoteur sera diminuée de chaque côté. Retirez le membre et faites-le pivoter d’une dent. La compensation sera plus petite et inversée.
Par exemple, si votre valeur de calibrage est de -13, retirez-le membre, faites-le pivoter d’une dent et vissez à nouveau. Le nouveau calibrage devrait être de 5 sachant que le total doit systématiquement être de 18. Évitez de pivoter l'arbre du servomoteur pendant la procédure.
Une fois le calibrage effectué, n’oubliez pas d’enregistrer vos compensations en saisissant « s », sans quoi vos compensations seront perdues une fois le mode calibrage fermé. Il est également possible d’effectuer un enregistrement après le calibrage de chaque servomoteur.
6.4.2. Équerre en « L »
En fonction de l’angle de vue, la perception ne sera pas la même. C’est pourquoi on lit directement au-dessus de la règle lorsque l’on mesure une longueur.
Il est important de conserver une perspective parallèle lorsque vous calibrez Nybble. Pour éviter les erreurs de lecture, utilisez l’équerre en « L » comme point de repère parallèle. Alignez les extrémités de l’équerre avec le milieu des vis situées dans les articulations des épaules et des genoux et le petit trou sur le bout du pied. Regardez le long de l’axe parallèle aux centres. Pour chaque patte, calibrez d’abord les servomoteurs de l’épaule (indices 8~11), puis les servomoteurs du genou (indices 12~15). Lors du calibrage du genou, assurez-vous que votre alignement est parallèle en utilisant les trous triangulaires présents sur l’équerre et la patte.
6.4.3. Validation
Une fois le calibrage terminé, validez en saisissant « d » ou « kbalance ». Les mouvements des membres de Nybble sont maintenant symétriques debout comme assis.
6.4.4. Centre de gravité
Essayez de comprendre comment Nybble garde son équilibre même lorsqu’il marche. Si vous souhaitez ajouter de nouveaux accessoires sur Nybble, essayez de répartir au mieux la charge de chaque côté de la colonne. Il se peut que vous ayez besoin de pousser le porte-piles en avant ou en arrière afin de trouver le bon équilibre.
Last updated