List all kinematic variables associated with joints


jointVariables(ks) lists the kinematic variables native to the KinematicsSolver object ks and available to capture the displacements of joints.

MATLAB outputs a table with the joint variables in rows. Each row gives the ID of a variable, the type of joint it belongs to, the path from the root of the model to the corresponding joint block in the Simulink model, and the unit for its numerical value. The table starts out fully populated with all the joint variables identified in the model at the time the KinematicsSolver object is constructed.

A model can have many joint variables. These are sorted by joint, joint primitive, and primitive component. The variables are correspondingly named according to the scheme jointName.primitiveType.primitiveComponent. A gimbal joint, which has three revolute primitives (Rx, Ry, and Rz), each with a rotational component (q), allows for three joint variables. With j1 for joint name, the variable identifiers become j1.Rx.q, j1.Ry.q, and j1.Rz.q.

Joint primitives can also be prismatic (Px, Py, and Pz), spherical (S), constant-velocity (CV), or lead-screw (LSz). Primitive components can be translations (p), rotations (q), and axis components (ax). Spherical primitives are the only to allow rotation about a general 3-D axis, and so only they have axis components. These are denoted ax_x, ax_y, and ax_z. Other joint primitives have one component each—save for the constant-velocity primitive, which has an azimuth rotation component (q_a) and a bend rotation component (q_b).

Joint variables can play different roles in the analysis. They can serve as targets, guesses, or outputs. As targets, they help to specify the multibody configuration for which to solve the output variables. As guesses, they help to bias the solver toward a desired solution—for example, to ensure that the elbow of a humanoid robot bends and extends only in the natural range of 0–145 degrees. As outputs, they add to the unknowns to be determined by the solver.

The figure shows the variables of a general KinematicsSolver object. Target (T), guess (G), and output (O) variables can be joint variables (J) or frame variables (F). Joint variables are native to the object and can be assigned from its start as targets, guesses, and outputs. Frame variables must first be created with addFrameVariables.

Input Arguments

collapse all

Name of the KinematicsSolver object for which to run the analysis. The object is a kinematic representation of the model from which it derives. It contains the variables upon which the analysis depends.

Example: 'fourBarKS'

Data Types: char | string

Introduced in R2019a