DESIGN OF GOAL-SEEKING BEHAVIOR-BASED MOBILE ROBOT USING PARTICLE SWARM FUZZY CONTROLLER

Behavior-based control architecture has successfully demonstrated their competence in mobile robot development. There is a key issue in behavior-based mobile robot namely the behavior design problems. Fuzzy logic system characteristics are suitable to address the problems. However, there are difficulties encountered when setting fuzzy parameters manually. Therefore, most of the works in the field generate certain interest for the study of fuzzy systems with added learning capabilities. This paper presents the development of fuzzy behavior-based control architecture using Particle Swarm Optimization (PSO). Then, goal-seeking behaviors based on Particle Swarm Fuzzy Controller (PSFC) are developed using the modified PSO with two stages of the PSFC process. A new nonlinear function of modulated inertia weight adaptation with time, named as Sigmoid Decreasing Inertia Weight (SDIW), is designed for improving the performance of PSO. Several simulations and experiments with MagellanPro mobile robot have been performed to analyze the performance of the algorithm. The promising results have proved that the proposed control architecture for mobile robot has better capability to accomplish useful task in real office-like environment.


INTRODUCTION
Designing a mobile robot is a challenging task.Generally, the mobile robot should face complex environment, perceive imprecise sensor and act with imperfect actuator in fast response.Behavior-based control architecture is an alternative approach suitable to address these problems [1][2] [3][4] [5].
The architecture is able to act with fast real-time response, provides for higher-level deliberation and has demonstrated its reliable performance in standard robotic activities.However, a kind of soft computing is needed to perform two key issues in behavior-based systems, such as generating optimal individual behavior and coordinating multiple behaviors.
Currently, several methods that hybrid fuzzy system with evolutionary algorithms has been proposed in behavior-based mobile robot, such as Genetic Algorithm [6] [7], Genetic Programming [8] to overcome the behaviorbased issues.
However, the existing evolutionary algorithms used have several drawbacks, such as not easy to implement and computationally expensive [9], require much process should be completed and parameters should be adjusted, have slow convergence ability to find near-optimum solution, and dependent heuristically to genetic operators [10].
Fortunately, Kennedy and Eberhart introduced the Particle Swarm Optimization (PSO) in 1995 [11] and [12].PSO is one of evolutionary computation technique to find the optimal solution by simulating such social behavior of groups such as fish schooling or bird flocking.There are several advantages of the PSO as compared to other evolutionary computation methods.The PSO is easy to implement and is computationally inexpensive since its memory and CPU speed requirements are low [9] and [10].Additionally, the PSO requires only a few process should be completed and parameters to be adjusted.In another side, the PSO has quick convergence ability to find optimum or near-optimum solution.Generally, PSO has proved to be an efficient method for numerous general optimization problems, and in some cases it does not suffer from the problems encountered by other evolutionary computation [11].This paper addresses the problems of developing control architecture of mobile robot with behavior-based system, especially in goalseeking behavior.The problem solving is related to the specification of mobile robot tasks, the development of mobile robot behaviors, the interpretation of the environment and the validation of the final system.This paper uses and develops soft computing, making extensive use of Fuzzy Logic and Particle Swarm Optimization (PSO) named as Particle Swarm Fuzzy Controller (PSFC).The use of PSO is to tune fuzzy membership function and to learn fuzzy rule base for goalseeking behavior.This fuzzy tuning and learning is performed to accomplish the best behavior-based system

GOAL SEEKING BEHAVIOR MODEL
Goal seeking behavior steers and moves the robot to the right direction and reach the goal effectively.
The mobile robot movement towards the goal is according to the distance and angle between the current position of the mobile robot and the goal position [13] and [14].
In this work, MagellanPro mobile robot is used for verification and performance analysis of the proposed algorithm.The MagellanPro is a circular mobile robot from iRobot, Real World Interface (RWI), the acknowledged industry leader in the exciting field of cuttingedge mobile robotic.The dimension of the robot is as follows: D = 40.64cm, H = 25.4 cm, r = 5.7 cm, W = 36 cm and M = 18.2 kg, where D is diameter, H is height; r is the radius of wheels, W is distance between two wheels, and M is weight, respectively.Figure 1 shows the physical structure of MagellanPro mobile robot.The mathematical model for the robot movement can be obtained with differentially steered drive system or known as differential drive system [15].Based on this system, the robot can move to different positions and orientations as a function of time.
The derivatives of x, y and θ can be obtained as shown in Equation (1), Equation (2), and Equation (3).
where ω c is the angular velocity of the robot and where v c is the linear velocity of the robot.By applying the current position of the robot, p c = (x c , y c , θ c ), the next position of the robot is shown in Equation (4), Equation (5), and Equation (6).
In maintaining a course to a goal location, or searching, an effective strategy called as aiming navigation [16] is used.The mobile robot aiming at a goal has to orient its body axis such that the goal is in front of it.The goal must be associated with some salient cue.In this work, the goal is prior specified by the human user.
Furthermore, by means of odometry strategy, both the direction and the distance to the goal are acquired.Finally, the goal can be approached from various directions, as illustrated in Figure 3.This technique is simple, fast, and has no cumulative error reroute to the goal.

Figure 3. Aiming navigation
In the direction of moving to a goal point, mobile robots need to know its relative position.By some modification, integrating and applying the initial position of the robot as x(0) = x 0 , y(0) = y 0 , and θ(0) = θ 0 yields: where v r and v l are the right and the left wheel velocities along the ground, respectively, and the position of the robot at time t at the coordinate is x(t), y(t), θ(t).
Based on the robot position and heading, the relative position to the goal point is calculated.The relative positions are known as target distance (d) and target angle (δ) as seen in Equation ( 13) and Equation ( 14).
where p g = (x g , y g , θ g ) is the goal position.The target distance (d) and target angle (δ) are used as the inputs for goal seeking behavior as in Equation (10), Equation (11), and Equation (12).
Figure 4 illustrates the relative position between the robot (p(t)) and the goal point (p g ).

FUZZY GOAL SEEKING BEHAVOIR STRUCTURE
FLC structure based on Mamdani technique is used in this system.There are two inputs required, named as target distance (d) and target angle (δ).These inputs are obtained by calculation of the relative position between the current position of robot by means of odometer and the goal position, as stated in Equation (13) and Equation (14).Also, there are two output resulted, named as linear velocity, v, and angular velocity, ω.
Trapezoid and triangular shape are used as input membership functions and output membership functions, for fuzzification and defuzzification process, respectively.The relational function between input and control of a fuzzy behavior are described by means of fuzzy rule base.Each rule is concatenated as: Then, the output is obtained by applying the fuzzy rule base inference and the centroid defuzzification scheme, as where C ox and D ox are the parameters of center and width of output membership functions at rule i, α i is the product of the degree of membership of each inputs at rule i, and l is the total number of rules fired.The selected techniques were chosen due to their linearity, computational simplicity, and easy to understand.Every input of fuzzy has three linguistic terms, which are CLOSE, MEDIUM and FAR for distances and RIGHT, FORWARD and LEFT for angle, as depicted generally in Figure 5 Three linguistic terms is chosen on behalf of the minimal number for fuzzy system.The value of x i and y i are tuned automatically as described in the next sections.
In this work, linear velocity, v, and angular velocity, ω, are applied as outputs of all fuzzy behavior modules.The linguistic terms used are LOW, MEDIUM and HIGH for linear velocity, and, RIGHT, FORWARD, and LEFT for angular velocity.The fixed membership functions of v and ω is shown in Figure 6.

PARTICLE SWARM OPTIMIZATION
PSO is one of the artificial life or multiple particles' type techniques designed and developed by Kennedy and Eberhart in 1995 [11] [12].The method finds the optimal solution by simulating such social behavior of groups as fish schooling or bird flocking.That is, PSO is an optimization method that uses a principle of social behavior of a group.
The concept of PSO can be described as follows: each potential solution, called particle, knows its best value so far (pbest) and its position.Moreover, each particle knows the best value in the group (gbest) among the pbest.All of the best values are based on fitness function (F(.)) for each problem to be solved.Each particle tries to modify its position using the current velocity and its position.The velocity of each particle can be calculated using Equation (17).
where v i k , v i k+i , and s i k , are velocity vector, modified velocity and positioning vector of particle i at iteration k, respectively, pbest and gbest are best position found by particle i and best position found by particle group, and finally, c j and w j are weight coefficients for each term and inertia weight function for velocity of particle i , respectively.
Afterward, the current position of a particle is calculated by Equation (18).: Updating process of particle is depicted in Figure 7.

Figure 7. The velocity and position updates in PSO
An algorithm to find the best positioning vector of PSO using n particles can be summarized as follows: 1.Initial positioning vector S[n] and velocity vector V[n] are generated by using random values.2. Velocity vector v i k+i of particle i is calculated by Equation ( 17).

Positioning vector s i k+1 of particle i is updated by Equation (18). 4. If F(s i k
) is better than the F(pbest i ), the positioning vector s i k is set to pbest.If F(pbest i ) is better than F(gbest), the positioning vector gbest is set to pbest. 5.If the iteration reaches to the pre-determined one, then stop.Otherwise, go to step 2.
To get better control exploration and exploitation of particles searched, the concept of inertia weight, w , is developed.Suitable selection of the inertia weight provides a balance between global and local searching.The inclusion of an inertia weight was first reported in [17], where w is decreased linearly from about 0.9 to 0.4 during a run and has provided improved performance on a number of applications.
This paper proposed a sigmoid decreasing inertia weight (SDIW) to provide a better compromise of exploitation-exploration tradeoff [18].In SDIW, a large inertia weight is maintained in first part of PSO process to assure a global search.Afterwards, a small inertia weight is retained to facilitate a local search in final part of PSO process.There is very short inertia weight gradation between the large and small values.This method will provide a balance between global and local searching to give the PSO a superior performance.

PARTICLE SWARM FUZZY CONTROLLER (PSFC)
Basically, PSFC is an FLC augmented by a tuning or learning process based on PSO.In PSFC, PSO is applied in order to search for an appropriate Knowledge Base (KB) of a fuzzy system for a particular problem and to ensure those parameter values are optimal with respect to the design criteria.The KB parameters constitute the optimization space, which is then transformed into suitable position on which the search process operates.
The PSO optimization process in FLC can be described by considering the functional block diagram as shown in Fig. 8.At the beginning of the process, the initial populations comprise a set of particles that are scattered all over the search space.The initial population may be randomly generated or may be partly supplied by the user.However, in this works, the populations are randomized initially.

Figure 8. Block diagram of PSO operations in FLC process
Afterward, one particle is taken and decoded to the actual value of the fuzzy parameter.These sets of fuzzy controller parameters are then used to control the fuzzy behavior where it undergoes a series of tracking response of multistep reference set point.The use of a multistep reference signal is to excite the different states of the system, to enable the evaluation to cover a wider system operation range.Based on the various state of the control system, the performance of the controller is calculated by using a predefined fitness function.PSO is then used to tune the fuzzy controller parameters to minimize the fitness function.
The assignment of the fitness function serves as a guidance to lead the search toward the optimal solution.
The KB consists of fuzzy membership functions (MF) and fuzzy rule base (RB).Consequently, there are several options to design PSFC, such as tuning membership functions, or learning for fuzzy rule base or tune/learn both of them in parallel.When tuning membership functions, an individual particle represents parameters of the membership function shapes at which fuzzy rule base is predefined in advance.However, when learning fuzzy rules base, the population represents all of fuzzy rules possibility using the membership functions that is assumed before.Therefore, it is proposed in this work to design PSFC in two stages of PSFC process, as depicted in Figure 9.
In the first stage, PSO starts to learn fuzzy rule base with predefined fuzzy membership function.In the next stage, PSO continues to tune fuzzy membership functions based on the results from the fuzzy rule base.By means of these two stages, ideal fuzzy parameter could be reached without human intervention.

PSFC DESIGN
As the PSO deals with coded parameters, all parameters that need to be tuned or learned must be encoded into a finite length of string.The encoded strings are concatenated to form a complete particle.First, in order to learn fuzzy rule base, each rule is encoded into integer codes that are based on number in linguistic terms of output membership function.Consequently, there are '1', '2', and '3' for LOW, MEDIUM, and HIGH for linear velocity, and RIGHT, FORWARD, and LEFT for angular velocity, respectively.The coded parameters for each behavior are arranged to form particles of the population, as shown in Equation (19).
where RB i n is the n-th rule base for i-th output.Furthermore, for the purposed of tuning fuzzy membership functions the following equations were defined: where k i and j i are adjustment coefficients, C x , and D x are set of centre and width of each fuzzy membership function, respectively.The adjustment coefficients take any real positive or negative value.Therefore, k i makes each center of membership function move to the right or left and the membership functions shrinks or expands through j i , as shown in Fig. 10.The shifting coding strategy will simplify searching computation, because there is no necessity to sort the value of membership functions in ascending manner.where k mi and j mi are k and j at MF for the m-th input and the i-th linguistic term.
The PSO process starts with randomly generated initial populations.
Then, all populations of particles are evaluated and associated based on fitness function to determine the pbest and gbest.Based on several initial investigations and trials and errors, the fitness functions for goal seeking can be obtained as stated in Equation (23).


where I is the total number of start position, K is the number of step simulation for each start position, e θ is the angle error, e d is the distance error, and v(k) are the linear velocity at k, respectively.In this work, a Sigmoid Decreasing Inertia Weight (SDIW) is used to provide faster speed of convergence and better accuracy of optimized value.Consequently, PSFC would generate optimal and reliable goal-seeking behavior of the mobile robot.

RESULTS AND DISCUSSION
Several experiments exercises have been performed.Some steps of experiments have been designed.Firstly, a PSFC optimization processes is conducted to find the optimized value of fuzzy parameters.Then, simulations of the mobile robot based on the PSFC are analyzed to investigate the control behavior of PSFC.Results of fuzzy behavior that are obtained manually, obtained by GA, called as Genetic Fuzzy Controller (GFC) from previous works are used as comparison [19].Finally, a real robot, MagellanPro, movements are tested to go to some location.
PSO and GA processes for goalseeking behavior are shown in Figure 11, where, evolutions of the best fitness value against generation are illustrated.
At the beginning of the run, the process tended to have more global search ability because of large inertia weight.It was shown that the fitness value over all generations is converging quickly.After that, the process tended to have more local search ability caused by the small value of inertial weight.Based on the experiment results, the mobile robot is able to deal with goal-seeking behaviors.Generally, it is noted that the proposed control architecture has the good ability to be applied in MagellanPro mobile.

Figure 1 .
Figure 1.MagellanPro Mobile Robot Figure 2 illustrated a model of MagellanPro mobile robot for simulation exercises for the

Figure 2 .
Figure 2. Model of MagellanPro mobile robot

Figure 4 .
Figure 4. Relative positions between the robot and the goal point

Figure 5 .Figure 6 .
Figure 5.The membership functions of distances and angle

Figure 11 .Figure 12 .
Figure 12.Simulation of mobile robot movements with GA(left) and PSO (right) comparison in differential initial positions Finally, this experiment was performed to investigate the movement of the real mobile robot.The actual robot movement was depicted in Figure 13.The distance and angle of target from the current position as calculated from odometer inside the robot.The figure showed the performance of goal seeking behavior, where the mobile robot progressively reduced the distance and the angle between the target and the current position.The figure demonstrated the mobile robot was able to reach the target effectively.

Figure 13 .
Figure 13.The actual robot movement