# Position with tool coordinate system as reference

Hello,

I created a program that allows the UR3 robot to make a circular path (using the equation of a circle).
It seems that the tool mark orientation stay the same along the trajectory.

However, I want the Y axis of the tool to be perpendicular to the tangent at any point of the path :

I had the idea to add a θ angle in RZ tool coordinate system (θ depends on each points of the path )

Is there a solution for adding any orientation (RX,RY,RZ) using the tool space coordinate system as reference.

For example, 0.4 rad in RZ tool space like : p[0,0,0,0,0,0.4]
(only tool space and not base one)

Thank you

The script function `pose_trans(p_from, p_from_to)` will assist you applying the rotation in the tool space. You might also take a look at the `movec(pose_via, pose_to, a=1.2, v=0.25, r=0, mode=0)` function. If you set `mode=1` will keep orientation constant relative to the tangent of the circular arc (starting from current pose)

Ebbe

1 Like

Thank you for the reply !

Using movec funtion can be an idea but It is not as precise as I want the circle trajectory to be.

I want to be able to have a postion in X Y and Z according the base system and RX RY RZ according to tool system (and not base system here)

If I try this function,will I get this result for example ? (I’m a bit confused about this function so could you tell me if my reasoning is correct pls ?)

pose_trans(p[x,y,z,a,b,c], p[0,0,0,rx,ry,rz]) = p[x,y,z,d,e,f] (position according to base system)

d = angle base result by adding a and rx
e = angle base result by adding b and ry
f = angle base result by adding c and rz

(p[x,y,z,a,b,c] : It’s a position according to the base coordinate system)

(p[0,0,0,rx,ry,rz] : Position acoording to the tool coordinate system)

(p[x,y,z,d,e,f] : final position according to the base coordinate system)

Yes, that is correct!

Can you elaborate on what you mean by that?

In fact, the trajectory I want to realise is not a perfect circle.
Plus I want the robot to make a circle with a constant orientation of rotation (same alpha position at any points of the path) : But the movec function cannot do that… The orientation of the robot is automatically chosen
We have to make 2 arcs to use this function but it is like if the mid point of each arc is not controlled for angle (Rx,RY,RZ), only xyz position.

It would be interesting to use this function by having the possibility to change orientation coordinates for each arcs.