Have a question or want to show off your project? Post it! No Registration Necessary.
Now with pictures!
Subject
- Posted on
Euler Angles - Why postmultiply
- 06-03-2012
June 3, 2012, 2:05 am
In Industrial Robotics, you have a co-ordinate frame which is at the
base & another which is at the next joint. You want to describe the
position and orientation of the 2nd frame with respect to the first in
terms of position and orientation. For the position, you use a
translation matrix.
The orientation is described by a rotation matrix which rotates the 2nd
frame from it's coincident position with the first frame and brings it
to it's final position.
Let the 1st frame have axis X, Y, Z
Let 2nd frame have axis x, y, z
To describe frame 2 in terms or frame 1, you start with both frames very
fully coincident at the beginning (i.e. even in orientation).
Then you have 2 methods. (You have many methods, actually)
1) Fixed Axis angles.
Then
- you rotate frame 2 by t1 about X - Rx(t1)
- you rotate frame 2 by t2 about Y - Ry(t2)
- you rotate frame 2 by t3 about Z - Rz(t2)
So new orientation of frame 2 is given by
Rz(t3) * Ry(t2) * Rx(t1)
(Obviously, you pre-multiply the 1st matrix by the 2nd. And the
premultiply the result with the 3rd matrix)
2) Euler Angles
2nd way of describing it is by Euler angles - i.e. you rotate the 2nd
frame about one of it's own axis (x or y or z), instead of (X, Y or Z)
- rotate frame 2 by t3 about x - (y becomes y' & z becomes z')
- rotate frame 2 by t2 about y' - (x becomes x' & z becomes z'')
- rotate frame 2 by t1 about z" - (x' becomes x'' & y becomes y")
Now this transform is described again by
Rz(t3) * Ry(t2) * Rx(t1)
I want to know how is this 2nd transform derived?
I know how the first one is derived because I know how to find the
rotation matrix for rotating a point about about a fixed axis. And I
know that if you are working with column vectors (for the point), you
premultiply the 1st rotation matrix by the 2nd rotation matrix.
However, I am not able to grok how you write the transformation matrices
for the 2nd case.
base & another which is at the next joint. You want to describe the
position and orientation of the 2nd frame with respect to the first in
terms of position and orientation. For the position, you use a
translation matrix.
The orientation is described by a rotation matrix which rotates the 2nd
frame from it's coincident position with the first frame and brings it
to it's final position.
Let the 1st frame have axis X, Y, Z
Let 2nd frame have axis x, y, z
To describe frame 2 in terms or frame 1, you start with both frames very
fully coincident at the beginning (i.e. even in orientation).
Then you have 2 methods. (You have many methods, actually)
1) Fixed Axis angles.
Then
- you rotate frame 2 by t1 about X - Rx(t1)
- you rotate frame 2 by t2 about Y - Ry(t2)
- you rotate frame 2 by t3 about Z - Rz(t2)
So new orientation of frame 2 is given by
Rz(t3) * Ry(t2) * Rx(t1)
(Obviously, you pre-multiply the 1st matrix by the 2nd. And the
premultiply the result with the 3rd matrix)
2) Euler Angles
2nd way of describing it is by Euler angles - i.e. you rotate the 2nd
frame about one of it's own axis (x or y or z), instead of (X, Y or Z)
- rotate frame 2 by t3 about x - (y becomes y' & z becomes z')
- rotate frame 2 by t2 about y' - (x becomes x' & z becomes z'')
- rotate frame 2 by t1 about z" - (x' becomes x'' & y becomes y")
Now this transform is described again by
Rz(t3) * Ry(t2) * Rx(t1)
I want to know how is this 2nd transform derived?
I know how the first one is derived because I know how to find the
rotation matrix for rotating a point about about a fixed axis. And I
know that if you are working with column vectors (for the point), you
premultiply the 1st rotation matrix by the 2nd rotation matrix.
However, I am not able to grok how you write the transformation matrices
for the 2nd case.
Re: Euler Angles - Why postmultiply
is at the
the first in
rotates the 2nd
orientation).
rotate the 2nd
(X, Y or Z)
z')
z'')
becomes y")
axis. And I
point), you
You have it, just multiply the 3 rotation matrices together,
but it has to be in the correct order. In robotics, we often
use pitch-yaw-roll Euler sequences, while pilots often use
yaw-pitch-roll (although they will sometimes call it heading-
elevation-banking). An Euler sequence is like a procedure, it
can't be treated like a vector. And part of that procedure is
whether you're moving from the target to the base, or the base
to target with your rotation sequences. But once you've got
that agreed to, you set up the rotation matrices accordingly
and multiply to get the final rotation matrix from frame1 to
frame2.
Mike Ross
Site Timeline
- » CNC & Robotics Parts Garage Sale
- — Next thread in » General Robotics Forum
-

- » DH Algorithm - Direction of X
- — Previous thread in » General Robotics Forum
-

- » 64-bit Supercomputer Forth Chips for Strong AI
- — Newest thread in » General Robotics Forum
-

- » computer vision, opencv relating real world object size to image pixel size
- — Last Updated thread in » General Robotics Forum
-

- » OT - What's going on in the USA
- — The site's Newest Thread. Posted in » ⏣ General Metalworking
-

- » Copying an eccentric bushing
- — The site's Last Updated Thread. Posted in » ⏣ General Metalworking
-




