DeepDyve requires Javascript to function. Please enable Javascript on your browser to continue.
Wall-Following of Mobile Robot Based on Fuzzy Genetic Algorithm to Linear Interpolating
Wall-Following of Mobile Robot Based on Fuzzy Genetic Algorithm to Linear Interpolating
Duan, Ping; Ding, Cheng-jun; Yuan, Guang-ming; Zhang, Ming-lu
2010-06-01 00:00:00
Fuzzy Inf. Eng. (2010) 2: 201-211 DOI 10.1007/s12543-010-0045-6 ORIGINAL ARTICLE Wall-Following of Mobile Robot Based on Fuzzy Genetic Algorithm to Linear Interpolating Ping Duan· Cheng-jun Ding · Guang-ming Yuan· Ming-lu Zhang Received: 29 September 2009/ Revised: 12 May 2010/ Accepted: 21 May 2010/ © Springer-Verlag Berlin Heidelberg and Fuzzy Information and Engineering Branch of the Operations Research Society of China 2010 Abstract Traditional fuzzy controller has some disadvantages, such as inferiorly adaptability due to the invariable membership function parameters and too many subjective factors. So in this paper, we firstly put forward a new method to fuzzy inference based on the idea of linear interpolating. This method overcomes the short- coming of conventional fuzzy controller such as the character of multi-relay and the conflict of rule numbers and real-time. Then we use genetic algorithm to off-line optimize the membership function parameters of fuzzy controller, which is used in the controlling course of mobile robot following straight wall. The result shows the optimizing control strategy is more effective in the aspect of following precision than the traditional fuzzy controller. Keywords Mobile robot· Fuzzy control· Genetic algorithm· Linear interpolating· Wall following 1. Introduction Mobile robots are usually applied for transportation in structured environment. In such indoor environment, long wall is a main feature, thus we believe that follow- ing the wall using a mobile robot is a simple and useful navigation method without modifying the environment. The mobile robot cann’t keep a constant distance when it moves without being adjusted its wheels speed, owing to wheel slip, misalignment and other reasons. MB. Kadonff [1] has described a wall-following method by using 24 Polaroid sonar to measure the distance and direction to the wall. A. Yoshinobu [2] used 12 ultrasonic sensors to form a sonar ring to make the mobile robot following wall. Ping Duan () · Cheng-jun Ding · Ming-lu Zhang School of Mechanical Engineering, Hebei University of Technology, Tianjin 300130, China email: duanping@hebut.edu.cn Guang-ming Yuan School of Computer science and software Hebei University of Technology, Tianjin 300130, China 202 Ping Duan · Cheng-jun Ding · Guang-ming Yuan· Ming-lu Zhang (2010) In this paper, we describe a Fuzzy-I (integration) controller to make the TIT-I mo- bile robot to follow a long straight wall by using 2 groups of sonar (2 sonar per group) and the result is satisfactory [3]. Fuzzy control is a relatively new control theory that has developed only for nearly 30 years [4]. Due to its good flexibility, strong robust- ness, and no need for the control object’s exact mathematical model, it has more su- periority to conventional control theory in lag, time-varying, nonlinear system which has often been presented in many areas such as process control, automobiles, power control, robotics, automated highways [5]. However, traditional fuzzy controller has some disadvantages, so in this paper, we put forward a way to improve it. Firstly, we adopt the inference process of linear interpolating based fuzzy control, which can radically settle the contradiction between the number of rules and the real-time abil- ity in conventional fuzzy control and improve the control precision. Then, we use the genetic algorithm (GA), which is a globe random searching algorithm and makes use of the nature choice rule and the nature inherit mechanism of the biology. It can carry on the valid searching in complicated space and have the advantages of simple calculation and fast convergence. So GA is extensively used in the various optimizing and searching techniques [6]. 2. The Fuzzy Control System Design of TIT-I Intelligent Mobile Robot The mobile robot can independently work in unknown environment, which must have the ability of feeling and recognizing the working environment by various sensors. The TIT-I intelligent mobile robot collects outer information mainly from two ways, one is the CCD vision navigation system, the other is 2 groups ultrasonic sensors, which have been installed on the bodywork for collecting the distance information. Two-dimension fuzzy controller with two inputs and one output variables is chosen to make the mobile robot keep a constant distance between the right side of the mobile robot and the wall, the inputs are the distance error Δd and the angle between the right side and wallθ, respectively, as follows: Δd(t) = d(t)− d , (1) where d is the expected distance and d(t) is the average of the readings of Sonar 1 and 2 at time t, C (t)− C (t) h q −1 θ(t) = tg , (2) where C (t), C (t) is the readings of Sonar 2 and Sonar 1 at time t, respectively, L is h q the distance between Sonar 1 and 0. The Δd is divided into 7 fuzzy subsets: {very near, medium near, near, zero, far, medium far, very far}. They are abbreviated as follows: {VN, MN, N, ZE, F, MF, VF}. The θ is divided into 7 fuzzy subsets: Fuzzy Inf. Eng. (2010) 2: 201-211 203 {trend very far, trend medium far, trend far, parallel, trend near, trend medium near, trend very near}. They are abbreviated as follows: {TVF, TMF, TF, PR, TN, TMN, TVN}. The output of the fuzzy controller isΔU, used to control the mobile robot to move and swerve. ΔU is the difference of the two driving servo motors’ control voltage. Its fuzzy subsets included: {swerving left very big, swerving left big, swerving left medium, swerving left little, move forward, swerving right little, swerving right medium, swerving right big, swerving right very big}. They are abbreviated like: {LVBˈ LBˈ LMˈ LSˈ NCˈ RSˈ RMˈ RBˈ RVB}. The membership functions of the fuzzy controller’s input and output are triangular, taking the stability and response speed into account, 49 control rules are concluded. The design of control rules are listed in Table 1. Fig. 1 Membership function 204 Ping Duan · Cheng-jun Ding · Guang-ming Yuan· Ming-lu Zhang (2010) Table 1: Table of the fuzzy rule-base. u Δe TVB TMF TF PR TN TMN TVN VN LVB LVB LVB LB LM LS ZE MN LB LB LB LM LS ZE ZE N LM LM LM LS ZE RS RM ZE LM LM LS ZE RS RM RM F LS LS ZE RS RM RM RM MF ZE ZE RS RM RB RB RB VF ZE RS RM RB RVB RVB RVB 3. Linear Interpolating Based Fuzzy Control Algorithm Linear interpolating based fuzzy control is a new idea of fuzzy inference, which can be applied to any dimension fuzzy controller. Two-dimension fuzzy controller with two input and one output variables is chosen to interpret the inference mechanism presented in this paper. Error e and change of error Δe are defined as input variables and control variable u is the fuzzy controller’s output. 3.1. Fuzzy Inference Mechanism The difference between the conventional fuzzy control and the one presented in this paper is the inference mechanism, which is also the reason why linear interpolating based fuzzy control can overcome the shortcoming of conventional fuzzy control. It is supposed that at time t, the error between a set point and an actual value is e , ∗ ∗ and the change of error between time t and t−1isΔe . First we map e ,Δe to e ,Δe t t t t t through the following two formulas respectively: (a+ b) (m+ n)[e− ] e = , (3) b− a (c+ d) (r+ s)[Δe − ] Δe = , (4) d− c where domain [a, b] is the universe of discourse of e, domain [c, d] is the universe of ∗ ∗ discourse of Δe,[m, n] is the value range of e , and [r, s] is the value range of Δe . t t ∗ ∗ Then two integer values e , e are obtained by wiping off the floating-point part of t1 t2 ∗ ∗ ∗ ∗ ∗ e and adding 1 to e , for example, if e = 3.4, then e = 3, e = 4. By the same t t t1 t1 t2 ∗ ∗ ∗ ∗ ∗ means, Δe , Δe can be obtained from Δe , for example if Δe = 5.6 then Δe = 5, t t t1 t2 t1 Δe = 6. t2 ∗ ∗ Making inference by using the following Formula (12) and treating e ,Δe as the t1 t1 input of the fuzzy controller, the conclusion, fuzzy set U , can be reached, t1 Fuzzy Inf. Eng. (2010) 2: 201-211 205 ∗ ∗ μ (u ) = μ (e ) μ (e ) μ (u ) , (5) U k K ΔE U k t1 i t1 J t1 ij k=1 whereΔu is the membership of a discrete universe of discourse for an output,μ (e ) k E t1 ∗ ∗ ∗ is the membership of e to fuzzy set E , μ (Δe ) is the membership of Δe to the i ΔE t1 j t1 t1 fuzzy set ΔE ,μ (u ) is the membership of u to fuzzy set U . j U k k ij ij By the same means, the conclusion, fuzzy set U , can be reached by treating e , t2 t1 Δe as the input of the fuzzy controller. t2 ∗ ∗ The conclusion, fuzzy set U , can be reached by treating e , Δe as the input of t3 t2 t1 the fuzzy controller. ∗ ∗ The conclusion, fuzzy set U , can be reached by treating e , Δe as the input of t4 t2 t2 the fuzzy controller. 3.2. Defuzzification Defuzzification is often thought as “decoding” the fuzzy set information produced by the inference process into numeric fuzzy controller outputs. There are many kinds ∗ ∗ ∗ ∗ of defuzzification methods. Numeric fuzzy controller outputs u , u , u , u can be 1 2 3 4 obtained by decoding U , U , U , U respectively. t1 t2 t3 t4 3.3. Linear Interpolating ∗ ∗ ∗ ∗ From 2.5, 4 numeric fuzzy controller outputs u , u , u , u are obtained. To get the 1 2 3 4 ∗ ∗ ∗ ∗ ∗ last numeric fuzzy controller output u from the combination of u , u , u , u , the 1 2 3 4 linear interpolating method is applied through the following formulas: ∗ ∗ u − u ∗ ∗ 2 1 ∗ ∗ u = u + (Δe −Δe ), m1 1 ∗ ∗ t t1 Δe −Δe t2 t1 ∗ ∗ u − u 4 3 ∗ ∗ ∗ ∗ u = u + (Δe −Δe ), (6) m2 3 ∗ ∗ t1 Δe −Δe t2 t1 ∗ ∗ u − u m2 m1 ∗ ∗ ∗ ∗ u = u + (e − e ). m1 ∗ ∗ t1 e − e t2 t1 3.4. Obtaining the Actual Output of the Fuzzy Controller As the last numeric fuzzy controller output u is in the fuzzy universe of discourse, to control a plant it must be converted into an actual value u that has an appropriate domain to the plant through a proportional coefficient K, i.e., u = k× u . (7) 206 Ping Duan · Cheng-jun Ding · Guang-ming Yuan· Ming-lu Zhang (2010) 4. The Optimizing Fuzzy Controller Based On GA GA is free from the restrictive supposed stipulation of the searching space, such as the continuity, differential coefficient existing, single apex and its immanent parallel character. So at present GA has already get extensive application [7] in some fields including optimization, machine studying and parallel dealing with and so on. Initially, the TIT-I intelligent mobile robot in the course of following straight wall adopts the strategy of traditional fuzzy controller. The rules and parameters of mem- bership function of the fuzzy controller are all fixed. For improving the following precision of TIT-I intelligent mobile robot [8], this paper uses GA to optimize the width bi and center value ci of membership function of fuzzy controller, conse- quently adjusting the shape of membership function and realizing the off-line and self-optimizing of fuzzy controller. Knowing from the preceding content, the two-dimensions fuzzy controller has 7 + 7 + 9 = 23 fuzzy subsets. Each subset has two parameters {c, b} needing to i i be optimized. For optimizing the 42-dimensions space, normal control method is difficult, however, the GA can provide us a kind of good resolution way. 4.1. Coding Strategy and Community Initialization After optimizing, the shape of membership function adopts the symmetry form of positive and negative domains. For example, in the fuzzy subsets of input variable Δd, the subset VN and VF’ width is equal to d1, the absolute value of function center is equal to a1;. the subset MN and MF’ width is equal to d2, the absolute value of function center is equal to a2; the subset N and F’ width is equal to d3, the absolute value of function center is equal to a3; the subset ZE’ width is to d4, the absolute value of function center is to a4. SoΔd totally has 8 parameters need to be optimized. Uniformly, the optimizing parameters of input variableθ is also 8, which respectively are d5, a5, d6, a6, d7, a7, d8, a8; the optimizing parameters of output variable ΔU is 10, which respectively are d9, a9, d10, a10, d11, a11, d12, a12, d13, a13. In conclusion, GA totally needs to optimize 26 parameters. Each parameter all is expressed with 8 bit binary digit, then the total length of each chromosome is 208 bit character string. Supposing the width scope of each membership function is from 2.0 to 4.0, the absolute value of function center is ai +/− 0.2. The number of initializing community is N. The value of N will directly affect the usefulness of GA, if the community is too little, the effect of GA searching would be bad, on the contrary, if including too much individuals in the community, the working of calculation will be increased, at the same time the time for searching will also be more longer. The result of studying shows the general community scale is N = 30 ∼ 200. In this paper, the number of initializing community is 100. 4.2. Coding Strategy and Community Initialization For evaluating the quality of each individual, we need to establish the target function, which can apply to each individual, and seek the fitness extenting of individual. Fuzzy Inf. Eng. (2010) 2: 201-211 207 In the course of the TIT-I intelligent mobile robot following the straight wall, for keeping the higher precise of following, the moving path of mobile robot should al- ways move along a certain route. We presume that the following path is a beeline apart from the straight wall 0.5m. The target function adopts an energy model func- tion: k+l J = [Δd −Δd] . (8) i=k In the Formula (5),Δd is an enactment value, taking 0.5m;Δd is an actual output value; l is the control steps of fuzzy controller to the control object, taking l = 10; k is the sample numbers of studying. Making use of the GA to optimize the parameters, the working of algorithm only is drove by the fitness value and do not need the partial information of the optimizing object. The fitness function of individual is calculated as follows: F(x) = . (9) 1+ J The smaller character index J ’value, the bigger the fitness function F(x)’district. 4.3. The Searching Process of GA The GA usually uses 3 kinds of standard operators, which are Selection operator, crossover operator, and mutation operator. 1) Selection operator The fitness value proportion (i.e., the way of rotary table wager) is currently the most basic and common method of selection in GA, supposing the community size is n, the fitness value of individual is f , then the probability of selecting i is P as i si follows: P = . (10) si j=1 2) Crossover operator In this paper, we use the method of two points crossover, namely cutting up the chromosome (individual) into 3 segments. Accordingly the new generation will have the good characters from their father generation and have the better fitness capability to the environment. Usually the crossover probability P is 0.6 ∼ 1.0, adopting 0.8 in this paper. 3) Mutation operator In this paper, using the method of locating point mutation, the mutation proba- bility P is 0.001 ∼ 0.01, taking 0.006 in this paper. After going through a circle of searching, community will continually do the operation of selection, crossover, and mutation, until the termination conditions, namely reaching the max generation 208 Ping Duan · Cheng-jun Ding · Guang-ming Yuan· Ming-lu Zhang (2010) maxgen = 100 or attaining the stabilization of evolution [9]. 5. Simulation and Analysis 5.1. The Simulation of Linear Interpolating Based Fuzzy Control We do some works to evaluate the performance of the interpolating based fuzzy con- trol. First, the control surfaces of the interpolating and the conventional fuzzy con- trollers (Fig. 2) have been plotted. Apparently, the control surface of the conventional fuzzy control is characterized by step-varying, that is to say, it has the property of multi-relay (Fig. 2(a)), this is also the reason why oscillation may appear near the set point, while the interpolating fuzzy control is continuous and smooth (Fig. 2(b)). (a) The control surface of classical fuzzy (b) The control surface of interpolating Fig. 2 Comparison as viewed from control surface Using the control strategy proposed in the last section, simulations are conducted according to the parameters of TIT-I mobile robot, at the same time the control rules and parameters are adjusted and optimized. After the adjustment and optimization, Fuzzy Inf. Eng. (2010) 2: 201-211 209 experiments are done. Their results show that the control strategy is correct and ef- fective. 5.2. The Simulation of Fuzzy GA It is impossible that we use the TIT-I intelligent mobile robot to verify the fitness extent of each chromosome of each generation (a chromosome represents a group parameters of membership function). Because the initializing scale of community is N = 100, the termination condition of optimization is to evolve 100 generations, so totally it need to carry on 100∗100 = 10000 times experiment on the TIT-I intelligent mobile robot. Obviously, this method has many disadvantages, such as wasting time, the high cost of developing and long period. For verifying the control project of this paper putting forward, we exploit a simulation platform of recognizing and following wall, which adopts the VC++ 6.0 programming design language and uses the TIT-I intelligent mobile robot as a reference model. Firstly we establish a class (C Fuzzy Contral GA), mainly used to realize the ini- tialization of fuzzy controller, the fuzziness of precise value, the realization of op- timizing the membership function parameters based on GA, making use of the rule database to carry on the reasoning and decision, and defuzziness and so on. In the end, by the cartoon simulation class (C simulation) we imitates the mobile robot fol- lowing the straight wall. Fig. 3 is the simulation situation of mobile robot following the straight wall. In the figure concave and bulge respectively represent the door and caliduct. Fig. 3 The simulation experiment of TIT-I intelligent mobile robot following the straight wall based on GA After GA optimizes the parameters, we set up a group of excellent solutions. Con- sequently, the membership function shape of input variables Δd and θ and output variable ΔU all have be changed, at the same time the value of 26 optimized param- eters also are obviously different from the initial value. Fig. 4 shows the variation situation about the membership function shape of the control variableΔU. 210 Ping Duan · Cheng-jun Ding · Guang-ming Yuan· Ming-lu Zhang (2010) Fig. 4 The membership function’ curve of control variableΔU 6. Conclusion Through the comparison of control effect between control surfaces, it is shown that linear interpolating fuzzy control can overcome the shortcoming of the conventional fuzzy control effectly. What’s more, linear interpolating-based fuzzy control can also be used in looking up the fuzzy control query table generated from the designed rules off-line. This paper aims at the behavior of intelligent mobile robot following the straight wall, putting forward the control strategy by using GA to off-line optimizing the membership function parameters of the fuzzy controller. To some extent, the op- timizing strategy overcomes the subjective uncertain character of traditional fuzzy controller. After a group of the most excellent solutions are verified on the simula- tion platform, we use this group solution to do large number of experiments on the TIT-I intelligent mobile robot, by the way of off-line. The result shows this control project is actually viable and has the better stability and the high following precision. Worthy of pointing out is that, in this paper, GA only optimizes the fuzzy controller in the situation of off-line. In the next step, we will mainly study the GA optimizes the fuzzy controller by the way of on-line. Acknowledgements This work is partially supported by the National High-Tech. R & D Program (863, Grant No. 2007AA04Z229). References 1. Kadonoff M B (1989) Ultrasonic wall-following contraller for mobile robot. SPIE, Mobile Robots IV, 1195: 391-401 Fuzzy Inf. Eng. (2010) 2: 201-211 211 2. Yoshinobu A, et al. (1995) Following a wall by an autonomous mobile robot with a sensor-ring. Proc. of the 1995 IEEE Int. Conf. on Robots and Automation: 2599-2606 3. Men Q H (1999) Wall-following by an autonomously guided viecle (AGV) using a new Fuzzy-I integration controler. Robotic, 17: 79-86 4. Zadeh L A (1973) Outline of a new approach to the analysis of complex system and decision process. IEEE Trans. Syst. Man. and Cybern., SMCL 1, Jan.: 28-44 5. Passino M K, Yurkovich S (1998) Fuzzy control. Addision-Wesley Press: 13 6. Hu T C, Robins G (1993) Optimal robust path planning in general environments. IEEE Trans. Robotics Automata 9(6): 775-784 7. Karr C L (1991) Design of an adaptive fuzzy logic controller using a genetic algorithm. In˖ Proc. the Fourth Int. Conf. Genetic Algorithms, San Digo: 257-261 8. Yu H N (2002) Control of autonomous underwater vehicle using fuzzy logic tuned by genetic algo- rithms. Journal of Harbin Engineering University 23(5)˖ 12-15 9. Davis L (1991) Handbook of genetic algorithms. New York, Van Nostrand Reinhold: 27-57, 60-110
http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png
Fuzzy Information and Engineering
Taylor & Francis
http://www.deepdyve.com/lp/taylor-francis/wall-following-of-mobile-robot-based-on-fuzzy-genetic-algorithm-to-3nIQZN5xs9