Connection Timeouts with the E-Series on URX library

Hey there!

In our labs we control all of our Universal Robots remotely using Python URX. Problem is, when we got the new e-series, we started getting an urx.ursecmon.TimeoutException: Did not receive a valid data packet from robot in 0.5 error when we try to run python scripts from the terminal to control the robot. This error appears often (so we do manage to make the robot work sometimes). We know that the issue is that the ursecmon.py file does not contain the code block to support polyscope 5.1 provided in the e-series. The ursecmon.py is included in the zip file I attached to this post.

We think that this old ursecmon.py cannot parse the Robot Mode Data from the e-series because maybe of different data or packet size but we do not have a lead on how or what to add to this code to enable support for the e-series and avoid these intermittent timeouts. Were new “Robot Mode Data” added or changed in the newest Polyscope? How do we then transmission from CB3 to Polyscope 5.1?

I should also note that on our other Universal Robots we are using Polyscope 3.4.

urx.zip (15.8 KB)

I know my colleague @eiz has done some work with URX - Evgenii do you have any idea about using this with e-Series?

Hi Andrew, aho11,

RTDE protocol had changed in Polyscope 3.5,
use a fork instead of original source.

Put into “drive\path-to-anaconda3\Lib\site-packages\urx”

if you have got URX from pip - replace all library files from link above.

I’m using Ubuntu 16.04 for the process but nevertheless the updated urx for 3.5 did not work on the e-series, I am still receiving intermittent timeouts even after replacing all the old urx files with this fork.