Universal Robots Forum

Offset X,Y in a Plane

I’m having a problem with offsetting Positions relative to a Plane!
I’m using a Robotiq Camera to locate parts stored on a rack.
when the part is found the Robot moves to the position of the part OK.
I then grab the TCP pose using get_actual_tcp_pose().
Now I do some maths to calculate 20 X & Y values on the circumference of a circle (X,Y) positions.
update the task position and move to each position to perform a task.
This works fine in Base.

My problem is that I want to adjust X & Y Relative to the Plane.
I’ve tried to use pose_trans(Point,Plane) to adjust the position data to the plane but the results are totally unexpected.

hi m,

try to use pose_trans(inv(plane),Point)

it will give your point relitive to your plane.

to see the outcome you can have a pop up before your move comand so it will give some more sense.

kind regards,

Corné

1 Like

Keep in mind that pose_trans() uses the tool coordinate system as a reference. So make sure the offset measurement is in the same frame of refence as the tool (i.e. X+ is X+, etc.)

1 Like

Thankyou Corne,

That worked perfectly.
It all seems so logical when you see the answer!

By using the pose_trans(inv(plane),point)
I was able to transpose the get_actual_tcp_pose() to base, do the Maths offset to get 20 X,Y Values and then move to the positions with the plane enabled in the move.

1 Like