-
Notifications
You must be signed in to change notification settings - Fork 0
Referential frame composition
The composition of frames of reference is a way to transform vectors and tensors from one referential frame into another.
One referential frame R1
is described by the referential frame R0
using two vectors: translation
and rotation
.
The convention that we are using is to apply the rotation before the translation and
so, R1
is related by R0
like
The translation vector t01
and rotation vectors r01
are the only relation between both frames.
All we need is 6
values: 3 for translation and 3 for rotation.
The translation vector is easy to know and the rotation vector is given by the infinitesimal rotations.
It's equivalent to a rotation of an angle theta
in the u
direction.
The rotation matrix R01
can be found using the equation
If we have a point p
which is seen by the referential frame 1
by the coordinates p1 = (x1, y1, z1)
, then the same point p
is seen by the referential frame 0
by the coordinates p0 = (x0, y0, z0)
.
For example, if the rotation is 90 degrees
in the direction z = (0, 0, 1)
(that means, anti-clockwise) and the translation vector is (tx, ty, tz)
we have the relation between the two points:
The inverse of this operation, is to describe the referential R0
by the coordinates of R1
, that is:
We work with dynamics problems, and so we need the derivatives of time. We call
-
t01
linear position -
v01
linear speed -
a01
linear acceleration -
r01
angular position -
w01
angular speed -
q01
angular acceleration
It's interesting to note that dR/dt = W * R
We have the equations bellow
Where the matrix W
and Q
are obtained from the vectors w
and q
The inverse are
Using finite rotations, we can describe the resultant rotation. Although, with frame composition, we can't apply the same idea for translations. We know for angular velocity and angular acceleration we don't have this problem because the angular velocity resultant is gotten only by summing the individual vectors.
For example, if we have three referential frames R0
, R1
and R2
, we know the position of p2
applying the equation:
We have that tres
is only a translation vector and doesn't contribute for the rotation of p0
.
And so, the objective is find r
such it gives the correct R
.
-
The first way is to diagonalize the matrix
R
and the vectoru
will be theeigen vector
correspondent to theeigen value
equals to1
. -
The second way is to use the transformation
As we can see, doing a rotation of theta
with the direction u
has the same result of doing a rotation of -theta
in the direction -u
. So, to make the transformation we define
- We use the item (2) to find the vector
u
and we computetheta
like
As we can see, the value of theta
can jump from one value to another depending of the result of arcsin
or arccos
.
If the frame rotates with constant angular velocity w
, the value of theta
would be monotonic (that means, it only increases or it only decreases), but computing using the rotation matrix R
it will often reset.