Main Content

Constant Velocity Joint

Joint that enforces a constant-velocity kinematic constraint between two shafts

  • Constant Velocity Joint block

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.

Azimuth Bend Angle

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.

Examples

Ports

Frame

expand all

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.

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

expand all

Mode Configuration

Input port that controls the mode of the joint. The signal must be 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 mode at any time during the simulation.

The table shows how the position and velocity of the joint change during transitions between modes.

TransitionsPositionVelocity
Normal to LockedThe joint position retains the current value and remains constant after the transition.The joint velocity becomes zero and remains constant after the transition.
Normal to DisengagedThe joint position retains the current value but can change in any direction after the transition.The joint velocity retains the current value but can change in any direction after the transition.
Locked to NormalThe joint position retains the current value but can change in the directions aligned with the joint degrees of freedom (DOFs) after the transition.The joint velocity remains at zero but can change in the directions aligned with the joint DOFs after the transition.
Locked to DisengagedThe joint position retains the current value but can change in any direction after the transition.The joint velocity remains at zero but can change in any direction after the transition.
Disengaged to NormalFor the directions aligned with the joint DOFs, the joint positions initially take values calculated by using Newton's method and can change thereafter. In the constrained directions, the joint positions become zero and remain constant after the transition.For the directions aligned with the joint DOFs, the joint velocities initially take values calculated by using Newton's method and can change thereafter. In the constrained directions, the joint velocities become zero and remain constant after the transition.
Disengaged to LockedFor the directions aligned with the joint DOFs, the joint positions initially take values calculated by using Newton's method and remain constant after the transition. In the constrained directions, the joint positions become zero and remain constant after the transition.The joint velocity becomes zero and remains constant after the transition.

Dependencies

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

Output

expand all

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

expand all

Constant Velocity Primitive (CV)

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.

Select this parameter to enable parameters for specifying the position target of the joint.

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.

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.

Specify the bend angle of the CV joint.

Dependencies

To enable this parameter, under Constant Velocity Primitive (CV) > State Targets, select Specify Position Target.

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.

Select this parameter to enable parameters for specifying the velocity target of the joint.

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.

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.

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.

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.

Select this parameter to enable the port qb.

Select this parameter to enable the port wb.

Select this parameter to enable the port bb.

Select this parameter to enable the port qa.

Select this parameter to enable the port wa.

Select this parameter to enable the port ba.

Mode Configuration

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

ModeDescription
LockedLocked mode constrains all the degrees of freedom (DOFs) for the joint. The locked joint maintains its initial assembly position with zero velocity during the simulation. The joint block can sense forces or torques in accordance with the settings of the Internal Mechanics, Limits, and Actuation parameters.
NormalNormal mode enables the DOFs and the constraints of the joint work as intended during the simulation.
DisengagedDisengaged mode releases the joint from all constraints throughout the simulation. The settings for Internal Mechanics, Limits, and Actuation parameters do not affect the disengaged joint. All output ports output zero.
Provided by InputThe Provided by Input option allows you to specify the joint mode by using an input signal. For more information, see the port mode in the Input section.

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 affects only 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 affects only the output signals under the Composite Force/Torque Sensing section.

Extended Capabilities

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

Version History

Introduced in R2015a