ConnectionError: Read failed due to communication error on port COM10 for group_key Present_Position_shoulder_pan_shoulder_lift_elbow_flex_wrist_flex_wrist_roll_gripper: [TxRxResult] There is no status packet!
System Info
- `lerobot` version: 0.1.0
- Platform: Windows-10-10.0.22621-SP0
- Python version: 3.10.15
- Huggingface_hub version: 0.26.3
- Dataset version: 3.1.0
- Numpy version: 1.26.4
- PyTorch version (GPU?): 2.5.1+cpu (False)
- Cuda version: N/A
- Using GPU in script?: <fill in>
Information
- [ ] One of the scripts in the examples/ folder of LeRobot
- [ ] My own task or dataset (give details below)
Reproduction
D:\Project\leRobot\lerobot>python lerobot/scripts/control_robot.py teleoperate --robot-path lerobot/configs/robot/so100.yaml
Connecting main follower arm.
Connecting main leader arm.
Activating torque on main follower arm.
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:33.55 (29.8hz) dtRlead: 4.32 (231.4hz) dtWfoll: 1.73 (578.3hz) dtRfoll: 3.01 (332.6hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:11.93 (83.8hz) dtRlead: 3.58 (279.2hz) dtWfoll: 0.75 (1336.5hz) dtRfoll: 2.42 (413.1hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:14.04 (71.2hz) dtRlead: 3.42 (292.6hz) dtWfoll: 1.26 (795.1hz) dtRfoll: 3.16 (316.0hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:24.32 (41.1hz) dtRlead: 3.40 (293.7hz) dtWfoll: 0.91 (1100.7hz) dtRfoll: 2.87 (348.5hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:22.62 (44.2hz) dtRlead: 3.36 (297.5hz) dtWfoll: 0.87 (1143.6hz) dtRfoll: 3.16 (316.1hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:14.84 (67.4hz) dtRlead: 4.02 (248.9hz) dtWfoll: 2.86 (349.3hz) dtRfoll: 3.56 (280.7hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:12.50 (80.0hz) dtRlead: 3.11 (321.3hz) dtWfoll: 1.20 (835.8hz) dtRfoll: 3.75 (267.0hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:14.60 (68.5hz) dtRlead: 3.33 (300.3hz) dtWfoll: 2.10 (475.1hz) dtRfoll: 6.18 (161.7hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:13.96 (71.6hz) dtRlead: 2.89 (345.5hz) dtWfoll: 0.94 (1068.6hz) dtRfoll: 3.12 (320.1hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:14.53 (68.8hz) dtRlead: 2.67 (374.5hz) dtWfoll: 0.85 (1180.8hz) dtRfoll: 2.71 (369.5hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:15.13 (66.1hz) dtRlead: 3.69 (271.3hz) dtWfoll: 1.05 (952.3hz) dtRfoll: 2.89 (346.6hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:14.47 (69.1hz) dtRlead: 2.97 (336.9hz) dtWfoll: 0.80 (1243.9hz) dtRfoll: 2.48 (403.0hz)
INFO 2024-12-08 19:45:36 rol_utils.py:70 dt:13.85 (72.2hz) dtRlead: 3.80 (263.4hz) dtWfoll: 1.11 (903.5hz) dtRfoll: 3.07 (326.1hz)
Traceback (most recent call last):
File "D:\Project\leRobot\lerobot\lerobot\scripts\control_robot.py", line 552, in
Expected behavior
solve this problem
It kinda looks like the cable to the motor is loose and communication with the motor is disconnected
But why cause this problem ,when I calibrated them ,no package lost!
still this problem ,who can help me ?
For a while I was using a robotic arm that would disconnect when I turned it to a specific angle, I found out it was a loose data cable from the motor, could you try swapping out the data cable from the motor?
still this problem ,who can help me ?
Have you found a solution? I am having the same issue for my leader arm while my follower arm connect just fine.
I was having the exact same issue on my SO-100. The issue was a cable that had loosened wiring. It seems you are also using a serial Bus style system. Just try reading the servo position with all servos detached and adding them one at a time in a position where the cables are most strained
I am having a similar issue with the Koch 1.1 follower arm in teleoperator mode. I find that I intermittently get the Present_Position_shoulder_pan_shoulder_lift_elbow_flex_wrist_flex_wrist_roll_gripper error. But I found I can just re-run the teleoperator script and everything runs fun until the next intermittent error - no need to power cycle robot, no need to robot.disconnect()/robot.connect().
I am wondering if it would be OK to just have the code ignore the error and continue running.
it happened to me too: It seems to fail to read leader arm but OK to read from the follower arm. Is it related to that I removed all the gears of the motors of leader according to the video?
Indeed it was due to cable connections..., it works now after fixed a loose socket..
Hi everyone !
I'm closing the issue as its seems the bug was related to cable connections and loosened wiring.
Best,
Caroline.
For me it turned out to be a cable problem, too
I can connect to all 6 motors of two arms and read position. still getting the similar error. @CarolinePascal
I resolved this issue by removing the gripper, recalibrating the sixth servo motor, then reinstalling the gripper with the same orientation, and finally calibrating the robotic arm again.
I have the same issue, seems like some wire loosened but I cant understand which exactly and dont want to disassemble the whole stuff.
@JimmyPang02 can you clarify what does it mean "recalibrating the sixth servo motor"? How Is it possible to recalibrate only one motor instead of the whole arm?|
Thank you.
I fixed the error after upgrading feetech's motor firmware
@jzzzzzzzzzzzzzzzz Can you please let us know how to upgrade the firmware. We are having the same issues.
Also when we move the follower arm, the follower board is shutdown and turning back on. Please help.
I ended up realizing that the frequency of reading the values from the motors is very low , try teleoperating fewer motors you wont get the error, I am able to teleoperate all 6 motors if i am adding some wait_length in the code. But since the freq is low and again i am inducing some delay , the motion is very shaky. Can anyone help? I am using waveshare st3215 HS servos.
rol_utils.py:82 dt:46.91 (21.3hz) dtRlead:17.74 (56.4hz) dtWfoll: 1.24 (804.4hz) dtRfoll:27.87 (35.9hz)
I only had this problem when calibrating the leader, and at first I thought it was a problem with the wires being in poor contact. But it wasn't. After I updated the motor version (3.9->3.10), the problem was solved.