Universal Robots Forum

Setting GPBI to freedrive

Hi,

I am trying to set the GPBI[64] to freedrive via the set_gp_boolean_input_action(port, action) URScript function. I have previously asked a similar question and I ended up sending the URScript via the secondary client. I am working on a UR5e 5.10.

My problem is that when executing set_gp_boolean_input_action(64, "freedrive") nothing happens. This is both sending it through the secondary client aswell as setting it directly in runtime through a script program node.

Any help is appreciated. Thank you!

If you are fine setting it up in the Installation; you should be able to go to Installation → General → I/O Setup and on the Input side scroll down to GPbi[64] click on it and then set the “Action” to FreeDrive. I am using 5.8 currently but this should still be a function in 5.10.

1 Like

I know that is a possibility, but I would like for it to be done automatically.

Just to clear the obvious potential pitfalls… You’re writing to the boolean register with RTDE not fieldbus correct? And you have confirmed boolean input 64 is actually being set successfully after you’ve configured the channel by reading it with:

read_input_boolean_register(64)

1 Like

I have checked both in the I/O Setup installation page and with read_input_boolean_register(64) aswell and it has not been changed to freedrive.
I am trying to write through the secondary interface on port 30002, but I have also tried to write it through script program nodes and that doesn’t seem to work either.

A correction to what I previously wrote. I am able to set the register to freedrive from a script porgram node. I just hadn’t noticed it worked, because it doesn’t update in the I/O Setup installation page. Yet I am still looking to do it through the secondary client.

Right, If Polyscope installation tab didn’t set the input action, I don’t think there’s a way for it to check whether it’s set or not.

I would expect putting the exact same line in a script node in polyscope to have same effect as sending via secondary client. Are you just sending this one single line? You said in your initial post that you had this working previously?

I have got it working now. I think the problem was that I was sending the command through the secondary client too early in the setup of the robot (If that makes sense).

To solve that I now check through the dashboard server when the robot has been turned on and then send the command via the secondary client. This lets me set the robot into freedrive mode through the GPIB 64.

But GPIB 64 does not show up in the installation as set to freedrive and I have to send the command through the secondary client every time the robot is rebooted, becuase it is not saved in the I/O Setup installation.