I was helping a customer install his UR5. His application is a simple pick and place.
Since he was setting up the robot (his very 1st one), he was not sure of the permanent positions of the cobot, the ‘pick’ point and the ‘place’ point.
They will change as he works out different consistency issues he has with presenting parts to the robot, and the cardboard boxes these parts go into.
So everything is held together by clamps , even the robot stand is clamped to the conveyor belt.
So nothing is solidly attached.
When a collision happens, things move a little bit: either the conveyor or the robot stand.
Enough to make it a real chore to re-program the fixed waypoints to pick up the parts and place them in the cardboard box.
It would be ideal to have 2 installation variables such as poses, to describe the ‘pick’ pose (waypoint) and the ‘place’ pose (waypoint)
Then the whole program is based on waypoints relative to these 2 points .
When a collision happens, you only have to redo 2 positions (pick and place), and you can quickly resume working.
With Polyscope 3.13, relative points only use a fixed reference waypoint, not a variable one.
You cannot define a waypoint relative to the next (future) waypoint or a waypoint that is reached 3-4 moves later- which is logical too.
Can the reference point for a relative move be a variable waypoint?
This can be easily done with script- I know-. The customer is not yet trained on script, and Polyscope does the job fine for now.
So I prefer staying with Polyscope- no script.
with the relative movement it is not meant to move to exact predefined position relative to some other pose/feature defined elsewhere. Instead the arm will move for a relative amount to the current position of the robot once it comes to this point in the program. You could use this for example to move the arm always a up a bit after inserting a part into a box to ensure the following movement can take place without a collision.
What you probably are looking for is the movement relative to a feature. If you define a feature to represent the placing part of your application and teach the waypoints in reference to it, once a collision happens and the positions are not precise anymore you only need to adjust the correspondent feature.