Robotics and Autonomous Systems (
)
–
Contents lists available at ScienceDirect
Robotics and Autonomous Systems journal homepage: www.elsevier.com/locate/robot
Autonomous robot path planning in dynamic environment using a new optimization technique inspired by bacterial foraging technique Md. Arafat Hossain ∗ , Israt Ferdous Rajshahi University of Engineering & Technology, Bangladesh
highlights • Increasing number of obstacles will need more time to reach goal. • Nonlinear fitness function makes it useful in complex environment in a feasible time. • Provides much smoother and less jagging path than the other method.
article
info
Article history: Available online xxxx Keywords: Mobile robot Path planning Bacterial Foraging Optimization (BFO) Optimization
abstract Path planning is one of the basic and interesting functions for a mobile robot. This paper explores the application of Bacterial Foraging Optimization to the problem of mobile robot navigation to determine the shortest feasible path to move from any current position to the target position in an unknown environment with moving obstacles. It develops a new algorithm based on Bacterial Foraging Optimization (BFO) technique. This algorithm finds a path towards the target and avoiding the obstacles using particles which are randomly distributed on a circle around a robot. The criterion on which it selects the best particle is the distance to the target and the Gaussian cost function of the particle. Then, a high level decision strategy is used for the selection and thus proceeds for the result. It works on local environment by using a simple robot sensor. So, it is free from having generated additional map which adds cost. Furthermore, it can be implemented without requirement to tuning algorithm and complex calculation. To simulate the algorithm, the program is written in C language and the environment is created by OpenGL. To test the efficiency of the proposed technique, results are compared with Basic Bacterial Foraging Optimization (BFO) and another well-known algorithm called Particle Swarm Optimization (PSO) to give the guarantee that the proposed method gives better and optimal path. © 2014 Elsevier B.V. All rights reserved.
1. Introduction An autonomous mobile robot is a programmable and multitasks mechanical device capable of moving freely in the environment including obstacles; executing various functions and acquiring the environment information through the sensors. Usually, they are used in higher, deeper and riskier environment where human cannot imagine treading. For this, the last few decades have witnessed ambitious research efforts in this area of mobile robotics. In order to achieve tasks, they are intelligent in deciding their own actions. Especially, the topic of navigation is one of the focused points in the correlation of mobile robots. As their use is increasing
∗
Corresponding author. Tel.: +880 1717450969. E-mail address:
[email protected] (Md.A. Hossain).
http://dx.doi.org/10.1016/j.robot.2014.07.002 0921-8890/© 2014 Elsevier B.V. All rights reserved.
day by day and navigation is an essential and obvious task for initial interaction, the studies in this area deal now with autonomous indoor and outdoor navigations. Navigation consists of two essential components known as Localization which refers to the ability of determining accurate position at any moment relative to the search space according to the environment perceptions gathered by sensors. Path planning is considered as the computation of an optimal path according to some criteria such as distance, time, cost, and energy. Distance and time being the most commonly adopted criteria. So, for designing a fast and efficient procedure for navigation, path planning is an essential aspect. It can be divided into classes according to the atomicity and availability of knowledge of the information about the environment which is shown below: In the static environment, all the obstacles would be static, while in dynamic environment, obstacles can be both static and dynamic and may move at arbitrary directions with varying speeds.
2
Md.A. Hossain, I. Ferdous / Robotics and Autonomous Systems (
)
–
Fig. 1. Classification of path planning. (Scope is shown in dark.)
Again, in global planning, the map of the environment is totally known, where, in local planning, the information of the environment is not known in advance. So, the robot needs the capability to build a map of the environment (see Fig. 1). As the real application contains arbitrary obstacles (moving and fixed) and most of the cases the environment remains unknown, so establishing an efficient path planning algorithm on local dynamic environment would be meaningful and significant; which is the main concern of this paper. A great number of different techniques in this regard have been and are being developed which can be classified as (1) Analytical method. (2) Enumerative method. (3) Evolutionary Algorithm. Each of these above methods has its own strengths and weaknesses. But the main weakness arise from the fact that the analytical methods are too complex to be used in tangible and enumerative search methods are overwhelmed by the size of the search space. On the other hand, many evolutionary algorithms have been shown to be ineffective in path planning when the search space is large. To overcome these drawbacks, meta-heuristic approaches have been attracting considerable research interest in recent years like Ant colony algorithm, Particle Swarm Optimization, Bacterial Foraging Optimization. Among these, Bacterial Foraging Optimization is relatively new and has much scope. It meets all the major concerns, e.g. it can find the destination in a relatively short time which provides efficiency. By using this, a feasible path can avoid all known obstacles in the area which ensures safety of planning. Finally, it accurately and always finds and follows the determined path. It also reduces the difficulties related to path planning problem like it is easily computed avoiding most of the computational complexity, free from getting stuck in the local minima and no need to tuning algorithm which offers availability. Therefore, this paper presents a new and modified algorithm on the basis of Bacterial Foraging Optimization. Using the facial appearance of BFO and the new method proposed, it makes the good solution better in terms of time and path’s feasibility. The remainder of the paper is organized as follows. In Section 2, recent works on BFO is discussed; Section 3 explains the problem formally; full description and implementation is presented in Section 4; Section 5 shows the experimental setup and result, and the paper is concluded in Section 6. 2. Related work Researchers could apply the BFO algorithm successfully in various fields. For example, in the context of biologically inspired optimization methods, several models of bacterial chemotaxis algorithm based on the pioneered work of Bremermann [1] have been proposed in the literature for many applications including robotics [2]. In this paper, the foraging theory is applied to bacteria, adopting the bacterial colonies nomenclature. The fact that bacteria are one of the simplest living beings existing on Earth
Fig. 2. Model of environment. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
and they use the forage theory to benefit the group motivated this study. Bacteria own a control system that allows the foraging control and avoidance of noxious substances. In this context, the cooperation activity in a bacterial colony may be used in an optimization procedure, based on the forage strategy, as proposed by Passino [3]. An important feature of chemotaxis is exact adaptation: a change in the concentration of a chemical stimulant induces a rapid change in the bacteria’s tumbling frequency, which gradually adapts back precisely to its pre-stimulus value [4]. Because of highly nonlinear and computationally expensive properties of path planning problem of mobile robots, developing efficient planning methods has been on focus of interest. Variety of techniques have been used to find smallest trajectory both in static and dynamic environments. One of the most popular planning methods is the artificial potential fields [5]. However, this method gives only one trajectory solution that may not be the smaller trajectory in a static environment. Recently, the interest in using evolutionary algorithms and swarm intelligence for robot path planning is increasing. Up to now, the genetic algorithm and bacterial foraging optimization are used in mobile robots trajectory planning, generally when the environment description is given [6,7]. So, we focus on the problem of path planning in a practical surrounding which can be categorized as an optimization problem to apply the BFO technique and modify it as necessary to solve the problem. 3. Problem representation To search for an optimal robot path successfully, the model of an environment should be first constructed. 3.1. Environment Fig. 2 shows the environment. It is a two-dimensional rectangular workspace where all the objects including robot, obstacles, source and destination point are located. Mobile robot is defined as a white square object which is represented by C (Cx, Cy) in the 2D space. Obstacles are unpredictable objects that the robot may encounter during the execution of the task. In general, obstacles can be of any shape and size with a representation of each point by O(Ox, Oy). To avoid a safe region around obstacles, the obstacle is wrapped by a circle. The radius, R of the circle is chosen in accordance with the size of the obstacle. Goal is defined as a green square object which is represented by G(Gx, Gy) in the 2D space.
Md.A. Hossain, I. Ferdous / Robotics and Autonomous Systems (
)
–
3
Table 1 Parameters. Height of repellant, Hobstacles = 1 Width of repellant, Wobstacles = 4 Height of attractant, Hgoal = 1 Width of attractant Wgoal = 2300 Radius of circle, R = 0.5 Particle generated around robot, Ns = 100
Table 2 Inputs. Initial position, (Cx, Cy) = (5.0, 5.0) Goal position, (Gx, Gy) = (150.0, 160.0)
3.2. Assumption
• The obstacles are detected by the sensor which is mounted on the robot. So, the obstacles within the sensor range, β can be detected with reference to the coordinate system.
• The obstacles can be overlapping. • The path planning program runs until the goal has been returned.
• Both the goal and the obstacles should be dynamic. 3.3. Input
• Initial location of robot (Red square in bottom-left). • Location of Destination (Green square in Fig. 2). • Position of the obstacles detected by sensor (Cyan circles). 3.4. Outcome of each step Next step of robot towards the feasible path by avoiding obstacle/s. 3.5. Final output A shortest pathway which is not crashed with given obstacle/s. 4. Methodology The model and concept of the proposed algorithm is given in Fig. 3. The algorithm is based on particles randomly distributed around a robot. At first, all the initial inputs are taken into consideration and the parameters are initialized in Tables 1 and 2. Steps: (a) Step 1: (S = 1, 2, . . . , n) virtual particles are generated and distributed randomly on a circle with radius R around the robot’s current position, (initially, C (Cx, Cy)). Each particle position (S) in time t could be defined as Ps (t ) and the next position is calculated as Ps (t + dt ) = Ps (t ) + R(∆(t )/∥∆(t )∥)
(1)
where ∆(t ) is a unit length random vector which is used to define the direction of particle in each time and ∥∆(t )∥ is the magnitude of the vector. (b) Step 2: For choosing the best particle two different strategies are combined and described in this and the next two steps. When the robot arrives at the moving obstacles, its sensor detects obstacles (i = 1, 2, . . . , n) and a repellant Gaussian cost function is virtually assigned to each obstacle.
Fig. 3. Flowchart of proposed technique.
So, the formula of the function in all through the mission is defined asJobstacle = Hobstacle ∗ exp(−Wobstacle (∥θi (t ) − Po (t )∥2 )). if ∥Po (t ) − C (t )∥2 ≤ β Jobstacle = 0. Otherwise
(2)
where Hobstacle and Wobstacle are constant values defining height and width of the repellant, Po (t ) denotes the obstacle position detected by the sensor and β be the sensor range. Jgoal = −Hgoal ∗ exp(−Wgoal (∥θi (t ) − PG (t )∥2 ))
(3)
where Hgoal and Wgoal are height and width of the attractant. So, the total cost function can be calculated as, J = Jobstacle + Jgoal .
(4)
4
Md.A. Hossain, I. Ferdous / Robotics and Autonomous Systems (
)
–
(c) Step 3: A decision making strategy designed for finding the best particle among the others is based on the distance error to the target which can be showed as, eds (t ) = ds (t + dt ) − ds (t )
(5)
where ds (t ) is the distance from particle, S to goal at time, t which can be computed by (ds (t ) = ∥Ps (t )− PG (t )∥2 ), and again ds (t + dt ) is the distance from the same particle to the goal at time (t + dt ) which can be calculated by the formula, (ds (t + dt ) = ∥Ps (t + dt )− PG (t )∥2 ). (d) Step 4: In a similar manner, the cost function error should also be determined by using this one, eJs (t ) = J (Ps (t + dt )) − J (Ps (t )).
Fig. 4. Workspace showing starting and final point with shortest path.
(6)
(e) Step 5: After calculating all particles at time, t, they are sorted in ascending order of cost error in a vector Ssort , such that the particle with the lowest distance error is at top which is considered as the fit one. (f) Step 6: Since, when an obstacle is not in the robot’s range, J Jobstacle is zero and as a result −2Hgoal < es (t ) < 0, in this situation, the robot freely moves towards the target by choosing the first eleJ ment of vector, Ssort , as all of them have es (t ) < 0. Again, when the sensor detects an obstacle, Jobstacle gets a value and consequently, −2Hgoal < eJs (t ) < 2Hobstacle . In this case, a search on Ssort from top J
to bottom is performed and the first particle with es (t ) < 0 is selected as the best one. To get more accuracy, some modifications would have to be done, i.e. distances from robot to detected obstacles which can be evaluated as, dso (t ) = ∥C (t ) − Po (t )∥, is also sorted in Osort . Then, if both the first and second elements of Osort J are on the left side, then, sort the cost errors es (t ) in descended order and pick the first particle with negative error as there is no obstacle. Again, if both the first and second elements of Osort are on J the right side, then, sort the cost errors es (t ) in ascended order and pick the first particle with negative error. But, if the first element is on the right side and the second on the left at a safe distance or vice versa, then, sort the cost error from the middle in ascended order and as usually select the first one with negative error. Otherwise, calculate the best one in normal procedure. Again to get optimal path, a new parameter, η can be introduced which is a co-efficient J of Hobstacle in decision equation es (t ) < η and let the particle not to be omitted like before which can provide optimal path. (g) Step 7: Lastly, add the particle to the desired path and let the new position be the robot’s current position. Thus, continue the process repeatedly until it satisfies the convergence condition.
Fig. 5. Path generated by the algorithm for fixed obstacles.
5. Simulation result In this section, the result is included and the efficiency of the proposed algorithm is analyzed. The results are considered in a simulation environment (see Fig. 4). 5.1. Fixed obstacle and target See Fig. 5. Fig. 6. Path traveled by the robot at 24th, 58th, 103rd and final iteration.
5.2. Randomly moving obstacles and fixed target See Fig. 6. Each of the tests on each benchmark problem was allocated 10 standard deviation values of path lengths and the time of runs and the collected results are the best, worst, and average values. As it is seen from Table 3 for environments with low and medium density (in terms of obstacles), the proposed algorithm generates solutions with no collision and reasonable average path lengths in
relatively short time as well as high density environments where collision occurs very rare. Sometimes rare fluctuation happens, as the environment contains movable obstacles of various motions. But high density does not frequently occur in practical situations (see Table 4). Similarly, from the time curve, we see that, the execution time of reaching to goal is almost linear in comparison to the density of environment (see Fig. 7). So, the time complexity of the algorithm
Md.A. Hossain, I. Ferdous / Robotics and Autonomous Systems ( Table 3 Simulation results in terms of path lengths and collision. Benchmark
Collision
Best
Worst
Avg.
Std. dev.
224.6 261.1 264.6 365.3
267.4 444.6 394.2 577.0
212.3 245.84 310.46 329.26 480.64
19.81 75.85 46.13 103.58
No No No No No
Table 4 Simulation results in terms of time. Benchmark
Elapsed time (s) Best
Elapsed time (in sec)
0 obstacles 50 obstacles 100 obstacles 200 obstacles 300 obstacles
Worst
Avg.
Std. dev.
16.2 34.8 64.8 138.2
1.30 12.65 8.55 23.14
7 15 27 53 103
18 44 77 160
Simution in Elapsed time 150 100 50 0
0
200 No. of obstacles
Elapsed time
400
Fig. 7. Graph of elapsed time in various density environments.
Obstacles
Calculated Distance of various algorithm 600 500 400 300 200 100 0
0
100
200 300 Distance
400
Obstacles
Estimated time of various algorithm 600 500 400 300 200 100 0
0
100
200 300 Time in second
–
5
Table 5 Simulation results of three algorithms in terms of distance and time.
Generated path length
0 obstacles 50 obstacles 100 obstacles 200 obstacles 300 obstacles
)
400
Obstacles
50 100 200 300
Proposed BFO
Basic BFO
PSO
Dist.
Time (in s)
Dist.
Time (in s)
Dist.
Time (in s)
219 248 232 311
26.4 66 118 222
225 261 491 677
29 76 230 477
215 241 276 328
28 78 122 265
On the basis of the table and curve, it is clear that, the proposed BFO (blue curve) performs better and more effectively than the basic one (red curve) and also than the Particle Swarm Optimization (PSO) (green curve) as the curve of the proposed one is lower than the two, especially in high density environment with multiple obstacles and therefore, provides the shortest path. 6. Conclusion BFO algorithm is extremely resourceful in finding the solution in path navigation. Since, the proposed algorithm uses a non-linear fitness function for making decisions; therefore, it can be used in real complex environment in a feasible time. In future work, many Nature Inspired Algorithm (NIA) and comparison can be applied to the results which come from the BFO algorithm. Some NIA with our proposed algorithm will be hybridized to improve the performance and also can be added the feature of motion planning to give it a more genuine look. References [1] H.J. Bremermann, Chemotaxis and optimization, J. Franklin Inst. 297 (2004) 397–404. [2] A. Dhariwal, G.S. Sukhatme, A.A.G. Requicha, Bacterium-inspired robots for environmental monitoring, in: Proceedings of the IEEE International Conference on Robotics & Automation, New Orleans, LA, 2004, pp. 1496–1443. [3] K.M. Passino, Bio-mimicry of bacterial foraging for distributed optimization and control, IEEE Control Syst. 22 (3) (2002) 52–67. [4] U. Alon, M.G. Surette, Barkal, S. Leibler, Robustness in bacterial chemotaxis, Nature 397 (1999) 168–171. [5] T. Tsuji, Y. Tanaka, P.G. Morasso, V. Sanguineti, M. Kaneko, Bio-mimetic trajectory generation of robots via artificial potential field with time base generator, IEEE Trans. Syst. Man Cybern.: Part C 32 (2002) 426–439. [6] J. Xiao, Z. Michalewicz, L. Zhang, K. Trojanowski, Adaptive evolutionary planner/navigator for robots, IEEE Trans. Evol. Comput. 1 (1997) 18–28. [7] M. Gemeinder, M. Gerke, GA-based path planning for mobile robot systems employing an active search algorithm, Appl. Soft Comput. 3 (2003) 149–158.
Md. Arafat Hossain, received B.Sc. Engg. from Rajshahi University of Engineering & Technology and currently pursuing M.Sc. Engg. from Rajshahi University of Engineering & Technology. His research interests are image processing and robotics. Presently, he is associated with RUET, Rajshahi as an Asst. Professor in Department of Computer Science & Engineering.
Fig. 8. Curve of comparing three algorithms in terms of calculated distance (above) and estimated time (below). (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
is NP complete. Therefore, we can say that, the algorithm can solve the planning problem in real time which lets us to state that the overall performance of the new algorithm is reliable and satisfactory. Now, the comparison of the technique with other algorithm, Basic BFO and PSO, is shown. Here, it can be seen that, the length is almost same in all of them, but the proposed technique provides a much smoother and less jagging path than the others. The comparison of calculated distance and time by the technique in different environments among the existing algorithms is shown in Table 5 and the corresponding curve is shown in Fig. 8.
Israt Ferdous, received B.Sc. Engg. from Rajshahi University of Engineering & Technology. Her research interests are image processing and robotics. Presently, she is associated with Daffodil International University, Dhaka as a Lecturer in Department of Computer Science & Engineering.