RevolutePlanarLoopConstraint
Revolute joint that is described by 2 positional constraints for usage in a planar loop (the ambiguous cut-force perpendicular to the loop and the ambiguous cut-torques are set arbitrarily to zero)
Library
Modelica/Mechanics/MultiBody/Joints
Description
Joint where frame_b rotates around axis n which is fixed in frame_a andwhere this joint is used in a planar loop providing 2 constraint equationson position level.
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 nounique mathematical solution if all revolute joints are modelled withJoints.Revolute and the symbolic algorithms willfail. The reason is that, e.g., the cut-forces in the revolute joints perpendicularto the planar loop are not uniquely defined when 3-dim. descriptions of revolutejoints are used. Usually, an error message will be printed pointing out thissituation. In this case, one revolute joint in the loop has to be replaced bymodel Joints.RevolutePlanarLoopCutJoint. Theeffect is that from the 5 constraints of a 3-dim. 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).
Parameters
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
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_nnx_a | nnx_a | Arbitrary vector that is not aligned with rotation axis n | Vector of size 3 | |
mo_ey_a | ey_a | Unit vector orthogonal to axis n of revolute joint, resolved in frame_a | Vector of size 3 | |
mo_ex_a | ex_a | Unit vector orthogonal to axis n of revolute joint and to ey_a, resolved in frame_a | Vector of size 3 | |
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__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 | 'ey_b' | |
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 |