Cylindrical Joint
Joint with one prismatic and one revolute primitives possessing parallel motion axes
Library
Joints
Description
This block represents a joint with one translational and one rotational degree of freedom. One prismatic primitive provides the translational degree of freedom. One revolute primitive provides the rotational degree of freedom. The translation and rotation axes remain aligned during simulation.
Joint Degrees of Freedom
The joint block represents motion between the base and follower frames as a sequence of time-varying transformations. Each joint primitive applies one transformation in this sequence. The transformation translates or rotates the follower frame with respect to the joint primitive base frame. For all but the first joint primitive, the base frame coincides with the follower frame of the previous joint primitive in the sequence.
At each time step during the simulation, the joint block applies the sequence of time-varying frame transformations in this order:
Rotation:
About the Z axis of the Z Revolute Primitive (Rz) base frame.
Translation:
Along the Z axis of the Z Prismatic Primitive (Pz) base frame.
The figure shows the sequence in which the joint transformations occur at a given simulation time step. The resulting frame of each transformation serves as the base frame for the following transformation.
Joint Transformation Sequence
A set of optional state targets guide assembly for each joint primitive. Targets include position and velocity. 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.
Internal mechanics parameters account for energy storage and dissipation at each joint primitive. Springs act as energy storage elements, resisting any attempt to displace the joint primitive from its equilibrium position. Joint dampers act as energy dissipation elements. Springs and dampers are strictly linear.
In all but lead screw and constant velocity primitives, joint limits serve to curb the range of motion between frames. A joint primitive can have a lower bound, an upper bound, both, or, in the default state, neither. To enforce the bounds, the joint adds to each a spring-damper. The stiffer the spring, the harder the stop, or bounce, if oscillations arise. The stronger the damper, the deeper the viscous losses that gradually lessen contact oscillations or, in overdamped primitives, keep them from forming altogether.
Each joint primitive has a set of optional actuation and sensing ports. Actuation ports accept physical signal inputs that drive the joint primitives. These inputs can be forces and torques or a desired joint trajectory. Sensing ports provide physical signal outputs that measure joint primitive motion as well as actuation forces and torques. Actuation modes and sensing types vary with joint primitive.
Parameters
Revolute Primitive: State Targets
Specify the revolute primitive state targets and their priority levels. A state target is the desired value for one of the joint state parameters—position and velocity. The priority level is the relative importance of a state target. It determines how precisely the target must be met. Use the Model Report tool in Mechanics Explorer to check the assembly status for each joint state target.
- Specify Position Target
Select this option to specify the desired joint primitive position at time zero. This is the relative rotation angle, measured about the joint primitive axis, of the follower frame with respect to the base frame. The specified target is resolved in the base frame. Selecting this option exposes priority and value fields.
- Specify Velocity Target
Select this option to specify the desired joint primitive velocity at time zero. This is the relative angular velocity, measured about the joint primitive axis, of the follower frame with respect to the base frame. It is resolved in 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 Level Description 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.
- Value
Enter the state target numerical value. The default is
0
. Select or enter a physical unit. The default isdeg
for position anddeg/s
for velocity.
Revolute Primitive: Internal Mechanics
Specify the revolute primitive internal mechanics. Internal
mechanics include linear spring torques, accounting for energy storage,
and linear damping torques, accounting for energy dissipation. You
can ignore internal mechanics by keeping spring stiffness and damping
coefficient values at 0
.
- Equilibrium Position
Enter the spring equilibrium position. This is the rotation angle between base and follower frames at which the spring torque is zero. The default value is
0
. Select or enter a physical unit. The default isdeg
.- Spring Stiffness
Enter the linear spring constant. This is the torque required to rotate the joint primitive by a unit angle. The default is
0
. Select or enter a physical unit. The default isN*m/deg
.- Damping Coefficient
Enter the linear damping coefficient. This is the torque required to maintain a constant joint primitive angular velocity between base and follower frames. The default is
0
. Select or enter a physical unit. The default isN*m/(deg/s)
.
Revolute Primitive: Limits
Limit the range of motion of the joint primitive. Joint limits use spring-dampers to resist travel past the bounds of the range. A joint primitive can have a lower bound, an upper bound, both, or, in the default state, neither. The stiffer the spring, the harder the stop, or bounce, if oscillations arise. The stronger the damper, the larger the viscous losses that gradually lessen contact oscillations or, in overdamped primitives, keep them from forming altogether.
- Specify Lower Limit
Select to add a lower bound to the range of motion of the joint primitive.
- Specify Upper Limit
Select to add an upper bound to the range of motion of the joint primitive.
- Value
Location past which to resist joint travel. The location is the offset from base to follower, as measured in the base frame, at which contact begins. It is a distance along an axis in prismatic primitives, an angle about an axis in revolute primitives, and an angle between two axes in spherical primitives.
- Spring Stiffness
Resistance of the contact spring to displacement past the joint limit. The spring is linear and its stiffness is constant. The larger the value, the harder the stop. The proportion of spring to damper forces determines whether the stop is underdamped and prone to oscillations on contact.
- Damping Coefficient
Resistance of the contact damper to motion past the joint limit. The damper is linear and its coefficient is constant. The larger the value, the greater the viscous losses that gradually lessen contact oscillations, if any arise. The proportion of spring to damper forces determines whether the stop is underdamped and prone to oscillations on contact.
- Transition Region
Region over which to raise the spring-damper force to its full value. The region is a distance along an axis in prismatic primitives, an angle about an axis in revolute primitives, and an angle between two axes in spherical primitives.
The smaller the region, the sharper the onset of contact 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.
Revolute Primitive: Actuation
Specify actuation options for the revolute joint primitive.
Actuation modes include Torque and Motion.
Selecting Provided by Input
from the drop-down
list for an actuation mode adds the corresponding physical signal
port to the block. Use this port to specify the input signal. Input
signals are resolved in the base frame.
- Torque
Select an actuation torque setting. The default setting is
None
.Actuation Torque Setting Description None
No actuation torque. Provided by Input
Actuation torque from physical signal input. The signal provides the torque acting on the follower frame with respect to the base frame about the joint primitive axis. An equal and opposite torque acts on the base frame. Automatically computed
Actuation torque from automatic calculation. Simscape™ Multibody™ computes and applies the actuation torque based on model dynamics. - Motion
Select an actuation motion setting. The default setting is
Automatically Computed
.Actuation Motion Setting Description Provided by Input
Joint primitive motion from physical signal input. The signal provides the desired trajectory of the follower frame with respect to the base frame along the joint primitive axis. Automatically computed
Joint primitive motion from automatic calculation. Simscape Multibody computes and applies the joint primitive motion based on model dynamics.
Revolute Primitive: Sensing
Select the variables to sense in the revolute joint 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. You can use the measurement signals for analysis or as input in a control system.
- Position
Select this option to sense the relative rotation angle of the follower frame with respect to the base frame about the joint primitive axis.
- Velocity
Select this option to sense the relative angular velocity of the follower frame with respect to the base frame about the joint primitive axis.
- Acceleration
Select this option to sense the relative angular acceleration of the follower frame with respect to the base frame about the joint primitive axis.
- Actuator Torque
Select this option to sense the actuation torque acting on the follower frame with respect to the base frame about the joint primitive axis.
Prismatic Primitive: State Targets
Specify the prismatic primitive state targets and their priority levels. A state target is the desired value for one of the joint state parameters—position and velocity. The priority level is the relative importance of a state target. It determines how precisely the target must be met. Use the Model Report tool in Mechanics Explorer to check the assembly status for each joint state target.
- Specify Position Target
Select this option to specify the desired joint primitive position at time zero. This is the relative position, measured along the joint primitive axis, of the follower frame origin with respect to the base frame origin. The specified target is resolved in the base frame. Selecting this option exposes priority and value fields.
- Specify Velocity Target
Select this option to specify the desired joint primitive velocity at time zero. This is the relative velocity, measured along the joint primitive axis, of the follower frame origin with respect to the base frame origin. It is resolved in 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 Level Description 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.
- Value
Enter the state target numerical value. The default is
0
. Select or enter a physical unit. The default ism
for position andm/s
for velocity.
Prismatic Primitive: Internal Mechanics
Specify the prismatic primitive internal mechanics. Internal
mechanics include linear spring forces, accounting for energy storage,
and damping forces, accounting for energy dissipation. You can ignore
internal mechanics by keeping spring stiffness and damping coefficient
values at 0
.
- Equilibrium Position
Enter the spring equilibrium position. This is the distance between base and follower frame origins at which the spring force is zero. The default value is
0
. Select or enter a physical unit. The default ism
.- Spring Stiffness
Enter the linear spring constant. This is the force required to displace the joint primitive by a unit distance. The default is
0
. Select or enter a physical unit. The default isN/m
.- Damping Coefficient
Enter the linear damping coefficient. This is the force required to maintain a constant joint primitive velocity between base and follower frames. The default is
0
. Select or enter a physical unit. The default isN/(m/s)
.
Prismatic Primitive: Limits
Limit the range of motion of the joint primitive. Joint limits use spring-dampers to resist travel past the bounds of the range. A joint primitive can have a lower bound, an upper bound, both, or, in the default state, neither. The stiffer the spring, the harder the stop, or bounce, if oscillations arise. The stronger the damper, the larger the viscous losses that gradually lessen contact oscillations or, in overdamped primitives, keep them from forming altogether.
- Specify Lower Limit
Select to add a lower bound to the range of motion of the joint primitive.
- Specify Upper Limit
Select to add an upper bound to the range of motion of the joint primitive.
- Value
Location past which to resist joint travel. The location is the offset from base to follower, as measured in the base frame, at which contact begins. It is a distance along an axis in prismatic primitives, an angle about an axis in revolute primitives, and an angle between two axes in spherical primitives.
- Spring Stiffness
Resistance of the contact spring to displacement past the joint limit. The spring is linear and its stiffness is constant. The larger the value, the harder the stop. The proportion of spring to damper forces determines whether the stop is underdamped and prone to oscillations on contact.
- Damping Coefficient
Resistance of the contact damper to motion past the joint limit. The damper is linear and its coefficient is constant. The larger the value, the greater the viscous losses that gradually lessen contact oscillations, if any arise. The proportion of spring to damper forces determines whether the stop is underdamped and prone to oscillations on contact.
- Transition Region
Region over which to raise the spring-damper force to its full value. The region is a distance along an axis in prismatic primitives, an angle about an axis in revolute primitives, and an angle between two axes in spherical primitives.
The smaller the region, the sharper the onset of contact 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.
Prismatic Primitive: Actuation
Specify actuation options for the prismatic joint primitive.
Actuation modes include Force and Motion.
Selecting Provided by Input
from the drop-down
list for an actuation mode adds the corresponding physical signal
port to the block. Use this port to specify the input signal. Actuation
signals are resolved in the base frame.
- Force
Select an actuation force setting. The default setting is
None
.Actuation Force Setting Description None
No actuation force. Provided by Input
Actuation force from physical signal input. The signal provides the force acting on the follower frame with respect to the base frame along the joint primitive axis. An equal and opposite force acts on the base frame. Automatically computed
Actuation force from automatic calculation. Simscape Multibody computes and applies the actuation force based on model dynamics. - Motion
Select an actuation motion setting. The default setting is
Automatically Computed
.Actuation Motion Setting Description Provided by Input
Joint primitive motion from physical signal input. The signal provides the desired trajectory of the follower frame with respect to the base frame along the joint primitive axis. Automatically computed
Joint primitive motion from automatic calculation. Simscape Multibody computes and applies the joint primitive motion based on model dynamics.
Prismatic Primitive: Sensing
Select the variables to sense in the prismatic joint 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. You can use the measurement signals for analysis or as input in a control system.
- Position
Select this option to sense the relative position of the follower frame origin with respect to the base frame origin along the joint primitive axis.
- Velocity
Select this option to sense the relative velocity of the follower frame origin with respect to the base frame origin along the joint primitive axis.
- Acceleration
Select this option to sense the relative acceleration of the follower frame origin with respect to the base frame origin along the joint primitive axis.
- Actuator Force
Select this option to sense the actuation force acting on the follower frame with respect to the base frame along the joint primitive axis.
Mode Configuration
Specify the mode of the joint. The joint mode can be normal or disengaged throughout the simulation, or you can provide an input signal to change the mode during the simulation.
- Mode
Select one of the following options to specify the mode of the joint. The default setting is
Normal
.Method Description Normal
The joint behaves normally throughout the simulation. Disengaged
The joint is disengaged throughout the simulation. Provided by Input
This option exposes the mode port that you can connect to an input signal to change the joint mode during the simulation. The joint mode is normal when the input signal is 0
and disengaged when the input signal is-1
. The joint mode can be changed many times during the simulation.
Composite Force/Torque Sensing
Select the composite forces and torques to sense. Their measurements encompass all joint primitives and are specific to none. They come in two kinds: constraint and total.
Constraint measurements give the resistance against motion on the locked axes of the joint. In prismatic joints, for instance, which forbid translation on the xy plane, that resistance balances all perturbations in the x and y directions. Total measurements give the sum over all forces and torques due to actuation inputs, internal springs and dampers, joint position limits, and the kinematic constraints that limit the degrees of freedom of the joint.
- Direction
Vector to sense from the action-reaction pair between the base and follower frames. The pair arises from Newton's third law of motion which, for a joint block, requires that a force or torque on the follower frame accompany an equal and opposite force or torque on the base frame. Indicate whether to sense that exerted by the base frame on the follower frame or that exerted by the follower frame on the base frame.
- Resolution Frame
Frame on which to resolve the vector components of a measurement. Frames with different orientations give different vector components for the same measurement. Indicate whether to get those components from the axes of the base frame or from the axes of the follower frame. The choice matters only in joints with rotational degrees of freedom.
- Constraint Force
Dynamic variable to measure. Constraint forces counter translation on the locked axes of the joint while allowing it on the free axes of its primitives. Select to output the constraint force vector through port fc.
- Constraint Torque
Dynamic variable to measure. Constraint torques counter rotation on the locked axes of the joint while allowing it on the free axes of its primitives. Select to output the constraint torque vector through port tc.
- Total Force
Dynamic variable to measure. The total force is a sum across all joint primitives over all sources—actuation inputs, internal springs and dampers, joint position limits, and kinematic constraints. Select to output the total force vector through port ft.
- Total Torque
Dynamic variable to measure. The total torque is a sum across all joint primitives over all sources—actuation inputs, internal springs and dampers, joint position limits, and kinematic constraints. Select to output the total torque vector through port tt.
Ports
This block has two frame ports. It also has optional physical signal ports for specifying actuation inputs and 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
Actuation Ports
The prismatic joint primitive provides the following actuation ports:
fz — Actuation force acting on the Z prismatic joint primitive
pz — Desired trajectory of the Z prismatic joint primitive
The revolute joint primitive provides the following actuation ports:
tz — Actuation torque acting on the Z revolute joint primitive
qz — Desired rotation of the Z revolute joint primitive
Sensing Ports
The prismatic joint primitive provides the following sensing ports:
pz — Position of the Z prismatic joint primitive
vz — Velocity of the Z prismatic joint primitive
az — Acceleration of the Z prismatic joint primitive
fz — Actuation force acting on the Z prismatic joint primitive
fllz — Force due to contact with the lower limit of the Z prismatic joint primitive
fulz — Force due to contact with the upper limit of the Z prismatic joint primitive
The revolute joint primitive provides the following sensing ports:
qz — Angular position of the Z revolute joint primitive
wz — Angular velocity of the Z revolute joint primitive
bz — Angular acceleration of the Z revolute joint primitive
tz — Actuation torque acting on the Z revolute joint primitive
tllz — Torque due to contact with the lower limit of the Z revolute joint primitive
tulz — Torque due to contact with the upper limit of the Z revolute joint primitive
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
Mode Port
Mode configuration provides the following port:
mode — Value of the mode of the joint. If the input is equal to
0
, the joint behaves normally. If the input is equal to-1
, the joint behaves as disengaged.
Extended Capabilities
Version History
Introduced in R2012a