Main Content

Constant Velocity Joint

Joint with two rotational DoFs between shafts constrained to spin with equal velocity

Library

Joints

  • Constant Velocity Joint block

Description

This block represents a joint with two rotational degrees of freedom constrained to maintain a constant angular velocity about the base and follower Z axes. The base and follower frame origins remain coincident throughout simulation.

The joint applies three rotation transformations between the base and follower frames in the sequence azimuth → bend angle → -azimuth. Each transformation takes place relative to the intermediate frame resulting from any prior transformations. For example, the bend angle transformation takes place relative to the intermediate frame resulting from the azimuth transformation.

Joint Degrees of Freedom

A set of optional state targets guide assembly for the 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.

Optional sensing ports output the joint primitive motion through physical signals. Motion variables that you can sense include joint position, velocity, and acceleration. Selecting a variable in the Sensing menu exposes the physical signal port for that variable.

Parameters

Constant Velocity Primitive: State Targets

Specify Position Target

Desired joint primitive position at the start of simulation. This is the relative angular position of the follower frame relative to the base frame. Selecting this option exposes priority and value fields.

Specify Velocity Target

Desired joint velocity at the start of simulation. This is the relative angular velocity of the follower frame relative to 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 LevelDescription
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

Joint primitive angles to specify. Angles include bend and azimuth angles.

Value: Bend Angle

Angle between the base and follower frame Z axes. The block applies this angle about the rotated Y axis resulting from the azimuth transformation. At zero bend angle, the follower frame Z axis is coincident with the base frame Z axis.

Value: Azimuth

Angle about the base frame Z axis prior to bending. At zero azimuth, the base and follower Z axes are in the XZ plane of the base frame.

Constant Velocity Primitive: Sensing

Select the variables to sense in the constant velocity 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.

VariableDescription
Bend Angle: PositionAngle between the base and follower frame Z axes
Bend Angle: VelocityFirst time derivative of the bend angle.
Bend Angle: AccelerationSecond time derivative of the bend angle.
Azimuth: PositionAngle about the base frame Z axis prior to bending.
Azimuth: VelocityFirst time derivative of the azimuth angle.
Azimuth: AccelerationSecond time derivative of the azimuth angle.

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.

MethodDescription
NormalThe joint behaves normally throughout the simulation.
DisengagedThe joint is disengaged throughout the simulation.
Provided by InputThis 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 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

Sensing Ports

The constant velocity joint primitive provides the following sensing ports:

  • qb — Bend angle

  • wb — First time-derivative of the bend angle

  • bb — Second time-derivative of the bend angle

  • qa — Azimuth angle

  • wa — First time-derivative of the azimuth angle

  • ba — Second time-derivative of the azimuth angle

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

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

Introduced in R2015a