# 6-DOF Joint

Joint with six degrees of freedom and no kinematic singularity

Libraries:
Simscape / Multibody / Joints

## Description

The 6-DOF Joint block provides three translational and three rotational degrees of freedom. The follower frame can have a 3-D transformation with respect to the base frame. The transformation contains three sequential translations and a 3-D rotation encoded as a quaternion. Quaternions do not have a kinematic singularity.

The translations are along the x, y, and z axes of the base frame, respectively. Before the rotation, the axes of the follower are parallel to the corresponding axes of the base frame. The 3-D rotation is with respect to the follower frame formed after the translations.

To specify the target of the initial state for a joint primitive, use the parameters under State Targets. The targets are specified in the base frame. You can also set the priority levels for the targets. If the joint is not able to satisfy all the state targets, the priority level determines which targets to satisfy first and how closely to satisfy them. For an example, see Guiding Assembly.

To model damping and spring behavior for a joint primitive, use the parameters under Internal Mechanics. Use the Damping Coefficient parameter to model energy dissipation and the Spring Stiffness parameter to model energy storage. Joint springs attempt to displace the joint primitive from its equilibrium position. Joint dampers act as energy dissipation elements. The springs and dampers are strictly linear.

To specify the limits of a joint primitive, use the parameters under Limits. The lower and upper bounds define the width of the free region. The block applies a force to accelerate the joint position back to the free region when the position exceeds the bounds. The block uses a smoothed spring-damper method to compute the force. For more information about the smoothed spring-damper method, see the Description section of the Spatial Contact Force block.

The Force, Torque, and Motion parameters in the Actuation section govern the motion of a joint primitive during simulation. For more information, see Specifying Joint Actuation Inputs. Additionally, the joint block has ports that output sensing data, such as position, velocity, acceleration, force, and torque, that you can use to perform analytical tasks on a model. For more information, see Sensing and Force and Torque Sensing.

To specify the joint mode configuration, use the Mode parameter. For more details, see Motion Configuration under the Parameters and Ports sections.

## Ports

### Frame

expand all

Base frame of the joint block.

Follower frame of the joint block.

### Input

expand all

X Prismatic Primitive (Px)

Physical signal input port that accepts the actuation force for the joint primitive. The block applies the force equally and oppositely to the base and follower frames of the joint along the x-axis of the base frame.

#### Dependencies

To enable this port, under X Prismatic Primitive (Px) > Actuation, set Force to `Provided by Input`.

Physical signal input port that accepts the motion profile for the joint primitive. The block uses this signal to determine the displacement of the follower frame with respect to the base frame along the x-axis of the base frame. The signal must also contain the first and second derivatives of the displacement.

#### Dependencies

To enable this port, under X Prismatic Primitive (Px) > Actuation, set Motion to `Provided by Input`.

Y Prismatic Primitive (Py)

Physical signal input port that accepts the actuation force for the joint primitive. The block applies this force equally and oppositely to the base and follower frames of the joint along the y-axis of the base frame.

#### Dependencies

To enable this port, under Y Prismatic Primitive (Py) > Actuation, set Force to `Provided by Input`.

Physical signal input port that accepts the motion profile for the joint primitive. The block uses this signal to determine the displacement of the follower frame with respect to the base frame along the y-axis of the base frame. The signal must also contain the first and second derivatives of the displacement.

#### Dependencies

To enable this port, under Y Prismatic Primitive (Py) > Actuation, set Motion to `Provided by Input`.

Z Prismatic Primitive (Pz)

Physical signal input port that accepts the actuation force for the joint primitive. The block applies this force equally and oppositely to the base and follower frames of the joint along the z-axis of the base frame.

#### Dependencies

To enable this port, under Z Prismatic Primitive (Pz) > Actuation, set Force to ```Provided by Input```.

Physical signal input port that accepts the motion profile for the joint primitive. The block uses this signal to determine the displacement of the follower frame with respect to the base frame along the z-axis of the base frame. The signal must also contain the first and second derivatives of the displacement.

#### Dependencies

To enable this port, under Z Prismatic Primitive (Pz) > Actuation, set Motion to ```Provided by Input```.

Spherical Primitive (S)

Physical signal input port that accepts the actuation torque for the spherical primitive. The signal has a scalar format that represents the torque about the x-axis of the resolution frame.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Actuation, set Torque to `Provided by Input` and select Torque (X).

Physical signal input port that accepts the actuation torque for the spherical primitive. The signal has a scalar format that represents the torque about the y-axis of the resolution frame.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Actuation, set Torque to ```Provided by Input``` and select Torque (Y).

Physical signal input port that accepts the actuation torque for the spherical primitive. The signal has a scalar format that represents the torque about the z-axis of the resolution frame.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Actuation, set Torque to ```Provided by Input``` and select Torque (Z).

Physical signal input port that accepts the actuation torque for the spherical primitive. The signal has a vector format that represents the torque about an arbitrary axis [x y z] specified in the resolution frame.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Actuation, set Motion to ```Provided by Input``` and select Torque (XYZ).

Mode Configuration

Input port that controls the mode of the joint. The signal is a unitless scalar. The joint mode is normal when the input signal is 0, disengaged when the input signal is -1, and locked when the input signal is 1. You can change the modes at any time during simulation.

The table shows how the position and velocity of a joint change during the transitions between modes.

TransitionsPositionVelocity
Normal to LockedThe joint position retains the current value and remains constant.The joint velocity becomes zero and remains constant.
Normal to DisengagedThe joint position maintains the current value until a force or torque causes a change.The joint velocity remains at the current value until a force or torque causes a change.
Locked to NormalThe joint position remains at the current value until a force or torque causes a change.The joint velocity remains at zero until a force or torque causes a change.
Locked to DisengagedThe joint position remains at the current value until a force or torque causes a change.The joint velocity remains at zero until a force or torque causes a change.
Disengaged to NormalFor the directions aligned with the joint degrees of freedom (DOFs), the joint primitive positions adopt the value calculated through Newton's method. These positions retain their values until a force or torque initiates a change. In the constrained directions, the joint primitive positions become zero and remain constant.For the directions aligned with the joint DOFs, the joint primitive velocities maintain the current values until a force or torque initiates a change. In the constrained directions, the joint primitive velocities become zero and remain constant.
Disengaged to LockedFor the directions aligned with the joint DOFs, the joint primitive positions adopt the value calculated through Newton's method and remain constant. In the constrained directions, the joint primitive positions become zero and remain constant.The joint velocity becomes zero and remain constant.

#### Dependencies

To enable this port, under Mode Configuration, set Mode to `Provided by Input`.

### Output

expand all

X Prismatic Primitive (Px)

Physical signal port that outputs the position of the joint primitive. The value is the displacement of the follower frame with respect to the base frame in the x-direction of the base frame.

#### Dependencies

To enable this port, under X Prismatic Primitive (Px) > Sensing, select Position.

Physical signal port that outputs the velocity of the joint primitive. The value is the first derivative of the signal from the port .

#### Dependencies

To enable this port, under X Prismatic Primitive (Px) > Sensing, select Velocity.

Physical signal port that outputs the acceleration of the joint primitive. The value is the second derivative of the signal from the port .

#### Dependencies

To enable this port, under X Prismatic Primitive (Px) > Sensing, select Acceleration.

Physical signal port that outputs the actuator force acting on the joint primitive.

#### Dependencies

To enable this port, under X Prismatic Primitive (Px) > Sensing, select Actuator Force.

Physical signal port that outputs the lower-limit force. The block applies this force when the joint primitive position is less than the lower bound of the free region. The block applies this force to both the base and follower frames of the joint primitive in order to accelerate the relative position back to the free region.

#### Dependencies

To enable this port, under X Prismatic Primitive (Px) > Sensing, select Lower-Limit Force.

Physical signal port that outputs the upper-limit force. The block applies this force when the joint primitive position exceeds the upper bound of the free region. The block applies this force to both the base and follower frames of the joint primitive in order to accelerate the relative position back to the free region.

#### Dependencies

To enable this port, under X Prismatic Primitive (Px) > Sensing, select Upper-Limit Force.

Y Prismatic Primitive (Py)

Physical signal port that outputs the position of the joint primitive. The value is the displacement of the follower frame with respect to the base frame in the y-direction of the base frame.

#### Dependencies

To enable this port, under Y Prismatic Primitive (Py) > Sensing, select Position.

Physical signal port that outputs the velocity of the joint primitive. The value is the first derivative of the signal from the port .

#### Dependencies

To enable this port, under Y Prismatic Primitive (Py) > Sensing, select Velocity.

Physical signal port that outputs the acceleration of the joint primitive. The value is the second derivative of the signal from the port .

#### Dependencies

To enable this port, under Y Prismatic Primitive (Py) > Sensing, select Acceleration.

Physical signal port that outputs the actuator force acting on the joint primitive.

#### Dependencies

To enable this port, under Y Prismatic Primitive (Py) > Sensing, select Actuator Force.

Physical signal port that outputs the lower-limit force. The block applies this force when the joint primitive position is less than the lower bound of the free region. The block applies this force to both the base and follower frames of the joint primitive in order to accelerate the relative position back to the free region.

#### Dependencies

To enable this port, under Y Prismatic Primitive (Py) > Sensing, select Lower-Limit Force.

Physical signal port that outputs the upper-limit force. The block applies this force when the joint primitive position exceeds the upper bound of the free region. The block applies this force to both the base and follower frames of the joint primitive in order to accelerate the relative position back to the free region.

#### Dependencies

To enable this port, under Y Prismatic Primitive (Py) > Sensing, select Upper-Limit Force.

Z Prismatic Primitive (Pz)

Physical signal port that outputs the position of the joint primitive. The value is the displacement of the follower frame with respect to the base frame in the z-axis of the base frame.

#### Dependencies

To enable this port, under Z Prismatic Primitive (Pz) > Sensing, select Position.

Physical signal port that outputs the velocity of the joint primitive. The value is the first derivative of the signal from the port .

#### Dependencies

To enable this port, under Z Prismatic Primitive (Pz) > Sensing, select Velocity.

Physical signal port that outputs the acceleration of the joint primitive. The value is the second derivative of the signal from the port .

#### Dependencies

To enable this port, under Z Prismatic Primitive (Pz) > Sensing, select Acceleration.

Physical signal port that outputs the actuator force acting on the joint primitive.

#### Dependencies

To enable this port, under Z Prismatic Primitive (Pz) > Sensing, select Actuator Force.

Physical signal port that outputs the lower-limit force. The block applies this force when the joint primitive position is less than the lower bound of the free region. The block applies this force to both the base and follower frames of the joint primitive in order to accelerate the relative position back to the free region.

#### Dependencies

To enable this port, under Z Prismatic Primitive (Pz) > Sensing, select Lower-Limit Force.

Physical signal port that outputs the upper-limit force. The block applies this force when the joint primitive position exceeds the upper bound of the free region. The block applies this force to both the base and follower frames of the joint primitive in order to accelerate the relative position back to the free region.

#### Dependencies

To enable this port, under Z Prismatic Primitive (Pz) > Sensing, select Upper-Limit Force.

Spherical Primitive (S)

Orientation of the follower frame with respect to the base frame, returned as a vector in quaternion parameterization in the resolution frame. See Quaternion Measurements for more information.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Sensing, select Position.

X-coordinate of the relative angular velocity, returned as a scalar. The value is resolved in the resolution frame.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Sensing, select Velocity (X).

Y-coordinate of the relative angular velocity, returned as a scalar. The value is resolved in the resolution frame.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Sensing, select Velocity (Y).

Z-coordinate of the relative angular velocity, returned as a scalar. The value is resolved in the resolution frame.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Sensing, select Velocity (Z).

Relative angular velocity, returned as a 3-D vector resolved in the resolution frame.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Sensing, select Velocity.

X-coordinate of the relative angular acceleration, returned as a scalar. This quantity equals the time derivative of the signal exported from the port wx.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Sensing, select Acceleration (X).

Y-coordinate of the relative angular acceleration, returned as a scalar. This quantity equals the time derivative of the signal exported from the port wy.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Sensing, select Acceleration (Y).

Z-coordinate of the relative angular acceleration, returned as a scalar. This quantity equals the time derivative of the signal exported from the port wz.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Sensing, select Acceleration (Z).

Relative angular acceleration, returned as a 3-D vector resolved in the resolution frame. This quantity equals the time derivative of the signal exported from the port w.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Sensing, select Acceleration.

Physical signal port that outputs the lower-limit torque. The block applies the torque when the joint primitive position is less than the lower bound of the free region. The torque applies to both the base and follower frames of the joint primitive to accelerate the position back to the free region.

#### Dependencies

To enable this port, under Spherical Primitive (S) > Sensing, select Signed Lower-Limit Torque Magnitude.

Physical signal port that outputs the upper-limit torque. The block applies the torque when the joint primitive position exceeds the upper bound of the free region. The torque applies to both the base and follower frames of the joint primitive to accelerate the position back to the free region.

#### Dependencies

To enable this port, under

To enable this port, under Spherical Primitive (S) > Sensing, select Upper-Limit Torque.

Composite Force/Torque Sensing

Physical signal port that outputs the constraint forces that act across the joint. The force maintains the translational constraints of the joint. For more information, see Measure Joint Constraint Forces.

#### Dependencies

To enable this port, under Composite Force/Torque Sensing, select Constraint Force.

Physical signal port that outputs the constraint torques that act across the joint. The torque maintains the rotational constraints of the joint. For more information, see Force and Torque Sensing.

#### Dependencies

To enable this port, under Composite Force/Torque Sensing, select Constraint Torque.

Physical signal port that outputs the total force that acts across the joint. The total force is the sum of the forces transmitted from one frame to the other through the joint. The force includes the actuation, internal, limit, and constraint forces. See Force and Torque Sensing for more information.

#### Dependencies

To enable this port, under Composite Force/Torque Sensing, select Total Force.

Physical signal port that outputs the total torque that acts across the joint. The total torque is the sum of the torques transmitted from one frame to the other through the joint. The torque includes the actuation, internal, limit, and constraint torques. For more information, see Force and Torque Sensing.

#### Dependencies

To enable this port, under Composite Force/Torque Sensing, select Total Torque.

## Parameters

expand all

### X Prismatic Primitive (Px)

State Targets

Select this parameter to specify the position target for the x prismatic primitive.

Priority level of the position target, specified as ```High (desired)``` or `Low (approximate)`. For more information, see Guiding Assembly.

#### Dependencies

To enable this parameter, select Specify Position Target.

Position target of the x prismatic primitive, specified as a scalar in units of length.

#### Dependencies

To enable this parameter, select Specify Position Target.

Select this parameter to specify the linear velocity target for the x prismatic primitive.

Priority level of the linear velocity target, specified as ```High (desired)``` or `Low (approximate)`. For more information, see Guiding Assembly.

#### Dependencies

To enable this parameter, select Specify Velocity Target.

Linear velocity target for the x prismatic primitive, specified as a scalar.

#### Dependencies

To enable this parameter, select Specify Velocity Target.

Internal Mechanics

Position where the spring force is zero, specified as a scalar in units of length.

Stiffness of the internal spring-damper force law for the joint primitive, specified as a scalar in units of linear stiffness.

Damping coefficient of the internal spring-damper force law for the joint primitive, specified as a scalar in units of linear damping coefficient.

Limits

Select this parameter to specify the lower limit of the x prismatic primitive.

Lower bound of the free region of the x prismatic primitive, specified as a scalar in units of length.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Stiffness of the spring at the lower bound, specified as a scalar in units of linear stiffness.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Damping coefficient at the lower bound, specified as a scalar in units of linear damping coefficient.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Region to smooth the spring and damper forces, specified as a scalar in units of length.

The block applies the full value of the lower-limit force when the penetration reaches the width of the transition region. The smaller the region, the sharper the onset of forces and the smaller the time step required of the solver. In the tradeoff between simulation accuracy and simulation speed, reducing the transition region improves accuracy and expanding it improves speed.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Select this parameter to specify the upper limit of the x prismatic primitive.

Upper bound for the free region of the joint primitive, specified as a scalar in units of length.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Stiffness of the spring at the upper bound, specified as a scalar in units of linear stiffness.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Damping coefficient at the upper bound, specified as a scalar in units of linear damping coefficient.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Region to smooth the spring and damper forces, specified as a scalar in units of length.

The block applies the full value of the upper-limit force when the penetration reaches the width of the transition region. The smaller the region, the sharper the onset of forces and the smaller the time step required of the solver. In the tradeoff between simulation accuracy and simulation speed, reducing the transition region improves accuracy and expanding it improves speed.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Actuation

Option to provide the actuator force for the joint primitive, specified as one of these values:

Actuation Force SettingDescription
`None`No actuator force.
`Provided by Input`The input port fx specifies the actuator force for the x prismatic primitive.
`Automatically Computed`The block automatically calculates the amount of force required to satisfy the motion inputs to the mechanism. If you set this parameter to ```Automatically Computed```, you do not need to set Motion to ```Provided by Input``` for the same joint primitive. The automatically computed force may satisfy a motion input elsewhere in the mechanism.

Option to provide the motion for the joint primitive, specified as one of these values:

Actuation Motion SettingDescription
`Automatically Computed`The block computes and applies the joint primitive motion based on the model dynamics.
`Provided by Input`The nput port px specifies the motion for the joint primitive.

### Y Prismatic Primitive (Py)

State Targets

Select this parameter to specify the position target for the y prismatic primitive.

Priority level of the position target, specified as ```High (desired)``` or `Low (approximate)`. For more information, see Guiding Assembly.

#### Dependencies

To enable this parameter, select Specify Position Target.

Position target of the y prismatic primitive, specified as a scalar in units of length.

#### Dependencies

To enable this parameter, select Specify Position Target.

Select this parameter to specify the linear velocity target for the y prismatic primitive.

Priority level of the linear velocity target, specified as ```High (desired)``` or `Low (approximate)`. For more information, see Guiding Assembly.

#### Dependencies

To enable this parameter, select Specify Velocity Target.

Linear velocity target for the y prismatic primitive, specified as a scalar.

#### Dependencies

To enable this parameter, select Specify Velocity Target.

Internal Mechanics

Position where the spring force is zero, specified as a scalar in units of length.

Stiffness of the internal spring-damper force law for the joint primitive, specified as a scalar in units of linear stiffness.

Damping coefficient of the internal spring-damper force law for the joint primitive, specified as a scalar in units of linear damping coefficient.

Limits

Select this parameter to specify the lower limit of the y prismatic primitive.

Lower bound of the free region of the y prismatic primitive, specified as a scalar in units of length.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Stiffness of the spring at the lower bound, specified as a scalar in units of linear stiffness.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Damping coefficient at the lower bound, specified as a scalar in units of linear damping coefficient.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Region to smooth the spring and damper forces, specified as a scalar in units of length.

The block applies the full value of the lower-limit force when the penetration reaches the width of the transition region. The smaller the region, the sharper the onset of forces and the smaller the time step required of the solver. In the tradeoff between simulation accuracy and simulation speed, reducing the transition region improves accuracy and expanding it improves speed.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Select this parameter to specify the upper limit of the y prismatic primitive.

Upper bound for the free region of the joint primitive, specified as a scalar in units of length.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Stiffness of the spring at the upper bound, specified as a scalar in units of linear stiffness.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Damping coefficient at the upper bound, specified as a scalar in units of linear damping coefficient.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Region to smooth the spring and damper forces, specified as a scalar in units of length.

The block applies the full value of the upper-limit force when the penetration reaches the width of the transition region. The smaller the region, the sharper the onset of forces and the smaller the time step required of the solver. In the tradeoff between simulation accuracy and simulation speed, reducing the transition region improves accuracy and expanding it improves speed.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Actuation

Option to provide the actuator force for the joint primitive, specified as one of these values:

Actuation Force SettingDescription
`None`No actuator force.
`Provided by Input`The input port fy specifies the actuator force for the y prismatic primitive.
`Automatically Computed`The block automatically calculates the amount of force required to satisfy the motion inputs to the mechanism. If you set this parameter to ```Automatically Computed```, you do not need to set Motion to ```Provided by Input``` for the same joint primitive. The automatically computed force may satisfy a motion input elsewhere in the mechanism.

Option to provide the motion for the joint primitive, specified as one of these values:

Actuation Motion SettingDescription
`Automatically Computed`The block computes and applies the joint primitive motion based on the model dynamics.
`Provided by Input`The input port py specifies the motion for the joint primitive.

### Z Prismatic Primitive (Pz)

State Targets

Select this parameter to specify the position target for the z prismatic primitive.

Priority level of the position target, specified as `High (desired)` or `Low (approximate)`. For more information, see Guiding Assembly.

#### Dependencies

To enable this parameter, select Specify Position Target.

Position target of the z prismatic primitive, specified as a scalar in units of length.

#### Dependencies

To enable this parameter, select Specify Position Target.

Select this parameter to specify the linear velocity target for the z prismatic primitive.

Priority level of the linear velocity target, specified as ```High (desired)``` or ```Low (approximate)```. For more information, see Guiding Assembly.

#### Dependencies

To enable this parameter, select Specify Velocity Target.

Linear velocity target for the z prismatic primitive, specified as a scalar.

#### Dependencies

To enable this parameter, select Specify Velocity Target.

Internal Mechanics

Position where the spring force is zero, specified as a scalar in units of length.

Stiffness of the internal spring-damper force law for the joint primitive, specified as a scalar in units of linear stiffness.

Damping coefficient of the internal spring-damper force law for the joint primitive, specified as a scalar in units of linear damping coefficient.

Limits

Select this parameter to specify the lower limit of the z prismatic primitive.

Lower bound of the free region of the z prismatic primitive, specified as a scalar in units of length.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Stiffness of the spring at the lower bound, specified as a scalar in units of linear stiffness.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Damping coefficient at the lower bound, specified as a scalar in units of linear damping coefficient.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Region to smooth the spring and damper forces, specified as a scalar in units of length.

The block applies the full value of the lower-limit force when the penetration reaches the width of the transition region. The smaller the region, the sharper the onset of forces and the smaller the time step required of the solver. In the tradeoff between simulation accuracy and simulation speed, reducing the transition region improves accuracy and increasing it improves speed.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Select this parameter to specify the upper limit of the z prismatic primitive.

Upper bound for the free region of the joint primitive, specified as a scalar in units of length.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Stiffness of the spring at the upper bound, specified as a scalar in units of linear stiffness.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Damping coefficient at the upper bound, specified as a scalar in units of linear damping coefficient.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Region to smooth the spring and damper forces, specified as a scalar in units of length.

The block applies the full value of the upper-limit force when the penetration reaches the width of the transition region. The smaller the region, the sharper the onset of forces and the smaller the time step required of the solver. In the tradeoff between simulation accuracy and simulation speed, reducing the transition region improves accuracy and increasing it improves speed.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Actuation

Option to provide the actuator force for the joint primitive, specified as one of these values:

Actuation Force SettingDescription
`None`No actuator force.
`Provided by Input`The input port fz specifies the actuator force for the z prismatic primitive.
`Automatically Computed`The block automatically calculates the amount of force required to satisfy the motion inputs to the mechanism. If you set this parameter to `Automatically Computed`, you do not need to set Motion to `Provided by Input` for the same joint primitive. The automatically computed force may satisfy a motion input elsewhere in the mechanism.

Option to provide the motion for the joint primitive, specified as one of these values:

Actuation Motion SettingDescription
`Automatically Computed`The block computes and applies the joint primitive motion based on the model dynamics.
`Provided by Input`The input port pz specifies the motion for the joint primitive.

### Spherical Primitive (S)

State Targets

Select this parameter to specify the target of the relative orientation between the base and follower frames.

Priority level of the relative orientation target, specified as `High (desired)` or `Low (approximate)`. See Guiding Assembly for more information.

#### Dependencies

To enable this parameter, select Specify Position Target.

Method to use to specify the relative orientation target between the base and follower frames. When specifying the parameter to `None`, the follower and base frames have the same orientation at the beginning of the simulation.

#### Dependencies

To enable this parameter, select Specify Position Target.

Follower frame axis used to align with the base frame axis set by the Pair 1: Base parameter, specified as an orthogonal axis of the follower frame. The follower frame rotates with respect to the base frame to enable the alignment between the selected axes of the base and follower frames.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Aligned Axis`.

Base frame axis to align with the follower frame specified by the Pair 1: Follower, specified as an orthogonal axis of the base frame.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Aligned Axis`.

Base frame axis to align with the follower frame specified by the Pair 2: Follower, specified as an orthogonal axis of the follower frame. The follower frame rotates with respect to the base frame to enable the alignment between the selected axes of the base and follower frames.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Aligned Axis`.

Base frame axis used to let the follower frame axis set in the Pair2: Follower parameter to align with, specified as an orthogonal axis of the base frame. The axis choices for Pair 2 depend on the Pair 1 axis selections.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Aligned Axis`.

Axis of the relative rotation, specified as an orthogonal axis of the base frame.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Standard Axis`.

Angle of the relative rotation, specified as a scalar. The angle indicates the rotation of the follower frame with respect to the base frame about the specified axis.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Standard Axis`.

Axis of the relative rotation, specified as a 3-by-1 unit vector. The vector is dimensionless and indicates the rotational axis resolved in the base frame.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Arbitrary Axis`.

Angle of the relative rotation, specified as a scalar. The angle indicates the rotation of the follower frame with respect to the base frame about the axis specified by the Axis parameter.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Arbitrary Axis`.

Frame whose axes to rotate the follower frame about, specified as `Follower Axes` or `Base Axes`. If you set the parameter to `Follower Axes`, the follower frame rotates about its own axes, and the follower frame changes the orientation with each successive rotation. If you set the parameter to `Base Axes`, the follower frame rotates about the fixed base frame axes. See Rotational Measurements for more information.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Rotation Sequence`.

Sequence of the rotation axis for three successive elementary rotations. See Rotation Sequence Measurements for more information.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Rotation Sequence`.

Angles for the rotation sequence parameterization, specified as a 1-by-3 vector. See Rotation Sequence Measurements for more information.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Rotation Sequence`.

Relative rotation, specified as a 3-by-3 matrix that maps vectors from the follower frame to the base frame. The matrix must be orthogonal and have determinant 1. See Rotational Measurements for more information.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Rotation Matrix`.

Relative rotation, specified as a unit quaternion vector. See Rotational Measurements for more information about the quaternion.

#### Dependencies

To enable this parameter, under Specify Position Target > Value, set Method parameter to `Quaternion`.

Select this parameter to specify the angular velocity target for the spherical primitive.

Priority level of the angular velocity target, specified as ```High (desired)``` or `Low (approximate)`. See Guiding Assembly for more information.

#### Dependencies

To enable this parameter, select Specify Velocity Target.

Angular velocity target for the spherical primitive, specified as a 1-by-3 vector resoved in resolution frame.

#### Dependencies

To enable this parameter, select Specify Velocity Target.

Frame used to resolve the specified angular velocity target, specified as one of these:

• `Base` — The joint block resolves the angular velocity target in the coordinates of the base frame.

• `Follower` — The joint block resolves the angular velocity target in the coordinates of the follower frame.

Internal Mechanics

Method to use to specify the equilibrium frame with respect to the base frame. The equilibrium frame is fixed during the simulation. If the z-axes of the follower and equilibrium frames are aligned, the spring torque of the spherical primitive is zero.

Set the Equilibrium Position > Method parameter to `None` to let the equilibrium and base frames be coincident.

Equilibrium frame axis used to align with the base frame axis set by the Pair 1: Base parameter, specified as an orthogonal axis of the equilibrium frame. The equilibrium frame rotates with respect to the base frame to enable the alignment between the selected axes of the base and equilibrium frames.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Aligned Axis`.

Base frame axis to align with the equilibrium frame specified by the Pair 1: Follower, specified as an orthogonal axis of the base frame.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Aligned Axis`.

Base frame axis to align with the equilibrium frame specified by the Pair 2: Follower, specified as an orthogonal axis of the equilibrium frame. The equilibrium frame rotates with respect to the base frame to enable the alignment between the selected axes of the base and equilibrium frames.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Aligned Axis`.

Base frame axis used to let the equilibrium frame axis set in the Pair2: Follower parameter to align with, specified as an orthogonal axis of the base frame. The axis choices for Pair 2 depend on the Pair 1 axis selections.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Aligned Axis`.

Axis of the relative rotation, specified as an orthogonal axis of the base frame.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Standard Axis`.

Angle of the relative rotation, specified as a scalar. The angle indicates the rotation of the equilibrium frame with respect to the base frame about the specified axis.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Standard Axis`.

Axis of the relative rotation, specified as a 3-by-1 unit vector. The vector is dimensionless and indicates the rotational axis resolved in the base frame.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Arbitrary Axis`.

Angle of the relative rotation, specified as a scalar. The angle indicates the rotation of the equilibrium frame with respect to the base frame about the axis specified by the Axis parameter.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Arbitrary Axis`.

Frame whose axes to rotate the equilibrium frame about, specified as `Follower Axes` or `Base Axes`. If you set the parameter to `Follower Axes`, the equilibrium frame rotates about its own axes, and the equilibrium frame changes the orientation with each successive rotation. If you set the parameter to `Base Axes`, the equilibrium frame rotates about the fixed base frame axes. See Rotational Measurements for more information.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Rotation Sequence`.

Sequence of the rotation axis for three successive elementary rotations. See Rotation Sequence Measurements for more information.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Rotation Sequence`.

Angles for elementary rotations, specified as a 1-by-3 vector. See Rotation Sequence Measurements for more information.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Rotation Sequence`.

Relative rotation, specified as a 3-by-3 matrix. The matrix must be orthogonal and have determinant 1. See Rotational Measurements for more information.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Rotation Matrix`.

Relative rotation, specified as a unit quaternion vector. See Rotational Measurements for more information about the quaternion.

#### Dependencies

To enable this parameter, under Equilibrium Position, set Method parameter to `Quaternion`.

Stiffness of the internal spring-damper force law for the spherical primitive, specified as a scalar with a unit of rotational stiffness.

The spring attempts to pull the follower frame so that the follower frame is aligned with the specified equilibrium fame.

Damping coefficient of the internal spring-damper force law for the spherical primitive, specified as a scalar with a unit of rotational damping coefficient.

Limits

Select this parameter to specify the lower limit of the spherical primitive. Joint limits use spring-dampers to resist travel past the bounds of the range.

Lower bound for the free region of the spherical primitive, specified as a scalar with a unit of angle.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Stiffness of the spring at lower bound, specified as a scalar with a unit of rotational stiffness.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Damping coefficient at lower bound, specified as a scalar with a unit of rotational damping coefficient.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Region to smooth the spring and damper torques, specified as a scalar with a unit of angle.

The block applies the full value of the lower-limit torque when the penetration reaches the width of the transition region. The smaller the region, the sharper the onset of torques and the smaller the time-step required of the solver. In the trade-off between simulation accuracy and simulation speed, reducing the transition region improves accuracy while expanding it improves speed.

#### Dependencies

To enable this parameter, select Specify Lower Limit.

Select this parameter to specify the upper limit of the spherical primitive. Joint limits use spring-dampers to resist travel past the bounds of the range.

Upper bound for the free region of the spherical primitive, specified as a scalar with a unit of angle.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Stiffness of the spring at upper bound, specified as a scalar with a unit of stiffness.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Damping coefficient at upper bound, specified as a scalar with a unit of damping coefficient.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Region to smooth the spring and damper torques, specified as a scalar with a unit of angle.

The block applies the full value of the upper-limit torque when the penetration reaches the width of the transition region. The smaller the region, the sharper the onset of torques and the smaller the time-step required of the solver. In the trade-off between simulation accuracy and simulation speed, reducing the transition region improves accuracy while expanding it improves speed.

#### Dependencies

To enable this parameter, select Specify Upper Limit.

Actuation

Option to provide the actuation torque for the spherical primitive, specified as one of these values.

Actuation Torque SettingDescription
`None`Apply no actuation torque.
`Provided by Input`Apply actuation torques based on physical signals. The signal specifies the torque acting on the follower frame with respect to the base frame. The signal provides the value of the torque applied equally and oppositely to the base and follower frames. Selecting this option exposes additional parameters that you can use to enable input ports See the Input section for details.

Frame used to resolve the input actuation torques, specified as `Base` or `Follower`.

Sensing

Frame used to resolve the sensing output signals, specified as `Base` or `Follower`. For more information about the output signals, see the Output section.

### Mode Configuration

Joint mode for the simulation, specified as one of these values:

MethodDescription
`Locked`The locked mode constrains the degrees of freedom (DOFs) of the joint. The locked joint retains its initial position in the assembly and has zero velocity throughout the simulation. The introduced constraints contribute to the constraint force and torque in the joint.
`Normal`The normal mode enables the DOFs and constraints of the joint work normally throughout the simulation.
`Disengaged`The disengaged mode frees all the constraints of the joint throughout the simulation.
`Provided by Input`The `Provided by Input` option exposes the port mode. You can control the joint modes by using input signals.

### Composite Force/Torque Sensing

Measurement direction, specified as one of these values:

• `Follower on Base` — The block senses the force and torque that the follower frame exerts on the base frame.

• `Base on Follower` — The block senses the force and torque that the base frame exerts on the follower frame.

This parameter only affects the output signals under the Composite Force/Torque Sensing section. Reversing the direction changes the sign of the measurements. For more information see Force and Torque Measurement Direction.

Frame used to resolve the measurements, specified as one of these values:

• `Base` — The block resolves the measurements in the coordinates of the base frame.

• `Follower` — The block resolves the measurements in the coordinates of the follower frame.

This parameter only affects the output signals under the Composite Force/Torque Sensing section.

Select this parameter to enable the port fc.

Select this parameter to enable the port tc.

Select this parameter to enable the port ft.

Select this parameter to enable the port tt.

## Version History

Introduced in R2012a