Revolute
Revolute joint (1 rotational degree-of-freedom, 2 potential states, optional axis flange)
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
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_useAxisFlange | useAxisFlange | = true, if axis flange is enabled | Number | 0 |
mo_animation | animation | = true, if animation shall be enabled (show axis as cylinder) | Scalar | true |
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 | |
mo_phi/start | start | Cell of scalars | ||
mo_w | w | w | Structure | |
mo_w/fixed | fixed | Cell of scalars | true | |
mo_w/start | start | Cell of scalars | ||
mo_a | a | a | Structure | |
mo_a/fixed | fixed | Cell of scalars | true | |
mo_a/start | start | Cell of scalars |
Name | Label | Description | Data Type | Valid 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 |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_stateSelect | stateSelect | Priority to use joint angle phi and w=der(phi) as states | Structure | |
mo_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_stateSelect/choice5 | StateSelect.always | Number | 0 |
Name | Label | Description | Data Type | Valid 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' | |
mo__modifiers/attribute | Attribute | Cell of strings | 'start' | |
mo__modifiers/value | Value |
Ports
Name | Type | Description | IO Type | Number |
---|---|---|---|---|
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 |