Seems like RTDE expects you to poll it continuously after you connect if you want fresh data. It’d be good if that was clearly called out in the docs.
If I do this:
rtde.connect()
time.sleep(11)
rtde.receive()
I get errors like received 0 bytes from Controller, probable cause: Controller has stopped or received 0 bytes from Controller. Also, I’ll often get two stale messages before it notices the disconnect.
Receive has to be called frequently, otherwise input buffers overflow.
UR should be more explicit about that in the API documentation. Thanks for reporting.