Universal
Universal joint (2 degrees-of-freedom, 4 potential states)
Library
Modelica/Mechanics/MultiBody/Joints
Description
Joint where frame_a rotates around axis n_a which is fixed in frame_aand frame_b rotates around axis n_b which is fixed in frame_b.The two frames coincide when"revolute_a.phi=0" and "revolute_b.phi=0". This jointhas the following potential states;
- The relative angle phi_a = revolute_a.phi [rad] around axis n_a,
- the relative angle phi_b = revolute_b.phi [rad] around axis n_b,
- the relative angular velocity w_a (= der(phi_a)) and
- the relative angular velocity w_b (= der(phi_b)).
They are used as candidates for automatic selection of statesfrom the tool. This may be enforced by setting "stateSelect=StateSelect.always"in the Advanced menu. 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.
In the following figure the animation of a universaljoint is shown. The light blue coordinate system isframe_a and the dark blue coordinate system isframe_b of the joint(here: n_a = {0,0,1}, n_b = {0,1,0}, phi_a.start = 90o,phi_b.start = 45o).
Parameters
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_animation | animation | = true, if animation shall be enabled | Scalar | true |
mo_n_a | n_a | Axis of revolute joint 1 resolved in frame_a | Vector of size 3 | |
mo_n_b | n_b | Axis of revolute joint 2 resolved in frame_b | Vector of size 3 | |
mo_phi_a | phi_a | phi_a | Structure | |
mo_phi_a/fixed | fixed | Cell of scalars | true | |
mo_phi_a/start | start | Cell of scalars | ||
mo_phi_b | phi_b | phi_b | Structure | |
mo_phi_b/fixed | fixed | Cell of scalars | true | |
mo_phi_b/start | start | Cell of scalars | ||
mo_w_a | w_a | w_a | Structure | |
mo_w_a/fixed | fixed | Cell of scalars | true | |
mo_w_a/start | start | Cell of scalars | ||
mo_w_b | w_b | w_b | Structure | |
mo_w_b/fixed | fixed | Cell of scalars | true | |
mo_w_b/start | start | Cell of scalars | ||
mo_a_a | a_a | a_a | Structure | |
mo_a_a/fixed | fixed | Cell of scalars | true | |
mo_a_a/start | start | Cell of scalars | ||
mo_a_b | a_b | a_b | Structure | |
mo_a_b/fixed | fixed | Cell of scalars | true | |
mo_a_b/start | start | Cell of scalars |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_cylinderLength | cylinderLength | Length of cylinders representing the joint axes | Scalar | |
mo_cylinderDiameter | cylinderDiameter | Diameter of cylinders representing the joint axes | Scalar | |
mo_cylinderColor | cylinderColor | Color of cylinders representing the joint axes | 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 coordinates (phi_a, phi_b, w_a, w_b) 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 | ||
mo__modifiers/attribute | Attribute | Cell of strings | 'start' | |
mo__modifiers/value | Value |
Ports
Name | Type | Description | IO Type | Number |
---|---|---|---|---|
frame_a | implicit | Coordinate system a fixed to the component with one cut-force and cut-torque | input | 1 |
frame_b | implicit | Coordinate system b fixed to the component with one cut-force and cut-torque | output | 1 |