Intelligent collision avoidance by fuzzy logic control

Intelligent collision avoidance by fuzzy logic control

Robotics and Autonomous Systems ELSEVIER Robotics and Autonomous Systems 20 (1997) 61-83 Intelligent collision avoidance by fuzzy logic control * ...

937KB Sizes 0 Downloads 124 Views

Robotics and Autonomous

Systems

ELSEVIER

Robotics and Autonomous Systems 20 (1997) 61-83

Intelligent collision avoidance by fuzzy logic control * Chia-Han Lin, Ling-Ling Wang* Institule of Computer Science, National Tsing Hua University. Hsinchu, .30043 Taiwan, Republic nf China

Received 29 June 1995; revised 15 April 1996; accepted 15 April 1996 Communicated by EC.A. Groen

Abstract A fuzzy approach to collision avoidance for automated gui:!ed vehicle (AGV) navigation has been proposed in our earlier work. By fuzzy inference, an AGV was guided from the sta;ting point toward the target without colliding with any static obstacle as well as moving obstacle. In the present study, emphasis is on some difficult issues concerning AGV navigation. including sensor modeling and trap recovenng. In sensor modeling, we wish to find the minimum number of sensors and their opfimal arrangement on an AGV, so that the views of all angles can be seen by the AGV In trap recovering, fuzzy logic and crisp reasoning are combined to guide an AGV to get out of a trap. Moreover, the AGV's ability to avoid collision with unknown moving obstacles is improved in the study. Simulation results are presented to show the fea ibility of the proposed approach. Keywords: Automated guided vehicle navigation: Collision avoidance: Trap recovery; Sensor modeling

1. Introduction Owing to the great application potential of automatic guided vehicles (AGVs) [17.27], they will play an important role in the future life of human beings. This tena~ency has attracted a~ention of many researchers in the areas of engineering, computer science, Iocon~otion, and so on. A m o n g the broad set of research areas in AGV navigation, collision avoidance is indispensable for autononlous navigatian. The research in this field can be divided into two major categories: global path planning and local motion planning. The former is m design a collisionfree path for a robot moving from a starting point

* SupFotted pama,,y by National Science Council, Republic of China under Grant NSC84-2212-E-007-014. * Corresponding author.

toward a target among obstacles in a known environment [2,8,9,13,16,23,29]. These methods, in general, can find an optimal path, but they are unsuitable in real situations. Failure to consider possible intrusion of previously unknown obslacles prohibits flexiale vehicle navigation. The latter is to move a robot in an unknown environment and to avoid collision with obstacles dynamically. Usually, only a feasible path, instead of an optimal path, is found in these methods. However, they are more flexible for practical time-varying environments. One approach to motion planning among unknown static obstacles is the wall-following method [3]. In the method, when a robot finds an obstacle on its way, it follows the contour of the obstacle in a certain distance until it passes the obstacle. Another approach to generating motions among unknown static obstacles uses the concept of virtual force field [4]. It is assumed

0921-8890/97/$17.00 © 1997 Elsevier Science B.V. All rights reserved PII S0921-8890{96)0005 i -6

C-H. Lin. L - L Wang~Robotics and Autonomous Systems 20 119~7) 6 1 ~ 3

that there are a virtual repulsion force between each obstacle and the robot, and a virtual attraction force between the target and the robot. Hence the robot will he pulled toward the target and pushed away from obstacles on the way to the larger. When the robot detects a local trap condition, it moves along the wall until i¢ returns to a safety state. The third approach is based on a two-dimensional ve,~tor-field histogram [5] to plan a collision-free path eJnong unknown static obstacles. It invokes a global path planner to plan a new path when the robot ge~s trapp,:,]. A shortcoming of this method is that it does not use the local sensor data to leave a ~ap state; it needs global information to guide the robot to recover from the trap. The fourth approach [6] is composed of two phases; one is the global path planning and the other is the local reac!ive navigation. It applies a genetic algorithm m sol',e the first phase by generating a safety path, and uses a neural network in the second phase to trac .z the safety path and to avoid unknown static obstacles, on that path. The fifth approach ]20] uses a class of strategnes to plan motions fo~" a circle robot navigating ~n a highly complex unce,-tain environment. Since the robot is assumed to be of circular shape, its orientat.ionneed not he taken care of in the design of algorithms for motion planning. The above approaches only deal with static obstacles. But in real situations, obstacles are not always stationary. Some studies deal with motion planning among moving obstacles with known trajectories. Fu.iimura and Samet [7] proposed a method to plan a time-minimal motion among moving obstacles with fixed velocities. They represented the environment by an accessibility graph and selected a sequence of edges in the graph as a time-minimal motion of the point robot. Kyriakopoulos and Saridis [10] assumed that the AGV moved along a known trajectory and introduced an estimation method to predict whether a not collision between the AGV and obstacles might occur. If the collision would happen, the velocity of the AGV was changed to evoid the collision. Alexopoulous and Griffin [ i ] modeled the navigation environment with a *h~e dimensional space-time, and planned a collisionfree path for the AGV by a variation of the visibility graph algorithm Each moving obstacle was also assumed to move a~,,,nga linear lath at a constant speed. The conce;.t of ~uzzy set theory was presented by Zadeh in 19~5 ]30]. Dt,.ring the past years, fuzzy logic has acbleved a high degree of success and popularity in

many areas such as control,decision making, approximate reasoning, and pattern recognition.Fuzzy conIrol is olne of the most successful applications. Several collision avoidance approaches based on fuzzy logic have been proposed [18,22,24]. These methods only deal with static obstacles, and thus are not practical for real navigation environments. Song a~d Sheen [21 ] used fuzzy-neuro networks to develop a local motionplanning method for AGV navigation. Some simple trap situations were considered in this method, but all obstacles were assumed to be static. In our earlier work [14], a fuzzy approach to collision avoidance for AGV ~tavigation has been propos~J. The AGV was assumed to be rectangular in shape and three ultrasonic sensors were assumed to be mounted in front of the AGV. ~tatic obstacles with no a priori position information as weil as moving ob-:tacles with unknown trajectories were considered in the work. Intuitive and subjective human ideas of collision avoidance were modeled into fuzzy rules. Also fuzzy logic was applied in the inference procedure foi" AGV navigation, such that the AGV was guided from the starting point toward the target without colliding with obstacles. In si~mpS;environments, the effectiveness of the approach has been proved. But the AGV may he caught in a trap when it navigates in a comI'lex environmeot. Only a simple trap situation wP.s considered in the W , coding work. In the lnesent study, emphasis is on some difficult iss-es concerning AGV navigation, including sensor modeling and nap recovering. In addition, more flexible rules o f avoiding collision with moving obstacles are designed. The objective of sensor modeling is to find the minimal number o f sensors and their optimal arrangement on an AGV. such that the views of all angle~ can he seen by the AG%: We try. to transform the problem to a 0--i integer linear-programming problem, and solve it by a state-space search method. When an AGV is exploring in a complex environmerit, such as in a maze, trap states frequently occur. In this case, the AGV may neither move nor turn but just keep waiting endlessly, or loop forever. It is therefore significantly important for an AGV to be able to recover from a trap. For a point .,~GV, without regard to its orientation, the algorithms of mo:.ioa planning and trap recovering are easier to design. But for an AGV of rectangular shape, to solve the diverse trap problems, it should have the ability to back up and to

C.-H. Lin. L.-L Wang~Robotics and A,,tonomous Systems 20 (1997) 61--83

memonze the passed path:~. If an AGV lacks ability in backing up, it may got stuck in a narrow dead alley forever. Moreover, if it lacks the faculty of memory to memorize the paths which have been passed, then endless iterative loops may occur. To get out of a trap, fuzzy logic is still utilized in this study to handle ambiguities. Memories of paths and crisp sequence flows are handled by nonfuzzy processing. That is, fuzzy logic and crisp reasoning are combined to simulate. "human-like" b,.havior-decision abilities in the AGV. In our earliei' work, collision between the AGV and a moving obstacle is avoided by reducing the AGV's velocity according to its distance, if the distance: is short, the AGV waits for the moving obstacle to pass by. Only the AGV's velocity is changed, but its orientation remains unchanged. That is, the AGV does not r~'.ke the initi0tive in avoiding co!lisit.n with the moving obstacle. However, more flexibility will be provided if the AGV can also turn its orientation to avoid collision with moving ob_q~,cles, in the present work, a prediction n,ed~od is first used to check whether a collision be..'ween the AGV and a moving obstacle will happen in future. Fuzzy rules which are more llex~ble than those we presented in [l,ll are then used to guide the AGV without colliding with moving obstacles. The rest of this paper is organized as follows, in Section 2, we introduce the sensor modeling problem and its ~lution. Section 3 gives an overview of the proposed approach. The m e ~ o d of recovering an AGV from traps is proposed in Section 4. The fuzzy approach to avoiding ccdlision with moving obstacles is described in Section 5. Some simulation results are given in Section 6. Conclusions appear in Section 7.

2. Sensor modeling The objective of sensor modeling is to find the minimum number of sensors and their optimal arrangement on an AGV, such that the views of all angles can be .seen by the AGV. Leou and Tsai [ i 51 developed a sensor arrangement method for automatic robot operation monitoring. They represented the sensor arrdngement problem as a 0--1 integer linear-programming problem, and obtained the optimal arrangement to monitor the robot operations. Based on this concept, our problem of sensor modeling can also be solved by a linear-programming technique.

Fig. I. Initial sensor arrangement.

2.1. Initialization and assumption

To formulate our sensor modehng problem, some assumptions about the AGV and the sensors are made. The AGV is assumed to be of rectangular shape and lay in a circle of feature points. These feature points arc used to model the views of all angles of tim AGV. Some parameters about the AGV, the sensors, and the feature points are assumed to be as follows: AGV size: 60cm x 40cm view angle of sensor: +30 ° ~ - 3 0 ° distance betwr,n feature point and AGV: 155cm number of feature points: ~2 initial number of sensors: 24 Initially, 24 sensors, which are more than necessary, are assumed to be mounted on the AGV. Every 15° there is a sensor put on the boundary of the AGV, The initial sensor arrangement is shown in Fig. I, where the dotted line indicates the orientation of the sensor. The arrangement of 72 feature points circling the AGV is shown in Fig. 2. 2.2. Linear-programming problem

We assume that there are 24 sensors mounted on the AGV initially, which are denoted as {Rj, R2 . . . . . R24}. in fact, 24 ~nSOIS arc more than needed, We wish to find the minimal number of sensors such that

64

C.-H. Lin. L-I- Wang~Robotics and Autonomous Systems 20 fl997) 61-83 ~fpi,;,;p0;.V ....

i, , , Ie

""

,/ ,"

. '"

[AGV !

I:1

,.

.

"'"---~

'

-

',. ....



13

10

'::D:' .-

.. • ?

4

Fig. 3. The optimal sensorarrangement. i

Fig. 2. Arrangement of feature points.

all the 72 feature points round the AGV can be detected. In other words, each feature point should be de;~cted by at l e ~ , one scaser. Th.e detection relationship between all sensors and feature points is represented by a 72 x 24 matrix V as follows:

~j

I

if feature point i can be detected by sensor j .

0

otherwise,

=

where I < i < 72 and I < j < 24. A vector S is used

to represent the status of all sensors, and is defined as 1 if sensor/is selected in the optimal arrangement,

S~ =

0

otherwise.

The objective of this problem is to minimize the quantity ~-:~4=1Si with the following constraints:

Vl.I v2.,!

vl.z V2.2i

VI.3 --v2.3i

]/72.1 V72.2 V72~

V~.24"jFSI ] V2:24 1: ] ':"2- ] V72.~4J Ls4

This problem can be solved by a state-space search method 1151. It~ optimal solution is not unique; t_h~ three solutions obtained are: ( | ) [RI, R4, R7, RI0, RI3, RI6, R|9, R22}, (2) {R2, RS, R8, R i b z~t4, RIT, R20, R23}. (3) {R3, R6, Rq, RI2, RIs, RIg, R21, R24}. Only eight sensors are enough to detect all feature points mand the AGV. We choose the first solution as the AGV's optimal sensor arrangemem for u ~ in simulations because of its symmeu'y, as shown in Fig. 3. It is interesting to raise the question t.t,~t whether the required minimum number of sensorx on an AGV is distinct if different initial numbers of sensors and feature points are given in the previous computation. In fact, the same solution is obtained i[ w~ ,.:'~ more sensors or feature points for initialization, since the initial 24 sensors and 72 feature points are enough to model the environment of the AGV. Based on the sensor arrangement shown in Fig. 3, if an obstacle appears unexpectedly at a distance of less than 155cm and not within the view angle of sensors (called the dead angle of ~nsors), the AGV may not detect the ot~swcle. In this urgent case, sensors which c~,3 d c ~ t .'Jbstacles when they touch obstacles can be used. Once an obstacle is touched, the AGV stops. But if the AGV gradually approaches an obstacle which is initially at a distan~.,e larger than 155cm, it can detect the obstacle and take action bet'ore the obstacle falls into the dead angle of sensors.

C.H. L:n. L.-L. Wang~Robotics and Autonomous Systems 20 (1097) 61--83

3. Overview on the proposed approach Fuzzy inference and intuitive fuzzy rules are applied in this study for the guidance of an AGV. ~-~c AGV

moves among unknown obstacle.~ and is expected to reach a specified target. The unknown obstacles may stationary or moving w arbitrary directions and at different speeds. Collision-fr~ motions are generated cycle by cycle according to the results of the f u r y inference procedure. The proposed navigation algorithm is composed of four fuzzy control mod~ ales: static-obstacle avoidance and target directing module, trap detection module, trap tecove~, module, and moving-obstacle avoidance module, as shown in Fig. 4. Before the navi.~ation sessions, some parameters should be initialized in advance - the effective distances of sensors, and the maximum speed and acceleration o f the AGV, for example. At the beginning of each navigation cycle, the AGV first scans the environment to see whether there are moving obstacles in front. If a moving obstacle is detected, the moving-ob~cle avoidance module is executed, which is used to avoid ;he AGV from colliding with moving obstacles. But w!~.._-nno moving o~stacle is found, the static-obstacle avoidance and target directing module is pc,'formed. When a static obsia¢i¢ is detected, if it is near to tim AGV, a larger weight value is used for avoiding the static obstacles. Otherwise, a hu'ger weight value is used for directing the AGV toward the target. That ,~., if the found static ohsta,:les are very near to the AGV, it is more urgent to avoid these obstacles than to direct the AGV toward the target. But when the static obstacles are distant or no static obstacle is found, the AGV has an opportunity to steer toward the target. When an AGV navigates in an unknown ~avirohment, trap states frequently occur. The tr.~ d¢tection module is executed to check whether the AGV walks into a trap and to determin? what kind of traps it falls into. If a trap state is detected, the trap recovery module is executed to guide the AGV to leave the trap. Finally, the orientation and speed computed from the above-mentioned inferettce modules are used to steer the AGV. Also in accordance with the curren~AGV's location, whether the goal is reached can be d~rermi,:ed. If it is not reached, the next navigation cyc!¢ begins.

in this study, the correlation-minimum inference method proposed by Mamdani [19] is applied for fuzzy inference, and the center of area method [ 11 ] is used to defuzzify the inference results of fuzzy rules. Detailed descriptions of the static-obstacle avoidance and target directing module have been given in a preceding pape[ [ 14]. In the following, emphasis is on the trap detection module, the trap recovery module, and the moving-obstacle avoidance module.

4. Fuzzy approach to trap recovery In the navigation sessions, an AGV may get enmeshed in difficulties and cannot escape ~.o tim target, In this case, .;: is called that tim AGV is in a trap state. If the AGV does not. take proper aetion, it cannot leave this predicafnent. In this section, traps are first classifted according to the status that the AGV falls into. Then, the trap detecting and rec.overing methods are described. 4.1. Classification o f traps For the traps that ~ AGV has ever walked ipto in the experimeots, we conclude them to three types. The first type of trap enmeshes the AGV in a motionless ~tatc, that is, the AUV neither moves nor tams but just keeps waiting endlessly. This type of trap state may occur in a dead alley, a narrow lane, etc. An exantple is shown in Fig. 5. The second type of trap makes the AGV loop forever. It may occur in, e.g., a maze. A simple example is illustrated in Fig. 6, where the AGV walks up and down iteratively. In the third type of trap state, several AGVs meet and wait for each other to pass; that is, a deadlock occurs. This kind o f trap problem has been so|red in our earlier work [ 14]. All AGVs just turn fight or left to resolve the deadlock problem and recover from this trap state. 4.2, Trap detection in this section, a fuzzy approach to detecting whether vn AGV walks into a trap is introduced. 4.2.1. Detectin 8 ~pe I trap state A type I trap state often occurs in, e.g., dead alleys. In this state, an AGV neither moves nor turns but just

66

C.-H. Lin, L.-L. Wang/Robotic.~ al~d AutunomtJus S?,'ztems 20 (1997) 61-83

[

AGV ~atmc~czs ..........

l No

m~oslng obs~c~ ~

Yes

,

i

r~'~g-~' :le ]

stafic-obsta:kavo~an~ ~rget directing n~dulc

]

~vo~lJl1~ moduk

T

module

t

trapm.:ove~y [ m~ute

I

No

.

.

.

.

i

AGV

,

--

Fig. 4. The computational frameworkof a navigationcycle.

67

C.-H. l.in, L.-L. Wang/ tlobotic:" and Auwn~,n,ms Systems 20 f l 99 rl 61-83

Fig. 5. Example ~f :)l~e i trap state, where"G denotes the goal

G

........~

(a)

G (b)

Hi

IIH G

.....~.........~

(c)

(d) i

I

G .-

G

~

G

Jtil_

Fig. 6, Exampl~ of lyD¢ II trap ke~ps waiting endlessly. At this time, the output distance readings of sensors R I , RT, and RI3 as shown in Fig. 3 can be used to determine if an AGV is in a type I uap state. These sensors are used to detect obstacles in the front, left, and right directions of the AGV. Two fuzzy rules are designed to determine th,o. degree to which the current AGV's status belongs to type I trap state, as shown in Fig. 7. Rule ! uses the distances of the left and right obstacles to determine the possibility that the AGV is in a narrow lane. if both the left and the right obstacles are near, this possibility is high. Then, Rule 2 uses this possibility and the distance of the obstacle in front of the AGV to determine if it is in a dead alley. If there is a strong

state.

possibility that the AGV is in a dead alley, the degrce to which the AGV will be in a type I trap state is high. The inferenced results of the two rules, namely, narrow_lane_possibility and dead_alley_possibility, will be used in Lhe trap recovery moGule. 4.2.2. Detecting ~ p e II trap state

in a type II trap state, an AGV walks in loops as Fig. 6 shows, it moves far from the goal and later retun,s near to the goal, and again moves far and returns near. This process is repeated again and again. Hence if we find that an AGV falls into this situation, a type II trap ~ate occurs. To detect such a trap state, a distance variable called global-minimal-distance is

C..H. Lin, L.-L. Wang/Robotics and At¢tonomou.~Systems 2¢?(19Q7) 61--83 Rule 1 : IF' leftobstaclenear AND rtght_.obstaclenear THEN htgh narrow_lanepossibtlity Rule 2 : IF high_narrow_lane_possibility A N D ] ' d E N high_deadalle)~_posstbdlty

fr~mtobstacle_ne~-r

left_obstacle neor right obstacle near 1.0 [ /ront obstocle:necr

....... 0

45

T [

,. ~anc~

highnarrow_lane_possibi/itv high_deadalley_.possib~ltty

.i

1

dc~t alley..p~sibiliw n asvow..Ierie Ik~sibility

Fig. 7. Fuzzy roles and membership functions of detecting type I trap state. maintained, which is the minimal distance between the AGV and the goal in the navigation session. It is used to check whether the AGV is increasingly far from the goal. If the AGV moves far from the target, there are possibilities of the AGV's falling into a type II trap. The corresponding fuzz)" rule is given in Fig. 8. The input of the rule is the difference between the value of global-minimal-distance and the distance from the current AGV's location to the goal. When the AGV moves far from the target, wall-following rules of the trap recovery module will have intense c,-nu~i of ~he AGV. To detect traps of the second type, the distance between the AGV and goal should be provided. For outdoor navigation, this distance can be obtained through a differential global position system (DGPS) such as the Garmin DGPS. Once the coordinates of the goal and the AGV with respect to a global coordinate system are found by the DGPS, their distance can be corn-

puted. For indoor navigation, the odometric data can be used for AGV location 125]. In this case, it is assumed that the coordinates of the goal relative to the AGV's starting position is known a priori. Then by odometry, we can estimate, the distance between the goal and the AGV's position at any time. 4.3. Trap recover)" The ob!~cti, ve o r r i s module is to guide an AGV to leave traps and steer toward the target. 4.3. I. "~ecovering from type I trap state To leave a type i trap. an AGV of rectangular shape should have the ability to retreat and furthermort the faculty of memo~. For this purpose, we set check points in the navigation environment to memorize critical passed locations. By these check Ix,ints, it is not necessary to memorize all paths

(Z.H. Lin, L..L. Watg/Robotics and Autonomo:,s Systems 20 (1997) 61-83 Rule ! : IF increasingly.far from goal T l t E N

1.0

T

j ~

great_wall-following_weight

. . . . . . . . .

increasingly.far from_goal

0

-45

distancedifference

great.wallofollowmg_welf,7;, 1.0

1

wall-following_weightt

Fig. 8. Fuzzy ride and membership functions of detecting t~p¢ II trap state.

that the AGV has passed. We use the inferenced result narrow_lane_possibility, obtained from Rule I for detecting type I trap state (as shown in Fig. 7), to set the check point location. When the value of narrow_lane_possibility is not zero, the AGV enters a narrow lane and may walk into a type ! trap. Therefore, a check point at the entrance of the narrow lane is set. If the vaiue of dead_alley_possibility inferenced from Rule 2 for detecting type I trap state is larger than zero, the narrow lane may be a dead alley and thus impassable. In this case, the AGV starts to reduce speed, its speed is inversely proportional to the value of dead_alley_possibility. When dead_alley_possibility reaches the value one, the AGV will stop. In this state, the AGV falls into a type I trap. To recover an AGV from a narrow dead alley, the AGV should back up. At this moment, the latest set cbe,ag point, called the active check point, is considered a temporary target of the AGV. When it reaches the ac,~;~.l. check point, another path which is not ever passed is selected for navigation. The use of the check points prevents an AGV frori, entenng again the same narrow lane or dead alley which has caused the AGV to fall into a trap. In the. navigatien

sessions, a stack is used to store the locations of check points. The active check point denotes the nearest check poinf to the current AGV's location, which is put on the top of the stack. It is used as a temporary goal for guiding ml AGV to leave the current trap state. When all paths radiating from the active check point h~ve been navigated but the AGV does not yet get out of the trap, the stack will be popped out and the new top one will be set as the active check point. Then, the AGV will retreat to the active check point and "/elect a new path to navigate. The above process will be repeated until tim AGV reaches the goal. A type I trap example is shown in Fig. 9. When at, AGV reaches point CI, which is tim entrance of a narrow lane, C I is set as a check point and pushed into a stack. It is nov: the active check point. Then the AGV continues its navigation to point C2 - the entrance of another narrow lane, it is set as a check point and pushed into the stack. At this time, the active check point becomes point C2. The AGV continues to steer toward the target along path Pl. When the AGV finds that it walks into a de~d alley and falls into a trap, it backs up to the active check point, i.e., point C2, and selects a new path. say P2, to navigate. After detecting

C..H. I.in L .L Wang~Robotics and Autonomous Systems 20 (1997) 6/--83

CI

pl

C2

I

I

" ~ c2 -

!

__

-

Cl

Patl~ Pl. P2, and P3 have been navigated and AGV backs up to C2.

Fig. 9. Example of type I trap.

that path P2 is also impassable, the AGV returns again to ~ active check point C2. Next, the new path P3 is selected. Unfortunately, P3 is also impassable. Hence, the AGV retreats to the active check point C2 again. Now there is no path that has not yet been passed, therefore the top check point in the stack, i.e., C2, is popped out and point C! becomes the active check point. The AGV thinks o f the active check point as a temporary goal and backs up to this goal. At the moment, the left mgl right to CI are both passable. Then the AGV selects one to navigate. Finally, it will

reach the goal. The flowchart of type I trap recovering is shown in Fig. I0. 4.3.2. Recovering from Type II trap state The wall-following concept [3] is used here to guide an AGV to recover from a ~ype II tra~. state. Its basic idea is that if an AGV encounters an obstacle, it follows the contour o f the obstacle to avoid collision. Borenstein and Koren [4] used the wall-following method to guide an AGV when it moved far from the target. This method uses an angle between the robot's

orientation and the line from the AEV to the target to determine whether a trap state happens. When the AGV moves far from the target, the angle will he larger than 90 °. In this case, a trap state occurs. The AGV will then move along the wall until this angle becomes less than 90 °. By this method, a longer path to the goal may be generated when an AGV moves in a closed room. In this study, the difference between the value of global-minimum-distance and the distance from the AGV to the goal is used to determine if an AGV moves far from the goal. If the AGV is increasingly far from the goal, it may fall into a type !I trap. To get out of the trap, the AGV follows the obstacle's contour until the distance from the AGV to the goal becomes less than the value of global-minimum-distance. The wall following method has two modes: R-mode and L-mode. The R-mode guides the AGV to follow the left side of the wall. On the contrary, in the L-mode, the AGV follows the right side of the wall. The rules of guiding an AGV to get out o f a type !I tn~p by the R-mode wall-following method is shown in Fig. ! I. Rules I-5

C. H. Lin, L..L Wan~/Rohmic~ and ~,t.,m.~:.wu~ Systcms 20 (1997) 61-83

I

$ ~ a check po¢4

!

o( the nall'ow l a ~

+

~mclput it r~to ~te stack, whk:h is the

i

/ ~ - - '+'*~+--------- -

q

\//

1 .... I

k <

,rom,,',+,~,,c,,,,<+~+>-----

. . . .

+._,.,', ,o, ~ + .

T. . . . the ~lh,e oheck pomt.

i

Fig. I0. Flowchart of recovering from type I trap slate.

I -

71

C.H. Lin, L.L Wang~Robotics and Autonomous Systems 20 ¢1997~ 6/-83

72

Rule Rule Rule Rule

1: 2: 3: 4:

IF right_obstacle.far I F left obstacle far I F center_obstacle_far I F right_obstacle_near

Rule 5: IF

THEN THEN THEN THEN

left_obstaclenear

THEN

Rule 6: I F goal_ left Rule 7: I F goal right

THEN THEN

left obstacle j a r r#ght obstacle ffar center_obytacle_far

left obstacle near right obstacle_near .....

~

move_right move_left move ahead don'tmoverlght don't._move, left steer_left steer r#ght

J

20

40

60 distance

more ahead

"° I

-2

move_right

1-30

turn angle

move_left

0

don't.mo~'e" ,eft

.

2

10

turn_angle

don't_move_right

1.0 i -

-10 0 10

~ goalrigitt

goal_left

50 turn_angle

steer__left

P

~urn_angle Fig. I I. Fuzzy rules and membershipfunctions of type 11 trap state recovery.

C. H. Lin. L.-L Wang/Robotics and Autonomous Syslems 20 (1997) 61-83

/

!$2

........

(a)

(b)

Fig. 12. Navigation results of two wall-following methods: (a) ¢csull of [41; (b) result of the proposed method. R u l e I , I F p,edicte',,l dtstarwe ts short T H E N

lO

~

much collision probabahey

predtcted dtslance ts shor!

-.L distance

much colltslon probabdity

1.0 !

0 ,

i.._._....~

1

collision_probabiliN

Fig. 13. Fuzzy rules and membership fu;Ictions of collision prediction.

are to guide an AGV to follow the obstacle's boundary, and Rules 6 and 7 are to airect the AGV toward the goal. If a larger value oi wall-following-weight is inferenced from the rule of detecting type II trap state, then the five wall-following rules (Rules 1-5) will have intense control ¢f the AGV. Otherwise, the two target-directing rules (l,mles 6 and 7) will have a larger weight to control the AGV. Note that the membership functions of move_fight in Rule I and move_left in Rule 2 arc not symmetric, since the trap r~.covefing rules implement R-mode wall following. Navigation results of two wall-following methods are shown in Fig. 12. Fig. ~2(a) shows the navigation path generated by the method in [4]. Also Fig. 12(b)

shows the result of our proposed method, where a shorter path from the sta:'t ~o the goal is generated. 5. Fuzz)' approach to moving-obstacle avoidance In our earlier work [ 14], a fuzzy least-mean-squareerror (LMSE) estimation ~igorithm was proposed to predict the location of each moving obstacle. For each moving obstacle, the AGV did not take the initiative to avoid collision with the moving obstacle; it only reduced speed and ,,,aired for the moving obstacle to pass. To improve tile AGV's ability in avoiding collision with moving obstacles, more intelligent rules will be proposed in this ~;tudy. Better performance can thus

C.-H. Lin. L-L. Wang/Robozics and Autonomous Systems 20 (1997) 61-83

Rule 1 : I F obstacle #s near Io_AGV T H E N recuce__ ,~

OR

colhsion probabilily is_high

Rule

OR

col;,slon probabibt xs low

2 :

IF obstacle_i.v fa~ fram_AGV T H E N mcrease_~

obstar:le is near to AGV

obstacle is far f r o m AGV

1 ]~colli.~ _ ton_pr¢~bability - is - low ~

collisionprobability_ishigh

0 |

t

recuce it

1

colliskra_.probability m c r e a s e ,Yt

2G

A

Fig. 14. Fuzzy rules and membership functions of determining ~..

be achieved if the AGV has more initiative in collision avoidance.

p~ = Pr + ;~" Vr, where pr is the current AGV's position and Vr de-

5. I. Ct,!!~ion prediction

Using the fuzzy LMSE algorithm, we can predict the location of each moving obstacle at the next na~igation cycle. The motion vector of the moving obstacle, Vo, can he obtained by the obstacle's current position Po and it's prediczed position P~: ~o = P'o - Po. Furtherrdore, the position po~ o f the moving obs~cle

a!ter 3. navigation cycles can be predicted as follows: po~ = p o + X '

Vo-

Also the predicted position po~ of the AGV after/~ navigation cycles is:

notes the velocity of the AGV. The predicted positions po~ and ,7o~ are then used to predict whether a collision betweelt the AGV and the moving obstacle will happen. If the distance between the predicted positions po~ and p~ is short, there is much probability of collision. The corresponding fuzzy role of collisinn prediction is shown in Fig. 13. It is clear that more flexibility is provided if we can adapt the value of ~. to changing environments in each navigation cycle. If much probability of collision was predicted in the last navigation cycle, then the value of ~. is reduced in the current navigation cycle. Otherwise, we increase the value of ~. Accordingly, the predicted distance between the AGV and the moving obstac';e after ~. navigation cycles will he more practical for the collision prediction. A fuzzy rule and the

C.-H, Ltn, L.-L. Wang/Rohaticsand AutomJmou,~A:vs/ems20 ~1997) 61.-83

Rule ! : IF

¢olhston probabtlityt.~'_high

reduce.speed

THEN

Rule 2 : IF obstacle_moves ahmg same hue with AGVAND moving obstacle i.~ near AND k'ft ohsta¢,le t.~far AND right obstacle is neat" T H E N turn_left R u l e 3 : IF

obstacle moves along same_ltnewtth AGVANI) moving obstacle_is_near right_obstacletsfar ]'HEN turn_right

AND

1 01 I

colhsion~ probabth(y~s_high i...i.

't 10 .

;

~,,:'ude_speed

:;1

";

t J

/~\1.o obstacle moves_along.same_hue with AGV

-22

i

22

directiondifference

right obstacle is isnear moving_obstacle near

45

* i

right_obstacle_is far left obstacle is far

10 :

/

distance

.]

30

~ t u r n _left 1 ,'%.

distance

turn_right

turn ~mg!e Fig. |5. Fuzzy rules and membershipfunctions of moving*obstacle-a',oidance module,

75

C.-H. Lin. L-L. Wang/Robotics and A,+~onomous Systems 20 (1997) 61-83

76

+

,,

°

I (a) An AGV wishes to go co goal G from

(b) The AGV is in a type I trap.

start S.

|

(c) The AGV backs up and then gets out o f the type I trap.

(d) The AGV falls into in a type I trap again.

....

(e) The AGV backs up and gets out of the

rl

(f) The AGV reaches the goal

type I trap. Fig. 16. Simulated snapshots of an AGV navigating among dead alleys. corresponding membeiship functions of determining k ~ ". shown in Fig. 14.

5.2. Moving-obstacle tzvoidance

If there ix no probability that the AGV will collide with moving obstacles, then the AGV does not have to take action for collision avoid~nce. But if collision

will in all probability occur, the most commen r:actiuv, will bc to slow down the AGV+s speed, l~ut whet, a moving obstacle moves in front of the AGV and on ~ e same iin¢ with the AGV, the AGV should not reduce speed only. For example, a moving obstacle moves slowly in front of the AGV and along the path from the AGV to the goal, then what the AGV can de is to follow the obstacle until the goal is reached. A flexible way is to change the AGV's orientation, i1~stgad of

C.-H. Lin, L.-L. Wang/Roboth'.s and Autonomous S w'wms 20 (1997) 61~13

~ t i ~

G

S............... .................................... i',:,i:~:i:t*

G

(a) An AGV wishes to go to goal G from (b) The AGV fa!!s inio a type I trap. start S.

s~

s

I (c) The AGV backs up and then gets out of the ty[,e I trap.

(d) The AGX, falls into a type !1 trap and then follows the wall to get out of the trap.

G

(e) The AGV follows the wall

(f) The AGV reaches the goal

Fig. 17. Simulated snapshots of a~t A(';V walking into type 1 and type I1 traps. just waiting for the ob,~cle, such that :he AGV can overtake the obstacle. Fuzzy n~les and membership functions of moving-obstacle a',aidance are shown in Fig. 15.

6, Experiment:~! results The AGV's parameters to be controlled include the orientation and speed of tire AGV. Their val,,es are

C.-H. L/n, L-L. Wang~Robotics and Autonomous Systems 20 (1997) 61-83

.,,.........

13 , I ,

(a) ±~,lAGV wishes to go to goal G from (b) The AGV encounters a static obstacle si:art S

and plans to turn left.

(c) The ~GV turns left to avoid a static obs:a'~le,

(d) The AGV fol!~ws the wall in order to get cut o f a type I1 trap. ,~,

.,i,!ili I

.........

(e) T~e ,AGV steers 'toward the goal

,

(f) The AO"v reaches the goal.

Fig. 18. Simulated snapshots of an AGV navigating in a maze.

obtained from the above mentioned fuzzy rules. The way to control an AGV using the two paiameters can be found in our earlier paper [26]. Fig. 16 shows the motions of an AGV navigating amoi~g dead alleys. A type I trap state occu,rs when ~he AGV ~lops in a dead

alley. Check points are set in the navigation sessions for the AGV to back up. Collision-free motions are generated fr3m the start to the goal and are shown in the figure. Fig. 17 shows the navigation result of an AGV walking into t?/pe I and type II traps. Figs. 18

C.-H. Lin, L-L Wang/Robotics and Autonomous Systems 20 {1997) 61-83

(a) An AGV wishes to go to goal G from (b) The AGV encounters a static obstacle start S.

! I

and plans to turn left.

I

(c) The AGV follows the wall in order to get out o f a type II trap.

(d) The AGV gets out of the trap and moves toward the goal.

(e) The AGV falls into a new trap and

(f) The AGV reaches the goal.

Fig. 19. Simulated snapshots of an AGV navigating in a maze. and 19 show the navigation results of an AGV moving in mazes. A t y ~ II irap stale frequently occurs when an AGV is navigating in a maze. Although the optimal path from the ftart to the goal is usually no~ found, a feasible collision-free path is generated. Particularly, the AGV does not move in loops forever ]n a maze.

Figs. 20 and 2t show two cases that an AGV navigates in environments with moving obstacles. When detecting a moving obstacle, the AGV not only reduces speed bu'. also turns its orientation to avoid collision. The average time of a navigation cycle is abo,lt 0.007 s.

80

C.-H. /.J'n, L...L Wolzg/RotJotics aJ~l Autonomous Systems 20 ~1997) 61-83

Q

o "O

(a) P~n AGV wishes to go to goal G flora start S.

(b) The AGV reduces spee' to avoid collision ,~th a moving ~b,~tacl¢.

O

-

O

(¢) The AGV turns its orientat[olL to avoid (d) The AGV steers toward the goal and collision,

detect~ a moving obstacle.

.,.S

I~ .~

[

G

o'

(e) The AGV turn~ its o~'ientatlon to avoid

~° ~

O

e

(~ The AGV reaches the goal.

co!l~sion with the moving obstacle. Fig. 20. Simula,'.ed ~napshols of an AGV navigating in an environment with moving obstacles as well as slatic obstacles.

C-H. ~'n, L..L Wang/Robotics and Autonomous Systems 20 (1997 ~61-83

(a) An AGV wishes go to goal G flora start S

(c) The AGV steers toward the goal.

(e) The AGV turns its orientation to keep

(b) The AGV turns its orientation to avoid collision with a moving obstacle.

(d) The AGV reduces speed to avoid collision with a moving obstacle.

(f) The AGV reaches the goal

away from the moving obstacle. t:!g. 21. Simulated snapshots of an AGV navigating in a street with iwo moving obstacles.

81

C..H. Lin, L.-L Wang~Robotics and Autonomous Systems 20 119971 61-~3

7. C o n c l u s i o n in this gtudy, we have proposed a sensor m o d e l i n g method to obtain the m i n i m u m n u m b e r o f sensors and their optimal arrangement on an AGV, such !hat the views o f all angles can be seen by the AGV, Fuzzy logic control with crisp reasoning has heen used to guide an A G V to get out o f traps .when it navigates in c o m p l e x enviro~ments. Additionally, more flexible rules than those we proposed in [14] have , ~ e n designed to g u i d e an A G V to avoid coiiision wi~h moving obshacles. The computation is fast. Simulation results have been performed to show the feasibility o f the proposed approt, ch. F - t i b e r research m a y be directed to practically imp l e m e n t i n g the proposed approach on an experimental au,.onomous vehicle, c o m b i n e d with our earlier work on A G V navigation | 12,14,26--28]. A m o m a | i c learning o f the fuzzy rules is also a suggestion in the |urthe¢ research.

Reterenees Ill C. A~¢xpou],.~-~ ~ d P.M. Griffin, Path planning for mobile robots, IEEE Transactions on Systems. Man. and Cybernetics 22 (2) (1992) 318-322. [7:] R.C. Arkin, Navigation path planning for a visien-based mo~i!e r__~J.. Robotica 7 (1) (i989)49-63. [3] G. Bauzi'. M. Briot and P. Ribes. A navigation subsyslem using ul:r;~sonic sensors [or the mobile robo~ Hila~. Proc. Int. C,,~f o~ Robot Vision and Sensory Controls, Standfor~.upon-Avon. UK (19811 47-58. [4j J. Boren~tein and Y. Koren, Real-time obstacle avoidance for fast mobile robots. IEE£ Transactions on Systems. Man, and Cybernetics 19 (5) 0989) 1179-1187. [51 .I. Borcnstein and Y. Korcn, The vector field histogram - fast obstacle avoidance for mobile robots, IEEE Tronsactions ~;~ Robotics and Amomation 7 (:~, (199l) 258-288. [6i T.Y. Chang, S.W. Kno and J.Y.J. Hsn, A twophase navigation system for mobile, robots in dynamic environments. Proc. IEEE Int. Conf. on Intelligent Rol~ts and Systems, Germhny (1994). [7] K. Fujimura and H. Samet, Planning a ti~e-minimal m~ion among moving obstacles, Algorithmi,:a 10 (I) 0993) 41-63. [8] ES.H. Hou and D. Zheng, Mobile robot pa'ih planning based on hierarchic~ h,'x,~gon~l decomp~sition and artificial potential fields, .l~rnal ef Robotic Systems I I ~71 (19o14) 605--..~t4. 19] Y.K. Hwang and N. Ahuja. Gross motion p~anning -- a survey. ACM Computing Surveys 24 (3) (19921 219-290.

[101 KJ. Kyriakopoulous attd G.N. Saridis. An integrated collision prediction and avoidatlc¢ scheme f~r mobile robots in ncm-stetionary environments, Automarica 29 (2) (19931 309-322. [I I] C.C. L~.., Fuzzy logic in control s~/stems: fuzzy logic controller. IEEE Transactions on Systems. Man. and Cybernetics 20 (2) (19901 404-433. [i2] ES. Lc~, Y.E. Shen and L.L. Wang. M,-~tcl-bascd i~.~ation of' automated guided vehicles [,t the navigatiop sessions by 3D computer vision, Jouy~h~i of Robotic Syste,ns I I (3j 09931 181-195. [ I% J.K. 1.~ and S.M. Song, P~th plannin£ and gait of walking ~,~;..:mn¢ in an oL,~tacle-~trcwn em,lronment, Journal of Robotic S,:stems 8 (6) (1991~ ~.~1-827. [ t4] P.$. I.~¢ a ~ L.L. Wang, Collision ~voldanee by fuzzy logic control for automated guided ;'chicle navigation, journal ~.[Robotic Systems I I (8) (19941 743-'160. 115] JJ. teem and W.H. Tsai. Opt_imal sensor, arrar, gemc'nt for robot operation monitoring by m~chine vision, International Jourr~l o[ Robotics and A:.tn,'nati~Ji ~ ",2"p 0989) 81-91. [1Ol ~,|1. Liu and S. Arimo[o, Path pl:mning u~og a tangcn~ graph for mobile robots among polygona! and curved obstacles. The International Jounml of Rob~dcs Research I I (~) (19921 376-382. [17] R L. Madarasz, L.C. Heing, R.E Crimp and N.M. Mazur, The design of an autonomous vehicle for the disabled. IE£'E Journal of Robotics and Automation RA-2 (3) (1986) 117-126. [ I 8] M. Maeda, Y. Manda and S. Murakami, Fuzzy drive control of an autonomous mobile rol~:,L Fuzzy Sets and Systems 39 (2) (199t) 195-204. [191 E.H. Mamdani, Application of fuzzy logic to approximate reasoning using linguistic syn~,'sis. IE£Y, Transactions on Computers C-26 (12) (1977) :182-1191. [20] T. Skewis and V. Lunmlsky. F~pcrimcnls with • mobile robot operating in a cluttered unkn~avn environment, Journal of Robotic Systems I] (4) (19941 281-300. 121l K.T. Song and L.H. Sheen, Local obstacle avoidance for a mobile robot using a heuri,~,~'e n~twork, Proc: National Conf. on Fuzz3'. Theory and Applications, Taipei, Taiwan, ROC (19941 201.--2G6. [22] M. Sugeno and M. Nishida, Fuzzy control of model car, Fuzzy Sets and Systems 16 (2) (1985) 103-113. [23] O. Takaiiz.s.hiand RJ. Schilling, Motion pianning in a plane using generaiizzd Voronoi diag.ram% IEEE Transactions on Robotics and A~'.omation 5 (2) (1989) 143-150. 124] T. "r,~euchi, Y. Nagai and N. Enomoto, Fuzzy control of a m,obtle robot for obstacle avoidance, Information Science 45 (2) (19881 231-248. [25] T. Tsumura, Survey of automated guided vehicle in Japanese factor-y, Proc. IEEE Int. Conf. o~ Robotics and Automation, San Francisco, CA (19861 1329-1334. [26] L,L. ~Vang, P.Y. K,'- and W.H. Tsai, Model based guidance by longest common snbsequence algorithms for indoor autonomous vehicle nay;garCon. Automation in Construction 2 (19931 123-137.

C.-H. Lin, L - I , Wang~Robotics and Autonomous Systems 20 (1997) 61--83

[27] L.L. WanL' :~nd W.H. T~i, Cat" 'safety driving aided by 3D image analysis techniques, Proc. Microelectromcs and Informat,oz: Science and Technology Workshop, HsinChu, Taiwal ROC 0986) 687-701. [28] L.L. Wang and W.H. Tsai, Camera cali~ntfion by vanishing lines for 3D computer vision. IEEi; Transactions on Pattern Analysis and Machine Intellig: ice 13 (4) (1991) YI0-3"16. [29l G.T. Wiifong, Motion planning for an ~utonomous vehicle, Proc. IEEE Int. Conf. on Robotic.. and Aulomation, Obiladelphia. PA (198g) 529-533. [30] L.A. Zadeh, Fuzzy ~ets, Information Control ~ (1965) 338--.~53. Lit~-Ling Wang received the B.S., MS.. and Ph.D. degrees in computer science and information .~ngit,w.eriog in 1984. 1986, ar,,d 1990, respectively, all fro, z~ National Chian Tung Univeffiiy, Hsinchu, Tai-,van, ROC. From 1986 to .... 1987 she was at Industrial Technol~ ~ ogy Research Institute, Hsinchu, Tai' wan as an associate engineer. Since fil ~ : March 1991. she has b e e n on ti~ faculty of rite Department of Computer Science at National Tsing Hua Universi~, Hsit~hu, Taiw~'~. Her curie.: rcse~¢ch znterests include pattern recot0-~i~<~, image p,-ocessing, computer vision, a.,td ~_zzy logic control

CMa-Htm Lin received the B.S. degrec in information science in i993 from Tung Hal University, Taicheng, Taiwan, and the M.S. degree in computer ~cience in 1995 from Natit.nat Tsing Hua University, Hsinchu, ,-...-'.wan. ROC. His current research interests include fuzzy logic control and image Wocessing. t