# Documentation

Joint with coupled rotational and translational degrees of freedom

Joints

## Description

This block represents a joint with one rotational degree of freedom coupled with one translational degree of freedom. The coupling between the two degrees of freedom ensures that whenever the joint frames rotate relative to each other, they also translate by a commensurate amount and vice-versa. The joint lead determines the translation distance associated with a unit rotation angle while the joint direction determines whether a positive angle results in a positive or negative translation.

During assembly and simulation, the joint aligns the Z axes of its port frames. The common Z axis functions as the rotation and translation axis. Whenever the joint frames rotate, they do so about the common Z axis, and whenever the joint frames translate, they do so along the common Z axis. You can orient the motion axis in a different direction by applying rotation transforms to the joint frames through Rigid Transform blocks.

Joint Degrees of Freedom

A set of optional state targets guide assembly for the joint primitive. Targets include position and velocity. You can specify these based on the relative rotation or translation between the joint frames. A priority level sets the relative importance of the state targets. If two targets are incompatible, the priority level determines which of the targets to satisfy.

Each joint primitive has a set of optional sensing ports. These ports provide physical signal outputs that measure joint primitive motion. Variables that you can sense include those describing translational motion, rotational motion, and constraint forces and torques.

## Parameters

Direction

Handedness of motion between the joint frames. Motion is right-handed if a positive rotation leads to a positive translation and left-handed if a positive rotation leads to a negative translation. The default setting is `Right-Hand`.

Translation distance between the joint frames due to a unit rotation angle. The larger the lead, the longer the frames must translate before completing a full revolution. The default value is `1.0` mm/rev.

### Lead Screw Primitive: State Targets

Specify the lead screw primitive state targets and their priority levels. A state target is the desired value for one of the joint state variables—position or velocity. The priority level is the relative importance of a state target. It determines how precisely the target must be satisfied.

Specify Position Target

Desired joint primitive position at the start of simulation. This is the relative position, rotational or translational, of the follower frame relative to the base frame. Selecting this option exposes priority and value fields.

Specify Velocity Target

Desired joint velocity at the start of simulation. This is the relative velocity, rotational or translational, of the follower frame relative to the base frame. Selecting this option exposes priority and value fields.

Priority

Select state target priority. This is the importance level assigned to the state target. If all state targets cannot be simultaneously satisfied, the priority level determines which targets to satisfy first and how closely to satisfy them. This option applies to both position and velocity state targets.

Priority LevelDescription
`High (desired)`Satisfy state target precisely
`Low (approximate)`Satisfy state target approximately

### Note

During assembly, high-priority targets behave as exact guides. Low-priority targets behave as rough guides.

Based On

Motion type that the state target is based on. Options include `Rotation` and `Translation`. The default setting is `Translation`.

Value

Desired value of the position or velocity state target. The default value is `0`.

Select the variables to sense in the lead screw primitive. Selecting a variable exposes a physical signal port that outputs the measured quantity as a function of time. Each quantity is measured for the follower frame with respect to the base frame. It is resolved in the base frame.

VariableDescription
`Rotation`: Position

Rotation angle of the follower frame relative to the base frame about the common Z axis. Selecting the check box exposes a physical signal port labeled q.

`Rotation`: Velocity

Rotational velocity of the follower frame relative to the base frame about the common Z axis. Selecting the check box exposes a physical signal port labeled w.

`Rotation`: Acceleration

Rotational acceleration of the follower frame relative to the base frame about the common Z axis. Selecting the check box exposes a physical signal port labeled b.

`Translation`: Position

Offset distance of the follower frame relative to the base frame along the common Z axis. Selecting the check box exposes a physical signal port labeled p.

`Translation`: Velocity

Translational velocity of the follower frame relative to the base frame along the common Z axis. Selecting the check box exposes a physical signal port labeled v.

`Translation`: Acceleration

Translational acceleration of the follower frame relative to the base frame along the common Z axis. Selecting the check box exposes a physical signal port labeled a.

### Composite Force/Torque Sensing

Select the composite, or joint-wide, forces and torques to sense. These are forces and torques that act not at individual joint primitives but at the whole joint. Options include constraint and total forces and torques.

During simulation, the block computes the selected composite forces and torques acting between the base and follower port frames. It outputs these variables using physical signal output ports. Check the port labels to identify the output variables at different ports.

Direction

Forces and torques acting at joints do so in pairs. Newton’s third law of motion requires that every action be accompanied by an equal and opposite reaction. If the base frame of a joint exerts a force or torque on the follower frame, then the follower frame must exert an equal and opposite force or torque on the base frame.

Select whether to sense the composite forces and torques exerted by the base frame on the follower frame or vice versa. The force and torque vector components are positive if they point along the positive X, Y, and Z axes of the selected resolution frame.

Resolution Frame

You can resolve a vector quantity into Cartesian components in different frames. If the resolution frames have different orientations, then the measured components are themselves different—even though the vector quantity remains the same.

Select the frame in which to resolve the sensed force and torque variables. Possible resolution frames include `Base` and `Follower`. The block outputs the Cartesian components of the sensed force and torque vectors as observed in this frame.

Constraint Force

Joint blocks with fewer than three translational degrees of freedom forbid motion along one or more axes. For example, the Gimbal Joint block forbids translation along all axes. To prevent translation along an axis, a joint block applies a constraint force between its base and follower port frames. Constraint forces are orthogonal to joint translation axes and therefore do no work.

Select the check box to compute and output the 3-D constraint force vector [fcx, fcy, fcz] acting at the joint. Only constraint force components that are orthogonal to the joint translational degrees of freedom have nonzero values. Selecting this option causes the block to expose physical signal port fc.

Constraint Torque

Joint blocks with fewer than three rotational degrees of freedom forbid motion about one or more axes. For example, the Cartesian Joint block forbids rotation about all axes. To prevent rotation about an axis, a joint block applies a constraint torque between its base and follower port frames. Constraint torques are orthogonal to joint rotation axes and therefore do no work.

Select the check box to compute and output the 3-D constraint torque vector [tcx, tcy, tcz] acting at the joint. Only constraint torque components that are orthogonal to the joint rotational degrees of freedom have nonzero values. Selecting this option causes the block to expose physical signal port tc.

Total Force

A joint block generally applies various forces between its port frames:

• Actuation forces that drive prismatic joint primitives.

• Internal spring and damper forces that resist motion at prismatic joint primitives.

• Constraint forces that forbid motion in directions orthogonal to prismatic joint primitives.

The net sum of the different force components equals the total force acting between the joint port frames. Select the check box to compute and output the 3-D total force vector [ftx, fty, ftz]. Selecting this option causes the block to expose physical signal port ft.

Total Torque

A joint block generally applies various torques between its port frames:

• Actuation torques that drive revolute or spherical joint primitives.

• Internal spring and damper torques that resist motion at revolute or spherical joint primitives.

• Constraint torques that forbid motion in directions orthogonal to the revolute or spherical joint primitive axes.

The net sum of the different torque components equals the total torque acting at a joint. Select the check box to compute and output the 3-D total torque vector [ttx, tty, ttz]. Selecting this option causes the block to expose physical signal port tt.

## Ports

This block has two frame ports. It also has optional physical signal ports for sensing dynamical variables such as forces, torques, and motion. You expose an optional port by selecting the sensing check box corresponding to that port.

### Frame Ports

• B — Base frame

• F — Follower frame

### Sensing Ports

The lead screw joint primitive provides the following sensing ports:

• q — Angular position

• w — Angular velocity

• b — Angular acceleration

• p — Linear position

• v — Linear velocity

• a — Linear acceleration

The following sensing ports provide the composite forces and torques acting on the joint:

• fc — Constraint force

• tc — Constraint torque

• ft — Total force

• tt — Total torque