Abstract
Fuzzy Inf. Eng. (2010) 2: 119-143 DOI 10.1007/s12543-010-0044-7 ORIGINAL ARTICLE Bio-inspired Optimization of Fuzzy Logic Controllers for Robotic Autonomous Systems with PSO and ACO Oscar Castillo· Ricardo Mart´ınez-Marroqu´ın· Patricia Melin Received: 25 September 2009/ Revised: 20 April 2010/ Accepted: 21 May 2010/ © Springer-Verlag Berlin Heidelberg and Fuzzy Information and Engineering Branch of the Operations Research Society of China 2010 Abstract In this paper we describe the use of bio-inspired optimization techniques, such as ant colony optimization and particle swarm optimization, for the design of optimal fuzzy logic controllers of autonomous wheeled mobile robots. The results obtained by the simulations with ant colony optimization and particle swarm opti- mization are statistically compared with previous optimization results obtained with genetic algorithms in order to find out the best optimization technique for a particular robotics problem. Keywords Fuzzy control · Particle swarm optimization · Ant colony optimization · Autonomous robots · Bio-inspired algorithms 1. Introduction Nowadays, fuzzy logic is one of the most used methods of computational intelligence and with the best future; this is possibly thankful to the efficiency and simplicity of fuzzy systems since they use linguistic terms similar to those that human beings use [20]. We consider in this paper not only Type-1 fuzzy logic, but also Type-2 fuzzy logic for controlling an autonomous robot [11, 17]. The complexity in developing fuzzy systems can be found at the time of deciding which are the best parameters of the membership functions, the number of rules or even the best granularity that could give us the best solution for the problem that we want to solve [3]. A solution to the above mentioned problem is the application of bio-inspired algo- rithms for the optimization of fuzzy systems. Optimization algorithms can be a useful tool due to their capabilities of solving nonlinear problems, well-constrained or even NP-hard problems. Among the most used optimization methods we can find [8]: ge- netic algorithms (GA), ant colony optimization (ACO), particle swarm optimization (PSO), etc. Oscar Castillo () · Ricardo Mart´ ınez-Marroqu´ ın · Patricia Melin Tijuana Institute of Technology, Tijuana Ml xico email: ocastillo@hafsamx.org 120 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) This paper describes the application of ACO and PSO for parameters’ optimization of the FLC membership functions in order to find the best possible intelligent con- troller for an autonomous wheeled mobile robot and making a statistical comparison of the techniques with respect to previous results using genetic algorithms [12]. This paper is organized as follows: Section 2 shows the basic concepts of ACO and PSO and a description of simple-ACO (S-ACO) and the gbest algorithms re- spectively, which are the techniques applied for optimization. Section 3 presents the problem statement and the dynamic and kinematic model of the unicycle mo- bile robot. Section 4 shows the fuzzy logic controller proposal and in Section 5 the application of the optimization methods is described. In Section 6 the simulation re- sults are shown. Section 7 describes the statistical results for the comparison of the optimization methods finally, Section 8 shows the Conclusions. 2. S-ACO and Gbest PSO Algorithms This section describes the theoretical basis of the algorithms applied in this research. The algorithms we used were the simplest versions of ACO and PSO respectively. 2.1. S-ACO Algorithm AACO is a probabilistic technique that can be used for solving problems that can be reduced to finding good paths along graphs. This method is inspired on the behavior presented by ants in finding paths from the nest or colony to the food source [4]. The S-ACO is an algorithmic implementation that adapts the behavior of real ants to solutions of minimum cost path problems on graphs [13]. A number of artificial ants build solutions for a certain optimization problem and exchange information about the quality of these solutions making allusion to the communication system of real ants [5]. Let us define the graph G = (V, E), where V is the set of nodes and E is the matrix of the links between nodes. G has n = |V| nodes. Let us define L as the number of hops in the path built by the ant k from the origin node to the destiny node. Therefore, it is necessary to find: Q = { q ,··· , q |q ∈ C}, (1) a f 1 where Q is the set of nodes representing a continuous path with no obstacles; q ,··· , q are former nodes of the path and C is the set of possible configurations of the free k k space. If x (t) denotes a Q solution in time t, f (x (t)) expresses the quality of the solution. The S-ACO algorithm is based on Equation (2), (3) and (4): ⎪ ij ⎪ k ⎪ , if j ∈ N , k a i Σ kτ (t) p (t) = (2) ij j∈N ⎪ ij ij ⎩ k 0, if j N , τ (t) ← (1−ρ)τ (t), (3) ij ij Fuzzy Inf. Eng. (2010) 2: 119-143 121 τ (t+ 1) = τ (t)+ τ (t). (4) ij ij ij k=1 Equation (2) represents the probability for an ant k located on a node i selects the next node denoted by j, where, N is the set of feasible nodes (in a neighborhood) connected to node i with respect to ant k, τ is the total pheromone concentration of ij link ij, and is a positive constant used as a gain for the pheromone influence. Equation (3) represents the evaporation pheromone update, where ρ ∈ [0, 1] is the evaporation rate value of the pheromone trail. The evaporation is added to the algo- rithm in order to force the exploration of the ants, and avoid premature convergence to sub-optimal solutions [13]. Forρ = 1 the search becomes completely random [13]. Equation (4), represents the concentration pheromone update, where Δτ is the ij amount of pheromone that an ant k deposits in a link ij in a time t. The general steps of S-ACO are the following: 1) Set a pheromone concentrationτ to each link (i, j). ij 2) Place a number k = 1, 2,··· , n in the nest. 3) Iteratively build a path to the food source (destiny node), using Equation (2) for every ant. • Remove cycles and compute each route weight f (x (t)). A cycle could be gen- erated when there are no feasible candidates nodes, that is, for any i and any k, N ∅; then the predecessor of that node is included as a former node of the path. 4) Apply evaporation using Equation (3). 5) Update of the pheromone concentration using Equation (4). 6) finally, finish the algorithm in any of the three different ways: • When a maximum number of epochs has been reached. • When it has been found an acceptable solution, with f (x (t)) ≤ ε. • When all ants follow the same path. 2.2. Gbest PSO Algorithm PSO is a stochastic optimization technique based on population inspired in the social behavior of big masses of birds, fish or bees [7]. In PSO, the potential solutions (called particles), fly trough the space problem, where the less optimum particles fly to optimum particles, doing this iteratively until all the particles converge at the same point (solution). To achieve convergence, PSO applies two types of knowledge, personal experience or cognitivecomponent, which 122 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) is the experience that every particle gets along optimization process; and social ex- perience or socialcomponent, which is the experience that all the swarm gets during the optimization process. In simple terms, the particles are “flown” through a multidimensional search space where the position of each particle is adjusted according to its own experience and that of its neighbors [8]. Let x (t) denote the position of a particle i in search space at time step t. The position of the particle is changed by adding a velocity v (t), to the current position x (t) = x (t)+ v (t+ 1) (5) i i i with x (0) ∼ U (x , x ). i min max Originally, two PSO algorithms have been developed which differ in the size of their neighborhood [18]. These two algorithms are called lbest and gbest. In the lbest algorithm the swarm is divided in neighborhoods of size n while in the gbest the neighborhood for each particle means the entire swarm, or in other words, the social component of the particle velocity update reflects information obtained from all the particles in the swarm [19]. For the gbest PSO, the velocity of particle i is calculated as v (t+ 1) = v (t)+ c r (t)[y (t)− x (t)]+ c r (t)[y ˆ (t)− x (t)], (6) ij ij 1 1 j ij ij 2 2 j j ij where v (t) is the velocity of particle i in dimension j = 1, 2, 3,··· , n at time step ij x t, x (t) is the position of particle i in dimension j at time step t, c and c are positive ij 1 2 acceleration constants used to scale the contribution of the cognitive and social com- ponents respectively, r (t) and r (t) ∼ U (0, 1) are random values in the range [0, 1], 1 2 sampled for uniform distribution. The random values introduce a stochastic element to the algorithm [8]. y is the best position that a particle i since the first time step and y ˆ is the best position found all the particles in the swarm. Considering minimization problems, the personal best y is updated by Equation (7) y (t), if f (x (t+ 1)) ≥ y (t), ⎨ i i i y (t+ 1) = (7) i ⎪ x (t+ 1), if f (x (t+ 1)) < y (t), i i i nx where f : R → R is the fitness function. The global best position, y(t) ˆ , at time step t is defined by Equation (8) y( ˆ t) ∈ y (t),··· , y (t)| f (y(t)) = min f (y (t)),··· , f (y (t)) (8) 0 n 0 n s s where n is the size of the swarm. Table 1 shows the gbest PSO algorithm. s Fuzzy Inf. Eng. (2010) 2: 119-143 123 Table 1: Gbest PSO. Create an initialize and n -dimensional swarm, S ; repeat for each particle I = 1, 2,··· , S ; n do //set the personal best position If f (x (t+ 1)) < y (t) then i i S · y = S · x ; i i end //set the global best position If S.y (t) < f (y ˆ (t)) then i i S·y ˆ = S · y ; i i end end for each particle I = 1, 2,··· , S.n do update the velocity using Equation (2) update the position using Equation (1) end until stopping condition is true; 3. Problem Statement The model of the robot considered in this paper is that of a unicycle mobile robot (see Fig. 1), consisting of two driving wheels mounted of the same axis and a front free wheel. Fig. 1 Wheeled mobile robot [11,12] A unicycle mobile robot is an autonomous, wheeled vehicle capable of performing missions in fixed or uncertain environments. The robot body is symmetrical around 124 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) the perpendicular axis and the center of mass is at the geometrical center of the body. It has two driving wheels that are fixed to the axis that passes through C and one passive wheel prevents the robot from tipping over as it moves on a plane. In what follows, it is assumed that motion of the passive wheel can be ignored in the dynamics of the mobile robot presented by the following set of equations [9]: ˙ ˙ M(q)ϑ+ C(q, q ˙)ϑ+ Dϑ = τ+ F (t), (9) ext ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ cosθ 0 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ v ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ q ˙ = sinθ 0 ⎢ ⎥ , (10) ⎢ ⎥ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ J(q) T T where q = (x, y,θ) is the vector of the configuration coordinates; = (v, w) is the vector of linear and angular velocities; τ = (τ ,τ ) is the vector of torques applied to 1 2 the wheels of the robot whereτ andτ denote the torques of the right and left wheel 1 2 2 2×2 respectively (Fig. 1); F ∈ R uniformly bounded disturbance vector; M(q) ∈ R exr is the positive-definite inertia matrix; C(q, q ˙)ϑ is the vector of centripetal and Coriolis forces; and D ∈ R is a diagonal positive-definite damping matrix. Equation (10) represents the kinematics of the system, where (x, y) is the position of the mobile robot in the X-Y (world) reference frame, θ is the angle between heading direction and the x-axis v and w are the angular and angular velocities, respectively. Furthermore, the System (9)-(10) has the following non-holonomic constraint: y ˙ cosθ− x ˙ sinθ = 0, (11) which corresponds to a no-slip wheel condition preventing the robot from moving sideways [10]. The System (10) fails to meet Brockett’s necessary condition for feed- back stabilization [2], implying that non-continuous static state-feedback controller exists that stabilizes the close-loop system around the equilibrium point. The control objective is to design a fuzzy logic controller ofτ ensuring: lim q (t)− q(t) = 0 (12) t→∞ for any continuously, differentiable, bounded desired trajectory q ∈ R while atten- uating external disturbances. A more detailed description can be found on Reference [11,12]. 4. Fuzzy Logic Control Design In order to satisfy the control objective, it is necessary to design a fuzzy logic con- troller for the real velocities of the mobile robot. To do that, a Takagi-Sugeno fuzzy logic controller was designed, using linguistic variables in the input and mathematical functions in the output. The error of the linear and angular velocities (v , w respec- d d tively), were taken as inputs variables, while the right (τ ) and left (τ ) torques as 1 2 outputs. The membership functions used on the input are trapezoidal for the negative Fuzzy Inf. Eng. (2010) 2: 119-143 125 (a) (b) (c) (d) Fig. 2 (a) Linear velocity error. (b) Angular velocity error. (c) Right output (τ ). (d) Left output (τ ). (N) and positive (P), and a triangular was used for the zero (C) linguistic terms. The interval used for this fuzzy controller is [-50 50], see [11, 12]. Fig. 2 shows the input and output variables, and Fig. 3 shows the general FLC architecture. Fig. 3 Fuzzy logic controller architecture The rule set of the FLC, containing 9 rules, governs the input-output relationship of the FLC and this adopts the Takagi-Sugeno style inference engine [11, 12], and it is used with a single point in the outputs, this means that the outputs are constant values 126 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) obtained by using weighted average defuzzification procedure. In Table 2, now, we present the rule set whose format is established as follows: Rule i :if e is G and e is G then F is G and N is G , v 1 w 2 3 4 where G ,··· , G are the fuzzy set associated to each variable i = 1, 2,··· , 9. 1 4 Table 2: Fuzzy rules set. e /e NCP v w N N/N N/C N/P C C/N C/C C/P P P/N P/C P/P To find the best FLC, we used a gbest PSO to find the parameters of the mem- bership functions. Table 3 shows the parameters of the membership functions, the minimal and maximum values in the search range for the gbest PSO algorithm to find the best fuzzy logic controller. Table 3: Parameters of the membership functions. MF TYPE POINT MINIMAL MAXIMAL VALUE VALUE a -50 -50 Trapezoidal b -50 -50 c -15 -5.1 d -1.5 -0.5 a -5 -1.8 Triangular b 0 0 c 1.8 5 a 0.5 1.5 Trapezoidal b 5.1 15 c50 50 d50 50 Constant (N) a -50 -50 Constant (C) a 0 0 Constant (P) a 50 50 It is important to remark that the values shown in Table 2 are applied to both inputs Fuzzy Inf. Eng. (2010) 2: 119-143 127 and outputs of the fuzzy logic controller. As we can see on Table 3 there are several values that will not change with the optimization process because their minimal and maximum values are the same; because of that we decided to ignore the constant values and let them out of the optimization process. Table 4 shows the parameters include in optimization process. Table 4: Parameters of the MFs included in optimization process. MF TYPE POINT MINIMAL MAXIMAL VALUE VALUE Trapezoidal c -15 -5.1 d -1.5 -0.5 Triangular a -5 -1.8 c 1.8 5 Trapezoidal a 0.5 1.5 b 5.1 15 5. Optimization Applied to the Fuzzy Systems 5.1. ACO Architecture for the FLC Optimization A S-ACO algorithm was applied for the optimization of the membership function for Type-1 fuzzy logic controller. For developing the architecture of the algorithm it was necessary to follow the next steps: 1) Representing the architecture of the FLC as a graph that artificial ants could traverse. 2) Achieving an adequate handling of the pheromone but permitting the algorithm to evolve by itself. 5.1.1. Limiting the Problem and Graph Representation One of problems found on the development of the S-ACO algorithm was to make a good representation of the FLC. First step represents those parameters shown in Table 4; to do that it was necessary to discretize the parameters in a range of possible values in order to represent every possible value as a node in the search graph. The level of discretization between minimal and maximal value was of 0.1 (by example: -1.5, -1.4, -1.3,··· , -0.5). Table 5 shows the number of possible values that each parameter can take. Fig. 4 shows the search graph for the proposed S-ACO algorithm, the graph can be viewed as a tree where the root is the nest and the last node is the food source. 128 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) Table 5: Number of possible values of the parameters of MFs of the Type-1 FLC. Mf Type Point Combinations Trapezoidal c 100 d15 Triangular a 33 c33 Trapezoidal a 15 b 100 Fig. 4 S-ACO Architecture 5.1.2. References Updating Pheromone Trail An important issue is that the update of pheromone trail has to be applied in the best way possible. In this sense we need to handle the evaporation (Equation (3)), and increase or deposit of pheromone (Equation (4)), where the key parameter in evaporation is denoted by ρ representing the rate of evaporation and in deposit of pheromone is denoted by Δτ representing the amount of pheromone that an ant k deposits in a link ij in a time t.For ρ we assign a random value and Equation (13) shows the way of how the increase of pheromone is calculated, e − e max k Δτ = , (13) max where e = 10 is the maximum error of control permitted and e is error of control max k generated by a complete path of an ant k. We decided to allocate e = 10 in order max to stand Δτ ∈ [0, 1]. We also defined (see Equation (2)) all experiments presented in this paper because of the results obtained after the tests. And finally we use a Fuzzy Inf. Eng. (2010) 2: 119-143 129 random value for the evaporation coefficient ρ = [0, 1] (see Equation (3)) in each iteration in order to simulate the uncertain environment conditions which affects the real pheromone trails deposited by real ants, 5.2. PSO Architecture (Gbest) This section describes the PSO architecture used for the optimization of the FLC for the autonomous mobile robot. An important issue was achieving an adequate handling of the parameters c , c and velocity v that ensures a good performance of 1 2 ij the algorithm. The first step was coding the parameters shown in Table 4 into a multi-dimensional space of search. Fig. 5 shows the representation of a particle in PSO. Fig. 5 Gbest PSO particle 5.3. PSO Parameters Handling Before the application of the PSO, we needed to initialize the first swarm. Equation (14) shows the initializing method we used x(0) = x + r (x − x ), ∀ j = 1,··· , n , ∀i = 1,··· , n , (14) min, j j max, j min, j x s where x(0) is the matrix of dimensions, x and x are the minimal an maximum min, j max, j value respectively that a dimension j can take, and r ∼ U (0, 1) is a random value. Equation (15) shows the way we calculate the velocity and Equation (16) shows the maximum velocity ⎪ v (t+ 1), if v (t+ 1) < V , ⎨ max, j ij ij v (t+ 1) = (15) ij ⎪ V , if v (t+ 1) ≥ V , max, j max, j ij V = δ(x − x ),δ ∈ (0, 1], (16) max, j max, j max, j where v (t+ 1) is the velocity calculated by Equation (6),δ is a gain that is problem- ij dependent. For this parameter we used the heurist value ofδ = 5. As we didn’t know the adequate values for the constants c and c , we decided to 1 2 apply the method of Ratnaweera, who proposed that c decreases linearly over time, 1 130 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) while c increases linearly [14]. This strategy focuses on exploration in the early stages of the optimization, while encourage convergence to a good optimum near the end to the optimization process by attracting particles more towards the neighborhood best (or global best) positions [8]. The values of c (t) and c (t) at time step t are 1 2 calculated by Equation (17), c (t) = (c − c ) + c , 1 1,min 1,max 1,max (17) c (t) = (c − c ) + c , 2 2,max 1,min 1,min where c = c = 2.5 and c = c = 0.5. 1,max 2,max 1,min 2,min Further improvements in performance have been obtained by using a fuzzy self- adaptive acceleration scheme [15]. 6. Simulation Results In this section we present the results of the proposed controller to stabilize the unicy- cle mobile robot, defined by Equation (9) and Equation (10), where the matrix values ⎡ ⎤ ⎢ ⎥ 0.3749 −0.0202 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ M(q) = ⎢ ⎥ , ⎣ ⎦ −0.0202 0.3739 ⎡ ⎤ ⎢ ˙ ⎥ ⎢ 00.1350θ⎥ ⎢ ⎥ ⎢ ⎥ C(q, q ˙) = ⎢ ⎥ , ⎣ ⎦ −0.150θ 0 and ⎡ ⎤ ⎢ ⎥ ⎢ 10 0 ⎥ ⎢ ⎥ ⎢ ⎥ D = ⎢ ⎥ ⎣ ⎦ were taken from [6]. The evaluation was made through a computer simulation per- formed in MATLAB and SIMULINK . The desired trajectory presents as follows: v (t) = 0.2(1− exp(−t)), ϑ (t) = (18) d ⎪ w (t) = 0.4 sin(0.5t), and was chosen in terms of its corresponding desired linear v and angular w veloc- d d ities, subject to the initial conditions q(0) = (0.1, 0.1, 0) T andϑ(0) ∈ R . The gains γ , i = 1, 2, 3 of the kinematic model (see [10]) are γ = 5, γ = 25 and i 1 2 γ = 3 were taken from [11, 12]. 3 Fuzzy Inf. Eng. (2010) 2: 119-143 131 6.1 S-ACO Results for the Optimization of the Type-1 FLC Table 6 shows the results of the Type-1 FLC, obtained by varying the values of max- imum iterations and number of artificial ants, where the highlighted row denotes the best result obtained with the method. Fig. 6 shows the optimization behavior of the method. Table 6: S-ACO results for Type-1 FLC optimization. Experiment Iterations Ants Average Error Time 01 25 80 0.1263 00:14:55 02 25 80 0.1432 00:15:00 03 25 80 0.1069 00:14:52 04 25 80 0.1119 00:15:41 05 50 80 0.1100 00:28:43 06 50 80 0.0982 00:29:22 07 100 18 0.1078 00:13:59 08 100 18 0.1095 00:13:16 09 100 18 0.1197 00:12:09 10 15 20 0.1343 00:02:19 12 15 20 0.1308 00:02:17 13 15 20 0.1353 00:02:18 14 50 20 0.1222 00:07:30 15 50 20 0.1233 00:07:29 16 50 20 0.1098 00:07:30 17 50 20 0.1215 00:08:09 18 50 20 0.1142 00:07:14 19 50 20 0.1164 00:07:39 20 50 20 0.1217 00:07:22 21 100 200 0.1087 02:15:46 22 50 80 0.1086 00:29:56 23 60 90 0.1338 00:41:56 24 60 90 0.1091 00:39:48 25 60 90 0.1044 00:40:00 26 17 28 0.1211 00:04:44 27 17 28 0.1211 00:05:51 28 40 50 0.1211 00:17:51 29 40 50 0.1211 00:18:14 Fig. 7 represents the membership functions of the FLC obtained by S-ACO algo- rithm. The block diagram, used for the FLC, that obtained the best results is the one used in [12]. Fig. 8 shows the desired trajectory and obtained trajectory. 132 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) Fig. 6 Optimization behavior for the S-ACO on Type-1 FLC optimization (a) (b) Fig. 7 Membership functions: (a) Linear velocity error (b) Angular velocity error optimized by S-ACO algorithm Fuzzy Inf. Eng. (2010) 2: 119-143 133 Fig. 8 Obtained trajectory with Type-1 optimization 6.2 S-ACO Results for the Optimization of the Type-2 FLC Table 7 shows the results of the Type-2 FLC, obtained by varying the values of max- imum iterations and number of artificial ants, where the highlighted row shows the best result obtained with the method. Fig. 9 shows the optimization behavior of the method. Fig. 9 Optimization behavior for the S-ACO on Type-2 FLC optimization 134 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) Table 7: S-ACO results for Type-2 FLC optimization. Experiment Iterations Ants Average Error Time 01 10 10 0.0866 00:30:43 02 10 10 0.0756 00:57:06 03 10 10 0.0730 00:32:07 04 10 10 0.0690 00:31:15 05 18 13 0.0659 01:14:49 06 18 13 0.0666 01:15:53 07 100 14 0.0663 05:27:42 08 45 14 0.0679 02:25:38 09 45 14 0.0675 02:26:55 10 45 14 0.0717 02:18:58 11 45 14 0.0691 02:16:57 12 25 15 0.0745 01:26:11 13 25 15 0.0710 01:28:04 14 25 15 0.0765 01:30:24 15 25 15 0.0666 01:30:25 16 27 17 0.0724 01:49:05 17 27 17 0.0657 01:30:53 18 27 17 0.0748 01:40:17 19 20 20 0.0741 02:11:05 20 20 20 0.0666 04:11:49 21 20 20 0.0733 02:08:06 22 20 20 0.0656 02:59:22 23 12 23 0.0663 01:32:07 24 12 23 0.0663 01:28:43 25 12 23 0.0781 01:29:23 Fig. 10 shows the membership functions of the FLC obtained by S-ACO algo- rithm. Fig. 11 shows the desired trajectory and obtained trajectory. Fuzzy Inf. Eng. (2010) 2: 119-143 135 (a) (b) Fig. 10 Membership functions: (a) Linear velocity error (b) Angular velocity error optimized by S-ACO algorithm Fig. 11 Obtained trajectory with Type-2 FLC optimization 136 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) 6.3 Gbest PSO Algorithm Results for Type-1 FLC Optimization Table 8 presents some results chosen randomly of the FLC, obtained by varying the values of maximum iterations and number of particles, where the highlighted row shows the best result obtained with the method. Fig.12 shows the optimization be- havior of the method for Type-1 FLC optimization. Table 8: Gbest PSO Results of Simulations for Type-1 FLC Optimization. Experiment Iterations Swarm Average Error Time 1 50 100 0.1523 00:09:08 2 15 150 0.1512 00:32:06 3 15 150 0.1516 00:33:03 4 15 25 0.1642 00:06:29 5 35 25 1.8981 00:04:18 6 50 150 0.1509 01:00:50 7 71 34 0.1515 00:02:35 8 71 34 0.1510 00:17:44 9 73 38 0.1520 00:03:19 10 250 50 0.1511 00:57:32 11 95 51 0.1912 01:16:20 12 51 57 0.1615 00:02:06 13 67 65 0.1728 01:29:28 14 67 65 0.1728 01:29:28 15 80 67 0.1994 01:46:27 16 65 68 0.1830 01:05:56 17 50 80 0.1591 00:18:24 18 78 82 0.1510 00:43:13 19 81 82 0.1510 00:40:09 20 17 91 0.1619 00:22:25 21 85 97 0.1510 01:31:51 Fuzzy Inf. Eng. (2010) 2: 119-143 137 Fig. 12 Optimization Behavior of gbest PSO for Type-1 FLC Fig. 13 shows the membership functions of Type-1 FLC obtained by the gbest PSO algorithm. (a) 138 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) (b) Fig. 13 (a) Linear velocity error (b) Angular velocity error optimized by gbest PSO algorithm Fig. 14 shows the desired trajectory and the obtained trajectory, where we can appreciate that they are very close. Fig. 14 Obtained trajectory with Type-1 optimization Fuzzy Inf. Eng. (2010) 2: 119-143 139 6.4 Gbest PSO Algorithm Results for Type-2 FLC Optimization Table 9 shows some results chosen randomly of Type-2 FLC, obtained by varying the values of maximum iterations and number of particles, where the highlighted row shows the best result obtained with the method. Fig.15 shows the optimization behavior of the method for Type-2 FLC optimization. Fig.16 shows the membership functions of Type-2 FLC obtained by the gbest PSO algorithm. Table 9: Gbest PSO results of simulations for Type-2 FLC optimization. Experiment Iterations Size of Swarm Average Error Time 1 10 10 0.1608 00:09:41 2 16 17 0.1607 00:16:32 3 21 17 0.1606 00:26:38 4 16 19 0.1614 00:18:06 5 28 20 0.1605 00:40:22 6 22 21 0.1607 00:25:25 7 28 22 0.1606 00:57:47 8 17 26 0.1606 00:24:22 9 19 26 0.1607 00:37:47 10 22 28 0.1606 00:42:26 11 27 28 0.1606 00:52:08 12 27 28 0.1606 00:51:56 13 28 28 0.1606 00:53:00 14 23 29 0.1608 00:39:09 15 71 34 0.1605 03:56:16 16 84 91 0.1601 07:46:58 Fig. 15 Optimization behavior of gbest PSO for Type-1 FLC 140 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) (a) (b) Fig. 16 (a) Linear velocity error (b) Angular velocity error optimized by gbest PSO algorithm Fig. 17 shows the desired trajectory and the obtained trajectory, where we can appreciate that they are very close. Fig. 17 Obtained trajectory with Type-2 optimization Fuzzy Inf. Eng. (2010) 2: 119-143 141 7. Statistical Comparison This section describes the comparisons between the different results obtained with ACO, PSO and GA. The GA results were taken from [11, 12], where the same prob- lem was solved with a genetic algorithm. To perform the statistical comparison we applied hypothesis testing with the t-student statistic or t distribution. Equation (19) describes the t-student statistic used for comparing the means of two distributions, X − X 1 2 T = , (19) 2 2 S S 1 2 n n 1 2 2 2 where X and X are the means of the samples X and X respectively, S and S 1 2 1 2 1 2 are the variances of Sample 1 and Sample 2 respectively and finally n is the size of Sample 1 and n is the size of Sample 2. The hypothesis testing is performed in order to determine which of the bio-inspired algorithms for optimization (ACO, PSO and GA) is the most adequate for solving the particular problem of fuzzy control. The samples taken for the tests have a size of 30 and represent the best 30 results of each bio-inspired optimization method. Table 10: Statistical comparison among ACO, PSO and GA. Comparison ACO vs. GA ACO vs. PSO PSO vs. GA Statistical t value 64.998 50.374 56.385 (Type-1 FLC) Statistical t value 524.197 295.914 379.820 (Type-2 FLC) Critical t values 2.039 2.039 2.039 Reject Null yes yes yes Hypothesis Table 10 shows the results of the statistical comparison between ACO, PSO and GA. Table 10 considers the optimization of both Type-1 and Type-2 FLC. first, for the case of Type-1 fuzzy logic control optimization, we have in the second row of Ta- ble 10 the t values of the comparison between the corresponding optimization meth- ods. The comparison between ACO and GA produces the value t = 64.9980, which gives sufficient statistical information to say that ACO outperforms GA along the re- alized simulations. The comparison between ACO and PSO produces the value t= 50.374, which gives sufficient statistical information to say that ACO outperforms PSO along the realized simulations. The comparison between PSO and GA produces 142 Oscar Castillo· Ricardo Mart´ ınez-Marroqu´ ın· Patricia Melin (2010) the value t = 56.3858, which gives sufficient statistical information to say that PSO outperforms GA along the realized simulations. For Type-2 fuzzy logic control op- timization, we have in the third row of Table 10 the corresponding t values of the comparisons, which are consistently larger because the problem of Type-2 FLC opti- mization is more complicated and as a consequence the advantage of using ACO or PSO is bigger, with respect to a GA. Another conclusion that can be made from the statistical results of Table 10 is that ACO results to be the better method of the three bio-inspired optimization algorithms being considered for this particular application in robotics. Of course, this conclusion is based on the results obtained with the three simple versions of the three bio-inspired optimization methods, but there is still work that can be done in comparing with other versions of ACO, PSO and GAs. 8. Conclusion A trajectory tracking controller has been designed based on the dynamics and kine- matics of the autonomous mobile robot through the application of ACO and PSO for the optimization of membership functions of the Type-1 and Type-2 FLCs with good results obtained after simulations. Previous works results of GAs for FLC optimiza- tion were taken for comparison [12]. Statistical Results give us sufficient statistical information to say that ACO outperforms PSO and the GA, but PSO outperforms the GA. In any case, the three optimization methods are able to optimize the fuzzy con- trollers and the difference is in the achieved tracking errors. Further work still needs to be done with other versions of PSO and ACO, so we can make other interesting comparisons. Acknowledgements This research work has been funded by CONACYT of Mexico under grant 53850. The authors would like to thank the reviewers for their helpful comments in improv- ing the paper. References 1. Bloch A M (2003) Nonholonomic mechanics and control. New York: Springer Verlag 2. Brockett R W (1983) Asymptotic stability and feedback stabilization. In: R.S. Millman and H.J. Susman (Eds.), Differential Geometric Control Theory, Birkhauser Boston: 181-181 3. Castillo O, Melin P (2001) Soft computing for control of non-linear dynamical systems. Springer- Verlag, Heidelberg, Germany 4. Dorigo M, Birattari M, Stutzle ¨ T (2006) Ant colony optimization. IEEE Computational Intelligence Magazine, November 2006: 28-39 5. Dorigo M, Stutzle ¨ T (2004) Ant colony optimization. Bradford, Cambridge, Massachusetts 6. K. Duc Do, Zhong-Ping, Pan J (2004) A global output-feedback controller for simultaneous tracking and stabilizations of unicycle-type mobile robots. IEEE Trans. Automat. Contr., 20(3): 589-594 7. Eberhart R C, Kennedy J (1995) A new optimizer using particle swarm theory. Proceedings of the Sixth International Symposium on Micro Machine and Human Science, IEEE press, Nagoya, Japan: 39-43 8. Engelbrecht A P (2005) Fundamentals of computational swarm intelligence, Wiley, J England Fuzzy Inf. Eng. (2010) 2: 119-143 143 9. Lee T C, Song K T, Lee C H, Teng C C (2001) Tracking control of unicycle-modeled mobile robot using a saturation feedback controller. IEEE Trans. Contr. Syst. Technol., 9(2): 305-318 10. Liberzon D (2003) Switching in systems and control. Birkhauser 11. Mart´ ınez R, Castillo O, Aguilar L (2008) Intelligent control for a perturbed autonomous wheeled mobile robot using Type-2 fuzzy logic and genetic algorithms. JAMRIS Journal, 2(1): 12-22 12. Mart´ ınez R, Castillo O, Aguilar L (2009) Optimization of interval Type-2 fuzzy logic controllers for a perturbed autonomous wheeled mobile robot using genetic algorithms. Information Sciences 179: 2158-2174 13. Porta-Garc´ ıa M, Montiel O, Sepulveda R (2008) An ACO path planner using a fiS for a path selection adjusted with a simple tuning algorithm. JAMRIS, 2(1): 5-11 14. Ratnaweera A, Halgamuge S K, Watson H C (2002) Particles swarm optimizer with time varying acceleration coefficients. Proceedings of the International Conference on Soft Computing and Intel- ligent Systems: 240-255 15. Ratnaweera A, Halgamuge S K, Watson H C (2003) Particles swarm optimizer with self-adaptive acceleration coefficients. Proceedings of the first International Conference on Fuzzy Systems and Knowledge Discovery: 264-268 16. Sepulveda R, Castillo O, Melin P, Montiel O (2007) An efficient computational method to implement Type-2 fuzzy logic in control applications. Analysis and Design of Intelligent Systems Using Soft Computing Techniques, Advances in Soft Computing, June, 41: 45-52 17. Sepulveda R, Castillo O, Melin P, Rodriguez-Diaz A, Montiel O (2007) Experimental study of in- telligent controllers under uncertainty using Type-1 and Type-2 fuzzy logic. Information Sciences, 177(10):2023-2048 18. Shi Y, Eberhart R C (1998) Parameter selection in particle swarm optimization. Evolutionary Pro- gramming VII: Proc. EP, Springer-Verlag, New York, 98: 591-600 19. Shi Y, Eberhart R C (1998) A modified particle swarm optimizer. Proceedings of the IEEE Interna- tional Conference on Evolutionary Computation, IEEE Press, Piscataway, NJ: 69-73 20. Zadeh L A (2005) Towards a generalized theory of uncertainty (GTU)-an outline. Information Sci- ences, 172: 1-40
Journal
Fuzzy Information and Engineering
– Taylor & Francis
Published: Jun 1, 2010
Keywords: Fuzzy control; Particle swarm optimization; Ant colony optimization; Autonomous robots; Bio-inspired algorithms