Constant Velocity Joint
Joint that enforces a constant-velocity kinematic constraint between two shafts
Libraries:
Simscape /
Multibody /
Joints
Description
The Constant Velocity Joint block enforces a constant-velocity (CV) kinematic constraint between its base and follower frames, whose origins are coincident throughout the simulation. Specifically, if the Z-axes of the base and follower frames are both fixed with respect to a common reference frame, the Z-components of the two frames' angular velocities with respect to the common reference frame are equal.
The block has two degrees of freedom that allow the Z-axes of the base and follower frames to be arbitrarily oriented relative to each other. The figure shows an example.
The black and red frames indicate the base and follower frames of the block. The azimuth rotation about the Z-axis of the base frame locates the plane in which the bend angle occurs. The bend angle about the resulting Y-axis, the red Y-axis, specifies the orientation of the Z-axis of the follower frame with respect to the Z-axis of the base frame.
The block has two parameterizations, Rotation Sequence (faster
simulation)
or Quaternion (allows zero bend
angle)
, to specify the internal states of the joint. Use the
rotation-sequence parameterization whenever possible because a simulation with this
parameterization is generally faster than a simulation with the quaternion
parameterization. See Internal State for more information.
You can specify the desired initial states of the joint with the parameters under State Targets, such as the position and velocity of the azimuth and bend angle.
The block has a variety of sensing abilities. You can sense the azimuth, bend angle, and their time derivatives throughout the simulation. Furthermore, you can sense the forces and torques that act in the joint, such as constraint forces and total torque. For more information, see Composite Force/Torque Sensing section.
Ports
Frame
B — Base frame
frame
Port associated with the base frame of the joint block. In typical applications where a CV joint couples two shafts, the Z-axis of base frame is aligned with the driving shaft.
F — Follower frame
frame
Port associated with the follower frame of the joint block. In typical applications where a CV joint couples two shafts, the Z-axis of follower frame is aligned with the driven shaft.
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 and disengaged 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 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. |
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. |
Dependencies
To enable this port, under Mode
Configuration, set Mode to
Provided by Input
.
Output
qb — Bend angle
scalar
Bend angle of the CV joint, returned as a scalar. This quantity is the angle between the Z-axes of the base and follower frames of the block.
Dependencies
To enable this port, under Constant Velocity Primitive (CV) > Sensing > Bend Angle, select Position.
wb — Velocity of bend angle
scalar
Velocity of the bend angle of the CV joint, returned as a scalar. This quantity equals the time derivative of the signal output from port qb.
Dependencies
To enable this port, under Constant Velocity Primitive (CV) > Sensing > Bend Angle, select Velocity.
bb — Acceleration of bend angle
scalar
Acceleration of the bend angle of the CV joint, returned as a scalar. This quantity equals the second time derivative of the signal output from port qb.
Dependencies
To enable this port, under Constant Velocity Primitive (CV) > Sensing > Bend Angle, select Acceleration.
qa — Azimuth
scalar
Azimuth of the CV joint, returned as a scalar. This quantity is the angle of the rotation about the Z-axis of the base frame. The rotation locates the plane in which the bend angle occurs.
Dependencies
To enable this port, under Constant Velocity Primitive (CV) > Sensing > Azimuth, select Position.
wa — Velocity of azimuth
scalar
Velocity of the azimuth of the CV joint, returned as a scalar. This quantity equals the time derivative of the signal output from port qa.
Dependencies
To enable this port, under Constant Velocity Primitive (CV) > Sensing > Azimuth, select Velocity.
ba — Acceleration of azimuth
scalar
Acceleration of the azimuth of the CV joint, returned as a scalar. This quantity equals the second time derivative of the signal output from port qa.
Dependencies
To enable this port, under Constant Velocity Primitive (CV) > Sensing > Azimuth, select Acceleration.
fc — Constraint force
scalar
Constraint force that acts in the joint, returned as a scalar. 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
scalar
Constraint torque acting in the joint, returned as a scalar. 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
scalar
Total force acting in the joint, returned as a scalar. The total force is the sum of forces transmitted from one frame to the other through the joint. The force includes actuation, internal, 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
scalar
Total torque acting in the joint, returned as a scalar. The total torque is the sum of torques transmitted from one frame to the other through the joint. The torque includes actuation, internal, 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
Constant Velocity Primitive (CV)
Internal State — Internal state parameterization of joint
Rotation Sequence (faster
simulations)
(default) | Quaternion (allows zero bend
angle)
Choose the parameterization to specify the internal states of the joint.
Rotation Sequence (faster simulations)
The Constant Velocity Joint block uses the Z-Y-Z rotation sequence parameterization. The angle of the second Z-axis rotation is the negative of the angle of the first Z-axis rotation.
Use this method whenever possible because a simulation with this parameterization is generally faster than a simulation with the quaternion parameterization. However, the Z-Y-Z rotation sequence parameterization has a kinematic singularity when the bend angle is zero. If zero bend angle is required, set Internal State to
Quaternion (allows zero bend angle)
.
Quaternion (allows zero bend angle)
The Constant Velocity Joint block uses the quaternion parameterization. To enforce the CV kinematic constraint, the fourth component of the quaternion, the Z-component of the vector part, is always zero.
Use this method when zero bend angle is required. This method does not have a kinematic singularity at zero bend angle but has a kinematic singularity when the bend angle is 180 degrees. A simulation with this parameterization is generally slower than a simulation with the Z-Y-Z parameterization.
State Targets > Specify Position Target — Whether to specify position target
off
(default) | on
Select this parameter to enable parameters for specifying the position target of the joint.
State Targets > Specify Position Target > Priority — Priority level of position target
High (desired)
(default) | Low (approximate)
Set the priority level of the position target. See Guiding Assembly for more information.
Dependencies
To enable this parameter, under Constant Velocity Primitive (CV) > State Targets, select Specify Position Target.
State Targets > Specify Position Target > Value — Angles to specify position target
Bend Angle Only
(default) | Bend Angle and Azimuth
Whether to specify the position target of the CV joint at the start of simulation using only the bend angle or the bend angle and the azimuth.
Dependencies
To enable this parameter, under Constant Velocity Primitive (CV) > State Targets, select Specify Position Target.
State Targets > Specify Position Target > Value > Bend Angle — Bend angle to specify
45 deg
(default)
Specify the bend angle of the CV joint.
Dependencies
To enable this parameter, under Constant Velocity Primitive (CV) > State Targets, select Specify Position Target.
State Targets > Specify Position Target > Value > Azimuth — Azimuth to specify
0 deg
(default)
Specify the azimuth of the CV joint.
Dependencies
To enable this parameter, under Constant Velocity Primitive (CV) > State Targets > Specify Position Target > Value, select Bend Angle and Azimuth.
State Targets > Specify Velocity Target — Whether to specify velocity target
off
(default) | on
Select this parameter to enable parameters for specifying the velocity target of the joint.
State Targets > Specify Velocity Target > Priority — Priority level of velocity target
High (desired)
(default) | Low (approximate)
Set the priority level of the velocity target. See Guiding Assembly for more information.
Dependencies
To enable this parameter, under Constant Velocity Primitive (CV) > State Targets, select Specify Velocity Target.
State Targets > Specify Velocity Target > Value — Parameters to specify velocity target
Bend Angle Only
(default) | Bend Angle and Azimuth
Whether to specify the velocity target of the CV joint at the start of simulation using only the bend angle or the bend angle and the azimuth.
Dependencies
To enable this parameter, under Constant Velocity Primitive (CV) > State Targets, select Specify Velocity Target.
State Targets > Specify Velocity Target > Value > Bend Angle — Bend angle velocity to specify
0 deg/s
(default)
Specify the bend angle velocity of the CV joint.
Dependencies
To enable this parameter, under Constant Velocity Primitive (CV) > State Targets, select Specify Velocity Target.
State Targets > Specify Velocity Target > Value > Azimuth — Azimuth velocity to specify
0 deg/s
(default)
Specify the azimuth velocity of the CV joint.
Dependencies
To enable this parameter, under Constant Velocity Primitive (CV) > State Targets > Specify Velocity Target > Value, select Bend Angle and Azimuth.
Sensing > Bend Angle > Position — Whether to sense bend angle
off (default) | on
Select this parameter to enable the port qb.
Sensing > Bend Angle > Velocity — Whether to sense velocity of bend angle
off (default) | on
Select this parameter to enable the port wb.
Sensing > Bend Angle > Acceleration — Whether to sense acceleration of bend angle
off (default) | on
Select this parameter to enable the port bb.
Sensing > Azimuth > Position — Whether to sense azimuth
off (default) | on
Select this parameter to enable the port qa.
Sensing > Azimuth > Velocity — Whether to sense velocity of azimuth
off (default) | on
Select this parameter to enable the port wa.
Sensing > Azimuth > Acceleration — Whether to sense acceleration of azimuth
off (default) | on
Select this parameter to enable the port ba.
Mode Configuration
Mode — Joint mode
Normal
(default) | Disengaged
| Provided by Input
Joint mode for the simulation, specified as one of these values:
Method | Description |
---|---|
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 R2015a
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 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)