ros-industrial/universal_robot — pull request #75 by paturdc (2014-06-17 09:37:11+00:00)
Title: added timeout "hacks" to allow manual motion

We have two robots, on running on a little older software, the other with brand new. In the older one (a UR5), simply changing line 718 to

r = getConnectedRobot(wait=True, timeout=50.0)

worked really well, although the timeout value can be adjusted up or down. In the newer robot (a UR10), the above solution does not work. However, since I HAD to make it work quickly, I found that simply adding

print "Timeout for 10 s"
time.sleep(10)

below

except EOF, ex:
print "Connection closed (command):", ex

worked well enough for practical purposes, although it's not very pretty.

Changing "time.sleep(10)" to a more elegant solution that waits for the robot to become available again, would go a long way toward solving this issue, if i understand it correctly. As I am writing my Master Thesis ATM, I don't really have time to come up with a better method.