Revolute Joint
Joint with one revolute primitive
Libraries:
Simscape /
Multibody /
Joints
Description
The Revolute Joint block models a joint that has one rotational degree of freedom.
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.
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
B — Base frame
frame
Base frame of the joint block.
F — Follower frame
frame
Follower frame of the joint block.
Input
t — Actuation torque
physical signal
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
.
q — Motion profile
physical signal
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
.
mode — Joint mode control
scalar
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.
Transitions | Position | Velocity |
---|---|---|
Normal to Locked | The joint position retains the current value and remains constant. | The joint velocity becomes zero and remains constant. |
Normal to Disengaged | The 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 Normal | The 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 Disengaged | The 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 Normal | For 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 Locked | For 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
q — Position of joint primitive
physical signal
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.
w — First derivative of position of joint primitive
physical signal
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.
b — Second derivative of position of joint primitive
physical signal
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.
t — Actuator torque acting on joint primitive
physical signal
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.
tll — Lower-limit torque
physical signal
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.
tul — Upper-limit torque
physical signal
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.
fc — Constraint force
physical signal
Physical signal port that outputs constraint force that acts in the joint. The force maintains the translational constraints of the joint. See Measure Joint Constraint Forces for more information.
Dependencies
To enable this port, under Composite Force/Torque Sensing, select Constraint Force.
tc — Constraint torque
physical signal
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.
ft — Total force
physical signal
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.
tt — Total torque
physical signal
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
Z Revolute Primitive (Rz)
State Targets > Specify Position Target — Whether to specify position target
off
(default) | on
Select this parameter to enable parameters that specify the position target of the joint primitive.
State Targets > Specify Position Target > Priority — Priority level of position target
High (desired)
(default) | Low (approximate)
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.
State Targets > Specify Position Target > Value — Angle of position target
0 deg
(default) | scalar with a unit of angle
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.
State Targets > Specify Velocity Target — Whether to specify velocity target
off
(default) | on
Select this parameter to enable parameters for that specify the velocity target of the joint primitive.
State Targets > Specify Velocity Target > Priority — Priority level of velocity target
High (desired)
(default) | Low (approximate)
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.
State Targets > Specify Velocity Target > Value — Velocity target of joint primitive
0 deg/s
(default) | scalar with unit of angular velocity
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.
Internal Mechanics > Equilibrium Position — Position where internal torque is zero
0 deg
(default) | scalar with unit of angle
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.
Internal Mechanics > Spring Stiffness — Stiffness of force law
0 N*m/deg
(default) | scalar with unit of stiffness
Stiffness of the internal spring-damper force law for the joint primitive, specified as a scalar with a unit of stiffness.
Internal Mechanics > Damping Coefficient — Damping coefficient of force law
0 N*m/(deg/s)
(default) | scalar with unit of damping coefficient
Damping coefficient of the internal spring-damper force law for the joint primitive, specified as a scalar with a unit of damping coefficient.
Limits > Specify Lower Limit — Whether to specify lower position limit
off
(default) | on
Select this parameter to enable parameters that specify the lower limit of the joint primitive.
Limits > Specify Lower Limit > Bound — Lower bound of free region
-90 deg
(default) | scalar with unit of angle
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.
Limits > Specify Lower Limit > Spring Stiffness — Stiffness of spring at lower bound
1e4 N*m/deg
(default) | scalar with unit of stiffness
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.
Limits > Specify Lower Limit > Damping Coefficient — Damping coefficient at lower bound
10 N*m/(deg/s)
(default) | scalar with unit of damping coefficient
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.
Limits > Specify Lower Limit > Transition Region Width — Region to smooth spring and damper forces
0.1 deg
(default) | scalar with unit of angle
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.
Limits > Specify Upper Limit — Whether to specify upper position limit
off
(default) | on
Select this parameter to enable parameters for specifying the upper limit of the joint primitive.
Limits > Specify Upper Limit > Bound — Upper bound of free region
90 deg
(default) | scalar with unit of angle
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.
Limits > Specify Upper Limit > Spring Stiffness — Stiffness of spring at upper bound
1e4 N*m/deg
(default) | scalar with unit of stiffness
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.
Limits > Specify Upper Limit > Damping Coefficient — Damping coefficient at upper bound
10 N*m/(deg/s)
(default) | scalar with unit of damping coefficient
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.
Limits > Specify Upper Limit > Transition Region Width — Region to smooth spring and damper forces
0.1 deg
(default) | scalar with unit of angle
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.
Actuation > Torque — Option to provide actuation torque
None
(default) | Provided by Input
| Automatically Computed
Option to provide the actuation torque for the joint primitive, specified as
None
, Provided by Input
, or
Automatically Computed
.
Actuation Torque Setting | Description |
---|---|
None | No actuation torque. |
Provided by Input | Expose the input port t. |
Automatically computed | The 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. |
Actuation > Motion — Option to provide actuation motion
Automatically Computed
(default) | Provided by Input
Option to provide the actuation motion for the joint primitive, specified as
Automatically Computed
or Provided by
Input
.
Actuation Torque Setting | Description |
---|---|
Automatically computed | The block computes and applies the joint primitive motion based on model dynamics. |
Provided by Input | Expose the input port q. |
Sensing > Position — Whether to sense joint primitive position
off (default) | on
Select this parameter to enable the output port q.
Sensing > Velocity — Whether to sense joint primitive velocity
off (default) | on
Select this parameter to enable the port w.
Sensing > Acceleration — Whether to sense joint primitive acceleration
off (default) | on
Select this parameter to enable the port b.
Sensing > Lower-Limit Torque — Whether sense to lower-limit torque
off (default) | on
Select this parameter to enable the port tll.
Sensing > Upper-Limit Torque — Whether sense to upper-limit torque
off (default) | on
Select this parameter to enable the port tul.
Mode Configuration
Mode — Joint mode
Normal
(default) | Locked
| Disengaged
| Provided by Input
Joint mode for the simulation, specified as one of these values:
Method | Description |
---|---|
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
Direction — Measurement direction
Follower on Base
(default) | Base on Follower
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.
Resolution Frame — Frame used to resolve measurements
Base
(default) | Follower
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.
Constraint Force — Whether to sense constraint force in joint
off (default) | on
Select this parameter to enable the port fc.
Constraint Torque — Whether to sense constraint torque in joint
off (default) | on
Select this parameter to enable the port tc.
Total Force — Whether to sense total force in joint
off (default) | on
Select this parameter to enable the port ft.
Total Torque — Whether to sense total torque in joint
off (default) | on
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
Comando MATLAB
Hai fatto clic su un collegamento che corrisponde a questo comando MATLAB:
Esegui il comando inserendolo nella finestra di comando MATLAB. I browser web non supportano i comandi MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)