Paper2 1

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

World Academy of Science, Engineering and Technology 22 2006

A Fuzzy Logic Based Navigation of a Mobile Robot


Anis Fatmi, Amur Al Yahmadi, Lazhar Khriji, and Nouri Masmoudi

AbstractOne of the long standing challenging aspect in mobile


robotics is the ability to navigate autonomously, avoiding modeled and unmodeled obstacles especially in crowded and unpredictably changing environment. A successful way of structuring the navigation task in order to deal with the problem is within behavior based navigation approaches. In this study, Issues of individual behavior design and action coordination of the behaviors will be addressed using fuzzy logic. A layered approach is employed in this work in which a supervision layer based on the context makes a decision as to which behavior(s) to process (activate) rather than processing all behavior(s) and then blending the appropriate ones, as a result time and computational resources are saved.

KeywordsBehavior based navigation, coordination, fuzzy logic, mobile robots. I. INTRODUCTION

context

based

HERE is a growing interest in service robots and this is due to the fact that robots are finding their way out of sealed working stations in factories to our homes and to populated places such as museum halls, office buildings, railway stations, department stores and hospitals. The gained benefit comes along with the necessity to design the robot in a way that it is able to respond to a list of complex situations. This includes at least the ability to navigate autonomously, avoiding modeled and unmodeled obstacles especially in crowded and unpredictably changing environment. A successful way of structuring the navigation task in order to deal with the problem is within behavior based navigation approaches (see Arkin[1][2][3], Brooks[4],[5], Maja Mataric[6], Rosenblatt et al. [7],[8],[9], , Maes[10], Saffiotti[11], Seraji[12]). Behavior based navigation systems have been developed as an alternative to the more traditional strategy of constructing representation of the world and then reasoning prior to acting. The basic idea in behavior based navigation is to subdivide the navigation task into small easy to manage, program and debug behaviors (simpler well defined actions) that focus on execution of specific subtasks.
Manuscript received August 12, 2006. This work was supported in part by Sultan Qaboos University under Grant IG/ENG/MIED/05/04. Anis Fatmi and Nouri Masmoudi are with Laboratory of Electronics and Information Technology (L.E.I.T); ENIS, Tunisia. Amur Al Yahmadi,is with Department of Mechanical & Industrial Engineering, SQU, PO Box 33, P.C. 123, Sultanate of Oman (Tel : +968 95209194, Fax: +968 24 141316 (e-mail: amery@squ.edu.om). Lazhar Khriji is with the Electrical & Electronics Engineering Department, SQU, PO Box 33, PC 123, Oman (e-mail: lazhar@squ.edu.om).

For example, basic behaviors could be avoid obstacles or moving to a predefined position. This divide-and-conquer approach has turned out to be a successful approach, for it makes the system modular, which both simplifies the navigation solution as well as offers a possibility to add new behaviors to the system without causing any major increase in complexity. The suggested outputs from each concurrently active behaviors are then blended together according to some action coordination rule. A variety of behavior-based control schemes have been inspired by the success of Brooks[4][5] with his architecture which is known by the subsumption architecture. In this architecture behaviors are arranged in levels of priority where triggering a higher level behavior suppresses all lower level behaviors. Arkin[1][2][3] has described the use of reactive behaviors called motor schemas. In this method, potential field is used to define the output of each schema. Then, all the outputs are combined by weighted summation. Rosenblatt et al. [7], [8], [9] presented DAMN architecture in which a centralized arbitration of votes provided by independent behaviors combines into a voted output. Saffiotti[11], Seraji et al. [12][13] and others [14[15[16][17] used fuzzy logic system to represent and coordinate behaviors. II. FUZZY BEHAVIOR BASED NAVIGATION The theory of fuzzy logic systems is inspired by the remarkable human capacity to reason with perception-based information. Rule based fuzzy logic provides a formal methodology for linguistic rules resulting from reasoning and decision making with uncertain and imprecise information. In fuzzy behavior based navigation the problem is decomposed into simpler tasks (independent behaviors) and each behavior is composed of a set of fuzzy logic rule statements aimed at achieving a well defined set of objectives, for example one may have rules like: R (1) : IF goal is Far THEN speed is High
R ( 2 ) : IF goal is Left THEN turn Left

. . .
R ( n ) : IF goal is Near THEN speed is Low Once the individual behaviors are designed, the next question to answer will be as to how to coordinate the activity of several behaviors, which may be active concurrently with the possibility of having behavior conflict. The coordination task will be to reach a trade-off conclusion that provides the suitable command to the robot actuators which can result in

169

World Academy of Science, Engineering and Technology 22 2006

choosing one behavior or a combination of all activated behaviors. Behavior coordination is the point at which most strategies differ. Some of the earlier strategies are based on Brooks subsumption architecture[4][5] using a switching type of behavior coordination. In the Subsumption approach a prioritization scheme is used in which recommendation of only one behavior with the highest priority is selected, while recommendations of the remaining competing behaviors are ignored. This approach however, leads to inefficient results or performance in certain situations. For example if a robot is to encounter an obstacle right in front of it the action that will be selected is avoid obstacle, the robot then decides to turn left to avoid the obstacle while the goal is to the right of the robot, so the seek goal behavior is affected in a negative way. Other techniques combine the output of each behavior based on predetermined weighting factors, for example Arkins motor schema approach[1][2[3] or Philipp A. and H.I. Christensen[18] and the work of Rosenblatt[7][8][9] who developed the distributed architecture for mobile robot navigation, in which a centralized arbitration of votes provided by independent behaviors. In this method each behavior is allowed to vote for or against certain vehicle actions. The action that wins the vote is carried out. These techniques may as well lead to poor performance in certain situations, for example if the robot is to encounter an obstacle right in front of it the avoid obstacle behavior may recommend the robot to turn left, while the seek goal behavior may request the robot to turn right since the goal is to the right of the robot, this may lead to a trade off command that directs the robot forward resulting in a collision with the obstacle. To deal with these limitations other schemes were recommended that achieve the coordination via considering the situation in which the robot is found, i.e each behavior is allowed to affect the robot motion based on the situational context. Saffiott[11] uses the process of context-dependentblending in which the current situation is used to decide the action taken using fuzzy logic. Independently Tunstel et al. [19] developed an approach similar to context-dependentblending, in which adaptive hierarchy of multiple fuzzy behaviors are combined using the concept of degree of applicability. In this case certain behaviors are allowed to affect the overall behavior as required by the current situation and goal. The behavior fusion methodology in this work is motivated by the approaches used by Saffiot and Tunstel et al. III. STRUCTURE OF
THE PROPOSED BEHAVIOR BASED NAVIGATION

Where l = 1,...m , and m is the number of rules in a given fuzzy rule base, x1 ...x n are the input variables which are the
l sensor data of the mobile robot, A1l ... A2 are the input fuzzy

sets, B l is the output fuzzy set and is the output variable. Many behaviors can be active simultaneously in a specific situation or context. Therefore, a coordination technique, introduced in this work, solves the problem of activation of several behaviors independently or/and simultaneously. The coordination technique employed in this work is motivated by the approaches used by Saffiotti[11]. What distinguishes this work is the manner in which the coordination of active behaviors is achieved. The supervision layer based on the context makes a decision as to which behavior(s) to process (activate) rather than processing all behavior(s) and then blending the appropriate ones, as a result time and computational resources are saved.

A. Design of Individual Behaviors Each behavior was represented using fuzzy logic rule base. The GOAL REACHING behavior for example tends to drive the robot to the left, right or forward and with a low or high speed depending on the distance to goal D rg and on error the
difference between the desired heading and the actual current heading. Although, there is no restriction on the form of membership functions, the appropriate membership functions for D rg and

error shown in Fig. 1and Fig. 2 were chosen.


N 1 SN Z SP P

Degree of membership

0.8 0.6

0.4 0.2

0 -100

-50

Fig. 1 Input fuzzy sets for error (N:Negative, SN:Small Negative, Z:Zero, SP: Small Positive, P:Positive)
1

0 error

50

100

Degree of membership

To provide the robot with the ability to navigate autonomously avoiding modeled and unmodeled obstacles especially in crowded and unpredictably dynamic environment the following behaviors were designed: GOAL REACHING, EMERGENCY SITUATION, OBSTACLE AVOIDANCE, and WALL FOLLOWING. The behaviors were represented using a fuzzy if- then rule base. The fuzzy rule bases comprises the following if-then rules: l (1) R (l ) : IF x1 is A1l and ... and x n is An , THEN y is B l

0.8

0.6

0.4

0.2

0 0

20

40

60

80

100

Fig. 2 Input fuzzy sets for error ( N:Near, S:Small, B:Big)

Drg

170

World Academy of Science, Engineering and Technology 22 2006

Degree of membership

The Goal Reaching behavior is expected to align the robots heading with the direction of the goal. To achieve that the rules shown in Table I were devised. For example the following rules can be read from the table. If error is P And D rg is Big THEN Velocity is SP

1 0.8 0.6 0.4 0.2 0 0

If error is P And D rg is Big THEN Steering is L


Where, P is positive, Velocity is forward velocity, SP is small positive, Steering is angular velocity and L is left. The output variables (Velocity- forward velocity, and Steeringangular velocity) are represented by the fuzzy sets shown in Fig. 3 and Fig. 4
1

20

40

60

80

100

Distance

Fig. 5 Membership functions for Distance to obstacle (N:Near,


Z SP P

M:Medium, and F:far)

Degree of membership

0.8

0.6 0.4

TABLE I FUZZY TABLE FOR GOAL REACHING BEHAVIOR FOR THE FORWARD VELOCITY AND ANGULAR VELOCITY (STEERING)

error

Z
0.2

SN

SP

D rg
-0.5 0 0.5 1

0 -1

Near

Velocity(m/sec)

Fig. 3 Membership functions for Velocity (Z:Zero, SP: Small Positive, P:Positive)
R RF F LF L

Small Big

P P

P P

SP SP

SP P

SP SP

Degree of membership

0.8

error
Z SN N SP P

0.6

D rg
Near Small F F RF RF R R LF LF L L

0.4

0.2

0 -0.5

-0.4

-0.3

-0.2

-0.1

0.1

0.2

0.3

0.4

0.5

Steering rad/sec

Fig. 4 Membership functions for Steering (R:Right, RF:Right Forward, F:Forward, LF:Left Forward, and L:Left)

Big

RF

LF

For other behaviors the robot needs to acquire information about the environment namely the distances to obstacles in various directions. Fig. 5 represents the fuzzy sets used to fuzzify readings of sonar sensors directed in different directions around the robot.

N:Negative, SN:Small Negative, Z:Zero, SP: Small Positive, P:Positive, F:Forward, RF:Right forward, LF:Left forward, L:Left, R:Right

The other behaviors are: OBSTACLE AVOIDANCE, WALL FOLLOWING and EMERGENCY SITUATION behaviors. The OBSTACLE AVOIDANCE tends to steer the robot in such a way as to avoid collision with obstacles that happens to be in the vicinity of the robot, the objective of the WALL FOLLOWING behavior is to keep the robot at a safe close distance to the wall and to keep it in line with it and the EMERGENCY SITUATION behavior tends to drive the robot away from Utraps and similar obstacles.

171

World Academy of Science, Engineering and Technology 22 2006

B. Blending of Behaviors The question to answer once the behaviors are designed is how best decide what the actuators shall receive (in terms of steering and velocity) taking into account the context in which the robot happens to be, to achieve that the work herein proposes the architecture shown in Fig. 6 in which the SUPERVISION LAYER based on the context makes a decision as to which behavior(s) to process (activate) rather than processing all behavior(s) and then blending the appropriate ones, as a result time and computational resources are saved. In Fig.6 Si and Vi are the output Steering and Velocity of each behavior, i=1...4 corresponding to the basic behaviors used in this work. Vm and Sm are the overall crisp control commands sent to the motors in terms of forward velocity and angular velocity. The inputs of the SUPERVISION LAYER are the distances to obstacles as measured by the different sonars fixed on the robot as well as Drg and error . The SUPERVISION LAYER is made up of a fuzzy rule base as follows, IF context THEN behavior For example a rule could be R (1) : IF RU is F and FR is F and FL is F

IV. SIMULATION AND EXPERIMENTAL RESULTS To verify the validity of the proposed scheme, some typical cases were simulated in which a robot is to move from a given current position to a desired goal position in various unknown environments. In all cases the robot is able to navigate its way towards the goal while avoiding obstacles successfully. In the simulation shown in Fig.8 and Fig. 9 the robot has to reach Goal point with the Start point placed between two walls. The detailed description of the execution of this run is given as follows. The robot begins to execute the behaviors according to the rule base of the SUPERVISOR LAYER depending on the current context. First, the robot follows wall 1 with maximum velocity until it senses obstacle 1, then it changes its behavior to obstacle avoidance at point A up to point B during which the robot crosses a narrow space between obstacle 1 and wall 2. The goal reaching behavior and the obstacle avoidance behavior are activated separately or fused to leave the narrow space, until point C. The robot then was encountered by obstacle 2, wall 2 and wall 3, so the emergency situation behavior was active. Next, the presence of obstacle 2 in front of the robot makes the obstacle avoidance behavior active until point D for the route between point D to E the robot just follows wall 2. From point E, three behaviors are activated (wall following, obstacle avoidance and goal reaching). The wall follow behavior is activated when a MEDIUM distance between the robot and obstacle 4 and 5 is established corresponding to the last two cases in Table II. The goal reaching behavior is activated to guide the robot to the goal between point F and G for the robot is situated far from obstacles then the goal reaching behavior is activated up to the presence of the obstacle 6. Finally, the goal reaching behavior is activated to reach the goal when it is NEAR to the robot.

and LU is F , THEN Gaol Re aching Where RU, FR, FL and LU are the Right up, Front right, Front Left and Left up respectively-IR sensors readings as defined in Fig.7. F is far and Goal Reaching is the GOAL REACHING behavior.
Right Down Left Down Drg

Emergency Situation Obstacle Avoidance

S1,V1 S2,V2 S3,V3

Wall Fallowing Goal Reaching S4,V4


Goal

error

Obstacle 6

Behavior Activation and Coordination

Supervision layer
Fig. 6 Context blending strategy

Sm Vm

H G Obstacle 3 Obstacle 2 Obstacle 5 F C E D B wall 2 Start point A wall 1 Obstacle 1 wall 3

Front left

Front Right

Obstacle 4

Left Up

Right Up

Fig. 8 Navigation in a crowded environment


Left Down Right Down

Fig. 7 Clustered infrared distance measurement sensors

172

World Academy of Science, Engineering and Technology 22 2006

Activation Level

D E

Fig. 10 (a) Pekee robot navigates in a crowded environment


Simulation Sample

Fig. 9 Activation level of each behavior

The effectiveness of the suggested navigation approach was experimentally demonstrated on a robotic platform named Pekee (Pekee robot is an open robotic development toolkit of Wany Robotics). Pekee is equipped with two driving wheels with an additional supporting wheel. Pekee is endowed with 15 infrared sensors arranged as shown in Fig. 7 The results of the test run are as shown in Fig. 10(a-e) demonstrating the validity of the proposed approach.

V. CONCLUSION A successful way of structuring the navigation task in order to deal with the problem of mobile robot navigation is demonstrated. Issues of individual behavior design and action coordination of the behaviors were addressed using fuzzy logic. The coordination technique employed in this work consists of two layer. A Layer of primitive basic behaviors, and the supervision layer which based on the context makes a decision as to which behavior(s) to process (activate) rather than processing all behavior(s) and then blending the appropriate ones, as a result time and computational resources are saved. Simulation and experimental studies were done to validate the applicability of the proposed strategy.

Fig. 10 (b) Pekee robot navigates in a crowded environment

Fig. 10 (c) Pekee robot navigates in a crowded environment

173

World Academy of Science, Engineering and Technology 22 2006

[8]

[9]

[10] [11]

[12]

[13]

[14]

Fig. 10 (d) Pekee robot navigates in a crowded environment


[15]

[16]

[17]

[18]

[19]

Fig. 10 (e) Pekee robot navigates in a crowded environment

J. Rosenblatt and D.W. Payton, "A Fine-Grained Alternative to the Subsumption Architecture for Mobile Robot Control ", Proceedings of the IEEE/INNS International Joint Conference on Neural Networks, Washington DC, June 1989, vol. 2, pp. 317-324. D. Langer, J.K. Rosenblatt, and M. Hebert, "A Behavior-Based System For Off-Road Navigation ", IEEE Journal of Robotics and Automation , Vol. 10, No. 6, pp. 776-782, 1994. P. Maes, "How to do the Right Thing ", Connection Science Journal, Special Issue on Hybrid Systems, Vol. 1, 1990 A. Saffiotti, "The uses of fuzzy logic for autonomous robot navigation: a catalogue raisonn'e ", Soft Computing Research journal, Vol. 1, No. 4, pp. 180-197, 1997 H. Seraji and A. Howard, "Behavior-based robot navigation on challenging terrain: A fuzzy logic approach ", IEEE Trans. Rob. Autom. Vol. 18, No. 3, pp. 308-321,2002 H. Seraji, A. Howard and E. Tunstell, "Terrain-Based Navigation of Planetary Rovers: A Fuzzy Logic Approach ", Proceeding of the 6th International Symposium on Artificial Intelligence and Robotics & Automation in Space, Canada, June 18-22, 2001. Simon X. Yang, Hao Li, , Max Q.-H Meng, and Peter X Liu, "An Embedded Fuzzy Controller for a Behavior-Based Mobile Robot with Guaranteed Performance ", IEEE Transactions on Fuzzy Systems, Vol. 12, No. 4, pp.436-446,August 2004. X. Yang, M. Moallem, and R. V. Patel "A Layered Goal-Oriented Fuzzy Motion Planning Strategy for Mobile Robot Navigation ", IEEE transactions on systems, man, and cyberneticspart b: cybernetics, Vol. 35, no. 6, 1214-1224, December 2005. Majura F. Selekwa, Damion D. Dunlap, and Emmanuel G. Collins, Jr., "Implementation of Multi-valued Fuzzy Behavior Control for Robot Navigation in Cluttered Environments ", Proceedings of the 2005 IEEE International Conference on Robotics and Automation Barcelona, Spain, pp., 3699-3706, April 2005 Eugenio Aguirre and Antonio Gonzales, "Fuzzy behaviors for mobile robot navigation:design, coordination and fusion ", Int. J. of Approximate Reasoning, Vol. 25, pp. 255-289, 2000. Philipp Althaus and Henrick I. Christensen, "Behavior coordination for navigation in office environment ", Proceedings of 2002 IEEE/RSJ Int. Conference on Intelligent Robots and Systems, pp. 2298-2304, Switzerland, 2002 E. Tunstel and T. Lippincott and M. Jamshidi, "Behavior Hierarchy for Autonomous Mobile Robots: Fuzzy-behavior modulation and evolution", International Journal of Intelligent Automation and Soft Computing, Special Issue: Autonomous Control Engineering at NASA ACE Center, Vol. 3,No. 1,pp. 37--49, 1997.

REFERENCES
[1] R. C. Arkin, "Towards Cosmopolitan Robots: Intelligent Navigation in Extended Man-made Environments ", PhD Thesis, University of Massachusetts, Department of Computer and Information Science, 1987. R. C. Arkin, "Motor schema-based mobile robot navigation ", Int. J. of Robotic Research, Vol 8, pp. 92-112, 1989. R. C. Arkin and Tucker Balch, "AuRA: Principles and Practice in Review ", Journal of Experimental and Theoretical Artificial Intelligence(JETAI), Vol. 9, No. 2/3, pp. 175-188, April, 1997 R. A. Brooks "A Robust Layered Control System for a Mobile Robot", IEEE Journal of Robotics and Automation, Vol. 2, No. 1, March 1986, pp. 1423; also MIT AI Memo 864, September 1985. R. A. Brooks "A Robot that Walks; Emergent Behavior from a Carefully Evolved Network", Neural Computation, 1:2, Summer 1989, pp. 253 262. Also in IEEE International Conference on Robotics and Automation, Scottsdale, AZ, May 1989, pp. 292296 Maja J Mataric, "Behavior-Based Control: Examples from Navigation, Learning, and Group Behavior", Journal of Experimental and Theoretical Artificial Intelligence, special issue on Software Architectures for Physical Agents, Vol. 9, No.2/3, H. Hexmoor, I. Horswill, and D. Kortenkamp, eds., 1997, 323-336 J. Rosenblatt "DAMN: A Distributed Architecture for Mobile Navigation ", Ph.D. dissertation, Carnegie Mellon University Robotics Institute Technical Report CMU-RI-TR-97-01, Pittsburgh, PA, 1995.

[2] [3]

[4]

[5]

[6]

[7]

174

You might also like