## Serviços Personalizados

## Artigo

## Indicadores

- Citado por SciELO
- Acessos

## Links relacionados

## Compartilhar

## Journal of the Brazilian Society of Mechanical Sciences

##
*versão impressa* ISSN 0100-7386

### J. Braz. Soc. Mech. Sci. v.24 n.4 Rio de Janeiro nov. 2002

#### http://dx.doi.org/10.1590/S0100-73862002000400007

**Optimal design of 3R manipulators by using classical techniques and simulated annealin**

**C. Lanni ^{I}; S. F. P. Saramago^{II}; M. Ceccarelli^{III}**

^{I}Laboratory of Robotics and Mechatronics DiMSAT, University of Cassino, Via Di Biasio 43 03043 Cassino (Fr), Italy lanni@unicas.it

^{II}College of Mathematics Federal University of Uberlandia Campus Santa Monica 38400-902 Uberlandia, MG. Brazil saramago@ufu.br

^{III}Laboratory of Robotics and Mechatronics DiMSAT, University of Cassino, Via Di Biasio 43 03043 Cassino (Fr), Italy ceccarelli@unicas.it

**ABSTRACT**

In this paper, the optimum design of 3R manipulators is formulated and solved by using an algebraic formulation of workspace boundary. A manipulator design can be approached as a problem of optimization, in which the objective functions are the size of the manipulator and workspace volume; and the constrains can be given as a prescribed workspace volume. The numerical solution of the optimization problem is investigated by using two different numerical techniques, namely, sequential quadratic programming and simulated annealing. Numerical examples illustrate a design procedure and show the efficiency of the proposed algorithms.

**Keywords:** Robotics, computational kinematics, manipulator design, workspace, optimization

**Introduction**

Three-revolute open chain is extensively used as robot arm since its motion capability is useful to produce the gross motion of the robot hand. Manipulators design can be expressed conveniently in terms of the workspace requirements, since a fundamental feature of the manipulators is recognized in the workspace capabilities. The workspace of a robot arm is recognized of great interest from the theoretical and practical viewpoints as a fundamental characteristic for kinematic evaluation and dimensional design. Thus, the workspace study, for both analysis and synthesis purposes, still deserves great interest, although several procedures were proposed in the last decade.

The manipulator workspace is defined as the region of reachable points by a reference point H on the extremity of a manipulator chain (Kumar and Waldron, 1981). Several design procedures have been proposed for the dimensional synthesis of manipulators. Solution of the optimization problem has been approached by means of a heuristic technique (Yang and Lee, 1984), grid search methods (Tsai and Sony, 1985), the Monte Carlo method (Rastegar and Fardanesh, 1990) a sequential quadratic programming (Ceccarelli et al. 1994; Ceccarelli and Lanni, 1999; Mata and Ceccarelli, 1993). Other techniques are based on the kinematic geometry of the chain (Vijaykumar et al., 1986), a suitable description of workspace boundary (Gosselin and Guillot, 1991), or a systematic search procedure developed on algebraic criteria (Lin and Freudenstein, 1986) that have been obtained from an algebraic workspace formulation (Freudenstein and Primerose, 1984). The advantages of the algebraic approach have been pointed out by Freudenstein and Primerose (Freudenstein and Primerose, 1984) in the form of the theorems useful in analysis and synthesis.

In this paper, a suitable formulation for the workspace is used to propose manipulator design algorithms, via an optimization problem in which the workspace volume and the total dimension of the manipulator are the multiobjective functions; subject to given workspace limits as the constraints. Additional constraints have been included to obtain manipulator sizes within practical values.^{1}

Taking into account the algebraic formulation for the manipulator workspace given in (Ceccarelli, 1989 and 1996) and following previous experiences on optimization procedures presented in (Samarago and Steffen, 2000; Ceccarelli,1993; Ceccarelli et al., 1994; Ceccarelli and Lanni,1999), in this paper the optimization problem is investigated via two different numerical procedures. The first is a sequential quadratic programming (SQP) technique (Grace, 1992); the second technique is a random search technique. Concerning SQP, two different codes are used: DOT (design optimization tools), (Vanderplaats, 1995) and Minimax of Matlab optimization toolbox (Grace, 1992). Concerning the random search, the results are obtained by using the simulated annealing (SA) technique (Kirkpratick et al., 1983).

The optimum designs are then tested through numerical examples, confirming the efficiency of using the algebraic formulation for the workspace. Numerical results and computational efforts are discussed in light of the evolution of the design process. A comparison of the results obtained with different procedures is shown so as to characterize the design results and numerical procedures.

**Nomenclature**

*ai = link lengths measured between to consecutive joint axes A, B, C, D, E, F, G, K, L, Q = structural coefficients of the workspace boundary points Area = area of the cross section contour of an enveloping torus Area0 = prescribed value of the cross section area At*

_{j}= triangle area Ar

_{j}= rectangle area di = link offsets measured as the distances between two consecutive joint axes E = energy of the system at the configuration

**x**

_{k}f(x) = objective function g(x) = constraints function H = reference extremal point of the robot H

_{k}= Hessian matrix of the Lagrangian function K

_{b}= Boltzmanns constant K

_{0}= coefficient of the condition for void existence L = measure of the manipulators size m = total number of the constraints m

_{e}= number of the equality constraints

*minr0, maxr0 = radial reach limits*

minz0, maxz0 = axial reach limits

N = number of the boundary points

n

P = probability that the configuration

r

r = radial reach of the workspace boundary points

rand = random numbers

r

t = transpose operator

T = control parameter (temperature) of the simulated annealing

T

T

V = measure of the workspace volume

z = axial reach of the workspace boundary points

w

a

minz0, maxz0 = axial reach limits

N = number of the boundary points

n

_{temp}= number of temperaturesP = probability that the configuration

**x**_{k}is acceptedr

_{g}= center of the cross section contour of an enveloping torusr = radial reach of the workspace boundary points

rand = random numbers

r

_{t }= factor to lowers the temperature**s**= search direction of the optimization problemt = transpose operator

T = control parameter (temperature) of the simulated annealing

T

_{i}= initial temperatureT

_{f}= final temperatureV = measure of the workspace volume

**x**= vector containing the design parametersz = axial reach of the workspace boundary points

w

_{i}= weights coefficients of the objective function

_{i}= twist angles between two consecutive joint axesD

*E = change in the energy of the system*

l

*= Lagrangian multipliers*

L

*= Lagrangian function*

q

*y*

_{3}= joint angle of the extreme pair in the chain*Ñ*

_{k}= step size obtained minimizing a Lagrangian function*g*

_{i}= Jacobian matrix of the constraints.

**The Design Problem**

A general open chain 3R manipulator with three revolute joint is sketched in Fig. 1, in which the design parameters are represented using the Hartenberg and Denavit (H-D) notation for the link size as a_{1}, a_{2}, a_{3}, d_{2}, d_{3}, a_{1}, a_{2}, (d_{1} is not meaningful since it shifts the workspace up and down).

The design parameters of the 3R manipulator represent are:

- a_{i}, i=1, 2, 3, the link lengths measured on the common normal between to consecutive joint axes;

- d_{i}, i=2, 3, the link offsets measured as the distances between two consecutive joint axes;

- a_{i} i=1, 2, are twist angles between two consecutive joint axes.

The ring workspace geometry of a 3R manipulator can be described via a generation process of the workspace boundary through a suitable torus family envelope, (Ceccarelli, 1989 and 1996). In Fig. 1, the geometry of a generation of a ring workspace boundary for 3R manipulators is illustrated by using the envelope of toroidal surfaces, which are traced by a reference extremal point H for different values of angle q_{3} because of the revolution about the Z_{1} and Z_{2} axes. Particularly, in Fig. 1, one representative toroidal surface of the envelope is drawn and the cross section contour of the ring workspace boundary is represented together with a cross section contour of an enveloping torus.

The workspace W(H) of a point H of the end-effector of a manipulator is the set of all points which H occupies as the joint variables are varied through their entire ranges (Gupta and Roth, 1982). The point H is usually chosen as either the center of the end-effector, or the tip of a finger, or the end of the manipulator itself. Using the transformation matrix the coordinates (H^{x}_{o},_{ }H^{y}_{o }, H^{z}_{o}) of this point H with respect to the manipulator base frame can be given as

By expanding Eq. 1 one can obtain

in which ca_{1} = cosa_{1} , sa_{1} = sina_{1} and so on for the other angles. The workspace of a three revolute open chain manipulator can be given in the form of the radial reach r and axial reach z with respect to the base frame. For this representation, r is the radial distance of a generic workspace point from the z axis. Thus, using the Eq. 4, r and z can be evaluated as

In addition, using Eq. 3,

and by using Eqs. 2 to 4 in the second equation of Eqs. 5 with the hypotheses a_{1 }¹ 0 and sina_{1 }¹ 0, it yields

Squaring and adding both sides of Eqs. 6 and 7, the equation of the reachable region of space by the reference point H can be obtained and expressed in the cross section plane r z with respect to the base frame, as proposed in Ceccarelli (1989 and 1996)

in which A,B,C,D coefficients are named as architecture coefficients. They are function of the Denavit and Hartenberg parameters a_{1}, a_{2}, a_{3}, d_{2}, d_{3}, a_{1}, a_{2} and q_{3 } in the form

The reach distances r_{2} and z_{2} can be expressed from the link geometry as

The boundary surface of the three revolute manipulator workspace can be thought as the geometrical envelope of the toroidal surface q_{3}-family whose analytical expression can be obtained by considering Eq. 10 and its derivative with respect to q_{3 }(Bruce and Giblin, 1992) in the form

The axial z and radial r coordinates of the boundary envelope points are given by the solution of the Eq. 11 together with Eq. 12, by supposing sina_{1 }¹ 0, C ¹ 0 and E ¹ 0. After some algebraic manipulations (Ceccarelli, 1989 and 1996) the coordinates of boundary envelope points can be expressed by

with

The angle q_{3} is the joint angle of the extreme pair in the chain and it is the kinematic variable for the workspace determination. In fact, the workspace boundary can be obtained from Eq. 13 by scanning q_{3} from 0 to 2q.

Referring to Fig.2, the workspace design data can be prescribed by means of workspace limits in term of the radial reach r and axial reach z, the design problem can be formulated as to find the dimensions of a 3R manipulator arm whose workspace cross section is within or is delimited by the given axial and radial reaches minr0, maxr0, minz0, maxz0.

**Formulation of an Optimum Design Procedure**

The objective of the proposed manipulator design procedure is the dimensional synthesis of 3R manipulator, which will have a minimum total size and a maximum workspace volume. Thus, in the optimization problem the workspace volume and total dimension of the manipulator can be considered together to build a multiobjective function. The optimization problem is subject to given workspace limits as constraints; additional constraints can be included to obtain manipulator sizes within practical values.

Thus, the optimum design can be formulated as a multiobjective optimization problem in the form

subject to

and

where V indicates a measure of the workspace volume and L is the total dimension of the manipulator. Equation 15 has been used to express the maximization of the manipulator workspace in term of the volume V and the minimization of the design dimension L of the manipulator.

The workspace volume V can be evaluated according to Pappus-Guldin Theorem by multiplying the cross section area Area by the radial reach r_{g} of the center of the cross section, Fig. 3a, by means of the formula

in which the Area can be evaluated by summing up the triangle and rectangle areas At_{j} and Ar_{j} respectively, as shown in Fig. 3b, in the form as

with

in which N is the total number of the triangles and rectangles and i the current number of computed position of a boundary point. N is equal to the number of the boundary points.

By considering the cross section area, the coordinate r_{g} of the center of the mass can be given as

with

The total dimension L of the manipulator workspace can be evaluated using design parameters to give

The Eqs. 16 express the available working area of the robot. In Eqs.17 the constraint Area-Area0 on the cross section area of 3R manipulator ensures that the value of the workspace volume will not converge to zero.

The first constraint in Eqs.17 has been used to formulate the necessary condition for void existence, (Gupta and Roth, 1982), by using a proper value of K_{0} coefficient in a simplified expression.

A way to perform numerically an efficient design procedure requires a suitable analytical formulation for the involved quantities of the manipulator workspace. Because of the formulation for the manipulator design, the workspace volume can be expressed conveniently in term of the workspace boundary. Thus, the algebraic formulation for the ring workspace has been used in the form deduced in Ceccarelli (1989 and 1996).

In the case of the numerical code SQP of DOT and SA for the solution of the optimization problem given by Eqs.15, a multiobjective function has been used using weighting coefficients w_{1} and w_{2} in the form

subject to the same constraints listed in Eqs.16 and 17. Equation 24 has been formulated in order to achieve the best fit to the numerical performance of the available codes SQP of DOT and SA. In this way, besides working with different optimization techniques, we have experienced the use of a different traditional formulation for a multiobjective function too.

**Numerical Techniques for the Optimization Problem**

In this section, a review of the optimization procedures using traditional and random search techniques is presented.

In the first test, minimization is achieved by means of a sequential quadratic programming technique, using two different codes, namely: design optimization tools (DOT), and Minimax of Matlab optimization toobox (Grace, 1992). Both codes perform the sequential optimization method and a pseudo-objective function is written using the augmented Lagrange multiplier method. The unconstrained minimization is performed by the Broydon–Fletcher–Goldfarb-Shanno (BFGS) method and the one-dimensional search uses a polynomial interpolation technique. The second numerical procedure is based on the random algorithm called simulated annealing (SA).

**A Overview on Sequential Quadratic Programming**

Sequential quadratic programming (SQP) represent a nonlinear programming method. The main idea is the formulation of a subproblem based on a quadratic approximation of the Lagrangian function.

Let **x**_{k }be the vector containing the design parameters at step k, the subproblem is obtained by linearizing the nonlinear constrains (Grace, 1992) in the form

subject to

in which t denotes the transpose operation and H_{k} is the Hessian matrix of the Lagrangian function L, given by

In this equation, l is Lagrangian multipliers; **s** is the search direction; m_{e} is the number of the equality constraints; m is the total number of constraints; Ñg_{i}(x)^{t }is the Jacobian matrix of the constraints; **x** is the vector containing the design parameters a_{1}, a_{2}, a_{3}, d_{2}, d_{3}, a_{1}, a_{2}.

The numerical procedure starts with an initial guess of the manipulator chain solution and, during each iteration k, a quadratic programming problem is solved to provide a search direction **s**_{k}, so that the solution is updated as

in which y_{k} is a step size obtained minimizing a Lagrangian function.

**A Overview on Simulated Annealing **

Simulated annealing is an iterative technique, that is based on random search with adaptive of the searching minimum along coordinate directions. It can be useful to overpass small variations of the objective function by using a probabilistic criterion in order to avoid to stop the procedure at a local minimum.

This optimization technique is based on an analogy with the annealing process from metallurgy. Annealing means that the metal is heated to a high temperature, so that the atoms are shaken violently. If the metal is cooled rapidly, the microstructure would be locked into a random unstable state; if the temperature is cooled very slowly, the atoms will fall into patterns that are relatively stable for the temperature. The SA technique provides to optimize results by randomly perturbing the design variables and keeping track of the best objective function value from each randomized set of variables. After many tries, the set that has produced the best objective function value is designated to be the center about which perturbation will take place for the next temperature change. In this technique, the temperature change that is given as the standard deviation of the random number generator. The temperature is then reduced and new tries are performed. Let each configuration be defined by the set of atom positions where E represents the energy of the configuration and T is the temperature. At each step of the algorithm, a small random displacement is given to an atom, and the resulting change DE in the energy of the system is computed. When the process generates new states, it is either accepted or rejected according to the Metropolis criterion (Metropolis et al, 1953): if DE < 0, the displacement is accepted, and this configuration is used as the starting point of the next step; if DE __>__ 0, the probability P that the configuration is accepted is given by the equation

where K_{b} is the Boltzmanns constant. The choice of the probability function given by Eq. 29 has the consequence that the system evolves according to a Boltzmann distribution.

The random numbers rand can be uniformly distributed in the interval [0, 1]. If rand < P(DE), the new configuration is accepted, otherwise the original configuration is used to start the next step. The temperature T can be considered a control parameter. The initial temperature T_{i} is related with the standard deviation of the random perturbation and the final temperature T_{f}, with the order of magnitude of the desired accuracy, will give the location of the optimum solution.

The annealing schedule starts at a high temperature and it lowers discretely the temperature, using a factor r_{t }, 0<r_{t}<1, given by

until the system is "frozen" after a determined number n_{temp} of temperatures that can be tried to reach hopefully a global minimum.

In the case of constrained optimization problems, the procedures with constrains are transformed in unconstrained problems, by adding a penalty function to the function original objective in order to limit constraint violations (Samarago and Steffen, 2000).

**Numerical Example **

In order to prove the soundness of the proposed optimization design procedures numerical examples have been reported. In particular, Fig. 4 shows the initial solution for the proposed test of the optimum design of a 3R manipulator, in which dot lines indicate the cross section of the initial solution and the grew rectangle indicates the prescribed working area. The prescribed value Area0 of the cross section area has been assumed as 60% of the computed area Area ; K_{0}=2 is assumed to ensure void absence; and the weights are assumed as w_{1}= w_{2}=0.5.

Figures 5 to 9 show the results obtained as a comparison among the proposed procedures. Tables 1 to 3 show the numerical results for the multiobjective function, the constraints and the design parameters for the design case, respectively.

Figure 5 shows the results of a 3R manipulator in term of the shape of the cross section, and objective functions Volume V and manipulator size L, using the numerical technique SQP of Matlab, Fig. 5a, SQP of DOT, Fig. 5b and SA, Fig. 5c. One can note that the shape of the cross section is similar in the three cases; the location of the cross section at the internal assigned area is quite similar too.

The iteration number for the convergence to the optimum solution is quite similar in the case of SQP of Matlab and SQP of DOT, while in the case of SA it is very big, as expected. In fact, we have reported a zoom-evolution of objective function V and L in order to show the evolution during the latest 200 iteration number, Fig. 5c in which one can observe still large variation in searching the optimum value.

One can observe that, among the proposed procedures, there is a not great difference for the optimum design in the numerical value of the volume V but a considerable difference in term of manipulator size L, as stressed in Tab. 1.

Figure 6 shows the evolution of two significant constraints (minz0-minz) and (maxr-maxr0) during the optimization process to illustrate how fast and accurately the constraints have been satisfied. SQP of Matlab has converged very rapidly, Fig. 6a, since the variation of the constraints from iteration 50 to 232 changes very little. Similarly, using SQP of DOT, Fig. 6b, the variation of the constraints shows some change with respect to the case of Fig. 6a. But using SA, Fig. 6c, the variation of the constraints shows waving large changes before to converge. Final numerical results for all constraints are listed in Tab.2.

Figures 7, 8 and 9 show the evolution of the design parameters a_{1}, a_{2} and a_{3}, d_{2} and d_{3} and finally a_{1} and a_{2} respectively. Using SQP of Matlab, Figs. 7a, 8a and 9a show the variation of the design parameters during the optimization process, and one can observe that from iteration 50 to 232 they show little changes. Using SQP of DOT, Figs. 7b, 8b and 9b show the variation of the design parameters, but they change considerably more than in the case of Figs. 7a, 8a and 9a. Using SA, Figs. 7c, 8c and 9c show the variation of the design parameters, and they show large changes before they converge to an optimum value.

Optimum numerical results for all design parameters are listed in Tab. 3. A considerable difference among the results of the three procedures can be observed mainly in d_{2} and d_{3}, that are the most sensitive parameters in the proposed optimization problem for designing optimum general 3R manipulators.

**Conclusions**

The optimum design of a general 3R manipulator has been formulated by using workspace characteristics and manipulator size. A suitable formulation for the manipulator workspace has been used to obtain efficient numerical procedure for solving the optimization problem. The design problem has been formulated as a multiobjective optimization problem. Three different numerical techniques proposed have been used to solve the design problem.

In the paper, a numerical example is illustrated in detail to show the efficiency of the design process independently of the numerical technique used. In addition, comparison of the results obtained with three different technique (namely, SQP of Matlab, SQP of DOT and SA) has shown similarly in the results for the optimum solution obtained.

**Acknowledgements**

The second author thanks to the Brazilian Ministry of Education (Capes) for the grant, which permitted her to spend a sabbatical year in 2001 at the Laboratory of Robotics and Mechatronics in Cassino, Italy.

**References**

Bruce J. W., Giblin P.J., 1992, "Curves and Singularities: a geometrical introduction to singularity theory", Cambridge University Press, Great Britain, 2nd. Edition. [ Links ]

Ceccarelli M., 1989, "On the Workspace of 3R Robot Arms", Fifth IFToMM International Symposium on Therory and Practice of Mechanisms, Bucharest, Vol. II-1, pp.37-46. [ Links ]

Ceccarelli M., 1993, "Optimal Design and Location of Manipulators", NATO Advanced Study Institute on Computer Aided Analysis of Rigid and Flexible Mechanical Systems, Troia, Vol.II, pp.299-310. [ Links ]

Ceccarelli M., 1996, "A Formulation for the Workspace Boundary of General N-Revolute Manipulators", IFToMM Jnl Mechanism and Machine Theory, Vol.31,pp.637-646. [ Links ]

Ceccarelli M., Lanni C., 1999, "Sintesis Optima de Brazos Manipuladores Considerando las Caracteristicas de su Espacio de Trabajo", Revista Iberoamericana de Ingenieria Mecanica, Vol.3, n.1, pp.49-59. [ Links ]

Ceccarelli M., Mata V., Valero F., 1994, "Optimal Synthesis of Three-Revolute Manipulators", AIMETA International Jnl Mecanica, Vol. 29, N. 1, pp.95-103. [ Links ]

Freudenstein F., Primerose E.J.F.,1984, "On the Analysis and Synthesis of the Workspace of a Three-Link, Turning Pair Connected Robot Arm", ASME Jnl of Mechanisms, Transmissions, and Automation in Design, Vol. 106, pp.365-370. [ Links ]

Gosselin C.D., Guillot M.,1991, "The Synthesis of Manipulators with Prescribed Workspace", ASME Jnl of Mechanical, Design, 1991, vol. 113, pp.451-455. [ Links ]

Grace A.,1992,"Optimization Toolbox- For use with Matlab", The Math Works Inc., Natick. [ Links ]

Gupta K.C., Roth B.,1982, " Design Considerations for Manipulator Workspace", ASME Jnl of Mechanical Design, Vol. 104, pp.704-711. [ Links ]

Kirkpatrick S., Gelatt C.D. Jr, Vecchi M.P., 1983, "Optimization by Simulated Annealing", Science, 220, N. 4598, 1983, pp. 671-680. [ Links ]

Kumar A., Waldron K.J., 1981,"The Workspaces of a Mechanical Manipulator", ASME Jnl of Mechanical Design, Vol. 103, pp. 665-672. [ Links ]

Lin C.D., Freudenstein F., 1986, "Optimization of the Workspace of a Three-Link Turning-Pair Connected Robot Arm", The International Journal of Robotics Research, Vol.5, N.2, pp.104-111. [ Links ]

Mata A.V., Ceccarelli M., 1993, "Funciones Objectivo para la Optimizacion de la Cadena Cinematica de Robots", 1st Iberoamerican Conference on Mechanical Engineering, Madrid, Vol.3, pp.47-54. [ Links ]

Metropolis N., Rosenbluth A. W., Rosenbluth M. N., Teller A.H., 1953, "Equations of State Calculations by Fast Computing Machines", Jnl of Chemical Physics, 21, pp. 1087-1092. [ Links ]

Rastegar J., Fardanesh B, 1990, "Geometric Synthesis of Manipulators using the Monte Carlo Methods", ASME Jnl of Mechanical Design, Vol.112, pp.450-452. [ Links ]

Saramago S.F.P., Steffen Jr V., 2000, "Optimal Trajectory Planning of Robot Manipulators Using Classical Techniques and Simulated Annealing", in Nonlinear Dynamics, Chaos, Control and Their Applications to Engineering Sciences, Vol.6, Applications of Nonlinear Phenomena, 2000, pp. 148-156. [ Links ]

Tsai Y.C., Soni A.H., 1985, " Workspace Synthesis of 3R, 4R, 5R and 6R Robots", IFToMM Jnl Mechanism and Machine Theory, Vol.20, n.6, pp.555-563. [ Links ]

Vanderplaats, G., 1995, "DOT - Design Optimization Tools Program – Users Manual", Vanderplaats Research & Development, Inc, Colorado Springs. [ Links ]

Vijaykumar R., Waldron K.J., Tsai M.J.,1986, "Geometric Optimization of Serial Chain Manipulator Structures for Working Volukme and Dexterity", The International Jnl of Robotics Research, Vol.5, n.2, pp.91-103. [ Links ]

Yang D.C.H., Lee T.W.,1984, "Heuristic Combinatorial Optimization in the Design of Manipulator Workspace", IEEE Transactions on Systems, Man, and Cybernetics, 1984, Vol.SMC-14, n.4, pp.571-580. [ Links ]

Article received February, 2001

Technical Editor: Atila P. Silva Freire