SphericalSpherical

Spherical - spherical joint aggregation (1 constraint, no potential states) with an optional point mass in the middle

    SphericalSpherical

Library

Mechanics/MultiBody/Joints

Description

Joint that has a spherical joint on each of its two ends. The rod connecting the two spherical joints is approximated by a point mass that is located in the middle of the rod. When the mass is set to zero (default), special code for a massless body is generated. In the following default animation figure, the two spherical joints are represented by two red spheres, the connecting rod by a grey cylinder and the point mass in the middle of the rod by a light blue sphere:

model Joints.SphericalSpherical

This joint introduces one constraint defining that the distance between the origin of frame_a and the origin of frame_b is constant (= rodLength). It is highly recommended to use this joint in loops whenever possible, because this enhances the efficiency considerably due to smaller systems of non-linear algebraic equations.

It is sometimes desirable to compute the rodLength of the connecting rod during initialization. For this, parameter computeLength has to be set to true and instead one other, easier to determine, position variable in the same loop needs to have a fixed attribute of true. For example, if a loop consists of one Revolute joint, one Prismatic joint and a SphericalSpherical joint, one may fix the start values of the revolute joint angle and of the relative distance of the prismatic joint in order to compute the rodLength of the rod.

It is not possible to connect other components, such as a body with mass properties or a special visual shape object to the rod connecting the two spherical joints. If this is needed, use instead joint Joints.UniversalSpherical that has this property.

Parameters

SphericalSpherical_0

NameLabelDescriptionData TypeValid Values

mo_animation

animation

= true, if animation shall be enabled

Scalar

true
false

mo_showMass

showMass

= true, if mass shall be shown (provided animation = true and m > 0)

Scalar

true
false

mo_computeRodLength

computeRodLength

= true, if rodLength shall be computed during initialization (see info)

Scalar

true
false

mo_rodLength

rodLength

Distance between the origins of frame_a and frame_b (if computeRodLength=true, guess value)

Scalar

mo_m

m

Mass of rod (= point mass located in middle of rod)

Scalar

SphericalSpherical_1

NameLabelDescriptionData TypeValid Values

mo_sphereDiameter

sphereDiameter

Diameter of spheres representing the spherical joints

Scalar

mo_sphereColor

sphereColor

Color of spheres representing the spherical joints

Vector of size 3

mo_rodDiameter

rodDiameter

Diameter of rod connecting the two spherical joint

Scalar

mo_rodColor

rodColor

Color of rod connecting the two spherical joints

Vector of size 3

mo_massDiameter

massDiameter

Diameter of sphere representing the mass point

Scalar

mo_massColor

massColor

Color of sphere representing the mass point

Vector of size 3

mo_specularCoefficient

specularCoefficient

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

Scalar

SphericalSpherical_2

NameLabelDescriptionData TypeValid Values

mo_kinematicConstraint

kinematicConstraint

= false, if no constraint shall be defined, due to analytically solving a kinematic loop ("false" should not be used by user, but only by MultiBody.Joints.Assemblies joints)

Scalar

true
false

mo_constraintResidue

constraintResidue

Constraint equation of joint in residue form: Either length constraint (= default) or equation to compute rod force (for analytic solution of loops in combination with Internal.RevoluteWithLengthConstraint/PrismaticWithLengthConstraint)

Scalar

mo_checkTotalPower

checkTotalPower

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

Scalar

true
false

SphericalSpherical_3

NameLabelDescriptionData TypeValid Values

mo_f_rod

f_rod

f_rod

Structure

mo_f_rod/fixed

fixed

Cell of scalars

true
false

mo_f_rod/start

start

Cell of scalars

mo_rRod_0

rRod_0

rRod_0

Structure

mo_rRod_0/fixed

fixed

Cell of vectors of size 3

true
false

mo_rRod_0/start

start

Cell of vectors of size 3

mo_rRod_a

rRod_a

rRod_a

Structure

mo_rRod_a/fixed

fixed

Cell of vectors of size 3

true
false

mo_rRod_a/start

start

Cell of vectors of size 3

mo_eRod_a

eRod_a

eRod_a

Structure

mo_eRod_a/fixed

fixed

Cell of vectors of size 3

true
false

mo_eRod_a/start

start

Cell of vectors of size 3

mo_r_CM_0

r_CM_0

r_CM_0

Structure

mo_r_CM_0/fixed

fixed

Cell of vectors of size 3

true
false

mo_r_CM_0/start

start

Cell of vectors of size 3

mo_v_CM_0

v_CM_0

v_CM_0

Structure

mo_v_CM_0/fixed

fixed

Cell of vectors of size 3

true
false

mo_v_CM_0/start

start

Cell of vectors of size 3

mo_f_CM_a

f_CM_a

f_CM_a

Structure

mo_f_CM_a/fixed

fixed

Cell of vectors of size 3

true
false

mo_f_CM_a/start

start

Cell of vectors of size 3

mo_f_CM_e

f_CM_e

f_CM_e

Structure

mo_f_CM_e/fixed

fixed

Cell of vectors of size 3

true
false

mo_f_CM_e/start

start

Cell of vectors of size 3

mo_f_b_a1

f_b_a1

f_b_a1

Structure

mo_f_b_a1/fixed

fixed

Cell of vectors of size 3

true
false

mo_f_b_a1/start

start

Cell of vectors of size 3

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 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