Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

IEEE TRANSACTIONS ON SYSTEMS,MAN, AND CYBERNETICS, VOL. 22, NO.

2, MARCWAPRIL1992

-, “Disaggregate clustering using the concept of mutual nearest position vector from the robot hand to the part becomes the
neighborhood,” IEEE Trans. Syst., Man, Cybern., vol. SMC-8,pp. zero vector.
888-895, Dec. 1978. Since the position of the robot hand is different from that of
-, “The condensed nearest neighbour rule using the concept of
mutual nearest neighborhood,”IEEE Trans. Inform.Theory, vol. IT-25, the part in the initial state, there should be the transient state
pp. 488-490, July 1979. until the motion of the robot hand becomes equal to that of
-, “Learning with a mutualistic teacher,” Pattern Recog., vol. 11, the part. The velocity of the conveyor belt system, together
pp. 383-390, 1979. with the initial positions of the robot hand and the part, has
Y. Kodratoff, Introduction to Machine Learning. London: Pitman,
1988. important effects on the motion in the transient state.
M. Ichino, ‘‘Pattern classification based on the Cartesian join system: The physical constraints of the robot manipulator must be taken
A general tool for feature selection,” Proc. IEEE In?. Con$ Syst., Man, into account in robot motion planning. The tracking trajectories
Cyben., Atlanta, GA, Oct. 14-17, 1986. should be generated subject to the torque constraints of the
R. Hamming and E. Gilbert, “Probability of Ocurrence of a constant manipulator and the smoothness constraints of the trajectory
number of isolated pairs in a random population,” Univ. Wisconsin
Computing News, no. 32, 1954. [111. In order to maximize the task productivity, the settling
R. 0. Duda and P. E. Hart, Panern Classification and Scene Analysis. time of the tracking trajectory must be minimized subject to
New York Wiley Interscience, 1973. the constraints.
P. M. Forget, J. Lebb, H. Puig, R. Vignes, and M. Hideux,
“Microcomputer-aided identification: An application to trees from The purpose of this paper is to analyze and plan the motion of the
French Guiana,” Botanical J. Linnean Soc., vol. 93, pp. 01418, 1986. robot manipulator for tracking the conveyor belt system subject to
the various requirements mentioned previously. We first consider the
robot control structure. The control structure of the robot is generally
divided into two hierarchical levels. The lower level includes path
tracking control, and the upper level includes motion planning of the
manipulator. Due to the division of the control structure, the highly
An Approach to Robot Motion Analysis and coupled nonlinear dynamics can be easily included in the upper level.
Planning for Conveyor ’Ikacking [9] Since the nonlinearity of the manipulator dynamics is taken into
account at this level, the tracking controller can generally keep the
T. H. Park and B. H. Lee manipulator fairly close to the desired trajectory.
We next consider the conveyor belt system coupled with a robot
manipulator. Several robot-conveyor belt systems have been an-
Abshcr-The robot motion is analyzed and planned for conveyor nounced so far. In the system developed by Holland et al. [2] and
tracking considering the speed of the conveyor belt and the locations of the
part and the robot. The joint toque limit, together with the joint velocity, MO et al. [3], the robot tracks the moving part on the conveyor belt
acceleration, and jerk limits of the robot, is also taken into account in system and the tracking motion is planned using the method of the
the motion analysis and planning. To include the robot arm dynamics, straight line trajectory planning, presented by Paul [6] and Taylor [7].
the problem is formulated as the second-order state equations using a However the robot motion was planned without considering the arm
parametric function. The conveyor tracking problem is then converted to
an optimal tracking problem. The solution that minimizes the specified dynamics, while the conveyor belt speed and the initial position of
performance index is obtained using the dynamic programming approach. the robot were considered in tracking motion. Also, there are other
Numerical examples are finally presented to demonstrate the significance control methods taking the arm dynamics into account in the motion
of the proposed method for conveyor tracking of the robot in a workcell. planning stage such as the minimum time control problem [8]-[ll].
Here, we want to incorporate the robot arm dynamics together
I. INTRODUCnON with the various requirements in the error-free conveyor tracking
problem. We formulate the problem as an optimal tracking problem
The robotic workcell with robot manipulators and conveyor belt
in the optimal control theory. The robot arm dynamics will be used
systems is desirable in a broad class of industrial applications.
in obtaining the second-order state equations. The limit of the joint
In most of the factory automation system, the part is transferred
torque will be considered as the bound on the control variables.
by the conveyor belt system. The primary advantage of conveyor-
Also the limit of the joint velocity, acceleration, and jerk will be
tracking applications is that continuous operations may maximize
accommodated as the constraints on the state variables. An optimal
robot utilization and minimize production cycle time, contributing to
solution, which minimizes the performance index subject to the
economic performance and system productivity [11. Efficient control
various constraints, is then obtained through dynamic programming.
of a robot manipulator for conveyor tracking, however, has several
This paper is organized as follows. In Section 11, the conveyor
problems as follows.
tracking problem is stated with some assumptions, and the problem
1) The steady-state tracking error should be eliminated since it is formulation is presented in Section 111. In Section IV, a dynamic
closely related to the task accuracy. Manipulation tasks are programming algorithm is presented to analyze and plan the robot
normally carried out in the steady state where the relative arm motion. Finally, we discuss simple examples to demonstrate
the utility of the proposed motion planning algorithm with some
Manuscript received October 6, 1990; revised August 13, 1991. A portion simulation results.
of this paper was presented at the 1991 IEEE International Conference on
Robotics and Automation, Sacramento, CA, April 9-11, 1991.
The authors are with the Department of Control and Instrumentation 11. A CONVEYOR TRACKING PROBLEM
Engineering, Automation and Systems Research Institute, and Engineering
Research Center for Advanced Control and Instrumentation, Seoul National We consider the system model consisting of a conveyor belt system
University, Seoul 151-742, Korea. and a nonredundant robot manipulator that has n degrees of freedom.
IEEE Log Number 9104561. The system model is assumed to have the following characteristics:

0018-9472/92$03.000 1992 IEEE


IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 22, NO. 2, MARCWAPRIL 1992 379

w At,mm 5 4;t(t) I Az,max, i = I,...% (7)

1) The conveyor belt system runs at the constant velocity, and the
part is stationary with respect to the conveyor belt system. A. Equations of Motion of a Robot Manipulator
2) The orientation of the robot hand is aligned with the part To solve the conveyor tracking problem defined in the previous
initially and kept fixed during the robot tracks the part. section, the complete dynamic model of a robot manipulator must
3) The robot tracks the part along a straight line path over the be considered. In general, the dynamical behavior of an n joint
conveyor belt system. manipulator can be described by the Lagrange-Euler equations of
The problem formulation for conveyor tracking is illustrated in Fig. motion [17] such that
1. Since the conveyor belt system is assumed to run in a constant 4 t ) = M ( q ( t ) ) i i ( t+
) h(q(t),i(t)) (9)
velocity, the position and velocity of the part on the conveyor belt
system is described as where M ( q ( t ) ) : R" + R n x is n the inertial matrix, and
, ( t ) ) : R" x R" + R" is the vector of gravitational, Coriolis
h ( q ( t )q
Zp(t) = - ubto +
Zp(to), t 1to (1) and centrifugal forces. The state space representation of (9) requires
2%-dimensional space. Since the robot hand moves along a straight
k p ( t ) Vb, t 1to (2)
line path between the Z h ( t o ) and Z h ( t f ) , the position of the robot
where Ub denotes the velocity vector of the conveyor belt, and z p ( t ) hand can be represented in the parameter form such that
denotes the position vector of the part with respect to a reference Zh(t) =Zh(to) +
r ( t ) ( Z h ( t f )- z h ( t o ) ) (10)
frame at time t. On the other hand, at the initial time, the robot hand
is at a standstill on the forecasting path of the part, that is where the r ( t ) E [0,1] is a scalar function. In order to relate this
parametric function to the joint values, the kinematical model of
a robot manipulator should be taken into account. For the class
of nonredundant manipulators it is possible to obtain the inverse
kinematic solution. Since the orientation of the robot hand is assumed
where Z h (t) denotes the position vector of the robot hand with respect to be kept fixed during the robot tracks the part, the inverse kinematic
to a reference frame at time t , and d denotes the deviation vector relations can be written as
between the initial positions of the part and the robot hand. Q = f(T(t)) (11)
The robot is required to match the position, velocity and acceler-
i ( t ) = (df(r(t))/dr(t))+(t) (12)
ation of its hand with those of the part, and the overall motion is
divided into two states: the transient state ( t o 5 t 5 t,) in which +
P ( t ) = (df(r(t))/dr(t))+Yt) (8f(.(t))/d.(t)')+(t)' (13)
the robot moves to reduce the error between the two trajectories, and where f (.) : R + R" is a function that depends on the configuration
the steady state (t 1 t,) in which the error maintains to be below of the manipulator. Substituting (1 1)-( 13) into (9) yields
a threshold and some desired operations can be achieved with the
part. The reaching time to the steady state is called as the settling u ( t )= M(r(t))(df(r(t))/dr(t))T(t)
time ( t s ) .It is notable that the settling time is not a given value but + M ( r ( t ) )(d2f(.(t))ld.(t)2)+(t)2
a value to be determined.
To maximize the usable performance of the manipulator on con-
+
h ( T ( t ) ,+ ( t ) ) (14)
veyor tracking, the robot motion to be planned has some requirements and a single differential equation can be obtained by multiplying the
as follows. R equations in (14) by [M(.(t))df(r(t))/d.(t)IT, that is
1) Steady state error: The position and velocity error in the steady
state may lead to lower accuracy of the task. Thus the trajectoq [ M ( r ( t ) )df(.(t))ld7+)lTU(t) =
for conveyor tracking must have the steady state error as small [ M ( r ( t ) )df(r(t))ldr(t)lTIM(r(t))d f ( r ( t ) ) l W t ) l i . ' ( t )
as possible. + [M(.(t)) df(.(t))ldr(t)lT [M(.(t)) d'f(.(t))ld.(t)']+(t)2
2) Torque and smoothness constraints: The trajectory must be
generated such that all the joint torques remain within their
+ [ M ( r ( t ) )df(.(t))ld.tt)lTh(.(t). + ( t ) ) . (15)
bounds for all time. The torque constraints are given as
Here, we introduce the state z ( t ) ( = [ z l ( t ) zz(t)lT),where
ut.rnm(t) 5 uc(t) 5 ~c,max(t), i = 1,.. 3 n (5) zl(t) E r ( t ) and z z ( t ) +(t).Since the q ( t ) and ~ ( tdetermine )
380 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 22, NO. 2, MARCHIAPRIL 1992

the motion of the robot hand, the state z ( t )is named the hand state. that is, the nearest approach of the robot hand to the part minimizes
With the hand state, the differential equations in (15) become the the specified performance index. However, if controls of the dynamic
second-order state equations such that system are not bounded, minimizing (19) may result in the controls
with impulses. The optimal controls that minimize the performance
i l ( t )= m ( t ) (164 index, should be generated within the torque constraints in (5). Also,
the smoothness constraints in (6)-(8) put limits on the hand state,
which will be stated in Section IV. The boundary conditions of the
hand state are given as
n

*=1
where z ( t fand
) g ( t f )are determined by (17) and (18), respec-
tively. We now have the mathematical conveyor tracking problem
as follows. Given the velocity of the conveyor belt, and the initial
positions of the part and the hand, find the hand state such that
the performance index in (19) is minimized subject to the torque
constraints in ( 5 ) , the smoothness constraints in (6)-(8) and the
boundary conditions in (20) and (21).

IV. SOLUTION TO THE PROBLEM


and To solve the formulated conveyor tracking problem, we first adopt a
[dl(zl(t)),....d,(zl(t))] proper method that can deal with the problem. Pontryagin's minimum
principle is usually employed to obtain an optimal tracking solution
- [M(Zl(t))df(.1(t))/dz1(t)lT as the closed form. Unfortunately, it is quite a difficult to apply the
[M(Xl(t))df(zl(t))ldzl(t)lTIM(zl(t)) df(zl(t))/dzl(t)l' minimum principle to our problem, because of the nonlinearity of
The joint torques u t ( t ) ( i = I , . . . , n ) are used as the controls of the dynamic equations and various constraints imposed on the states
the state equations. We now have the state space representation of and controls. On the other hand, algorithmic approaches are able to
the robot dynamic model, which associates the joint torques with the overcome such difficulties and these can be implemented through
hand state. off-line motion planning. Shin et al. [9], Bobrow et al. [lo] and
Geering et al. [8] proposed specific methods to plan the minimum
time trajectory subject to the torque constraints. These methods,
B. An Optimal Tracking Problem
however, are unable to handle the optimal tracking problem and
Finding an optimal control that let the state of the dynamic system cannot limit the joint velocity, acceleration and jerk exactly. Dynamic
track the desired trajectory, is under the category of an optimal programming (DP) is an algorithmic approach that is widely used
tracking problem. Since the state of the dynamic equations in (16a) for solving the optimization problem. DP has few restrictions on the
and (16b) specifies the motion of the robot hand, and since the performance index to be minimized, and it makes possible to take into
trajectory of the part is the desired trajectory of the robot hand, the account the various constraints. Since the dimension of the dynamic
conveyor tracking problem can be formulated as an optimal tracking equations in the formulated problem is two, the problem of curse
problem. of dimensionality [15] can be avoided. The optimality of DP was
The trajectory of the part must also be represented by the para- proven by the principle of optimality [15]. From these reasons, it is
metric function such as that of the robot hand. Equation (10) means indispensable to introduce DP into our problem. Vukobratovic et al.
that the scalar function T ( t ) can specify any position vector located [12] applied the method of DP for solving the problems of energy
on the straight line path between the Z h ( t o ) and Z h ( t f ) . Since the optimization of the robot trajectory. Shin et al. [13] and Singh et al.
part moves on this path, the position vector of the part in (1) can [14] verified the usefulness of DP in solving the optimal trajectory
be described by the parametric function. Let us denote the z(t) and planning problem that have the specified path.
g(t)as the scalar functions that specify the position and velocity of
the part, respectively. Define the notation [ ]i as the ith element of a A. Discretization and Constraints IdentiJcation
vector, then we have the part state i ( t ) (= [.?(t)G(t)]') as To apply DP for solving the problem, the formulation should be
restated in discrete form. Let the time interval t f t , be divided into N
small subintervals At = ( t f - t , ) / N . Then the dynamic equations
of a robot manipulator in (16a) and (16b) are discretized as
+ +
~ i ( k 1) N ~ i ( k ) At zz(IC) (224
for some i such that [ Z h ( t f )- Z h ( t o ) ] z # 0. From the viewpoint of
optimal tracking problem, the part state is the desired value of the
hand state of the robot dynamic equations in (16a) and (16b). To
n
bring the hand state closer to the part state, the performance index
to be minimized is adopted as + At C d , ( Z i ( k ) ) U t ( k ) (22b)

J = 1; +
( z l ( t ) - E(t))* ( z z ( t )- G(t))'dt. (19)
N -1
1=1

and the performance index in (19) is also discretized as

The performance index becomes smaller as the difference between J = At ( ~ i ( k- +


) Z(k))' ( ~ z ( k-) g ( k ) ) ' (23)
the hand state and the part state decreases in the time interval [ t o ,t f ] , k=O
I

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 22, NO. 2, MARCHIAPRIL 1992 381

where z ~ ( b )xz(k),
, and u , ( k ) are the values at the time instant B. Dynamic Programming for Conveyor Tracking
+
t k = to kat. Next, the constraints for the conveyor tracking are The DP algorithm for solving the conveyor tracking problem may
taken into account in discrete form. The joint torques generated at now be stated. The algorithm is named DPCT, an abbreviation of
the time instant t k must be limited by dynamic programming for conveyor tracking. The DPCT developed
u z m , n ( b )5 u,(b) 5 u,(k), i = l:..,n ( 5 ' ) in this paper uses an approach similar to the one developed by
Shin, et al. [13]. Although the two approaches share the basic ideas,
and these inequalities are discrete form of (5). With the approxima- they differs in the solution strategy, constraints considered and the
tions initialization of a phase plane. Optimization procedure of the DPCT
+
i i ( k ) ( i ( k 1) - i ( k ) ) / A t (24) is done entirely on a s1- s2 phase plane. The phase plane is divided
into rectangular grids with AVl divisions on the P I axis and -VZ
and divisions on the x l axis. The initial state (q(0).x 2 ( 0 ) ) and the final
+ + +
d 3 ) ( k )N (4(k 2 ) - 2q(b 1) q ( k ) ) / ( A t ) 2 (25) state (X,(~T)..~~(~V)) are stored in the points (0,O) and (AV1,LVt),
respectively. Since the overshoot of the hand velocity should be taken
the constraints on the joint acceleration and jerk in (7) and (8)
into account, the ~ ( 3 3 the,desired value of x p ( k ) , is stored in Xt
are transformed into those on the joint velocity [ l l ] . From the
that is less than AVZ.The minimum performance index J j , to reach
inverse kinematic relation in (12), the constraints given in (6H8)
the final point (S1.-Yt) from the point ( L , y ) is stored in each point.
are reformed respectively as
Also, the time interval t,, to go from (0,O) to ( T . y ) and the pointer
1; min 5 [ n f ( ~ l ( k ) ) / d ~ l ( k ) ] ,5s ~1;( m k a)x (6') Pzyto indicate the optimal state from ( x , y ) are associated with each
point.
With this initialization, the DPCT is achieved by starting from the
final point and proceeding backward through the following steps.
[Step 11 Let the J:y = 0 and the column counter N = -TI - 1.
[Step 21 If n = 0, go to [step 131.
[Step 31 Otherwise, set the s l ( k )to the 0th value on the SI axis,
+ + +
i 8 ( k 1)- A f & ( k 1) ('!lt)'JL,1, and compute the df(.rl(k))/dsl(k), d2f(.rl(k))/d.r,(k)2,
5 [df(a.l (k))/d.r1( k ) l , . r 2 ( k ) o ( J I ( ~ ) b) (,. r l ( k ) ) and d , ( . r I ( k ) ) .

+ + +
5 Y , ( k 1)- At;i,(k 1) ( W 2 J
[Step 41 Set the row counter ._I to 0.
, (8') [Step 51 If = -Y2 , go to [Step 121.
max

where I = 1.. . . . I ) . Combining (6')<8'), we can obtain the con- [Step 61 Otherwise, set the . r r ( k ) to the Jth value on the sz axis,
straints on the states at the time instant f k , that is and compute the c ( x l ( k ) .. r 2 ( k ) ) .
[Step 71 Set the next-row counter J to 0.
6;(k + 1) 5 [df(*I.l(X.))/d.c.l(k)]~ +
.r2(k) 5 b;t(k 1).
[Step 81 If 1 = -IT2, go to [Step 111.
I = 1:.../1
+ +
(26) [Step 91 Otherwise, set the ( . r l ( k l ) . . r ~ ( k 1 ) )to the value of
where for the ith joint, 6 , ( k + 1) is the maximum value of three a point (N + 1. j)
+
lower bounds, and 15; ( k 1) is the minimum value of three upper
[Step sa] Compute the time interval Af to go from ( a , 3 ) to
+ +
bounds. Both 6; ( b 1) and :6 ( k 1) depend on the joint velocity
(a+ 1. -,), and determine the time instant t , 7 =
and acceleration at the time instant t r + l . Manipulation of these
f,+l 3 - Af, where t\,-] 9 = f f - Af.
inequalities gives
+
[Step 9b] Determine the S C , , , , , , ( . r l ( k ) . k 1) and SCmax(xl
S C n l I n ( ~ i ( k ) . k +5 l ) . r 2 ( k ) 5 S C I m a x ( ~ i ( k ) . k + l )(27) +
( k ) . k 1 ) . If . r r ( k ) violates its constraint in (27),
where (28) and (29) result, as shown on the bottom of the page. go to [Step 101.
Together with 1; 1; A n i a x ) A m i n , J , may and J , m l n [Step 9c] Compute the torques u , ( . k ) , which lead the motion
of joints, the state . r l ( k ) and the joint velocity and acceleration at of a robot manipulator from the state (.rl(k)..rz(k))
the time instant t k + l put limits on the bound of the state . ~ ( k )The . +
into the state ( .rl ( k + 1). .r2 ( k 1) ). If any of these
constraints on the joint velocity, acceleration, and jerk that guarantee computed torques violates its constraints, go to [Step
the smooth tracking motion of a robot, are now identified with those 101.
on the hand state. Optimization procedure using DP can accommodate [Step 9d] Compute the part state, z ( k ) and z ( k ) , by plug-
the constraints in (5') and (27) plainly. ging the f n J into (17) and (18), respectively. From
382 IEEE TRANSACTIONS ON SYSTEM-, vnr 97, APRIL 1992

i
5 -0.2
-
3
,b
-0.4 \
Fig. 2. Simulation model. 1 .torque constraint
-0.5 2.torw and smoothness
constraints
-0.5 -0.6 I
1. robot hand (tor- constraht) 0 0.4 0.8 1.2 1.6 2 2.4 2.8

/
time [sec]
smoothness constraints
(4

O ' r-
2 -0.1
(U O I F

-0.65 r

-0.9wr I I I I I I , I 1 I I , , I I 1 I I I &
0 0.2 0.4 0.6 0.8
time
1
[sec]
1.2 1.4 1.6 1.8 2
i -0.4

Fig. 3. Position trajectories for conveyor tracking. -0.5 1 - 1 .torque constraht


2.torqmandsmoothness
constraints

,
0.22 , -0.6~
0
I ,

0.4
1 I

0.6
, I

1.2
I ,

1.6
,

2
I I

2.4
, I

2.8
time [ s e c ]
/ A /
- 0.18 - (b)
! 0.16 - Fig. 5 . Torque profiles for conveyor tracking. (a) Joint 1 (b) Joint 2.
-0.14-

1 O01: I
[Step 121 Decrement the column counter a and go to [Step 21.
[Step 131 March forward from the initial point (O,O), by following
the pointer Pod,to obtain the optimal phase plot.

O ' 7
0.04 // 1 .robot hand
(tor- rnstraint)
2 .robot hand (torque and
smoothness CarStraintS)
V. SIMULATION STUDY
The described procedure is applied to a robotic workcell as shown
in Fig. 2, which consists of a conveyor belt system and a manipulator.
3.m
The manipulator has two links with a mass of 1.0 kg, where the
0 0.2 0.4 0.6 0.6 1 2 1.4 1.6 1.8 masses are assumed to be concentrated at the middle of each link.
time [sec] The length of each link is 1.0 m. This manipulator has two rotary
Fig. 4. Velocity trajectories for conveyor tracking. joints and the axes of rotation are both directed along the z axis, thus
the manipulator only generates movement on the x-y plane. Gravity
is presumed to act in negative 2 direction. The algorithm can be easily
the part state, determine the incremental performance applied to nonredundant manipulators with more degrees of freedom.
index A J to go to (cw+l,y) from CY,^) as The conveyor belt moves in x direction at a constant velocity
m, = [0.2 O.OIT m/s. The part is stationary with respect to the moving
LIJ= A t ( ( x ~ ( k-) Z ( k ) ) 2 ( ~ 2 ( k-) Z ( k ) ' ) )+ conveyor belt, and it passes the position zp(to)= [-0.900 1.732IT
m at the initial time. On the other hand, at the initial time, the
(30)
The minimum performance index J:o is then manipulator is at rest on the position z h ( t o ) = [-0.800 1.732IT
m and starts to move in x direction for tracking the part. The torque
and smoothness constraints of the manipulator are assumed to be
given as
Set the pointer Pap to p that produces the JCtp,
[Step 101 Increment the next-row counter y and go to [Step 81. -0.50 5 ui(t) 5 0.50, -0.20 5 u z ( t ) 5 0.20 N-m (32)
[Step 111 Increment the row counter p and go to [Step 51. -0.20 5 i i ( t ) 5 0.20, -0.21 5 q 2 ( t ) 5 0.21 rad/s (33)
IEEE TRANSACTIONS ON SYSTEMS,MAN, AND CYBERNETICS, VOL. 22, NO. 2, MARCWAPRIL 1992 383

O h I
- 0.2 ,
1 . t0rq.W constraint
2 . twple and smodhness 0.1
Carstrahts -0
e I

-
e
-0.08 -
-

r
0

-0.1-
E

l,q
v
-0.1
r

O -0.2
4# -0.3
8::::1-0.2
0
-0.4
-0.22

0 0.4 0.8 1.2 1.6 2 2.4 2.8 0 0.4 0.8 1.2 1.6 2 2.4 2.8
time (sec1
time [sec1
(4
(a)

-.-- ,
- 0.4
I 1 . torcue constrailt I

.H
N

.
U 0.10
\2 p
L
0.3

0.2
0.14
0.12 5 0.1
zi 0.1
4 0
#I
0-0.1
1 . torque constraint
2 . t w w and smootmess
0.02 I/ ConStrllWS
0 0.4 0.8 1.2 1.6 2 2.4 2.8
o r , I I , I I I I , , , , , ,
0 0.4 0.8 1.2 1.0 2 2.4 2.8 time [sec)
. time [sec] (b)
(b) Fig. 7. Joint acceleration profiles for conveyor tracking. (a) joint 1 @)joint 2.
Fig. 6. Joint velocity profiles for conveyor tracking.(a) joint 1 (b) joint 2
constraints are imposed, the steady state is reached with sudden
changes in velocities, i.e., smooth velocity profiles cannot be obtained
-0.29 5 qi(t) 5 0.29, -0.32 5 & ( t )5 0.32 rad/s2 (34)
with torque constraints only. Applying the jerk constraints prevents
-0.96 5 4i3'(t) 5 0.96, -0.96 5 q p ' ( t ) 5 0.96 rad/s3. (35) the accelerations from their sudden change.
The DPCT algorithm was implemented in the C programming lan-
guage running under VMS operating system on a micro-VAX 2. VI. CONCLUSION
Trajectories for conveyor tracking are generated and compared for The robot motion for conveyor tracking in a robotic workcell
the cases of 1) torque constraints in (32) and 2) both torque and has been analyzed and planned so far. In the presented motion
smoothness constraints in (32x35). N I x NZ is set at 50 x 100. analysis and planning, the robot dynamics was included, and the
Fig. 3 shows the position of the robot hand, and Fig. 4 shows the speed of the conveyor belt and the locations of the part and the
velocity of the robot hand when it tracks the part on the conveyor robot were considered. The joint torque limit, together with the
belt system. In all two cases, the tracking error in the steady state is joint velocity, acceleration and jerk limits of the robot, is also taken
eliminated completely. The settling time, defined in this simulation into account. A conveyor tracking problem was defined with some
as the instant when the tracking error remains zero, is 0.80(s) for assumptions, and was converted to an optimal tracking problem. A
case 1) and 1.20 s for case 1). solution that minimizes the specified performance index subject to the
Fig. 5 shows the torque profiles generated in each joint. In order to various constraints was then obtained using a dynamic programming
go into the transient state, large torques are required in the transient approach. In the simulation study, the robot trajectories without
state. For case l), the maximum torques are -0.499 N-m for joint the steady state tracking error were planned. Large joint torques
1 and -0.140 N-m for joint 2, and they are all limited within theirs were generated in the transient state, and the maximum values were
bounds in (32). When only the torque constraints are applied, torques limited by introducing the torque constraints. The joint torque and
change suddenly in the instant when the robot reaches the steady state, acceleration changed suddenly in the instant when the robot go into
which may result in the undesirable motion of a robot. Introducing the the steady state, which was prevented by imposing the smoothness
smoothness constraints together with the torque constraints, induces constraints.
the smooth torque profiles. Fig. 6 shows the joint velocity profiles, In order to maximize the task efficiency of conveyor-tracking
and Fig. 7 shows the joint acceleration profiles. When no smoothness applications, it is desirable to design the conveyor belt system
384 IEEE TRANSACTIONSON SYSTEMS, MAN, AND CYBERNETICS, VOL. 22, NO. 2, MARCWAPRIL 1992

coupled with a robot manipulator considering the arm dynamics and Toward Super-Real-Time Simulation of Robotic
constraints. Our results can be used for this purpose. In the future, we Mechanisms Using a Parallel Integration Method
will try to solve the conveyor tracking problem with less assumptions.
Scott McMillan, David E. Orin, and P. Sadayappan

REFERENCES
Abstmct-The desirability of real-time and super-real-time (planning
[11 W. E. Wilhelm, “Conveyor tracking,” in International Encyclopedia of seconds of trajectory in milliseconds) dynamic simulation has been shown
Robotics: Applications and Automation, R. C. Dorf, Ed. New York: in a number of applications such as in earth-based teleoperation of remote
Wiley, 1988, pp. 283-298. robotic systems in space, as well as in predictive control of multilegged
[2] S. W. Holland, L. Rossal and M. R. Ward, “CONSIGHT-1: A vision vehicles, used to ensure the safety and stability along a planned trajectory.
controlled robot system for transferring parts from belt conveyors,” in The results of research performed in computational robot dynamics
Computer Vision and Sensor-Based Robots, G. G. Dodd and L. Rossal, to achieve real-time simulation of a manipulator on a general-purpose
Eds. New York: Plenum, 1979. vector/parallel computer are presented. After effective vectorization of
[3] X. J. MO and L. Z. Liu, “A robot system with vision, touch and slide the complex dynamics equations required in simulation, a coarse-grain
sensors for the grip onto a moving conveyor belt,” in Proc. 15th In?. parallel block predictor-corrector (BPC) method for performing the
Symp. Industrial Robots, Tokyo, Japan, Sept. 1985, pp. 129-136. motion integration was realized on multiple processors to exploit a form of
[4] W. Patzelt, “A robot position control algorithm for the grip onto an temporal parallelism. Results on a CRAY Y-MPS/864 show that effective
accelerated conveyor belt,” in Proc. 12th In?. Symp. Industrial Robots, use of vectorization and parallelization yields an order of magnitude
Paris, France, June 1982, pp. 391-399. speedup resulting in a computational rate 50 times faster than real-time
[5] J. Y. S. Luh, “Conventional controller design for industrial robots-A for end-effector position ermrs on the order of a micron. This translates
tutorial,” IEEE Trans. Syst., Man, Cybern., vol. SMC-13, pp. 298-316, to real-time performance on a less powerful parallel computing system.
May/June 1983.
[6] R. P. Paul, “ManipulatorCartesian path control,” IEEE Trans. Syst., Man,
Cybern., vol. SMC-9, pp. 702-711, Nov. 1979. I. INTRODUCTION
[7] R. H. Taylor, “Planning and execution of straight line manipulator
trajectories,” IBM J . Res. Develop., vol. 23, no. 4, pp. 424-436, July Dynamic simulation is an important tool that has been limited
1979. to off-line applications such as the evaluation of mechanical and
[8] H. P. Geering, L. Guzzella, S. A. R. Hepner and C. H. Onder, “Time- control designs for robotic systems. With its use, basic approaches
optimal motions of robots in assembly tasks,” IEEE Trans. Automatic to mechanical design may be compared while avoiding construction
Contr., vol. AC-31, pp. 512-518, June 1986.
[9] K. G. Shin and N. D. Mckay, “Minimum-time control of robotic of costly prototypes. It also allows control engineers to develop the
manipulators with geometric path constraints,” IEEE Trans. Automatic basic structure of the controller and set initial values for the gains
Contr., vol. AC-30, pp. 531-541, June 1985. that stabilize the system while avoiding the ill effects of instabilities
[lo] J. E. Bobrow, S. Dubosky and J. S. Gibson, “Time-optimal control of on actual hardware.
robotic manipulators along specified path,” In?. J . Robotics Res., vol. 4, The desirability of real-time simulation for on-line control has
no. 3, pp. 3-17, Fall 1985.
[ l l ] B. H. Lee, “Constraint identification in time-varying obstacle avoidance been shown in a number of applications such as in earth-based
for robot manipulators,” IEEE Trans. Syst., Man, Cybern., vol. SMC-19, teleoperation of remote robotic systems in space [l].Because of the
pp. 140-143, Jan./Feb. 1989. transmission time delays involved in satellite communications, direct
[12] M. Vukobratovic and M. Kirkanski, “A method for optimal synthesis control by a human operator working with a delayed image of the
of manipulation robot trajectories,” ASME J . Dyn. Syst., Meas., Contr.,
vol. 104, no. 2, pp. 188-193, June 1982. robotic system is difficult. Performance is greatly improved when a
[13] K. G. Shin and N. D. Mckay, “A dynamic programming approach to display of the simulated system is also made available to the operator,
trajectory planning of robotic manipulators,” IEEE Trans. Automatic on-line, with no time delay. While many of the current teleoperated
Contr., vol. AC-31, pp. 491-500, June 1986. systems are slow enough so that a kinematic model is sufficient,
[14] S. Singh and M. C. Leu, “Optimal trajectory generation for manipulators dynamic simulations may be required when force control or faster
using dynamic programming,” ASME J . Dyn. Syst., Meas., Contr., vol.
109, no. 2, pp. 88-96, June 1987. trajectories are desired. Beyond the real-time goal, super-real-time
[15] D. E. Kirk, Optimal Control Theory. Englewood Cliffs, NJ: Prentice- simulation is also desired in some applications such as in advanced
Hall, 1970. control schemes where trajectory planning is used, and seconds of
[16] R. E. Bellman and S . E. Dreyfus, Applied Dynamic Programming. motion trajectory need to be simulated in milliseconds [ 2 ] . This is
Princeton, NJ: Princeton Univ. Press, 1970.
[17] M. Brady, J. M. Hollerbach, T. L. Johnson, T. L. Perez and M. T. useful in multilegged vehicles [3] when prediction of the action of the
Johnson, Robot Motion: Planning and Control. Cambridge, MA: MIT present control is used to ensure safety and stability along a desired
Press, 1982. trajectory.
The major obstacle to achieving the required computational rates,
however, is the complexity of the dynamic equations to be simulated.
Because of this, dynamic simulation is usually several orders of
magnitude slower than real-time, and this has often limited its utility.
The problem is compounded by increases in the structural and task
complexity found in systems now being considered. These systems
Manuscript received July 14, 1990; revised May 24, 1991. This work was
supported in part by a grant from CRAY Research and in part by The Ohio
State University.
S. McMillan and D. E. Orin are with the Department of Electrical
Engineering, The Ohio State University, Columbus, OH 43210.
P. Sadayappan is with the Department of Computer and Information
Science, The Ohio State University, Columbus, OH 43210.
IEEE Log Number 9104098.

0162-8828/92%03.00 0 1992 IEEE

You might also like