Autonomous navigation and obstacle avoidance of an omnidirectional mobile robot using swarm optimization and sensors deployment

The present work deals with the design of intelligent path planning algorithms for a mobile robot in static and dynamic environments based on swarm intelligence optimization. Two modifications are suggested to improve the searching process of the standard bat algorithm with the result of two novel algorithms. The first algorithm is a Modified Frequency Bat algorithm, and the second is a hybridization between the Particle Swarm Optimization with the Modified Frequency Bat algorithm, namely, the Hybrid Particle Swarm Optimization-Modified Frequency Bat algorithm. Both Modified Frequency Bat and Hybrid Particle Swarm Optimization-Modified Frequency Bat algorithms have been integrated with a proposed technique for obstacle detection and avoidance and are applied to different static and dynamic environments using free-space modeling. Moreover, a new procedure is proposed to convert the infeasible solutions suggested via path the proposed swarm-inspired optimization-based path planning algorithm into feasible ones. The simulations are run in MATLAB environment to test the validation of the suggested algorithms. They have shown that the proposed path planning algorithms result in superior performance by finding the shortest and smoothest collision-free path under various static and dynamic scenarios.


Introduction
Path planning is an essential topic in the robotics field due to the popularity of mobile robots in different applications such as military, industry, libraries, and security. It determines how safely the mobile robot reaches its goal position (GP) taken into account several criteria such as shortest distance and minimum energy. Several methodologies have been suggested to solve path planning problem, among them the classical approaches such as, mathematical programming, 1 cell decomposition, 2 roadmap approach, 3 and potential fields. 4 The most downsides of these techniques are their inefficiency due to the high computational cost and inaccuracy due to the trapping in the local minimum.
Using different heuristic techniques such as fuzzy logic system and swarm optimization algorithms, one can overcome the drawbacks of the above algorithms. A significant amount of research has been devoted to solving the path planning problem in recent years. Among them, the work of Han et al. 5 where the standard ant colony optimization (ACO) is combined with the influence value of the critical obstacles as the amount of initial pheromone on each arc to encourage ants to move in a path closest to the direct line that connects the start position (SP) and GP. Modified ACO considering the age of the ants has been exploited in the path planning of an omnidirectional mobile robot in static grid environments as presented in the work of Ibraheem and Ajeil. 6 The enhancement of the ACO calculations to accomplish effective search skills of navigation algorithms in complex environments for mobile robots has been introduced in the work of Dai et al. 7 The improved ACO makes use of the characteristics of the MAX-MIN ant system and the A* technique. Mingle and Xiaoming 8 proposed an improved ACO-based path planning algorithm, namely, chaotic ACO, using the chaos which improves the global search capability. Moreover, particle swarm optimization (PSO)-based path planning algorithm has been demonstrated in dynamic environments as presented in the studies of Rath and Deepak, 9 Badmos et al., 10 and Adamu et al., 11 whereas multi-objective PSO-based different application are presented in the studies of Zhang et al. and Song et al. [12][13][14][15] Chołodowicz and Figurowski 16 demonstrated the optimization problem in dynamic and static environments, then a smooth path based on cubic splines is generated through interpolating the optimization solutions. To balance between global search and local search (LS), Tang et al. 17 hybridized nonlinear time-varying PSO with ranking-based self-adaptive differential evolution and applied the proposed method for mobile robot global path planning. The path planning offered in the study of Han and Seo 18 is achieved in two steps; in the initial step, an encompassing point set is produced to encircle the obstacle, at that point a preliminary possible path utilizing Dijkstra calculations is generated. In the subsequent step, a path improvement technique relying on the former and latter points has been carried out, in which each point in the path is relocated by two points on either side. Mac et al. 19 introduced a hierarchical approach to obtain the shortest and smoothest path based on the PSO algorithm in a cluttered environment. Genetic algorithm (GA) has been widely applied in the path planning problem [20][21][22][23] in different types of environments; wherein Liu et al. 23 proposed a tailored GA to plan an optimal path for the multi-goal visiting task. The comparison between two metaheuristic algorithms, that is, artificial immune system and ACO, is presented in the work of Rebeiro et al. 24 to tackle the problem of mobile robot path planning. The best path of the mobile robot studied in Contreras-Cruz et al. 25 is found in two sequential stages; artificial bee colony is implemented in the first stage to find an initial feasible path, then a refinement of this path is accomplished by the evolutionary algorithm. Frog leaping behavior inspired algorithm is applied by Arshi et al. 26 to conduct multi-objective path planning. Modified simulated annealing is implemented as a path planner in small UAVs in the work of Behnck et al. 27 Path planning based on hybridization between different swarm optimization algorithms using multi-objective measures has been studied by Ajeil et al. 28 Básaca-Preciado et al. 29 proposed a highaccuracy localization based on dynamic triangulation, where a shorter and smoother trajectory for Pioneer 3-AT mobile robot is obtained. Sergiyenko et al. [30][31][32][33] proposed a method using fuzzy logic to share information among multirobot group to increase the overall movement speed for all robots in an area with high density of obstacles. Finally, multi-objective evolutionary algorithm, memetic algorithms, and intelligent water drop have been introduced to find the best path for the mobile robot in the studies of Xue and Sun, 34 Zhu et al., 35 and Salmanpour et al., 36 respectively. It should be noted that mobile robot navigation including path planning can be regarded as a high-level motion planning task through which the mobile obtains data and reacts to its surroundings. This layer is built on the motion control lower-level layer, which controls the actuation of the mobile robot as commanded by the upper layer. Many linear and nonlinear control techniques are available for the design of the motion control layer. [37][38][39][40][41][42][43] Motivation Some of the limitations of previous works are, the previous studies try to adopt an objective function like the shortest and/ or smoothest path in a static or dynamic environment without considering robot size into account. Moreover, grid-based environment modeling suffers from inflexibility in dynamic environments and space wastage. Motivated by the pros and cons of the aforementioned studies, this article presents a collision-free shortest path planning algorithm considering the obstacle size in the path planning algorithm and fits in dynamic and static environments, where the considered environments are modeled in free-space modeling technique.

Article contribution
This research proposes a new path planner for an omnidirectional mobile robot where its structure consists of three modules to plan a safe, feasible, and optimal path for a mobile robot in dynamic and static environments. These modules are: To the best of our knowledge, no work has been found in the literature that solves the problem of the mobile robot path planning using the claimed modified swarm optimization techniques with integrated ODA procedures.
The current research is organized as follows: The second section presents the environment modeling. The third section presents the objective measures considered in this article. The proposed modified swarm optimization techniques and swarm-based path planning algorithms are introduced in the fourth section. In the fifth section, the simulation results are introduced to check the validity of the path planning problem. Finally, the conclusions and recommendations for future works are presented in the sixth section.

Environment modeling
The basic requirements to find the optimal path for a mobile robot are illustrated in Figure 1. It is apparent that to proceed in the optimum path planning, the first step is to establish the environment model. The mobile robot's workspace is represented as a 2D Cartesian coordinates (x, y). The origin of the environment is in the lower left corner (0, 0), Where the mobile robot is located at the SP and needs to arrive at its GP safely without colliding with static and/or dynamic circular obstacles (with radius r Oobs ) exist in the environment. The actual size of the mobile robot r MR ð Þ is considered by adding it to the size of the obstacle to get an obstacle with new size r obs ð Þ. For a dynamic environment, suppose that the obstacles move linearly at constant speed as v obs ð Þ and direction ' obs ð Þ according to the following relationship where ' obs is the angle of the linear motion.

Optimization criteria
The main purpose of the mobile robot path planning is searching for an optimal/near-optimal path via satisfying some criteria such as: In the field of mobile robot navigation, we always seek for the "Shortest Distance" which indicates  decreasing the length of the track from the SP to GP, the objective function used for this purpose is as follows The point wp j t ð Þ will be chosen as the candidate point provided that it has the shortest distance to the GP. Given a set of mid-points wp j 2 ð Þ . . . wp j N À 1 ð Þ produced by the proposed swarm-inspired optimization algorithm, the sum of the distances between these points is called the shortest path length (SPL) and given by where wpð1Þ is the SP while wp N ð Þ is the GP, j is the best solution index, and d t is given as It implies reducing the angle difference in the directed segments (target-present point and candidate points-present point), and is given by where The total weighted sum multi-objective optimization is given by where w 1 and w 2 are weighing coefficients for the aforementioned performance indices. They must ensure that The total fitness function is given by where is a small number (i.e. E ¼ 0:0001).

Main results
The proposed swarm optimization and path planning algorithms are presented and investigated in this section.

Proposed swarm optimization algorithms
In this section, we present two proposed swarm optimization algorithms; the first is the MFB, which is a modification from the standard bat algorithm (BA), while the second one is the Hybridized PSO-MFB swarm optimization algorithm.
MFB swarm optimization algorithm. BA is a bio-motivated strategy authored in the work of Yang et al. 45 It depends on the echolocation or biosonar attributes of the microbat. Echolocation is a basic component of bat manner, that is, the bats produce sound pulse and hearken the echoes reflecting from the obstacle while flying. The following introduces the modified BA by controlling the frequency of the individual bats.
(1) Bats movement The position update of bats has been modified as where the parameter b i is a random number that increases through time for every individual bat and producing lowfrequency pulses at the beginning periods of the searching task. These frequency pulses increase through time to enhance the global hunting convergence, 46 r is a random number (0,1), t is iteration index, r ¼ 0.01 (in our work), z Ã is the current best position solution, obtained by comparing all m competing solutions. For exploitation phase, when a point is nominated among the present best points, a new point is produced for every individual bat locally using a random walk where s is a weight factor used to adjust the step size, A(t) is the average loudness of all the bats at time step t, and E is a random number within [À1, 1].
(2) Loudness and pulse emission The rate of pulse emission r i and loudness A i are changed through iterations. Typically, the loudness reduced when a bat finds its prey, while the pulse emission rate rises according to where 0 < a < 1 and g > 0 are design parameters. Figure 2 shows the flowchart of the MFB algorithm.
Hybrid PSO-MFB swarm optimization algorithm. Hybrid algorithms have been improved by merging two or more algorithms to develop or enhance total search performance by using the benefits of single algorithms for the common good. 47 A hybridization between PSO and MFB algorithms has been developed to produce a new algorithm called Hybrid PSO-MFB algorithm. In the suggested Hybrid PSO-MFB technique, the auto-zooming capability include variations of loudness, A i ; and pulse emission rates, r i ; for the MFB optimization algorithm were adapted using PSO algorithm to balance between the exploration and exploitation processes of the swarm optimization. Moreover, their values are application-specific and thus it is hard to define their nominal values. PSO is a population-based stochastic optimization algorithm inspired by intelligent aggregate conduct of some animals such as flocks of birds or schools of fish, presented by Kennedy and Eberhart in 1995. 48 PSO accomplishes seeking through a herd of individuals that updates from iteration t to iteration t þ 1.
To find the optimal solution, each particle i moves in the direction to its previously best pbest i position and the global best gbest position in the herd, The velocity v i and position x i of particle i are updated as follows  x In the suggested Hybrid PSO-MFB-based path planning algorithm, the results from PSO is a vector of two columns; the complete process of the suggested Hybrid PSO-MFB technique is presented in Figure 3, where x 1; 1 ½ stands for a and x 1; 2 ½ stand for g.

The proposed swarm optimization-based path planning technique
This section proposed a three-level structure to construct an optimal/near-optimal path for a mobile robot in static and dynamic environments. These levels are path generation, local search (LS), and obstacle detection and avoidance (ODA) technique. Path generation. Each time step t, the optimization algorithms (MFB, Hybrid PSO-MFB) suggest different solutions, the task of choosing the best point among the candidate feasible ones in every iteration is based on the balance between the two objective functions defined in equations (3) and (5) for all suggested solutions. This task is ongoing until the mobile robot reaches its GP.
Local search (LS). The LS technique converts the invalid solutions generated by the swarm optimization algorithms To avoid this situation, the solution is updated according to where ds stand for the minimum safety distance, J c is the angle between the obstacle center, and cth candidate point wp c t þ 1 ð Þ. Therefore, the red points in Figure 4 represent the candidate solutions generated by MFB and/or the Hybrid PSO-MFB algorithms, while the green ones are the updated ones according to equations (19) and (20), where The second one, when the direct line between two consecutive points, wp t ð Þ and wp c t þ 1 ð Þ; passes through the obstacle region. This situation is shown in Figure 5(a). To manipulate this situation, the following equation is considered (green points in Figure 5 d is chosen to be 0.6, D is the distance between candidate waypoint ðwp c ðt þ 1ÞÞ and previous waypoint ðwpðtÞÞ.

Obstacle detection and avoidance
The mobile robot traverses from its SP to GP using navigation algorithms. Sensors are an essential part of an autonomous mobile robot; without these devices, the mobile robot could not gather information about its environment; sensing method provides a higher level of intelligent capabilities for the mobile robot to execute its duties. The sensing method is achieved by equipping the mobile robot by virtual 12 sensors attached around the omnidirectional mobile robot, each sensor with 30 separated from the neighboring sensors and sensing range (SR) of 0.8 m as shown in Figure 6. Sensory vector Vs is a binary vector with length equal to the number of deployed sensors, i.e., Vs ¼ [a(1) . . . a(i) . . . a(12)], where a(i), i 2 1, 2, . . . , 12 are variables with binary values, and Vs reflects the status of an obstacle extant in an angle range Si, i 2 1, 2, . . . , 12. For example, with a(1) ¼ a(2) ¼ a(7) ¼ logic "1", this indicates that obstacles are detected inside SR and in the angle range S1, S2, and S7 respectively, while a logic "0" in a certain a(i)s of Vs represents a free space in the corresponding angle ranges Sis. This can be done by computing the Euclidean distance between the mobile robot and the obstacle as shown in equation (23) Then, set the corresponding bit in Vs to logic 1, otherwise set to logic 0. After constructing sensory vector Vs, the obstacle avoidance phase is triggered and the avoidance is accomplished by using gap vector Vg. It is similar to sensory vector Vs, where logic 1 indicates the occupancy gap (the mobile robot cannot pass through it) and logic 0 indicates free gap (the mobile robot may move through it, this depends on the nearest free gap to the GP). Each bit in gap vector Vg can be derived from the corresponding consecutive bits in the sensory vector Vs as follows where i represents the index of the sensory and gap vectors, þ represents OR gate. The procedure of ODA is illustrated in Figure 7. The path planner technique includes a threelevel structure mentioned previously and is given in Figure 8.

Simulation result
In the simulations, two experiments were performed; the first experiment included simulations of static-obstacle environment, the second experiment represented the simulation results in a dynamic-obstacle environment.

Parameters settings of the optimization algorithms
The parameters settings for MFB and Hybrid PSO-MFB algorithms are tabulated in Tables 1 and 2, respectively.

Experiment 1: static-obstacle environment
In this experiment, the static-obstacle environment is considered to illustrate the efficiency of the suggested technique for path planning problem. The static workspace of the mobile robot consists of 10 static obstacles with the same sizes (radius 0.5). The following are the parameters of the workspace: SP Pos ¼ ð0; 0Þ, GP Pos ¼ ð10; 10Þ, and r MR ¼ 0:5m. The proposed MFB and Hybrid PSO-MFB algorithms are implemented in the same environment. The positions and sizes of the obstacles are tabulated in Table 3, and the performance index is declared in equation (8). The simulation results for this environment are tabulated in Table 4. The best solution for the MFB algorithm is obtained in experiment no. 4 which has higher fitness. It is equal to 14.7138 m with computation time 1.375219 min as shown in Table 4, through points (3.0879, 1.7068), (5.0430, 5.1795), (8.5079, 7.1993), and (9.7918, 9.3244). For Hybrid PSO-MFB, the best solution (higher fitness) with Figure 10. The best path achieved using Hybridized PSO-MFB algorithm static environment. The large circle represents the obstacle enlarged by the size of the mobile robot while the small one is the obstacle with its actual size. MFB: Modified Frequency Bat; PSO: particle swarm optimization.  Another comparison is made by summarizing the results for both algorithms after executing the program 10 times. The Hybrid PSO-MFB exceeds the pure MFB concerning maximum, minimum, and mean fitness as shown in Table 5. Overall, the shortest paths can be obtained using the Hybrid PSO-MFB methodology for the previous case study, while the execution time of the Figure 11. The best path achieved using the MFB algorithm in dynamic-obstacle environment, (a) Mobile robot navigates to its goal using MFB algorithm, (b) The Mobile robot detects an obstacle around it, switch to OA algorithm, (c) mobile robot avoids an obstacle using OA algorithm, (d) Mobile robot still in OA mode, (e) Mobile robot returns to MFB algorithm mode.
MFB algorithm is less than that of the Hybrid PSO-MFB algorithm as seen in Table 4.

Experiment 2: dynamic-obstacle environment
In this experiment, the suggested path planning has been checked under a dynamic workspace which consists of four dynamic obstacles with the following environment modeling parameters: SP Pos ¼ ð1; 1Þ, GP Pos ¼ ð10; 10Þ, and r MR ¼ 0:3m. In this workspace, the obstacles move linearly. The velocities, directions, and positions of the moving obstacles are given in Table 6. The mobile robot moves from (1, 1) as a SP using MFB and Hybrid PSO-MFB algorithms. When the obstacles show up in the sensing region, the mobile robot triggers the LS mode as shown in Figure 11. At that point, the mobile robot continues its searching process toward the GP. The best path obtained using MFB is shown in Figure 11 with path length equal to 14.9964 m and computation time 4.162019 s, while the best path using Hybrid PSO-MFB is 13.6696 m with execution time 6.421085 s as shown in Figure 12.

Discussion
Through simulations, it is apparent that the offered Hybrid PSO-MFB swarm optimization technique beats the others in terms of the shortest path. Especially, the Hybrid PSO-MFB algorithm beats the MFB one in terms of the shortest distance due to the dynamic interaction between the PSO and the MFB algorithms, where each individual particle in PSO algorithm requests for one complete MFB algorithm operation with the parameters (a and g) being varying rather than constant. This results in a more sensitivity of the MFB algorithm to the loudness A i (t) and the rate of the pulse emission r i (t), which raises the potential of the MFB algorithm to find better solutions. However, this achievement is on the account of the execution time of the algorithm, whereas with the Hybrid PSO-MFB algorithm it is higher than that of the MFB one. This shortcoming can be resolved via the adoption of an advanced high-speed H/W microprocessor boards for implementing the proposed algorithm.

Conclusion
In this article, novel path planner algorithms for an omnidirectional mobile robot in environments with dynamic and static obstacles are suggested. It finds the shortest and smoothest collision-free path using swarm-based optimization techniques, namely, the MFB and Hybrid PSO-MFB algorithms. The suggested MFB and Hybrid PSO-MFB algorithms are integrated with the LS procedure to plan a path far from the obstacles and hence convert the invalid solutions into valid ones. With the sensors deployed around the mobile robot to sense the distance between it and the obstacles, the OD procedure can efficiently detect the obstacles and triggers the OA algorithm to find an alternative path to the GP. From the simulation results, we can conclude that the Hybrid PSO-MFB algorithm outperforms the MFB one concerning the length of the path because of the dynamic adjustment of the parameters a and g of the MFB algorithm using PSO steps. In terms of the computational complexity, the execution time of the Hybrid PSO-MFB technique is larger than that of the MFB one. Future works might include the application of the suggested path planning technique in moving target environments. Moreover, the H/W implementation of the suggested path planning technique is of great concern to validate the current work from the practical point of view.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.