Calculate pose_trans

Greetings URCommunity,
I am trying to mathematically calculate the pose_trans command. I have a pose p[-0.3205;-0.8276;-0.339;0,0,1.5712] and base coordinates p[0.6336;-0.0792;0.35;2.1995;2.2428;0.007].

When I run the command pose_trans(p[-0.3205;-0.8276;-0.339;0,0,1.5712], p[0.6336;-0.0792;0.35;2.1995;2.2428;0.007]) I get p[-0.2415;-0.195;0.0118;0.03122;-3.1385;-0.00523]. Mathematically, how could I get to this result?
Any help is much appreciated
Best regards,
Pedro Monforte

Hi,
Mathematically, it is multiply of transformation matrix.
But firstly, a point vector shall be translated to transformation matrix, the last three parameters in p[-0.3205;-0.8276;-0.339;0,0,1.5712] , ‘0,0,1.5712’ is in form of Rotation Vector, not RPY or other form.

support site article for your reference: Universal Robots - Explanation on robot orientation

Hi,
Thank you very much for your reply. I had already found that page and even other posts but I was unable to wrap my brains around this. What I really wanted was to have a more in-depth explanation, step by step (I know this is not easy to do via forum) because I can’t seem to get there. Then again, the base coordinates are the following: p[0.6336,-0.0792,0.3508,2.1995,2.2428,0.007] and I want to have these coordinates related to a plane/pose p[-0.3205,-0.8276,-0.339,0,0,1.5712]. After doing the pose_trans I get the p[-0.2415,-0.195,0.0118,0.03122,-3.1385,-0.00523]

How many matrixes do I even need and how does a 4x4 matrix will multiply with a 6x1 array?

Any help is much appreciated
Best regards
Pedro

Try looking here.

Thank you very much. I had already skimmed through it and it works fine for the linear coordinates (x,y,z), but not for the angular ones.
With the example I gave I was able to get to the -0.2413,-0.194,0.0118 as x,y,z respectively. Yet, a pose needs the angular part (Rx, Ry, Rz) and I can’t get to them.
Any help is much appreciated since it’s vital I can get this computerized, otherwise my app won’t work
Best regards
Pedro Monforte

To make things easier to understand here’s what I have.
One transformation matrix is:
Capture

Then there is another which is
Capture1

Mutliplying this I get the following matrix
Capture2

The last column corresponds to the transformed coordinates x,y,z (the 1 is irrelevant).
If I use these matrixes to change the rotations it does not give me the proper result

As far as the rotation matrixes are concerned it should be something like this, right?
Capture3
The result however is this:
Capture4
Which is clearly not what I want to obtain

Please read through it ones more as it works for both.

I have personally implemented the method described in this post an replicated pose_trans perfectly.

it does both because the affine transformation matrix is a combined translation and rotations matrix.

you should not calculate them individually like you are trying to as the translations is dependent on the rotations and both therefore have to be calculated together at ones.