Cylindrical Joint

Joint with one rotational and one translational degree of freedom

Libraries:
Simscape / Multibody / Joints

Description

The Cylindrical Joint block provides one rotational and one translational degree of freedom between two frames. The z-axes of the frames are aligned with each other during simulation. The follower frame rotates about and slides along the z-axis of the base frame.

The Cylindrical Joint block represents a transformation between the base and follower frames as a sequence of time-varying motions. At each time step during the simulation, the block first rotates and then moves the follower frame with respect to the base frame.

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. Specify 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. See the Description section of the Spatial Contact Force block for more information about the smoothed spring-damper method.

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.

Ports

Frame

expand all

Base frame of the joint block.

Follower frame of the joint block.

Input

expand all

Z Revolute Primitive (Rz)

Physical signal input port that accepts the actuation torque for the joint primitive. The block applies this torque equally and oppositely to both the base and follower frames of the joint primitive. The torque is about the z-axis of the base frame. The z-axes of the follower and base frames are aligned with each other during simulation.

Dependencies

To enable this port, under Z Revolute Primitive (Rz) > Actuation, set Torque to `Provided by Input`.

Physical signal input port that accepts the motion profile for the joint primitive. The signal provides the rotation of the follower frame with respect to the base frame about the z-axis of the base frame. The signal must also contain the first and second derivatives of the rotation.

Dependencies

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

Z Prismatic Primitive (Pz)

Physical signal input port that accepts the actuation torque for the joint primitive. The block applies this force equally and oppositely to both the base and follower frames of the joint primitive. The force is along the z-axis of the base frame. The z-axes of the follower and base frames are aligned with each other during simulation.

Dependencies

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

Physical signal input port that accepts the motion profile for the joint primitive. The signal provides the translation of the follower frame with respect to the base frame about the z-axis of the base frame. The signal must also contain the first and second derivatives of the translation.

Dependencies

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

Mode Configuration

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

Dependencies

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

Output

expand all

Z Revolute Primitive (Rz)

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

Dependencies

To enable this port, under Z Revolute Primitive (Rz) > Sensing, select Position.

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

Dependencies

To enable this port, under Z Revolute Primitive (Rz) > Sensing, select Velocity.

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

Dependencies

To enable this port, under Z Revolute Primitive (Rz) > Sensing, select Acceleration.

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

Dependencies

To enable this port, under Z Revolute Primitive (Rz) > Sensing, select Actuator Torque.

Physical signal port that outputs the lower-limit torque. The block applies this torque when the joint primitive position is less than the lower bound of the free region. The block applies this torque 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 Revolute Primitive (Rz) > Sensing, select Lower-Limit Torque.

Physical signal port that outputs the upper-limit torque. The block applies this torque when the joint primitive position exceeds the upper bound of the free region. The block applies this torque 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 Revolute Primitive (Rz) > Sensing, select Upper-Limit Torque.

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.

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

Z Revolute Primitive (Rz)

State Targets

Select this parameter to specify the position target of the z revolute 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 revolute primitive, specified as a scalar with a unit of angle.

Dependencies

To enable this parameter, select Specify Position Target.

Select this parameter to specify the angular velocity target for the z revolute 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 of the z revolute primitive, specified as a scalar with a unit of angular velocity.

Dependencies

To enable this parameter, select Specify Velocity Target.

Internal Mechanics

Position where the spring torque is zero, specified as a scalar with a unit of angle.

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

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

Limits

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

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

Dependencies

To enable this parameter, select Specify Lower Limit.

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

Dependencies

To enable this parameter, select Specify Lower Limit.

Damping coefficient at the lower bound, specified as a scalar with a unit of 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 forces 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 increasing it improves speed.

Dependencies

To enable this parameter, select Specify Lower Limit.

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

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

Dependencies

To enable this parameter, select Specify Upper Limit.

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

Dependencies

To enable this parameter, select Specify Upper Limit.

Damping coefficient at the 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 forces 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 increasing it improves speed.

Dependencies

To enable this parameter, select Specify Upper Limit.

Actuation

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

Actuation Torque SettingDescription
`None`No actuator torque.
`Provided by Input`Input port tz specifies the actuator torque for the z revolute primitive.
`Automatically Computed`The block computes the torque automatically. If you set this parameter to `Automatically Computed`, you do not need to set Motion to `Provided by Input` for the for the same joint primitive. The automatically computed torque may satisfy a motion input somewhere else in the mechanism.

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

Actuation Torque SettingDescription
`Automatically computed`The block computes and applies the joint primitive motion based on model dynamics.
`Provided by Input`Input port qz specifies the motion for the z revolute 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)`. See Guiding Assembly for more information.

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)`. See Guiding Assembly for more information.

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 trade-off between simulation accuracy and simulation speed, reducing the transition region improves accuracy while 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 trade-off between simulation accuracy and simulation speed, reducing the transition region improves accuracy while 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`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 to 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 model dynamics.
`Provided by Input`Input port pz specifies the motion for the joint primitive.

Mode Configuration

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

MethodDescription
`Normal`The joint behaves normally throughout the simulation.
`Disengaged`The joint is disengaged throughout the simulation.
`Provided by Input`The port mode specifies whether the joint behaves normally or is disengaged.

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.

Version History

Introduced in R2012a