Description: We are experiencing a critical crash in the core container when trying to initialize our Reachy 2 (PVT03 unit) with the grippers set to mode: default.
When we configure the reachy.yaml file with mode: fake for the grippers, the system is completely stable and the arms (EtherCAT bus) work perfectly. However, when switching to mode: default, the main control node fails to communicate with the Dynamixel motors, causing the system to crash.
Environment & Observed Behavior:
-
Power/Hardware: When releasing the E-Stop, the gripper motors do their initial LED blink correctly, confirming they are receiving power.
-
USB Ports: The host OS and the Docker container perfectly detect the USB-Serial adapters (
/dev/ttyUSB0,/dev/ttyUSB1, and/dev/ttyUSB2are present). -
Dynamixel Scan: We ran a Python script using
dynamixel_sdkdirectly inside thecorecontainer (with ports freed up). We pinged all possible IDs (1-253) across multiple baudrates (1 Mbps, 4 Mbps, 57600 bps, etc.) on all ports, but we get no response (pingtimeout) from any motor.
Specific Error Logs: When starting the core in default mode, the ros2_control_node throws the following sequence of errors before dying:
-
Dynamixel controller initialization fails:
[ERROR]: Failed to init dxl_controller with config file -
Failed to load gripper state interfaces:
[ERROR]: missing state interfaces: ' l_hand_finger/position '(and the equivalent for the right hand). -
Process death:
[ERROR]: process has died [pid 130, exit code -6]
Question for the community/support: Given that the ports open correctly but data packets get no response from the configured IDs (43 and 53), is there any known bug in the humble_1.7.5.2 release that locks the Dynamixel bus? Alternatively, are there any additional baudrate/ID configurations in the gripper .yaml files that we might be missing for PVT units?
