Cira 2007 382906

You might also like

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

Proceedings of the 2007 IEEE International Symposium on FrBT1.

2
Computational Intelligence in Robotics and Automation
Jacksonville, FL, USA, June 20-23, 2007

Minimum-Time Algorithm For Intercepting An Object On The


Conveyor Belt By Robot
Ik Sang Shin, Sang-Hyun Nam, Rodney G. Roberts, Seungbin B. Moon

Abstract—This paper provides a minimum time algorithm to robot and object arrival time curves to obtain the optimal
intercept an object on the conveyor belt by robotic manipulator. solution. However, we made several distinctive contributions
The goal is that the robot is able to intercept objects on a in this paper as described below. First is that we considered
conveyor line moving at a given speed in minimum time. In the exhaustive cases where robot travel time functions are
order to formulate the problem, we introduce the robot and
object arrival time functions, and conclude that the optimal
dependent upon initial positions of robotic end-effectors.
point occurs at the intersection of these two functions. The Second contribution is that when we calculate robot travel
search algorithm for finding the intersection point between the time, we employed a trapezoidal velocity profile which is
robot and object arrival time functions are also presented to used in many industrial robots currently in use. Thus, we
find the optimal point in real-time. believe that robot travel time we obtained is more practical
and readily implemented to any commercially available
robots. Third contribution we made is that we presented a
I. INTRODUCTION
fast converging search algorithm so that real time application
The problem of catching a moving object on conveyor belt is more feasible in many cases.
by robotics manipulators is somewhat similar to ones of This paper is organized as follows. In Section 2, problem
hitting the baseball or table tennis ball with specially statement and object interception modes are presented. In
equipped robotic end-effector or hitting the incoming missile Section 3, the robot and object arrival time functions are
by an interceptor. There have been numerous studies on detailed for various cases. The real-time search algorithm to
catching the moving objects by robotic manipulators. We find the intersection point between two monotonic curves is
may categorize these studies to tackle this problem into three shown in Section 4. Conclusion is given in the last section.
approaches.
First approach is to employ vision processing to track the II. CONVEYOR SYSTEM WITH MANIPULATORS
moving object. Employing vision processing such as optical Figure 1 shows a typical robotic assembly line with a
flow, they track the motion of object and this information is conveyor system where objects are supplied in continuous
supplied to robot to handle the object. [1, 2, 3, 4] Second fashion to be handled by the robotic manipulator. This
approach is to employ prediction, planning, and system consists of a fixed CCD camera, a 6 DOF robot AT-2
execution(PPE) methodology. In PPE approach, the object by Samsung Electronics, and a host computer for vision
motion is predicted, and then robot motion is planned and processing. We assume that the conveyor belt moves at a
executed to intercept the object.[5, 6, 7, 8, 9] Third approach fixed speed, and a vision camera is installed at the beginning
is to employ navigation and guidance theory which has been of the conveyor line.
applied to track free-flying missiles.[10, 11, 12] Off-line
time-optimal algorithms to find the intersection point
employing traditional robotic time-optimal algorithms[13, 14,
15] has been also reported by various researchers.[16, 17, 18,
19] Their approach is different from above mentioned three
approaches in that they find the optimal solution in off-line.
In this paper, our goal is to find the minimum-time
rendezvous point to catch moving object, employing PPE
approach in real time. The approach shown in this paper is
similar to the one used in Croft. et. al.[9] in that we employed

Ik Sang Shin is with Dept. of Mechanical Engineering, Kyung Hee


University, Yongin, Korea.(e-mail: isshin@dreamwiz.com)
Sang Hyun Nam is with School of Electronics and Information Engineering,
Cheongju University,Korea. (e-mail:shnam28@cju.ac.kr)
Rodney G. Roberts is with Dept. of Electrical and Computer Engineering, Figure 1. Conveyor and robot system
Florida State University, USA. (e-mail: rroberts@eng.fsu.edu)
Seungbin B. Moon is with Dept. of Computer Engineering, Sejong
University, Seoul, Korea. (Corresponding author phone: +82-2-3408-3243;
fax: +82-2-3408-3321; e-mail: sbmoon@sejong.ac.kr ).

1-4244-0790-7/07/$20.00 ©2007 IEEE. 362


FrBT1.2

The purpose of this paper is to search the optimal While robot arrival time curve, t r (x) , is generally not known
grasping point on which robot catches the object moving on in advance, we may obtain it when we are given specific point
the conveyor belt in minimum time. In order to grasp the on by employing a velocity profile curve. The object arrival
object in minimum time, we first need to identify the time, t o (x) , in conveyor belt system has rather simple form
candidate points on the conveyor belt and decide the optimal
as below since it usually maintains constant velocity.
point from these candidate points on which required grasping
time is minimal. We may classify the interception modes into
three cases, according to the rendezvous conditions. As
shown in Figure 2(a), the robot meets the object right on time
to ( x) = c1 × x + c2 for c1 , c 2 Î Â (1)
in the optimal mode. In the waiting mode shown in Figure
2(b), the robot arrives earlier than the object and waits for the
object. In the tracking mode shown in Figure 2(c), the robot
arrives after the object passed and thus has to track the object,
maybe in faster speed. In this paper, we develop the
algorithm to search the optimal point where the robot and
object meet simultaneously. Since the optimal point lies on
the conveyor belt line of a straight line, this is basically one
dimensional search algorithm.

III. ROBOT AND OBJECT ARRIVAL TIME FUNCTIONS


We now define the robot arrival time and object arrival
time in order to describe the developed algorithm. The robot
arrival time, t r (x) , shown in Figure 3, is defined as the time
required to reach x, a point on the conveyor belt. Likewise, Figure 3. Robot and object arrival time curves
the object arrival time t o (x) is defined as the time required to
reach x, a point on the conveyor belt. In Figure 3, the x axis
In order to grasp the object, the robot should arrive at the
represents positions on the conveyor belt and the y axis
same time as or earlier than the object. Thus, we define the
represents the robot and object arrival time where the robot
admissible region where robot is able to catch the object as the
arrival time, t r (x) , is represented as a dotted line, while the
region where the robot arrival time curve is below the object
object arrival time, t o (x) , is represented as a solid line. arrival time curve. If both curves are monotonically
increasing or decreasing, then there exists unique
intersection point that is the optimal position to catch the
object in minimal time.
Since object moves along the conveyor belt which moves at
a fixed speed, the object arrival time curve is expressed as
Eq.(1). However, the robot arrival time curve is in general
not known in advance and may be dependent upon the initial
positions of the robot, as shown in Fig. 4. When the
end-effector of the robot is initially located at the beginning of
the conveyor belt, as shown in Fig. 4(a), the robot arrival time
is expected to be monotonically increasing, as in Fig. 5(a).
When the end-effector is located initially near the center of
conveyor belt, as shown in Fig. 4(b), then robot arrival time
curve has a parabolic shape, as in Fig. 5(b). In this case,
there exist two intersection points between the robot and
object arrival time curves. The optimal solution would be the
first intersection point since this intersection occurs first. In
this case, we may have to assume that the initial candidate
region is bounded by the left half of parabolic curve in order
Figure 2. Interception modes on the conveyor belt to guarantee that robot arrival time curve is monotonic. This
assumption of monotonicity by selecting the left half of robot
arrival time curve is justified since robot can wait at the

363
FrBT1.2

center of the conveyor belt, which is the initial position, to


catch the object in this case. Obviously, we may limit the
candidate region from the beginning of the conveyor belt to
the center of the conveyor belt without loss of generality.
If the end-effector is initially located near the end of the
conveyor belt, as seen in Fig. 4(c), the robot arrival time curve t r (x)
to (x )
is monotonically decreasing, as shown in Fig. 5(c). If the
end-effector is located opposite of the conveyor belt, as shown
in Fig. 4(d), then we may obtain two different robot arrival
time curves according to the initial direction of motion. If the
first axis of the robot, called swivel axis, moves in a clockwise
direction, then the robot arrival time curve is monotonically
increasing, otherwise it is monotonically decreasing, as
shown in Fig. 5(d). In this case, we may find two intersection xi1 x* x f1
* **
points with each curve, denoted as x and x in Fig. 5(d), (a)
*
and choose the one with less value of x, x , as the optimal
solution. However, most robot manufacturers usually impose
motion limits to the swivel axis in order to guarantee that
there will be no cable winding problem at the harness near the tr (x )
base of robot. In this case only one direction, either t o (x )
clockwise(CW) or counter clockwise(CCW) will be allowed,
and accordingly there will only one robot arrival time curve
available.
When the robot arrival time curve is always above the
object arrival time, then there does not exist admissible
region, and no solution exists. This may happen if the
conveyor belt moves so fast that the robot do not have
opportunity to catch the object at all. Therefore, there will be
optimal solution available in this case. When multiple
objects are supplied on the conveyor belt and the manipulator xi1 x* xf1
cannot handle all the objects, this situation will happen.
(b)

(c)

Figure 4. Initial positions of the robot


(a) Front beginning position, (b) Front center position,
(c) Front end position, (d) Rear center position

364
FrBT1.2

(ii) Robot arrival time curve, t r (x) , is monotonic in


[ xi1 , x f 1 ].
(iii) Object arrival time curve is expressed as
to ( x) = c1 × x + c2 .

The exact shape of the robot arrival time function is


generally not provided in advance. Of course, we may find
exact form of function if we obtain enough intermediate
points and interpolate them to approximate it. However,
since it cannot be executed in real-time because of
computational burden related to inverse kinematics, it is not
acceptable for object grasping on the conveyor belt where the
(d) optimal point calculation should be carried out in real-time.
We present below a real-time search algorithm to find the
optimal intersection point by adopting binary search
algorithm, and then show the improved version of it.
Robot arrival time is obtained by considering trajectory
planning and inverse kinematics. Though basic form of
trajectory planning is trapezoidal, each manufacturer adopts
different details to implement it to maximize the fast
acceleration without inducing any mechanical vibration.
Thus analytical form is not readily available.
We first present binary search algorithm to find the
intersection point. After that, we will provide improved
version of search algorithm employed in our approach.
Binary search algorithm basically tries to converge to an
intersection point iteratively by selecting either half of given
range as range of subsequent steps[20]. Since we assume
(e) that there exists an unique intersection point in [ xi1 , x f 1 ],
Figure 5. Various cases with the robot and object arrival time curves
(a) The robot arrival curve is monotonically increasing, this intersection point is located either half of [ xi1 , xm1 ] and
(b) The robot arrival curve is parabolic,
(c) The robot arrival curve is monotonically decreasing, [ xm1 , x f 1 ], where xm1 is the half point between xi1 and x f 1 ,
(d) The two robot arrival curves are possible according to the rotation
directions, which is expressed as follows.
(e) Solutions do not exist.
xm1 =
(x i1 + x f1 ) (2)
2
IV. ALGORITHM TO SEARCH INTERSECTION POINT
We see from the discussions in the previous section that The criteria to choose which segment as the subsequent
finding the minimum time location where robot can catch the range will be based on Step 4 and 5 of Algorithm 4.1 below.
object on a conveyor belt is to obtain an intersection point
between robot arrival time curve and object arrival time curve. Algorithm 4.1 (Binary Search)
Then, we need a search algorithm to find this intersection Step 1. Set k = 1 and choose xi1 , x f1 appropriately.
point starting from the initial candidate region, [ xi1 , x f 1 ], (
Step 2. Calculate xmk = xik + x f k / 2 . )
since we do not know the algebraic form of robot arrival time
*
Step 3. If | to ( xmk ) - t r ( xmk ) | < d , set x* = xmk and
curve. In finding this intersection point, denoted as x , we
stop the algorithm, otherwise go to Step 4.
assume followings. As described in the previous section,
Step 4. If sign ( to ( xmk ) - t r ( xmk ) ) = sign ( to ( xik ) - t r ( xik ) ) ,
theses assumptions are valid as long as we select the initial
candidate region carefully. then go to Step 5, else set
xik +1 = xik , x f k +1 = xmk and go to Step 2.
(i) There exists unique solution in [ xi1 , x f 1 ]. Step 5. If sign ( t o ( xmk ) - tr ( xmk )) = sign( t o ( x f k ) - t r ( x f k )) ,

365
FrBT1.2

then go to Step 6, else set xik = xmk , x f k = x f k


+1 +1
binary search algorithm, we now use either [ x i , ~
x k ], [ ~
* *
xk ,
k

and go to Step 2. x ], [ x , ~ x ], or [ ~
* *
mk mk x , x ] in improved binary search
k k fk
Step 6. Since there is no unique intersection point in
algorithm. This obviously results in the reduction of search
[ xik , x f k ], stop here.
region and expedites the iteration process as long as optimal
solution exists in new narrower range.
In Algorithm 4.1, the value of d is given based on the In order to claim the assertion that the new search range
desired accuracy level as in Eq.(3). If this value is too small, was narrowed and there exists the optimal solution in the new
then more accurate intersection point can be achieved, but the range, we assume that an unique intersection point exists in
disadvantage will be an increased number of steps and [ x i , x m ] in Algorithm 4.1, without loss of generality, as
k k
resulting computation times. shown in Fig. 6. Since there exists an unique intersection
| to ( xmk ) - t r ( xmk ) | < d (3) point in [ x ik , x m k ], we know that

sign ( to ( xmk ) - t r ( xmk ) ) ¹ sign ( t o ( xik ) - t r ( xik ) ) .


Now, in order to improve the search algorithm, we
~
introduce the approximate robot arrival time curve, trk (x) ,
Now, it is certain from Fig. 6 that there exists an unique
~ ~
intersection point between t o (x) and trk (x) , as trk (x) is
which connects tr ( xik ) , t r ( xmk ) , and t r ( x fk ) in straight
~ merely a line connecting t r ( xik ) and t r ( xmk ) . Thus, we
lines, as shown in Fig. 6. Now, trk (x) is expressed as follows.
showed that the narrower range indeed contain the optimal
solution. We now describe an improved search algorithm
based on above discussions.
ì tr (xik ) -tr (xmk ) xik ×tr (xmk ) -xmk ×tr (xik )
ï
xik -xmk
x+
xik -xmk
[
for xÎ xik , xmk ] Algorithm 4.2 (Improved Binary Search)
ïï
~( ) Step 1. Set k = 1 and choose xi1 , x f1 appropriately.
trk x = í
ï tr (xm ) -tr (xf ) xm ×tr (xf ) -xf ×tr (xm )
ï k k
x+ k k k k
[
for xÎ xmk , xfk ] (
Step 2. Calculate xmk = xik + x f k / 2 and calculate an )
ïî xmk -xfk xmk -xfk
intersection point between the approximate robot arrival
trk ( x) and object arrival curve t o (x) as ~
curve ~
*
(4)
xk .
Step 3. If | (t r ( ~
xk ) - t o ( ~ d , set x* = ~
* * *
xk )) | < xk and
Now, we denote the intersection point between ~
trk ( x) and
stop the algorithm, otherwise go to Step 4.
t o (x) as ~ Step 4. If ~
*
x k , and assume it as an approximate solution at *
xk Î [ xik , xmk ] and
the k-th iteration. Thus, ~ *
x is expressed as below.
sign ( t r ( ~
xk ) - to ( ~
* *
k
xk ) ) = sign ( t r ( xi ) - to ( xi ) ) ,
k k

then go to Step 5, else set


x ik + 1 = x ik , x f k + 1 = ~
*
x k and go to Step 2.
ì c2 (xik - xmk ) - (xik ×tr (xmk ) - xmk ×tr (xik ))
ï
(tr (xik ) -tr (xmk )) - c1(xik - xmk )
[
for x~k Î xik , xmk
*
] Step 5. If ~
*
xk Î [ xik , xmk ] and sign( tr ( ~xk * ) - to ( ~xk * ) ) =
ï
~ * ï
xk = í sign ( t r ( xm k ) - to ( xmk ) ) , then go to Step 8, else set
ï c2(xm - xf ) - (xm × tr (xf ) - xf × tr (xm ))
ï k k k k k

(tr (xmk ) -tr (xfk )) - c1(xmk - xfk )


k *
[
for x~k Î xmk , xfk ] x =~
ik +1 x , x = x and go to Step 2.
*
k f k +1 mk
ïî
Step 6. If ~
*
xk Î [ xmk , x f k ] and sign ( t r ( ~
xk ) - to ( ~
*
xk ) ) =
*

(5)
sign ( t r ( xm k ) - to ( xmk ) ) , then go to Step 7, else set
xik +1 = x mk , x f k +1 = ~
*
In the next iteration, xik +1 and x f can be decided using xk and go to Step 2.
k +1

Step 7. If ~
*
Algorithm 4.2, described below. Generally speaking, xk Î [ xmk , x f k ] and sign( tr ( ~xk * ) - to ( ~xk * ) ) =
improved algorithm achieves shorter iterations by selecting
sign( t r ( x f ) - to ( x f ) ) , then go to Step 8, else set
narrower search range than binary search algorithm at each k k

step by utilizing value of ~ =~


*
*
x k . While we have chosen either xik +1 xk , x f k +1 = x f k and go to Step 2.
[ x i , x m ] or [ x m , x f ] as a subsequent search range in Step 8. Since there is no unique intersection point in the
k k k k
given range, stop here.

366
FrBT1.2

The presented algorithm can be successfully applied to the


factory automation where robot is expected to handle various
models of objects supplied on the conveyor belt in real-time.
Since we considered exhaustive cases with initial robot
to(xfk ) end-effector positions and utilized realistic velocity profile, it
tr (xik )
~ can be readily implemented to any commercial manipulators
tr ( x) to (x ) in use.

tr (x) REFERENCES
to ( xmk ) [1] R. Sharma, J. Y. Herve, and P. Cucka, "Dynamic robot manipulation using
visual tracking," Proc. of IEEE Int. Conf. Robotics and Automation, Nice,
France, pp. 1844-1849, 1992.
[2] P. K. Allen, A. Timcenko, B. Yoshimi, and P. Michelman, "Automated
tracking and grasping of a moving object with a robotic hand-eye system,"
IEEE Trans. Robotics and Automation, Vol.9, pp. 152-165, 1993.
tr ( x fk ) [3] N. P. Papanikolopoulos and P. K. Khosla, "Feature based robotic visual
t o ( xik ) tracking of 3-D translational motion" Proc of the 30th IEEE Conf Decision
x* x~k and Control, pp. 1877-1882, 1991.
*
xik xmk x fk
[4] N. P. Papanikolopoulos, P. K. Khosla, and T. Kanade, "Visual tracking of a
moving target by a camera mounted on a robot: a combination of control
and vision" IEEE Trans. Robotics and Automation, Vol.9 pp. 14-35,
1993.
Figure 6. Algorithm for searching optimal solution
[5] T. H. Park and B. H. Lee, "An approach to robot motion analysis and
planning for conveyor tracking," IEEE Trans Sys. Man Cybern., pp.378 –
384, 1992.
[6] E. A. Croft, R. G. Fenton, and B. Benhabib, "Time-optimal interception of
The algorithm terminates when the difference of the robot objects moving along topologically varying paths," Proc. IEEE Int. Conf.
arrival times and object arrival times is less than d , a Sys. Man Cybern., pp.4089 – 4094, 1995.
[7] E. A. Croft, R. G. Fenton, and B. Benhabib, "Time-optimal interception of
predefined value, as seen in Eq. (6). objects moving along predictable paths," Proc. IEEE Int. Symp. Assembly
| (t r ( ~
xk ) - t o ( ~
* *
xk )) | < d (6) and Task Plan., pp.419 – 425, 1995.
[8] D. Hujic, E. A. Croft, G. Zak, R. G. Fenton, J. K. Mills, and B. Benhabib,
“The robotic interception of moving objects in industrial setting: strategy
development and experiment” IEEE Trans Mechatronics, pp.225-239,
1998.
As discussed in binary search algorithm of Algorithm 4.1, [9] E. A. Croft, R. G. Fenton, and B. Benhabib, "Optimal rendezvous-point
the value of d , given in Eq. (6), is based on the desired selection for robotic interception of moving objects," IEEE Trans Sys. Man
Cybern. Part B, pp.192 – 204, 1998.
accuracy level as in Eq.(6). If this value is too small, then [10] M. Mehrandezh, N. M. Sela, R. G. Fenton, and B. Benhabib, "Robotic
more accurate intersection point can be achieved, but the interception of moving objects using ideal proportional navigation
guidance technique," Robotics and Autonomous Sys, pp.295 – 310, 1999.
disadvantage will be an increased number of steps and [11] M. Mehrandezh, N. M. Sela, R. G. Fenton, and B. Benhabib, "Robotic
resulting computation times. interception of moving objects using an augmented ideal proportional
navigation guidance technique," IEEE Trans Sys. Man Cybern. Part A,
Since improved binary search algorithm involves more pp.238 – 250, 2000.
steps per iteration, computation time will be longer. The [12] D. Chwa, J. Kang, J. Y. Choi, "Online trajectory planning of robot arms for
overall computation time, however, will be short as number interception of fast maneuvering object under torque and velocity
constraints," IEEE Trans Sys. Man Cybern. Part A, pp.831 – 843, 2005.
of iteration will be smaller in general. [13] K. Shin and N. D. McKay, "Selection of near-minimum-time geometric
paths for robotic manipulators", IEEE Trans Automatic Control, Vol.31
Issue.6 , pp. 501-511, 1986.
V. CONCLUSION [14] V. Rajan, "Minimum time trajectory planning", IEEE Int. Conf. Robotics
and Automation, pp.759-7645, 1985.
In this paper, we presented algorithms to find the [15] S. B. Moon and S. Ahmad, "Time-optimal trajectories for cooperative
minimum-time interception point on a conveyor belt to catch multi-manipulator systems”, IEEE Trans. Sys., Man, Cybern. Part B, pp.
343-353, April 1997.
the moving object in real-time. Employing binary search [16] S. Ma and M. Watanabe, "Minimum time path-tracking control of
algorithm, we successfully find the optimal rendezvous point, redundant manipulators," Proc. IEEE Int. Conf. Intellig. Robots and Sys.,
pp.27 – 32, 2000.
which is an intersection point between robot and object [17] M. Mehrandezh and K. Gupta, "Time-optimal rendezvous planning for
arrival time curves. We also presented an improved binary pick-and-place task sharing,” Proc. IEEE Int.Conf. Robotics and Autom.,
search algorithm to find this intersection point in real-time. pp.2703 – 2708, 2000.
[18] K. Kondak, S. Binner, G. Hommel, and M. Neumann, "Time optimal
The improved binary search algorithm shows a better manipulator control for sensor guided grasping of moving objects," Proc.
performance in terms of computation time and accuracy. IEEE Int. Conf. Intellig. Robots and Sys., pp.1912 – 1917, 2001.
[19] A. Efrat, H. H. Gonzalez-Banos, S. G. Kobourov, and L. Palanniappan,
Though simulation results are omitted due to the page
"Optimal strategies to track and capture a predictable target," Proc. IEEE
limitation, it will be provided in the future. Int. Conf. Robotics and Autom., pp.3789 – 3796, 2003.

367

You might also like