Mobile Robot Navigation
Total Page:16
File Type:pdf, Size:1020Kb
Mobile Robot Navigation System Using Evolving Fuzzy Logic Controller
AHMAD M. MAHMOUD Computers and Systems Department Electronics Research Institute 11 Tahrir Street, Cairo EGYPT
Abstract: - This paper presents an evolutionary approach to learning a Fuzzy reactive controller applied to the automatic navigation of an intelligent mobile robot in an unknown and changing environment in the presence of moving obstacles. The structure learning, in which the rule base of FLC is synthesized, is done by human heuristics with respect to various situations of the changing environment, then a parameter learning in which the rule weighting parameters of the Max-Min inference system are learned by a genetic algorithm (GA). The controller acts according to a combination of both goal seeking and open area seeking approaches. Simulation results are provided to show the effectiveness of the proposed learning scheme.
Key words: - Fuzzy Logic Control, Mobile Robot Navigation, Genetic Algorithm, Evolutionary learning and Computer Simulation.
1. Introduction [7], [8], the fuzzy logic based [9]-[12] and neural Fuzzy Logic Control best fits to build up the mapping of network based [13], [14] reactive methods. Fuzzy logic sensory and action pairs to make robots be reactive and or neural network based navigation is fast in reaction, adaptive [8]. It is also used as an alternative approach to and tolerant to sensing noises. Robot reactions are the traditional process control techniques in many old and decided through the reasoning of various types of new application areas. What makes the Fuzzy Logic qualitative behaviours using fuzzy logic or through systems so powerful is the fact that most of human prediction using neural network, which is trained by a reasoning and concept formation is linked to the use of database quantitatively representing the behaviours [15], fuzzy rules. A trend, which is growing in visibility, relates [16]. Many obstacle avoidance evolutionary algorithms to the use of fuzzy logic in combination with based on fuzzy logic have been developed in the past [1- neurocomputing and genetic algorithms. More generally, 5]. All of these algorithms can be classified into two fuzzy logic, neurocomputing, and genetic algorithms may main categories: goal seeking, and open area seeking be viewed as the principal constituents of what might be approaches. The desired behaviour of the mobile robot, called soft computing. Fuzzy logic is conceptually easy to in general, is to start from a given initial point and reach understand, flexible, tolerant of imprecise data, can model the destination. This entails that the controller should nonlinear functions of arbitrary complexity, can be built on provide the robot with smooth steering from start to top of the experience of experts, can be blended with finish. It should accordingly guide the robot on a conventional control techniques, is based on natural carefully chosen trajectory avoiding either stationary, or language and based on human communication. moving obstacles, while commanding the robot to The main design procedure of the FLC depends on the maximum speed, whenever there are no obstacles ahead parameter setting of the chosen membership functions then during the intermediate time periods between the composition of the derived rules. The genetic manoeuvres, and also during the final stage, when the algorithms may be deployed to build the structure of the target is in full view without any obstacle transversing its FLC membership functions [1] by estimating their route. The actual implementation of the control parameters that may also include the membership function algorithm in a real robot system, should take into type. They may also be deployed to weight the FLC rules account decelerating the robot's speed in its final leg, [2]. In [3]-[5] different evolution strategies were adopted upon approaching the target, so that the robot halts its where an individual represents a rule. Rules in one movement (comes to rest) at the boundary of the target. generation compete with each other in order to be selected. In the goal seeking approach, the robot starts moving The FLC is constructed by selecting a rule from each sub- towards the target, that is its main goal, and when facing population. The Actor-Critic learning is used for parameter an obstacle ahead, it starts its manoeuvres. In its learning in [1], [6]. Their difficulty is that it needs both an manoeuvring phase, the robot moves right or left actor network and a critic network to converge (depending on the selected policy) along or around the simultaneously. obstacle, and continues this effort until either reaching For research in the area of autonomous robot systems, the end of the obstacle or becoming clear of it altogether. fuzzy logic control provides a tool to solve some of the The robot then turns its direction again towards the main outstanding problems such as collision avoidance. There goal, if there are no new obstacles in sight, until it are several approaches proposed to solve the robot literally hits the target. navigation problem, including the model-based methods In the open area seeking approach, the robot tries to find open areas around, and moves towards the most investigated in the parameter learning. Real value GA favourable open area which is chosen based on some learning is adopted to tune the scaling parameters of the criteria or features, such as the widest, or the nearest, etc. rule base in the inference system to move towards the The sensory system first figures out in which direction the target in the minimum number of steps with maximum blocked areas exist, and which way is open, or most speed. The generation of rule base and GA learning favourable for avoiding the seen obstacles, or clusters of mechanisms of the parameter learning are addressed in obstacles, represented here by blocked areas. The robot section 4. The simulation results are given in section 5. keeps on seeking the most favourable open area until it Finally section 6 presents brief conclusions and future reaches the main goal. We can call this approach sub-goal work. seeking, because if we replace the open areas by sub-goal guided points that are generated with the help of a global 2. Evolving Fuzzy Logic Control map of the environment, the robot will then seek these sub- goals to avoid the obstacles and reach its final goal, or Algorithm for Obstacle Avoidance target. The main Idea in this work is to build a mobile Robot This paper presents a reactive Controller for mobile robot reactive fuzzy logic controller basing on heuristic operating in an unknown and changing environment, experience then to tune the controller performance by coping with uncertainty. A behavior-based architecture is scaling the FLC rules by means of genetic algorithm. proposed to model temporal reasoning as a deliberative The presented algorithm is a combination of the goal component and to select a set of reactive behaviours as a seeking and open area seeking approaches. The goal- reactive component. The main reactive behaviour is to seeking approach is employed to move the robot from a move towards the target guided by the robot sensors while start position to a desired target position in a hostile, or avoiding both stationary and moving obstacles in the unknown and unpredictable, environment. While the environment. There is no global visual system to oversee robot is in motion, if the range finder sensor detects any behind the obstacles only information provided from the stationary obstacle (blocked area) ahead, the robot tries environment is the position of the open area and the target to avoid this obstacle by changing its direction and position and the reward is not presented until the robot be turning away from the obstacle towards the widest open close to the target. area using the open area seeking approach. Then the Learning process is proposed to evolve a tuned FLC or robot will seek the main target again, and so on. The the reactive behaviour. A rule base is first learned through third problem is that the robot should be able to avoid a backup updating provided with initial values of the moving obstacles according to the directions of their membership parameters. The output actions are discrete movement, and their relative distances with respect to commands, each of which can make the robot moves a the robot. Finally the performance of the controller is single step in different directions. The parameter improved by tuning the rule gain factors in the inference identification for the rule base system scaling is system.
Fig 1 Structure of the Autonomous Navigation System
Figure 1 demonstrates the system configuration where of a non-holonomic mobile robot with a sensory system the genetic algorithm only changes the FLC rules gain consisting of a set of distance measuring sensors. The factors each life span trial (begins with the robot moving sensory system consists of a range finder and a signal- from the initial position till reaching the goal position or processing unit [17-18]. The distances, and associated fails due to reaching the number of trials or touches the angles, to both the target and the detected obstacles can boundaries of the field). According to the best value of be obtained using the range finder. Thus the range finder the fitness function output the values of the gain will produce, as an output, a set of angle/distance pairs parameters are chosen by the end of all generations. (Φ, G) describing the position of the target, as well as those of the detected obstacles in the surrounding 3. Fuzzy Logic implementation environment with respect to the mobile robot [19-20]. Since simulations of the mobile robot performance were The above algorithm has been simulated for the control planned, the kinematics and dynamics of the mobile robot were needed. A non-holonomic vehicle, which is a or constraints, are assumed for the variables used in car-like robot, is chosen to test the proposed navigation simulations: x є (0, 50), Y є ( 0 , 100 ) and Φ є [-900 , control algorithm. Consequently, simple kinematics 2700]. At each control cycle the outputs of the controller equations representing its motion are employed. If, for are the steering angle θ, and the recommended speed of example, the mobile robot moved forward from (x, y) the robot. We suppose that the speed ranges from 0 to 2 position to (x', y') position at an iteration, then (1)-(3) meter per second, and that the angle θ є [-400, 400]. represent this motion. The task of the data processing unit is to convert the set of (Φ, G) pairs into information that can be used by the Φ’ = Φ + θ (1) robot controller for obstacle avoidance. This information y' = y + speed . Sin (Φ’) (2) will be used to judge the directions and positions of both x' = x + speed . Cos (Φ’) (3) the target and the detected obstacles, and where does the most favourable open area (gate) from the start point to where Φ is the current angle of the robot's direction, and the main target. It also calculates the speed and direction θ is the steering angle. This is the angle value with which of the moving obstacles, which are driven from the the current angle should be modified as a result of the current and previous readings of the range finder sensors new control action to steer away from obstacles, and of the system. The decision of this step is only switching approach the main target. The following interval values, on or off the fuzzy controller for one moving step.
Fig.2 Geometry of the Mobile Robot Environment. G, N, g, , , R, L and direction resemble the goal distance, the obstacle distance goal direction, open area direction, steering angle, minimum right distance, min left distance, and the resultant Fig.3 Membership Functions of the Controller inputs and outputs (a) both goal and open robot direction respectively. area directions (b) Steering Angle, (c) both min left and min right distances (d) Speed and (e) the obstacle distance.
According to figure 2 the fuzzy logic variables are distance is the distance between the mobile robot and the defined as G-direction is the direction of the target nearest obstacle to its left-hand side, R-distance is the distance with respect to the mobile robot, 0-direction is the between the mobile robot and the nearest obstacle to its right- direction of the open area with respect to the hand side, θ is the steering angle of the mobile robot, and mobile robot, N-distance is the distance between Speed is the mobile robot’s speed. Figure 3 demonstrates the the mobile robot and the nearest obstacle, L- fuzzy logic variables membership functions.
Rule No. If Condition 1 And Condition 2 Then Result R1 G-direction is Far Right N-distance is Long θ is Far Right R2 G-direction is Right N-distance is Long θ is Right R3 G-direction is Straight N-distance is Long θ is Zero R4 G-direction is Left N-distance is Long θ is Left R5 G-direction is Far left N-distance is Long θ is Far Left R6 0-direction is Far Right N-distance is Short θ is Far Right R7 0-direction is Right N-distance is Short θ is Right R8 0-direction is Straight N-distance is Short θ is Zero R9 0-direction is Left N-distance is Short θ is Left R10 0-direction is Far Left N-distance is Short θ is Far left R11 L-distance is Short - θ is Right R12 R-distance is Short - θ is Left R13 N-distance is Long - Speed is Fast R14 N-distance is Small - Speed is Slow
Table 1 If-Then Rule Used for Reactive Fuzzy Control
The Control strategies are modelled and represented function. S is the actual number of steps from the robot start by if-then rules; the obstacle avoidance is realized position till reaches the target, x and y are the actual distances with these fuzzy If-Then rules. Fuzzy model between the target and the start position in x and y directions consists of a set of fuzzy-rules, which makes a respectively. S is assumed the full cost during the whole proper decision to avoid any object at the suitable movement knowing that we are not concerned in individual step time. This rule set is designed using the experience evaluation. and knowledge of a human driver. These fuzzy if- In the second stage, GA is used to optimize the scaling then rules are listed in table 1. parameters of the rules in the inference system in order to The first five rules are used to drive the mobile improve the reactive behavioral performance. Each set of scaling robot towards the main target, while the distance factors is encoded as one individual. In each generation, a between the mobile robot and the nearest obstacle is collection of the individuals is maintained to compete with each long. Rules from R6 to R10 are used to turn the other to survive. By evolving through genetic operators, the best mobile robot towards open area when it becomes one will be selected as the optimal Fuzzy Logic Controller close to any obstacle. R11 and R12 are used to keep Scaling parameters (FLCSP) or the behavior control. The scaling the mobile robot away from the left-hand side of the parameters are real values. nearest right-hand side fixed obstacle, and from the There are three genetic operators employed: reproduction, right-hand side of the nearest left-hand side fixed crossover, and mutation. The real value mutation is preceded by obstacle, while passing between them. Finally R13 adding a certain amount of noise to new individuals to produce and R14 are used to control the speed of the mobile the offspring with a mutation probability. The learning robot based on the distance between the robot and procedure starts from random formation of initial generation of the nearest obstacle, to avoid collision. The input FLCSP. After completing trials of one generation, the FLCSP data of the previous linguistic variables, e.g. the evolve into a new generation and the learning repeats until a GA sensory data, are fuzzified and mapped to linguistic terminal condition is met. terms based on the specified membership functions as shown in figure 2. for this purpose Non-singleton 5. Simulation results fuzzifier is used. In this work, the Max-Min Figure 4 shows the results of the simulation in different inference is used to infer with the above fuzzy rules. situations and environments. The circles in the figures indicate In the defuzzification process, the centre of gravity the robot’s trajectory to illustrate the overall reactive navigation (COG) method is used to compute the exact control using fuzzy logic in the upper traces and the evolutionary signals (steering angle θ, and speed.) approach in the lower traces for the same environmental cases in each column. Each circle in the figure is plotted at a step of the 4. Evolving the FLCs gain factors control cycle. The maximum speed is assumed to be 2 m/s. The A genetic algorithm is used to improve the designed mobile robot’s behaviour against three different obstacle system in section 3. The aim of the developed patterns was examined before and after training the system using algorithm is to approach the target in the shortest the genetic algorithm. The effectiveness of the algorithm used to path through maximizing the speed and choosing solve the navigation problem is demonstrated. Thus, when the the best path. The fitness function output should be mobile robot is far away from any obstacle, it moves towards the designed to guide the evolution of the FLC rule gain main target position, and when it faces an obstacle, it changes its parameters. To achieve this purpose the fitness direction towards the most favourable open area to avoid the function is defined as: obstacle(s). More circle overlapping indicates lower speed, and fewer circles overlapping represent higher speed. The results 2 2 show that the same algorithm is applicable to all tried situations. .x .y (4) Fitness GG1 ( S ) As can be seen, the trajectory that the robot drew is not the optimum path because the robot does not have a-priori The variable G is defined as a binary scaling factor knowledge of the environment and the locations of obstacles but that takes the value 0 to indicate that the Robot improved through the genetic algorithm. In the right most could not reach the goal in the maximum allowable pattern the system may create a "dead-lock" problem through the number of steps to enforce the fitness function to blocked corridor, where the mobile robot cannot avoid this zero and takes the value 1 otherwise. The variable problem before getting into the blocked corridor. The reason is G1 is large scaling factor to expand the fitness that the robot does not have the high-level map reading ability a function range and enable us to make it integer human being enjoys, thus moves in a very "short-sighted" value without side effects. Then according to the manner. In the parameter learning, the size of population for relative value between the number of steps and the each environment trial is 50 as shown in figure 5 for the average actual distance to the target we calculate the fitness fitness values in each generation, which converge to the maximum as the generation increases. involving the sensing and reaction strategies for real-time navigation of a mobile robot. A real value GA is used to evolve 6. Conclusions the FLCs. It explores the state space by using crossover and In this work, the classification of obstacle mutation operators, while the offspring with high fitness value. avoidance algorithms based on fuzzy logic is The experiment results show that the FLC can be learned by the described. The strategy is to make use of both the proposed learning scheme. It has been shown that the used heuristic experience and autonomous exploration of algorithm of obstacle avoidance is effective for successful robot’s environment to yield a good reactive mobile robot navigation control. The GA evolving parameters controller and evolutionary strategy to improve the changes according to the change of the environment and Robot behavior through tuning the inference system consequently the fitness function outputs differs in each case. rule scaling parameter. This algorithm has been According to the simulation results in case of employing the implemented through computer simulations for Evolutionary approach the robot behaviour improves by means several different structures of the environment of
Fig. 4 The robot system simulation results in different environments the upper traces without genetic training and the lower traces after evolving the evolutionary approach Fig 5 fitness functions of the three environmental cases simulated respectively
References: robot," Fuzzy Sets Syst., vol. 39, no. 2, pp. 195-204, 1991. [1] Bonarini, A., “Evolutionary Learning of Fuzzy [9] P. S. Lee and L. L. Wang, "Collision avoidance by fuzzy logic rules: competition and cooperation, In Pedrycz, W. control for automated guided vehicle navigation," J. Robot. Syst., (Ed.), Fuzzy Modelling: Paradigms and Practice,” vol. 11, no. 8, pp. 743-760, 1994. Kluwer Academic Press, Norwell, MA, 1996, pp. [10] B. Beaufrer and S. Zeghloul, "A mobile robot navigation method 265-284. using a fuzzy-logic approach," Robotica, vol. 13, no. 5, pp. 437-448, [2] A. Kanarachos , D. Koulocheris , H. 1995. Vrazopoulos, “Evolutionary algorithms with .[11] W. L. Xu and S. K. Tso, "Real-time self-reaction of a mobile robot deterministic mutation operators used for the in unstructured environment through fuzzy reasoning," Eng. Applicat. optimization of the trajectory of a four-bar Artif. Intell., vol. 9, no. 5, pp. 475-485, 1996. mechanism,” Mathematics and Computers in Simulation, v.63 n.6, pp.483-492, 24 November [12] S. Ishikawa, "A method of autonomous mobile robot navigation 2003 by using fuzzy control," Adv. Robot., vol. 9, no. 1, pp. 29-52, 1995. [3] Juang, C. F., Lin, J.Y., and Lin, C. T., “Genetic [13] N. Tschichold-Ounnan. "The neural-network model rulenet and Reinforcement learning through Symbiotic its application to mobile robot navigation," Fuzzy Sets Syst., vol. 85, no. Evolution for Fuzzy Controller Design,” IEEE 2, pp. 287-303, 1997. Transactions on SMC-Part B, Vol. 30, No. 2, April [14] K. P. Prabir and K. Asim, "Mobile robot navigation using a 2000, pp. 290-301. neural net," in Proc. IEEE Intern. Conf. Robotics and Automation, [4] William E. Hart, “Locally-adaptive and memetic Piscataway, NJ, 1996, pp. 1503-1508. evolutionary pattern search algorithms,” [15] F. G. Pin and Y. Watanabe, "Navigation of mobile robots using a Evolutionary Computation, v.11 n.1, pp.29-51, fuzzy behaviorist approach and custom-designed fuzzy inference boards," Spring 2003 Robotica, vol. 12, no. 6, pp. 491-503, 1994. [5] Matellan, V., Fernandez, C., Molina, J. M., [16] W. Li, C. Y. Ma, and F. M. Wahl, "A neuro-fuzzy system “Genetic Learning of Fuzzy Reactive Controllers,” architecture for behavior-based control of a mobile robot in unknown Robotics and Autonomous Systems, Vol. 25, 1998, environments." Fuzzy Sets Syst., vol. 87, no. 2, pp. 133-140, 1997. pp. 33-41. [17] J. Borenstein and Y. Koren," obstacle avoidance with ultrasonic [6] P. Reignier, V. Hansen, and J. L. Crowley, sensors,” IEEE J. Robot. Automat., vol. 4, no. 2, pp. 213-218, 1988. "Incremental supervised learning for mobile robot [18] H. R. Beom and H. S. Cho, "A sensor-based navigation for a mobile reactive control," Robot. Auton. Syst., vol. 19, no. robot using fuzzy-logic and reinforcement learning," IEEE Trans. Syst., 3, pp. 247-257, 1997 Man, Cybern., vol. 25, no. 3, pp. 464-477, 1995. [7] M. Sugeno and T. Murofushi, T. Mori, T. [19] A. Kato, and K. Kamikawa, “obstacle avoidence based on Tatematsu, and J. Tanaka, “ Fuzzy Algorithmic approximate reasoning for mobile robots,” IEEE International Workshop Control of a Model Car by Oral Instructions”, Fuzzy on Intelligent robots and systems, 1989, Tsukuba, Japan, pp.115-121. sets and systems 32, North-Holland, 1989, pp.207- [20] A. Mahmoud and A. Nabawi, “Mobile Robot Navigator Using Fuzzy 219. Logic controller,” International Conference on industrial electronics, [8] M. Maeda, Y. Maeda, and S. Murakami, technology and automation IETA2001, Cairo, Egypt, pp. 451-456, Dec. "Fuzzy drive control of an autonomous mobile 19-21, 2001.