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 :

  1. Écrire les constantes dans le tableau.

  2. Mettre le circuit sous tension, laisser les servomoteurs tourner librement jusqu'Ă  l'angle/Ă©tat de calibrage nul.

  3. Fixer les piĂšces du corps aux servomoteurs.

  4. 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 :

  1. 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 ;

  2. 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 ;

  3. 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 :

Indice

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Compensation

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

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.

DerniĂšre mise Ă  jour