14
746 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 6, NO. 6, DECEMBER 1990 Trajectory Planning for Coordinated Motion of a Robot and a Positioning Table: Part 2 -Optimal Trajectory Specification Aktraet-A robot and a positioning table system is a kinematically redundant system with respect to planar motion. Two strategies were developed in Part I of this paper to resolve this redundancy and to specify path shapes that make the best utilization of the workspace and speed characteristics of the two devices. In this paper, a one-variable dynamic programming approach is developed to obtain the near mini- mum time and/or energy trajectory of the two devices. The developed strategies were studied using this path-planning algorithm on a model of 3 degree-of-freedom robot and a two-axes linear positioning table for a variety of path shapes and constraints. In addition, experiments were performed in a typical workcell to show the feasibility of the developed strategies. In moving the two devices in opposite directions, the least travel time is obtained when the original path is resolved more in favor of the faster device, whereas the quality of resultant motion is depen- dent on the controller performance of each device. In addition, this strategy makes better utilization of robotic devices with variable torque- speed characteristics. For the sharp-cornered path strategy, both de- vices’ capabilities affect the tracking time and the proposed strategy give a least-travel-time scenario similar to that of using the faster device. However, the strategy is effective in tracking a sharp corner while keeping the speed of one manipulator (the robot) constant. I. INTRODUCTION ART I of this paper considered the problem of resolving P the motion among the robot and the positioning table by considering the geometrical properties of the path. Thus, the kinematic redundancy of the two-manipulator system was resolved through our specification of two strategies for mo- tion. For general path shapes, the strategy is to move the two devices in opposite directions; for sharp cornered paths, the strategy is to move each device along a smooth path: a double clothoid path for the robot and a straight line path for the table. However, the trajectories of each device have not yet been specified and need to be determined. In this paper, we consider finding the minimum time and/or energy trajec- tory followed by each manipulator as a means of studying the merits and limitations of the developed strategies. The mini- mum time trajectory is the fastest way to move a manipulator without violating the constraints on joint velocities, path location, and actuator torques, and from which the maximum Manuscript received June 20, 1989; revised July 1990. This work was supported by a grant from the National Science Foundation under Grant DMC-8508412. M. Jouaneh is with the Department of Mechanical Engineering, Univer- sity of Rhode Island, Kingston, RI 02881-0805. D. A. Domfeld and M. Tomizuka are with the Department of Mechanical Engineering, University of California, Berkeley, CA 94720. IEEE Log Number 9038626. constant speed along the path can be determined. Although the minimum time trajectory makes the best utilization of the manipulator speed capability, in many cases, the energy consumption plays an important role as well, especially for moving heavy objects by large robots. Hence, minimum energy will be considered in finding the optimum trajectory. Our goal in finding the optimum trajectory for the case of smooth paths is to determine the best way of resolving the motion so that the overall travel time and/or energy is minimized. In case of sharp comer paths, our objective is to study the problem of tracking through several approaches. One of the earliest works on determining the optimum path motion is that of Khan and Roth [l]. They considered the minimum time motion of a manipulator between two points where the path is unspecified. Using the minimum principle of Pontryagin, they obtained a set of first-order nonlinear differential equations, where the solution defines the optimal trajectory. However, due to the desirability of having a closed-loop optimal input, they solved the near minimum-time solution (suboptimal) by considering a linearized version of the equations. Their approach, however, did not treat motion along specified paths, which is important in welding and laser-cutting operations. Luh and Walker [2] and Luh and Lin [3] have considered the problem of trajectory planning along a desired path made up of straight lines and circular arc segments using linear and/or nonlinear programming. In their approach, piecewise maximum constant velocity and acceleration constraints are assumed along each segment of motion. The maximum accel- erations and velocities were not obtained rigorously using the dynamic model of the robot, and therefore, the trajectory planning solution has to be checked to make certain that the robot’s capabilities are not exceeded. Bobrow [4], Shin and McKay [5], and Pfeiffer and Johanni [6] have considered the minimum time trajectory for motion along specified paths using similar approaches. They all began by writing the dynamic equations in terms of a path parameter s and its derivatives S and s‘. For each joint, they obtained a second-order differential equation of the form Ai(s)3 + Bi(s)s2 + ci(s) = &(s) i = 1,2;-., n (1) where the A,, B,, and Ci’s are functions of inertia, Coriolis and path curvature, and gravity forces, respectively. They 1042-296X/90/1200-0746$01 .OO O 1990 IEEE

Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

  • Upload
    m

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

746 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 6, NO. 6, DECEMBER 1990

Trajectory Planning for Coordinated Motion of a Robot and a Positioning Table: Part 2 -Optimal Trajectory Specification

Aktraet-A robot and a positioning table system is a kinematically redundant system with respect to planar motion. Two strategies were developed in Part I of this paper to resolve this redundancy and to specify path shapes that make the best utilization of the workspace and speed characteristics of the two devices. In this paper, a one-variable dynamic programming approach is developed to obtain the near mini- mum time and/or energy trajectory of the two devices. The developed strategies were studied using this path-planning algorithm on a model of 3 degree-of-freedom robot and a two-axes linear positioning table for a variety of path shapes and constraints. In addition, experiments were performed in a typical workcell to show the feasibility of the developed strategies. In moving the two devices in opposite directions, the least travel time is obtained when the original path is resolved more in favor of the faster device, whereas the quality of resultant motion is depen- dent on the controller performance of each device. In addition, this strategy makes better utilization of robotic devices with variable torque- speed characteristics. For the sharp-cornered path strategy, both de- vices’ capabilities affect the tracking time and the proposed strategy give a least-travel-time scenario similar to that of using the faster device. However, the strategy is effective in tracking a sharp corner while keeping the speed of one manipulator (the robot) constant.

I. INTRODUCTION ART I of this paper considered the problem of resolving P the motion among the robot and the positioning table by

considering the geometrical properties of the path. Thus, the kinematic redundancy of the two-manipulator system was resolved through our specification of two strategies for mo- tion. For general path shapes, the strategy is to move the two devices in opposite directions; for sharp cornered paths, the strategy is to move each device along a smooth path: a double clothoid path for the robot and a straight line path for the table. However, the trajectories of each device have not yet been specified and need to be determined. In this paper, we consider finding the minimum time and/or energy trajec- tory followed by each manipulator as a means of studying the merits and limitations of the developed strategies. The mini- mum time trajectory is the fastest way to move a manipulator without violating the constraints on joint velocities, path location, and actuator torques, and from which the maximum

Manuscript received June 20, 1989; revised July 1990. This work was supported by a grant from the National Science Foundation under Grant DMC-8508412.

M. Jouaneh is with the Department of Mechanical Engineering, Univer- sity of Rhode Island, Kingston, RI 02881-0805.

D. A. Domfeld and M. Tomizuka are with the Department of Mechanical Engineering, University of California, Berkeley, CA 94720.

IEEE Log Number 9038626.

constant speed along the path can be determined. Although the minimum time trajectory makes the best utilization of the manipulator speed capability, in many cases, the energy consumption plays an important role as well, especially for moving heavy objects by large robots. Hence, minimum energy will be considered in finding the optimum trajectory.

Our goal in finding the optimum trajectory for the case of smooth paths is to determine the best way of resolving the motion so that the overall travel time and/or energy is minimized. In case of sharp comer paths, our objective is to study the problem of tracking through several approaches.

One of the earliest works on determining the optimum path motion is that of Khan and Roth [l]. They considered the minimum time motion of a manipulator between two points where the path is unspecified. Using the minimum principle of Pontryagin, they obtained a set of first-order nonlinear differential equations, where the solution defines the optimal trajectory. However, due to the desirability of having a closed-loop optimal input, they solved the near minimum-time solution (suboptimal) by considering a linearized version of the equations. Their approach, however, did not treat motion along specified paths, which is important in welding and laser-cutting operations.

Luh and Walker [2] and Luh and Lin [3] have considered the problem of trajectory planning along a desired path made up of straight lines and circular arc segments using linear and/or nonlinear programming. In their approach, piecewise maximum constant velocity and acceleration constraints are assumed along each segment of motion. The maximum accel- erations and velocities were not obtained rigorously using the dynamic model of the robot, and therefore, the trajectory planning solution has to be checked to make certain that the robot’s capabilities are not exceeded.

Bobrow [4], Shin and McKay [ 5 ] , and Pfeiffer and Johanni [6] have considered the minimum time trajectory for motion along specified paths using similar approaches. They all began by writing the dynamic equations in terms of a path parameter s and its derivatives S and s‘. For each joint, they obtained a second-order differential equation of the form

A i ( s ) 3 + Bi(s )s2 + ci(s) = &(s) i = 1,2 ; - . , n (1)

where the A, , B,, and Ci’s are functions of inertia, Coriolis and path curvature, and gravity forces, respectively. They

1042-296X/90/1200-0746$01 .OO O 1990 IEEE

Page 2: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

JOUANEH et al. : TRAJECTORY PLANNING FOR COORDINATED MOTION I1

~

747

also imposed torque constraints of the form

In Bobrow [4] and Shin and McKay's [5] approaches, (1) and (2) are combined and expressed in terms of the tip accelera- tion along the path S. For each joint, a different tip accelera- tion constraint equation is obtained. The minimum-time solu- tion then selects the maximum tip acceleration without violat- ing the constraints. The solution is given in terms of a switching curve in the phase plane for the tip motion along the path. Bobrow considered torque limits that are a function of joint speed, whereas Shin and McKay assumed the bound on each actuator torque to be a quadratic function of the joint velocity. Pfeiffer and Johanni [6] have considered constant torque limits and a different approach in constructing the switching curve. In the above three approaches, only the minimum time problem was solved.

Shin and McKay [7] have also solved the optimal path planning problem using a dynamic programming approach. The path was parameterized in joint space, and the dynamic equations were written in terms of the arclength parameter and its derivative. The trajectory planning problem becomes that of determining a least-cost path in the two-dimensional phase plane (s, S), which was divided into a rectangular grid. In addition to finding the minimum time trajectory, they also considered the case of interacting torque bounds (a robot using a common power supply source for the servo amplifiers of all joints), and the case of constraints on jerk (derivative of acceleration).

In a different formulation of dynamic programming, Singh and Leu [8] have solved the robot optimum path planning problem. Rather than writing the dynamic equations in terms of the parameterized path, they assumed that the path is given as a set of discrete points in joint space. They considered the motion of one joint of the robot for determining the optimal trajectory since the motion of the other joints are related to it by the constraint that the travel time between any two points on the path is the same for all joints. The optimization method used here is a variation of above approach. The details of the algorithm are given later in Section IV.

This paper studies the two developed strategies for coordi- nated motion through the development and use of an opti- mum path planning algorithm. The remainder of the paper is organized as follows: In Section 11, a statement of the prob- lem is given; Section ILI discusses the features of a dynamic programming solution to the posed problem; in Section IV, the path planning algorithm is presented and discussed; Sec- tion V presents numerical computations to study the coordi- nated motion problem using the algorithm; Section VI pre- sents some experimental data; concluding remarks are given in the last section.

11. PROBLEM STATEMENT As was shown in Part I of the paper, the robot position

data was represented by a set of vectors X R ( k ) , k = 0 , 1; . * , N ) , where X R ( k ) E R6 in the general case. Simi- larly, the table position data was represented by the vectors X T ( k ) , where for a linear positioning table X T ( k ) E R * . Since each manipulator is nonredundant , the corresponding

Tismin I q I (2)

robot joint angles and table displacement variables can be obtained using the inverse kinematics solution of each manip- ulator. Let qR( k ) and d( k ) be the corresponding robot joint angle vector and the table displacement vector at point' k , respectively, and let q ( k ) be the combined joint angles and displacement vector given by

q = [q ; , d T I T (3)

In that which follows, the term joint angle vector will refer to this vector q. We will assume that the dynamic model of the robot is given in the form

= M R g R + '( q R 9 0,) + G ( q R ) + F( q R 9 OR) (4) where the first term is the inertia term, the second is the nonlinear Coriolis and centrifugal term, the third term is the gravity term, and the last term is the friction term. In a similar fashion, we assume that the table model is given by

FT = M~ci ' + N( d ) ( 5 )

where the first term is the inertial term, and the second term is the frictional force term. As in the case of joint angles, let the vector 7 represent the combined robot and table torque vectors. The path planning problem is then the minimization of the following objective function

N

min a l A t ( k ) + a , T T ( k ) A q ( k ) k = O

for all possible path shapes (6) which is a weighted sum of time and energy expended along the path. The minimization is to be performed over all possible paths resulting from a particular strategy in resolv- ing the motion. The optimization is subject to the following constraints:

1) 'min(q) 5 Q 5 vmax(4) (7) 2 ) T m i n ( Q 9 4 ) 5 7 5 ~m,x(~, 4 ) (8) 3) Q(k) + q ( k + 1) # 0

forAq(k) = q ( k + 1) - q ( k ) + 0. (9)

The first constraint places a limitation on the allowable velocity range of the joint angles. The second constraint says that the computed torque should be within the torque limits of the system, which are functions of the joint positions and velocities. The third constraint prevents the trajectory planner from giving a no-motion solution, which can be obtained if the a, in (6) is zero. Note that the objective function (6) is written in discrete form due to the use of computers in solving this problem.

Due to the redundancy of the robot and table system, there are many ways of resolving the motion. Each way represents a different Cartesian motion path. Hence, the solution of (6) will be obtained for all possible paths, from which the least cost path is the optimal one.

111. DYNAMIC PROGRAMMING METHOD

A dynamic programming approach will be used to obtain the solution to (6). Dynamic programming [9] is a multistage

Page 3: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

748 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 6, NO. 6, DECEMBER 1990

k - 0 k - 1 k - 2 k N-1 k - N

Fig. 1. Schematic of the two variables path planning problem. The rectan- gular grid at each stage is the map of possible velocities (index i) and percentages of motion (index p ) in that stage.

optimization technique in which the decisions are made se- quentially over time rather than simultaneously at one step in time. In dynamic programming, the problem is first broken down into steps or stages. Second, one or more variables are identified as state variables for which an optimal value is sought. The values of these variables are determined from a possible set of decisions taken in each stage. Then, an objective function, or more commonly, a recurrence relation- ship, is used to select the optimal values of these variables in each stage. Finally, the results from each stage are combined to generate the overall solution to the problem.

The recurrence relationship is the key principle in the dynamic programming approach. It states that the cost f, in stage n for a state s, and a possible decision x , is equal to the cost incurred in that stage plus the optimal cost in the next stage. Mathematically, this relationship is stated as

The optimal cost for the state s, is then determined by the relationship

where ( )* denotes the optimal cost. The solution to the coordinated motion path planning prob-

lem can be solved using a two-variable dynamic program- ming approach. The first variable is the percentage of motion moved by the robot (any combination of a(k)’s and b(k)’s) in each interval along the path, whereas the second variable is the velocity of an active joint. The problem is illustrated in Fig. 1, which shows a three-dimensional grid of stages, percentages of motion, and velocities. The rectangular grid at each stage k is the map of possible velocities and percentages of motion in that stage. For each possible percentage of motion p, the vertical axis in the rectangular grid is the set of possible velocities, some of which might be infeasible. The path planning problem can be thought of as that of describing a three-dimensional path in this grid and connect- ing the endpoints at either side of the prism, which minimizes an objective function subject to some constraints.

Using a forward solution strategy (since we only know the location of the starting point of the two devices) we see that this problem has one important feature that is not present in path planning problems for a single manipulator. This feature

is that the position of the two manipulators at each possible state s (k , p ) is dependent on the optimal decisions taken in stages 0, 1, * * * , k - 1. This means that the position of the two manipulators at each state has to be computed from knowledge of the current percentage of motion (stage k) and from the optimal velocity pointer of the previous stage feasi- ble state. Thus, more computations and storage need to be performed just to compute the current position of the two manipulators. This happens due to the fact that changing the percentage of motion in any stage changes the absolute location of the portion of the path beyond the current stage.

In the solution process, we need to examine for each possible velocity i, ( i = 1, L ) associated with each state S( k, p ) , ( p = 1 , Pk) each of the feasible Mk- velocities at the previous stage associated with each state s(k - 1, p). Graphically, this corresponds to a pyramid of possible choices with its apex at the current possible velocity i and with its rays joining the feasible velocities at the previous stage. Assuming that there is equal number M of feasible and possible velocities in each stage, then in the worst case,

possible choices have to be considered at each stage. Usually, this number will be smaller than the above estimate since not all possible velocities are feasible. For an N-stage problem with equal number of states P in each stage, a worst-case scenario of N(MP)2 cases has to be considered. This represents a huge computational effort for an average size problem. For instance, if N = 30, M = 50, and P = 50 stages, we need to examine at most - 1.9 x 10’ cases. Notice that each case involves computing the velocities, accelerations, and torques of an n link manipulator. Due to the high computational demand of this approach and the fact that, in practical cases, the percentage of motion does not have to change in each interval along the path, it is sufficient to do the path planning for a constant case of resolving motion. This corresponds to slicing the rectangular prism lengthwise and considering the path planning problem for each slice individually. In this case, the complete path loca- tion is known, and either a forward or backward dynamic programming approach can be used to solve the problem. Of course, several slices have to be examined to find the one with the overall minimum cost. Nevertheless, this approach of slicing the problem is P times faster than the two variable approach when P possible choices of resolving motion are examined.

The determination of the optimal trajectory for sharp cor- ner tracking using two smooth paths is equivalent to the problem of resolving the motion for the case of general paths when the percentage of motion along each interval of the given path is constant. Thus, the solution strategy using dynamic programming is applicable to both problems without any change.

IV. PLANNING ALGORITHM The dynamic programming algorithm developed in this

paper uses an approach similar to the one developed by Singh and Leu [8]. Although the two approaches share the basic ideas, they differ in the solution strategy, constraints consid- ered, and choice of initial velocity profile. Using a backward

Page 4: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

JOUANEH er al. : TRAJECTORY PLANNING FOR COORDINATED MOTION I1 749

recursion scheme, the algorithm will be explained with re- spect to the computations carried in stage k (0 s k < N), where each stage corresponds to one interval of the N + 1 points path. Let q i (k ) be a possible velocity of joint i in stage k , and let qi(k + 1) be a feasible velocity of joint i in stage k + 1, where i is a joint that has nonzero displacement in that stage (an active joint). Then, the acceleration of joint i is given by

and the travel time is given by

where Aqi (k ) = [ q j ( k + 1) - q i (k ) ] . If q j ( k ) + q i (k + 1) = 0, or if q i ( k ) > 0 and qi (k + 1) < 0, or if q,(k> < 0 and q i (k + 1) > 0, then the logic variable vel-infeasible is set to one. The first condition ensures that a nonzero resultant velocity will be selected for a nonzero displacement, whereas the second and the third conditions ensure 'no reversal of motion.' If q j ( k ) is feasible, then the velocity of the other joints at point k can be determined using the relationship

If any of the velocities violates its limit, then the logic variable vel-infeasible is set to one.

Next, if vel-infeasible # 1, then the accelerations of the other joints and the needed torques/forces are computed. If any of the joint torques/forces is violated, then the logic variable tor-infeasible is set to one. If neither one of the logic variables is set to one, then the cost of travel from point k to point k + 1 is computed; otherwise, an excessively high cost is associated with this pair of velocities. Now, if for all feasible velocities q i (k + 1) either of the logic variables is set to one, then the velocity q i (k ) is inadmissible and is removed from the set of possible velocities. The use of the above logic variables allows us to retain the velocity qi( k) as a possible velocity until all feasible velocities at the next stage are examined. Thus, a possible velocity is not discarded unless it violates some or all of the constraints for each feasible velocity at the next stage.

Let C(q i (k ) , k) be the incremental cost in stage k for a possible starting velocity q i (k ) , and let J o ( q i ( k ) , k) be the minimum cost to reach the final state from the current state; then, applying Bellman's optimality principle, we obtain

= m i n { C ( q i ( k ) , k ) + J 0 ( 4 i ( k + l ) , k + I ) }

all qi( k). (15)

This equation is applied to every admissible velocity at stage k. The equation associates (with each admissible velocity) a pointer to the optimal velocity at the next stage. After the computations for stage zero have been completed, the optimal

1 Velocrty

* * e

- - _ ------ - N-1 N Stage

* e *

* e * >*

v Fig. 2. I:: Possible starting velocity -"max for an active joint. Each node in the

figure represents a possible velocity value from which the optimal velocity profile is determined.

trajectory can be determined by tracing the pointers from the initial to the final stage. The details of the algorithm are omitted here due to space constraints, but the interested reader is referred to [lo].

In applying the dynamic programming algorithm, a possi- ble velocity profile is used as an initial velocity profile for the active joint. The initial velocity profile can be the maximum speed curve of a particular joint (if it is known) or a plausible velocity profile for the desired path. A triangular velocity profile, such as the one shown in Fig. 2, was used here. The maximum velocity at the middle of the path v,,, was set to 2.0. Each node in the figure represents a possible velocity value from which the optimal velocity profile is determined.

The accuracy and computing time of the algorithm are affected by the number of velocity discretizations in each stage. Increasing the discretization level makes the accelera- tion between stages smaller, thus ensuring that more possible velocity values are selected as feasible. Since we consider the acceleration to be constant in each stage, the spacing between the desired points should be small ( - 1.5 cm) to ensure that this assumption is valid. This spacing was selected such that the change in the parameter values of the robot dynamic model between two adjacent points is less than 3 % . If N is the number of stages, and M is the number of velocity discretizations, then the computing time of the algorithm is proportional to NM2 due to the need to examine a maximum of M 2 possibilities in each stage. Since, in practice, not all the initial velocities are admissible, this number is lower than N M 2 . It is easily seen that if M is large, the number of computations is excessive. As a result, a recursive refinement procedure, which is similar to that of Singh and Leu [8] was used here. Rather than using a large value of M , the algorithm starts with a crude discretization of the initial velocity profile to obtain a suboptimal solution and refines the solution by dividing the possible velocity around the solution obtained in the previous recursion into smaller discrete val- ues.

The above refinement strategy works well for smoothly varying functions [ l l ] (i.e., one that satisfies a locally Lip- schitz condition [12] at all points in its domain), although no

Page 5: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

750 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 6 , NO. 6 , DECEMBER 1990

Parameter

link mass link lcngth wrist mass

inertia

torque limit gravity cent. reduct. ratio

TABLE I - 1 -

50 0.74

0.81

6 0.36 130

2

30 0.55

0.1 os 0.813 0.805

3 0.275

128

3

24 0.80 12

0.0592 1.32 1.30 3

0.400 100

Fig. 3. Schematic of the 3-degree-of-freedom robot.

proof of asymptotic attainment of a globally optimal trajecto- ries has been made. The travel time as a function displace- ment is a monotonically increasing function that satisfies the Lipschitz condition along paths in which the velocity does not drop to zero. Note that a similar refinement approach was used for planning the operation of the California aqueduct system [15] without any proof on convergence of the algo- rithm, but this has yielded practical and effective results.

V. PATH PLANNING RESULTS To illustrate the techniques presented, we performed path

planning on a model of a 3-degree-of-freedom robot and a model of a 2-degree-of-freedom table. The dynamic parame- ters of the robot are given in Table 1, whereas Fig. 3 shows a schematic of the manipulator. This model of the robot repre- sents the first three axes of a five- or six-degree-of-freedom robot since the effect of the wrist axes are minor. The payload and the mass of the wrist axis were represented as an effective load at the end of the third link.

The actuators were considered to be dc servo motors. The torque limits, speed limits, and reduction ratios of the robot

Table mass

/ / I / / / /

/ Coupling

Torque * L L e a d Screw /Bearing

(b) Fig. 4. (a) Mechanical structure and (b) model of each axis of the

positioning table.

TABLE II

Parameter i Symbol 1 Unit x y

Table mas5 m , Lg 200 100 Lead screw inertia Itcrew kgm' 3 Se-4 3 Se-? Lead screw pitch ~ drev 1 00254 1 0 0254

Torque limit p

3 T,, N m I 3 Damping coefficient c 1 kg/sec 1 001 001

I

-0.25 0.50 I 0.60 0.70 0.80 0.96 I

x - axis Crn)

a0

Fig. 5. Straight line path and the three cornered paths used in the path planning computations.

pared with the manipulator [7]. The robot model was derived using Lagrange equations [ 151.

Fig. 4(a) shows the assumed structure for each axis of the positioning table. The dynamic model of the positioning table is shown in Fig. 4(b), where for the x axis, the table mass

motors used in-the path planning computations are those of includes that of all the y-axis assembly since the y table is the first three motors of Fanuc S108 robot [14]. In all the carried by the x table. The inertia I , which is shown in the coordinated motion path planning computations, the velocity figure, includes that of the table mass and the lead screw. limits of the motors (maximum rotational speed 2000 r/min) Table II lists the positioning table parameters used in the were enforced. The dynamics of the actuators were not computations. included in the model due to their fast response speed com- Fig. 5 shows the four paths used in the path planning

Page 6: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

JOUANEH et al. : TRAJECTORY PLANNING FOR COORDINATED MOTION I1 75 1

computations: a straight line path from ( x = 0.60, y = -0.15, z = 0.80) to ( x = 0.90, y = 0.15, z = 0.80) and three sharp corner paths having corner angles of 30, 60, and 90°, respectively. The comer is located at ( x = 0.75, y =

0.0, z = 0.80), and all four paths have the same total length of a ( 0 . 3 ) m. The coordinates are given in the frame of reference located at the base of the robot, which is the world frame. Implementation details of the planning algorithm are omitted here, and the interested reader is referred to refer- ence [lo].

A . General Paths We consider first the minimum time trajectory for coordi-

nated motion along the straight path using constant torque limits. The results are illustrated by the three-dimensional plot shown in Fig. 6. The plot shows that the configuration a = 0.7, b = 0.6, where the a’s and b’s are kept constant along the path, provides near minimum time configuration (0.38 s) for using the two devices. The travel time of the table moving alone is 0.62 s, whereas that of the robot is 0.49 s. The near minimum time was obtained by examining the grid points of a two-dimensional grid of a and b parame- ters. Note that for a = 0.0 (x-axis motion is performed by table only), the travel time was constant regardless of the value of b. This is because the x axis of the table is the limiting factor in this path. This is in contrast with the data shown for a = 1 .OO. Here the x-axis motion is performed by the robot only; therefore, varying the ‘b’ parameter results in different travel time for the two-robot system. Away from the limiting cases ( a = 0.0, b = 0.0 or a = 1.0, b = l.O), it is seen that the least minimum time is obtained when a is close to b. The least travel time should be obtained for a = b, provided that each device has an isotropic speed capability in all directions at every position along the path. This is so since the resultant of two coplanar vectors is largest when the vectors are parallel and opposite with each other. However, this is not true for the configuration-dependent dynamics of the two robot system.

Fig. 7 shows the relative speed of the two devices for three cases of resolving motion ( a = 0.1, b = 0.1; a = 0.7, b = 0.7; a = 0.9, b = 0.9). The relative speed is shown both as a function of time (Fig. 7(a)) and as a function of the y coordinate of the path (Fig. 7(b)). The two figures show that when the motion is split between the robot and the table ( a = 0.7, b = 0.7), a more symmetric relative speed profile is obtained. This implies that a high constant speed profile can be specified over a longer portion of the path in coordi- nated motion.

Figs. 8 and 9 show the joint velocities and torques of the five joints of the coordinated system for the above three cases of resolving motion. Due to the symmetry of the straight line path, only the x-axis table speed profile is shown here (Fig 8(d)) since the y-axis speed is identical to it. Fig. 8(b) shows that the robot second joint velocity limit (- f 1.6 rad/s) becomes binding when the robot performs large portion of the motion. In the first case ( a = 0.1, b = O.l), the table performs most of the motion; therefore, the joint torques of the table (Fig. 9(d) and (e)) are at their limit. For the case

b = 1.0 // Fig. 6. Minimum travel time versus the parameters U and b for motion

along the straight line path (constant torque limits).

( a = 0.9, b = 0.9), the robot performs most of the motion, and the robot second joint torque limit (Fig. 9(b)) constrains the maximum obtained velocity when that joint velocity is not at its limit. For the intermediate case, both joint 2 torque of the robot and x-axis torque of the table are at their limit. Note that the fluctuation in the torque values of joint 1, 2, and 3 occurs due the fact that when one joint’s torque or speed value is at its limit, the other joint’s torque values fluctuate in order to keep up with that joint so that the desired path is followed.

Fig. 10 shows the energy expended as a function of a and b for the above case. Comparing with Fig. 6, we see that the energy increases as the travel time decreases. The data shows that unlike the travel time case, near minimum energy is achieved when most of the motion is made by the slower device (the table). The same trend is observed [lo] when energy was part of the cost function (a1 and a2 in (6) are each set to 0.5) except that there, the percentages of motion that give the least travel time or energy are different from the above case.

Since, in practice, the amount of torque available for a dc actuator is a function of the motor speed and is not constant, the previous path planning runs were repeated for the case of torque limits that decrease as the speed increases. Fig. 11 shows the assumed torque-speed characteristics. At the maxi- mum operating speed of the motor (2000 r/min), we assumed that the maximum torque is one half of that when the motor is at rest. The same trend is observed in this case [lo] as before, except that here, coordinating the motion results in a higher time reduction (30% less than moving the robot

Page 7: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

752

-I .5-

- 2

IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 6, NO. 6, DECEMBER 1990

m o - b = 0 7

. o = b = C S E-

Constant Torque L ~ m ~ t s 2 0

I ' solrd a ~ b - 8 1 dashed a = b = 0 7

I \

1 . 6 .

/. : I

" 1 2 ; /

t: ' I

I : I

? O S -

/

I \ dotted a = b = 0.9

\ \ \

I I I \ I \ 0 0 a 1 a 2 0 3 a 4 0 5 I

h

U U

V

Y

Constant Torque Limits

b a I l 8 0 a i 0 2 0 3 a 4 a 5

Y - a x i s dispiacemcnt (m)

(b) Fig. 7. Maximum relative velocity of the robot with respect to the table

versus (a) time and (b) position for three ways of resolving motion along the straight line path.

* o - b = O l

0 - 1 0 - : I - 1 5

- 2 0 - 0 0 3 1 C 2 0 3 3 4 0 5 B E

6

6

T f m r <sec> isma <sec>

Robot and table individual axis minimum-time velocity profiles for three ways of resolving motion along the straight line path: (a) Robot joint 1; @) robot joint 2; (c) robot joint 3; (d) table x axis.

(d) (C)

Fig. 8.

Page 8: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

JOUANEH et al. : TRAJECTORY PLANNING FOR COORDINATED MOTION 11 753

:: E

5

t -:: -2.-

-3

- 5 -

-4

-6

con.tont to--". I " , * . CO".t."t torgu. I ,.,ts con=tant tor-". m l t r

5.-\ 5- 5-

4- 4- 7 3-

-

\ I

! O- *--- ;;;--- E - I -

- 2 . - . a = b = O l r o = b - 0 1

v o = b = C S . o = t . = a 7 -4- . o = b - 0 7 -4 - m o - b = 0 7

-5 - . s = b = 0 9 -5 - v o = b = Q 9

r a = b = O ! -3 -3-

3 -

0 3 0 1 3 2 0 3 3 4 3 5 3 6 -5 - , m e (*os1 0 0 0 1 0 2 a 3 0 4 0 5 0 6 - t O O 1 0 2 0 3 0 4 0 5

3 - :I 2 -

0 5

-3t - r a = b = O :

Fig. 9. Robot and table individual axis minimum-time torque profiles for three ways of resolving motion along the straight line path: (a) Robot joint 1; (b) robot joint 2; (c) robot joint 3; (d) table x axis; (e) table y axis.

alone), compared with 22% for constant torque limits. This larger reduction occurs due to the fact that in coordinated motion structure, the speed of any joint of the system is less than that of moving either manipulator alone. This causes the available torque to be higher and subsequently causes higher acceleration. In addition, it should be mentioned that near minimum travel time is obtained here for a = 0.6, b = 0.5, i.e., more in favor of the robot, since the individual travel time of the robot (0.63 s) is 90% of that of the table.

B. Sharp-Cornered Paths Since the strategy of moving the robot and the table in

opposite directions is applicable to any type of path [lo], we first perform path planning using this method on the three sharp-comered paths shown in Fig. 5. The data showed that in all cases, moving the robot and the table simultaneously in opposite directions resulted in a lower minimum time than moving each device independently. In addition, when vari- able torque limits were used, the results showed a higher reduction in travel time than for the constant torque limits case.

Next path planning computations were performed using sharp-Cornered path coordination strategy. Variable torque limits were used in this case. Fig. 12 shows the relative speed of the two manipulators for the three corner paths. A sharp-

ness value of 1636,' 1308, and 981 was selected for the 30, 60, and 90" comer paths, respectively. Similar to the motion of a single manipulator or two manipulators in opposite directions, the relative speed at the corner is zero.

Fig. 13 shows the individual velocities of the joints of the system, and Fig. 14 shows the corresponding torques for the three comer paths. Although joints 2 and 3 of the robot have zero velocities as they switch directions (Figs. 13@) and (c)), joint 1 does not slow down to zero speed (Fig. 13(a)) since its path is smooth. Joint 1 velocity is lower for sharper comers since the displacement of the base joint of the robot is smaller for sharper angles. It also observed that joint 1 attains a speed value at the midpoint of its path that corresponds to the maximum curvature in the robot path; it is lower with higher curvature. Due to symmetry of the sharp comer path about the x axis of the base reference, the table motion along the tangent path is one dimensional. Fig. 13(d) shows the table speed along the y direction. The table applies enough torque such that its speed matches that of the robot. For all three comer paths, joint 2 torque value (Fig. 14(a)-(c)) is at its limit and constrains the maximum relative velocity. By the

'The sharpness values are nonrounded numbers since they were computed by specifying the comer angle and the arclength of the clothoid pair. The latter was specified as an integer number of intervals (2CJ with a given spacing.

Page 9: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

754 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 6, NO. 6 , DECEMBER 1990

* . 3 7 , ...,,;;s;/, .; \' : . . \I i

0.00 0.00 0 15 0.30 0.45 0.60

Fig. 10. Energy as a function of a and b parameters for motion along the straight line path (constant torque limits).

0.75

I w Vmax 3 -Tmax

Fig. 11. Motor torque-speed characteristics.

principle of impulse and momentum, a larger impulse is needed to provide the change in velocity for a sharper comer path. Since the maximum torque available is limited, this implies that longer time is needed to tum a path with a smaller comer angle than one with a larger comer angle. Thus, the longer travel time for smaller comer angles (Fig. 12) follows from the above argument.

Table III shows the travel time as a function of sharpness, k,, for the above three sharp comered paths. As explained above, the data shows that for small corner angles, longer time is expended in following the path than for larger angles. It also shows that the sharpness, k,, doesn't affect the traveling time considerably (< 0.02 sec variation in most cases). This happens since as k, becomes smaller, the robot does not have to slow as much as it goes around the curve. However, this savings in time is offset by the longer time it takes to go around a smooth (longer) path. The net effect is that the travel time remains relatively the same. It is interest-

Variable Torque Limits 1.50,

I Solid: 30 drg. Donhrd: 60 drg.

1 .201 I..., Dotted: 90 deg.'. . .

T ime (sod

Fig. 12. Maximum relative velocity of the robot with respect to the table for motion along the three cornered paths using comer paths coordination Strategy.

ing to note that the travel time for the three comer paths for many values of sharpness is almost equal to or less than that of moving the robot alone along the original comer path. The travel time of the robot along the original comer path is 0.748, 0.687, and 0.594 s for the 30, 60, and 90" comer paths, respectively.

Notice that in comer paths coordination strategy, the mini- mum travel time is dependent on how the maximum speed profile of the robot along its smoothing path (path # 1 in Fig. 3 in Part I) is related to the maximum speed profile of the

1

Page 10: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

JOUANEH et al. : TRAJECTORY PLANNING FOR COORDINATED MOTION I1 755

0 48

0 35.-

" 0 II 0 30--

> 0 25-

: 0 20-

" V

LD

LD - 0 b

- 0 I

0

0 G

'iarioble Torque iimits

Dashed Ea deg

Dotted 90 dog

Sol cd 30 dcg

Dashed 60 deg

Dotted 90 dcg

' \

15--

10-

c5--

I 0'

00 o is o 30 a 45 a 60 o 7 5

' 6 So, id 30 deg

Soshod 60 deg Dotted 90 dog

I ? -

' 6

Sol ~d 30 dsg

1 2- Dashed 60 deg Dottad 90 deg

; 0 8- Lo

V

" 0

a

Q 0 4

; 0 0

T2 -0 4 d

C

0 -0 8-

- 1 2 -

- ' 6

T ~ m e (sec?

(C)

, - 1 6 o 00 a 1 5 a 30 a 45 a 60 o -5

T i m e (sec)

(b)

Fig. 13. Robot and table individual axis minimum-time velocity profiles for motion along the three comered paths using comer paths coordination strategy: (a) Robot joint 1; (b) robot joint 2; (c) robot joint 3; (d) table y axis.

table along its path (path # 2 in Part I). If at the middle of each of these paths, the table speed is lower than that of the robot, the robot has to slow down its speed in coordinated motion to make it compatible with that of the table. If on the other hand, the maximum individual speeds are compatible at that location, the travel time in coordinated motion will be close to that of the robot since the robot does not have to slow down to match its speed at the comer with that of the table. Notice that the shape of the table velocity profile also determines the resultant relative velocity profile of the robot/table system. A slow response table will slow down the robot since the travel time between any two points on the path has to be the same for all joints. Since the robot performs most of the motion in this strategy, the travel time in the sharp-comers-coordination strategy will be close to that obtained by moving the robot individually along its smoothing path.

To verify this observation, we obtained the minimum travel time data for the robot along path #1 for various

values of sharpness k,. The data was obtained for the 90" comer path, and Table IV shows the results. In addition, in Fig. 15 we have plotted the minimum-time trajectories of the robot and the table for various values of sharpness when each manipulator is commanded individually along its smooth path corresponding to the above comer path. For k, = 96, the travel time of the robot moving individually along path # 1 is 0.586 s (Table IV), whereas the travel time when the robot moved with the table is 0.608 s. This increase in travel time occurs due to the need of the robot to decrease its speed to match that of the table at the comer (Fig. 15). For K , = 2727, the above two travel times are 0.591 and 0.593 s, respec- tively. In this case, the individual robot speed at the comer is very close to that of the table (Fig. 15) such that the resultant travel time does not differ considerably (+ 0.002 s) from that of moving the robot alone.

From the above, we can see that, provided that the robot travel time along its smooth path is shorter than that of decelerating and accelerating the robot along the original

Page 11: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

756

T661eZ C '5 C 3C C 45 2 66 C

IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 6 , NO. 6, DECEMBER 1990

I

75

TABLE III TRAVEL TIME AS A FUNCTION OF SHARPNESS

e = 300

I

TRAVEL TIME FC TABLE IV

ROBOT PLANNING

I I

L

LONG PATH # 1

Time (sec)

303 981

2721 6136

10908

0.588 0.589 0.591 0.593 0.592

1.5

dash-dol-dol 96

0.3-

-0.15-0.18-0.05 0.0 0.05 0.10 0.15 0.20 0

y - displacement (m)

Fig. 15. Minimum-the trajectories of the robot and the table when each manipulator is commanded individually along its smooth path.

Page 12: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

JOUANEH et al. : TRAJECTORY PLANNING FOR COORDINATED MOTION I1

Tracking sped 4.0 cm/scc

757

0.14 - e, = 30'

0.12 - I Coordmted motion path

0 . 0 8.00 0.02 0.04 0.06 0.00 0.10 0 x - dlsplacement (ml

I

e, = 60*

U

Coordmned motion path

x - displacement In) o'8000 0.02 0.04 0.06 0.08 0 .10 0

x - displacement In) 2

Fig. 16. Actual comer tracking results using a feedback with preview controller.

comer path, the travel time in coordinated motion will be shorter than that of using the robot alone if the table is fast enough to match its speed at the comer with that of the robot.

VI. IMPLEMENTATION

The hardware available for laboratory evaluation consists of a five-degree-of-freedom, S108 Fanuc robot [14], which is designed for welding/sealing operations, and a two-degree- of-freedom linear positioning table [ 151. This robot con- troller, as with many other old industrial robot controllers, does not offer the capability of specifying arbitrary trajecto- ries. In addition, the velocity profile of this robot between any points is trapezoidal with the robot stopping at each point. This means that for path shapes other than that of a straight line and a circle, the robot cannot maintain a constant speed profile. Thus, the minimum time trajectories that we determined cannot be tested on this robot, and only cases of simple path shapes with constant speed profile can be tracked. Moreover, the lack of the ability to provide an update on the actual trajectories of the links makes it difficult to obtain data about the actual path followed by the robot. Nevertheless, in [ 171, we have reported coordinated motion tracking results for the above robot and table system. The data was shown for constant speed tracking using the general paths coordination strategy. The results showed that the quality of resultant motion is dependent on the controller performance of each device.

For the sharp-comered path strategy, we tested the strat- egy using the positioning table only. This was due to the above limitations of the robot. We performed the tracking experiments by first moving the table along the double clothoid path, which is the path that is supposed to be followed by the robot. In the second run, the table is moved along the tangential path. The relative displacement between these two paths is equivalent to the resultant sharp-comer path tracked by the two manipulators. Since there is no feedback available between the robot and the table, this approach is equivalent to moving the two manipulators simul- taneously at the sharp comer. For comparison, we also moved the table at a constant speed along the original sharp

comer path. We considered the three comer paths shown in Fig. 5, where the sharpness k, is set to 160, 128, and 96 for the 30, 60, and 90" corner paths, respectively.

Fig. 16 shows the tracking results obtained using the LQ controller with preview but without the comering scheme that is discussed in [18] for controlling the table. In the three cases shown, the table trajectory misses the comer when commanded along the original comer path. Since the preview controller output depends on future information of the path, the table trajectory rounds the comer when commanded along the sharp-comer path. This problem is not observed when the comer is tracked using the two smooth paths. The resultant path in this case is very close to the desired comer path. It should be noted that these experiments were performed to show the relative improvement in performance by using the coordinated motion scheme over that of using one manipula- tor. As a result, a high-performance controller for the table was not used.

The above experiments were repeated using the LQ con- troller for feedback but without preview input. The results are shown in Fig. 18. Unlike the previous data, the table here overshoots the desired path for all cases considered. The situation is much worse for the cases of moving the table along the original comer path than that for coordinated motion. Along the original comer path, the table overshoots the desired trajectory at the comer due to the high accelera- tion of the table and the subsequent saturation of the control input. In coordinated motion, the tracking error at the comer is primarily due to the lag in tracking the clothoid path and its subsequent effect on the resultant path. Both of the above tracking experiments illustrate the advantage of coordinated motion in tracking of sharp comers. By keeping the speed of one manipulator constant, coordinated motion tracking along two smooth paths allows higher accuracy in tracking than moving a single manipulator at a constant speed.

VII. CONCLUSIONS

The optimal trajectory problem for coordinated motion of the robot and the table can be solved using a two-variable dynamic programming approach. Due to the "curse of di-

Page 13: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

758 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 6, NO. 6, DECEMBER 1990

Tracking speed 4.0 cmlsec

0.12 o.l.l - = 300

1 : t I 0.08

COOIdlIIilrd nlalion path

* 0.04

0‘8900 0.02 0.04 0.06 0.08 0.10 0 x - displacement (ml

+E - O . l 2 I 0.10

Y - dieplacement (ml

0 .OBL

x - displacement (a1

Fig. 17. Actual comer tracking results using a feedback controller only.

mensionality ” of dynamic programming, a one-variable ap- proach was followed, where the solution is repeated over different values of motion resolving parameters. Numerical computations on a model of 3-degree-of-freedom robot and a 2-degree-of-freedom table showed that for the strategy of moving the two manipulators in opposite directions, the minimum travel time is obtained when the path is resolved in favor of the faster manipulator. In addition, coordinated motion gives higher reduction in travel time for variable torque limits motors such as the commonly available dc motors. For the strategy of moving the two devices along smooth paths, planning results show that the lower bound on the minimum travel time using this strategy is the individual travel time of the robot along its smooth path. The higher robot velocity achieved in this strategy is offset by the longer travel distance that the robot has to follow. In addition, the travel time is affected by the response speed of the table. The minimum travel time using this strategy for a table that is slower than the robot (35% less when compared along the original 90” corner path) is similar to that obtained by decelerating and accelerating the robot near the sharp corner. However, the method is effective in accurately tracking a comer path with the robot speed kept constant. This property was verified through experiments performed on a two-dimen- sional positioning table.

It should be pointed out that combining the two approaches for general-type paths and sharp-cornered paths in a single strategy is not very favorable due to the low table velocity around the corner region that forces the robot velocity to be too low [lo]. This occurs due to the double reversal of motion in the table path that is necessary to maintain the desired path shape.

Since sharp-comer paths are commonly encountered in deburring tasks, and due to the interest in applying robots to this process, it would be worthwhile to look at the problem of comer tracking for force applications using a robot and a positioning table. It is believed that through such an ap- proach, better tracking capability at the comers can be ob- tained.

It is of interest to mention that another application for coordinated motion of a robot and a positioning table is to

12

devise strategies for hard-to-track path shapes such as small dimension circles and squares with high curvature, which are common in laser-cutting operations. One strategy, for exam- ple, is to command each device along an identical but a different scaled up curve of the desired path. Since each device is commanded along a low curvature path, the individ- ual paths are tracked easily with the net effect that the resultant motion of the two synchronized devices tracks the desired path more accurately.

REFERENCES [l] M. Kahn and B. Roth, “The near-minimum time control of open loop

articulated kinematic chains,” Trans. ASME J. Dynamic Syst. Measurement Contr., vol. 93, no. 3, pp. 164-172, Sept. 1971. J. Luh and M. Walker, “Minimum-time along a path for a mechani- cal arm,” in Proc. 16th Conf. Decision Contr., Dec. 1977, pp. 755-759. J. Luh and C. Lin, “Optimal path planning for mechanical manipula- tors,” Trans. ASME J. Dynamic Syst. Measurement Contr., vol. 102, no. 2, pp. 142-151, June 1981.

[4] J. Bobrow, “Optimal control of robotic manipulators,” Ph.D. disser- tation, Univ. California, Los Angeles, 1982.

[5] K. Shin and N. McKay, “Minimum-time control of a robotic manipu- lator with geometric path constraints,” ZEEE Trans. Automat. Contr., vol. AC-30, no. 6, pp. 531-541, June 1985. F. F‘feiffer and R. Johanni, “A concept of manipulator trajectory planning,” IEEE J. Robotics Automat., vol. RA-3, no. 2, pp. 115-123, Apr. 1987.

[7] K. Shin and N. McKay, “A dynamic programming approach to trajectory planning of robotic manipulators,” IEEE Trans. Au- tomat. Contr., vol. AC-31, no. 6, pp. 491-500, June 1986. S. Singh and M. Leu, “Optimal trajectory generation for robotic manipulators using dynamic programming,” Trans. ASME J. Dy- namic Syst. Measurement Contr., vol. 109, no. 2, pp. 88-96, June 1987.

191 R. Bellman, Dynamic Programming. Princeton, NJ: Princeton University Press, 1962. M. Jouaneh, “Trajectory planning for Coordinated motion of a robot and positioning table along smooth and sharp cornered paths,” Ph.D. dissertation, Dept Mech. Eng., Univ. California, Berkeley, June 1989.

[ l l ] S. Dreyfus, Individual discussion, Mar. 1989. [12] 3. Marsden, Elementary Classical Analysis. New York: W. H.

Freeman, 1974. [I31 I. Haissman, J. Matucha, and R. Shephard, “Optimizing the long

range operation of the California aqueduct by incremental dynamic programming simulation,” Rep. ORC 70-44, Operations Res. Center, Univ. California, Berkeley, 1970. Fanuc Robot S-Model 0 Operator’s Manual, Fanuc Ltd., Japan. H. Asada and J. Slotine, Robot Analysh and Control. New York Wiley, 1986.

[2]

[3]

[6]

[8]

[lo]

1141 [15]

Page 14: Trajectory planning for coordinated motion of a robot and a positioning table. II. Optimal trajectory specification

JOUANEH et al.: TRAJECTORY PLANNING FOR COORDINATED MOTION 11 759

C. Chen, ‘‘Modem digital motion control for a two dimensional welding table,” Ph.D. dissertation, Dept. Mech. Eng., Univ. Califor- nia, Berkeley, Oct. 1985. M. Jouaneh and D. Domfeld, “A kinematic approach for coordinated motion of a robot and a positioning table,” J. Manuf. Syst., vol. 7, no. 4, pp. 307-314, Dec. 1988. H. Cai, X. Bian, D. Domfeld, and M. Tomizuka, “Design and characterization of a two-axis computer controlled welding manipula- tor,” in Proc. ASME Second Znt. Comput. Eng. Conf. (San Diego, CA), Aug. 1982.

For photograph and bic this TRANSACTIONS.

)graphy of David A. Dornfeld, please see p. 745 of

Masayoshi Tomizuka (M’86) received the B.S. and M.S. degrees in mechanical engineering from Keio University, Tokyo, Japan, in 1968 and 1970, respectively. He received the Ph.D. degree in me- chanical engineering from the Massachusetts Insti- tute of Technology, Cambridge, MA, in 1974.

He is currently a Professor in the Department of Mechanical Engineering at the University of Cali- fornia, Berkeley. His research interests include digital, optimal, and adaptive control with applica- tions to mechanical systems such as robotic manip-

For photograph and biography of Musa K. Jouaneh, please see p. 745 of this TRANSACTIONS.

ulators and machine tools. He currently serves as the Technical Editor of the ASME Journal of Dynamic Systems, Measurement, and Control.