Problème détection moteurs Poppy

Bonjour,
J’ai un souci avec les moteurs de mon Poppy Torso.
Le robot ne veut plus s’initialiser, donc j’ai voulu vérifier l’état des moteurs avec Herborist.
J’ai testé avec différents moteurs seuls, et aussi avec les moteurs connectés, mais lorsque j’appuie sur le bouton “scan”, j’obtiens ces erreurs :

Traceback (most recent call last):
File “/usr/local/lib/python2.7/dist-packages/pypot/tools/herborist/herborist.py”, line 209, in run
if dxl_io.ping(id):
File “/usr/local/lib/python2.7/dist-packages/pypot/dynamixel/io/abstract_io.py”, line 214, in ping
self._send_packet(pp, error_handler=None)
File “/usr/local/lib/python2.7/dist-packages/pypot/dynamixel/io/abstract_io.py”, line 527, in _send_packet
return self.__real_send(instruction_packet, wait_for_status_packet, _force_lock)
File “/usr/local/lib/python2.7/dist-packages/pypot/dynamixel/io/abstract_io.py”, line 495, in __real_send
status_packet = self.__real_read(instruction_packet, _force_lock=True)
File “/usr/local/lib/python2.7/dist-packages/pypot/dynamixel/io/abstract_io.py”, line 517, in __real_read
raise DxlCommunicationError(self, msg, instruction_packet)
pypot.dynamixel.io.abstract_io.DxlCommunicationError: could not parse received data after sending DxlPingPacket(id=0)

J’obtiens la même erreur en passant par Python et dxl_io.scan().
J’ai également essayé de passer par Dynamixel Wizard mais aucun moteur n’est détecté.

Lorsque je branche l’alimentation des moteurs, j’ai bien la LED du moteur testé qui s’allume 1 seconde puis s’éteint L’USB2AX est bien allumé en vert.
En général, le voyant de l’alimentation est éteint (des fois il est allumé en rouge, dans ce cas j’ai la même erreur), j’utilise une VM de Debian 8.9.

J’ai le même branchement que sur cette vidéo (à 6min05): https://youtu.be/cYhGwD6r6NQ?t=6m5s2
J’ai également tenté d’autres branchements, avec d’autres câbles, et avec la même erreur.

Quelques fois, lorsque je lance le scan rapidement après avoir branché l’USB2AX, le scan arrive à aller plus loin que l’id 0 avant de déclencher l’erreur (par exemple j’ai déjà eu les ids 1, 16, 21, 26, 50, 53 dans ce message : pypot.dynamixel.io.abstract_io.DxlCommunicationError: could not parse received data after sending DxlPingPacket(id=26)).

À un moment, après avoir débranché/rebranché l’alimentation et sans avoir touché aux branchements, j’ai réussi à passer le scan en entier plusieurs fois à suivre sur un moteur seul. Il n’y avait pas d’erreur mais la liste des moteurs trouvés était vide (retour [ ]). Ensuite j’ai fait un faux mouvement qui a décalé la position dans laquelle était le robot, depuis je n’ai plus réussi à passer de scan en entier.

Auriez-vous une idée sur l’origine de mon problème, et comment le résoudre, svp ?
Pour info, les moteurs ont fonctionné sans soucis pendant un peu plus d’un an. C’est après avoir prêté le robot à des collègues que les problèmes ont commencé, du coup je n’ai pas l’historique exact des actions qui auraient pu impacter le matériel. Avant de me renvoyer le robot ils avaient testé les moteurs, 5 sur 13 n’étaient pas détectés.

Merci d’avance ! :slight_smile:

J’ai réussi à corriger le problème en remplaçant plusieurs fils sur le robot, maintenant je peux visualiser tous les moteurs sur Herborist, par contre ils n’apparaissent pas sur poppy.local/monitor ce que je trouve bizarre…peut-être quelqu’un à une idée ?

Bonjour,
pouvez vous nous indiquer ce que dit la page “What happened ?” Quand le problème de connexion se pose.
Merci

Bonjour, au final le problème du poppy.local était que j’avais oublié de lancer le start_services, tout fonctionne normalement. merci pour votre aide :slight_smile:

1 Like