Fuzzy-Heuristic Robot Navigation in a Simulated Environment S. K. Deshpande, M. Blumenstein and B. Verma School of Information Technology, Griffith University-Gold Coast, PMB 50, GCMC, Bundall, QLD 9726, Australia Email: {m.blumenstein, b.verma}@griffith.edu.au Abstract Computational intelligence techniques such as fuzzy logic and neural networks have been recently successful in enabling robots to cope with complex tasks, such as navigation in difficult environments. This paper proposes an intelligent navigation approach for mobile robots based on fuzzy logic in conjunction with heuristic rules. The Fuzzy-Heuristic approach attempts to tackle complicated situations such as two or more obstacles trapping the robot during navigation. Furthermore, the success of the approach is evaluated measuring the effect of the heuristic rules on robot navigation in a simulated environment for various scenarios. Simulation experiments show that the heuristic unit can improve robot navigation performance in difficult situations. 1. Introduction The goal of autonomous mobile robotics is to build physical systems that can move in unknown environments without human interference. The development of autonomous mobile robots with nontrivial navigation capabilities began as an interesting application domain for Artificial Intelligence researchers in the late 1960s, and it continues to present major challenges to researchers and system developers today. In the past four decades, a number of approaches for mobile robot navigation have been investigated including the classical AI approach [1], the behaviour-based approach [2], the hybrid approach [3] and many others. Behaviour-based control [4] in particular has been widely used for robot navigation. This is because it is an approach that does not require the building of an exact world model or complex reasoning processes. The common approach for implementing behavior control is artificial potential fields [5]. However, during preprogramming, much effort must be made to test and to adjust some thresholds regarding potential fields for different behaviors such as avoiding obstacles, moving to the target etc [6]. Most researchers have opted for approaches such as navigation based on global path planning and reaction based navigation. Among these, reaction based navigation has been considered more suitable for navigation in complex and dynamically changing environments, because it controls the mobile robot in an on-line manner utilizing instantaneous sensor measurements [7]. Researchers have also used mapbuilding approaches (grid-based free-space map and a feature-based map) for navigation [8]. Although they provide accurate maps, their complexity often prohibits efficient planning and problem solving in large-scale indoor environments [9]. Research has also been conducted applying fuzzy logic to behavior-based control of a mobile robot [10]. However, further research is still required to tackle complex situations. In this research, fuzzy rules are proposed for robot navigation in an unknown simulated environment. Various heuristic rules are used in conjunction with the fuzzy rules to deal with difficult situations i.e. obstacle avoidance. 2. Robot Navigation in a Simulated Environment The following sections describe the approach for robot navigation in a simulated environment. The environment, and the fuzzy-heuristic approach are described in detail. 2.1. The Simulated Environment A simulated environment is considered in order to test the proposed fuzzy and heuristic rules for robot navigation. The environment is a fixed size (500 300), two-dimensional co-ordinate system. As may be seen in Figure 1, the target is denoted by a square at the topmost left corner. The position of the target can be changed. The remaining squares represent the obstacles while the white circular object represents the robot. The robot is assumed to have two sensors a left sensor and a right sensor. The orientation of robot sensors is organized according to the direction in which the robot is heading. The left sensor senses obstacles in the range 0-90 while the right sensor works in the range from 91-180. Input signals are also modeled in the graphical simulation. These input signals are the sonar data acquired from the left/right sensors while the heading angle is calculated by means of the modeled beacon signal emitted by the target.
Figure 1 Structure of the simulated environment 2.2. The Proposed Approach information near, then the rules for avoiding the obstacle are activated checking whether the obstacle is very near. If this condition is true, then the rules are fired in order to avoid the obstacle. The robot may get into the range of an obstacle but the rules don t get fired unless the robot is close enough. The robot motion is defined by RMOV. The variables MOV_L and MOV_R are the specific directions of the robot motion RMOV. The robot moves with a constant speed except for a few cases where the robot's speed is reduced whilst following the boundary of an obstacle. The speed is controlled using threshold values whenever a new heading angle is calculated upon obstacle avoidance. These threshold values have been derived experimentally. Fuzzy-Heuristic Approach θ d FUZZY UNIT HEURISTIC UNIT output 2.2.1.1. Description of the Fuzzy Rules A number of fuzzy rules are considered in this section along with their detailed analysis. For each example, the target is denoted as T while the robot and obstacles are denoted as R and ٱ respectively. The graphical representation of the boundaries near and very near associated with the obstacle is shown in Figure 3. Figure 2 Overview of fuzzy-heuristic approach As shown in Figure 2, two units define the proposed approach: a fuzzy unit and an heuristic unit. In the figure above, "θ" and "d" denote the heading angle towards the target and distance from the obstacle acquired by the left/right sensor respectively. The fuzzy unit is responsible for the activation of various fuzzy rules based on certain situations, whilst the heuristic rules are mainly used to deal with complicated situations. These are described in the next sections. 2.2.1. Fuzzy Unit The proposed approach is comprised of a single fuzzy unit. The inputs to the fuzzy unit are the distances between the robot and the obstacle boundaries detected by two sensors as well as the heading angle between the robot and the target denoted by ANG. The angle between the robot and target is calculated initially. The two sensors detect obstacle boundaries and the angle to the obstacle is also calculated. Depending on the location of the target with respect to the obstacle, a decision is taken to find an appropriate path to the target. The linguistic variables very near and near are chosen for a good reference motion of the robot. The robot checks for the distance to the obstacle. If the sensors yield the Figure 3 Diagrammatical representation of the obstacle and boundaries As may be seen above, a virtual region surrounds the obstacle. Whenever the robot gets into that region, the rules are activated to avoid that obstacle. The robot then checks for a boundary (very near) and avoids it, taking the appropriate path depending on the location of the target. Consider the following fuzzy rule: IF (OBSTACLE IN ROBOT'S PATH (near)) THEN (RMOV IS MOV_L) T R Figure 4 Obstacle on the path of the robot In Figure 4 the obstacle is near but it is not near enough in order to fire the rules, so the robot will simply
move according to the calculated heading angle. When such conditions occur, the robot moves in the left direction neglecting the presence of the boundaries of the obstacle. However, when the robot gets very near to the obstacle, the rules are fired depending on the particular boundary the robot senses. Consider the following scenario: determine the exact direction when obstacles are being avoided (discussed in the previous section - Figure 5). The speed is also maintained by using an x-component and a y-component since these components get calculated every time the robot avoids the obstacle. Figure 5 Robot s decisive direction In Figure 5 above, points a and b indicate the points in the very near region. When the robot gets close to the right boundary it would consider the heading angle towards the target and move along the path shown (a). If the robot gets close to the lower boundary it will not move along the right boundary and will instead take the path shown depending on the location of the target (b). The main idea behind this concept is the use of the angle calculated with respect to the obstacle. When the robot gets near to the obstacle, the angle with respect to the obstacle is calculated and it is compared to the heading angle towards the target. Depending on this angle, a decision is taken to avoid the obstacle in an appropriate way, which ultimately saves time to get to the target. Occasionally, the robot must make a decision to move in a particular direction when certain sets of criteria are met. Consider the following situation: T R Figure 6 Case where priority is important In Figure 6 above, the robot is very near to the obstacle but there are no obstacles on the path towards the target. Here, the robot has two options that are to move towards the target and avoid the obstacle. In this case, the robot moves in the direction of the target instead of avoiding the obstacle. 2.2.2. Robot Navigation The heading angle towards the target is calculated initially at the starting position and is calculated each time after an obstacle is avoided. The heading angle is defined in terms of an x-component and a y-component, which are ultimately used in the robot motion direction. There are factors defined in terms of x and y which Figure 7 Robot motion direction In Figure 7, the current angle (θ) towards the target can be easily calculated by using the slope given the current co-ordinates of the robot and the target. By using this angle and keeping one component constant (x or y), the second component may easily be obtained by using the following formula: tan θ = (y-component)/(x-component) These components are then used to influence the robot motion along with the direction. In the simulation, the y-component has been kept constant, as we have considered the fourth quadrant from the user s perspective. Whilst navigating near any four-sided obstacles, the "sensors" check for the edge that is very near the robot triggering a corresponding behavior to avoid that particular edge which ultimately avoids the obstacle. The following algorithm makes this concept clear. AVOID: Avoid the obstacles Calculate the angle towards the obstacle Check for a particular border of the obstacle sensed by robot IF they are "very near" Condition is true SET a range in terms of x and y-coordinates for which the method should stay activated IF absolute value of (obstacle angle) > (heading angle) Set the values of x and y factors to 1 ELSE Set the values of x and y factors to -1 ENDIF ENDSET ELSE Calculate the angle towards the target when robot moves away from obstacle ENDIF ENDAVOID 2.2.3. Heuristic Unit Figure 8 Avoidance algorithm There are a number of situations where the fuzzy rules alone were not sufficient to deal with certain
situations. Additional rules were added in order to cope with such situations. These rules are called heuristic rules. boundaries have been set based on observations of robot success in the simulated environment. In the simulation, these distances are measured in terms of pixels. µ(x) = very near if x <0 2> = near if x <3 24> Here µ(x) is the membership function related to distance. 3. Experimental Results Figure 9 Fuzzy-heuristic simulation Consider the above scenario taken from the simulation. In this case, the robot is surrounded by two obstacles, which obstruct its path. The robot senses the rightmost obstacle and based on the heading angle avoids it but finds another obstacle and tries to avoid it as well. It then finds the same obstacle again and this leads to a repetitive state. In such cases, there is a need for rules that will draw the robot out of this situation. These heuristic rules are fired instead of the fuzzy rules and will lead the robot away from the obstruction. To summarise, the heuristic rules ensure that previous situations are remembered. Upon occurrence of such difficult situations, the algorithm first calculates the distance between the two obstacles. The algorithm also checks for a timer, which gets set when such situations occur and is again initialized to zero whenever the robot comes out of the situation. The timers ensure that the heuristic rule does not get activated if the robot tries to avoid the same obstacle. The calculated distance between the two obstructing obstacles is always checked with a threshold value. It stores the positions of the obstacles, provided the distance between them is not greater than the aforementioned threshold. If the condition is true, the heuristic behavior of reversing a certain number of steps is fired and the robot moves in an adjusted direction. The algorithm ensures that the robot does not arrive at the same situation again by making changes to the x and y factors that influence robot motion. 2.2.4. Linguistic Variable Settings As far as the distance parameter was concerned, a linguistic variable near was defined in the range from 3 to 24 while very near was considered when the robot gets in the range under 2. This means that the obstacles that lie in the range of 2 from the robot are treated as very near while those lying beyond 3 are treated as near. The upper limit for near is 24. The This section presents the experimental results obtained following the investigation of the proposed approach. To evaluate the effectiveness of the heuristic rules in conjunction with the fuzzy unit, experiments were conducted based on (1) the Fuzzy unit alone (fuzzy approach) and (2) the Fuzzy unit in conjunction with the heuristic rules (fuzzy-heuristic approach). Various simulation results obtained in different scenarios (with different obstacle configurations) are presented. 3.1. Experimentation of Control Schemes This section deals with the parameter settings used for experimentation. An important parameter considered here is csteps which is the number of steps calculated to reach the target. The greater the number of csteps, the longer the path taken to get to the target. Using this parameter the comparison of two behaviors (fuzzy and fuzzy-heuristic) may be performed. Two sets of obstacle configurations are also considered random and fixed. These configurations are investigated in the following two ways 1) introducing more obstacles in the environment, 2) checking the response of each behavior (fuzzy and fuzzy-heuristic) and observing whether the robot successfully reaches the target. The complexity of the obstacle configuration for both fuzzy (without heuristic rules) and fuzzy-heuristic approaches was considered and the results obtained were compared. The obstacles were positioned in a random as well as fixed manner. The number of obstacles varied from 10 to 30. The environment becomes more complicated as the number of obstacles increase. For the random configuration, the x and y co-ordinates of obstacles were selected in a random way and the algorithm ensured that all obstacles were visible and placed within the environment. Although complicated situations were obtained using the random obstacle configuration, there was a need to create more challenging situations. For this purpose, a fixed obstacle configuration was considered. The obstacles were manually placed in the environment in a complicated manner in order to test the performance of the robot.
3.2. Experiments with Random Obstacle Configurations (ROCs) Three different positions of the robot and target were considered for experimentation. Thus, the three sets of experiments were conducted keeping these three positions constant throughout. The number of obstacles (N) varies from 10 to 30. Fifteen random obstacle configurations were taken into account for each set of experiments ( 10,20,30). Thus, 45 random obstacle configurations were considered for comparison of the two approaches (Figure 10). These obstacle configurations were considered to be very complicated for the robot to navigate. Number of Trials 5 4 3 2 1 0 10 20 Number Of Obstacles 30 FUZZY Fuzzyheuristic FUZZY- HEURISTIC Figure 11 Comparison of successful trials based on a fixed obstacle configuration Table 2 Comparison of "csteps" performance (FOCs) Number of Trials 15 10 5 0 10 20 30 Number Of Obstacles FUZZY FUZZY- HEURISTIC Figure 10 Comparison of successful trials based on a random obstacle configuration Table 1 Comparison of "csteps" performance (ROCs) "csteps" performance over successful trials # Obstacles Fuzzy Equal Total Trials N=10 8 0 3 11 N=20 5 0 4 9 N=30 6 0 0 6 3.3. Experiments with Fixed Obstacle Configurations (FOCs) This section presents the experimental results using fixed obstacle configurations. Different positions of the robot and target were considered for experimentation; in total 15 complicated situations were investigated. The number of obstacles (N) varied from 10 to 30. The obstacle configuration in these experiments was considered to be complex. The graphical representation of the performance of the two approaches based on fixed obstacle configurations is displayed in Figure 11. "csteps" performance over successful trials # Obstacles Fuzzy Fuzzyheuristic Equal Total Trials N=10 0 0 2 2 N=20 1 0 1 2 N=30 1 0 0 1 4. Discussion and Comparison of Results The experimental results for the fuzzy and fuzzyheuristic approaches have been compared on the basis of successful trials and csteps, keeping the environmental parameters constant. By keeping the positions of the robot and target constant for a particular set of experiments and increasing the complexity of the environment by adding more obstacles to it, the robot's behavior is observed in detail in order to verify the effectiveness of the proposed approach. 4.1. Comparison based on the Number of ful Trials In Figure 10, for the random obstacle configuration, it can be seen that the fuzzy-heuristic approach performed better than the fuzzy approach in terms of successfully navigating to the target. However, as the obstacle configuration became more complex i.e. the number of obstacles increased, the performance of both approaches was reduced. For the fixed obstacle configuration, it can be seen that the performance of the fuzzy approach is reduced as the environment becomes more complex. The fuzzyheuristic approach performs well in most of the complicated situations ( 20,30). In Figure 11, it can be noted that when the number of obstacles (N) was set to 10, the fuzzy approach performed slightly better than the fuzzy-heuristic approach. This is in part due to the
unnecessary firing of heuristic rules in certain situations that resulted in the robot being involved in a repeated cycle whereby it was unable to reach the target. However, in the case of the fuzzy approach, the robot successfully navigated through the same environment. 4.2. Comparison of Results based on csteps It was observed that out of a total of 26 simulations for random obstacle configurations where both fuzzy and fuzzy-heuristic approaches reached the target, in 19 cases, the fuzzy-heuristic approach took slightly longer (in terms of csteps ) to complete the simulation than the fuzzy approach. Whereas in 7 cases, both approaches reached the target successfully, taking the same number of csteps (Table 1). It must be noted that in most cases the additional "csteps" taken by the fuzzy-heuristic approach were nominal. In the case of the fixed obstacle configurations, out of a total of 5 simulations where both fuzzy and fuzzyheuristic approaches reached the target, in 2 cases, the fuzzy-heuristic approach took slightly longer to complete the simulation than the fuzzy approach. However, it was observed that there were 3 cases where both approaches reached the target successfully taking the same number of csteps (Table 2). 4.3. Comparison with other Researchers It is difficult to compare the performance of robot navigation amongst researchers, as there have been little or no benchmarks for comparison in the literature. Other problems that arise are differences in experimental settings and in scenarios used for testing. A number of scenarios have been taken from [11][12][13] in order to test the effectiveness of the proposed approach and a reasonable success rate for navigation was observed (including in complicated situations). In most cases, other researchers have not measured the number of steps involved in reaching a specific target. This research has included a comparison of two approaches based on the steps required to reach a target. 5. Conclusions and Future Research In this research, a novel approach for mobile robot navigation based on fuzzy and heuristic rules has been presented and discussed. The addition of heuristic rules proves to be very useful when the robot gets trapped in complicated situations. It was observed that the fuzzyheuristic approach took slightly longer to reach the target in 73% of cases for the random obstacle configuration and 40% of cases for the fixed obstacle configuration (where both fuzzy and fuzzy-heuristic approaches reached the target). However, it can be noted that the fuzzy-heuristic approach reaches the target successfully in a higher proportion of cases compared to the fuzzy approach alone. In future, the fuzzy-heuristic approach will be tested in a real environment. A back sensor will also be taken into account for moving and sensing objects in the reverse direction. Finally, more fuzzy and heuristic rules will be added in order to enhance navigation performance. References [1] H. Moyarec, Robot: mere machine to transcendent mind, Oxford University Press, New York, NY, USA, 1999. [2] R. A. Brooks, Intelligence without reason, A.I. Memo No. 1293, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, MA, USA, 1991. [3] R. A. Brooks, New approaches to robotics, Science, Vol. 253, pp.127-1232, 1991. [4] R. C. Arkin and R.R. Murphy, Autonomous navigation in a manufacturing environment, IEEE Trans. Robotics Automation, Vol. 6, pp. 445-454, 1990. [5] X. Feng, Potential field based behavior control of mobile robot, Technical Report, Department of Computer Science, Tsinghua University, 1993. [6] W. Li, Fuzzy logic based robot navigation in uncertain environments by multisensor integration, Proceedings of IEEE Conf. On Multisensor Fusion and Integration for Intelligent Systems, Las Vegas, Nevada, pp. 259-264, 1994. [7] Autonomous mobile robot navigation, Available as a hypertext document at http://lca.kaist.ac.kr/researches/2000/khkim.html (last accessed July 2003). [8] D. C. Lee, The map-building and exploration strategies of a simple sonar-equipped mobile robot, Cambridge University Press, 1996. [9] S. Thrun and A. Brucken, Integrating grid-based and topological maps for mobile robot navigation, American Association for Artificial Intelligence, Vol. 2, 1996. [10] W. Li, Fuzzy logic-based perception-action behavior control of an mobile robot in uncertain environments, IEEE World Congress on Computational Intelligence, Vol. 3, pp. 1626-1631, 1994. [11] S. X. Yang and M. Meng, An efficient neural network approach to dynamic robot motion planning, Neural Networks, Vol. 13, pp. 143-148, 2000. [12] N. Tschichold-Gurman, The neural network model RuleNet and its application to mobile robot navigation, Fuzzy Sets and Systems, Vol. 85, pp. 287-303, 1997. [13] W. Li, C. Ma and F. M. Wahl, A neuro-fuzzy system architecture for behavior-based control of a mobile robot in unknown environments, Fuzzy Sets and Systems, Vol. 87, pp. 133-140, 1997.