Sie sind auf Seite 1von 6



         



    
 
 

   

 !"""#

Sonar Behavior-Based Fuzzy Control for a Mobile Robot


S. Thongchai, S. Suksakulchai, D. M. Wilkes, and N. Sarkar Intelligent Robotics Laboratory School of Engineering, Vanderbilt University, Nashville, TN 37235 fthongcs,surachai,wilkes,sarkarg@vuse.vanderbilt.edu
Abstract
S11 S09 S12 S05 S08
15.0 220.00 R 62.00 15.0

S10

S06

S07

This paper describes how fuzzy control can be applied to a sonar-based mobile robot. Behavior-based fuzzy control for HelpMate behaviors was designed using sonar sensors. The fuzzy controller provides a mechanism for combining sensor data from all sonar sensors which present dierent information. The behavior-based approach is implemented as an individual high priority behavior. The highest level behavior is called the task-oriented behavior, which consists of two subtasks, wall following and goal seeking. The middle level behavior is obstacle avoidance. The lowest level is an emergency behavior. Each behavior was built as an atomic agent based on the intelligent machine architecture (IMA). The results demonstrate that each behavior works correctly. The HelpMate robot can follow the wall, go to the goal, and avoid obstacles detected by the sonar sensors.

S13
43.00 43.00

28.00

S0

250.00

43.00

S14, S 17
S16
S15

316.00

33.0 156.00

S04, S01
S03

8.0

100.00

600.00

13.0

S02

380.00

103

S13
635.00

S09

S05

S00
645.00

S14
450.00 777.00

S01 S10 S06 S02

520.00

S15

395.00

S16
265.00

S11

S07

S03

270.00

S17 S12
80.00

S04 S08

150.00

30.00

1 Introduction Ultrasonic range nders (also called Sonar sensors) measure the time elapsed between the transmission of a signal and the receiving of an echo of the transmitted signal to determine the distance to an obstacle. The sonar sensors on mobile robots can be used to detect objects around the mobile robot and to avoid collision with unexpected obstacles [1]. HelpMate is a mobile robot which has sonar sensors, lidar sensor, stereo color vision, etc. [2]. The data from sonar sensors is the distance between the sonar and object. The sonar sensor arrangement for HelpMate is shown in Figure 1. The sonar sensors' locations are important for designing the fuzzy controller. The application of fuzzy control to a sonar-based obstacle avoidance for HelpMate has been implemented successfully [3]. All sonar sensors send data to the inputs of fuzzy controllers. Each fuzzy controller for obstacle avoidance has nine inputs and two outputs. Both inputs and outputs have three membership functions. Each membership function is considered as a Gaussian function. In this paper, the fuzzy controller for the task-oriented behavior is described. The fuzzy controller for wall following has two inputs and two

Figure 1: The sonar arrangement for HelpMate. outputs. All fuzzy controllers are implemented under the behavior-based approach. Behavior-based approaches have been established as a main alternative to conventional robot control in recent years [4]. These approaches can be implemented and tested independently. The system architecture, in this application implemented in the IMA1 , has three levels. The highest level behavior is the task-oriented behavior which consists of two subtasks: wall following and goal seeking. The middle level behavior is an obstacle-avoiding behavior. The lowest is an emergency behavior.

2 Background 2.1 Fuzzy Control Fuzzy control is derived from the fuzzy logic and fuzzy set theory that were introduced in 1965 by L. A. Zadeh
1 The Intelligent Machine Architecture (IMA) is a set of software technologies using an agent-based approach for system decomposition [5].

p. 1


         

    
 
 

   

 !"""#

of the University of California at Berkeley [6]. The application of fuzzy control can be applied in many disciplines such as economics, data analysis, engineering and other areas that involve a high level of uncertainty, complexity, or nonlinearity. Examples of other control techniques used with fuzzy controllers are sliding mode control, gain scheduled control, adaptive control [7][8][9]. A control system based on the traditional Proportional, Integral, and Derivative technique may implement low-level behaviors. A high-level behavior may require intelligent control techniques such as fuzzy control. Fuzzy control can be applied for autonomous mobile robots which have complex control architectures [10][11]. The application of the robotic reactive control approaches, particularly in the layered control system, are presented by Saotti, et al. [12]. Yen and Puger developed and tested a new defuzzication technique for alleviating diculties in applying existing defuzzication methods for mobile robot navigation control [13]. The fundamentals of fuzzy control can be found in Palm, et al. [7], Passino and Yurkovich [14], and Wang [8][9]. There are three steps for designing a fuzzy controller: fuzzication, inference engine, and defuzzication. Fuzzication: Fuzzication is dened as the mapping from a real-valued point to a fuzzy set. In most fuzzy decision systems, non{fuzzy input data is mapped to fuzzy sets by treating them as singleton membership functions, Gaussian membership functions, triangular membership functions, etc. Inference Engine: Fuzzy Inference Engine is used to combine the fuzzy IF-THEN in the fuzzy rule-base, and to convert input information into output membership functions. An inference mechanism emulates the expert's decision-making in interpreting and applying knowledge about how to perform good control [14]. This can be implemented as a fuzzy rule-base. The rules may use the experts experience and control engineering knowledge. There are three types of fuzzy rule-based models for function approximation: Mamdani model, Takagi-Sugeno-Kang model, and Kosko's additive model. Defuzzication: There are many methods which can be used for converting the conclusions of the inference mechanism into the actual input for the process or for the plant. Center of Gravity (COG) defuzzication method is dened as equation (1).
n P

be found in many textbooks such as Passino and Yurkovich [14], and Wang [8]. 2.2 Behavior-Based Approaches A behavior-based control architecture can be organized horizontally which shows that each behavior has full access to all sensor readings and processes its own command to control the mobile robot [15] [16]. The nal command is dependent on the priority of each behavior. There are many applications of behaviorbased approaches that have been presented during the last few years such as Arkin [4], Kasper, Fricke, and Puttkamer [17], Yen and Puger [13], and Payton and Rosenblatt [18]. The research behavior-based topics for mobile robots are still being developed by many researchers.

3 Behavior-Based Fuzzy Control Design 3.1 Fuzzy Controllers Design A fuzzy controller can be designed as follows. 3.1.1 Feature Extraction: There are 10 sonars in the front and 8 sonars on the left and right sides of the robot. All sonar data must be adjusted and implemented. After the location and the direction of each sonar are known, a new sequence is provided in Table 1. Table 1: Input Feature for all sonars. Front-Left x11 = s9 x12 = s10 x13 = s11 x14 = s12 x15 = s13 Front-Right x21 = s5 x22 = s6 x23 = s7 x24 = s8 x25 = s0 Left x16 = s14 x17 = s17 x18 = s16 x19 = s15 Right x26 = s1 x27 = s4 x28 = s3 x29 = s2

A (yi ) yi (1) A (yi )

COG, y =

Other defuzzication techniques, Center-Average defuzzication, Maximum defuzzication, etc., can

i=1 n P

i=1

3.1.2 Fuzzy Controller for Obstacle Avoidance: The fuzzy controllers for obstacle avoidance are designed as follows [3]: Read sonar data and construct three membership functions for input: All data from sonar sensors are received and displayed. Three membership functions for each input in its universe are constructed. Each membership function is considered as a Gaussian curve membership function. The Gaussian curve depends on two parameters i and ci as given by " 2 # (xi ci ) Fi (xi ) = exp (2) 2i Construct ve membership functions for output: From our experiments, we construct ve memp. 2


         

    
 
 

   

 !"""#

bership functions for angular velocity: positive (30), small-positive(15), zero (0), small-negative (-15), and negative (-30) as given in Figure 2.
s9 Fuzzification of Fuzzy Outputs for Sigma = 7 1 s5 The degree of Membership 0.8
Inputs

Fuzzification

Rules
min(.) 1000 500 0 1000 500 0 min(.) min(.) min(.) min(.) min(.) min(.) min(.) min(.)

Defuzzification

30 15 0 -15 -30
COG Output

0.6

Fuzzy Inference System

0.4

0.2

Figure 3: The fuzzy inference system for obstacle avoidance.


-40 -30 -20 -10 0 10 20 Memberships of Output 30 40 50

0 -50

Figure 2: Output membership functions for avoiding obstacles.

on the right side are received and fuzzied. Three membership functions are constructed for each input. Each membership function is considered as the triangular and the trapezoidal membership functions. A triangular membership function is specied by 8 > > < > > : 0
xa ba cx cb

Construct nine rules for avoiding: The rules for avoiding frontal obstacles are shown in Table 2. The sonar notations are the same as shown in Figure 1 for convenience. The rule base of each table depends on the sensor arrangement. Table 2: Rules for avoiding frontal obstacles ! x1i ;(e.g. s09 ) 0 500 1000 x2i ;(e.g. s05 ) 500 15 0 15

T riangle (x : a; b; c) =

x<a axb bxa x>c

(4)

0 0 15 30

1000 30 15 0

Defuzzication: In this step, we will defuzzify the membership function for the control action of angular velocity using the centroid method. We use the minoperation rule for fuzzy implication. Finally, the output for angular velocity is given by equation (3).
n P

A (yi ) yi (3) A (yi )

yk =

Figure 3 shows an example of a fuzzy inference system for obstacle avoidance using sonar numbers 5 and 9. It was written in a DLL le which can be easily used by other programs [19]. 3.1.3 Fuzzy Controller for Wall Following: The fuzzy controller for wall following is designed as follows: Read sonar data and construct three membership functions for input: The data from two sonar sensors on the left side and two sonar sensors

i=1 n P

i=1

where input is x and the four parameters are a; b; c; and d with a < b c < d: Construct ve membership functions for output: The membership functions for angular velocity are the same as given in Figure 2 and two membership functions for linear velocity: speed 1 and speed 2. Construct nine rules for angular velocity and linear velocity: The rules for wall following behavior (left side) are shown in Table 3. The results from Table 3 are obtained by nine rules. The sonar notations are the same as shown in Figure 1. Defuzzication: In this step, we will defuzzify the membership function for the control action of angular velocity and linear velocity using the centroid method. Using min-operation rule of fuzzy implication, two outputs are obtained as equations (6) and (7). y!1 = min (s14 =500 ; s15 =500 ) !=15 ; y!2 = min (s14 =500 ; s15 =0 ) !=15 ; . . . y!9 = min (s14 =500 ; s15 =500 ) !=15 ; p. 3

where x is input and three parameters are a; b; and c with a < b < c: A trapezoidal membership function is specied by 8 x<a > 0 > xa > > ba a x b < 1 b x c (5) T rapezoide (x : a; b; c; d) = > dx > cxd > > dc : 0 x>c

(6)


         

    
 
 

   

 !"""#

Table 3: Rules for the wall following behavior (eg. left


side)
! v x15

perform in the same manners. Therefore, the results of emergency behavior are shown as follows: CHECK the objects from the front-left, the frontright, left, and right side respectively. STOP moving if the objects are closer than the safety distance (100 mm) The behavior will follow this process until all sonar data show the distance is greater than 100 mm. Additionally, the emergency distance can be specied by the user.

-500
15 1 15 1 30 1

x14 0
15 1 0 2 15 1

500
30 1 15 1 15 1

-500 0 500

yv1 = min (s14 =500 ; s15 =500 ) v=1 yv2 = min (s14 =500 ; s15 =0 ) v=1 . . . yv9 = min (s14 =500 ; s15 =500 ) v=1

(7)

Finally, the output for angular velocity and linear velocity are given by equation (3). 3.2 Behavior-Based Design The behavioral architecture in this paper is based on fuzzy control. The behavior-based fuzzy control of HelpMate consists of several behaviors. Each behavior represents a concern in mobile robot control and relates sonar sensor data, robot status data and goal information to control the robot. The architecture is shown in Figure 4.

3.2.2 Obstacle Avoidance Behavior: The obstacle avoidance behavior uses sonar sensor data to generate a fuzzy set that represents the distance relating to HelpMate's location. The behavior is operated by using the fuzzy controller. The fuzzy inputs are the fuzzy sets from front-left and front-right. The ve sensors on the front-left and the ve sensors on the frontright are used for obstacle avoidance behavior. Therefore, ve fuzzy controllers are required in this behavior. The output is the avoiding rotation. The results of obstacle avoidance behavior are shown as follows: TURN RIGHT- If the obstacle is located on the Front-left side, then HelpMate will turn right. TURN LEFT- If the obstacle is located on the Front-right side, then HelpMate will turn left.

Tasks
Follow Goal Follow Wall Avoid Obstacles Avoid/Escape from danger Obstacle avoidance behavior Task oriented behaviors

However, if there are obstacles located closer than an emergency distance, this behavior will be ignored. 3.2.3 Task Oriented Behaviors: Wall following and goal seeking behaviors are task oriented behaviors. Wall Following Behavior: The wall following behavior controls the distance to the wall. The wall following behavior determines the desired turning and moving direction in four steps based on HelpMate's current location. First, HelpMate locates the closest wall between the left side and right side. Second, the behavior computes the wall distance, i.e., the distance between the current position of HelpMate and the wall. Third, the fuzzy controller is used to control the wall distance. Finally, HelpMate moves ahead if the error from the third step is zero. For example, HelpMate locates the closest wall. If the wall on the left side is closer than the right side, HelpMate will track the wall on the left side. If the distance between the robot and the wall is at tracking distance2 , the robot will move forward. Goal-Seeking Behavior: The goal seeking behavior is the desired target which will be assigned as the user provides. If there is no obstacle between HelpMate
2 The distance between robot and wall which is specied by the user.

Emergency behavior

Sensors

Environment

Motor

Figure 4: Behavior-based fuzzy control architecture for


HelpMate mobile robot

3.2.1 Emergency Behavior: The rst behavior of HelpMate is an emergency behavior, which has a higher priority than other behaviors. Since this behavior depends on the safety distance, the sonar sensor data is used directly to stop the HelpMate robot. An emergency distance is dened for the emergency behavior. Sonar sensors from the front-left, front-right, left, and right have dierent emergency distances. Sonar sensors on the left, check objects on the left. If the objects are present (for si < 100), the robot will stop moving. Sonar sensors on the front and right

p. 4


         

    
 
 

   

 !"""#

and the goal, the goal-seeking behavior is activated. With respect to HelpMate's position and orientation, HelpMate turns and goes straight to the goal. Sonar data, target position, and HelpMate's location are given directly to the goal-seeking behavior. To make HelpMate move to the target, an attractive force is exerted to the target position that will try to pull HelpMate toward the goal. A constant-magnitude attracting force, Fct pulls the robot toward the target point, whose coordinates are known to the robot. The attracting force Ft is given by [20] [21] yt y0 xt x0 Ft = Fct x+ ^ y ^ (8) dt dt where Fct is the force constant (attraction to the target), dt is the distance between the target and the robot, and xt ; yt are the target coordinates. HelpMate will stop moving, and turn itself to a desired heading. If a new target is commanded from this point, HelpMate will activate the goal-seeking behavior to go to the new position.

5000

desk
4000

desk

3000

Figure 5: HelpMate was moving around the room

4 Implementation and Conclusions The fuzzy tool and all behaviors were written in IMA. Each behavior was implemented as an atomic agent. The fuzzy rules constructed in the main program are easy to implement and change. 4.1 Implementation The behavior-based fuzzy control for the HelpMate mobile robot was implemented as follows. 4.1.1 Emergency Behavior: If the obstacles are located closer than the emergency distance, the robot stops moving. The robot will check the obstacles from left to right. The emergency behavior has a higher priority than other behaviors. 4.1.2 Obstacle Avoidance Behavior: If the obstacles are detected in the front right of the robot, the obstacle avoidance behavior begins to engage. If the robot has no tasks, the robot is in wander mode. The robot turns left until the angular velocity command is close to zero. Figure 5 shows the robot moving around the room and avoiding obstacles. In this example, the linear velocity of the robot was given by 40 mm. . sec 4.1.3 Task Oriented Behaviors: Wall following: Two sonar sensors on the left side and two sonar sensors on the right side are used for wall following. The HelpMate mobile robot can follow the wall on the left side or the right side as the wall following is assigned. The user species the distance between the

robot and the wall which is controlled by a fuzzy controller. When the distance between the robot and wall is controlled by the fuzzy controller, the robot tracks the wall distance. If the distance is close to the setting value, the linear velocity will be increased. Goal-seeking: The user provides the velocity for the goal-seeking behavior. If an emergency behavior and an obstacle behavior are not active, then the goalseeking behavior is activated. The goal-seeking behavior will try to steer HelpMate toward the goal. The result is shown in Figure 6.

Figure 6: Goal-seeking and obstacle behaviors

desk desk

2000

Obstacle

desk

1000

End Start

-1000 -4000

desk

-3000

-2000 desk

-1000

desk

1000 desk

2000

desk

00

Goal Point (0,3000)


00

Robot Position (148, 3006)

00

00 Obstacle

00

00

00

Start Point (0,0)


0 0 500

p. 5


         

    
 
 

   

 !"""#

4.2 Conclusions The results show that this complicated system can be solved. Each behavior works correctly. An emergency behavior has the highest priority to stop the robot if the obstacles are located closer than the emergency distance. The larger the obstacles, the better the sonar data. The obstacle avoidance behavior also works better with larger obstacles. The HelpMate robot can avoid all obstacles that are detected by sonar sensors. The task behaviors show that HelpMate can move to the goal as the user assigns and moves to follow the wall by using the wall following behavior. The distance between the robot and wall can be controlled by using the fuzzy controller. However, in some situations the robot may stop if the objects are moved very quickly close to the robot. This means that the emergency behavior is working. Acknowledgement The guidance and help of Professor Kazuhiko Kawamura and other members of the Center for Intelligent Systems at the Vanderbilt University is gratefully acknowledged.

References [1] J. Borenstein and Y. Koren, \Obstacle avoidance with ultrasonic sensors," IEEE Journal of Robotics and Automation, vol. 4, no. 2, April 1988. [2] D. M. Wilkes, A. Alford, R. T. Pack, T. Rogers, R. A. Peters II, and K. Kawamura, \Toward socially intelligent service robots," International Journal of Applied Articial Intelligence, vol. 12, pp. 729{766, 1998. [3] S. Thongchai and K. Kawamura, \Application of fuzzy control to a sonar-based obstacle avoidance mobile robot," in Proceedings of the IEEE International Conference on Control Applications, Anchorage, Alaska, USA, September 25-27 2000. [4] R. C. Arkin, Behaviour-Based Robotics, MIT Press, Cambridge Massachusetts, 1998. [5] R. T. Pack, IMA: The Intelligent Machine Architecture, Ph.d. thesis, Electrical and Computer Engineering, Vanderbilt University, Nashville, TN, May 1998. [6] L. A. Zadeh, \Fuzzy sets," Information and Control, vol. 8, pp. 338{353, 1965. [7] R. Palm, D. Driankov, and H. Hellendoorn, Model Based Fuzzy Control: Fuzzy Gain Schedulers and Sliding Mode Fuzzy Controllers, Springer-Verlag Berlin, USA, 1997. [8] L.-X. Wang, Adaptive Fuzzy Systems and Control: Design and Stability Analysis, Prentice-Hall, Englewood Clis, New Jersey, 1994.

[9] L.-X. Wang, A Course in Fuzzy Systems and Control, Prentice-Hall, Englewood Clis, NJ, 1997. [10] A. Saotti, \The uses of fuzzy logic for autonomous robot navigation," Soft Computing, vol. 1, no. 4, pp. 180{197, 1997, Available on-line at http://iridia.ulb.ac.be/FLAR. [11] F. G. Pin, \A fuzzy behaviorist approach to sensor-based reasoning and robot navigation," in Control in Robotics and Automation: Sensor-Based Integration, B. K. Ghosh, N. Xi, and T. J. Tarn, Eds., chapter 13, pp. 381{418. Academic Press, Inc., San Diego, CA, 1999. [12] A. Saotti, E. H. Ruspini, and K. Konolige, \Blending reactivity and goal-directedness in a fuzzy controller," in Proceedings of the IEEE International Conference on Fuzzy Systems, San Francisco, California, 1993, pp. 134{139, IEEE Press. [13] J. Yen and N. Puger, \A fuzzy logic based extension to payton and rosenblatt's command fusion method for mobile robot navigation," IEEE Transactions on Systems, Man, and Cybernetics, vol. 25, no. 6, pp. 971{978, June 1955. [14] K. M. Passino and S. Yurkovich, Fuzzy Control, Addison Wesley Longman, Menlo Park, CA, 1998. [15] I. Ahrns, J. Bruske, G. Hailu, and G. Sommer, \Neural fuzzy techniques in sonar-based collision avoidance," in Soft Computing for Intelligent Robotic Systems, L. C. Jain and T. Fukuda, Eds. Physica-Verlag Heidelberg, Germany, 1998. [16] M. J. Mataric, \Integration of representation into goal-driven behavior-based robots," IEEE Transactions on Robotics and Automation, vol. 8, no. 3, pp. 304{312, June 1992. [17] M. Kasper, G. Fricke, and E. Von Puttkamer, \A behavior-based architecture for teaching more than reactive behaviors to mobile robots," in Third European Workshop on Advanced Mobile Robots, EUROBOT 99, Zrich, Switzerland, September 6-8 1999. u [18] D. Payton, J. Rosenblatt, and D. Keirsey, \Plan guided reaction," IEEE Transactions on Systems, Man, and Cybernetics, vol. 20, no. 6, pp. 1370{1382, November 1990. [19] R.T. Pack, D. M. Wilkes, and K. Kawamura, \A software architecture for integrated service robot development," in Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics, Orlando, September 1997, pp. 3774{3779. [20] R. C. Arkin, \Cooperation without communication: Multi-agent schema based robot navigation," Journal of Robotic Systems, vol. 9, no. 3, pp. 351{364, April 1992. [21] R. C. Arkin, \Motor schema-based mobile robot navigation," International Journal of Robotics Research, vol. 8, no. 4, pp. 92{112, 1989.

p. 6

Das könnte Ihnen auch gefallen