Mobile Robot Navigation

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

Fuzzy Logic Control best fits to build up the mapping of sensory and action pairs to make robots be reactive and adaptive [8]. It is also used as an alternative approach to the traditional process control techniques in many old and new application areas. What makes the Fuzzy Logic systems so powerful is the fact that most of human reasoning and concept formation is linked to the use of fuzzy rules. A trend, which is growing in visibility, relates to the use of fuzzy logic in combination with neurocomputing and genetic algorithms. More generally, fuzzy logic, neurocomputing, and genetic algorithms may be viewed as the principal constituents of what might be called soft computing. Fuzzy logic is conceptually easy to understand, flexible, tolerant of imprecise data, can model nonlinear functions of arbitrary complexity, can be built on top of the experience of experts, can be blended with conventional control techniques, is based on natural language and based on human communication.

The main design procedure of the FLC depends on the parameter setting of the chosen membership functions then the composition of the derived rules. The genetic algorithms may be deployed to build the structure of the FLC membership functions [1] by estimating their parameters that may also include the membership function type. They may also be deployed to weight the FLC rules [2]. In [3]-[5] different evolution strategies were adopted where an individual represents a rule. Rules in one generation compete with each other in order to be selected. The FLC is constructed by selecting a rule from each sub-population. The Actor-Critic learning is used for parameter learning in [1], [6]. Their difficulty is that it needs both an actor network and a critic network to converge simultaneously.

For research in the area of autonomous robot systems, fuzzy logic control provides a tool to solve some of the outstanding problems such as collision avoidance. There are several approaches proposed to solve the robot navigation problem, including the model-based methods [7], [8], the fuzzy logic based [9]-[12] and neural network based [13], [14] reactive methods. Fuzzy logic or neural network based navigation is fast in reaction, and tolerant to sensing noises. Robot reactions are decided through the reasoning of various types of qualitative behaviours using fuzzy logic or through prediction using neural network, which is trained by a database quantitatively representing the behaviours [15], [16]. Many obstacle avoidance evolutionary algorithms based on fuzzy logic have been developed in the past [1-5]. All of these algorithms can be classified into two main categories: goal seeking, and open area seeking approaches. The desired behaviour of the mobile robot, in general, is to start from a given initial point and reach the destination. This entails that the controller should provide the robot with smooth steering from start to finish. It should accordingly guide the robot on a carefully chosen trajectory avoiding either stationary, or moving obstacles, while commanding the robot to maximum speed, whenever there are no obstacles ahead during the intermediate time periods between manoeuvres, and also during the final stage, when the target is in full view without any obstacle transversing its route. The actual implementation of the control algorithm in a real robot system, should take into account decelerating the robot's speed in its final leg, upon approaching the target, so that the robot halts its movement (comes to rest) at the boundary of the target.

In the goal seeking approach, the robot starts moving towards the target, that is its main goal, and when facing an obstacle ahead, it starts its manoeuvres. In its manoeuvring phase, the robot moves right or left (depending on the selected policy) along or around the obstacle, and continues this effort until either reaching the end of the obstacle or becoming clear of it altogether. The robot then turns its direction again towards the main goal, if there are no new obstacles in sight, until it literally hits the target.

In the open area seeking approach, the robot tries to find open areas around, and moves towards the most favourable open area which is chosen based on some criteria or features, such as the widest, or the nearest, etc. The sensory system first figures out in which direction the blocked areas exist, and which way is open, or most favourable for avoiding the seen obstacles, or clusters of obstacles, represented here by blocked areas. The robot keeps on seeking the most favourable open area until it reaches the main goal. We can call this approach sub-goal seeking, because if we replace the open areas by sub-goal guided points that are generated with the help of a global map of the environment, the robot will then seek these sub-goals to avoid the obstacles and reach its final goal, or target.

This paper presents a reactive Controller for mobile robot operating in an unknown and changing environment, coping with uncertainty. A behavior-based architecture is proposed to model temporal reasoning as a deliberative component and to select a set of reactive behaviours as a reactive component. The main reactive behaviour is to move towards the target guided by the robot sensors while avoiding both stationary and moving obstacles in the environment. There is no global visual system to oversee behind the obstacles only information provided from the environment is the position of the open area and the target position and the reward is not presented until the robot be close to the target.

Learning process is proposed to evolve a tuned FLC or the reactive behaviour. A rule base is first learned through a backup updating provided with initial values of the membership parameters. The output actions are discrete commands, each of which can make the robot moves a single step in different directions. The parameter identification for the rule base system scaling is investigated in the parameter learning. Real value GA learning is adopted to tune the scaling parameters of the rule base in the inference system to move towards the target in the minimum number of steps with maximum speed. The generation of rule base and GA learning mechanisms of the parameter learning are addressed in section 4. The simulation results are given in section 5. Finally section 6 presents brief conclusions and future work.

2.  Evolving Fuzzy Logic Control Algorithm for Obstacle Avoidance

The main Idea in this work is to build a mobile Robot reactive fuzzy logic controller basing on heuristic experience then to tune the controller performance by scaling the FLC rules by means of genetic algorithm. The presented algorithm is a combination of the goal seeking and open area seeking approaches. The goal-seeking approach is employed to move the robot from a start position to a desired target position in a hostile, or unknown and unpredictable, environment. While the robot is in motion, if the range finder sensor detects any stationary obstacle (blocked area) ahead, the robot tries to avoid this obstacle by changing its direction and turning away from the obstacle towards the widest open area using the open area seeking approach. Then the robot will seek the main target again, and so on. The third problem is that the robot should be able to avoid moving obstacles according to the directions of their movement, and their relative distances with respect to the robot. Finally the performance of the controller is improved by tuning the rule gain factors in the inference system.

Fig 1 Structure of the Autonomous Navigation System

Figure 1 demonstrates the system configuration where the genetic algorithm only changes the FLC rules gain factors each life span trial (begins with the robot moving from the initial position till reaching the goal position or fails due to reaching the number of trials or touches the boundaries of the field). According to the best value of the fitness function output the values of the gain parameters are chosen by the end of all generations.

3.  Fuzzy Logic implementation

The above algorithm has been simulated for the control of a non-holonomic mobile robot with a sensory system consisting of a set of distance measuring sensors. The sensory system consists of a range finder and a signal-processing unit [17-18]. The distances, and associated angles, to both the target and the detected obstacles can be obtained using the range finder. Thus the range finder will produce, as an output, a set of angle/distance pairs (Φ, G) describing the position of the target, as well as those of the detected obstacles in the surrounding environment with respect to the mobile robot [19-20].

Since simulations of the mobile robot performance were planned, the kinematics and dynamics of the mobile robot were needed. A non-holonomic vehicle, which is a car-like robot, is chosen to test the proposed navigation control algorithm. Consequently, simple kinematics equations representing its motion are employed. If, for example, the mobile robot moved forward from (x, y) position to (x', y') position at an iteration, then (1)-(3) represent this motion.

Φ’ = Φ + θ (1)

y' = y + speed . Sin (Φ’) (2)

x' = x + speed . Cos (Φ’) (3)

where Φ is the current angle of the robot's direction, and θ is the steering angle. This is the angle value with which the current angle should be modified as a result of the new control action to steer away from obstacles, and approach the main target. The following interval values, or constraints, are assumed for the variables used in simulations: x є (0, 50), Y є ( 0 , 100 ) and Φ є [-900 , 2700]. At each control cycle the outputs of the controller are the steering angle θ, and the recommended speed of the robot. We suppose that the speed ranges from 0 to 2 meter per second, and that the angle θ є [-400, 400].

The task of the data processing unit is to convert the set of (Φ, G) pairs into information that can be used by the robot controller for obstacle avoidance. This information will be used to judge the directions and positions of both the target and the detected obstacles, and where does the most favourable open area (gate) from the start point to the main target. It also calculates the speed and direction of the moving obstacles, which are driven from the current and previous readings of the range finder sensors of the system. The decision of this step is only switching on or off the fuzzy controller for one moving step.

Fig.2 Geometry of the Mobile Robot Environment. G, N, Fg, F, q, 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 robot direction respectively.

Fig.3 Membership Functions of the Controller inputs and outputs (a) both goal and open 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 defined as G-direction is the direction of the target with respect to the mobile robot, 0-direction is the direction of the open area with respect to the mobile robot, N-distance is the distance between the mobile robot and the nearest obstacle, L-distance is the distance between the mobile robot and the nearest obstacle to its left-hand side, R-distance is the distance between the mobile robot and the nearest obstacle to its right-hand side, θ is the steering angle of the mobile robot, and Speed is the mobile robot’s speed. Figure 3 demonstrates the 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