Mathematical Problems in Engineering

Volume 2016 (2016), Article ID 3297585, 11 pages

http://dx.doi.org/10.1155/2016/3297585

## The Robot Path Planning Based on Improved Artificial Fish Swarm Algorithm

^{1}Research Center of Intelligent System and Robot, Chongqing University of Posts and Telecommunications, Chongqing 400065, China^{2}School of Science, Chongqing University of Posts and Telecommunications, Chongqing 400065, China

Received 19 February 2016; Accepted 1 August 2016

Academic Editor: Fei Liu

Copyright © 2016 Yi Zhang et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Path planning is critical to the efficiency and fidelity of robot navigation. The solution of robot path planning is to seek a collision-free and the shortest path from the start node to target node. In this paper, we propose a new improved artificial fish swarm algorithm (IAFSA) to process the mobile robot path planning problem in a real environment. In IAFSA, an attenuation function is introduced to improve the visual of standard AFSA and get the balance of global search and local search; also, an adaptive operator is introduced to enhance the adaptive ability of step. Besides, a concept of inertia weight factor is proposed in IAFSA inspired by PSO intelligence algorithm to improve the convergence rate and accuracy of IAFSA. Five unconstrained optimization test functions are given to illustrate the strong searching ability and ideal convergence of IAFSA. Finally, the ROS (robot operation system) based experiment is carried out on a Pioneer 3-DX mobile robot; the experiment results also show the superiority of IAFSA.

#### 1. Introduction

With the popularity and wide application of mobile robots in the engineering field, the issue of path planning is going to be a spotlight in the navigation of mobile robots in the future. The goal of path planning is to find an optimal collision-free and the shortest path from a start node to a target node in a given real environment [1, 2]. The optimal collision-free path is usually measured by some criterions, such as distance, time, or energy; distance and time are the most commonly adopted criterions [3]. Hence, a lot of algorithms are applied to solve the problem of path planning, such as genetic algorithm, ant colony algorithm, PSO, neural networks, and fuzzy logic [4, 5]. Artificial fish swarm algorithm (AFSA) [6], a branch of Swarm Intelligence, was firstly brought forward by Li et al. in 2002. Through simulating the social behavior of fish in nature, the algorithm is widely used to process the optimization problem [7–9].

Recently, with its strong capacity of global search, fast convergence rate, and good robustness, AFSA is used to deal with robot path planning problem [10]. Therefore, plenty of researchers made some attempts to improve the performance of AFSA. In [11], a new artificial fish swarm optimization is proposed to improve the forging behavior of AFSA, which is closer to reality in order to increase a look at the ambient link of fish foraging behavior. By examining the environment, artificial fish can screen the information from the surroundings to obtain an optimal state for the best direction of movement. Yao and Ren reported a hybrid adaptive artificial fish swarm algorithm (HAAFSA) with the adaptive enhanced prey behavior and the segmented adaptive strategy of artificial fish’s view and step, which have been verified on research; the HAAFSA was applied to coalmine rescue robot path planning and the performance of the optimal path is improved [12]. In [13], the adaptive hybrid sequences niche artificial fish swarm algorithm (AHSN-AFSA) is presented to solve the vehicle routing problem, and the concept of ecological niche is also proposed to improve the shortcoming of traditional AFSA to obtain an optimal solution. In [14], a new idea based on least squares support vector machine (LSSVM), whose parameters are optimized by artificial fish swarm algorithm (AFSA), has been used to improve location accuracy of three-dimensional sensor modes of wireless sensor network. The experimental result shows that, compared with other localization methods, the proposed method can improve the accuracy of sensor nodes. A modified version of artificial fish swarm algorithm (MAFSA) with a mechanism to dynamically control the parameter vision is also being introduced to select the optimal feature subset to improve the classification accuracy for support vector machines; experimental results show that the performance of the proposed method is superior to standard AFSA [15]. In [16], a novel AFSA algorithm, so-called NAFSA, has been proposed to improve weak points of standard AFSA and accelerate convergence velocity of the algorithm. Also, a multiswarm algorithm based on NAFSA was introduced to conquer particularly the dynamic environment by proposing some new mechanism including multiswarm mechanism for finding and diversity increase mechanism and covering potential optimum peaks. Extensive experiments show that the proposed algorithm can get better performance for optimization in dynamic environments.

All the above algorithms are successful in improving the weak point of standard AFSA and get better performance in the corresponding fields. Despite the fact that the mentioned methods can improve the performance in some cases, they still cannot reach the ideal result when it comes to some special optimization problems. In this paper, a new improved artificial fish swarm algorithm (IAFSA) is proposed and applied in the path planning problem. In IAFSA, an attenuation function *α* is introduced to improve the visual. Also, an adaptive operator based on Gaussian distribution function is introduced to enhance the adaptive ability of step. Besides, inspired by PSO algorithm, an inertia weight factor is introduced in IAFSA to improve the fish behaviors and balance the exploration and exploitation. Simulation shows that IAFSA is more effective, especially when it is used to deal with multipeak and large search space function optimization problem.

The remainder of this paper is organized as follows. Section 2 introduces the standard artificial fish swarm algorithms. In Section 3, the proposed method is presented. Section 4 shows the simulation cases and analyzes the results. Section 5 studies the experiment in mobile robot and analyzes the result. Finally, conclusion and discussion are given in Section 6.

#### 2. Standard AFSA

Artificial fish (AF) is a fictitious entity of true fish. Generally, fish moves to a position with better food consistency by performing social search behaviors [10]. AF has approximately four social behaviors: prey behavior, follow behavior, swarm behavior, and leap behavior [17]. We use these behaviors to conduct the analysis and explanation of the problem.

Suppose the state of individual artificial fish is vector. We can denote the vector , where is the optimization variable of fishes. The food concentration in the current position of the artificial fish can be expressed as , where is the value of target function. Visual is the range in which AFs can search and step is the maximum length which an AF can move. The distance of two AFs between and can be expressed by Euclidean distance as the following equation:

The crowd factor () is a control parameter to control AFs’ crowd around a positon and the best position which AFs ever found will be loaded in bulletin. In the following subsection, behaviors of AFs will be described in detail.

*(1) Prey Behavior.* In nature, prey behavior is a basic biological behavior for fish to find food. We can determine the position in the visual scope of the AF randomly. is the current position of AF , is a random state of its visual distance, and is the food concentration which can be expressed as the objective function . The position can be calculated by the following equation:

and determine the food concentration of and ; if , AF moves forward a step from its current position to , which is done by

If , we select a state randomly again and judge whether its food consistence satisfies the forward condition. When after try_number times the AF is not satisfied with the forward condition, the concerned AF performs leap behavior.

*(2) Swarm Behavior*. In order to keep swarm generality, AFs attempt to move towards the center position in every time of iterations. The central position can be determined as the following equation:where is the arithmetic average of all AF swarm. And is the size of the population. Denote as the number of AF swarms in the visual scope of . If and , which means the center position of the swarm has better food consistence and population is not a crowd, AF moves forward a step to the companion center by Otherwise, AF performs prey behavior.

*(3) Follow Behavior.* During the moving process of the AF, when a single fish or several ones find food, the neighbor fishes will follow and reach the position quickly. Suppose the current position of the AF is, and position is the neighbor in its visual scope. Denote as the number of AF swarms in the visual scope of ; if and , AF moves forward a step to the neighbor . The expression is determined as follows:

If there are no neighbors around or all of them dissatisfied the condition, then AF executes the prey behavior.

*(4) Leap Behavior. *Leap behavior is the basic behavior to seek food or companions in large ranges, which can effectively prevent local optimum. AF performs the leap behavior and changes the parameter to leap out of the current position. It chooses a state in the visual and moves towards this state to avoid the local extreme values. Hence,

#### 3. Improved AFSA

In standard AFSA, the visual and step are fixed. The visual determines the search scope, while the step determines the convergence rate and accuracy of standard AFSA. At the initial state of optimization process of standard AFSA, the large values of visual and step lead the AFs to quickly move close to the global optimal solution and improve the convergence speed. However, after the AFs move close to the target position, the large values of visual and step will make the AFs miss the position with better food concentration. Conversely, if the values of visual and step are too small, the local search ability is increased, while the global search ability is decreased. As a result, AFs may pass the global optimal solution and fall into local optimum; the accuracy of the result is decreased. In order to improve those shortcomings of standard AFSA, we proposed a new algorithm with some improved parameters.

##### 3.1. The New AF Population

Opposition-based reinforcement learning is a machine intelligence scheme for learning in dynamic, probabilistic environments. Considering opposite actions simultaneously enables individual states to be updated more than once, shortening exploration and expediting convergence; it is widely applied in machine learning. In this paper, we introduce opposition-based reinforcement learning to optimize the location distribution of artificial fish swarm in the problem space and to obtain better fitness value compared with the initial one, which can speed up the convergence of AFSA.

Consider and as the upper and lower limits of problem space; suppose the current position of AF is , the opposite position of is defined as , and can be calculated by the following equation:

We can get the opposite position of each artificial fish and construct the opposite artificial fish swarm by (8). The food concentrations of and are and . If , we choose as the new individual; otherwise, we choose . The process is described as follows:

After the above process is completed, the new artificial fish swarm, which is constituted with new individuals, is generated.

##### 3.2. Parameter Variation on IAFSA

*(1) Visual. *In order to satisfy the requirement of convergence rate and the balance of global search and local search, a parameter is introduced to improve the visual of AF. The parameter is determined as follows:where denotes the current iteration number, denotes the maximum iteration number, and the range of values for parameter is 1 to 20. is an attenuation function which can minimize the value of while AF moves close to the target position during the iteration process. In Figure 1, the varying graph of parameter in different value of is displayed. In the early stage of iteration process, if the value of is small, the attenuation velocity of is quick; conversely, if the value of is too large, the attenuation of is slow. Thus, in IAFSA, the value of is set to 3.