Une série de comparaison avec d’autres Creatures m’a permis de voir que les nombre devait comporter une partie décimale, même .0
Je suppose que c’est pour du float ou ce genre de type.
Je suis donc passé maintenant à une autre erreur, preuve que ça avance :
my_robot = from_json(‘darwinoppy.json’)
Traceback (most recent call last):
File “”, line 1, in
File “/usr/local/lib/python3.4/dist-packages/pypot/robot/config.py”, line 272, in from_json
return from_config(config, sync=sync, strict=strict, use_dummy_io=use_dummy_io, **extra)
File “/usr/local/lib/python3.4/dist-packages/pypot/robot/config.py”, line 62, in from_config
dxl_io = dxl_io_from_confignode(config, c_params, attached_ids, strict)
File “/usr/local/lib/python3.4/dist-packages/pypot/robot/config.py”, line 153, in dxl_io_from_confignode
port = pypot.dynamixel.find_port(ids, strict)
File “/usr/local/lib/python3.4/dist-packages/pypot/dynamixel/init.py”, line 106, in find_port
ids, list(set(ids) - set(ids_founds))))
IndexError: No suitable port found for ids [7, 9, 11, 13, 15, 8, 10, 12, 14, 16, 1, 3, 5, 1, 3, 5]. These ids are missing [1, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] !
Alors avec une Pixel il est possible de mettre sync_read = True mais avec False on peut limiter certaines erreurs. Notamment celles liées à des problèmes de vitesse de communication avec un grand nombre de moteurs. Ceci dit, ton erreur n’a pas l’air liée à une erreur de communication mais plutôt un problème d’initialisation.
Bon je vois pas de problème avec sync_read = True tant que tu dépasses pas 70 Hz. Le temps de réponse est tout de même bien meilleur en sync_read=True (9 ms pour les 16 moteurs).
J’ai pas vu de résultats pour :
dxl_io.get_return_delay_time((11,12,13,21,22,23,31,32,33,41,42,43)) en remplaçant avec les id de tes moteurs ?