Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

The most obvious application of the criteria and tools described in this chapter is in the mechanical design of a robot. Robot design differs from the design of single-degree-of-freedom machinery in that the latter is intended for one specific task, e.g., picking up a workpiece from a belt conveyor and placing it on a magazine. Moreover, the conveyor is synchronized with the manipulating machine and the magazine is stationary, with well-defined locations where each workpiece is to be placed. Manipulation robots, in contrast, are not intended for one specific task, but rather for a family of tasks falling within one class of workpiece motions, e.g., planar, spherical, translational, or motions produced by systems of the Selective Compliance Assembly Robot Arm (SCARA) type, also known as Schönflies displacements [10.1]. The challenge that robot designers face is therefore one of uncertainty in the specific task that the robot will be required to execute. Design criteria have been devised to help the designer cope with uncertainty, as discussed herein.

The Robot Design Process

Given a family of tasks that constitute the functional requirements in the design process, besides more-detailed design specifications, the role of the designer consists in producing a robot that will meet all the requirements and specifications. The various stages in the robot design job at hand are intended to:

  1. 1.

    determine the topology of the kinematic chain underlying the mechanical structure. Under this item we consider first the robot type: serial, parallel or hybrid. Then, a decision is to be made on the layout of the various subchains in terms of the type of joints, most commonly, revolute and prismatic. Recently, one additional type has been recognized to be equally useful, the Π-joint, coupling two links under relative translation by means of two other links undergoing identical angular displacements, although about different parallel axes. The four links form a parallelogram four-bar linkage [10.2];

  2. 2.

    determine the geometric dimensions of the various links defining the robotic architecture, as required to fill a table of Denavit–Hartenberg parameters  [10.3] so as to satisfy workspace requirements. Although these parameters are usually understood to include the joint variables, these variables do not affect the robot architecture ; they determine instead the robot posture;

  3. 3.

    determine the structural dimensioning of the various links and joints, as needed to meet static load requirements, where load includes both forces and moments – wrenches – under either the most demanding or the most likely operation conditions, depending on the design philosophy adopted at the outset;

  4. 4.

    determine the structural dimensioning of the various links and joints, as needed to meet dynamic load requirements, where loads are inertia effects of links and manipulated object;

  5. 5.

    determine the elastodynamic dimensioning of the overall mechanical structure, including the actuator dynamics, to avoid a specific spectrum of excitation frequencies under either the most demanding or the most likely operation conditions;

  6. 6.

    select the actuators and their mechanical transmissions for the operation conditions adopted at the outset to cope with task uncertainty.

The above stages can be performed sequentially, in the order given above: (i) first, the topology is determined based on the family of tasks specified at the outset and the shape of the workspace, as discussed in Sect. 10.2.2; (ii) the link geometry is defined based on the workspace requirements, which include the maximum reach, and the topology defined in stage 1; (iii) with the link geometry thus defined, the structural dimensioning of links and joints (unless the robot under design is parallel, which does not fall within the scope of this chapter, all joints are actuated) is undertaken, so as to support the static loads assumed at the outset; (iv) with the links and joints dimensioned for static-load conditions, the link centers of mass and link inertia matrices are determined for a preliminary evaluation of the motor torque requirements (this evaluation is preliminary in that it does not consider the dynamic load brought about by the actuators; this load can be significant, even in the case of parallel robots, which can have all their motors fixed to the robot base); (v) with the links assumed rigid, joint stiffness is assumed, based on experience or using data from a similar robot, which then leads to an elastodynamic model whose natural modes and frequencies can be determined at a selected set of robot postures (dynamic behavior of the structure is dependent on robot posture) by means of scientific code such as Matlab or computer-aided engineering (CAE) code such as Pro/Engineer or ANSYS; and (vi) if the frequency spectrum of the robot structure is acceptable, the designer can continue to motor selection; otherwise, a redimensioning is required, which means returning to stage 3.

Even though a design cycle can be completed as outlined above, the designer must now incorporate into the elastodynamic model the structural and inertial data provided by the motor manufacturer. This requires a return to stage 5 and a new elastodynamic analysis. It is thus apparent that the robot design process has one element in common with engineering design in general: both are iterative and open-ended [10.4]. Remarkably, however, the various items driving each design stage are, to a large extent, independent of each other, e.g., topology and geometry can be determined independently from motor selection. Obviously, all issues interact in the overall design process, but, within certain design specifications, the various items do not contradict each other, as to warrant a multiobjective design approach. That is, the optimum design of serial robots can be accomplished fairly well by means of a sequence of single-objective optimization jobs. Again, the results of the last stage, motor selection, must be integrated into an overall mathematical model to test the overall performance. One reference addressing practical optimization issues in the conceptual design of industrial robots is [10.5].

Only when the physical limits of components have been exhausted may a radical redesign requiring a return to stage 1 be warranted. This is the case with SCARA systems. Current industrial topologies of these robots are usually of the serial type, with some exceptions, like the Konig and Hartman RP-AH series robots with parallel architecture [10.6], which feature two serial SCARA systems sharing one common end-effector. The quest for shorter cycle times, as for an industry test cycle (see Sect. 10.2.1), has prompted the industry to look for alternatives to serial architectures. This is how ABB Robotics is currently marketing a parallel robot, the FlexPicker, built upon Clavelʼs Delta robot [10.7], to which a fourth axis has been added in series with the first three. The latter are laid out in a symmetric, parallel architecture that enables Delta to produce pure translations of its moving platform. The shortest cycle time reported by Adept Technology is 420 ms for a payload of 2 kg (with the Adept Cobra s600, a serial robot) but other manufacturers claim even shorter times.

This chapter is organized according to the various stages of the robot design process outlined earlier. Noting that topology selection and geometric dimensioning are tightly coupled in the kinematic design process, we first begin with an examination of workspace criteria: we review methods for determining the topology of the kinematic chain, followed by the geometric dimensions so as to satisfy workspace requirements. We then review in detail the various criteria developed for characterizing a robotʼs manipulating capability, focusing on quantitative notions of dexterity based on both kinematic and dynamic models. We then examine methods for structural dimensioning of the links and joints so as to meet both static and dynamic load requirements. Finally, we discuss elastodynamic dimensioning, and actuator and gear sizing, taking into account properties such as the natural frequency of the robot, and force and acceleration capability requirements.

Workspace Criteria

The most obvious consideration in designing a robot is that its workspace has a set of required characteristics. This is a fundamental problem in classical mechanism design, and raises the obvious question of how a user can specify those characteristics.

Issues to consider here pertain, mostly, to what Vijaykumar et al. [10.8] termed the regional structure of a manipulator. This applies to manipulators with a decoupled architecture, whose last three revolutes have concurrent axes, thereby forming a spherical wrist, the point of concurrency being the wrist center. The manipulation task of architectures of this kind thus allows for a decoupling of the positioning and the orientation subtasks: the regional structure, consisting of the first three joints, is first postured so as to locate the center of its wrist at a specified point C(x,  y,  z); then, the local structure, i.e., the wrist, is postured so as to make the end-effector (EE) attain a specified orientation with respect to a frame fixed to the base, given by a rotation matrix.

Most algorithms reported in the literature to determine the workspace of a given robot refer to the workspace of the regional structure. Here, we should distinguish between the workspace of the kinematic chain, regardless of the physical implementation of the chain, and that of the physical robot. In the former, all revolute joints are capable of unlimited rotations about their axes; in the latter, joint limits are needed, for example, to avoid wire entanglement. In the early stages of robot design, joint limits need not be considered, the workspace thus exhibiting symmetries that are proper of the type of joints of the regional structure. If the first joint is a revolute, the workspace has an axis of symmetry, namely, the axis of this revolute joint; if the first joint is prismatic, the workspace has an extrusion symmetry, with the direction of extrusion given by the direction of motion of this joint. As prismatic joints are infinitely extensive, so is the kinematic workspace of a robot with a prismatic joint. The kinematic workspaces of robots with prismatic joints are usually displayed for a finite portion of this workspace.

In the case of parallel robots, to be studied in full detail in Chap. 14, the regional structure is elusive, in general. The usual practice when displaying the workspace for these robots is to assume a constant orientation of the moving plate, the counterpart of the EE of serial robots [10.9]. A common architecture of parallel robots, which arises quite naturally in the design process, entails identical legs symmetrically placed both on the base platform and on the moving platform. Each leg is, in turn, a serial kinematic chain with one or two active joints, all others being passive. The workspace of this kind of robots also exhibits certain symmetries, but no axial symmetry. The symmetries are dictated by the number of legs and the types of actuated joints.

Coming back to serial robots, the workspace can be defined by an envelope that is essentially of one of two types, either a manifold or a surface that is smooth almost everywhere, i.e., smooth everywhere except for a set of points of measure zero in the Lebesgue sense [10.10]. Broadly speaking, a set of measure zero on a surface is a curve, e.g., a meridian on a sphere, or a set of isolated points on a line, e.g., the set of rational numbers on the real line. A paradigm for this second kind of workspace is that of the Puma robot, whose kinematic chain is displayed in Fig. 10.1. In this figure, the regional and the local structures are clearly distinguished, the former being fully extended. The workspace of this robot is obtained upon locking all joints but the second, when the robot is in the posture shown in Fig. 10.1. Then, the second joint is fully rotated about its axis, the center C of the wrist then describing a circle of radius R equal to the distance of C from the line L2, the plane of the circle being normal to this line and lying a distance b 3 from the axis L1 of the first joint. This distance is known as the shoulder offset. Now, with all joints locked again, but this time with the first joint unlocked, the robot is turned as a rigid body about L1. The result is the toroid of Fig. 10.2. Notice that the solid enclosed by this surface is the result of the Boolean operation 𝒮−𝒞, where 𝒮 is the sphere of radius R centered at point O2 of Fig. 10.1, while 𝒞 is the infinite cylinder of radius b 3 and axis L1, which appears as Z 1 in Fig. 10.2. It is noteworthy that, although this workspace can be readily generated by a simple Boolean operation, it cannot possibly be generated by an implicit function of the form f(x,  y,  z) = 0 because the surface is not a manifold.

Fig. 10.1
figure 1_11

A Puma robot in a fully stretched posture (after [10.11])

Fig. 10.2
figure 2_11

The workspace of a Puma robot (after [10.11])

Robots with manifold workspaces are not common in industry. We display in Fig. 10.3 an architecture for the regional structure of a six-axis decoupled robot, with its neighboring axes mutually orthogonal and at the same distance a from each other. The common normals to the two pairs of axes, X 2 and X 3, also lie at the same distance a, as do X 4 from X 3 and C from Z 3. Point C is the center of the spherical wrist, the latter not being included in the figure. The workspace of this robot admits a representation of the form f(x,  y,  z) = 0 [10.11], which produces the manifold workspace of Fig. 10.2. The shaded internal region of the workspace includes all points admitting four real inverse-kinematics solutions, all other points admitting only two.

Fig. 10.3
figure 3_11

An orthogonal three-revolute robot (after [10.11])

Fig. 10.4
figure 4_11

The workspace of the orthogonal robot of Fig. 10.3 (after [10.11])

Given that any point of the workspace boundary represents a positioning singularity – different from an orientation singularity – manipulators with workspace boundaries that are not manifolds exhibit double singularities at the edges of their workspace boundary, which means that at edge points the rank of the robot Jacobian becomes deficient by two. At any other point of the workspace boundary the rank deficiency is by one.

Design rules based on the shape of the workspace can now be drawn.

  1. 1.

    If the workspace required is axially symmetric and finite, use a serial robot with a regional structure composed of revolute joints only.

  2. 2.

    If the workspace required is prismatic and infinite, use a serial robot with regional structure having one first joint of the prismatic type. Here, infinite is used in a restricted sense, meaning much larger in one direction than the others. Moreover,

    • if one direction is required to be much larger than the others, then practical implementations of prismatic joints are available in the form of rails either overhead, thereby giving rise to gantry robots, or on the floor.

    • if two directions are required to be much larger than the other, then use a wheeled mobile robot carrying a manipulator on top. A famous realization of this concept is the National Aeronautical and Space Agencyʼs (NASA) Sojourner used in the Pathfinder mission to Mars in 1997.

  3. 3.

    If axial symmetry is not required, but rather a workspace with various coplanar axes of symmetry, similar to those of regular polygons, use a parallel robot.

Reaching a Set of Goal Frames

Closely related to the problem of workspace specification is that of task specification. In mechanism design it is customary to specify a set of coordinate frames in space, and to design a mechanism with an a priori specified topology that can visit these frames. An order in which the frames must be reached may be given. In the event that not all of the frames are reachable, then one may seek a mechanism that comes closest, in some suitable sense, to the specified frames. The literature on this classical mechanism design problem is vast – see, e.g., [10.1,12,13] and the references cited therein. Some further remarks in connection with this goal-frame approach to robot dimensioning are noteworthy.

  1. 1.

    Reaching exactly the desired frames may not always be desired or possible: in some cases it is better to use an optimization approach that allows for solutions that will visit the desired poses within a minimum error (provided that an error norm can be suitably engineered, of course).

  2. 2.

    It has been claimed [10.9] that interval analysis allows not only a discrete set of desired poses but also a full six-dimensional (6-D) workspace to be met while taking into account manufacturing errors.

  3. 3.

    The branching problem occurring in single-degree-of-freedom mechanisms may also occur in robot design: a design solution based on via points may indeed visit the prescribed poses, but not all of these may be reachable within the same assembly mode. This problem is exacerbated in the design of serial robots, as a six-degree-of-freedom, revolute-coupled robot may admit up to 16 distinct postures – branches – for one given EE pose [10.14,15].

  4. 4.

    While a robot designed to visit a set of prescribed poses via its end-effector will be able to visit that set, we should not forget that the purpose of using robots is first and foremost to be able to perform not one single task, but rather a family of tasks. In this light, the set of poses for which a robot is designed might as well be a task that is representative of that family.

In connection with remark 4 above, we can cite the design or evaluation of SCARA systems. A SCARA system is a four-degree-of-freedom serial robot capable of tasks that lie within the Schönflies subgroup of the group of rigid-body displacements [10.16,17], namely the set of three-dimensional displacements augmented with a rotation about an axis of fixed direction. In these systems, the task at hand is given by two vertical segments joined by one horizontal segment. Moreover, the length of the vertical segments is 25.0 mm, that of the horizontal segment being 300.0 mm. While the end-effector is traversing the horizontal segment, moreover, it should rotate about a vertical axis through an angle of 180°. This task specification, which has been adopted by SCARA manufacturers, does not indicate how to negotiate the corners, which is left to the imagination of the robotics engineer.

Workspace Volume and Topology

Reachable and Dexterous Workspace

Beginning with the early work of Roth [10.18], there have been many studies on the relationship between manipulator kinematic geometry and its workspace. Most studies have focused on a classification of the workspace into two components, the reachable and the dexterous workspace [10.19]. Given a reference point P attached to a manipulator end-effector, such as the center of the spherical wrist, or a point on the EE, the reachable workspace is defined to be the set of points in physical space that can be reached by P. The dexterous workspace, on the other hand, is the set of points that can be reached by P with arbitrary EE orientations.

The early literature on workspace focuses on numerical and algebraic methods to characterize these workspaces. Reachable and dexterous workspaces have been analyzed using numerical techniques by Kumar and Waldron [10.19], Yang and Lee [10.20], and Tsai and Soni [10.21], among others. The advantage of these schemes over algebraic approaches is that kinematic constraints can be readily included. More-general design principles or insights, however, are more difficult to come by using these techniques. Among the algebraic approaches to workspace characterization, a topological analysis of robot workspace is given by Gupta and Roth [10.22] and Gupta [10.23]; here the concept of workspace holes and voids is defined, and conditions for their existence are identified. The shape of the reachable and dexterous workspaces is also analyzed as a function of P.

Further studies of workspace analysis were reported by Freudenstein and Primrose [10.24] and by Lin [10.25], where precise relationships between kinematic and workspace parameters are developed, and a class of three-joint manipulators is optimized for workspace volume. A more general analysis of workspace optimization is given in Vijaykumar et al. [10.8]. Performance criteria for manipulators are defined here in terms of the dexterous workspace; given that a manipulator satisfies certain constraints on its Denavit–Hartenberg parameters, it is shown that the optimal 6R design is the elbow manipulator.

A typical design of robot regional architecture is of the orthogonal type, consisting of one revolute of the vertical axis and two revolutes of the horizontal axes, one of which intersects the vertical axis. Moreover, the most common architecture includes intermediate and distal links of identical lengths. The workspace of this architecture is thus a sphere of radius equal to twice that common link length. The volume of this workspace is thus determined by the length in question. As shown by Yoshikawa [10.26], the workspace of the two-link planar manipulator defined by the last two links of the foregoing regional architecture is of maximum area for a prescribed reach and equal link lengths. As a result, the volume of the same regional architecture is similarly of maximum volume for a prescribed reach.

Differential-Geometric Workspace Characterization

Workspace can also be approached from a differential-geometric perspective, by regarding the configuration space of a robotic end-effector frame as a subset of the special Euclidean group SE(3). An important physical consideration in defining the workspace volume of spatial mechanisms is that it should not depend on the choice of fixed reference frame. Less obvious but just as important is the requirement that the volume should not depend on which point of the last link the end-effector frame is fixed to. This last condition has the following physical significance: if the EE were enlarged or shrunk, then the robot would have the same workspace volume. The workspace volume of a robot therefore depends only on the joint axes.

The workspace volume of a robot is defined by regarding SE(3) as a Riemannian manifold, so that the workspace volume is simply the volume of the image of the forward kinematic map f with respect to the volume form on SE(3). It is known that SE(3) has a bi-invariant volume form, that is, the notion of volume is invariant with respect to the choice of both the fixed (base) and moving (end-effector) frames – see, e.g., Loncaric [10.27]. Paden and Sastry [10.28] provide the following visualization for this volume form: Suppose an airplane is restricted to move within a cube of airspace of length 1 km on a side. At each point within this cube the airplane can point itself anywhere in a 4π solid angle and roll 2π about the direction it is pointing. The orientation volume at such a point is 4π × 2π = 8π 2 rad3. Multiplying by the positional volume one obtains 8π 2 rad3km3 for the volume of the free configuration space of the aircraft.

This depiction is the notion of workspace volume used for robots; it has the advantage of being able to trade off orientation freedom for positional freedom smoothly, unlike the popular notion of dexterous workspace. Note that the actual numerical value one obtains will depend on the choice of length scale for physical space; this in itself does not pose a serious problem for workspace volumes, as long as the same length scale is maintained when comparing different workspaces.

In [10.28] Paden and Sastry show that the optimal 6R manipulator that maximizes the workspace volume subject to a kinematic length constraint is the elbow manipulator. This result is consistent with the earlier finding of Vijaykumar et al. [10.8], but the authors employ the geometric framework outlined above. Moreover, the results are obtained without some of the a priori assumptions on the kinematic structure made by Vijaykumar.

Dexterity Indices

Local Dexterity for Open Chains

Dexterity can be defined as the ability to move and apply forces and torques in arbitrary directions with equal ease, the concept thus belonging to the realm of kinetostatics, which is the study of the interplay between feasible twists and constraint wrenches in multibody mechanical systems under static conservative conditions. Here, twist is the six-dimensional array of velocity variables of a rigid body, involving three components of a landmark-point velocity and three of angular velocity; wrench, in turn, is the six-dimensional array of static variables acting on a rigid body, three accounting for the resultant force applied at the same landmark point and three for the concomitant moment acting on the same body.

Salisbury and Craig [10.29] introduced the concept of dexterity when working on the design of articulated hands. At issue is the way in which input joint velocity errors propagate to the output velocities of each fingertip. To illustrate this concept, let J(θ) denote the Jacobian of the forward kinematic map, i.e.,

(10.1)

in which θ and denote the vectors of joint variables and joint rates, respectively, while t is the EE twist, defined, in turn, as,

(10.2)

with ω denoting the angular velocity of the EE and the velocity of the operation point P of the EE, at which the task is specified.

Let n and m be the dimensions of the joint space 𝒥 and of the end-effector configuration space 𝒢, respectively, where n ≥ m. Now, the image under J(θ) of the unit hypersphere is an ellipsoid in the space of twists t. Indeed, if we assume for concreteness that n = m – the more general case n ≠ m can also be accommodated, but we refrain from including it here in order to streamline the discussion that follows – then the polar decomposition [10.30] of J takes the form

(10.3)

where R is an orthogonal matrix, whether proper or improper – if proper, then R represents a rotation; if improper, then a reflection – while U and V are symmetric and at least positive-semidefinite matrices. Moreover, if J is nonsingular, then U and V are both positive-definite and the decomposition is unique. In any event, these two matrices are related by a similarity transformation, namely,

(10.4)

which means that the two matrices have identical real nonnegative eigenvalues. These eigenvalues are nothing but the singular values of J. Indeed, if Σ denotes the diagonal representation of U, with its i-th diagonal entry σ i denoting the i-th eigenvalue of U, or of V for that matter, then the eigenvalue decomposition of U is

(10.5)

in which E is the orthogonal matrix whose i-th column e i represents the i-th eigenvector of U, while Re i denotes the i-th eigenvector of V. Now, if we substitute the above decomposition of U into the polar decomposition of J, (10.3), we obtain

(10.6)

which is nothing but the singular-value decomposition of J, the diagonal entries of Σ being the singular values of J.

Now we can provide a geometric interpretation of the forward kinematic mapping of (10.1), for we can rewrite this mapping in the form

(10.7)

At nonsingular postures, the Jacobian is invertible, and hence so is U, whence the foregoing expression leads to

(10.8)

Furthermore, if we assume that all the components of both the twist array t and the joint-rate array have the same physical units, which is the case for purely positioning or purely orienting manipulators with only revolute joints, then we can take the Euclidean norm of both sides of (10.8), thereby obtaining

(10.9)

Moreover, if we substitute U by its eigenvalue decomposition, (10.5), in the above equation, we obtain

and, if we let

(10.10)

then the above expression for becomes

(10.11)

Now, if the i-th component of v is denoted by v i , for i = 1,… , n, and we look at the mapping of the unit ball in 𝒥, , (10.11) leads to

(10.12)

which is the canonical equation of an ellipsoid of semiaxes { σ i  }1 n in the 𝒢-space, i.e., the space of Cartesian velocities, or twists of the EE. Notice that the ellipsoid in question takes its canonical form when represented in a coordinate frame of axes oriented in the directions of the eigenvectors of U. The equation of the ellipsoid along the original axes in 𝒢-space is, of course,

(10.13)

In summary the unit ball in joint space is mapped by the Jacobian-inverse J −1 into an ellipsoid whose semiaxes are the singular values of J. That is, J distorts the unit ball in the joint-rate space into an ellipsoid in the EE-twist space. Hence, a measure of the quality of motion and force transmission of the robotic architecture from the joints to the EE is given by the above distortion ; the smaller the distortion, the higher the quality of the transmission.

A measure of the Jacobian-induced distortion can thus be defined as the ratio of the largest σ M to the smallest σ m singular values of J, which is nothing but the condition number κ 2 of J based on the matrix 2-norm [10.31], i.e.,

(10.14)

Actually, (10.14) is only one possibility of computing the condition number of J, or of any m × n matrix for that matter, and certainly not the most economical. Notice that this definition requires knowledge of the singular values of the Jacobian. However, computing the singular values of a matrix is as computationally intensive as computing eigenvalues, with the added cost of the polar decomposition; the combined operation is slightly less expensive than the singular-value decomposition [10.32]. The most general definition of condition number, for n × n matrices, is [10.31]

(10.15)

As stated above, the expression (10.14) is obtained when the matrix 2-norm is adopted in (10.15). The matrix 2-norm is defined as

(10.16)

If, on the other hand, the weighted matrix Frobenius norm is adopted, which is defined as

(10.17)

then, apparently, the computation of the singular values can be obviated. When the weight 1/n is omitted in the above definition, the standard Frobenius norm is obtained. Notice, however, that the weighted Frobenius norm is more significant in engineering, for it does not depend on the number of rows and columns of the matrix at hand. The weighted Frobenius norm, in fact, yields the root-mean-square (rms) value of the set of singular values.

The Frobenius condition number κ F of the Jacobian J, based on the matrix Frobenius norm, is then

(10.18)

One more important difference between the two forms of computing the matrix condition number is worth pointing out: κ 2( ⋅ ) is not an analytic function of its matrix argument, while κ F( ⋅ ) is. Hence, the condition number based on the Frobenius norm can be applied to great advantage in robot architecture design, as κ F( ⋅ ) is differentiable and lends itself to gradient-dependent optimization methods, which are much faster than direct methods based only on function evaluations. In robot control, which requires real-time computations, κ F( ⋅ ) also offers practical advantages, for its computation obviates the knowledge of the singular values, only requiring a matrix inversion, which is a rather simple task.

The significance of the condition number in robot design and control can be best understood if we recall that the concept stems from numerical analysis in connection with the solution of the linear system of equations (10.1) for . Given that J is a function of both the architecture parameters and the posture variables θ, J is known only to within the error with which those quantities are known. Further, let the architecture parameters, namely, the constant values in the Denavit–Hartenberg parameter list, be stored in an array p. Both p and θ are known up to measurement errors δ p and δ θ, respectively. Moreover, the twist t is input into the control software of the robot with an unavoidable error δ t.

In solving (10.1) for with floating-point arithmetic, the computed value is contaminated with a roundoff error . The relative error in the computed is related to the relative errors in the architecture parameters and posture variables by the relation [10.31]

(10.19)

where p and θ represent the (unknown) actual values of these vectors and t the nominal value of the twist.

Nevertheless, the foregoing discussion applies to tasks involving either positioning or orientation, but not both. Most frequently, robotic tasks involve both positioning and orientation, which leads to Jacobian matrices with entries bearing disparate physical units, the consequence being that the Jacobian singular values have disparate units as well. Indeed, singular values associated with positioning bear units of length, whereas those associated with orientation are dimensionless. As a consequence, it is impossible to either order all singular values from smallest to largest or to add them all.

To cope with the issue of disparate units in the Jacobian entries, and to allow for the computation of the Jacobian condition number, the concept of characteristic length has been proposed [10.11]. The characteristic length L has been defined as the length by which the entries of the Jacobian with units of length are to be divided to render the Jacobian condition number a minimum at an optimum posture. This definition, while sound, lacks an immediate geometric interpretation, which has made its adoption in the robotics community difficult. In order to provide for a geometric interpretation, the concept of homogeneous space was recently introduced [10.33]. Using this concept, the robot architecture is designed in a dimensionless space, with points whose coordinates are dimensionless real numbers. In this way, the six Plücker coordinates [10.34] of lines are all dimensionless, and hence the columns of the robot Jacobian matrix, comprising the Plücker coordinates of the revolute axes, are dimensionless as well. As a consequence, the Jacobian singular values are all dimensionless, and the Jacobian condition number can be defined. Once the robotic architecture has been designed for minimum condition number, under geometric constraints on link-length ratios and angles between neighboring revolute axes, for example, the maximum reach of the robot can be calculated. The maximum reach r will thus be a dimensionless quantity. When this quantity is compared with the prescribed maximum reach R, with units of length, the characteristic length is computed as the ratio L = R/r.

Dynamics-Based Local Performance Evaluation

Since motions are caused by forces and torques acting on rigid bodies, it seems reasonable to formulate performance indices that take into account the inertial properties of the mechanism. Asada [10.35] defines the generalized-inertia ellipsoid (GIE) as the ellipsoid defined by the product , where M denotes the inertia matrix of the manipulator. This ellipsoid is that with semiaxes given by the singular values of the foregoing product. Yoshikawa [10.36], in turn, defines a corresponding dynamic manipulability measure as . Physically these concepts represent two distinct phenomena. Suppose the robot is viewed as an input–output device which, given a joint torque, produces an acceleration at the end-effector. Yoshikawaʼs index measures the uniformity of this torque–acceleration gain, whereas Asadaʼs GIE characterizes the inverse of this gain. If a human operator were holding the end-effector and attempting to move it about, the GIE would measure the resistance of the robot to this end-effector motion.

Other measures that attempt to capture robot performance as a function of the dynamics can be cited: Voglewede and Ebert–Uphoff [10.37] propose performance indices based on joint stiffness and link inertia, with the aim of establishing a distance to singularity for any robot posture, while Bowling and Khatib [10.38] propose a general framework for capturing the dynamic capability of a general robot manipulator that includes the velocity and acceleration characteristics of the end-effector, taking into account factors such as torque and the velocity limits of the actuators.

Global Dexterity Measures

The above measures are local in the sense that they characterize the dexterity of a robot at a given posture. Local measures are useful for applications ranging from redundancy resolution to workpiece positioning, but for design applications a global measure may be more desirable. One straightforward way of extending local measures to global ones is to integrate them over the allowable joint space. In [10.39] Gosselin and Angeles integrate the Jacobian condition number over the workspace to define a global measure, thereby producing a global conditioning index . For the simpler cases of planar positioning and spherical manipulators, the global conditioning index was found to coincide with its local counterpart.

Closed-Chain Dexterity Indices

The formulation of dexterity for closed chains presents a number of subtleties. The first obvious difference is that the joint configuration space of a closed chain will no longer be a flat space; in the general case it will be a curved multidimensional surface embedded in a higher-dimensional (typically flat) space. Also, dual to the open chain case, the forward kinematics for closed chains is generally more difficult to solve than the inverse kinematics, with the possibility of multiple solutions. Another important difference is that only a subset of the joints may be actuated, and that the number of actuated joints may even exceed the mechanismʼs kinematic degrees of freedom.

Several coordinate-based formulations for closed-chain dexterity have been proposed for specific mechanisms [10.40] and for cooperating robot systems whose joints are all assumed to be actuated [10.41,42], at least some of which have led to apparently paradoxical results [10.43,44]. Because of the nonlinear characteristics unique to closed-chain mechanisms discussed above, particular care must be exercised in formulating coordinate-based dexterity measures.

Another recent line of work has attempted a coordinate-invariant differential-geometric formulation of dexterity for closed chains. In this framework the joint and end-effector configuration spaces are regarded as Riemannian manifolds with an appropriate choice of Riemannian metric, with the choice of joint space metric reflecting the characteristics of the joint actuators. The previous notions of ellipsoid developed for serial chains can be extended to general closed chains, containing both passive and active joints, and possibly redundantly actuated [10.45,46].

Alternative Dexterity-Like Measures

The various definitions of dexterity discussed above all refer to the same qualitative feature of the ability of a robot to move and apply forces in arbitrary directions. A different viewpoint is taken in the work of Liégeois [10.47] and Klein and Huang [10.48], where dexterity is quantified in terms of joint-range availability. The driving motivation here lies in that most robots have joint limits; therefore, one should minimize the possibility of a joint reaching a stop.

Hollerbach [10.49] takes an alternative approach to designing a redundant 7R manipulator, by considering: (a) elimination of internal singularities, (b) ability to avoid obstacles in the workspace; (c) the solvability of the kinematic equations, and (d) mechanical constructability. Based on these four criteria, he derived a particular 7R design with the morphology of the human arm, i.e., composed of two spherical joints defining the shoulder and the wrist plus an intermediate revolute playing the role of the elbow. Now, while a redundant architecture should remain fully capable of performing six-DOF tasks upon locking one joint, the architecture reported in this reference may end up by losing this capability if the elbow joint is locked.

From a control perspective, Spong [10.50] shows that, if the inertia matrix of a manipulator has a vanishing Riemannian curvature, there exists a set of coordinates in which the equations of motion assume a particularly simple form. The curvature of the inertia matrix also reflects the sensitivity of the dynamics to certain robot parameters. Minimizing the curvature, therefore, is another possible criterion for robot design.

Other Performance Indices

Acceleration Radius

Another measure that attempts to capture the dynamic capabilities of a robotic manipulator is the acceleration radius. Initially proposed by Graettinger and Krogh in [10.51], the acceleration radius measures the minimum acceleration capability of the end-effector, in arbitrary directions, for the given torque bounds on the actuators. Specifically, given the dynamics equations for a serial chain in the form

(10.20)

in which M is the robot mass matrix – also known as the inertia matrix – in joint space, and is the matrix mapping the joint-rate vector to the vector of Coriolis and centrifugal forces in the same space. Moreover, the actuators are assumed to have joint torque limits of the form

(10.21)

where the lower and upper limits τmin , τmax  ∈ℝn are constant or functions of the manipulator posture θ. The end-effector twist rate, denoted by , can be expressed as

(10.22)

where is the Jacobian time-derivative. The Jacobian J was introduced in (10.1).

Under the assumption that J(θ) is nonsingular, one can write

(10.23)

Substituting the above expression into the dynamic equations (10.20) leads to

(10.24)

where

For a given state , the linear torque bounds (10.21) now define a polytope in the twist-rate space. Graettinger and Krogh [10.51] define the acceleration radius to be the largest sphere centered at the origin that is contained in this polytope; the radius reflects the minimal guaranteed EE acceleration in arbitrary directions. This concept is applied to measure the EE acceleration capability of a manipulator, as well as to determine the actuator sizes for achieving a desired acceleration radius. Bowling and Khatib [10.38] generalize this concept to capture both force and acceleration capabilities of the end-effector, with a view to quantifying the worst-case dynamic performance capability of a manipulator.

Elastostatic Performance

Elastostatic performance refers to the robotic systemʼs response to the applied load – force and moment, i.e., wrench – under static equilibrium. This response may be measured in terms of the stiffness of the manipulator, which determines the translation and angular deflections when the EE is subjected to an applied wrench.

Robot deflections have two sources: link and joint deflection. In the presence of long links, as in the space robot Canadarm2, link compliance is a major source of deflection. However, in the majority of todayʼs serial robots, the main source of deflection occurs at the joints.

In this chapter, we assume that the manipulator links are rigid, and model the joints as linearly elastic torsional springs. The more complex problem of link flexibility is studied in detail in Chap. 13. That is, for the elastostatic model we base our analysis on the assumption that, under a positioning task, the joints are locked at a certain posture θ 0, while the EE is subject to a perturbation wrench Δw that is balanced by an elastic joint torque Δτ. Under these conditions, Δθ and Δτ obey the well-known linear relation

(10.25)

in which K is the stiffness matrix in joint space at the given posture. Moreover, the matrix K is diagonal, with its entries equal to the torsional stiffnesses of the corresponding joints, K is therefore posture independent, i.e., constant throughout the whole robot workspace. Moreover, since all joints exhibit a finite, nonzero stiffness, K is invertible, its inverse C being termed the compliance matrix. We can thus express the inverse relation of (10.25) as

(10.26)

It should be apparent that Δθ and Δτ have an incremental nature, for both are measured from the equilibrium posture, at which Δτ and Δθ vanish.

On the issue of stiffness matrix, Griffis and Duffy [10.52] proposed a mapping from an incremental rigid-body displacement Δx into an incremental wrench Δw that turned out to be nonsymmetric. The concept behind this mapping was formalized by Howard et al. [10.53] by means of Lie algebra. However, in the foregoing papers, Δx and Δw turn out to be incompatible in the sense that their reciprocal product does not yield incremental work – the point at which Δx is defined is distinct from that at which Δw is applied. For this reason, the array representation of the same mapping cannot be, properly speaking, termed a stiffness matrix.

For a constant magnitude of Δτ, the deflection attains its maximum value in the direction of the eigenvector associated with the maximum eigenvalue of C or, equivalently, with the minimum eigenvalue of K, denoted by κmin . In terms of elastostatic performance, we aim to (a) make the maximum deflection a minimum, i.e., we want to maximize κmin , and (b) make the magnitude of the deflection ||Δθ|| as insensitive as possible to changes in the direction of the applied load Δτ. This can be done by rendering κmin  as close as possible to κmax . The first aim is associated with the stiffness constants, i.e., the higher the constants the lower the deflections. The later, however, is associated with the concept of isotropy, the ideal case being when all the eigenvalues of K are identical, which means that K is isotropic. Due to the pyramidal effect of serial robots, in which downstream motors carry their upstream counterparts, the joint stiffness is bound to be largest for the proximal joints. Hence an isotropic stiffness matrix is impossible for serial robots.

Notice that (10.25) and (10.26) may also be formulated in the task space, i.e.,

(10.27)

where Δx ≡ tΔt, with Δt denoting a small time interval producing a correspondingly small change Δx in the pose of the EE. That is,

(10.28)

which is a linear transformation of the joint-vector increment into the pose-increment vector. We show next that the stiffness matrix is not frame invariant. This means that, under the linear transformation from joint to Cartesian coordinates, the stiffness matrix does not obey a similarity transformation. For quick reference, we recall below the definition of similarity transformation: if y = Lx is a linear transformation of ℝn into itself, and we introduce a change of vector basis, x′ = Ax, y′ = Ay, then L changes to L′, which is given by

(10.29)

The above transformation of any vector of ℝn into another one of the same space, and of a matrix L into L′, as given by (10.29), is termed a similarity transformation. Notice that A is guaranteed to be invertible, as it represents a change of coordinate frame.

Now, under the change of coordinates given by (10.28), (10.27) leads to

(10.30)

where we have used the kinetostatic relation [10.11]

The exponent denotes the transpose of the inverse or, equivalently, the inverse of the transpose. Upon multiplication of both sides of (10.30) by from the left, we end up with

(10.31)

If we now compare (10.25) with (10.31), we can readily derive the relations between the stiffness matrix K in joint space and the stiffness matrix K C in Cartesian space:

(10.32)

which apparently is not a similarity transformation between K and K C. What this means is that the two matrices do not share the same set of eigenvalues and their eigenvectors are not related by the linear relation (10.28). As a matter of fact, if the robot is revolute-coupled, the entries of its stiffness matrix K all have units of Nm, i.e., of torsional stiffness , while the entries of K C have disparate units. To show this, the Jacobian matrix, the inverse Jacobian and the two stiffness matrices are partitioned correspondingly into four 3 × 3 blocks, i.e., as

Furthermore, in light of the definition of the twist, (10.2), the two upper blocks of J are dimensionless, while its two lower blocks have units of length [10.11]. As a consequence, the two left blocks of J −1 are dimensionless, while its two right blocks have units of inverse length. Now, the blocks of K C are computed from the corresponding relation in (10.32), thereby obtaining

It is now apparent that: K C11 has entries with units of Nm, i.e., of torsional stiffness; K C12 and K C21 have entries with units of N; and K C22 has entries with units of N/m, i.e., of translational stiffness.

The outcome of the foregoing discussion is that a norm for K is possible, but not one for K C, unless of course a characteristic length is introduced to render all the entries of K C dimensionally homogeneous. A norm of a matrix is useful as it indicates how large the entries of the matrix are. We would like to characterize how stiff a robot is in both joint and Cartesian spaces. In joint space we could adopt any norm, but notice that the 2-norm, introduced in (10.3), would be misleading, as this norm would assign the value of the strongest joint to the overall robot stiffness. A more suitable norm would be the weighted Frobenius norm, introduced in (10.17), which would assign the rms value of the joint stiffnesses to the overall robot stiffness.

To design a robot optimally, we would therefore aim to maximize the Frobenius norm of its stiffness matrix in joint space, while observing constraints on the robot weight, as stiffer joints lead to heavier joints if the same material is used for all joints.

Elastodynamic Performance

For a general design problem, not only the kinetostatic and elastostatic performances, but also the elastodynamic performance have to be considered. In this regard, we introduce the assumptions of Sect. 10.4.2, with the added condition that inertia forces due to the link masses and moments of inertia are now taken into consideration.

The linearized model of a serial robot at the posture given by θ 0, if we neglect damping, is

(10.33)

in which M is the n × n positive-definite mass matrix introduced in Sect. 10.4.1, while K was defined in Sect. 10.4.2 as the n × n positive-definite stiffness matrix in joint space. Both K and M were defined in joint-space coordinates, Δθ, representing the vector of joint-variable elastic displacements, as in Sect. 10.4.2. These displacements are produced when, as the joints are all locked at a value θ 0 and thereby become ideal linear springs, the robot is subject to a perturbation Δτ, to nonzero initial conditions, or to a combination of both.

Under free vibration, i.e., under a motion of the system (10.33) caused by nonzero initial conditions and a zero excitation Δτ, the foregoing equation can be solved for :

(10.34)

in which the matrix D is known as the dynamic matrix . This matrix determines the behavior of the system under consideration, as its eigenvalues are the natural frequencies of the system and its eigenvectors the modal vectors . Let { ω i  }1 n and { f i  }1 n denote the sets of eigenvalues and the corresponding eigenvectors of D, respectively. Under the initial conditions [Δθ(0), , in which Δθ(0) is proportional to the i-th eigenvector of D and , the ensuing motion is of the form Δθ(t) =Δ θ(0) cos ω i t [10.54].

Furthermore, under the change of variables given by (10.28), the model (10.33) changes to

If we now multiply both sides of the above equation by , we obtain the elastodynamic model (10.33) in Cartesian coordinates, namely

in which the first matrix coefficient is the mass matrix M C in Cartesian coordinates, and the second is identified as K C, which was introduced in (10.32), i.e.,

(10.35)

The elastodynamic model in Cartesian coordinates thus takes the form

(10.36)

Again, by virtue of the transformation (10.35), it is apparent that the mass matrix, like its stiffness counterpart, is not invariant under a change of coordinates. Moreover, in a revolute-coupled robot, all the entries of M have units of kg m2; however, the entries of M C have disparate units. An analysis similar to that conducted in Sect. 10.4.2 for the stiffness matrix in Cartesian space reveals that, if M C is partitioned into four 3 × 3 blocks, then its upper-left block has units of moment of inertia, its lower-right block has units of mass, while its off-diagonal blocks have units of kg m.

Correspondingly, the dynamic matrix in Cartesian coordinates becomes

(10.37)

It is now a simple matter to prove that the dynamic matrix is invariant under a change of coordinates. Indeed, if we substitute transformations (10.32) and (10.35) into (10.37), we obtain

in which the dynamic matrix D in joint coordinates can be readily identified in the final expression, and hence,

(10.38)

which shows that D C is indeed a similarity transformation of D. As a consequence, the dynamic matrix is indeed invariant under a change of coordinates, the two matrices thus sharing the same sets of eigenvalues, their eigenvectors being related by the same similarity transformation. That is, if the modal vectors in joint space – the eigenvectors of D – are denoted by { f i  }1 n and the modal vectors in Cartesian space are denoted by { g i  }1 n, then these two sets are related by

(10.39)

Therefore, the natural frequencies of the elastodynamic model are the same, regardless of the space in which they are calculated, while their natural modes of vibration change under a similarity transformation.

Under an excitation of the form Δτ = θ 0 cos ωt and zero initial conditions, the system is known to respond with a harmonic motion of frequency ω and magnitude that depends on both ω and the system frequency spectrum { ω i  }1 n [10.54]. When ω equals one of the natural frequencies of the system, the response magnitude grows unbounded, a phenomenon known as resonance. For this reason, when designing a robot, it is imperative that its frequency spectrum does not involve any of the expected operation frequencies, which can be achieved by designing the robot with stiffness and mass matrices that yield a frequency spectrum outside of the frequency range of the operation conditions.

This design task is not straightforward. Indeed, while the stiffness matrix in joint space is constant, the mass matrix is posture dependent, i.e., M = M(θ). Because of this feature, the elastodynamic design of a robot is bound to be iterative: the design can be conducted for a straw-man task, i.e., a typical task in the target applications, thus defining a set of postures that lead in turn to a set of mass-matrix values. Then, the frequency spectrum for all these postures can be designed to lie above the frequency range of the straw-man task. Since the robot will eventually be commanded to execute other tasks than the straw-man task, simulation of alternative tasks is required to ensure that the design is safe from a resonance viewpoint.