Pourquoi le corps de mon robot tremblait : ±0,4° à 3,4 Hz, et le gain qui l'a corrigé
- Log
- 6 sur 29
- Date
- Lecture
- 2 min de lecture
Compétences de ce log
Quelque chose a cassé dans ce log. Il est raconté quand même.
L’après-midi du 20 octobre, j’ai remarqué une chose qui m’a rendu fou : après certains mouvements, le corps du robot continuait de frissonner, à gauche, à droite. Minuscule, mais permanent. Extrêmement énervant sur un bureau.

Ce que les chiffres ont dit
Le robot donne la position de chaque moteur plusieurs fois par seconde. En lisant celle du moteur du corps, le frisson est devenu une courbe nette :
| Mesure | Valeur |
|---|---|
| Amplitude | ±0,4 degré |
| Fréquence | 3,4 fois par seconde, une période de 0,29 à 0,33 s |
| Taille en pas de codeur | environ 9 pas du capteur de position du moteur |
| Quand | pas à chaque fois ; souvent après avoir activé puis coupé le suivi du visage |
| Est-ce que ça s’arrête seul ? | non, ça survit aux mouvements suivants |
Trois fois, j’ai cru tenir le déclencheur, et trois fois la mesure suivante m’a donné tort. Tout s’est éclairé quand j’ai arrêté de chercher un déclencheur pour regarder le moteur lui-même.
Dans la machine
Un servomoteur tient une position en corrigeant sa propre erreur. La façon la plus simple, c’est un correcteur proportionnel : plus le moteur est loin de sa cible, plus il pousse fort. Le facteur entre l’erreur et la poussée, c’est le gain. Le moteur du corps avait un gain de 200, sans aucun autre terme pour amortir le mouvement.
Avec un gain élevé, le moteur pousse fort pour une erreur minuscule, dépasse, voit une erreur de l’autre côté, repousse, redépasse. Si le frottement et la petite zone morte des engrenages tombent juste, ça ne s’éteint jamais. Le moteur s’installe dans une petite oscillation à lui, régulière : un cycle limite. C’est exactement à ça que ressemble un frisson de neuf pas de codeur à 3,4 Hz bien réguliers.
La correction
J’ai baissé le gain du corps de 200 à 120 dans la configuration du fabricant, gardé une copie du fichier d’origine, et redémarré le robot. Puis j’ai essayé de le refaire trembler :
| Essai | Résultat |
|---|---|
| Tentatives pour le déclencher | 5, trois avec le suivi activé puis coupé, deux avec de simples mouvements |
| Frissons | 0 |
| Une rotation de 30° | à 1° près en 1,04 s, sans dépassement |
| Une rotation de 100°, corps compris | 1,67 s, dépassement de 0,1° |
| Retour de face | 0,00° |
Ce que je ne peux pas encore affirmer
C’est une hypothèse qui marche, pas une correction validée. Le fabricant ne l’a pas confirmée. La prochaine mise à jour du logiciel écrasera mon fichier : je relis donc les gains après chaque mise à jour. Et je n’ai pas mesuré comment le corps tient sa position quand on le pousse à la main.
J’ai lu 160 titres du suivi public des problèmes du fabricant sans rien trouver qui décrive ce cas. J’ai donc ouvert deux tickets : cette oscillation, et une bizarrerie plus petite dans la façon dont le robot s’endort, en deux temps, avec une petite chute de la tête à la fin.
Ensuite : l’essai de l’après-midi qui a montré que le robot réagissait à tout.

