Eléments ( moteurs) de la tête introuvable

Bonjour,

Nous travaillons sur un projet utilisant Reachy 2021, celui-ci fonctionne très bien depuis 2 mois mais aujourd’hui impossible de le démarrer, nous avons cette erreur lors de l’éxécution avec ros2 launch reachy_sdk_server run_everything.launch.py:

[joint_state_controller-3] INFO:root:Looking for ['r_shoulder_pitch', 'r_shoulder_roll', 'r_arm_yaw', 'r_elbow_pitch', 'r_forearm_yaw', 'r_wrist_pitch', 'r_wrist_roll', 'r_gripper', 'r_shoulder_fan', 'r_elbow_fan', 'r_wrist_fan', 'r_force_gripper'] on ['/dev/ttyUSB1', '/dev/ttyUSB0'].

[reachy_sdk_server-7] [INFO] [1744273857.745847955] [reachy_sdk_server]: service get_joint_full_state timeout, trying again...

[joint_state_controller-3] INFO:root:Found devices on="/dev/ttyUSB1", connecting...

**[joint_state_controller-3] INFO:root:Looking for ['neck', 'l_antenna', 'r_antenna', 'neck_fan', 'l_antenna_fan', 'r_antenna_fan'] on ['/dev/ttyUSB1', '/dev/ttyUSB0'].**

**[reachy_sdk_server-7] [INFO] [1744273858.748333149] [reachy_sdk_server]: service get_joint_full_state timeout, trying again...**

[joint_state_controller-3] WARNING:root:Could not find [<**reachy_pyluos_hal.orbita.OrbitaActuator object at 0x7fcf77df3ca0>, <DynamixelMotor type="XL320" id=30 limits=(-2.62, 2.62)** >, <DynamixelMotor type="XL320" id=31 limits=(-2.62, 2.62)>] on /dev/ttyUSB1

[joint_state_controller-3] Traceback (most recent call last):

[joint_state_controller-3] File "/home/reachy/reachy_ws/install/reachy_controllers/lib/reachy_controllers/joint_state_controller", line 11, in <module>

[joint_state_controller-3] load_entry_point('reachy-controllers==1.0.0', 'console_scripts', 'joint_state_controller')()

[joint_state_controller-3] File "/home/reachy/reachy_ws/install/reachy_controllers/lib/python3.8/site-packages/reachy_controllers/joint_state_controller.py", line 355, in main

[joint_state_controller-3] joint_state_controller = JointStateController(

[joint_state_controller-3] File "/home/reachy/reachy_ws/install/reachy_controllers/lib/python3.8/site-packages/reachy_controllers/joint_state_controller.py", line 86, in __init__

[joint_state_controller-3] self.robot_hardware.__enter__()

[joint_state_controller-3] File "/home/reachy/dev/reachy_pyluos_hal/reachy_pyluos_hal/joint_hal.py", line 22, in __enter__

[joint_state_controller-3] self.reachy = Reachy(config_name=self.config_name, logger=self.logger)

[joint_state_controller-3] File "/home/reachy/dev/reachy_pyluos_hal/reachy_pyluos_hal/reachy.py", line 138, in __init__

[joint_state_controller-3] if not np.array_equal(np.asarray(list(missing_parts_cards.values())).flatten(), np.array([])):

[joint_state_controller-3] ValueError: setting an array element with a sequence. **The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (2,) + inhomogeneous part** **.**

[ERROR] [joint_state_controller-3]: process has died [pid 9597, exit code 1, cmd '/home/reachy/reachy_ws/install/reachy_controllers/lib/reachy_controllers/joint_state_controller --ros-args'].

Nous avons tenté de débrancher et de rebrancher les différents moteurs plusieurs fois, nous avons aussi redémarrer Reachy, sans succès.

En essayant de voir les différents moteurs détectés nous remarquons qu’il nous manque toute la partie qui fait fonctionner la tête :

python3 -m reachy_pyluos_hal.discovery

/dev/ttyUSB1

{0: [LuosContainer(id=1, alias='gate', type='Gate')], 2: [LuosContainer(id=2, alias='dxl_10', type='DynamixelMotor'), LuosContainer(id=3, alias='dxl_11', type='DynamixelMotor'), LuosContainer(id=4, alias='dxl_12', type='DynamixelMotor'), LuosContainer(id=5, alias='dxl_13', type='DynamixelMotor'), LuosContainer(id=6, alias='dxl_14', type='DynamixelMotor'), LuosContainer(id=7, alias='dxl_15', type='DynamixelMotor'), LuosContainer(id=8, alias='dxl_16', type='DynamixelMotor'), LuosContainer(id=9, alias='dxl_17', type='DynamixelMotor')], 11: [LuosContainer(id=10, alias='load_10', type='Load')]}

**/dev/ttyUSB0**

**{0: [LuosContainer(id=1, alias='gate', type='Gate')]}**

Pourtant la led sur le moteur orbita est bien allumé en bleu.

L’état des services est le suivant :

systemctl --user status reachy_sdk_server.service

reachy_sdk_server.service - Reachy SDK server service

Loaded: loaded (/home/reachy/.config/systemd/user/reachy_sdk_server.service; enabled; vendor preset: enabled)

Active: inactive (dead) since Thu 2025-04-10 10:54:16 CEST; 1min 16s ago

Process: 1307 ExecStart=/usr/bin/bash /home/reachy/reachy_ws/src/reachy_sdk_server/launch_all.bash (code=killed, signal=TERM)

Main PID: 1307 (code=killed, signal=TERM)

Apr 10 10:54:10 reachy bash[1542]: [reachy_sdk_server-7] [INFO] [1744275250.320694825] [reachy_sdk_server]: service get_joint_full_state timeout, trying again...

Apr 10 10:54:11 reachy bash[1542]: [reachy_sdk_server-7] [INFO] [1744275251.321908895] [reachy_sdk_server]: service get_joint_full_state timeout, trying again...

Apr 10 10:54:12 reachy bash[1542]: [reachy_sdk_server-7] [INFO] [1744275252.323315278] [reachy_sdk_server]: service get_joint_full_state timeout, trying again...

Apr 10 10:54:13 reachy bash[1542]: [reachy_sdk_server-7] [INFO] [1744275253.324766313] [reachy_sdk_server]: service get_joint_full_state timeout, trying again...

Apr 10 10:54:14 reachy bash[1542]: [reachy_sdk_server-7] [INFO] [1744275254.326095754] [reachy_sdk_server]: service get_joint_full_state timeout, trying again...

Apr 10 10:54:15 reachy bash[1542]: [reachy_sdk_server-7] [INFO] [1744275255.327297806] [reachy_sdk_server]: service get_joint_full_state timeout, trying again...

Apr 10 10:54:16 reachy bash[1542]: [reachy_sdk_server-7] [INFO] [1744275256.328572190] [reachy_sdk_server]: service get_joint_full_state timeout, trying again...

Apr 10 10:54:16 reachy systemd[1300]: Stopping Reachy SDK server service...

Apr 10 10:54:16 reachy systemd[1300]: reachy_sdk_server.service: Succeeded.

Apr 10 10:54:16 reachy systemd[1300]: Stopped Reachy SDK server service.

En attente de votre réponse.

Cordialement,