Revolute

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

    Revolute

Library

Modelica/Mechanics/MultiBody/Joints

Description

Joint where frame_b rotates around axis n which is fixed in frame_a.The two frames coincide when the rotation angle "phi = 0".

Optionally, two additional 1-dimensional mechanical flanges(flange "axis" represents the driving flange andflange "support" represents the bearing) can be enabled viaparameter useAxisFlange. The enabled axis flange can bedriven with elements of theModelica.Mechanics.Rotationallibrary.

In the "Advanced" menu it can be defined via parameter stateSelectthat the rotation angle "phi" and its derivative shall be definitelyused as states by setting stateSelect=StateSelect.always.Default is StateSelect.prefer to use the joint angle and itsderivative as preferred states. The states are usually selected automatically.In certain situations, especially when closed kinematic loops are present,it might be slightly more efficient, when using the StateSelect.always setting.

If a planar loop is present, e.g., consisting of 4 revolute jointswhere the joint axes are all parallel to each other, then there is nolonger a unique mathematical solution and the symbolic algorithms willfail. Usually, an error message will be printed pointing out thissituation. In this case, one revolute joint of the loop has to be replacedby a Joints.RevolutePlanarLoopConstraint joint. Theeffect is that from the 5 constraints of a usual revolute joint,3 constraints are removed and replaced by appropriate knownvariables (e.g., the force in the direction of the axis of rotation istreated as known with value equal to zero; for standard revolute joints,this force is an unknown quantity).

In the following figure the animation of a revolutejoint is shown. The light blue coordinate system isframe_a and the dark blue coordinate system isframe_b of the joint. The black arrow is parametervector "n" defining the translation axis(here: n = {0,0,1}, phi.start = 45o).

Parameters

Revolute_0

NameLabelDescriptionData TypeValid Values

mo_useAxisFlange

useAxisFlange

= true, if axis flange is enabled

Number

0
1

mo_animation

animation

= true, if animation shall be enabled (show axis as cylinder)

Scalar

true
false

mo_n

n

Axis of rotation resolved in frame_a (= same as in frame_b)

Vector of size 3

mo_e

e

Unit vector in direction of rotation axis, resolved in frame_a (= same as in frame_b)

Vector of size 3

mo_phi

phi

phi

Structure

mo_phi/fixed

fixed

Cell of scalars

true
false

mo_phi/start

start

Cell of scalars

mo_w

w

w

Structure

mo_w/fixed

fixed

Cell of scalars

true
false

mo_w/start

start

Cell of scalars

mo_a

a

a

Structure

mo_a/fixed

fixed

Cell of scalars

true
false

mo_a/start

start

Cell of scalars

Revolute_1

NameLabelDescriptionData TypeValid Values

mo_cylinderLength

cylinderLength

Length of cylinder representing the joint axis

Scalar

mo_cylinderDiameter

cylinderDiameter

Diameter of cylinder representing the joint axis

Scalar

mo_cylinderColor

cylinderColor

Color of cylinder representing the joint axis

Vector of size 3

mo_specularCoefficient

specularCoefficient

Reflection of ambient light (= 0: light is completely absorbed)

Scalar

Revolute_2

NameLabelDescriptionData TypeValid Values

mo_stateSelect

stateSelect

Priority to use joint angle phi and w=der(phi) as states

Structure

mo_stateSelect/choice1

StateSelect.never

Number

0
1

mo_stateSelect/choice2

StateSelect.avoid

Number

0
1

mo_stateSelect/choice3

StateSelect.default

Number

0
1

mo_stateSelect/choice4

StateSelect.prefer

Number

0
1

mo_stateSelect/choice5

StateSelect.always

Number

0
1

Revolute_3

NameLabelDescriptionData TypeValid Values

mo__nmodifiers

Number of Modifiers

Specifies the number of modifiers

Number

mo__modifiers

Modifiers

Add new modifier

Structure

mo__modifiers/varname

Variable name

Cell of strings

'tau'
'angle'
'R_rel'

mo__modifiers/attribute

Attribute

Cell of strings

'start'
'fixed'

mo__modifiers/value

Value

Ports

NameTypeDescriptionIO TypeNumber

frame_a

implicit

Coordinate system fixed to the joint with one cut-force and cut-torque

input

1

frame_b

implicit

Coordinate system fixed to the joint with one cut-force and cut-torque

output

1

Port 3

implicit

1-dim. rotational flange that drives the joint

input

mo_useAxisFlange

Port 4

implicit

1-dim. rotational flange of the drive support (assumed to be fixed in the world frame, NOT in the joint)

output

mo_useAxisFlange