Behavor-Based Autonomous Robot Navgaton on Challengng Terran: A Dual Fuzzy Logc Approach 1 Kwon Park and 2 Nan Zhang South Dakota School of Mnes and Technology Department of Electrcal and Computer Engneerng 501 E. St. Joseph Street, Rapd Cty, SD 57701 USA 1 kwonp@hotmal.com, 2 Nan.Zhang@sdsmt.edu Abstract - A robot navgaton system based on combned two fuzzy logc controllers s developed for a moble robot. Eght ultrasonc sensors, a GPS sensor and two fuzzy logc controllers wth separate 81 rules were used to realze ths navgaton system. The data from sensors are used to the nput of each fuzzy controller. The outputs of fuzzy controllers control the speed of two servo motors. The robot wth ths navgaton system chooses one of two controllers based on the nformaton from the sensors whle navgatng for the targets. Fuzzy controller1 has functons that are target steerng, avodng obstacles and followng the edge of obstacles. Fuzzy controller2 has a functon that makes the robot keeps followng the edge of obstacles. Smulaton results show that a moble robot s escapng ablty from U-shaped obstacle was mproved and steerng ablty for a target by avodng obstacles was also mproved wth ths combned fuzzy logc controller. Keywords: Robot navgaton, fuzzy logc controller, U-shaped obstacle 1. INTRODUCTION A man ssue n moble robots s robot navgaton n an uncertan and complex envronment and consderable research has been done for makng an effcent algorthm for the moble robot navgaton. Among them, adaptve control and behavor-based control are most popular control algorthms and drvng research n robot navgaton. Adaptve navgaton control s a method usng pre-defned equatons that represent the robot s movng path to reach targets and show strong ablty n well-known envronment [1]. However t s hard to buld precse path generatng equaton for unknown and complex envronment. Behavor-based control s puttng a number of behavor unts n a moble robot s navgaton system to mprove navgaton ablty under the varous condtons of envronment [2]. Behavor-based control shows a good performance n makng a robot to take motons whch are nstructed from each behavor unt correspondng to the nformaton obtaned from the surroundngs; however, t has two major problems: the combnaton of behavor unts, and the ntegraton of behavors wth hgher-level processes [3]. Such dsadvantages of behavor-based control should be overcome so that the moble robot navgaton algorthm would satsfy the followng navgaton sklls: target steerng, avodng obstacles, followng the edge of obstacles and escapng from U-shaped obstacles n order to reach a specfed target wthout collson wth obstacles. A useful approach to mplementng behavor-based control s the use of fuzzy logc. Fuzzy logc provdes many advantages to moble robot navgaton because of ts robustness n dealng wth large varablty and uncertanty of parameters. Ths characterstc can satsfy the need of navgaton system where many navgaton sklls can be combned to show good performances n uncertan and complex envronment [2-5]. A drawback of usng fuzzy logc n moble robot navgaton s that a robot tends to get trapped nsde U- shaped obstacles [6-7]. Once a robot enters a U-shaped obstacle, t keeps roamng because of conflct of the behavor rules that nstruct the robot to move toward target and to avod or follow obstacles at the same tme. In ths paper, a combned fuzzy logc controller s desgned for a moble robot s navgaton system to solve the problem of trappng nsde U-shaped obstacles and to mprove navgaton ablty of the moble robot. A combned fuzzy controller conssts of two dfferent fuzzy controllers. Fuzzy controller1 has functons of target steerng, avodng obstacles, followng the edge of obstacles, whle Fuzzy controller2 has a functon whch makes the robot keep followng the edge of obstacles wthout proceedng to targets. Each controller has 81 fuzzy rules and 4 nputs from sensors. The output from each fuzzy controller controls the velocty of two wheels of moble robot. The dfference n the velocty between the two wheels makes the robot turn rght or left. In normal condtons, the robot just uses Fuzzy controller1 to reach a target. Once the robot perceves that t gets trapped nsde a U-shaped obstacle, t starts to use Fuzzy controller2 to fnd an ext by followng the edge of the obstacle. The robot needs to keep trackng the edge of obstacles untl the robot escapes from the obstacle. As a result, the robot wth Fuzzy controller2 doesn t have any nterrupton from the GPS sensor and has a tendency that makes the robot approach the edge of obstacles wthout collson. Ths paper s organzed as follows. Secton 2 descrbes the scheme of sensors n ths navgaton system. Secton 3 presents the functons of two fuzzy controllers. Secton 4 presents the desgn of a combned fuzzy controller. Secton 1-4244-0703-6/07/$20.00 2007 IEEE 239
5 shows smulaton results. Secton 6 presents the concluson. 2. SENSORS The sensors perceve surroundngs. Eght ultrasonc sensors and 1 GPS sensor are mounted on the robot. Whle the robot navgates n an unknown envronment, ultrasonc sensors measure the dstance from the obstacles, and a GPS sensor detects the present poston of robot. Eght ultrasonc sensors are dvded nto 3 groups. Two ultrasonc sensors are placed on the front of the robot and three ultrasonc sensors are placed on each sde of the robot to measure the dstances from the left and rght obstacles, respectvely. Before the data from the sensors are used as nputs to a fuzzy controller, they go through a procedure whch reduce the number of dstance data from 8 ultrasonc sensors to 3 dstance data whch are the smallest dstance values of each sensor group n front, left, and rght sde of robot and are denoted by L_dstance, F_dstance, R_dstance, as shown n Fg. 1. Ths procedure s effectve to reduce the number of fuzzy rules because t uses only 3 meanngful dstance values, therefore lghtenng the burden on desgnng fuzzy rules from all combnaton of 8 varables. Based on the data from GPS, the dfference angle between robot s headng drecton and target poston s calculated and t s used to an nput to a fuzzy controller. The postve and negatve value of the dfference angle s denoted byθ. If θ has a postve value, t means the robot s on the rght sde of a target. If θ has a negatve value, t means the robot s on the left sde of a target. Ths process s llustrated n Fg. 2. Movng drecton of robot θ Moble Robot θ >0: Robot s on the rght sde of target θ <0 : Robot s on the left sde of target Fg. 2. Scheme of data processng of GPS sensor 3. NAVIGATION SYSTEM WITH A COMBINED FUZZY CONTROLLER In order to reach a specfed target, a moble robot needs the followng navgaton sklls: target steerng, avodng obstacles and followng the edge of obstacles. A conventonal robot possessng the above sklls has a good navgaton performance n unknown and uncertan envronment; however, the robot usually gets trapped n U- shaped obstacles and t s drectly connected to navgaton falure. Once a robot gets trapped n a U-shaped obstacle, t oscllates between target steerng rules and followng edge rules [5]. Fg. 3 llustrates ths stuaton wth a U- shaped obstacle confguraton. Front obstacle D2 Left obstacle D8 D1 Front ultrasonc sensors D3 Rght ultrasonc sensors D : Dstance from obstacles F_dstance = Mnmum{ D1, D2 } R_dstance = Mnmum{ D3, D4, D5 } C U-shaped obstacle A Path B D7 D4 L_dstance = Mnmum{ D6, D7, D8 } Left ultrasonc sensors Moble Robot D5 Rght obstacle Moble robot Fg. 3. Example of navgaton falure n U-shaped obstacle D6 Fg. 1. Scheme of data processng of ultrasonc sensors At the begnnng of navgaton, the U-shaped obstacle s too far away to have an effect on the robot s movng drecton, hence the robot moves toward the target n a straght lne under the effect of target steerng rules. On pont A, the front ultrasonc sensors detect an obstacle placed n front of the robot, and the avodng obstacle rules veer the robot to the rght to avod the obstacle. The robot moves along the edge of the obstacle from pont A to pont B by usng the followng edge of obstacles rules because 240
the target s placed behnd the obstacle. On pont B, because the obstacle s placed on the left-hand sde and the target s placed on the rght-hand sde, the robot turns to rght and moves toward the target. When the robot s faced wth the obstacle around pont A agan, the robot uses the avodng obstacle rules, and then t uses the followng edge of obstacles rules untl t arrves at pont C. On pont C, the target s placed on the left-hand sde of the robot, and there are no obstacles on the left-hand sde of robot, the robot turns to left and moves toward the pont A agan. The robot keeps on oscllatng ths way, between ponts A, B and C endlessly. To mprove ths drawback, a navgaton system based on two combned fuzzy logc controllers s desgned. Fg. 4 shows the schematc dagram of ths navgaton system. Sensor Data Controller Decson Fuzzy Controller 1 Fuzzy Controller 2 Left Servo Motor Rght Servo Motor Fg. 4. Scheme of navgaton system wth a combned fuzzy controller In the navgaton system, a controller decson process s conducted based on the data from two front ultrasonc sensors. When the moble robot wth Fuzzy controller1 s surrounded by obstacles or the robot s path s blocked by an obstacle, the robot quckly tres to make bg turns to avod collson. Whle the robot s takng such an avodng acton, the front part of robot usually approaches to the obstacle closely. When ether dstance value from two front ultrasonc sensors s smaller than a predefned value n the controller decson process, ths stuaton s regarded as gettng trapped nsde an obstacle and the navgaton system starts to use Fuzzy controller2. Whle Fuzzy controller2 s operatng, the robot only follows the edge of obstacles wthout takng any acton of target steerng and avodng obstacles. The reason for puttng the second fuzzy controller to ths navgaton system s to gve the robot an ablty to fnd an ext of U- shaped obstacle. The navgaton system keeps usng Fuzzy controller2 untl the robot fnds an ext nsde the obstacle. The fndng ext process s also conducted by controller decson process of navgaton system based on the data from front ultrasonc sensors. Whle the robot moves along the edge of obstacles, a front ultrasonc sensor, whch s close to the edge of obstacles, keeps transmttng smaller values of dstance data to controller decson process than the other front ultrasonc sensor. When both dstance values of front ultrasonc sensors are bgger than a predefned value, that pont s regarded as an ext. After the robot fnds an ext of the U-shaped obstacle, the robot doesn t use Fuzzy controller1 mmedately because the data from sensors stll drect the robot to move nsde the U-shaped obstacle. To solve ths problem, the controller decson process has a counter to gve a delay between fndng an ext and changng controller to Fuzzy controller1 untl the robot escapes from the condton that makes the robot to move nsde the U-shaped obstacle. Whle the counter counts certan tme, the robot keeps usng Fuzzy controller2 and can get out of the trapped condton. 4. FUZZY CONTROLLERS Two fuzzy controllers desgned n ths paper have the same nput and output membershp functons. The dfference between two controllers s the rule evaluaton part. After a fuzzy controller s chosen based on the nformaton obtaned from the surroundngs, the fuzzy controller has a process, whch conssts of three stages: fuzzfcaton, rule evaluaton and defuzzfcaton. The outputs of fuzzy controllers control the velocty of two wheels of the moble robot and they are denoted by L_velocty and R_velocty as lngustc varables n fuzzy rules. Fg. 5 shows the process of combned fuzzy controller n detal. F_dstance R_dstance L_dstance Fuzzfcaton Fuzzy controller 1 Rules : steerng, Avodng obstacles, Followng edge of obstacles Rules : Strengthened for followng edge of obstacles Fuzzy controller 2 Defuzzfcaton Fg. 5. Scheme of combned fuzzy controller Speed of Left wheel Speed of Rght wheel 4.1 FUZZIFICATION Two fuzzy membershp functons are desgned to fuzzfy the data from sensors. Membershp functon shown n Fg. 6 s used to fuzzfy the value of varables F_dstance, R_dstance, L_dstance from the ultrasonc sensors. 1 CLOSE MEDIUM FAR 0 10 20 40 D(cm) Fg. 6. Membershp functon for lngustc varables F_dstance, R_dstance, L_dstance Membershp functon shown n Fg. 7 s used to fuzzfy the dfference angle (θ ) between robot s headng angle 241
o and target s poston. If θ s bgger than + 90 or smaller o than 90, t s denoted by R_poston and L_poston respectvely. If the dfference angle s wthn the range o of ± 90, t wll be denoted by S_poston. 1 L_poston S_pos ton R_poston -90 0 +90 θ( degree ) Fg. 7. Membershp functon for varable Wth these membershp functons, the dstance nformaton and poston nformaton from sensors are converted to fuzzy values. 4.2 RULE EVALUATION Wth 4 fuzzy nputs, each fuzzy controller has two outputs that are denoted by lngustc varables: L_velocty, R_velocty. Those lngustc varables represent the speed of each wheel, and they are classfed by three range of speed: SLOW, MED, and FAST. The fuzzy rules have two parts: condton part that conssts of IF statements and behavor part whch conssts of THEN statements. Condton part s desgned to represents all possble envronmental condton whch the robot wth the proposed sensor system can meet whle t navgates and the speed of each wheel s represented n THEN statement to control robot s moton copng properly wth the envronmental condtons. 4.2.1 RULES IN FUZZY CONTROLLER 1 Fuzzy controller1 has 81 rules for navgaton sklls: steerng, avodng obstacles and followng the edge of obstacles. To realze these navgaton sklls, followng rules are desgned. <Rules for target steerng> Rule 1: If (L_dstance s FAR and F_dstance s FAR and R_dstance s FAR and θ s S_poston) then (L_velocty s FAST and R_velocty s FAST) Rule 2: If (L_dstance s FAR and F_dstance s FAR and R_dstance s FAR and θ s L_poston) then (L_velocty s FAST and R_velocty s SLOW) Rule 3: If (L_dstance s FAR and F_dstance s FAR and R_dstance s FAR and θ s R_poston) then (L_velocty s SLOW and R_velocty s FAST) <Rules for avodng obstacles> Rule 5: If (L_dstance s MEDIUM and F_dstance s CLOSE and R_dstance s CLOSE and θ s any) then (L_velocty s SLOW and R_velocty s FAST) Rule 6: If (L_dstance s CLOSE and F_dstance s CLOSE and R_dstance s MEDIUM and θ s any) then (L_velocty s FAST and R_velocty s SLOW) θ Rule 7: If (L_dstance s CLOSE and F_dstance s MEDIUM and R_dstance s CLOSE and θ s any) then (L_velocty s MED and R_velocty s MED) <Rules for followng edge of obstacles> Rule 8: If (L_dstance s FAR and F_dstance s FAR and R_dstance s CLOSE and θ s L_poston) then Rule 9: If (L_dstance s CLOSE and F_dstance s FAR and R_dstance s FAR and θ s R_poston) then Rule 10: If (L_dstance s FAR and F_dstance s MEDIUM and R_dstance s CLOSE and θ s L_poston) then Rule 11: If (L_dstance s CLOSE and F_dstance s MEDIUM and R_dstance s FAR and θ s R_poston) then 4.2.2 RULES IN FUZZY CONTROLLER 2 Fuzzy controller2 also has 81 rules. Dfferent from rules n Fuzzy controller1, the rules n Fuzzy controller2 are desgned for the robot to follow the edge of obstacles n order to fnd any ext nsde obstacles. These rules are a fortfed form of followng edge rules n fuzzy controller1. Wth these rules, the moble robot approaches to the edge of obstacles, makng adequate dstance, and keeps followng the edge of obstacles wthout consderaton of compensatng the dfference angle (θ ). Wth these rules, n most case, the robot moves at low speed. However, when the robot reaches a corner of obstacle, t makes turns towards the obstacle at hgh speed because the robot usually msses obstacles at that pont, so such quck approachng moton toward obstacle prevents the robot from gettng away from obstacle. To realze ths navgaton skll, followng rules are desgned. <Rules for fortfed followng edge of obstacles> Rule 12: If (L_dstance s FAR and F_dstance s FAR and R_dstance s MEDIUM and θ s any) then (L_velocty s FAST and R_velocty s SLOW) Rule 13: If (L_dstance s FAR and F_dstance s FAR and R_dstance s CLOSE and θ s any) then Rule 14: If (L_dstance s FAR and F_dstance s MEDIUM and R_dstance s MEDIUM and θ s any) then (L_velocty s FAST and R_velocty s MED) Rule 15: If (L_dstance s FAR and F_dstance s MEDIUM and R_dstance s CLOSE and θ s any) then Rule 16: If (L_dstance s MEDIUM and F_dstance s MEDIUM and R_dstance s CLOSE and θ s any) then Rule 17: If (L_dstance s MEDIUM and F_dstance s FAR and R_dstance s CLOSE and θ s any) then 4.3 DEFUZZIFICATION In ths paper, the weghted-average defuzzfcaton method and a membershp functon shown n Fg. 8 are used. 242
Trapped n U-shaped obstacle Trapped n U-shaped obstacle Trapped n U-shaped obstacle Proceedngs of the 2007 IEEE Symposum on The weghted-average defuzzfcaton method can be expressed as follows. x numberof rules = = numberof rules m w 1 (1) = 1 m x = defuzzfed output m = the member of output of each rule w = weght assocated wth each rule wth the combned fuzzy controller fnds out the exts from U-shaped obstacles and reaches the targets successfully. (a) Usng controller1 (b) Usng combned controller 1 SLOW MED FAST 0 1 2 Fg. 8. Output membershp functon V(cm/s) 5 SIMULATION AND RESULTS In the smulaton results, the robot s navgaton path to reach specfed targets shows that the navgaton system s workng properly. The path s represented by the overlapped moton of moble robot n each step. In order to prove the performance of the combned fuzzy controller, varous shapes of obstacles are put n the smulaton envronment. The dense part of path means that the robot moves at lower speed compared to the other parts of path. Especally, when t avods obstacles or follows the edge of obstacles, t s shown that the robot reduces ts speed. Fg. 9. (a) shows robot s moton when t meets scattered obstacles on ts way to a target. The result shows that the robot wth combned fuzzy controller steers for a target wthout collson wth obstacles. Fg. 9. (b) shows robot s moton when a target s placed nsde a U-shaped obstacle. The result shows that the robot wth combned fuzzy controller reaches a target nsde a U- shaped obstacle usng followng edge rules. Fg. 9. (a) Fg. 9. (b) Fg. 10 shows robot s escapng moton for varous shapes of U-shaped obstacle. In each case, two smulaton results are presented. One s the robot s moton wth Fuzzy controller1 only, and the other s the robot s moton wth the combned fuzzy controller. In all cases, the robot equpped wth Fuzzy controller1 fals to escape from the U-shaped obstacle. On the other hand, the robot equpped (c) Usng controller1 (e) Usng controller1 (d) Usng combned controller (f) Usng combned controller Fg. 10. (a)-(f): Robot s moton n varous shaped of U-shaped obstacles In Fg. 11 (a), when the robot wth combned fuzzy controller s ntally faced wth the obstacle, t wll turn to rght automatcally and starts to use Fuzzy controller2 untl t fnds 1. As soon as the robot fnds 1, Fuzzy controller1 starts to operate to steer for target. When the robot perceves that t gets trapped n U-shaped obstacle agan, Fuzzy controller2 s operated agan untl t fnds 2. Such alternaton between two controllers keeps occurrng untl t reaches the target to prevent t from gettng trapped n the U-shaped obstacle. In Fg. 11 (b), the robot wth the combned fuzzy controller reaches the target passng through the obstacles along the narrow road. Fg. 11 (c) shows the robot s moton n an envronment, whch has a number of scattered obstacles. In ths smulaton, the robot has to pass sx sub-targets n order to reach the fnal target. From the result, the robot wth combned fuzzy controller reaches each target wthout collson and controls movng speed. When t passes obstacles t reduces the speed. 243
1 6 7 2 5 2 1 4 3 Proceedngs of the 2007 IEEE Symposum on (a) (b) (c) Fg. 11. (a) The robot reaches a target wth escapng from a U- shaped obstacle. (b) The robot havng a target lower speed at curved and narrow road. (c) The robot reaches more targets n a cluttered envronment. 6 CONCLUSIONS A navgaton technque usng a combned fuzzy controller has been proposed n ths paper. From the smulaton result, the moble robot wth the combned fuzzy controller demonstrates an mproved navgaton n unknown or uncertan envronment. A number of behavor unts are well combned and show good responses to the varous sensor data through fuzzy logc In the complex envronment where there are varous shaped obstacles, the robot wth the combned fuzzy controller reached specfed targets wthout collson wth the obstacles, and the robot also showed smooth navgaton paths by reducng ts movng speed whle t bypasses obstacles. Ths shows that the fuzzy logc, whch mtates human s reasonng, s sutable to control the robot s moton n complex envronment and thus smplfes the navgaton system wthout usng any dynamc equatons to generate robot s path correspondng to surroundng nformaton. NONMENCLATURE L_dstance p : dstance data from left ultrasonc sensors F_dstance : dstance data from front ultrasonc sensors R_dstance : dstance data from rght ultrasonc sensors θ : dfference angle between robot s headng drecton and target poston L_velocty : rotatng speed of left wheel of robot R_velocty : rotatng speed of rght wheel of robot REFERENCES [2] W. L, Fuzzy logc-based percepton-acton behavor control of moble robot n uncertan envronments, IEEE Internatonal Conference on Fuzzy Systems. pp. 1626-1631, 1994. [3] Saffott, E. H. Ruspn and Konolge. (1999). Chapter 5 of the Internatonal Handbook of Fuzzy Sets: Kluwer Academc Publsher. [4] K. Song and J. Ta, Fuzzy Navgaton of a Moble Robot, IEEE Internatonal Conference on Intellgent Robots and Systems, pp. 621-627, 1992. [5] Ramrez-Serrano and M. Boumedne, Ultrasonc Sensng and Fuzzy Logc Control for Navgaton n Unknown Statc Envronments, Proc, Eurobot, pp. 54-59, 1996. [6] F. Kabanza and K. B. Lamne, Specfyng Falure and Progress Condtons n a Behavor-Based Robot Programmng System, The Fourth Internatoanl Cogntve Robotcs Workshop, 2004. [7] N. Zhang, D. Beetner, D. C. Wunsch II, B. Hemmelman and A. Hasan, An Embedded Real- Tme Neuro-Fuzzy Controller for Moble Robot Navgaton, IEEE Internatonal Conference on Fuzzy Systems, 2005. [8] S. G. Tzafestas and K. C. Zkds, A 3-level neurofuzzy autonomous robot navgaton system, Proc. IEEE Internatonal Conference onfuzzy Systems, 1994, pp. 1626-1631, 1994. [9] E. Bertolss and D. R. W. Holton, Combnng Schema Theory wth Fuzzy-Logc to Control a Moble Robot. (1995). Intellgent Autonomous Systems (pp. 538-544): IOS Press. [10] Hartmut Surmann, Jörg Huser and Llane Peters, A Fuzzy System for Indoor Moble Robot Navgaton, Proc. of the Fourth IEEE Int. Conf. on Fuzzy Systems, pp. 83-86, 20-24.03.1995, Yokohama, Japan. [11] S. Thongcha, S. Suksakulcha, D. M. Wlkes and N. Sarkar, Sonar Behavor-Based Fuzzy Control for a Moble Robot, Proc. of the IEEE Internatonal Conference on Systems, Man and Cybernetcs, Nashvlle, Tennessee, October 8-11, 2000. [12] M. Benregueg, P. Hoppenot, H. Maaref, E. Colle and C. Barret, Control of a medcal ad moble robot based on a fuzzy navgaton, IEEE Symposum on Robotcs and Cybernetcs, pp. 388-393, July 1996. [13] Petru Rusu, Eml M. Petru, Fellow, IEEE, Thom E. Whalen, Aurel Cornell and Hans J. W. Spoelder, Behavor-Based Neuro-Fuzzy Controller for Moble Robot Navgaton, IEEE Transacton on Instrumentaton and Measurement, Vol. 52, No. 4, August 2003. [1] Fujmor, P. N. Nkforuk, and M. M. Gupta, Adaptve navgaton of Moble Robots wth Obstacle Avodance, IEEE Thansactons on robotcs and automaton, Vol. 13, NO. 4, August 1997. 244