I recently exchanged my UR5 running RTDE version 3.3 for a UR10 running RTDE version 3.4. Now I was setting up RTDE to exchange position data between my PC and the UR5, sending doubles to 6 input registers on the robot, just like in the example_control_loop.py.
But now, I cannot even get the example to work anymore. Everytime I try to set up my input parameters using the example_control_loop.py file, it says “input parameter already in use”.
I get that exception when
setp = con.send_input_setup(setp_names, setp_types)
is executed. I have not modified anything in the example, except for the robot IP address.
I am using:
Hope you can help me,
Did you manage to solve this?
I have the same problem in my project. But only sometimes this ValueError is raised. I suppose that the socket was not properly disconnected in the last run and the robot-side is expecting the old connection and blocks somehow? I just wonder how to overcome this?
I tried to catch all ValueErrors in these input/output setup calls and then to disconnect and connect again but it didn’t work. A function in the rtde package that resets the connection properly would be very helpful.
Unfortunately I have not been able to solve this, no. And since developer support seems to be huge here, I’m not sure I will get this solved…
For me, it happened using a brand new Robot we got, so I never actually established a connection with it. Maybe something didn’t get properly disconnected with the old robot, but that should still make no difference i think.
Well who knows, maybe someone will eventually reply here.
@alexander.constantin SW 3.3 uses a different RTDE library than SW 3.4. Have you tried updating the files to the ones that are available in the support site? https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/real-time-data-exchange-rtde-guide-22229/
I’ve had some problems myself with this, but after using those files with SW 3.4 everything went well.
Just refreshing topic.
If you ever get ‘An input parameter is already in use.’ error then first ssh to robot, and check if there is any client attached to RTDE port 30004
netstat --all --program | grep 30004
Normally there should be just one established connection from flightrecorder in polyscope on localhost. If you see more connections either from localhost or remote, then one of these processes may still hold input variables.
Input variables are released when connection is closed.
@jubeira I already updated all my files because I was suspecting something like that, but even using the example from the brand new file did not work, but thank you anyway.
@mmi thank you, I will try your solution as soon as possible and will post my results here
@mmi I forgot to post my results, but it worked, thanks! I just reset everything and then I could use RTDE
Hi @alexander.constantin, Im dealing with this exact problem right now. How did you and up reseting the existing RTDE connection? I’ve already tried directly killing the process and even updating the controller.
@roba I did exactly what was explained by @mmi to solve the problem. I hooked up my PC onto the same network as the UR, ssh’ed into it using default credentials (PW should be “easybot” i think) and launched the above command. That did the trick for me.
Thanks, but I have just solved the problem. for me, the fix was to go to the installation and disable the EtherNet/IP adapter.