Interbotix / interbotix_ros_turrets

ROS Packages for Interbotix Turrets
BSD 3-Clause "New" or "Revised" License
7 stars 10 forks source link

[Bug]: Error [xs_sdk] groupSyncRead getdata failed after some (random) time #2

Closed PhilippJunge closed 1 year ago

PhilippJunge commented 1 year ago

What happened?

I wrote some Python code in ROS, using the interbotix_xs turret modules to move my WidowX. After a while, I always get this repetitive error:

[ERROR] [1674480155.850167930]: [xs_sdk] [TxRxResult] Failed transmit instruction packet! [ERROR] [1674480155.850201436]: [xs_sdk] groupSyncRead getdata failed [ERROR] [1674480155.850212483]: [xs_sdk] groupSyncRead getdata failed [ERROR] [1674480155.850224568]: [xs_sdk] groupSyncRead getdata failed

It occurs with my own code as well with the Python examples given in this repository (roslaunch interbotix_xsturret_control xsturret_control.launch robot_model:=wxxms).

The exact moment where the error occurs seems to be quite random, which makes it difficult for me to give useful information. What I observed was:

Robot Model

WidowX XM430 Robot Turret (wxxms)

Operating System

Ubuntu 18.04

ROS Distro

ROS1 Melodic

Steps To Reproduce

Start the xs_sdk node from my own script or directly via the given launch file.

Example: roslaunch interbotix_xsturret_control xsturret_control.launch robot_model:=wxxms Leading directly or after some time/when executing a sample script to this error: [ERROR] [1674493061.931674972]: [xs_sdk] [TxRxResult] Failed transmit instruction packet! [ERROR] [1674493061.931731101]: [xs_sdk] groupSyncRead getdata failed [ERROR] [1674493061.931748577]: [xs_sdk] groupSyncRead getdata failed [ERROR] [1674493061.931762643]: [xs_sdk] groupSyncRead getdata failed

Relevant log output

... logging to /home/junge/.ros/log/dacf6f5e-9b3e-11ed-b603-000af787aed7/roslaunch-tumwiwb-lx004-7151.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://169.254.219.160:46313/

SUMMARY
========

PARAMETERS
 * /rosdistro: melodic
 * /rosversion: 1.14.13
 * /wxxms/robot_description: <?xml version="1....
 * /wxxms/xs_sdk/load_configs: True
 * /wxxms/xs_sdk/mode_configs: /home/junge/inter...
 * /wxxms/xs_sdk/motor_configs: /home/junge/inter...

NODES
  /wxxms/
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    rviz (rviz/rviz)
    xs_sdk (interbotix_xs_sdk/xs_sdk)

auto-starting new master
process[master]: started with pid [7180]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to dacf6f5e-9b3e-11ed-b603-000af787aed7
process[rosout-1]: started with pid [7201]
started core service [/rosout]
process[wxxms/robot_state_publisher-2]: started with pid [7204]
process[wxxms/rviz-3]: started with pid [7209]
process[wxxms/xs_sdk-4]: started with pid [7210]
[ INFO] [1674492979.090488755]: [xs_sdk] Loaded mode configs from '/home/junge/interbotix_ws/src/interbotix_ros_turrets/interbotix_ros_xsturrets/interbotix_xsturret_control/config/modes.yaml'.
[ INFO] [1674492979.091354169]: [xs_sdk] Loaded motor configs from '/home/junge/interbotix_ws/src/interbotix_ros_turrets/interbotix_ros_xsturrets/interbotix_xsturret_control/config/wxxms.yaml'.
[ INFO] [1674492979.099812036]: [xs_sdk] Pinging all motors specified in the motor_config file. (Attempt 1/3)
[ INFO] [1674492979.135354242]: [xs_sdk]    Found DYNAMIXEL ID:  2, Model: 'XM430-W350', Joint Name: 'tilt'.
[ INFO] [1674492979.181391225]: [xs_sdk]    Found DYNAMIXEL ID:  1, Model: 'XM430-W350', Joint Name: 'pan'.
[ INFO] [1674492979.193033031]: [xs_sdk] Writing startup register values to EEPROM. This only needs to be done once on a robot. Set the `~load_configs` parameter to false from now on.
[ INFO] [1674492979.459397166]: [xs_sdk] The operating mode for the 'turret' group was changed to position.
[ INFO] [1674492979.666205946]: [xs_sdk] Interbotix 'xs_sdk' node is up!
...
...
...
...
[ERROR] [1674493061.931674972]: [xs_sdk] [TxRxResult] Failed transmit instruction packet!
[ERROR] [1674493061.931731101]: [xs_sdk] groupSyncRead getdata failed
[ERROR] [1674493061.931748577]: [xs_sdk] groupSyncRead getdata failed
[ERROR] [1674493061.931762643]: [xs_sdk] groupSyncRead getdata failed

Anything Else

I'm new to ROS and Dynamixel/Interbotix so if I forgot to include something that would help to find the error source, like another logfile, just let me know.

lukeschmitt-tr commented 1 year ago

Please see the corresponding section of our Troubleshooting guide here. Let me know if the solutions here do not solve your problem.

PhilippJunge commented 1 year ago

Please see the corresponding section of our Troubleshooting guide here. Let me know if the solutions here do not solve your problem.

Thank you for your fast reply! Just using a new MicroUSB to USB cable actually solved the problem, it was as easy as that.

lukeschmitt-tr commented 1 year ago

Great to hear! Feel free to close this if your issue has been solved.

jsalfity commented 7 months ago

This issue is occurring to us as well (Currently using Interbotix Turrent at UT Austin Applied Research Lab). We're going to purchase a powered usb hub, hoping that makes a difference.