0% found this document useful (0 votes)
20 views13 pages

Multi-Objective Path Planning of An Autonomous Mob

Uploaded by

sherkoabdalamer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views13 pages

Multi-Objective Path Planning of An Autonomous Mob

Uploaded by

sherkoabdalamer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/324887142

Multi-Objective Path Planning of an Autonomous Mobile Robot in Static and


Dynamic Environments using a Hybrid PSO-MFB Optimisation Algorithm

Preprint · May 2018


DOI: 10.48550/arXiv.1805.00224

CITATIONS READS

0 1,363

2 authors:

Ibraheem Kasim Ibraheem Fatin Hassan Ajeil


University of Baghdad, College of engineering University of Baghdad
166 PUBLICATIONS 2,390 CITATIONS 10 PUBLICATIONS 450 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Ibraheem Kasim Ibraheem on 05 May 2018.

The user has requested enhancement of the downloaded file.


Multi-Objective Path Planning of an Autonomous Mobile Robot in Static and
Dynamic Environments using a Hybrid PSO-MFB Optimisation Algorithm

Ibraheem Kasim Ibraheem 1*, Fatin Hassan Ajeil 2


1, 2
Electrical Engineering Department, College of Engineering, University of Baghdad, 10001, Baghdad, Iraq
*
[email protected]

Abstract: The main aim of this paper is to solve a path planning problem for an autonomous mobile robot in static and
dynamic environments by determining the collision-free path that satisfies the chosen criteria for shortest distance and path
smoothness. The algorithm mimics the real world by adding the actual size of the mobile robot to that of the obstacles and
formulating the problem as a moving point in the free-space. The proposed path planning algorithm consists of three modules:
in the first module, the path planning algorithm forms an optimised path by conducting a hybridized Particle Swarm
Optimization-Modified Frequency Bat (PSO-MFB) algorithm that minimises distance and follows path smoothness criteria; in
the second module, any infeasible points generated by the proposed PSO-MFB Algorithm are detected by a novel Local Search
(LS) algorithm and integrated with the PSO-MFB algorithm to be converted into feasible solutions; the third module features
obstacle detection and avoidance (ODA), which is triggered when the mobile robot detects obstacles within its sensing region,
allowing it to avoid collision with obstacles. Simulations have been carried out that indicated that this method generates a
feasible path even in complex dynamic environments and thus overcomes the shortcomings of conventional approaches such
as grid methods. Comparisons with previous examples in the literature are also included in the results.

decomposition [4], roadmap approaches [5], and potential


1. Introduction fields [6]. The main drawbacks of these algorithms are
Autonomous navigation of mobile robots cover a inefficiency, because of high computational costs, and
wide spectrum of applications, including restaurants[1], inaccuracy, because of the high risk of getting stuck in local
libraries, and industrial and rescue robots [2]. The success of minima. Adopting various heuristic methodologies can defeat
mobile robots in these applications depend on their the impediments of these algorithms, and these include the
intelligence capabilities, and of these capabilities, path application of neural systems, genetics, and nature-inspired
planning is one of the most effective and important. This algorithms [7]. Rapid satisfactory solutions are one of the
involves the creation of an optimised collision-free path from leading significant focal points of such heuristic
one place to another. Path planning can be divided into methodologies, and these are particularly appropriate for
various categories depending on the nature of the finding solutions to NP-complete problems.
environment: static path planning, where obstacles do not The current paper is structured as follows. First,
change their position with time, and dynamic path planning section 2 highlights several research methodologies, then
where the position and orientation of obstacles change with section 3 presents the problem statement, preliminaries, and
time. These can be further subdivided according to the the performance criteria considered in this work. Swarm
knowledge level of the mobile robot into offline and online based optimization is introduced in section 4, while in section
algorithms. In offline path planning, the mobile robot has a 5, the methodologies proposed for mobile robot path planning
complete knowledge of the environment. Consequently, the in this work are introduced. In section 6, a set of simulation
path planning algorithm produces a complete path before results are presented to demonstrate the effectiveness of the
mobile robot begins motion. In online path planning, however, proposed methodology as compared with previous work.
information about the environment is obtained from a local Finally, this paper concludes in section 7 with
sensor attached to the mobile robot, and the mobile robot recommendations for future work.
requires the ability to construct a new path in response to the
changes in the environment. This categorisation can be 2. Related Works
further subcategorised according to the target nature, into The primary requirement of autonomous mobile
stationary target, where the mobile robot is searching for a robots is to optimise the collision-free paths used. Numerous
static point in its workspace, and once it has located this point, approaches have been used to solve single/multi-objective
never moves away from it; and dynamic target, wherein the path planning problems for mobile robots, such as
mobile robot must search for a moving target while avoiding swarm/nature-inspired algorithms, neural networks, and
obstacles. In the latter case, the mobile robot and its target are fuzzy logic. The first group includes several previous studies
both in motion [3]. Each scenario requires different path that have exploited examples of natural swarm behaviours.
planning algorithms, and combinations of one or more of the The work in [8] utilised the standard Ant Colony optimization
aforementioned situations may require particularly (ACO) to solve path planning problems for complex
complicated path planning algorithms. environments. The modified version of ACO exploiting the
Path planning studies began in the late 1960s, and age of the ants proposed in [9] has been applied to path
various techniques have been suggested involving cell planning using a grid-based method.

1
Numerous works have also adopted heuristic methods optimisation algorithm, Local Search technique, and obstacle
and employed these to solve different aspects of path avoidance in a single integrated path planning algorithm.
planning heuristic methods such as Particle Swarm
Optimisation [8, 9], Cuckoo search (CS) algorithms [10], 3. Problem Statement and Preliminaries
Self-adaptive bacterial foraging optimisation (SABFO) [11], Assume a mobile robot at a start position (SP) that is
Artificial Immune Systems [12], and the Whale Optimisation required to reach a goal position (GP); several static and
Algorithm (WOA), which was implemented in a static dynamic obstacles are also assumed to exist in the mobile
environment to satisfy requirements for the shortest and robot workspace. The objective of a path planning problem is
smoothest path in [13]. GA and its modified versions are to find an optimum or near-optimum path (safest, shortest,
frequently implemented to find the shortest path for mobile and smoothest) without colliding with any of the obstacles in
robot path planning in different environments [14–16], while the workspace. Before discussing and suggesting solutions to
path planning using neural networks was developed in [17– this problem, some of the assumptions made in this paper
20]. Integrating a path planning algorithm with the motion should be made explicit.
controllers of mobile robots was achieved in [21–25], where Assumption 1: The obstacles are represented as circular
several different motion control strategies were employed, shapes.
including fuzzy logic controls , adaptive neuro-fuzzy ∎
inference systems, and model predictive controls. The Wind Assumption 2: The mobile robot is a physical body; thus, to
Driven Optimisation (WDO) and Invasive Weed take into account the actual size of the mobile robot, the
Optimisation (IWO) algorithms were used to tune the obstacles are expanded by the radius of mobile robot (𝑟𝑀𝑅 ),
parameters of the fuzzy logic controller and adaptive neuro- so that the mobile robot can be considered as a point, as
fuzzy inference systems in [22, 23], respectively, while ACO shown in Fig. 1.
and PSO were used in the tuning of the fuzzy logic controller
presented by [24]. The works in [26–28] incorporated two-
level navigation algorithms, where the higher level was
mainly concerned with path planning and guidance for the
mobile robot, while the motion control directing the mobile
robot in its configuration space was included in the lowest
level. Path planning with energy constrained objective
measures were demonstrated in [29, 30]. The work in [7], and
the references therein, are noted as a particularly excellent
survey for path planning problems in mobile robots.
One of the drawbacks in the studies mentioned is that
throughout, the mobile robot was treated as a simple particle.
While some of these algorithms were oriented toward finding
the shortest path while avoiding static obstacles, others
focused on the avoidance of dynamic obstacles while Fig. 1. Expanding obstacles size corresponding to mobile
achieving the shortest distance without considering the robot size.
smoothness of the path. Moreover, despite the ease of
implementation of the grid-based methods used by some of ∎
the above researches, these have several disadvantages such Assumption 3: There are no kinematic constraints which
as the imprecise representation of the obstacle, where if the affect the motion of the mobile robot. The only effective
obstacle occupies only a small area of the cell, the entire cell source is the motion of the obstacles. ∎
is nevertheless reserved for that obstacle. This leads to the Assumption 4: The mobile robot motion is omnidirectional,
waste of a space and less flexibility in a dynamic environment. and the mobile robot can move in any direction at any time.
Paper Contribution. The contribution of this paper is ∎
the development of a new path planning algorithm which 3.1. The Performance Criteria
consists of three main modules: the first module involves 1. Shortest Distance: In the path planning field, this means
point generation, achieved using a novel heuristic nature- minimising the path length between the start and goal points.
inspired algorithm, which is a hybridization between Particle The total path length is the sum of all distances between mid-
Swarm Optimization and Modified Frequency Bat points (𝑤𝑝𝑗 (1),…., 𝑤𝑝𝑗 (𝑁)) generated by the path planning
Algorithms, thus a PSO-MFB Algorithm. This fused algorithm between this Start Point (SP) 𝑤𝑝𝑗 (0) and the Goal
algorithm generates and select the points that satisfy the Point (GP) 𝑤𝑝𝑗 (𝑁 + 1), as shown:
multi-objective measure proposed in this work, which is a 𝑓1 (𝑥, 𝑦) = 𝑑 (𝑤𝑝𝑗 (𝑡), 𝑤𝑝𝑖 (𝑡 + 1)) = ∑𝑁
𝑡=0 𝑑𝑡 (1)
combination of shortest path and path smoothness. This
algorithm was integrated with a second module, the Local where,
Search technique, which converts infeasible solutions into
feasible ones. In addition, to avoid obstacles, twelve sensors 𝑑𝑡 = √(𝑥𝑤𝑝𝑖 (𝑡+1) − 𝑥𝑤𝑝𝑗 (𝑡) )2 + (𝑦𝑤𝑝𝑖 (𝑡+1) − 𝑦𝑤𝑝𝑗 (𝑡) )2
are deployed around the mobile robot to sense obstacles, and 2. Path Smoothness: This involves minimising the
once such are detected, an avoidance algorithm is triggered. difference of the angles between the straight lines (goal-
This is achieved in the third module, the Obstacle avoidance current points and suggested points-current point), as shown
module. To the best of the authors' knowledge, no study in Fig. 2.
found in the literature has previously combined a heuristic

2
This is given by
𝑓2 (𝑥, 𝑦) = ∑𝑁
𝑖=0|𝜃(𝑖,𝑖+1) − 𝜃(𝑖,𝑁+1) | (2)

Fig.3. Mid-points selection for multi-objective path planning.


Fig. 2. Path smoothness: Summing Angles errors.
𝑦𝑖+1 −𝑦𝑖 𝑦𝑁+1 −𝑦𝑖 4. Swarm-based Optimization
where 𝜃(𝑖,𝑖+1) = 𝑡𝑎𝑛−1 , 𝜃(𝑖,𝑁+1) = 𝑡𝑎𝑛−1
𝑥𝑖+1 −𝑥𝑖 𝑥𝑁+1 −𝑥𝑖 Swarm Intelligence (SI) is an artificial collection of
The overall multi-objective optimization is the simple agents based on nature-inspired behaviours that can be
weighted sum of the above two objectives: successfully applied to optimisation problems in a variety of
applications. The search process of such optimisation
𝑓(𝑥, 𝑦) = 𝑤1 𝑓1 (𝑥, 𝑦) + 𝑤2 𝑓2 (𝑥, 𝑦) (3) algorithms continues to find new solutions until the stopping
where 𝑤1 and 𝑤2 are degrees of importance of the two criteria are satisfied (either the optimal solution is found, or a
objectives. Their values must satisfy the following constraints: maximum number of iterations is reached). These SI
behaviours can be used to solve a variety of problems, and
𝑤1 + 𝑤2 = 1 (4) thus there are several SI-based algorithms. Two such
1 algorithms are used in this paper.
𝑓𝑖𝑡𝑛𝑒𝑠𝑠 = (5)
𝑓(𝑥,𝑦)+ℇ
where ℇ is small number (e.g., ℇ = 0.001 ). The 4.1. Particle Swarm Optimization (PSO) Algorithm
process of selecting the best solution among competing This is a population-based heuristic strategy for
feasible options in each iteration depends on the balance optimisation problems developed by J. Kennedy and R. C.
between the two performance objectives declared in (1) and Eberhard in 1995 [31], stimulated by the social conduct of
(2) for all available solutions. In Fig. 3, the best point among schooling fish and flocking birds. It consists of a swarm of
six competing points is point 𝑤𝑝3 for the t-th iteration, and particles, and each particle in PSO has a position 𝑥𝑖 and
point 𝑤𝑝5 in (t+1)-th iteration, while in the (t+2)-th iteration, velocity 𝑣𝑖 . The position represents a solution suggested by
points 𝑤𝑝2 and 𝑤𝑝3 offer shorter distances but larger the particle, while the velocity is the rate of change to the next
difference angles, in contrast to point 𝑤𝑝1 which provides a position with respect to the current position. These two values
balance between the two criteria; thus, point 𝑤𝑝1 is selected. (position and velocity) are randomly initialized, and the
This process is continued until reaching GP. solution construction of a PSO algorithm includes two phases,
as shown below:
3.2. Obstacles Movement
In each time step, the obstacle changes its location  Velocity Update of the Particle
continuously. In this work, the movement of the dynamic
obstacles are considered to be one of the following types: 𝑣𝑖 (𝑡 + 1) = 𝑣𝑖 (𝑡) + 𝑐1 𝑟1 (𝑝𝑏𝑒𝑠𝑡𝑖 − 𝑥𝑖 ) + 𝑐2 𝑟2 (𝑔𝑏𝑒𝑠𝑡 − 𝑥𝑖 )
A. Linear movement (10)
In this case, the obstacles move in a straight line with  Position Update of the Particle
specific velocity (𝑣𝑜𝑏𝑠 ) and direction (𝜑𝑜𝑏𝑠 ) according to the
following relationship: 𝑥𝑖 (𝑡 + 1) = 𝑥𝑖 (𝑡) + 𝑣𝑖 (𝑡 + 1) (11)
𝑥𝑜𝑏𝑠_𝑁𝑒𝑤 = 𝑥𝑜𝑏𝑠 + 𝑣𝑜𝑏𝑠 × cos 𝜑𝑜𝑏𝑠 (6) From (10), the velocity of the particle i is affected by
𝑦𝑜𝑏𝑠_𝑁𝑒𝑤 = 𝑦𝑜𝑏𝑠 + 𝑣𝑜𝑏𝑠 × sin 𝜑𝑜𝑏𝑠 (7) three main components: the particle's old velocity 𝑣𝑖 (𝑡); a
where 𝜑𝑜𝑏𝑠 is the slope of the linear motion. linear attraction toward the personal best position ever found
B. Circular trajectory (𝑝𝑏𝑒𝑠𝑡𝑖 − 𝑥𝑖 ), scaled by the weight 𝑐1 and a random number
The obstacles move along circular path given by the 𝑟1 ∈ [0, 1]; and the final component is a linear attraction
centre of the circle (𝑥𝑐 , 𝑦𝑐 ) and the radius (𝑟𝑐 ). Thus, the new towards the global best position found by any particle in the
position of the obstacle is given by: swarm (𝑔𝑏𝑒𝑠𝑡 − 𝑥𝑖 ), scaled by weight 𝑐2 and a random
𝑥𝑜𝑏𝑠 = 𝑥𝑐 + 𝑟𝑐 × cos 𝜕 (8) number 𝑟2 ∈ [0, 1]. The position of particles for t+1-th
𝑦𝑜𝑏𝑠 = 𝑦𝑐 + 𝑟𝑐 × sin 𝜕 (9) iterations is updated according to (11).
The range of 𝜕 represents the portion of circular arc for
complete circle (0 < 𝜕 < 2𝜋). 4.2. Modified Frequency Bat (MFB) Algorithm
The Bat Algorithm (BA) is a bio-inspired algorithm
developed by Yang in 2010 [32]. It is based on the
echolocation or bio-sonar characteristics of micro bats.
3
Echolocation is an important feature of bat behaviour: the proper control of such parameters can thus be important, and
bats emit sound pulses and listen to the echoes bouncing back consequently, variations of the parameter α (hence the
from obstacles while flying. By utilising the time difference loudness 𝐴𝑖 ) and the parameter γ (hence the pulse rate 𝑟𝑖 )
between its ears, the loudness of the response, and the delay within a suitable range have been adapted by the PSO
time, a bat can thus figure out the velocity, shape, and size of algorithm to find a balance between exploration and
prey and obstacles. A bat also has the ability to change the exploitation in the MFB algorithm. The pseudo code for the
way its sonar works. If it sends sound pulses at a high rate, it proposed Hybrid PSO-MFB algorithm is shown in
can fly for less time while obtaining thorough details about Algorithm 1 and the overall procedure of the proposed
its surroundings. Hybrid PSO-MFB algorithm is shown in Fig 4.
4.2.1. The Movement of Artificial Bats
The updating process of bat positioning is as follows: Algorithm 1: Pseudo code for Proposed Hybrid PSO-MFB
𝑓𝑖 = 𝑓𝑚𝑖𝑛 + (𝑓𝑚𝑎𝑥 − 𝑓𝑚𝑖𝑛 ) ∗ 𝛽𝑖 (12) Step 1: Initialize PSO and MFB parameters: population size
𝑣𝑖 (𝑡 + 1) = 𝑣𝑖 (𝑡) + (𝑥𝑖 (𝑡) − 𝑥 ∗ )𝑓𝑖 (13) of n particles, 𝑟1 , 𝑟2 , 𝑐1 , 𝑐2 , population size of m
bats, frequencies𝑓𝑖 , pulse rates 𝑟𝑖 and the loudness
𝑥𝑖 (𝑡 + 1) = 𝑥𝑖 (𝑡) + 𝑣𝑖 (𝑡 + 1) (14) 𝐴𝑖 .
where β is a random number that increases with time for each Step 2: Randomly generate an initial solutions, 𝑥1 = [𝛼1 , 𝛾1 ],
bat generating low frequencies at the early stages of the 𝑥2 = [𝛼2 , 𝛾2 ], …, 𝑥𝑛 = [𝛼𝑛 , 𝛾𝑛 ].
search process. These frequencies increase with time to Step 3: for i = 1: n
improve the global search performance [33], where 𝑥 ∗ is the Call MFB algorithm, (12)-(17)
present global best location solution, found after making a end
comparison between all the solutions among all m bats. For  Choose the best bat that achieves the best fitness
the local search stage, once a solution is selected among the defined in (5), e.g.𝑥𝑘𝑗 , j =1: m.
current best solutions, a new solution is generated for each  Store index (k).
bat locally using random walk:  Gbest = 𝑥𝑘 = [αk , 𝛾𝑘 ]
𝑥𝑛𝑒𝑤 = 𝑥𝑜𝑙𝑑 + 𝜎𝜖𝐴(𝑡) (15) Step 4: If stopping criteria not satisfied
 Update velocity and position of particles
where 𝜖 ∈ [−1, 1] is a random number, A(t) is the average according to (10)-(11).
loudness of all the bats at time step t, and σ is a scaling  Go to step 2.
parameter included to control the step size. else
4.2.2. Loudness and Pulse Emission obtain results
The loudness, 𝐴𝑖 , and the rate of pulse emission, 𝑟𝑖 , must
be updated as the iterations proceed. The loudness usually
decreases once a bat has found its prey, whereas the rate of
pulse emission increases according to the following equations:
𝐴𝑖 (𝑡 + 1) = 𝛼𝐴𝑖 (𝑡) (16)
𝑟𝑖 (𝑡 + 1) = 𝑟𝑖 (0)[1 − exp(−𝛾𝑡)] (17)
where 0 <α < 1 and γ > 0 are design parameters.

5. Main Results
This section describes the proposed path planning
algorithm for a mobile robot with omnidirectional motion
based on hybridized swarm optimisation integrated with
Local Search and obstacle avoidance techniques.

Fig. 4. Proposed Hybrid PSO-MFB algorithm.


5.1. Proposed Hybrid PSO-MFB Algorithm
The solution of the PSO in the proposed algorithm is a
Hybridisation refers to mixing two or more optimisation vector of dimension 2, where 𝑥(1,1) represents the value of
algorithms to obtain the advantages of all of these algorithms, 𝛼 while 𝑥(1,2) is the value of 𝛾.
and thus, as a result, increasing the overall performance of the
optimisation process. In this paper, a hybridisation between 5.2. Proposed Local Search (LS) Technique
PSO and MFB algorithms is proposed. The variations of
loudness, 𝐴𝑖 , and pulse emission rates, 𝑟𝑖 , also provide an The solution is considered infeasible if the next point
auto zooming capability for the optimisation algorithm. generated by the hybrid PSO-MFB algorithm lies within an
Finding the optimum values of the MFB algorithm area occupied by an obstacle. Another infeasible solution is
parameters (α, γ) is handled by the PSO algorithm. However, where the next point, 𝑤𝑝𝑗 (𝑡 + 1), forms a line segment with
such parameter settings may be problem-dependent and thus the previous point, 𝑤𝑝𝑗 (𝑡), and this line passes through the
tricky to define. In addition, the use of time-varying obstacle.
parameters during such iterations may be advantageous. The
4
The LS technique converts these infeasible solutions represent the candidate solutions generated by the hybrid
into feasible ones. These two situations are explained in the PSO-MFB Algorithm, while the green ones are the updated
following section with the aid of graphical and ones according to (19) and (20), where ̅̅̅̅(𝑡 𝑤𝑝 +
mathematical illustrations of the proposed solutions. 1) = ( 𝑥̅𝑤𝑝𝑗 (𝑡) , 𝑦̅𝑤𝑝𝑗 (𝑡) ). This proposed Local Search
5.2.1. The points lie inside the obstacle scenario is illustrated in example (1).
This situation is shown in Fig. 5 (a). It is checked by
computing the Euclidean distance 𝑑(𝑤𝑝𝑗 (𝑡), 𝑃𝑜𝑏𝑠 ) using (1)
Example (1): Suppose that the obstacle position
between the candidate point, 𝑤𝑝𝑗 (𝑡), and the centre of the 𝑜𝑏𝑠𝑃𝑜𝑠 = (2, 3), radius of the obstacle 𝑟𝑂𝐵𝑆 =1, and
obstacle 𝑃𝑜𝑏𝑠 = (𝑥𝑜𝑏𝑠 , 𝑦𝑜𝑏𝑠 ). If 𝑑(𝑤𝑝𝑗 (𝑡), 𝑃𝑜𝑏𝑠 ), or simply the candidate point suggested by hybrid PSO-MFB
d, is less than the obstacle’s radius, 𝑟𝑂𝐵𝑆 , then it is Algorithm is 𝑤𝑝(𝑡 + 1) = (1.7, 2.4).
considered an infeasible candidate solution: check: Calculate the distance between 𝑃𝑜𝑏𝑠 & 𝑤𝑝:
𝑑(𝑤𝑝𝑗 (𝑡), 𝑃𝑜𝑏𝑠 ) < 𝑟𝑂𝐵𝑆 (18)
𝑑 = √(𝑥𝑜𝑏𝑠 − 𝑥𝑤𝑝(𝑡+1) )2 + (𝑦𝑜𝑏𝑠 − 𝑦𝑤𝑝(𝑡+1) )2
This case is resolved by ousting these candidate
solutions outside the area occupied by the obstacle 𝑑 = √(2 − 1.7)2 + (3 − 2.4)2 = 0.6708
according to the following suggested rules; see Fig. 5(b): The condition in (18) is true, i.e., d < 𝑟𝑂𝐵𝑆 . This
means that the candidate point lies inside the
obstacle region.
Solution:
𝑦𝑜𝑏𝑠 − 𝑦𝑤𝑝(𝑡+1)
𝜗 = 180 + tan−1
𝑥𝑜𝑏𝑠 − 𝑥𝑤𝑝(𝑡+1)
3−2.4
𝜗 = 180 + tan−1 =180° + 63.4°
2−1.7
Using (19) and (20), the corrected solution is
𝑥̅𝑤𝑝𝑗 (𝑡+1) =𝑥𝑤𝑝 + (1 + 0.2 − 0.6708) × cos 𝜗
=1.4
𝑦̅𝑤𝑝𝑗 (𝑡+1) = 𝑦𝑤𝑝 + (1 + 0.2 − 0.6708) × sin 𝜗
=1.9
̅̅̅̅(𝑡
𝑤𝑝 + 1) = (𝑥̅𝑤𝑝𝑗 (𝑡+1) , 𝑦̅𝑤𝑝𝑗 (𝑡+1) ) =(1.4, 1.9).

5.2.2. The line segment passes through the obstacle


The second situation is shown in Fig. 6 (a); here, a line
(a) segment that connects two consecutive points, 𝑤𝑝𝑗 (𝑡) and
𝑤𝑝𝑗 (𝑡 + 1), passes through the region occupied by the
obstacle. This situation can be resolved using the following
procedure:
1. Find the equation of the line segment that connects any
two consecutive points as shown in Fig.6 (b).
𝑦 = 𝑚𝑥 + 𝑐 (21)
Substitute 𝑦 as given by (21) into the circle equation
that describes the obstacle circumference:
(𝑥 − 𝑥𝑜𝑏𝑠 )2 + (𝑦 − 𝑦𝑜𝑏𝑠 )2 = (𝑟𝑂𝐵𝑆 )2 (22)
2. Solve for 𝑥 to find whether the line intersects with the
obstacle. The resulting equation will be quadratic and in
terms of only x, and its solution is given as
−𝑏±√𝑏 2 −4𝑎𝑐
𝑥1,2 = (23)
2𝑎
2
The exact behaviour depends on 𝑏 − 4𝑎𝑐 and is
determined by the three possible solutions:
(b)  if 𝑏 2 − 4𝑎𝑐 < 0, then 𝑥1,2 are complex. Here, the
Fig. 5. Infeasible path types: the point lie inside the path segment does not intersect with the obstacle and
obstacle. the path is a feasible solution.
 if 𝑏 2 − 4𝑎𝑐 = 0, then 𝑥1,2 has a single solution. The
𝑥̅𝑤𝑝𝑗 (𝑡+1) = 𝑥𝑤𝑝𝑗 (𝑡+1) + (𝑟𝑂𝐵𝑆 + 𝑑𝑠 − 𝑑) × cos 𝜗j (19)
path segment is tangential to the obstacle and the path
𝑦̅𝑤𝑝𝑗 (𝑡+1) = 𝑦𝑤𝑝𝑗 (𝑡+1) + (𝑟𝑂𝐵𝑆 + 𝑑𝑠 − 𝑑) × sin 𝜗j (20) is considered to be an infeasible solution.
 Finally, if 𝑏 2 − 4𝑎𝑐 > 0, then 𝑥1,2 are real, the path
where 𝑑𝑠 refers to the minimum safety distance (say 𝑑𝑠 =
segment intersects with the obstacle, and the path is an
0.2), 𝜗j is the angle between obstacle centre, and j-th is
infeasible solution.
candidate point 𝑤𝑝𝑗 (𝑡). Therefore, the red points in Fig. 5 These three cases are analysed in Example (2).
5
As the roots of the above equation are real numbers and
the quadratic term (𝑏 2 − 4𝑎𝑐) >0, the line intersects the
obstacle at two points.
Case 2: equation of the 2nd line,
𝑦2 − 𝑦1 𝑦 − 𝑦1
=
𝑥2 − 𝑥1 𝑥 − 𝑥1
5−3 𝑦−3
=
4−1 𝑥−1
𝑦−3
= 0.667
𝑥−1
𝑦 = 0.667𝑥 + 2.33 (Line equation)
(𝑥 − 3)2 + (𝑦 − 3)2 = 12 (circle equation)
Substituting the line equation into the circle equation,
yields
(𝑥 − 3)2 + (0.667𝑥 − 0.667)2 = 12
(a)
1.4448𝑥 2 − 6.8897𝑥 + 8.4448 = 0
Solving for x:
𝑥1 =2.3+0.4i
𝑥2 =2.3-0.4i
𝑏 2 − 4𝑎𝑐=6.88972 − (4 ∗ 1.4448 ∗ 8.4448) =-1.3362
As the roots of equation are complex numbers and
quadratic term (𝑏 2 − 4𝑎𝑐) < 0, the line does not intersect
the obstacle.
Case 3: equation of line (3):
𝑦2 − 𝑦1 𝑦 − 𝑦1
=
𝑥2 − 𝑥1 𝑥 − 𝑥1
4−4 𝑦−4 𝑦−4
= ⟹ =0
5−1 𝑥−1 𝑥−1
𝑦−4 =0⟹𝑦 =4 (Line equation)
Substituting this equation in the following circle
equation of the obstacle,
(𝑥 − 3)2 + (𝑦 − 3)2 = 12 (circle equation)
(b) gives
Fig. 6. Infeasible Path: The line segment passes through (𝑥 − 3)2 + (4 − 3)2 = 12
the obstacle. 𝑥 2 − 6𝑥 + 9 = 0
Solving for x, leads to 𝑥1,2 =3 → y = 4; one solution
means one intersection point, since
𝑏 2 − 4𝑎𝑐=(−6)2 − (4 × 1 × 9) =0
Example (2): Suppose 𝑜𝑏𝑠𝑃𝑜𝑠 = (3, 3), 𝑟𝑂𝐵𝑆 =1 As the equation has one solution with quadratic term
Case 1: 𝑤𝑝1 (𝑡) = (1,2), 𝑤𝑝1 (𝑡 + 1) = (3.5, 4.5) (𝑏 2 − 4𝑎𝑐) =0, the line is tangential to the obstacle
Case 2: 𝑤𝑝2 (𝑡) = (1,3), 𝑤𝑝2 (𝑡 + 1) = (4, 5)
Case 3: 𝑤𝑝3 (𝑡) = (1,4), 𝑤𝑝3 (𝑡 + 1) = (5, 4)
Check if these lines intersect with the obstacle or not.
The solutions are updated by ousting the candidate
Solution:
solutions outside the region of the obstacle according to the
Case 1: Equation of the 1st line following suggested rules (seen as green points in Fig. 6 (a)):
𝑦2 − 𝑦1 𝑦 − 𝑦1 4.5 − 2 𝑦 − 2 𝑥̅𝑤𝑝𝑗 (𝑡) = 𝑥𝑤𝑝𝑗 (𝑡) + (𝛿 ∗ 𝐷) × cos ∅𝑗 (24)
= ⟹ =
𝑥2 − 𝑥1 𝑥 − 𝑥1 3.5 − 1 𝑥 − 1 𝑦̅𝑤𝑝𝑗 (𝑡) = 𝑦𝑤𝑝𝑗 (𝑡) + (𝛿 ∗ 𝐷) × sin ∅𝑗 (25)
𝑦−2
∴ =1⟹𝑦=𝑥+1 (Line equation) where 𝛿 is a design parameter and 𝛿 ∈ [0, 1] , in our
𝑥−1
Substituting this equation in the following circle work it is chosen to be 0.6, and D is the distance between
equation that represents the obstacle, two consecutive points 𝑤𝑝𝑗 (𝑡 + 1) and 𝑤𝑝𝑗 (𝑡 ), ∅𝑗 as
(𝑥 − 3)2 + (𝑦 − 3)2 = 12 (circle equation) defined in Fig. 6 (b). The proposed rule is demonstrated
yields in Example (3).
(𝑥 − 3)2 + (𝑥 − 2)2 = 12
𝑥 2 − 5𝑥 + 6 = 0
Solving for x,
𝑥1 = 3 → 𝑦1 = 4 , intersection point 1 (3, 4)
𝑥2 = 2 → 𝑦1 = 3 , intersection point 2 (2, 3)
𝑏 2 − 4𝑎𝑐=(−5)2 − (4 × 1 × 6) =1 >0

6
Example 3: Suppose that the obstacle position 𝑜𝑏𝑠𝑃𝑜𝑠 = range Si, 𝑖 ∈ {1,2, . . ,12}. For example, with a(1) = a(2) =
(3, 3), radius of obstacle 𝑟𝑂𝐵𝑆 =1, and candidate point a(7) = logic “1”, this indicates that obstacles are detected
suggested by hybrid PSO-MFB Algorithm is 𝑤𝑝(𝑡 + 1) inside SR and in the angle range S1, S2, and S7 respectively,
= (4, 4), and the previous way point 𝑤𝑝(𝑡) = (1, 1). while a logic “0” in a certain a(i)s of Vs represents a free
Solution: Calculate the distance between 𝑤𝑝(𝑡 + 1) & space in the corresponding angle ranges Sis. To find Vs, for
𝑤𝑝(𝑡), and assume 𝛿 = 0.6 each obstacle located inside SR in a certain angle range, say
Si, draw the tangent lines to the expanded obstacle (red
𝐷 = √(𝑥𝑤𝑝(𝑡+1) − 𝑥𝑤𝑝(𝑡) )2 + (𝑦𝑤𝑝(𝑡+1) − 𝑦𝑤𝑝(𝑡) )2 circle in Fig. 8) to intersect at the mobile robot A, 𝑀𝑅𝑃𝑜𝑠 =
(𝑥𝑀𝑅 , 𝑦𝑀𝑅 ). See Fig. 8.
𝐷 = √(4 − 1)2 + (4 − 1)2 = 4.242
𝑦 −𝑦
∅= 180 + tan−1 𝑤𝑝 𝑝𝑤𝑝
𝑥𝑤𝑝 −𝑥𝑝𝑤𝑝
4−1
∅= 180 + tan−1 =180° + 45°
4−1
Using Equations (20) and (21),
𝑥̅𝑤𝑝𝑗 (𝑡+1) =𝑥𝑤𝑝(𝑡+1) + 0.6 × 𝐷 × cos ∅ =2.2
𝑦̅𝑤𝑝𝑗 (𝑡+1) =𝑦𝑤𝑝(𝑡+1) + 0.6 × 𝐷 × sin ∅ =2.2

5.3. Obstacle detection and Avoidance (ODA)


In the previous section, the infeasible candidate solutions
that might be generated by the proposed hybrid PSO-MFB
algorithm and the proposed methods to convert them into
feasible ones using the LS technique were discussed. In
addition, when a moving obstacle gets closer to the mobile
robot while the latter follows the feasible path generated by
the proposed hybrid PSO-MFB algorithm, or the mobile Fig.8. Angle between mobile robot and the obstacle.
robot itself gets closer to a static obstacle, it must instantly
react to avoid this obstacle, or a collision will occur. In this Suppose that the distance between the mobile robot A with
section, the sensors deployment and a proposed method for position 𝑀𝑅𝑃𝑜𝑠 = (𝑥𝑀𝑅 , 𝑦𝑀𝑅 ) and the centre of the obstacle
sensing obstacles to achieve obstacle detection is thus
B with position 𝑜𝑏𝑠𝐵𝑃𝑜𝑠 = (𝑥𝑜𝑏𝑠𝐵 , 𝑦𝑜𝑏𝑠𝐵 ) is Euclidean
presented, and a proposed method for avoiding these
distance 𝑑(𝑀𝑅𝑃𝑜𝑠 , 𝑜𝑏𝑠𝐵𝑃𝑜𝑠 ), or simply d as given by (1).
obstacles called the gap vector method is discussed.
Compute angles 𝜃1 and 𝜃2 between the hypotenuse d and
5.3.1. Obstacle detection (OD) Procedure the tangent lines of the obstacle B extant in a certain Si.
Sensing is accomplished by attaching twelve virtual Given 𝑀𝑅𝑃𝑜𝑠 = (𝑥𝑀𝑅 , 𝑦𝑀𝑅 ) and 𝑜𝑏𝑠𝐵𝑃𝑜𝑠 = (𝑥𝑜𝑏𝑠𝐵 , 𝑦𝑜𝑏𝑠𝐵 ),
sensors around the mobile robot. These are separated
equally, with each sensor covers an angle range of 30° and 𝜃𝑇 , which describes the angle between the mobile robot A
having a certain value of Sensing Range (SR), as shown in and the obstacle B, can be easily found. From the basic
Fig. 7. In our design, it is taken as SR=0.8 m. geometry of triangles
∵ 𝑟𝑂𝐵𝑆 ⊥ 𝑑𝑛 (Property of Tangents)
2 2 2
∴ 𝑑 = 𝑑𝑛 + 𝑟𝑂𝐵𝑆 (Pythagoras theorem)
𝑟𝑂𝐵𝑆
𝜃1 = 𝜃2 = sin−1 (26)
𝑑
𝜃𝑇𝑝1 = 𝜃𝑇 − 𝜃1 (27)
𝜃𝑇𝑝2 = 𝜃𝑇 + 𝜃1 (28)
Based on the above analysis, Vs is found by setting the
values of a(i)s, 𝑖 ∈ {1,2, . . ,12} in the Vs to logic “1” if the
corresponding angle range Si is occupied by static and/or
dynamic obstacles. This is realized when the angle
difference 𝜃𝑇𝑝2 − 𝜃𝑇𝑝1 for each obstacle lies in the angle
range Sis. An example for the obstacle detection procedure
using mobile robot path planning is depicted in Fig. 9; in
this case,
Fig.7. the layout of the mobile robot sensors.
Vs = [1 1 0 0 0 0 1 1 1 0 0 0]
The obstacles are detected using a Sensory Vector (Vs)
The obstacles obs1, obs4, and obs3 lie inside SR, and
with length equal to the number of deployed sensors:
obs1 has an angle difference of 𝜃𝑇𝑝2 − 𝜃𝑇𝑝1 that lies in the
𝑉𝑠 = [𝑎(1) … 𝑎(𝑖) … 𝑎(12)] angle range ranges S1 and S2, obs3 has its angle difference
where a(i), 𝑖 ∈ {1,2, . . ,12} are variables with binary values, which lies in the angle ranges S8 and S9. While obs4 has its
and Vs reflects the status of an obstacle extant in an angle own angle difference inside S7 only.

7
Algorithm 2: Obstacle Avoidance (OA)
Step 1: Finding the distance between mobile robot and
each obstacle within SR.
for i=1:m
𝑑𝑖 = 𝑑(𝑀𝑅𝑃𝑜𝑠 , 𝑜𝑏𝑠_𝑖𝑃𝑜𝑠 )
end
where 𝑀𝑅𝑃𝑜𝑠 = (𝑥𝑀𝑅 , 𝑦𝑀𝑅 ) , 𝑜𝑏𝑠_𝑖𝑃𝑜𝑠 = (𝑥𝑜𝑏𝑠_𝑖 , 𝑦𝑜𝑏𝑠_𝑖 ) ,
m is the number of obstacles existing within SR.
Step 2: The shortest distance (dsh) is given as,
dsh = min ( 𝑑1 , … , 𝑑𝑚 )
Step 3: Given 𝑟𝑀𝑅 , 𝑟𝑂𝐵𝑆 , and SR,
c = 𝑟𝑀𝑅 +𝑟𝑂𝐵𝑆 +SR;
j = index of the “zeros” in Vg
Step 4: Calculate the new allowable mobile robot
positions, 𝑔𝑖𝑃𝑜𝑠 = (𝑥𝑔𝑖 , 𝑦𝑔𝑖 )
for i = j
𝑐
If )dsh < ( then
2
Fig. 9. Obstacle detection of mobile robot. 𝑥𝑔𝑖 = 𝑥𝑀𝑅 + 1.5 × 𝑑𝑠ℎ × cos 𝜓𝑖
𝑦𝑔𝑖 = 𝑦𝑀𝑅 + 1.5 × 𝑑𝑠ℎ × sin 𝜓𝑖
5.3.2. Obstacle Avoidance (OA) Algorithm Else
𝑥𝑔𝑖 = 𝑥𝑀𝑅 + 𝑑𝑠ℎ × cos 𝜓𝑖
Obstacles avoidance is achieved by using a gap vector 𝑦𝑔𝑖 = 𝑦𝑀𝑅 + 𝑑𝑠ℎ × sin 𝜓𝑖
(Vg) concept, which is a binary vector where logic “1” 𝑑𝑔𝑖 = 𝑑(𝑔𝑖𝑃𝑜𝑠 , 𝐺𝑃𝑃𝑜𝑠 ) using (1), 𝑔𝑖𝑃𝑜𝑠 = (𝑥𝑔𝑖 , 𝑦𝑔𝑖 ) and
represents an occupancy gap and logic “0” represents a free 𝐺𝑃𝑃𝑜𝑠 = (𝑥𝐺𝑃 , 𝑦𝐺𝑃 )
gap. The length of the gap vector Vg is equal to the length j←new j
of Vs. The mobile robot chooses the gap that gives the end
shortest path moving towards GP. This Vg can be derived Step4: The best allowable position 𝑔𝑗𝑃𝑜𝑠 = (𝑥𝑔𝑗 , 𝑦𝑔𝑗 ) is
from the sensing vector Vs as follows: each consecutive chosen by OA that has the smallest 𝑑(𝑔𝑗𝑃𝑜𝑠 , 𝐺𝑃𝑃𝑜𝑠 ).
zero in Vs represents a free gap (i.e., logic 0 in Vg);
otherwise it is an occupied gap (i.e., logic 1 in Vg). This 0.8, and 𝑟𝑀𝑅 = 𝑟𝑂𝐵𝑆 = 0.3. The Euclidean distance between
process is equivalent to an OR gate, as shown in Table 1.
the mobile robot and each obstacle can be calculated
as 𝑑(𝑀𝑅𝑃𝑜𝑠 , 𝑜𝑏𝑠1) = 0.82 , 𝑑(𝑀𝑅𝑃𝑜𝑠 , 𝑜𝑏𝑠3) = 0.73 , and
Table 1 Gap Vector Construction
𝑑(𝑀𝑅𝑃𝑜𝑠 , 𝑜𝑏𝑠4) = 0.7. Therefore, dsh = 0.7. It is obvious
Vs(i) Vs(i+1) Vg(i)= Vs(i) ˅ Vs(i+1) that all Euclidean distances between the mobile robot and
0 0 0 𝑐
the obstacles are larger than or equal to . Specifically, dsh ≥
0 1 1 2
𝑐
1 0 1 where c = 0.3+0.3+0.8=1.4. Thus, the new allowable
2
1 1 1 mobile robot positions at the available free gaps can be
where i is the sensor index. From the previous example (see calculated according to Algorithm 2; these are listed in
Fig. 12), the above procedure yields: Table (2).
Vs = [1 1 0 0 0 0 1 1 1 0 0 0]
Vg = [1 1 0 0 0 1 1 1 1 0 0 1]
After constructing Vg, several free gaps (permissible
suggested mobile robot positions) are produced (see Fig.
10). The angle of each available free gap 𝜓𝑖 is simply 𝜓𝑗 =
𝑗 ∗ 30, where 𝑗 is the index of the “0” in Vg. The next step
is to determine the next position for the mobile robot (best
free gap gi in Vg), through which the mobile robot will
evade the obstacles and continue moving toward GP using
Algorithm 1. Algorithm 2 describes the OA steps with
details.
Fig. 10 offers an illustrative example. There are five
available gaps in Vg, labelled g3, g4, g5, g10, and g11.
Assume that all following positions and radii are in meters
and that 𝑀𝑅𝑃𝑜𝑠 = (3, 3), 𝑜𝑏𝑠1𝑃𝑜𝑠 = (3.71, 3.41), 𝑜𝑏𝑠3𝑃𝑜𝑠 =
(2.31, 2.75), 𝑜𝑏𝑠4𝑃𝑜𝑠 = (2.34, 2.76), 𝐺𝑃𝑃𝑜𝑠 = (10, 10), SR =
Fig. 10. Available free gaps.
8
Table 2 Calculations of the allowable mobile robot 6. Simulation Results
positions Three case studies were conducted. The first case
Angle Suggested study included simulations of path planning by the mobile
Gap Distance to
𝜓𝑖 (deg) position robot in a static environment, while the second case study
index GP
(x, y) presented the simulation results in a dynamic environment,
g3 90° (3, 3.7) 9.4175 and the final case study contained a comparison with
g4 120° (2.65, 3.6) 9.7459 previous work.
g5 150° (2.39, 3.35) 10.1062
g10 300° (3.35, 2.39) 10.1062 6.1. Path Planning in a Static Environment
g11 330° (3.6, 2.75) 9.6707 In this case study, an environments with static
Thus, the new allowable mobile robot position obstacles as utilised to demonstrate the effectiveness of the
𝑀𝑅_𝑁𝑒𝑤𝑃𝑜𝑠 = (𝑥𝑀𝑅_𝑁𝑒𝑤 , 𝑦𝑀𝑅_𝑁𝑒𝑤 ) will be at 𝑔3𝑃𝑜𝑠 = (𝑥𝑔3 , proposed path planning algorithm for the mobile robot.
The static environment consisted of five static
𝑦𝑔3 ) and is given as
obstacles of different sizes. The starting point was 𝑆𝑃𝑃𝑜𝑠 =
𝑥𝑀𝑅_𝑁𝑒𝑤 = 𝑥𝑔3 = 3 + 0.7 × cos(90) =3
(0, 0), the goal point was 𝐺𝑃𝑃𝑜𝑠 = (10, 10), and the radius of
𝑦𝑀𝑅_𝑁𝑒𝑤 = 𝑦𝑔3 = 3 + 0.7 × sin(90) =3.7 the mobile robot was 𝑟𝑀𝑅 = 0.5 (m). The proposed
The mobile robot will evade the obstacles through gap Algorithm 3 was applied and Algorithm 1 was also applied
g3, since this has shortest distance with GP, dg3= 9.4175 m, as a point generation tool for the path planning algorithm in
as in Fig 10. 3. The settings for this environment are listed in Table (3),
and the optimized fitness function is defined as in (5).
5.4. Proposed Complete Path planning Algorithm
Table 3 Static Environment Settings
In this subsection, the complete path planning
algorithm for a mobile robot with an omnidirectional Obstacle no. Radius(𝑟𝑂𝐵𝑆 ) Position (𝑂𝑏𝑠𝑃𝑜𝑠 )
mobile robot is presented in static and dynamic 1 0.5 (2, 2.3)
environments. The first step to planning a path is to initialise 2 0.8 (5, 4)
the environment settings (SP, GP, 𝑂𝑏𝑠𝑃𝑜𝑠 , SR) and the
parameter settings of the proposed PSO-MFB optimisation 3 1.2 (8, 2)
algorithm. The current position of the mobile robot (𝑀𝑅𝑃𝑜𝑠 ) 4 1 (7.7, 7)
is stored in a path vector called path. The mobile robot 5 0.7 (3, 8.3)
continues gathering information about the surrounding
environment via the deployed sensors to detect any The best path (higher fitness of (5) with maximum
obstacles while it navigates toward its GP. The overall smoothness and the shortest distance was obtained as equal
process is presented in Algorithm 3. to 14.7785 m as shown in Fig. 11, passing through points
(2.7467, 1.5316), (2.9402, 1.9507), (3.8288, 4.7084),
(6.6503, 8.1422), and (6.8160, 8.2288).
Algorithm 3: Path Planning Algorithm- Static and Dynamic
Environments

Step 1: Initialize: 𝑆𝑃𝑃𝑜𝑠 , 𝐺𝑃𝑃𝑜𝑠 , 𝑂𝑏𝑠𝑃𝑜𝑠 , SR=0.8, 𝑟𝑀𝑅 ,


𝑟𝑂𝐵𝑆 , PSO parameters: population size of (n)
particle, 𝑟1 , 𝑟2 , 𝑐1 , 𝑐2 , MFB parameters:
population size of (m) bat, frequency 𝑓𝑖 , pulse rate
𝑟𝑖 and the loudness 𝐴𝑖 .
Step 2: 𝑀𝑅𝑃𝑜𝑠 =𝑆𝑃𝑃𝑜𝑠
Step 3: path ← 𝑀𝑅𝑃𝑜𝑠
Step 4: while (𝑀𝑅𝑃𝑜𝑠 ≠ , 𝐺𝑃𝑃𝑜𝑠 )
for dynamic
𝑂𝑏𝑠𝑃𝑜𝑠 ← 𝑛𝑒𝑤 𝑂𝑏𝑠𝑃𝑜𝑠 (𝐸𝑞. (6 − 9)) { }
obstacles only
collect data from virtual twelve sensors
if d(𝑀𝑅𝑃𝑜𝑠 , 𝑂𝑏𝑠𝑃𝑜𝑠 )≤ c then
switch to (Algorithm 2)
else Fig. 11. The best path achieved using Algorithm 3.
navigate toward GP using (Algorithm 1)
end
6.2. Path planning in a Dynamic Environment
Go to Step 3
In the second case study, the proposed path planning
end It should be emphasized that the process of the path
algorithm 3 was tested under a dynamic environment
planning problem in a dynamic environment is similar to consisted of six dynamic obstacles; the starting point was
that in static environment except that the movement of the 𝑆𝑃𝑃𝑜𝑠 = (1, 1), the goal point was 𝐺𝑃𝑃𝑜𝑠 = (10, 10), and the
dynamic obstacles in Eq. (6-9) are considered. radius of the mobile robot was 𝑟𝑀𝑅 = 0.3 m. In this
environment, some of the obstacles moved linearly and
others moved in a circular trajectory. The positions,

9
velocities, and directions of the dynamic obstacles are listed 6.3. Comparison with Other Path Planning Algorithms
in Tables (4) and (5).
In this subsection, the performance of the proposed
path planning algorithm using a hybrid PSO-MFB
Table 4 Settings for the linear moving obstacles algorithm is compared with the works of [34–37]. The first
Obstacle no. Center Radius(𝑟𝑂𝐵𝑆 ) 𝑣𝑜𝑏𝑠 (m/s) 𝜑𝑜𝑏𝑠 (deg) case-study involved an environment also used in these
works, which consists of four static obstacles. The
1 (7.5,2.1) 0.3 0.16 70° optimisation techniques used to obtain the best path were
2 (5.1,8.3) 0.3 0.13 0° the Direct Artificial Bee Colony (DABC) and Minimum
Angle Artificial Bee Colony (MAABC) algorithms in [34,
Table 5 Settings for the circular moving obstacles
35], while the work in [36] included GA and Bacterial
Obstacle no. Initial Circle Centre Circle Radius Colony (BC) algorithms. The proposed Hybrid PSO-MFB
Position (𝑥𝑐 , 𝑦𝑐 ) (𝑟𝑐 ) algorithm was applied on the same environment as shown
3 (6,5) (5, 5) 1 in Fig. 13.
4 (4,5) (5, 5) 1
5 (5,7.5) (5, 5) 2.5
6 (5,2.5) (5, 5) 2.5

The mobile robot navigates from its SP toward its GP


using the proposed Algorithm 3 as shown in Fig.12 (a) until
it encounters an obstacle within its sensing region as
depicted in Fig. 12 (b-e). At that time, the mobile robot
triggers Algorithm 2 to evade the obstacles and change its
original path, using the proposed new collision-free path
toward GP. The mobile robot continues its motion using
Algorithm 3 until it reaches GP. The best collision-free
path obtained was 13.6696 m, as shown in Fig. 12(f).
Fig. 13. The best path achieved using Algorithm 3.

The best path obtained using the proposed Hybrid


PSO-MFB Algorithm was 14.3255 m, compared with
14.3625 m using DABC, 14.3371 m using MAABC,
14.5095 m using GA, and 14.3802 m using BC. The
comparison with these works is illustrated in Table (6). It is
worth mentioning that the environment size in [36] was
100m x 100m, and that this environment was scaled to
10m x 10m by dividing the results of GA and BC algorithms
by a factor of 10 to make a fair comparison between the
(a) (b) proposed PSO-MFB algorithm and the GA and BC ones.
Table 6 Comparison Results for the first case study with ten
experiments

Optimization Max. Min. Mean Standard


Technique Fitness Fitness Fitness deviation
Hybrid
0.06980 0.06968 0.06977 0.0305
PSO-MFB
(c) (d) DABC 0.06962 0.06859 0.06934 0.0002
MAABC 0.06974 0.06865 0.06934 0.0079
GA 0.06892 0.06448 0.06778 0.0148
BC 0.06954 0.06908 0.06937 0.0014
Based on the above results, it is obvious that the
Hybrid PSO-MFB algorithm outperforms the other
optimisation techniques listed in Table (6). The last column
in Table (6) is the standard deviation for each algorithm
(e) (f) used in the comparison; this is a measure that tests the
Fig. 12 The best path achieved with Algorithm 3 for the deviation of the results from different experiments executed
above dynamic environment. under the same algorithm. Even with the large value of
standard deviation of 0.0305 for the proposed hybrid PSO-
MFB algorithm, this algorithm provided the best path,

10
which can be verified by the values of the mean, minimum, References
and maximum fitness values.
1 Tzou, J.H., Su, K.L.: ‘The development of the
restaurant service mobile robot with a laser
positioning system’Proc. 27th Chinese Control
Conf. CCC, 2008, pp. 662–666.
2 Tzafestas, S.G.: ‘Introduction to Mobile Robot
Control’ (Elsevier, 2014)
3 Garg, V., Tiwari, R.: ‘A Chronological review of
the approaches used for Multi Robot Navigation’Int.
Conf. Soft Comput. Tech. Eng. Technol., 2016, pp.
1–8.
4 Keil, J.M.: ‘Decomposing a Polygon into Simpler
Components’SIAM J. Comput., 1985, 14, (4), pp.
799–817.
5 Mohanty, P., Parhi, D.: ‘Controlling the Motion of
an Autonomous Mobile Robot Using Various
Fig. 14. The best path obtained using Algorithm 3. Techniques: a Review’J. Adv. Mech. Eng., 2013, pp.
24–39.

The environment in [37], which involved six static 6 Khatib, O.: ‘Real-Time Obstacle Avoidance for
obstacles, was used in the second case study for comparison. Manipulators and Mobile Robots.’Int. J. Rob. Res.,
The optimisation technique used to obtain the shortest path 1986, 5, (1), pp. 90–98.
was a standard ABC in [37], and DACB, and MAAB in [39 7 Mac, T.T., Copot, C., Tran, D.T., De Keyser, R.:
and 40]. The proposed Hybrid PSO-MFB algorithm was ‘Heuristic approaches in robot path planning: A
applied to the same environment, as shown in Fig. 14. The survey’Rob. Auton. Syst., 2016, 86, pp. 13–28.
best path obtained using the proposed Hybrid PSO-MFB
algorithm was 14.6384 m, compared to 14.7422 m and 8 Deepak, B.B.V.L., Parhi, D.R., Raju, B.M.V.A.:
14.7163 m using the DABC, MAABC algorithms, ‘Advance Particle Swarm Optimization-Based
respectively. The best path using the ABC algorithm in [37] Navigational Controller For Mobile Robot’Arab. J.
was 14.8821 m (after scaling by 10). The comparison Sci. Eng., 2014, 39, (8), pp. 6477–6487.
results show that the proposed Hybrid PSO-MFB Algorithm 9 Nasrollahy, A.Z., Javadi, H.H.S.: ‘Using Particle
outperforms ABC, DABC, and MAABC optimisation Swarm Optimization for Robot Path Planning in
algorithms in terms of finding the shortest distance. Dynamic Environments with Moving Obstacles and
Target’2009 Third UKSim Eur. Symp. Comput.
Model. Simul., 2009, (3), pp. 60–65.
7. Conclusions 10 Mohanty, P.K., Parhi, D.R.: ‘Cuckoo search
This paper proposed a path planning algorithm for algorithm for the mobile robot navigation’, in ‘In
mobile robots using a Hybrid PSO-MFB swarm International Conference on Swarm, Evolutionary,
optimisation algorithm integrated with Local Search (LS) and Memetic Computing’ (2013), pp. 527–536
and obstacle detection and avoidance (ODA) strategies. The 11 Liang, X., Li, L., Wu, J., Chen, H.: ‘Mobile robot
size of the mobile robot was taken into account by enlarging path planning based on adaptive bacterial foraging
the size of the obstacles in the free-space environment. The algorithm’J. Cent. South Univ., 2013, 20, (12), pp.
algorithm was tested in static and dynamic environments 3391–3400.
with different scenarios to minimise a multi-objective
measure of path length and minimum angles. In the context 12 Das, P.K., Pradhan, S.K., Patro, S.N., Balabantaray,
of the simulation results, it can be concluded that the B.K.: ‘Artificial Immune System Based Path
proposed hybrid PSO-MFB algorithm proved its efficacy in Planning of Mobile Robot’Soft Comput. Tech. Vis.
avoiding static and dynamic obstacles in a simple manner Sci., 2012, 395, pp. 195–207.
and reduced time. The simulation results demonstrated that 13 Dao, T.K., Pan, T.S., Pan, J.S.: ‘A multi-objective
the proposed path planning algorithm offers significant optimal mobile robot path planning based on whale
advances over current state-of-the-art options. In future optimization algorithm’, in ‘IEEE 13th
work, consideration of the H/W implementation of the International Conference on Signal Processing
proposed Hybrid PSO-MFB algorithm-based path planning (ICSP)’, Chengdu, China , November 2016, pp.
on real mobile platform should be made. Another possible 337–342
future direction is implementing the proposed path planning
algorithm in a dynamic environment with a moving goal. 14 Samadi, M., Othman, M.F.: ‘Global Path Planning
for Autonomous Mobile Robot Using Genetic
Algorithm’, in ‘International IEEE Conference on
Signal-Image Technology & Internet-Based

11
Systems’, Marrakesh, Morrocco, Nomveber 2009 Wheeled Mobile Robot’Int. J. Fuzzy Syst., 2016, 18,
pp. 726–730 (6), pp. 1080–1091.
15 Huang, H.-C., Tsai, C.-C., Lin, S.-C.: ‘SoPC-based 27 Bakdi, A., Hentout, A., Boutami, H., Maoudj, A.,
parallel elite genetic algorithm for global path Hachour, O., Bouzouia, B.: ‘Optimal path planning
planning of an autonomous omnidirectional mobile and execution for mobile robots using genetic
robot’, in ‘IEEE International Conference on algorithm and adaptive fuzzy-logic control’Rob.
Systems, Man and Cybernetics’, San Antonio, TX, Auton. Syst., 2017, 89, pp. 95–109.
USA, October 2009, pp. 2028–2033
28 Emam, M., Fakharian, A.: ‘Path following of an
16 Kang, B.-Y., Lee, J., Kim, D.-W.: ‘Fast genetic omni-directional four-wheeled mobile robot’, in
algorithm for robot path planning’Electron. Lett., ‘2016 Artificial Intelligence and Robotics,
2013, 49, (23), pp. 1449–1451. IRANOPEN 2016’ (2016), pp. 36–41
17 Yang, S.X., Meng, M.: ‘An efficient neural network 29 Kim, H., Kim, B.K.: ‘Online minimum-energy
approach to dynamic robot motion trajectory planning and control on a straight-line
planning.’Neural networks :, 2000, 13, (2), pp. path for three-wheeled omnidirectional mobile
143–148. robots’IEEE Trans. Ind. Electron., 2014, 61, (9), pp.
4771–4779.
18 Parhi, D.R., Singh, M.K.: ‘Real-time navigational
control of mobile robots using an artificial neural 30 Yang, J., Qu, Z., Wang, J., Conrad, K.:
network’Proc. Inst. Mech. Eng. Part C J. Mech. ‘Comparison of optimal solutions to real-time path
Eng. Sci., 2009, 223, (7), pp. 1713–1725. planning for a mobile vehicle’IEEE Trans. Syst.
Man, Cybern. Part ASystems Humans, 2010, 40, (4),
19 Singh, M.K., Parhi, D.R.: ‘Path optimisation of a
pp. 721–731.
mobile robot using an artificial neural network
controller’Int. J. Syst. Sci., 2011, 42, (1), pp. 107– 31 Eberhart, R.C., Kennedy, J., Eberhart, R.C.:
120. ‘Particle swarm optimization’Proc. IEEE Int. Conf.
Neural Networks IV, pages, 1995, 4, pp. 1942–1948.
20 Wang, X., Hou, Z., Lv, F., Tan, M., Wang, Y.: ‘A
Target-Reaching Controller for Mobile Robots 32 Yang, X.-S., Cui, Z., Xiao, R., Gandomi, A.H.,
Using Spiking Neural Networks’, in ‘Proc. 19th Int. Karamanoglu, M.: ‘Swarm Intelligence and Bio-
Conf. Neural Inf. Process’ (Springer-Verlag Berlin, Inspired Computation Theory and Applications’
2012), pp. 652–659 (2013)
21 Davis, Divya, and P.S.: ‘Implementation of fuzzy- 33 Ibraheem, Ibraheem Kasim, F.H.A.: ‘Autonomous
based robotic path planning’, in ‘Proceedings of the Mobile Robot Navigation and Obstacle Avoidance
2nd International Conference on Computer and in Dynamic Environment using Modified Bat
Communication Technologies. Advances in Swarm Optimization’, in ‘1st International IEEE
Intelligent Systems and Computing’, (2016), pp. Conference on Recent Trends of Engineering
375–383 Sciences and Sustainability’, Baghdad, Iraq, May
2017, pp. 3631–3635
22 Pandey, A., Parhi, D.R.: ‘Optimum path planning
of mobile robot in unknown static and dynamic 34 Nizar Hadi Abbas, F.M.A.: ‘Path Planning of an
environments using Fuzzy-Wind Driven Autonomous Mobile Robot using Directed
Optimization algorithm’Def. Technol., 2017, 13, Artificial Bee Colony Algorithm’Int. J. Comput.
(1), pp. 47–58. Appl., 2014, 96, (11), pp. 11–16.
23 Parhi, D.R., Mohanty, P.K.: ‘IWO-based adaptive 35 Nizar Hadi Abbas, F.M.A.: ‘Path Planning of an
neuro-fuzzy controller for mobile robot navigation AutonomousMobile Robot using Enhanced
in cluttered environments’Int. J. Adv. Manuf. Bacterial Foraging Optimization Algorithm’Al-
Technol., 2016, 83, (9–12), pp. 1607–1625. Khwarizmi Eng. J., 2016, 12, (4), pp. 26–35.
24 Castillo, O., Melin, P., Valdez, F., Martínez- 36 Cezar A. Sierakowski, L. dos S.C.: ‘Study Of Two
Marroquín, R.: ‘Optimization of Fuzzy Logic Swarm Intelligence Techniques For Path Planning
Controllers for Robotic Autonomous Systems with Of Mobile Robots’, in ‘Proceedings of 16th
PSO and ACO’Handb. Swarm Intell. Adapt. Learn. triennial world congress of the IFAC ’, (2005), pp.
Optim., 2011, 8, pp. 389–417. 1–6
25 Teatro, T.A. V., Eklund, J.M., Milman, R.: 37 Lin, J., Huang, L.: ‘Chaotic bee swarm optimization
‘Nonlinear Model Predictive Control for algorithm for path planning of mobile robots’, in
Omnidirectional Robot Motion Planning and ‘Proceedings of the 10th WSEAS International
Tracking With Avoidance of Moving Conference on Evolutionary Computing’, Prague,
Obstacles’Can. J. Electr. Comput. Eng., 2014, 37, Czech Republic, March, 2009, pp. 84–89.
(3), pp. 151–156.
26 Chen, W.J., Jhong, B.G., Chen, M.Y.: ‘Design of
Path Planning and Obstacle Avoidance for a

12

View publication stats

You might also like