Orientation

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

Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

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 |

Used in Components (29)

Revolute

Modelica.Mechanics.MultiBody.Joints

Revolute joint (1 rotational degree-of-freedom, 2 potential states, optional axis flange)

RevolutePlanarLoopConstraint

Modelica.Mechanics.MultiBody.Joints

Revolute joint that is described by 2 positional constraints for usage in a planar loop (the ambiguous cut-force perpendicular to the loop and the ambiguous cut-torques are set arbitrarily to zero)

Spherical

Modelica.Mechanics.MultiBody.Joints

Spherical joint (3 constraints and no potential states, or 3 degrees-of-freedom and 3 states)

FreeMotion

Modelica.Mechanics.MultiBody.Joints

Free motion joint (6 degrees-of-freedom, 12 potential states)

UniversalSpherical

Modelica.Mechanics.MultiBody.Joints

Universal - spherical joint aggregation (1 constraint, no potential states)

JointUPS

Modelica.Mechanics.MultiBody.Joints.Assemblies

Universal - prismatic - spherical joint aggregation (no constraints, no potential states)

Prismatic

Modelica.Mechanics.MultiBody.Joints.Constraints

Prismatic cut-joint and translational directions may be constrained or released

Revolute

Modelica.Mechanics.MultiBody.Joints.Constraints

Revolute cut-joint and translational directions may be constrained or released

Spherical

Modelica.Mechanics.MultiBody.Joints.Constraints

Spherical cut joint and translational directions may be constrained or released

Universal

Modelica.Mechanics.MultiBody.Joints.Constraints

Universal cut-joint and translational directions may be constrained or released

RevoluteWithLengthConstraint

Modelica.Mechanics.MultiBody.Joints.Internal

Revolute joint where the rotation angle is computed from a length constraint (1 degree-of-freedom, no potential state)

InitPosition

Modelica.Mechanics.MultiBody.Joints.Internal

Internal model to initialize r_rel_a for Joints.FreeMotionScalarInit

InitAngle

Modelica.Mechanics.MultiBody.Joints.Internal

Internal model to initialize the angels for Joints.FreeMotionScalarInit

InitAngularVelocity

Modelica.Mechanics.MultiBody.Joints.Internal

Internal model to initialize w_rel_b for Joints.FreeMotionScalarInit

FixedRotation

Modelica.Mechanics.MultiBody.Parts

Fixed translation followed by a fixed rotation of frame_b with respect to frame_a

Body

Modelica.Mechanics.MultiBody.Parts

Rigid body with mass, inertia tensor and one frame connector (12 potential states)

BodyBox

Modelica.Mechanics.MultiBody.Parts

Rigid body with box shape. Mass and animation properties are computed from box data and density (12 potential states)

BodyCylinder

Modelica.Mechanics.MultiBody.Parts

Rigid body with cylinder shape. Mass and animation properties are computed from cylinder data and density (12 potential states)

RelativeAngles

Modelica.Mechanics.MultiBody.Sensors

Measure relative angles between two frame connectors

BasicRelativeAngularVelocity

Modelica.Mechanics.MultiBody.Sensors.Internal

Basic sensor to measure relative angular velocity

BasicTransformAbsoluteVector

Modelica.Mechanics.MultiBody.Sensors.Internal

Transform absolute vector into another frame

BasicTransformRelativeVector

Modelica.Mechanics.MultiBody.Sensors.Internal

Transform relative vector into another frame

Arrow

Modelica.Mechanics.MultiBody.Visualizers.Advanced

Visualizing an arrow with variable size

DoubleArrow

Modelica.Mechanics.MultiBody.Visualizers.Advanced

Visualizing a double arrow with variable size

PipeWithScalarField

Modelica.Mechanics.MultiBody.Visualizers.Advanced

Visualizing a pipe with a scalar field

Lines

Modelica.Mechanics.MultiBody.Visualizers.Internal

Visualizing a set of lines as cylinders with variable size, e.g., used to display characters (no Frame connector)

PartialShape

Modelica.Utilities.Internal.PartialModelicaServices.Animation

Interface for 3D animation of elementary shapes

PartialVector

Modelica.Utilities.Internal.PartialModelicaServices.Animation

Interface for 3D animation of a vector quantity (force, torque etc)

PartialSurface

Modelica.Utilities.Internal.PartialModelicaServices.Animation

Interface for 3D animation of surfaces