This object describes the rotation from a frame 1 into a frame 2. An instance of this type should never be directly accessed but only with the access functions provided in package Modelica.Mechanics.MultiBody.Frames. As a consequence, it is not necessary to know the internal representation of this object as described in the next paragraphs.
"Orientation" is defined to be a record consisting of two elements: "Real T[3,3]", the transformation matrix to rotate frame 1 into frame 2 and "Real w[3]", the angular velocity of frame 2 with respect to frame 1, resolved in frame 2. Element "T" has the following interpretation:
Orientation R; R.T = [ex, ey, ez]; e.g., R.T = [1,0,0; 0,1,0; 0,0,1]
where ex,ey,ez are unit vectors in the direction of the x-axis, y-axis, and z-axis of frame 1, resolved in frame 2, respectively. Therefore, if v1 is vector v resolved in frame 1 and v2 is vector v resolved in frame 2, the following relationship holds:
v2 = R.T * v1
The inverse orientation R_inv.T = R.TT describes the rotation from frame 2 into frame 1.
Since the orientation is described by 9 variables, there are 6 constraints between these variables. These constraints are defined in function Frames.orientationConstraint.
R.w is the angular velocity of frame 2 with respect to frame 1, resolved
in frame 2. Formally, R.w is defined as:
skew(R.w) = R.T*der(transpose(R.T))
with
| 0 -w[3] w[2] | skew(w) = | w[3] 0 -w[1] | | -w[2] w[1] 0 |
Name | Description |
---|---|
equalityConstraint | Return the constraint residues to express that two frames have the same orientation |