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
Mechanics/MultiBody/Joints
Description
Joint where frame_b rotates around axis n which is fixed in frame_a and where this joint is used in a planar loop providing 2 constraint equations on position level.
If a planar loop is present, e.g., consisting of 4 revolute joints where the joint axes are all parallel to each other, then there is no unique mathematical solution if all revolute joints are modelled with Joints.Revolute and the symbolic algorithms will fail. The reason is that, e.g., the cut-forces in the revolute joints perpendicular to the planar loop are not uniquely defined when 3-dim. descriptions of revolute joints are used. Usually, an error message will be printed pointing out this situation. In this case, one revolute joint in the loop has to be replaced by model Joints.RevolutePlanarLoopCutJoint. The effect is that from the 5 constraints of a 3-dim. revolute joint, 3 constraints are removed and replaced by appropriate known variables (e.g., the force in the direction of the axis of rotation is treated 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_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 | |
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 |
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 |