why symbolic computation in robotics?

14

Click here to load reader

Upload: nasser-rentia

Post on 21-Jun-2016

221 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Why symbolic computation in robotics?

Computers in Industry 17 (1991) 49-62 49 Elsevier

Short Note

Why symbolic computation in robotics? Nasser Rent ia and Naren Vira Department of Mechanical Engineering, Howard University, Washington, DC 20059, USA

This article is organized to demonstrate various applications of symbolic computation in robot manipulator design and analy- sis. Four major areas--kinematics, dynamics, trajectory plan- ning and control, and pose error modeling--are extensively surveyed. A concept of an intermediate symbolic manipulator module is also described to automate and couple the processes of an interactive robot geometry design and numerical simula- tion.

Keywords: Symbolic computation, Robot design, Robot mod- eling, Robot simulation.

1. Introduction

The increasing capabilities of digital computers have provided impetus for many innovative ap- proaches to engineering problem solving. Origi- nally conceived as a tool for numeric computa- tion, the digital computer with its enhanced capa- bilities is being used for interactive graphics de- sign, visualization and animation processes; and more recently for symbolic computation applica- ble to analysis of complex engineering problems. Considerable attention has been drawn to the use of symbolic computation (a byproduct of artificial intelligence research) as an approach to the sys- tematic formulation of engineering problems and modeling of physical systems.

The industrial robot is a complex mechanical structure consisting of multiple linkages connected by actuated revolute and /o r prismatic joints. The mathematical models describing the structure and motion of these robots consist of many algebraic manipulations which are often very lengthy. De- riving such expressions by hand is not only ardu- ous and time-consuming, but also error-prone,

leading to incorrect results. Therefore, the analysis of robots requiring model generation and evalua- tion becomes a difficult task for a robotic practi- tioner.

Computer-aided design has evolved in recent years as an important method pertaining to mech- anical system design and analysis. Robotics have extended this trend by using symbolic computa- tion to generate mathematical models for the anal- ysis of robotic systems. Symbolic manipulation, coupled with the high speed and accuracy of mod- ern digital computers, lends itself well to auto- matic generation of robot mathematical models. It provides the added advantage of increasing the productivity of the design engineer (by completely eliminating the manual derivation), and minimiz- ing the occurrence of human errors in the mathematical models upon which successful con- trol, simulation, and manipulator designs are based.

Symbolic computation has been utilized in selected areas of robot manipulator analysis. In particular, its application in dynamics has been studied and surveyed very extensively. However, no attempt has been made so far to point out the numerous areas in which symbolic computation would be a viable tool in resolving robotics prob- lems that otherwise would be more difficult to resolve. Also, no effort has been made to compre- hensively survey the various areas in which sym- bolic computation has been used. This paper, thus describes the role of symbolic computation and its use in the analysis and design of a wide spectrum of robotic systems and presents a comprehensive literature survey related to it.

0166-3615/91/$03.50 © 1991 - Elsevier Science Publishers B.V. All rights reserved

Page 2: Why symbolic computation in robotics?

50 Short N o t e Compu te r s in Indus t ry

2. Role of symbolic computation

Figure 1 describes a conceptual framework rep- resenting a union between robot analysis/design and symbolic computation. Such a union forms a powerful tool which is useful for research and development purposes in robotics. Numerous dif- ficult problems are effectively handled with the aid of symbolic computation. An example is ob- taining inverse kinematic joint solutions of multi- link robots in which nonlinear, coupled equations are solved for unique joint solutions. Another example is customizing robot dynamics so as to minimize on-line computations for real-time con- trol process applications.

The role of symbolic computation, as depicted in Fig. 2, can be described in five major areas of robot design and analysis: kinematics, dynamics,

Nasser Rentia was born in India on May 14, 1963. He received his BS in Mechanical Engineering in 1986 from Bangalore University in India. After receiving his BS, he served in several engineering capacities; working in a large refinery, and in the engineering services of the Government of India; performing design, maintenance and installation services. He traveled to the United States in December 1988 and is completing his studies for a MS in Mechanical Engineering at Howard

University. He intends to pursue a second masters degree in Computer Science at Howard University. While working as a graduate assistant in the Mechanical Engineering department he became interested in the use of symbolic computation in robot analysis and design. His other research interests include pose error modeling of robots.

Naren Vira is an associate professor in the Department of Mechanical En- gineering. Howard University, Wash- mgton, D.C., U.S.A., since 1982. He is director of Graduate Program Studies and in charge of computer-aided de- sign and computer-aided manufac- turing programs. Currently, he is con- ducting research on aerodynamics, computer simulation and modelling, computer-aided opt imum design, in- tegration of manufac tu r ing cells, robotics, and robot metrology meth-

ods. For the past years, he is actively participating in research with the National Bureau of Standards, the U.S. Department of Commerce, in developing robot positioning evaluation de- vices and testing methodologies. Dr. Vira has several years of industrial experience working at Ford Motor Company and Stripco. Dr. Vira received a BS degree from the University of Bombay with Summa Cum Laude in 1973. MS degree from Worcester Polytechnique Institute in 1975, and PhD from Howard University in 1982. He is a member of the American Society of Mechanical Engineers, the Society of Manufacturing Engineers, and the American Society of Aeronautics and As- tronautics.

trajectory planning and control, pose error model- ing and compensation, and geometry design and simulation. In each of these areas symbolic com- putation has played a vital role in the advance- ment of the state-of-the-art technology. Detailed discussions of its applications including literature review are presented below.

2.1. K inemat ics

The applications in kinematics are primarily for three reasons. First, to automate the derivation of kinematic equations for a robot geometry, eliminating completely the laborious and error- prone manual task. Second, to improve computa- tional time by minimizing the number of multipli- cations and additions of terms in the algorithms. Last, to customize and develop programs for specific robot configurations in order to expedite computational processing time.

Forward kinematics, Jacobian formulation and inverse kinematics have been analyzed with the help of symbolic computation. In forward kine- matics, which gives the position and orientation of the robot end-effector with respect to the robot base, multiplication of numerous link transforma- tion matrices is required. The multiplication can easily be carried out with the use of symbolic computation by either forward recursive relations:

oAi=oA, i-1 1 A i i = 2 , 3 . . . . . N,

or backward recursive relations:

t - - I i ] 1 A N = A i A x i = N - 1 . . . . . 1,

where A represents a 4 × 4 homogeneous transfor- mation matrix correlating two successive joint frames of N degree-of-freedom robots [1]. Using these recursive relations, the kinematic solution (determination of end-effector coordinates in the robot base references frame) ° T N is obtained as

OTN =OAltA2 N- 2 A ,,,, 1 " ' " .~ i AN. (1)

The forward kinematic solution requires 3 2 N ( N - 1) multiplications and 2 4 N ( N - 1) ad- ditions for an N-link robot. Manipulation of such operations takes several note-book pages if done manually, in particular when N is large. This laborious process can be performed by a symbolic manipulator. Furthermore, Kircanski and Vuko- bratovic [1] have shown that common terms occur- ring in the backward recursive relations can be

Page 3: Why symbolic computation in robotics?

Computers in Industry N. Rentia, N. V i r a / Symbolic computation in robotics 51

OABOT ANALYSI %

ND DESIGN

~ I R STATE-OF-THE-ART ESEARCH AND DEVELOPMENT~

symBoLic ..... 5 OMPUTATION ~ '

Fig. 1. Conceptual representation describing the union between robot analysis and design and symbolic computation.

evaluated in advance by cleverly arranging them. In effect, repeated calculations are avoided and the resulting equations in the computational al- gorithm have a fewer number of operations. The set of equations for determining the end-effector coordinates with respect to the base, °T N, thus obtained is said to be optimal with respect to the number of additions and multiplications.

The Jacobian transformation matrix relates dif- ferential changes of the end-effector's coordinates to the differential changes in the robot motion joints. For an N-link manipulator, it is repre- sented by a 6 × N matrix in which each column corresponds to the differential changes of a single joint. Kircanski and Vukobratovic [1] have dem- onstrated that the concept used in forward kine-

l ROLE OF SYMBOLIC COMPUTATION IN ROBOTICS

KINEMATICS

I I

DYNAMICS !

AND CONTROL

TRAJECTORY PLANNING

I SENSITIVITY[ ANALYSIS]

POSE ERROR MODELING

AND COMPENSATION

I

NON O-H

GEOMETRY DESIGN

AND S MULATIONJ

Fig. 2. Areas of application of symbolic computation.

Page 4: Why symbolic computation in robotics?

52 Short Note Computers in lndtL~t(v

matics to reduce mathematical operations can also be extended to the Jacobian calculations. Thus, simplified recursive relations can reduce the com- putational complexity of the determination of the Jacobian.

Symbolic computation has also played an im- portant role in solving the inverse kinematic prob- lem where joint positions are determined for known end-effector's locations. Since this process involves a nonlinear transformation from Carte- sian space to joint space, the inverse kinematic solution is rather difficult to obtain. Several meth- ods are described in the literature: numerical, geo- metric, and algebraic. The numerical methods re- quire excessive computation and do not assure convergence to the correct solution because they are iterative in nature. On the other hand, these methods are quite useful when finding joint solu- tions of a redundant robot. Geometrical methods are time-consuming, specifically when large num- bers of degrees-of-freedom are considered. The algebraic method proposed by Paul [2] is the most commonly used since the solutions are found in a closed form. The method consists of successive premultiplication of eqn. (1) by the inverse of the A, matrices, and then inspecting the resulting equations element by element, to find the equa- tion that yields a single joint variable (for details, see [2]).

The SMIRK program [3] employs the algebraic method, for solving symbolically the inverse kinematic problem for general robot configura- tions. Since the method involves a heuristic ap- proach, the production system approach of artifi- cial intelligence is made use of. A production (expert) system consists of production rules, a database and control strategies. The production rules of SMIRK are a set of trigonometric equations and their corresponding analytical solutions. This set is matched with information in the database (equations of which solutions are required). The control strategy specifies the order in which the rules are applied to the database. Another pro- gram, SRAST [4], also uses the AI technique to get the inverse kinematic solution with the additional feature of dealing with redundant manipulators. Redundant robots are robots with an extra degree- of-freedom incorporated to avoid singularity or to bypass obstacles. To deal with redundancy in the program, the extra joint variable(s) are locked to any arbitrary value, and the inverse kinematics

solved for those values which do not require any modification of the locked joint(s).

Forward kinematics and the Jacobian have also been analyzed symbolically using artificial intelli- gence techniques. Ho and Sriwattanathamma [5] have made use of Prolog to develop a knowledge- based expert system which generates automati- cally the A matrices from the database, These A matrices are stored and used whenever needed in the evaluation of forward kinematics and the Jacobian.

As mentioned earlier, symbolic computation has aided the customization process for efficient com- putation. There are two approaches to customiza- tion. One is to systematically organize the result- ing equations so that the number of mathematical operations is reduced: the second is to make use of specific robot geometric configurations to sequentially explore various kinematic relation- ships and pick out the best ones. The latter ap- proach has been used by Lyod and Hayward [6] to find optimal expressions. They used MACSYMA (LisP-based symbolic programs) to obtain custo- mized solutions for common industrial robots, by explicitly making use of known decouplings in the manipulator kinematics. Most industrial robots are kinematically simple and their position and orienting mechanism can be decoupled. This de- coupling reduces the set of acceptable equations from which relationships for the joint variables are obtained. In analyzing the Jacobian this decou- pling manifests itself as a block of zeros, which makes the inversion easier.

In recent years, the study of flexible manipula- tors has invoked considerable interest as these light-weight and fast manipulators have inherent advantages over rigid structures. Additional be- nefits include faster system response, lower energy consumption rate, smaller actuators and overall trimmer mechanical design. Mathematical analysis of flexible manipulators, however, becomes more involved as flexibility has to be accounted for in the model. The derivation of the kinematic equa- tions for such manipulators is extremely lengthy and laborious. One approach of modeling flexible manipulators was presented by Tzes et al. [7], in which the transformation matrix of two successive reference frames is modified to include the effects of elasticity. The modified transformation matrix B~ is given as B, = A t- E,, where A t is the usual 4 × 4 homogeneous matrix for rigid manipulators

Page 5: Why symbolic computation in robotics?

Computers in Industry N. Rentia, N. Vira / Symbolic computation in robotics 53

(same as the one used in eqn. (1)), and Ei is the elastic deformation matrix given by

1 - c i6 c i5 ell ] E, = e'6 1 - ei4 ei2 ] . (2)

-- el5 ct4 1 ei3

0 0 0 1 In eqn. (2), e~l, ei2 and ei3 correspond to small elastic deflections, and ei4, ei5 and ei6 are dif- ferential twistings along the x,, y~ and z~ axes of the ith link, respectively. The flexibility model relating the Ei, A~, and A,+ 1 matrices of two adjacent links is depicted in Fig. 3. Due to link deformation the frame F, is now moved to F,*. The successive multiplication of the modified link transformation matrix B, results in a forward kinematic solution as

T~ = B1BzB3 . . . B~_IB,. (3)

The symbolic manipulation package MACSYMA was utilized to compute the forward solution.

2.2. Dynamics

Of the areas depicted in Fig. 2, symbolic com- putation has been used most extensively for the analysis of manipulator dynamics. This is because the generation of dynamic equations is a very lengthy process, comprising of many matrix, vec- tor and differential manipulations. Furthermore, symbolic computer modeling aids the customiza- tion process by generating equations with the opti- mal number of multiplication and addition oper- ations. Dynamic equations obtained through such

a customization process are useful for real-time computation applications as the complexity asso- ciated with their numerical integration is reduced. Dynamic equations obtained in explicit symbolic form provide insight into the nature of robot dynamics as it permits the analyst to examine and compare each term for its influence on overall robot motion. Explicit state equations in symbolic form also facilitate the understanding of the con- trol problem and offer a quantitative basis for simplification and approximation of the equations when needed for real-time control. Often the study is made by investigating the effects of the same term for different robotic configurations (e.g. comparing importance of the gravity term when considering different robot geometries).

Various formulations have been proposed to obtain dynamic equations of an open-loop kine- matic chain robot. Three basic approaches have been classified for the formulations: Euler- Lagrange or Lagrange, Newton-Euler and Kane's decimal method. Modifications to these ap- proaches, such as the Uicker-Kahn Lagrange for- mulation, Hollerbach's recursive Lagrange, Luh's Newton-Euler , Lee's generalized d'Alemberts for- mulation and Raibert's table lookup technique, have also been cited. Although the equations ob- tained through these formulations are equivalent as they describe the dynamic behavior of the same physical robot, they differ in form since they are obtained for different reasons and purposes. Some are derived for on-line control analysis, some for fast computation purposes and others are useful for CAD simulation. It is also possible that dy-

Jolntm ~

A~ [,

{~ i+l

Fig. 3. Flexible link model.

Page 6: Why symbolic computation in robotics?

54 Short Note Computers in lndust(v

namic solutions obtained through one formulation may be simpler and easier to handle than the others for a given robot configuration and condi- tions.

The Lagrange formulation is based on the choice of a set of generalized coordinates describ- ing the position and orientation of the robotic system, the formulation of the Lagrange (dif- ference between kinetic and potential energies) and its substitution in the Euler-Lagrange equa- tion. The resulting robot dynamic equation relates the generalized forces to the generalized coordi- nates of a system under motion and may be ex- pressed in a differential form as

l(q)il'+ c(q, q) + G(q) = F(t) . (4)

Here, I is the inertia matrix, C represents the centripetal and coriolis effects, G is the gravity loading vector, F is the generalized force vector, and q, q and q" are the generalized joint coordi- nates, velocity and acceleration, respectively. Using the Lagrange method, the symbolic derivation of the dynamic model of interconnected mechanical systems like robotic manipulators was presented by Liegois et al. [8]. They developed a program written in PL/1 which outputs the coefficients of the motion equations in terms of geometric and dynamic parameters, and state coordinates. The output can readily be used as input for simulation programs to either check the behavior of a given robot under the influence of control signals and various external disturbances, or to design actu- ators, by obtaining the required forces and torques when the simulated mechanical system executes a given task. The computational efficiency of the program is in between those of two well known previously derived symbolic algebraic programs: TOAD (Teleoperator Arm Design) [9] and OSSAM (Ohio State Symbolic Algebraic Manipulator) [10]. TOAD, written in PL] FORMAC, requires a large execution time due to the computational re- dundancy of Uicker's method, whereas OSSAM, written in the LISP language, is relatively efficient.

The computational inefficiency of the Lagrange formulation is well known. As illustrated in a table presented by Hollerbach [11], the Lagrange formulations has an N 4 dependence on the num- ber of multiplications and additions, N being the number of degrees of freedom. With the Newton-Euler formulation, on the other hand, the number of multiplications and additions re-

duces to an N dependence. The computational efficiency of the Newton-Euler formulation stems from its recursive nature. Recursive formulations, in general, offer a way of minimizing the amount of unnecessary calculations in evaluating mathe- matical expressions, which in turn helps in reduc- ing computational burden. The Newton-Euler ap- proach considers an application of Newton's sec- ond law of motion, Euler's equation for rigid bodies, and kinematics of moving coordinate frames. Koplik and Leu [12] developed symbolic programs to compare the Newton Euler and Lagrange formulations in terms of computational efficiency. The ~EDUCE algebra system was adopted in deriving the conclusion that the New- ton Euler formulation uses considerably less CPU time. However, the drawback with the Newton Euler approach is that it requires a large computer storage capacity since the entire expressions for all the generalized forces and intermediate variables are needed throughout the analysis. Another drawback with the Newton-Euler approach is that the recursive formulation by nature does not result in a closed form and hence it is not useful for control law generation.

The authors also compare the efficiency of computing actuator forces by integrating the scalar symbolic form of the dynamic equations with a direct numerical computation based on the origi- nal matr ix/vector form of the dynamic equations. Force computation by the method of symbolic equations is found to be more efficient. This is because the complexity of symbolic equations de- pends upon the geometry of the manipulator links, and since the geometry and mechanism of most industrial robots are rather simple (the matrices representing their coordinate transformations are sparse), explicit equations can be simplified. This is in contrast to direct numerical computation which is independent of link geometric and kinematic complexity. Symbolic expressions can also be simplified by the use of trigonometric identities and factorization of polynomials; and by avoiding computation associated with zero terms. Computational efficiency is an important consideration when dynamical equations have to be used on-line for the evaluation of actuator torques and forces (i.e., the inverse dynamics).

Another program using the Newton-Euler for- mulation DYNAMAN [13] makes use of MACSYMA capabilities. MACSYMA has large built-in mathe-

Page 7: Why symbolic computation in robotics?

Computers in Industry N. Rentia, N. V i r a / Symbolic computation in robotics 55

matical functions for solving polynomial, differen- tial equations and complex integrals, and high-level routines to perform algebraic and trigonometric simplification of expressions. Another attractive feature is that it can generate a legal FORXRAN code of symbolic expressions, and thus the sym- bolic program can be integrated with numerical simulation code. Due to this capability, the dy- namical model generated in DYNAMAN can be used directly for numerical simulation.

The Newton-Euler approach, while computa- tionally more efficient then the Lagrange, requires one to perform unnecessary calculations associ- ated with the elimination of certain forces and torques of interaction between elements of a robot, particularly when they are in a closed loop. More- over, the formulations produce large expressions at intermediate levels (angular and translational velocities, accelerations, forces and moments) and thus require excessive storage in the computer memory. Kane's method alleviates this difficulty by enabling one to work systematically with de- pendent variables that are well suited for a given problem. It eliminates forces and torques that are of no interest, and produces straightforwardly ex- plicit equations of motion having a computation- ally sound form [14]. Kane's formulation is founded on the selection of generalized coordi- nates and the formulation of partial linear and angular velocities, generalized active forces, and generalized inertia forces. Following Kane's ap- proach, Faessler [15] presented an algorithm in

which FORTRAN language is used to assemble the dynamic equations in a symbolic form. The ana- lytical expressions of velocities, inertia matrices and forces have to be supplied by the analyst and the summations are performed by FORTRAN sub- routines. The expressions are stored in Boolean arrays.

A systematic procedure for the modeling of closed-loop kinematic chains using Lagrangian dy- namics and a weight matrix formalism was pre- sented by Draganoiu et al. [16]. Closed-chain robots are needed in order to realize a workspace with complex geometry or when higher workforce or rigidity are required. Multi-arm and mobile robots are also modeled as closed mechanisms as they form a loop with the contact surface. The large number of links in a closed-loop robot lead to a mathematical model with a high degree of complexity. The symbolic software AMIR (Auto- matic Modeling of Industrial Robots), written in xpascal language for the DEC PDP-11 minicom- puter, is described in Ref [16].

The effects of flexibility were neglected in the symbolic formulations described above. Control system design based on rigid-body dynamics does not perform satisfactorily for long link lengths and high-speed robots. For the design of faster robots with better system response, structural flexibility effects are generally included in the model. Flexibility modeling leads to two classes of problems: link flexibility and joint compliance. In robots with relatively short link lengths and high

A c t u a t o r

Ja i

Dr iven

Dr iver

./

I ~ 4

Axis o f Ro ta t ion

l ink i

Fig. 4. Sketch of flexible joint model.

Page 8: Why symbolic computation in robotics?

56 Short Note Computers in lndustrv

structural rigidity, joint flexibility or compliance becomes the dominant factor in flexible modeling. Figure 4 illustrates a flexible joint model. The joint compliance effect is modeled by adding the kinetic and potential energies of joint compliance to the respective rigid-arm energy terms [17], i.e.,

pl

T = T r + T e = T r + ~7~ ½(Jmi+Jfi /n2)dl~n, , (5) i=1

pl

1/= Vr+ V~= Vr+ Y" ½ k , ( q m j n ~ - q , ) 2, (6) i=1

where q, is the relative rotational displacement of link i with respect to link i - 1 , and qm, is the actuator shaft displacement of joint i. Jm, and Jf, are the values of the moment of inertia of the ith joint driver and driven parts, respectively, n, is the gear reduction driver and driven parts, respec- tively, n, is the gear reduction ratio of the ith joint and k, is the torsional stiffness. The kinetic and potential energies are denoted by T and V and the subscripts r and e stand for rigid and elastic bodies, respectively. Upon use of these total kinetic and potential energy terms in the Euler-Lagrange equations relating generalized forces F to generalized coordinates q (joint an- gles) and qm (actuator shaft displacement), the equations of N-link elastic joint robots can be obtained in compact matrix-vector form as

I' 0 + J re, l+ 0 lr (qm) qTm eVr(q , qm) [ eT

Here, I r is the usual rigid-arm inertia matrix, cr represents the coriolis and centripetal effects, Ij is the joint inertia matrix due to compliance and e 1 and e 2 represent elastic forces at the joints. It is obvious to see that the application of eqn. (7) to a specific robot configuration constitutes manipula- tion of many terms. A similar approach is used in DYMIR (Dynamic Model of Industrial Robots) [18], written in REDUCE, to obtain the dynamic equa- tions of rigid-link manipulators with elastic joints. The program also takes into account transmission losses at elastic gear boxes.

The link flexibility effects have been studied considerably by many authors. Lucibello, Nicolo and Pimpinelli [19] presented a program written in

MACSYMA in which the model is developed for spatial rigid mechanical chains with only one elas- tic link element. The program computes the kinetic, potential and elastic energy terms and the dissipative function to simulate viscous behavior of deformable links. These are substituted in the Lagrangian to get the equations of motion.

The Lagrange-Assumed mode approach based on a recursive method was used by Book [20] for generating the dynamics of multi-link flexible manipulators. The modal analysis approach is used to incorporate the displacements or deflections of the links due to flexibility. The displacements of the flexible arm are approximated by a finite series consisting of variable spatial-dependent functions multiplied by time-dependent gener- alized coordinates. The drawback with the method is the algebraic complexity of the intermediate steps. To alleviate the difficulty Cetinkunt and Book [21] modified the method in a way suitable for symbolic modeling. Another approach for flexible robot modeling using the Lagrange method was considered by Nicosia, Tomei and Tour- nambe [22] with use of MACSYMA to perform the algebraic manipulations. They also investigated the linearizability properties of a 1-1ink robot arm by using MACSYMA.

A method of modeling serial flexible manipula- tors using the Euler-Lagrange formulation was presented by Judd and Falkenburg [23]. In the expression for kinetic energy, the velocity of link i is computed using eqn. (3), which represents the deformation of all the members connecting i to the base frame. The potential energy of the system is composed of two parts: the gravitational poten- tial energy (Vg), which depends upon the displace- ment of the center of mass, and the strain energy ( ~ ) due to the flexure of the links. The kinetic and potential energy expressions are thus ex- pressed as:

/ t

S = ½ ~ tr[T,J,,TX], (8) i = 1

t/ n

V, = Vg i+ I/,, = - y~ m ,g XT/d + ~ 1 1 ~e iKie i. (9) t - -1 i--1

Here J, is the generalized moment of inertia of link i measured in the link coordinate frame, 'd is a vector locating the mass center of the link with respect to the local frame F,, g is the vector

Page 9: Why symbolic computation in robotics?

Computers in Industry N. Rentia, N. Vira / Symbolic computation in robotics 57

representing the gravitational field and e i = [e,1 el2 el3 el4 e~5 ei6] T.

The Lagrange of the manipulator is constructed from these kinetic and potential energy terms and substituted in the Euler-Lagrange equations relat- ing generalized forces F~ to generalized coordi- nates q, (joint angles) and eij (the deformations) to obtain two sets of equations of motion of the manipulator as

Fp = I i (q) / ] + I2( e )e + c,( q, (t) + c2((1, k)

+ c3(e, + c l , (ao)

0 = I3(e)O'+ c4((1 ) -}- cs(e, O)

+ c6((1, O) + c7(q, (1) + G2 + K(e) . (11)

In eqn. (10), the first, third and sixth terms are the inertia, centripetal and coriolis/gravity terms, of the standard rigid-arm analysis while the sec- ond, fourth and fifth terms are due to flexible effect consideration. Fp is the generalized force corresponding to the joint variable q~. For the deflection variables, the corresponding generalized force is zero as it is assumed that the correspond- ing modal deflections have no displacement at those locations where external forces are applied. Equation (11) entirely describes the flexure dy- namics; the first term represents the equivalent and coupling masses, the second, third and fourth terms arise from centripetal and coriolis accelera- tions, G is the gravity force and K represents spring force due to link deformation. The mathematical complexity of this model is obvious. This method was presented as an algorithm for symbolic modeling by Tzes et al. [7]. The model obtained by this method allows independent vari- ation of flexure parameters and results in closed- form equations useful for control analysis.

2.3. Trajecto~ planning and control

Trajectory planning consists of finding the path a manipulator has to traverse to accomplish the desired task from one station to another whereas control involves the tracking of the manipulator along the prespecified trajectory. One of the strategies of trajectory planning and control con- sists of off-line trajectory planning followed by on-line trajectory tracking usually with a closed- loop feedback system. Solution of dynamic mo-

tion equations are essential in these trajectory planning and control strategies. For instance in the direct dynamic problem, the generalized force history is specified and the equations of motion are integrated to obtain motion trajectories of the manipulator. The control problem revolves around the computation of joint torques required to track the desired joint position, velocity, and accelera- tion trajectory. For such motion planning and control applications symbolic manipulation can be used to obtain the solution of dynamic equations.

Another application of symbolic computation is to linearize and approximate the dynamic mo- tion equations. The dynamic equations are highly non-linear, and since non-linear control theory is not well developed, often simplified controllers are designed. Furthermore, linearized dynamic models of robot manipulators are useful for designing feedback controllers, as well as to study the kinematic and dynamic properties of manipulators (effect of changes in joint position, velocity and acceleration for small variation of control forces and torques). Neuman and Murray [24] have used symbolic formulation to linearize the Lagrangian dynamic model of robot manipulators. These lin- earized dynamic robot models are used to calcu- late feedforward control signals (i.e. generalized forces and torques) to propel the manipulator along a desired nominal trajectory. The perturba- tions in the physical state variables (joint coordi- nates and velocities) from the nominal path is sent as a feedback, through a control algorithm desig- ned for the linearized model. This augments the feedforward signal and thereby controls the mo- tion of the manipulator.

In [24] symbolic formulation is also used to generate trajectory-sensitive models of manipula- tors with respect to kinematic and dynamic link parameters. The sensitivity functions characterize the sensitivity of the manipulator motion with respect to he manipulator parameters. Sensitivity models have physical interpretations and control engineering applications. Physically, the sensitivity functions characterize the perturbations of the joint coordinates and velocities from their nominal values. Sensitivity functions have direct applicabil- ity to adaptive control. In [25], sensitivity informa- tion generated symbolically is used in the control of a manipulator holding an unknown load and driving its end-effector along a prespecified trajec- tory. The control design consists of a non-adaptive

Page 10: Why symbolic computation in robotics?

58 Short Note Computers in Industry

~ A Robot Hand

Y

Pa

X C o o r d i n a t e s

F ig . 5. R e p r e s e n t a t i o n o f a r o b o t h a n d p o s e e r r o r . ( P~, = in i t ia l

p o s i t i o n : ~ - c o m m a n d e d p o s i t i o n , P , = a c t u a l p o s i t i o n : E -

P , - P~ = p o s i t i o n i n g e r r o r . )

component and an adaptive component computed via the application of sensitivity analysis.

2.4. Robot pose error modeling and compensation

Robot positioning accuracy and repeatability are essential for achieving the off-line program- ming capability required for computer-integrated manufacturing processes. This is particularly true for present day applications such as arc welding and seam tracking. Since the current generation of robots lack sufficient accuracy for such tasks, re-

searchers are focusing their attention on the prob- lem of improving robot accuracy. This section describes the use of symbolic computation, and how it can help in the analysis and modeling of robot 's pose errors.

Figure 5 illustrates the robot hand-pose error, which is the vectorial difference between the ac- tual and commanded positions in three-dimen- sional workspace. A major cause of robot inaccu- racy is due to inaccuracies in the geometric values is considered in the robot kinematics• The sources of geometrical errors may include incorrect link parameters values, skewness and non-orthogonal- ity of joint axes resulting from imprecise manufac- turing of robots' links and joints [26]. Another cause of robot inaccuracy is the presence of inex- act values of inertia parameters considered in the robot dynamics. The source of inertial errors may include inexact link masses, link center-of-mass positions and link inertia tensors due to the fact that a link has typically nonuniform mass distri- bution and irregular shape.

To improve the robot 's positioning accuracy researchers have proposed numerous error calibra- tion and compensation models. As depicted in Fig. 6 these models can be classified into two categories: kinematic models and dynamic mod- els. Most of the modeling approaches are based on robot kinematics which are further classified into Denavit and Hartenberg (DH) models and non-

j _ . . . . _

( ERROR MODELS ) " I T . . . . . . . < ....... j - - - ~

( KINEMATIC ) j ? - - _

xx'X

(, D - H ~j (", NON D - H ) i ~-- _~ . . . . . . . . . . .

/

f " / / \ , /

/ " MODIFIED ~ / ~ 'S' -- ' G[.NERAL-Z-E'D\\, \ DH MODEL/,/ \\ MODEL ;'( 1o PARAMETER )

~- ~ ~ - _ - MODEL

( DYNAMIC - /

Fig . 6. R o b o t p o s e e r r o r m o d e l s .

Page 11: Why symbolic computation in robotics?

Computers in Industry N. Rentia, N. Vira / Symbolic computation in robotics 59

DH models. The D H modeling techniques are based on the kinematic notation of Denavit and Hartenberg. Veitschegger and Wu [27] and Vira and Goodwyn [28] proposed D H models in which five error parameters per link were considered. The five parameters include the four D H parame- ters and an extra rotation parameter jR to account for the effect of parallel or near-parallel joint axes overlooked in the D H representation. Another D H model, proposed by Stone, Sanderson and Neuman [29], uses six parameters per joint axes (five geometric parameters and one joint variable). This model, termed the "S-model", allows an in- dependent choice of coordinate frame along the joint axes and thus overcomes the difficulties asso- ciated with parallel or near-parallel joint axes. Another modification of the D H model was pre- sented by Driels and Pathre [30] and Vira and Shiferaw [31] in which, unlike the aforementioned five and six parameters, the errors in each link are described by ten parameters consisting of the four D H kinematic parameters plus six Cartesian error motions. How many independent parameters a model should have still remains a subject of inves- tigation.

Some researchers have been prompted to ex- amine novel approaches to the problem, as an alternative to the DH representation. Vaishnav and Magrab [32] employed the theory of skewed coordinate systems to describe the kinematics of robot motion. The physical deviations of the skewed coordinate systems (for each joint) from the nominal Cartesian systems, due to axis shifts and misalignments, are represented by nine error parameters. Other non-DH models include those based on Rodrigues equation [33] and Chen's work [34]. A host of other positioning error models (DH and non-DH) have been developed in the litera- ture. A comprehensive literature review discussing these models can be found in [35]. A number of the contributors have not only introduced error model formulations, but have also implemented various robot calibration schemes.

In reference to dynamic error models very little work has been reported. Most of the models con- sidered are specialized. For example, Olsen and Bekey [36] utilize a Newtonian formulation for all robot rotary joints whereas the work of Lim et al. [37] is on a balancing technique for the Puma 760 robot.

Presently, the literature reveals a level of uncer-

tainty regarding robot error modeling. A major question remains: how many independent param- eters are required to fully describe robot error motion. Other questions which remain un- answered are, for example: should non-geometric effects be modeled; should the model predict a unique location for link coordinate frames; what effect does the model complexity have on the inverse solution; and what order of approximation will achieve sufficient accuracy. Researchers have attempted to answer some of these questions, but their responses have been, for the most part, un- satisfactory.

Although a wide variety of modeling ap- proaches have been used, no single approach has been accepted as standard. Moreover, there have been no attempts to systematically compare the performances of available robot error models. Per- haps the reason for this is that the many combina- tions of models and calibration schemes make results difficult to compare. This dilemma leaves the robot user with no foundation upon which to make decisions regarding the model(s) that best suit his calibration needs. To aid in the decision- making process, we need a way to compare the performance of various models, and thus, provide a model selection criterion.

To effectively compare kinematic error models, it must be possible to accurately derive the model equations in a reasonable amount of time. Manual derivation of mathematical error models for typi- cal robots (N = 6) is an arduous task requiring manipulation of many large, multivariate expres- sions. In order to save time and minimize human computational error, a computer program is needed to automate the necessary model deriva- tion process. The availability of such a program would allow the engineer to devote more time to practical engineering analysis and application. With the objective of demonstrating the feasibility of using symbolic manipulation as an aid in robot error model generation and comparison, the AREEM program [38] was developed utilizing the symbolic manipulation capability of MACSYMA. The AREEM program includes the five-parameter and ten- parameter D H models. The non-DH model in AREEM is the model proposed by Vaishnav and Magrab [32]. The results of the AREEM program can be used in several ways. For any choice of error model, the program provides the user with simplified algebraic expressions representing the

Page 12: Why symbolic computation in robotics?

60 Short Note Computers in lndust O,

pose-error correction vector for the robot under investigation. The output model for each model is the same so that similar terms can be compared for different models. These algebraic expressions are necessary for use in simulation software em- ployed for robot calibration. The algebraic output can also be used to verify the results of a manual derivation. Furthermore, AREEM incorporates the MACSY~ capability to convert the algebraic out- put into legal FORTRAN code. The FORTRAN repre- sentation can be directly sent to a simulation or real data analysis program for use in actual parameter estimation.

In addition to using the program output in symbolic form, numerical output can be useful as well. If the error parameters are known, their values can be used to compute the magnitude of the actual end-effector positioning error at any location in the robot work volume. This gives a numerical indication of how far off the end-effec- tor is relative to the commanded position.

Numerical output can also be used for error model sensitivity analysis to study the effects of individual error in the world coordinates. This can be done by numerically varying one error parame- ter at a time while the remaining error parameters are kept constant, and observing the correspond- ing effects on the total error in world coordinates.

2.5. Interactive geometry design and simulation

Normally the computer-aided design of a mechanical arm manipulator comprises of three steps: (1) Configuration of a robot geometry; (2) Analysis; and (3) Numerical computation and simulation. In the first step, the robot is config- ured using computer graphic techniques. Number of links, types of joints, dimensions of the links based on work-volume and workcell layout, shape of the links, etc. are determined. The kinematic, dynamic, and control analysis is then carried out on the robot configured, to determine the feasibil- ity of the model. The model formulation is nor- mally done manually and the kinematic and dy- namic equations of motion are fed to a simulator or a program for numerical integration. The de- sign is then verified for its feasibility and useful- ness. For the appropriate design, a large number of configurations has to be experimented with, and every time a new configuration is considered, the above stated procedure is repeated. Also,

• b

, 1NTE RA( 'rl'IVlV~

(~EOMETRY I)ESI(;N

]

~q'f M[IOl~I(: MAN It'[I~ATOI,I

A •

NI MERI( 'AI,

NIMI:IATION

Fig. 7. Proposed symbolic manipula tor .

numerical integration often results in a high com- putation time as the process does not take ad- vantage of using optimal equations with minimum number of mathematical terms and operations in the formulation.

The above mentioned drawbacks can be re- moved if the three design steps were to be auto- mated an effectively coupled. This can be achieved by introducing a symbolic manipulator algorithm in between the geometry design and numerical simulator. The conceptual architecture is il- lustrated in Fig. 7. With this simulator a designer can create a "graphic prototype" of a manipulator arm in the geometry design module, and experi- ment with several different configurations before committing to a specific design. The robot model can be created by calling objects such as links and joints from data files. The geometry modeling system, besides giving information about the shape, can also compute geometric properties such as volume, mass and moment-of-inertia. Once the model is created in graphic phase, the specifica- tions of the model, such as the values of kinematic and dynamic properties can be transferred to the symbolic manipulator module.

Using symbolic manipulator, the formulation and analysis for the configured robot can be done automatically with optimal equations in terms of computational efficiency, eliminating redundant terms and operations. These equations are then solved in the numerical simulator. Since the equa- tions are optimal, they may remove some of the difficulties associated with integration done in the numerical simulator. The simulator can thus be used for the wide experimentation that is neces- sary for successful design. Such type of unified

Page 13: Why symbolic computation in robotics?

Computers in Industry N. Rentia, N. V i r a / Symbolic computation in robotics 61

module can thus make the design cycle short and cost-effective.

The design cycle may also be made more effi- cient by integrating control design and testing, along with geometry design, in a single system. The configured robot can be tested with different control algorithms, to find the control algorithms that best achieve design objectives. Ease of rede- sign facilitates discovery of an optimal match be- tween control algorithms and mechanical design. With these wide applications, such a symbolic simulator is therefore valuable to robot designers and users in many applications such as novel robot design, robot selection, performance evalua- tion, cycle-time estimation, motion planning and off-line programming.

3. Concluding remarks

The work presented here illustrates the various application areas of symbolic computation in manipulator analysis and design. Several exten- sions are possible in the areas of kinematics, dy- namics, trajectory planning and control and pose- error modeling and compensation, which are de- scribed. For example, a methodology for symbolic modeling of flexible robot joints and modeling of flexible linkages has been separately described. Modeling can be combined for robots with flexi- ble links as well as joints. Similarly, the AREEM program, described above, derives a few kinematic error model formulations. More error formula- tions can be incorporated in AREEM.

The simulator described in the last section goes beyond the traditional simulation systems which integrate an unchanging set of equations, and most current CAD systems, which concentrate on geometry specification but have little in the way of analysis tool. The unified module can thus serve as a very useful means of design.

References

[1] M. Kircanski and M. Vukobratovic, "Computer-aided generation of manipulator kinematic models in symbolic form", 15th Int. Syrup. on Industrial Robots, 1985, pp. 1043 - 1049.

[2] R.P. Paul, Robot Manipulators: Mathematics, Program- ming and Control, MIT Press, Cambridge, MA, 1981.

[3] E. Tunstel, "Applied symbolic computation in robotics", M.S. Thesis, Howard University, Washington, DC, 1989.

[4] L.G. Herrera-Bendezu, E. Mu and J.T. Cain, "Symbolic computation of robot manipulator kinematics", IEEE Int. Conf. on Industrial Robots, 1988, pp. 993-998.

[5] C.H. Ho and J. Sriwattanathamma, "Symbolically auto- mated direct kinematic equations solver for robotic manipulators", Robotica, Vol., 7, 1989, pp. 243-254.

[6] J. Lyod and V. Hayward, "Kinematics of common in- dustrial robots", Robotics, Vol. 4, 1989, pp. 169-191.

[7] A.P. Tzes, S. Yurkovich and F.D. Langer, "A symbolic manipulation package for modeling of rigid or flexible manipulators", 1EEE Int. Conf. on Robotics and Automa- tion, 1988, pp. 1526-1531.

[8] A. Liegois, W. Khalil, J. Dumas and M. Renaud, "Mathematical and computer models of interconnected mechanical systems", Proc. 2nd lnt. C I S M - 1 F T o M M Symp., Warsaw, September 1976, pp. 5-17.

[9] S.R. Dillon, "Computer assisted equation generation in linkage dynamics", PhD Dissertation, Department of Electrical Engineering, Ohio State University, Columbus, OH, August 1973.

[10] R. Sturgers, Teleoperators Arm Design Profram, MIT Draper Lab, Cambridge, Ma., Report 3.2746, 1976.

[11] J.M. Hollerbach, "A recursive lagrangian formulation of manipulator dynamics and a comparative study of dy- namics formulation complexity", IEEE Trans. Syst. Man Cybern., vol. SMC-10, No. 11, November 1980, pp. 730- 736.

[12] J. Koplik and M.C. Leu, "Computer generation of robot dynamic equations and the related issues", J. Robot. Syst. Vol. 3, No. 3, 1986, pp. 301-319.

[13] N. Sreenath and P.S. Krishnaprasad, "DVNAMAr~: A tool for manipulator design and analysis", IEEE Int. Conf. on Robotics and Automation, 1986, pp. 836-841.

[14] T.R. Kane and D.A. Levinson, "The use of Kane's equa- tion in robotics", Int. J. Robot. Res. vol 2, No. 3, Fall 1987, pp. 3-12.

[15] H. Faessler, "Computer-assisted generation of dynamic equations for multibody systems", Int. J. Robot. Res., 1986, pp. 129-141.

[16] G. Draganoiu, A. Davidoviciu, A. Moanga and I. Tufts, "Computer method for setting dynamic model of an industrial robot with closed kinematic chains", Proc. 12th Int. Symp. on Industrial Robots, June 1982, pp. 371-379.

[17] Lih-Chang Lin and King Yuan, "Control of flexible joint robots via external linearization approach", J. Robot. Syst., Vol. 7, No. 1, 1990, pp. 1-22.

[18] G. Cesaro, F. Nicolo and S. Nicosia, "DYMIR: A code for generating dynamic models of robots", Proc. 1st Int. IEEE Conf. on Robotics, March 1984, pp. 115-120.

[19] P. Lucibello, F. Nicolo and R. Pimpinelli, "Automatic symbolic modeling of robots with a deformable link", IFAC Theory of Robots, Vienna, Austria, 1986.

[20] W.J. Book, "Recursive Lagrangian dynamics of flexible manipulator arms", Int. J. Robot. Res., Vol. 3, No. 3, Fall 1984, pp. 87-101.

[21] S. Cetinkunt and W.J. Book, "Symbolic modeling of flexible manipulators", I E E E Conf. on Robotics and Auto- mation, 1987, pp. 2074-2080.

[22] S. Nicosia, P. Tomei and A. Tournambe, "Dynamic mod- eling of flexible robot manipulators", IEEE Conf. on Robotics and Automation, 1986, pp. 365-372.

Page 14: Why symbolic computation in robotics?

62 Short Note Computers in lndusto'

[23] R.P. Judd and D.R. Falkenburg, "Dynamics of nonrigid articulated robot linkages", IEEE Trans. Autom. Control, Vol. AC-30, No. 5, 1985, pp. 499-502.

124] C.P. Neuman and J.J. Murray, "Linearization and Sensi- tivity Functions of Dynamic Robot Models", IEEE Trans. Syst. Man. Cybern., November 1984, pp. 805-818.

[25] A. Tzes and S. Yurkovich, "A sensitivity analysis ap- proach to control of manipulators with unknown load", IEEE Conf. on Robotics and Automation, 1987, pp. 496- 502.

[26] K. Lan and R.J. Hocken, "A survey of current robot metrology methods", Ann. CIRP, Vol. 33, 1984, pp. 485- 488.

[27] W,K. Veitschegger and C.H. Wu, "Robot accuracy analy- sis based on kinematics", IEEE J. Robot. Autom., Vol. RA-2, No. 3, September 1986, pp. 171-179.

[28] N. Vira and V. Goodwyn, "Developments in robots posi- tioning assessment methods", Applied Simulation and Modeling '88, lASTED, ACTA Press, pp. 194-198.

[29] H.W. Stone, C. Sanderson and C.P. Neuman, "Arm sig- nature identification", IEEE Conf. on Robotics and Auto- mation, 1986, pp. 41-48.

[30] M.R. Driels and U.S. Pathre, "Generalized joint model for robot manipulator kinematic calibration and com- pensation", J. Robot. Syst., Vol. 4, No. 1, 1987, pp. 77-114.

[31] N. Vira and T. Shiferaw, "Higher order approximation of

the generalized kinematic error compensation model for robots", Computers in Industry, Vol. 12, No. 4, 1989, pp. 313-328.

[32] R.N. Vaishnav and E.B. Magrab, "A general procedure to evaluate robot positioning errors", Int. J. Robot. Res., Vol. 6, No. 1, 1987, pp. 59-78.

[33] B. Mooring, "The effect of joint misalignment on robot positioning accuracy", Proc. A S M E Computers in En- gineering Conf., August 1983, pp. 151-155.

[34] J. Chen and L. Chao, "Positioning error analysis of robot manipulators with all rotary joint", Proc. IEEE Int. Conf. Robotics and Automation, April 1986, pp. 1011-1016.

[35] J. Ziegert and P. Datseris, "Basic considerations for robot calibration", 1EEE Int. Conf. on Robotics and Automation, 1988, pp. 932-938.

[36] H.B. Olsen and G.A. Bekey, "Identification of parameters in models of robots with rotary joints", IEEE Int. Conf. on Robotics and Automation, Missouri, 1985, pp. 1045- 1049.

[37] T.G. Lim, H.S. Cho and W.K. Chung, "A parameter identification method for robot dynamic models using a balancing mechanism", Robotica, vol. 7, 1989, pp. 327- 337.

[38] E. Tunstel and N. Vira, "Computer generation of geomet- rical error equations applicable for improvement of robots' positioning accuracy", Robot. Autonomous Syst.. in press.