JointRRP

Planar revolute - revolute - prismatic joint aggregation (no constraints, no potential states)

    JointRRP

Library

Modelica/Mechanics/MultiBody/Joints/Assemblies

Description

This component consists of 2 revolute joints with parallel axes of rotation that and a prismatic joint with a translational axis that is orthogonal to the revolute joint axes, see the default animation in the following figure (the axes vectors are not part of the default animation):

model Joints.Assemblies.JointRRP

This joint aggregation introduces neither constraints nor state variables and should therefore be used in kinematic loops whenever possible to avoid non-linear systems of equations. It is only meaningful to use this component in planar loops. Basically, the position and orientation of the 3 joints as well as of frame_ia, frame_ib, and frame_im are calculated by solving analytically a non-linear equation, given the position and orientation at frame_a and at frame_b.

Connector frame_a is the "left" side of the first revolute joint whereas frame_ia is the "right side of this revolute joint, fixed in rod 1. Connector frame_b is the "right" side of the prismatic joint whereas frame_ib is the "left" side of this prismatic joint, fixed in rod 2. Finally, connector frame_im is the connector at the "right" side of the revolute joint in the middle, fixed in rod 2. The frames frame_b, frame_ib, frame_im are always parallel to each other.

The easiest way to define the parameters of this joint is by moving the MultiBody system in a reference configuration where all frames of all components are parallel to each other (alternatively, at least frame_a, frame_ia, frame_im, frame_ib, frame_b of the JointRRP joint should be parallel to each other when defining an instance of this component).

Basically, the JointRRP model consists internally of a universal - spherical - prismatic joint aggregation (= JointUSP). In a planar loop this will behave as if 2 revolute joints with parallel axes and 1 prismatic joint are connected by rigid rods.

Parameters

JointRRP_0

NameLabelDescriptionData TypeValid Values

mo_animation

animation

= true, if animation shall be enabled

Scalar

true
false

mo_n_a

n_a

Axes of the two revolute joints resolved in frame_a (both axes are parallel to each other)

Vector of size 3

mo_n_b

n_b

Axis of prismatic joint fixed and resolved in frame_b (must be orthogonal to revolute joint axes)

Vector of size 3

mo_rRod1_ia

rRod1_ia

Vector from origin of frame_a to revolute joint in the middle, resolved in frame_ia

Vector of size 3

mo_rRod2_ib

rRod2_ib

Vector from origin of frame_ib to revolute joint in the middle, resolved in frame_ib (frame_ib is parallel to frame_b)

Vector of size 3

mo_s_offset

s_offset

Relative distance offset of prismatic joint (distance between the prismatic joint frames = s(t) + s_offset)

Scalar

mo_s_guess

s_guess

Select the configuration such that at initial time |s(t0)-s_guess| is minimal

Scalar

mo_e_a

e_a

Unit vector along axes of rotations, resolved in frame_a

Vector of size 3

mo_e_ia

e_ia

Unit vector along axes of rotations, resolved in frame_ia

Vector of size 3

mo_e_im

e_im

Unit vector along axes of rotations, resolved in frame_im

Vector of size 3

mo_e_b

e_b

Unit vector along axes of translation of the prismatic joint, resolved in frame_b and frame_ib

Vector of size 3

JointRRP_1

NameLabelDescriptionData TypeValid Values

mo_cylinderLength

cylinderLength

Length of cylinders representing the revolute joints

Scalar

mo_cylinderDiameter

cylinderDiameter

Diameter of cylinders representing the revolute joints

Scalar

mo_cylinderColor

cylinderColor

Color of cylinders representing the revolute joints

Vector of size 3

mo_boxWidthDirection

boxWidthDirection

Vector in width direction of prismatic joint, resolved in frame_b

Vector of size 3

mo_boxWidth

boxWidth

Width of prismatic joint box

Scalar

mo_boxHeight

boxHeight

Height of prismatic joint box

Scalar

mo_boxColor

boxColor

Color of prismatic joint box

Vector of size 3

mo_rodDiameter

rodDiameter

Diameter of the two rods connecting the joints

Scalar

mo_rodColor

rodColor

Color of the two rods connecting the joints

Vector of size 3

mo_specularCoefficient

specularCoefficient

Reflection of ambient light (= 0: light is completely absorbed)

Scalar

JointRRP_2

NameLabelDescriptionData TypeValid Values

mo_checkTotalPower

checkTotalPower

= true, if total power flowing into this component shall be determined (must be zero)

Scalar

true
false

JointRRP_3

NameLabelDescriptionData TypeValid Values

mo_totalPower

totalPower

totalPower

Structure

mo_totalPower/fixed

fixed

Cell of scalars

true
false

mo_totalPower/start

start

Cell of scalars

Ports

NameTypeDescriptionIO TypeNumber

frame_a

implicit

Coordinate system fixed to the component with one cut-force and cut-torque

input

1

frame_b

implicit

Coordinate system fixed to the component with one cut-force and cut-torque

output

1

frame_ia

implicit

Coordinate system at origin of frame_a fixed at connecting rod of revolute joints

input

2

frame_ib

implicit

Coordinate system at origin of frame_b fixed at connecting rod of revolute and prismatic joint

output

2

frame_im

implicit

Coordinate system at origin of revolute joint in the middle fixed at connecting rod of revolute and prismatic joint

output

3

axis

implicit

1-dim. translational flange that drives the prismatic joint

input

3

bearing

implicit

1-dim. translational flange of the drive bearing of the prismatic joint

output

4