Path Planning Method for Single Mobile Robot in Dynamic Environment Based on Artificial Fish Swarm Algorithm

A proposed method of path planning for single mobile robot in2D envir on ment Cluttered with moving obstacles. The propose dmethod supposes mobile robot and obsta clesare the same specifications interms of speed and movement and having the same goal . The robot moving fromone place to anothertoreachthegoal based artificial fish swarm algorithm . The simulation of the method show that the proposed method find the optimal (near optimal) path. The proposed method is complete becauseit find the path, ifany.


INTRODUCTION
ath planning is an important problem in navigation of autonomous mobile robots, which is to find an optimal collision-free path from a starting point to a goal in a given environment according to some criteria such as distance, time or energy while distance or time being the most commonly adopted criterion [1].
To find a safe path in a dangerous environment for the mobile robot is an essential requirement for the success of any mobile robotic systems.Therefore, research on path planning algorithms to make the robot move from the start point to the termination point without collision with obstacles is a fundamental requirement for the mobile robot safety in such environments.Moreover, to reduce the processing time, communication delay and energy consumption, the planned path is naturally required to be optimal with the shortest length [3].
There are many intelligent algorithms for path planning such as genetic algorithm, ant colony algorithm neural networks fuzzy logic and so on.However, these algorithms cannot reach an ideal solution individually in complex dynamic environment (it is worth to investigate new ideas and new directions towards solving the basic motion-planning problem, taking into account moving obstacles [1].
Motion planning in dynamic environments is considerably more difficult than the widely studied static problem, since it requires the simultaneous solution of the path planning [2].
With the perfect path planning system, mobile robots can navigate by itself without human intervention to reach the targeted destination.Path planning can be divided into two categories which are global and local path planning.If the knowledge of the environment is known, the global path can be planned offline before the robot start to moves.This global path can aid the robot to traverse within the real environment because the feasible optimal path has been constructed within the environment.However, another category of path planning system known as local path planning is introduced to solve roadmap path planning problem when it faced with the obstacles [4].

ROBOT PATH PLANNING METHODS
Path planning for mobile robots is one of the most important aspects in robot navigation research.The robot path planning methods could be classified into different kinds based on different situations.Depending on the environment where the robot is located in, the path planning methods can be classified into the following two types: (1) Robot path planning in a static environment which only contains the static obstacles in the map; and (2) Robot path planning in a dynamic environment which has static and dynamic obstacles in the map.Each of these two types could be further divided into two sub-groups depending on how much the robot knows about the entire information of the surrounding environment: (a) Robot path planning in a clearly known environment in which the robot already knows the location of the obstacles before it starts to move.The path for the robot could be the global optimized result because the entire environment is known.(b) Robot path planning in a partly known or uncertain environment in which the robot probes the environment using sensors to acquire the local information of the location, shape and size of obstacles, and then uses the information to proceed local path planning [3].
In discrete planning that each distinct situation for the world is called a state, denoted by x, and the set of all possible states is called a state space, X.For discrete planning, it will be important that this set is countable; in most cases it will be finite.In a given application,the state space should be defined carefully so that irrelevant information is not encoded into a state.The inclusion of irrelevant information can easily convert a problem thatis amenable to efficient algorithmic solutions into one that is intractable.On theother hand, it is important that X is large enough to include all information that is relevant to solve the task [8].Almost all motion planning methods can be characterized along the following [9]: Complete: A method is said to be complete if it guaranteed to find a collision-free path if one exists; otherwise return failure.Sound: if it guarantees that all its solutions are correct (i.e., collision free).In this work the Moving on a 2D Grid.Suppose that a robot moves on a gridin which each grid point has integer coordinates of the form (i, j).The robot takes discrete steps in one of four directions (up, down, left, right), each of which increments or decrements one coordinate.

Fish Swarm Algorithm [5, 6, 7]
The swarm intelligence is a type of artificial intelligence based on the collective behavior of decentralized, self organized systems.At present the main swarm intelligence algorithms are the ant colony algorithm and the particle swarm optimization.Artificial Fish Swarm Algorithm (AFSA) is a new kind of swarm intelligence optimization algorithm.It is a random and parallel search optimization algorithm based on simulating fish's behaviors in the water.A series of continuous optimization problem and combinatorial optimization problem has been solved by AFSA successfully [5].
In AFSA, the food consistence in water is defined as the objective function, and the state of an AF is the variable to be optimized.Preying behavior is that AF moves randomly according to its fitness value, thus it is an optimization of individual extremism and belongs to self-studying process; it keeps the diversity of colony.Swarming behavior and following behavior are processes of AF interaction with surrounding environment.These two processes can ensure that it will not be too crowded for an AF with other fellows and the moving direction of AF is consistent with the average moving direction of other near fellows which are moving towards the colony extreme, the convergence of colony can be kept [6].The basic idea of AFSA is to imitate the fish behaviorssuch as preying, swarming, following with local search offish individual for reaching the global optimum; it is randomand parallel search algorithm.The AFSA is generated fromlong observation of fish swarm in nature, using the swarmintelligence in the solution of the optimization problem, andcombining with the artificial intelligence [7].Artificial fish algorithm is based on this characteristic, their behaviors described in as follows [6] (1) Preying behavior: This is a basic biological behavior that tends to the food.
Generally fish perceives the concentration of food in water by vision or sense to determine the movement and then chooses the tendency.( 2) Swarming behavior: Fish will assemble in groups naturally in moving process, which is a kind of living habits to guarantee the existence of the colony and avoid dangers.3) Following behavior: In moving process of the fishswarm, when a single fish or several ones find food, theneighborhood fellows will trail and reach the foodquickly.Structure of AFSA and definitions Suppose that the search space is D -dimensional and m fish form the colony.The state of AF can be expressed by vector ( x 1 ,x 2 ,…,x d ) where xi( i = 1,2,…,D ) is the variable to be searched for the optimal value; the food consistence at present position of AF can be represented by Y = f (X), and Y is the objective function; the distance between obstacle and the R can be expressed as , =∥ − ∥, Visual represents the vision distance; Step is the maximal step length and δ is the crowd factor.

THE PROPOSED ALGORITHM
The proposed algorithm supposes that the search space is 2D -dimensional and m fish (moving objects) form the colony.The state of AF can be expressed by vector ( R,x1,x2,…,xd) where r represent the robot and xi( i = 1,2,…,D ) is the variable to be searched for the optimal value; the food consistence at present position of AF can be represented by Y = f (X ) , and Y is the objective function; the distance between moving objects and the R(robot) can be expressed as , =∥ − ∥, Visual represents the vision distance; Step is the maximal step length and δ is the crowd factor.In the proposed model the set of AF represent the moving objects the robot and the dynamic obstacle in a two dimensional space with a static goal.The R try to find its path through the moving obstacles (x 1 ,…,x n ).The R movement is based on the fish behavior in the water.The R change its position to reach its goal position by selecting the appropriate behavior (prey, following, swarm) corresponding to the obstacles positions (other moving object in the environment) in the feasible range until find the goal position as described in the following algorithm: Algorithm 1: path planning in dynamic environment based on artificial fish swarm Input: grid representation to the work space, Robot start position(x s ,y s ),goal position(x g ,y g ), and the max number of random obstacles n.Output: planned path.
Step1: generate random positions for n dynamic obstacles Step2: for each moving obstacles position ( i) test : If position (i) in the 8-nieghbor of the S position then nf=nf+1(the number of moving obstacles in visible range).End Step3: select behavior Switch nf case nf==0 :prey(step4) case nf>0 and nf<w : following behavior(step5) case nf>w : swarm behavior where w is the number of moving objects in the neighbor area of the robot.step4: this mean the all near positions to the R current position are free so choose the neighbor with minimum distance(x new ,y new ) : if the new position is the goal position then find-path=true, go end path=path +(x s ,y s ) R(x s ,y s )= x new , y new Go step1 Step5: a few number of moving objects(x j ) are in the neighbor positions of R, test if thedistance of these position which one with Y(X j )<Y(R) and nf/n< = 0.5 Then path=path +(x s ,y s )R(x s ,y s )=( x j , y j ) go to end If no position is found go to step4(prey) Step6: a number more than 3 of moving objects(x j ) are in the neighbor positions of R, test if the distance of the center position Xc of the moving objects and find Xj in the R 8-neighbor positions nearest to Xc and with Y(x j )<Y(R) and nf/n< = 0.5Then path=path +(x s ,y s ) R(x s ,y s )=( x j , y j ) go to end If no position is found go to step4 (prey) Step 7: end

RESULTS AND DISCUSSION
The proposed algorithm was implemented using Matlab programming language.Figure 1(a,b,c,d) shows the four execution of the algorithm with environment (10X10)grid and robot start position (1,1) and goal position (10,10) with 10moving obstacles, number of moving object in the neighbor position of the robot w=3 and crowded factor =0.5.From the different executions with same input data the planned path is different and near optimal path.At table1 the planned path length for each execution for the same parameter is shown.From table1 can be seen that the shortest path is found from the first run.

Conclusion
The following points are concluded about the proposed method: 1-Plan path for single robot through other moving objects supposing that all obstacles and the robot are modeled as the robot specifications and each of the obstacles speed and same goal.2-The planned path is based on the artificial fish swarm algorithm behavior.3-The proposed method complete mean guarantee to find path if found.
[7].Zhaohui Chen,Chongqing, 'Artificial Fish-Swarm Algorithm with Chaos and Its Application ', 2010 Second International Workshop on Education Technology and Computer Science.[8].Steven M. LaValle,' Planning Algorithems', Copyright 2006, Cambridge University Press.[9].Latombe C. "Robot Motion Planning", NewYork, Klwuer, 1991.b) robot new position and new random distribution of obstacles , robot behavior is prey a) Green dot robot, red dots are obstacles.At this position robot behavior is following d) robot behavior is prey c) robot new position and new random distribution of obstacles , robot behavior is prey f) robot behavior is prey e) robot behavior is following h) robot behavior is following g) robot behavior is following j) planned path i) robot behavior is prey

Figure( 1 )
Figure(1)proposed algorithem execution,2D environment 10x10 grid representation with one roboot and 10 moving obstacles and f=0.5.Green dot represent robot psition, red dots obstecals.Figures a through j describe the robot behavior to choose next new position .Figure j the planned path.