modelUniversal
Extends from Modelica.Mechanics.MultiBody.Interfaces.PartialTwoFrames (Base model for components providing two frame connectors + outer world + assert to guarantee that the component is connected).
Information
Joint where frame_a rotates around axis n_a which is fixed in frame_a and 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 joint has 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 states from 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 universal joint is shown. The light blue coordinate system is frame_a and the dark blue coordinate system is frame_b of the joint (here: n_a = {0,0,1}, n_b = {0,1,0}, phi_a.start = 90o, phi_b.start = 45o).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | animation | true | = true, if animation shall be enabled |
| Modelica.Mechanics.MultiBody.Types.Axis | n_a | {1, 0, 0} | Axis of revolute joint 1 resolved in frame_a |
| Modelica.Mechanics.MultiBody.Types.Axis | n_b | {0, 1, 0} | Axis of revolute joint 2 resolved in frame_b |
| Animation › if animation = true | |||
| SI.Distance | cylinderLength | world.defaultJointLength | Length of cylinders representing the joint axes |
| SI.Distance | cylinderDiameter | world.defaultJointWidth | Diameter of cylinders representing the joint axes |
| Advanced | |||
| StateSelect | stateSelect | StateSelect.prefer | Priority to use joint coordinates (phi_a, phi_b, w_a, w_b) as states |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Interfaces.Frame_a | frame_a (from PartialTwoFrames) | Coordinate system a fixed to the component with one cut-force and cut-torque | |
| Interfaces.Frame_b | frame_b (from PartialTwoFrames) | Coordinate system b fixed to the component with one cut-force and cut-torque |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Types.Color | cylinderColor | Modelica.Mechanics.MultiBody.Types.Defaults.JointColor | Color of cylinders representing the joint axes |
| Types.SpecularCoefficient | specularCoefficient | world.defaultSpecularCoefficient | Reflection of ambient light (= 0: light is completely absorbed) |
| Modelica.Mechanics.MultiBody.Joints.Revolute | revolute_a | ||
| Modelica.Mechanics.MultiBody.Joints.Revolute | revolute_b | ||
| SI.Angle | phi_a | Relative rotation angle from frame_a to intermediate frame | |
| SI.Angle | phi_b | Relative rotation angle from intermediate frame to frame_b | |
| SI.AngularVelocity | w_a | First derivative of angle phi_a (relative angular velocity a) | |
| SI.AngularVelocity | w_b | First derivative of angle phi_b (relative angular velocity b) | |
| SI.AngularAcceleration | a_a | Second derivative of angle phi_a (relative angular acceleration a) | |
| SI.AngularAcceleration | a_b | Second derivative of angle phi_b (relative angular acceleration b) |