-
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
-
t01linear position -
v01linear speed -
a01linear acceleration -
r01angular position -
w01angular speed -
q01angular 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
Rand the vectoruwill be theeigen vectorcorrespondent to theeigen valueequals 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
uand we computethetalike
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.