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 !