Main Content

Revolute Joint

Joint with one revolute primitive

  • Library:
  • Simscape / Multibody / Joints

  • Revolute Joint block

Description

The Revolute Joint block models a joint that has one rotational degree of freedom.

Degrees of Freedom for Revolute Joint

The joint constrains the motion of two arbitrary frames that connect to the base and follower frames of the joint to pure rotation about a common axis. The axis of rotation is aligned with the z-axis of the joint base frame. The base and follower frames have a common origin and z-axis, and the follower frame rotates about the z-axis, as shown in the image.

Revolute Primitive of a Revolute Joint

To target the initial state of the a joint primitive, use the parameters under State Targets. The position and velocity targets are resolved in the base frame. You can also set the priority levels for the targets. If the block cannot simultaneously satisfy the state targets, the priority level determines which targets to satisfy first and how closely to satisfy them. See Guiding Assembly for more information.

To model damping and spring behavior in a joint primitive, use the parameters under Internal Mechanics. Specify joint damping coefficients to model energy dissipation and joint spring stiffness to model energy storage. Springs resist attempts to displace the joint primitive from its equilibrium position. Joint dampers act as energy dissipation elements. 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 of a joint primitive. The block applies a force or torque 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 or torque. See Description section of the Spatial Contact Force block for more information about the smoothed spring-damper method.

A revolute primitive provides two actuation parameters, Torque and Motion, that govern the motion of the primitive during a simulation. See Specifying Joint Actuation Inputs for more information. Additionally, the block has ports that output sensing data, such as position, velocity, acceleration, forces, and torques, that enable you to perform analytical tasks on a model. See Sensing and Force and Torque Sensing for more information.

Ports

Frame

expand all

Base frame of the joint block.

Follower frame of the joint block.

Input

expand all

Physical signal input port that accepts the actuation torque for the joint primitive. The signal provides the value of the torque that applies on both the base and follower frames of the joint primitive.

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 joint primitive axis. Note that 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.

Input port that controls the joint mode. The signal is a unitless scalar. 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 a simulation.

Dependencies

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

Output

expand all

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.

Dependencies

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

Physical signal port that outputs the first derivative of position of the joint primitive.

Dependencies

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

Physical signal port that outputs the second derivative of position of the joint primitive.

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 the torque when the joint primitive position exceeds 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 Z Revolute Primitive (Rz) > Sensing, select Lower-Limit Torque.

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 Z Revolute Primitive (Rz) > Sensing, select Upper-Limit Torque.

Physical signal port that outputs constraint force that acts in the joint. The force maintains the translational constraints of the joint. See Sense Constraint Forces for more information.

Dependencies

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

Physical signal port that outputs constraint torque that acts in the joint. The torque maintains the rotational constraints of the joint. See Force and Torque Sensing for more information.

Dependencies

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

Physical signal port that outputs the total force that acts in the joint. The total force is the sum of the forces transmitted from one frame to the other through the joint. The force includes 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 in the joint. The total torque is the sum of the torques transmitted from one frame to the other through the joint. The torque includes actuation, internal, limit, and constraint torques. See Force and Torque Sensing for more information.

Dependencies

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

Parameters

expand all

Z Revolute Primitive (Rz)

Select this parameter to enable parameters that specify the position target of the joint primitive.

Priority level of the position target, specified as High (desired) or Low (approximate).

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > State Targets, select Specify Position Target.

Angle to specify the position target, specified as a scalar with a unit of angle.

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > State Targets, select Specify Position Target.

Select this parameter to enable parameters for that specify the velocity target of the joint primitive.

Priority level of the velocity target, specified as High (desired) or Low (approximate).

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > State Targets, select Specify Velocity Target.

Velocity target of the joint primitive, specified as a scalar with a unit of angular velocity.

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > State Targets, select Specify Velocity Target.

Position where the spring torque is zero, specified as a scalar with a unit of angle. The value specifies the rotation angle of the follower frame with respect to the base frame.

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

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

Select this parameter to enable parameters that specify the lower limit of the joint primitive.

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

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > Limits, select Specify Lower Limit.

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

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > Limits, select Specify Lower Limit.

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

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > Limits, select Specify Lower Limit.

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

The forces get full value once 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 expanding it improves speed.

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > Limits, select Specify Lower Limit.

Select this parameter to enable parameters for specifying the upper limit of the joint primitive.

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

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > Limits, 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, under Z Revolute Primitive (Rz) > Limits, select Specify Upper Limit.

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

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > Limits, select Specify Upper Limit.

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

The forces get full value once 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 expanding it improves speed.

Dependencies

To enable this parameter, under Z Revolute Primitive (Rz) > Limits, select Specify Upper Limit.

Option to provide the actuation torque for the joint primitive, specified as None, Provided by Input, or Automatically Computed.

Actuation Torque SettingDescription
NoneNo actuation torque.
Provided by InputExpose the input port t.
Automatically computedThe torque required to satisfy the motion inputs to the mechanism. The block computes the torque automatically. Note that if you set this parameter to Automatically computed, it doesn’t mean that you must use Provided by Input for the Motion parameter for the same joint primitive. The automatically computed torque could be to satisfy a motion input somewhere else in the mechanism.

Option to provide the actuation motion for the joint primitive, specified as Automatically Computed or Provided by Input.

Actuation Torque SettingDescription
Automatically computedThe block computes and applies the joint primitive motion based on model dynamics.
Provided by InputExpose the input port q.

Select this parameter to enable the output port q.

Select this parameter to enable the port w.

Select this parameter to enable the port b.

Select this parameter to enable the port tll.

Select this parameter to enable the port tul.

Mode Configuration

Joint mode for the simulation, specified as Normal, Disengaged, or Provided by Input.

MethodDescription
NormalThe joint behaves normally throughout the simulation.
DisengagedThe joint is disengaged throughout the simulation.
Provided by InputExpose the port mode.

Composite Force/Torque Sensing

Measurement direction, specified as Follower on Base or Base on Follower.

  • Follower on Base - Sense the force and torque that the follower frame exerts on the base frame.

  • Base on Follower - Sense the force and torque that the base frame exerts on the follower frame.

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 Base or Follower.

  • Base - The joint block resolves the measurements in the coordinates of the base frame.

  • Follower - The joint block resolves the measurements in the coordinates of the follower frame.

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.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2012a