lerobot icon indicating copy to clipboard operation
lerobot copied to clipboard

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!

Open JohnsonLv opened this issue 1 year ago • 9 comments

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 teleoperate(robot, **kwargs) File "D:\Project\leRobot\lerobot\lerobot\common\robot_devices\utils.py", line 28, in wrapper raise e File "D:\Project\leRobot\lerobot\lerobot\common\robot_devices\utils.py", line 24, in wrapper return func(robot, *args, **kwargs) File "D:\Project\leRobot\lerobot\lerobot\scripts\control_robot.py", line 177, in teleoperate control_loop( File "D:\Project\leRobot\lerobot\lerobot\common\datasets\image_writer.py", line 36, in wrapper raise e File "D:\Project\leRobot\lerobot\lerobot\common\datasets\image_writer.py", line 29, in wrapper return func(*args, **kwargs) File "D:\Project\leRobot\lerobot\lerobot\common\robot_devices\control_utils.py", line 262, in control_loop observation, action = robot.teleop_step(record_data=True) File "D:\Project\leRobot\lerobot\lerobot\common\robot_devices\robots\manipulator.py", line 549, in teleop_step follower_pos[name] = self.follower_arms[name].read("Present_Position") File "D:\Project\leRobot\lerobot\lerobot\common\robot_devices\motors\feetech.py", line 740, in read raise ConnectionError( 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!

Expected behavior

solve this problem

JohnsonLv avatar Dec 08 '24 14:12 JohnsonLv

It kinda looks like the cable to the motor is loose and communication with the motor is disconnected

IlIllllll avatar Dec 09 '24 08:12 IlIllllll

But why cause this problem ,when I calibrated them ,no package lost!

JohnsonLv avatar Dec 09 '24 11:12 JohnsonLv

still this problem ,who can help me ?

JohnsonLv avatar Dec 10 '24 14:12 JohnsonLv

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?

IlIllllll avatar Dec 11 '24 03:12 IlIllllll

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.

carolineys avatar Jan 25 '25 06:01 carolineys

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

ParzivalExtrimis avatar Feb 15 '25 13:02 ParzivalExtrimis

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.

srsaito avatar Mar 19 '25 22:03 srsaito

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?

kokun66 avatar Mar 26 '25 06:03 kokun66

Indeed it was due to cable connections..., it works now after fixed a loose socket..

kokun66 avatar Mar 26 '25 07:03 kokun66

Hi everyone !

I'm closing the issue as its seems the bug was related to cable connections and loosened wiring.

Best,

Caroline.

CarolinePascal avatar Apr 14 '25 13:04 CarolinePascal

For me it turned out to be a cable problem, too

srsaito avatar Apr 30 '25 17:04 srsaito

I can connect to all 6 motors of two arms and read position. still getting the similar error. @CarolinePascal

Image

Jeevesh2009 avatar May 14 '25 10:05 Jeevesh2009

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.

JimmyPang02 avatar May 15 '25 04:05 JimmyPang02

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.

Bris557 avatar May 17 '25 07:05 Bris557

I fixed the error after upgrading feetech's motor firmware

Image

jzzzzzzzzzzzzzzzz avatar May 20 '25 02:05 jzzzzzzzzzzzzzzzz

@jzzzzzzzzzzzzzzzz Can you please let us know how to upgrade the firmware. We are having the same issues.

Davidarduinoclone avatar May 22 '25 20:05 Davidarduinoclone

Also when we move the follower arm, the follower board is shutdown and turning back on. Please help.

Davidarduinoclone avatar May 22 '25 21:05 Davidarduinoclone

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)

Jeevesh2009 avatar May 23 '25 07:05 Jeevesh2009

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.

ARTOFCRASH avatar Jun 09 '25 12:06 ARTOFCRASH