Kinematics (Advanced Methods in Computer Graphics) Part 1

Overview

The term “kinematics” refers to the study of the translational and rotational motion of objects without reference to mass, force or torque. Kinematics equations are used to describe three-dimensional motion of a multi-body system in terms of translational and rotational motions, and optionally, linear and angular velocities. Kinematics analysis becomes important in the animation of articulated models and skeletal structures containing serial chains of joints and links.

To set the context for developing the kinematics equations for graphics applications, we first give an outline of robot manipulators comprising a chain of joints. Both forward and inverse kinematics equations of joint chains are then discussed in detail. Iterative numerical algorithms for computing joint angles for a given target position are also presented. These methods are useful for performing goal-directed motion in an animation sequence.

Robot Manipulators

In a system containing several interconnected links, it is often required to find the global position of the end-point of the last link. This end-point is called the end effector. In an animated character model that performs a certain task, this could be the tip of a finger. In a robot manipulator, knowing the end effector position is important to carry out tasks such as inspection, picking, welding, painting, etc. Robot manipulators usually contain many links and different types of joints. In such systems, the motion of the end effector becomes exceedingly complex, as it depends on many joint parameters.


The Programmable Universal Machine for Assembly (PUMA) is a classic example of a robot manipulator arm. A graphics model of the PUMA robot is shown in Fig. 6.1. It consists of a chain of links and joints, with the end effector or the gripping device forming the last link. The other end of the joint chain is fixed to the base. This link forms the root of the tree that represents the hierarchy of transformations applied to the links. This hierarchical structure is the same as that of the scene graph we saw in Chap. 3. The transformations depend on the rotation and displacement of each link relative to its parent. The joint types as well as physical mounting constraints dictate the degrees of freedom of a particular configuration. The range of allowable angular and linear displacements at a joint also depends on the joint type.

 A graphics model of a PUMA robot

Fig. 6.1 A graphics model of a PUMA robot

Commonly used joints in robot manipulator arms

Fig. 6.2 Commonly used joints in robot manipulator arms

Several types of joints can be found in robot manipulators. The most common is the revolute joint that is used for a simple rotation of a link about a fixed axis, providing one degree of freedom. A prismatic joint, on the other hand allows a translation or displacement of a link with respect to its parent. Compound rotations about two orthogonal axes can be performed using a Cardan joint or a Hooke’s joint. A Hooke’s joint can be modelled by two revolute joints whose axes intersect. A more sophisticated type of joint providing three axes rotation is the spherical joint, also known as the ball and socket joint. Sample illustrations of these joints are given in Fig. 6.2.

For graphics applications, joint chains with only rotational transformations are commonly used. Some examples of such systems were given earlier in Chaps. 3and 4. Generalised rotations with multiple degrees of freedom can be easily modelled using either Euler angles or quaternions as described in the previous topic. In the next section, we consider the problem of finding the global position of the end effector, given the joint angle parameters.

Forward Kinematics

The term forward kinematics refers to the movement of a joint chain, given all the information about the relative position and orientation of each link with respect to its parent, and absolute position of the root joint. Forward kinematics equations are used to determine the position of the end effector in the world coordinate system for a given set of joint angles.

Joint Chain in Two Dimensions

Consider a 3-link chain shown in Fig. 6.3, that is constrained to move on a twodimensional xy-plane. Assume that the absolute position of the base link is specified by the point A = (xa, ya), and that the link lengths d1, d2, d3, and the joint angles 61, 62, 63 are given. These parameters completely specify the configuration of the joint chain. Note that the joint angles are defined relative to the parent link. Using this information, we seek the coordinates of the end effector E.

For a planar motion, the angles are simply summed up from the base link to the current link to find the absolute orientation of that link. In the example given above, angles 61, 62 are positive while 63 is negative. The coordinates of the points B, C, E can be computed in a sequence starting from the base as follows:

tmpc2f9-322_thumb

 

A planar motion of a three-link joint chain

Fig. 6.3 A planar motion of a three-link joint chain

 A 4-link joint chain in three-dimensional space

Fig. 6.4 A 4-link joint chain in three-dimensional space

The above sequence can be extended to any number of links and joint angles:

tmpc2f9-325_thumb

where (xn, yn) is the position of the nth link, and dn its length. If n is the index of the last link containing the end effector, then its direction is given by the unit

tmpc2f9-326_thumb

Joint Chain in 3D Space

In a three-dimensional coordinate system, we should be able to apply the most general rotational transformation to every link of the joint chain. We can then simulate the movement of links connected by a revolute joint, a Hooke’s joint, or a spherical joint. In order to define the relative orientation of a link with respect to its parent, we will need to define an orthogonal right-handed body-fixed frame on each link.

Consider a 4-link joint chain shown in Fig. 6.4. A link i has a body-fixed frame (u;, vi, wi) and a length di. Every link is assumed to be aligned along the x-direction in its frame, given by the ui axis. The rotation of the link i is defined by the relative orientation of the frame (u;, v;, w;) with respect to its parent’s frame (u,_i, v,_i, w;_i). This is specified by a 3 x 3 rotation matrix R;. The rotation matrix can be formed using any representation of generalized rotations such as Euler angles, angle-axis parameters, or quaternions. The end effector is denoted by the point E. The position of link i is indicated by the point Pi. The forward kinematics solution for this joint chain attempts to find the coordinates (xe, ye, ze) of the point E in the world coordinate system, given the position of the base link P1 = (x1, y1, z1 ), lengths of the links d1 ..d4, and rotation matrices R1 ..R4.

Note that the matrix R1 represents the rotational transformation of the first link’s local frame (m1, v1, w1) in the world coordinate space. Therefore,

tmpc2f9-328_thumb

The position of the point P2 can be determined as

tmpc2f9-329_thumb

The matrix R2 gives the rotation of the frame (u2, v2, w2) with respect to the frame (u1, v1, w1). The position of the point P3 can be obtained in terms of the coordinates of P2 as follows:

tmpc2f9-330_thumb

Continuing as above, the coordinates of the end effector E are obtained as shown below.

tmpc2f9-331_thumb

The above equation can be expanded and expressed in terms of the known parameters:

tmpc2f9-332_thumb

 

A scene graph based representation of the transformations applied to the links of the joint chain in Fig. 6.4

Fig. 6.5 A scene graph based representation of the transformations applied to the links of the joint chain in Fig. 6.4

The orientation of the frame of the end effector in the world coordinate system is given by the product matrix R1R2R3R4. The sequence of derivations given above can be extended to form an iterative algorithm for computing the end effector position of a general «-link joint chain.

We can use a scene graph to represent the transformations of the joint chain as shown in Fig. 6.5. Using this scene graph model, the coordinates of the end effector in the root node’s reference frame is given by

tmpc2f9-334_thumb

In the above equation,

tmpc2f9-335_thumb

The equivalence of Eqs. 6.7 and 6.8 can be readily established.

Next post:

Previous post: