AbsoluteAngles

Measure absolute angles between frame connector and the world frame

    AbsoluteAngles

Library

Modelica/Mechanics/MultiBody/Sensors

Description

This model determines the 3 angles to rotate the world frame into frame_a along the axes defined by parameter sequence. For example, if sequence = {3,1,2} then the world frame is rotated around angles[1] along the z-axis, afterwards it is rotated around angles[2] along the x-axis, and finally it is rotated around angles[3] along the y-axis and is then identical to frame_a. The 3 angles are returned in the range

    -p <= angles[i] <= p

There are two solutions for "angles[1]" in this range. Via parameter guessAngle1 (default = 0) the returned solution is selected such that |angles[1] - guessAngle1| is minimal. The transformation matrix between the world frame and frame_a may be in a singular configuration with respect to "sequence", i.e., there is an infinite number of angle values leading to the same relative transformation matrix. In this case, the returned solution is selected by setting angles[1] = guessAngle1. Then angles[2] and angles[3] can be uniquely determined in the above range.

The parameter sequence has the restriction that only values 1,2,3 can be used and that sequence[1] ≠ sequence[2] and sequence[2] ≠ sequence[3]. Often used values are:

  sequence = {1,2,3}  // Cardan or Tait-Bryan angle sequence
           = {3,1,3}  // Euler angle sequence
           = {3,2,1}

Parameters

AbsoluteAngles_0

NameLabelDescriptionData TypeValid Values

mo_sequence

sequence

Angles are returned to rotate world frame around axes sequence[1], sequence[2] and finally sequence[3] into frame_a

Vector of size 3

mo_guessAngle1

guessAngle1

Select angles[1] such that abs(angles[1] - guessAngle1) is a minimum

Scalar

AbsoluteAngles_1

NameLabelDescriptionData TypeValid Values

mo_angles

angles

angles

Structure

mo_angles/fixed

fixed

Cell of vectors of size 3

true
false

mo_angles/start

start

Cell of vectors of size 3

Ports

NameTypeDescriptionIO TypeNumber

frame_a

implicit

Coordinate system a of which the absolute kinematic quantities are measured

input

1

angles

implicit

Angles to rotate world frame into frame_a via 'sequence'

output

1