Every time I try to grip a cube, the gripper fingers move and grip the object. However, right after the command is executed the error is shown and the program is halted. How do I resolve this issue?
I believe that generally means that the dimension you put in the 2FG Grip command isn’t quite right - the gripper can be fussy.
Looks like you have a value of 71.? programmed in.
Click the UR+ button in the upper right part of the screen - it will tell you what it thinks the dimension actually is when it’s gripping. This will be affected by how you’ve defined the finger dimensions, etc. If it’s trying to go to 71.x mm but it thinks it’s a ways off of that, then you’ll get an error. I don’t remember what the tolerance is for that, but I think you want to be within a few mm.
Adjust either the gripper finger dimensions or the value in your 2FG Grip node.
hi @dpeva , thank you for your reply!
If I go ahead and use the ur+ button on top right corner of the screen, at what point do I need to stop the gripper? Do I need to wait for some pop up? I am trying to grip a cube of 70x70x70. I used 71 because as per my visual inspection the gripper gripped the cube properly.
Caveat - I’m using an RG6, with Polyscope 5.12 and OnRobot URCap v 5.17, so there may be some differences . . . .
If you actually grab the cube with the gripper, click the UR+ icon & check to see what the gripper thinks that dimension is:
Here I’m showing 83.7mm on mine:
If it’s not close to the actual dimension of the part, then you should probably adjust the Fingertip offset in the URCap setup:
Once the fingertip offset is correct, you can play with the target dimension in the 2FG Grip node - I think it should be slightly smaller than the actual part dimension.
I grab my ring shaped parts primarily by the inside, but occasionally by the outside, and have specially configured fingers to do that. This means I can end up with some large offsets.
I uses scripts for most of the gripping actions, but they’re not much different than just using the nodes - biggest thing is that I have an offset from the actual part dimension, which combines with the fingertip offset to tell the gripper where to go- if I changed the fingertip offset I might have to change the formulae below:
def Grip_ID():
ID_grip=(ID_inches*25.4)-5
rg_grip(ID_grip,30,depth_comp=True)
end
def Grip_OD():
OD_grip = OD_inches*25.4 + 40
rg_grip(OD_grip,30,depth_comp=True)
end
def RG6Open(x):
#x_mm = x*25.4
rg_grip(x, 30, depth_comp=False)
end
@dpeva you are right! This worked for me. So for grasping the cube of 70mm, I used the grip(60) and then checked the ur+ for the value, it showed 69.5.
Thank You for the help!
That pulldown shows a live value, so you can see gripper position at any time and also see how much variation there is from pick to pick.
You can even monitor that value in your program by looking at the rg_Width variable. I even use that (or actually its equivalent tfg_Diameter for the 3-finger gripper) to check if the part has been dropped - I grab that value when the part is gripped, then check it later after the part has been pulled off a mandrel - if the part sticks onto the mandrel and the gripper goes on without it, the value will drop by a small amount (~0.3mm), and I can stop the robot and alert the operator.