Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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! #560

Open
2 tasks
JohnsonLv opened this issue Dec 8, 2024 · 9 comments

Comments

@JohnsonLv
Copy link

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 JohnsonLv changed the title communcation error 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! Dec 8, 2024
@IlIllllll
Copy link

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

@JohnsonLv
Copy link
Author

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

@JohnsonLv
Copy link
Author

still this problem ,who can help me ?

@IlIllllll
Copy link

IlIllllll commented Dec 11, 2024

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?

@carolineys
Copy link

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.

@ParzivalExtrimis
Copy link

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

@srsaito
Copy link

srsaito commented Mar 19, 2025

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.

@kokun66
Copy link

kokun66 commented Mar 26, 2025

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
Copy link

kokun66 commented Mar 26, 2025

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants