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.
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?
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:
Then there is another which is
Mutliplying this I get the following matrix
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?
The result however is this:
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.