Orientation

Orientation object defining rotation from a frame 1 into a frame 2

    Orientation

Library

Modelica/Mechanics/MultiBody/Frames

Description

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 |

Parameters

Orientation_0

NameLabelDescriptionData TypeValid Values

mo_T

T

Transformation matrix from world frame to local frame

Matrix of size 3x3

mo_w

w

Absolute angular velocity of local frame, resolved in local frame

Vector of size 3