UR10e - Using direction of force to offset a postion/direction

Hi All,

This is my first post on here, I’ve got a far amount of experience with industrial robots but this is my first experience of a UR10e, I have two of them infact, performing a slightly complex pick and assemble task.

The task itself is relatively simple aside from I have 18 pick positions and 4 place positions, I have sorted the logic for that but I have found another issue.

The part I am assembling only has around a 2mm tolerance to fit into the other part. This is proving tricky as sometimes theres a small misalignment on pickup and the part its assembling to must have a small gap for running down a conveyor so niether are perfect.

Now I am using a force measure to get the part down into the assembly, this works but every now and again there is a misalignment in feature base direction Y, this can be Y-, Y+ generally only 1-2mm.

This can cause the robot to crash out, the issue is I cannot make the the clip pickup any tighter, nor the conveyor any tighter.

Previously on industrial robots I have seen the force vector used to offset the robot position. So in effect if the robot sees a Y+ force of greater than “5” or whatever then it moves in the opposite direction by a fixed value, or until that force becomes less than “5” and vice versa for Y-.

Is there anyway to do that on the ur10e?

I am using get_tcp_force and monitoring the Z value for my placement, so I was thinking I could run an event when the robot is in this Z movement to montior the Y value, but I am not sure how I could get the logic to drive in Z then stop adjust by a fixed value then drive in Z again until the Z force is greater than my other preset variable.

Any help would be appreicated.

Thanks
Scott

Hello Scott,

As long as you’re good adjusting by a fixed Y value, then it shouldn’t be too difficult. :slight_smile: Here’s a quick sequence I set up which should achieve the desired function.
It’s not tested or anything, though.

You should be able to implement that it checks whether the force is in Y+ or Y- and then moves the correct direction.
Be sure to check the checkbox with “Check expression continuously” in the If statement. :slight_smile:

Also, have you tried the Force Template? It has a function which allows the robot to move freely in Y while moving towards a position. Maybe this could solve your issue simpler?

1 Like

Thanks efn,

I did briefly come across that Force mode on Friday whilst doing some research so I will give that a go first. Due to the nature of the assembly the two parts naturally want to fit together as they have two radius that pull each other into alignment.

So if that Force mode works as I think it should then if I leave it compliant in Y then the robot should just gently get moved into position, we are only talking 1-2mm.

Exactly. It should allow it to move freely in Y. :slight_smile: