Assessment and Review of the Reactive Mobile Robot Navigation

Nowadays, the mobile robot can be seen in different fields of engineering and science. The mobile robot can do some tasks that are so difficult or very risky to be performed by a human. Most of the works currently focus on implementing artificially intelligent algorithms and other algorithms that depend on the behaviour of nature. These approaches have been used in mobile robot navigation along uncertain manner. Mobile robot navigation strategies can be divided into two approaches: the classical approach and reactive approach. The classical approach related to static environment, whiles the reactive navigation is based on an unstructured environment. Path planning is one of the most important parts of the navigation system. In this paper, review and assessment of path planning strategies that can concern with the reactive approach are discussed, because it deal with the problem of dynamic environment. Numerous reactive methods have been introduced. Most of these presented works were concerned with simulation and a few of them have shown experimental implementation. Many papers tried to make a combination between two algorithms or more to increase the efficiency. It is concluded that reactive algorithms need more learning phases, complex in design, and require large memory storage.


INTRODUCTION
In the past few years, the mobile robot was limited to industrial applications and merely used at factories, but mobile robots were included in various applications. For example, the mobile robot can be seen in many fields like agriculture, military, medicine, education, mining, space, entertainment, etc. The autonomous mobile robot can be defined as a machine combined with artificial intelligence techniques to understand the surrounding environment condition (like the position of obstacle and goal) and find a path with obstacles. The autonomous mobile robot should have the ability to respond to environmental condition without human aiding [1]. The mobile robot navigation techniques are very important because they model the environment, make localization, control motion, detect and avoid obstacles. The mobile robot navigation consists of four main steps: perception, localization/mapping, path planning, and finally, motion control, as shown in Figure (1). The perception step is related with collecting data depending on sensors. These collected data are used to build a map of the surrounding environment (mapping). In addition, these sensors are used in determining localization that gives the position of the robot. The path planning finds the collision free path to the target. Finally the mobile robot should be moved by motion control step [2]. The main objective of this paper is to provide an assessment and review of many mobile robot navigation's methods. The strategies of mobile robot navigation are presented depending on prior information of the environment. Many papers Figure 1 : Sequential task of the navigation process that are discussed which include methods and algorithms so as to help the researcher choosing the better approach in order to reach the optimal or sub optimal solution.

MOBILE ROBOT APPLICATIONS
-Agriculture robot: Intelligent agricultural automation systems have a high potential for application to agricultural production and processing. Most of the published works of farm robots concentrated on identifying objects, assessing product quality, monitoring plant and animal growth and development, predicting productivity, and machine orientation according to the application scenario. The agricultural robots can be used in harvester, monitor, or both simultaneously [3].
-Health care and medical applications: Advances in modern robotic technology have made robotics a broad field in healthcare and medical applications. Robots are widely used in medical applications such as surgery, diagnosing, drug delivery. Also, assistive robots are used to simulate the human body for prosthetic limbs, artificial organs, and body parts simulation devices [4]. Paediatrics is one of the branches that has benefited from robotic assistance currently available or being developed in a variety of settings [5]. At the time of the COVID-19 pandemic, robots were used well to examine people and care for patients, and all of this was aimed at reducing the transmission of infection [6]. -Industrial application: Mobile robots have been used widely in industrial applications. The main points of using robots in the industrial field are increasing safety, improving collaboration and performing jobs with high precision. The mobile robot can be seen in transporting, welding, monitoring, and several applications [7].

STRATEGIES OF MOBILE ROBOT
NAVIGATION In depending on prior information about the environment, the navigation strategies can be classified into local and global navigation. Global navigation concerns with a completely known environment while local navigation is related to unknown or partially known environments [8]. The techniques that were used for navigation can be classified into two approaches. The first one is the classical strategy, and the second is the reactive strategy. The classical was used at first to solve the navigation problem. Its strategy suffers from high computational and fail in responding to the uncertain environment. Therefore, it can not be used in real-time applications. On the other hand, the reactive methods had showed their ability in responding to uncertainty. Figure (2) shows the classification of strategies that have been used in mobile robot navigation [9]. Various techniques of mobile robot navigation will be discussed in this paper. The main task of navigation is to find the optimum or suboptimal path from the initial point to the end point with obstacle avoidance.

Genetic Algorithm
The Genetic Algorithm (GA) is an advanced stochastic searching technique based on the natural selection used to solve optimization problems [9]. GA was introduced to solve computer science application by Holland in 1975. Nowadays, it has wide applications in different areas of computer science, technical application in addition to robot navigation [10]. Yang et al [11] proposed Genetical gorithm to handle with path planning problem in dynamic environment. The paper combines grid and coordinate to represent two-dimension workspace path planning, where as vertices coordinates represented the obstacle. The Genetic Algorithm proposes an initial path, checks the obstacle in the path, and decides if this path is feasible or not, depending on the presence or absence of the obstacle. A simulation is introduced by using two mobile robots, each mobile robot has its own start and target. The path is represented in the genetic algorithm by the nodes of the path as it is clear in Figure (  The path is adjusted when the obstacle is close to the mobile robot. It was planned in real time mode based on an effective and efficient manner and was proved that the genetic algorithm is not sensitive to noise [10].
Shi et al [11] introduced a simulation to solve a dynamic collision avoidance by genetic algorithm, a short and smooth path have been gotten with avoiding two dynamic obstacles. A combination between genetic algorithm and other techniques can be used to improve the efficiency of mobile robot navigation. A genetic algorithm was combined with particle swarm in order to optimize the path planning for welding mobile robot to get shorter collision free path. This combination was proposed by Wang et al [12]. The mutation and crossover led to jump out of local minimum and improve the solution in the next iteration. The combination between genetic and PSO led to reduce the path length to 5% and the number of iterations is reduced to 90%, however, this algorithm was used in a static environment. Figure   [13] discussed path finding and obstacle avoidance by combining fuzzy logic and genetic algorithm. A single camera is used to detect the positions of mobile robot and obstacles. A six rule fuzzy logic is used to find the path from the robot to the target. Finally, a genetic algorithm is used in order to optimize the path that found by fuzzy logic. Simulation and experimental results showed that the genetic algorithm is a very necessary to optimize the path. Using of genetic algorithm as optimizing method reduced the time to about 67 % and the number of iterations to about 68%. Their paper focused on using a low cost sensor to achieve path planning nevertheless the obstacle avoidance stills static. An experimental combination between Genetic algorithm and matrix binary code representation was used to solve path planning for dynamic obstacle avoidance and reduce the path distance by about 16% using Khepeara-II mobile robot [16]. Matrix Genetic Algorithm (MGA) was compared with FL (Fuzzy Logic), ANN (Artificial Neural Network), (ant colony optimization) ACO and the result shows that MGA has shorter path and execution time as shown in Figure (

Fuzzy Logic
Fuzzy logic was proposed in 1965 by Lotfi Zadeh in order to introduce uncertainty mechanism [17]. It is used in many engineering applications. The mobile robot navigation is one of the applications that was handled by many researchers to control the mobile robot position and orientation [18]. Al-Khatib et al [19] suggested a Fuzzy Logic (FL) controller simulation to find optimal or near optimal path planning with the presence of more than one obstacle in a dynamic manner. Two fuzzy-based potential filed have been developed for handling the problem of avoiding dynamic and static obstacle were presented for dynamic environment. The main advantage of this method is the independently to the number of dynamic obstacle. A combination between fuzzy logic and Artificial Potential Field (APF) was presented by Jaradat et al [20]. A position and velocity between target-robot and robot-obstacle is considered as input repulsive and attractive forces of artificial potential field. The forces of velocities and positions of x, y are considered as inputs to the fuzzy controller system. Figure (7) shows the process of the proposed method. Azizi et al [21] depended on the sensor-based method to propose a modified sensor-based to solve online navigation. The authors divide the system into four parts, first: target tracking, second: obstacle avoidance, third: fuzzy logic decision-maker that combines between the information that has been gotten from first two parts, fourth: noise cancellation using neural network. Fuzzy decision-maker is used to design an algorithm that combines velocity obstacle avoidance and guidance-based tracking in a dynamic environment. Illeperuma et al [22] presented a fuzzy logic to decide the locomotion of the mobile robot, where as the optical flow is used to get a vector of information from video scene to take a decision of robot locomotion by fuzzy logic. Boujelben et al [23] proposed a single-input single-output fuzzy controller to generate a smooth path so as to reach the target without colliding with static or dynamic obstacles using a single input and single output to reduce the fuzzy rules and the computational time.The work used a minimum number of regulations. Liu, Y et al [24] used a fuzzy logic to propose a method for dynamic obstacle avoidance without changing the rout. This was performed by changing the velocity of the mobile robot depending on distance, velocity, and direction of obstacles toward the mobile robot. Whereas the mobile robot may approach to move away from the obstacle or stop and wait for the obstacle pass through. Figure   The obstacle trend has divided into several modes. These modes depend on the distance and velocity of robot and obstacle. After that, the robot makes a decision according to these information. The simulation result has showon that the robot could avoid the obstacle without changing the path. Table (2) summarises the fuzzy logic related work.

Neural Network
The Neural Network (NN) is one of the most important and well-known techniques. It is used in many fields and applications such signal processing, image processing, pattern recognition and mobile robot navigation, etc. Janglová et al [25] introduced a two neural networks to solve the path planning problem. The first NN is to discover the space and the second is for path finding. The first NN uses ultrasound sensor to determine the free space, whereas the robot is modelled as two-dimensional object in the workspace. The second NN is used to find the path to the target. The simulation is achieved by using a C++ environment. The real time experiments showed that the procedure could find the shortest possible solution. A neural network as a solution for mobile to transfer products in hypermarket was introduced by Yuan et al [26]. The computer constructs the map of the environment depending on received image from the overhead camera. The map was founded in the help of imported images that have static obstacles. The dynamic obstacles can be detected with the help of infrared (IR) sensors that are fixed on the robot. Figure (9) shows the block diagram of the system. Three algorithms had been applied. The first algorithm is related to analysing the environment in order to get locations of robot and obstacles. The second algorithm finds the optimal path that uses modified pulse coupled neural network (MPCNN). Third algorithm converts the path in form that the robot can process. Duguleana et al [27] used a developed Q-learning to find the optimal path. The strength of Q-learning related to its nature that doesn't require any previous knowledge about the environment. The robot can be controlled at any speed. The system was tested in Matlab to achieve safe path planning until reaching the target with the consideration of both static and dynamic obstacles. Yang eta al [28] introduced a simulation that depends on NN to find the optimal path, but it still suffers from large number of iterations due to the increased number of obstacles. The authors introduced a simulation only in the presence of static and dynamic environment. Jebur et al [29] proposed MLP to recognize the target and avoid

Particle Swarm Optimization
Particle Swarm Optimization (PSO) was developed by kennedy and Eberhart in 1995 to optimize non-linear problems. The particle swarm optimization was applied in mobile robot navigation since 2005. The PSO tries to mimic the animals social that don't have any leader in its behaviour to reach the target in group manner [32]. Atyabi et al [33] introduced a development of PSO to produce Extended Area Particle Swarm (EAPSO) in order to provide collision free in an unknown environment. The scenario addresses three approaches: static, dynamic time dependent, and uncertain environment. The simulation result of the proposed method achieved a great potential for unknown environment. Fetanat et al [34] introduced a compression among three evolutionary algorithms. Pattern search, genetic algorithm, and particle swarm were compared. A dynamic environment is considered in order to show which approach is the best among others. PSO has better objective function, and accuracy but showed longer time than others. The PSO introduced by Solea et al [35]  Dewang et al [36] introduced the Adaptive Particle Swarm Optimization (APSO) which showed shorter distance about 2% and reduced the time to about 20% than conventional PSO. Adaptive means that it accepts the changing in parameters in each iteration. In another word, the APSO will change the inertia weights of the PSO. The simulation showed shorter time and path nevertheless, the simulation considered static obstacle only. In order to handle the dynamic environment many researchers introduced and proposed different methods. Modules were proposed by Ibraheem [37] to achieve the obstacle avoidance in dynamic environment . The first module is to find optimal and shorter path by combining Particle Swarm Optimization with Modified Frequency Bat (PSO-MFB). The second module detects infeasible points and converts it to feasible points by integrating PSO-MFB with the local search algorithm. The third module is to sense and avoid the obstacle. The combination of three modules leads to get shorter path compared with other works. Alaliyat et al [38] proposed PSO to create a smoothed and optimized path in mobile robot path planning. The authers used Euclidian equation as objective function to measure the distance between the target and particle. Three scenarios were (including dynamic obstacles) applied to test the system.

Ant Colony Optimization
Ant Colony Optimization (ACO) was founded in 1992 to solve many optimization problems for example the Travelling Salesman Problem (TSP), job shop, flow shop scheduling. After that ACO discussed the optimization in the mobile robot navigation [39].
Guan et al [40] proposed three steps in order to get collision free in presence of dynamic obstacle. The first step includes the investigating of environment using MAKLINK graph theory. The second and third steps include two phases of path planning. The first phase involves DIJKSTRA algorithm to determine the initial path to get target. The second phase is using ACO in order to optimize the path, after using ACS, the path is reduced by 13%. In comparion to GA, the number of iterations and execution time are reduced to about 80%. ACO was used by Brand et al [41] to find shortest path between target and mobile robot. The simulation were compared between two re-initialisation pheromone. The ant colony succeeded to find the shortest path in a grid network. In addition, this approach re-routs the path after adding new obstacles. Figure (11) shows ACO flow chart. Purian et al [42] used the ant colony optimization to optimize the fuzzy rules which are used to navigate mobile robot in the presence of dynamic obstacle. Figure (12) shows the flowchart of the proposed method. Rajput et al. [37] [43] introduced a novel pheromone updating method to avoid unnecessary looping and achieve faster convergence. This is done by modifying the PMF in the ACO. Table  (

Bacterial Foraging
Hossain et al. [44] introduced a Bacterial Foraging Optimization (BFO) technique to find the shortest path in the presence of dynamic obstacles. The BFO is based on distributing the particles in a random manner around the mobile robot. After that the best particle is selected by finding the error distance between the particle and the target. The path planning will continue when the sensor detects an obstacle until it reaches to the goal. Abbas, N. et al. [45] made use of the behaviour of one kind of bacteria in the path optimization in mobile robot navigation. The behaviour of E-coli bacteria was proposed for path planning to get the target in both static and dynamic environments.

Bee Colony
Bee colony was used in 2005 by karaboga, due to easy implementation and useage of few parameters. Bee colony algorithm used in many applications. One of these applications is path planning of mobile robot [46].
Due to the similarity between robot path planning optimization and bees behaviour (as shown in the Table 6 ) Li et al [41] [47] proposed Artificial Bee Colony (ABC ) to solve the path planning problem . The algorithm begins with modelling the robot system and chooses two approaches to find the pathso as to reach the target. Traditional artificial bee colony and improved artificial bee colony were used. The improved method is faster and has shorter path to about 18%, than the traditional one, however, the proposed method stills employed in static environment simulation. Zhang et al. [48] tried to solve the problem of ABC by suggesting a synchronization mechanism in order to accelerate its slow convergence. In the traditional ABC, the new nectar source generated in a random manner. The new approach depends on measuring the Euclidian distance between current nectar and new nectar. An adaptive variable step is proposed to overcome the problem of falling into local minimal solution and reduce the number of iterations to 80%. Guozun et al [49] discussed the problem of the dynamic threat. The authors proposed improvement on traditional artificial bee colony. The IABC is better at real-time applications because of the shorter path and consuming time. The improvement includes track initialization strategy. Alpkiray et al. [50] introduced a combination of probabilistic road maps and artificial bee colonies to get a better path. The proposed method can change the node that PRM has found to get better path length which has smoothness and safety. The path of proposed method is about 13% shorter from PRM and 25% shorter than ABC, but still PRM has a shorter time than ABC or PRM-ABC. The path founded is better than founded using the RPM only that could be used in real word Al-Rafidain Engineering Journal (AREJ) Vol.26, No.2, October 2021, pp.340-355 experiment. Figure 13 shows the comparison between ABC and PRM.

Figure 13: Comparison between ABC and PRM
Bai et al. [51] introduced a hybrid between A* and artificial bee colony to realize 3D Unmanned Aerial Vehicles (UAV) path planning. ABC uses ant first to generate different initial path nodes to reduce computational time. These points are used in A* to find the final path. The following flow chart shows the sequence of the algorithm ( Figure  (14)). The simulation results present a reduction in the cost of time and increasing of the speed. A summary is presented in Table (7) Figure 14 : Track planning algorithm with hybrid between ABC and A*

Firefly Algorithm
The Firefly Algorithm (FA) principle was Presented in 2008 by yang; it depends on the light flashing off the fireflies [52]. Chen et al. [53] proposed a modification in the objective function of FA in order to increase the speed of the algorithm to findout the path in a static environment. The modification includes changing the fixed step in the objective function by Gaussian random walk function. This modification leds to reduce the number of iterations and increase the accuracy. This work compared with PSO algorithm and the results showed that the path was reduced to 30%. Chandrawati et al. [48,54] discussed the application of firefly. The path planning used a firefly in many papers. Adaptive firefly, modified firefly and multi-objective firefly was used. The firefly was also discussed by the researchers to handle the dynamic obstacle. Patel et al. [2] used firefly for local navigation in consideration of static and dynamic obstacles. They made use of the firefly algorithm in mobile robot navigation for the static and dynamic obstacles. It reduced the calculation and computations, reduced the number of iterations in global path planning, and showed good and efficient local path planning. This simulation and experimental results were compared with genetic algorithm and fuzzy neural. The path of FA was found to be shorter. To avoid obstacle, the firefly generate flies around the obstacle and the brighter one that consider the safest one among others.

Bat Algorithm
In 2010, Yang [55] introduced a new optimization approach that depends on the phenomena of bat echolocation. The proposed bat algorithm showed its superior to PSO and GA. Ibraheem [56] suggested a MFBA to get a safest and shortest path in dynamic environment with The suggested algorithm depends on frequency tuning based on a function instead of choosing it in random manner, whereas the frequency starts with low frequency and increases a gradually during the iterations. The local search mode is activated when the obstacle is close to the mobile robot. The mobile robot navigates in the path among five dynamic obstacles with various speeds. The proposed algorithm is better than the conventional BA in the smoothness, path's length, and time. Saraswathi [57] introduced a hybrid between Cuckoo and Bat algorithms to get the best of each of them and increase the efficiency. Neto [58] proposed BA to solve the problem of mobile robot global localization. BA echolocation has a good capacity to solve optimization problems compared with other methods, but BA still suffers from the main problem related to premature convergence. Therefore, a multiple leaders in the BA algorithm is proposed to obtain high convergence to the global optimum. The proposed LBBA showed better performance than PF and PSO. Wang [59] due to its advantages that related to simplicity, few parameter and optimization capability, a modified bat algorithm was proposed for path planning of mobile robot. The modification tried to solve the problem of slow convergence speed in later stages. Therefore, a sigmoid inertia weight is proposed. Sigmoid decreases as iterations increasing. Another modification that uses Cauchy-distribution to improve the local search distribution, in this last modification, a Levy flight is used to update the position to expand the population diversity. In comparision of IBA with BA, IBA is better than BA because it has reduced number of iterations to about of 8%, and reduced path's length to about 3.5%.

Other Methods
The map building is time and power consumption in the navigation system. Therefore, Thapa [60] introduced a mapless and appearancebased obstacle avoidanc, by the help of RGB-D (kenict camera ) and Robot Operating System (ROS) . An OPENCV library was used in order to extract depth of data to get the information about static environment; the mobile robot moves to the target that recognized it by camera and measures the distance by the depth sensor of Kenict. Rehman et al. [61] used (SLAM) to produce practical real-time implementation for solving navigation. Maurović et al. [52,62] proposed path planning for active Simultaneous Localization And Mapping (SLAM) that continuously improves localization during mobile robot motion. This led to smoothness in movement until reaching the target. The path planning was depended on the D* algorithm that finds the shortest path between two nodes. This method is an efficient way with existence of dynamic obstacle and uncertain environment. Gatesichapakorn et al. [52,63] proposed a complementary ROS navigation system by adding RGB-D and LIDAR. The authors used Extended Kalman Filter (EKF) to overcome the accumulated error produced by the shaft encoder.

DISCUSSION
The genetic algorithm implemented in both dynamic and static environment, it works effectively for multiple moving obstacles. Variable chromosome length leads to reduce the execution time. Combining GA and other methods leads to increase efficiency and reduce execution time.
Most FL papers mentioned in this article discussed a dynamic environment because it has fast computation time. Most NN papers were implemented in real-time and related to dynamic and static environment. As NN needs training time, it was combined with other methods so as to reduce the training time.
The PSO is succeeded to avoid moving obstacle in a complex environment with consumed time in the implementation.
The ACO proved its effectiveness in a dynamic environment because it has a good reduction in computation time and iterations; therefore it was combined with other methods that consume time to get better results.
The behaviour of BEE Fire flies and BAT algorithms were used to solve the mobile robot navigation; however most of the papers simulated a static environment. A modified bee Al-Rafidain Engineering Journal (AREJ) Vol.26, No.2, October 2021, pp.340-355 colony algorithm combined with other methods to reduce the computation time. About 46 papers are discussed in this work (as shown in Table 9). These papers are classified as shown in figure (15), whereas 27 (about 59%) papers discussed the dynamic environment, 19 (about 41%) papers for static environment, 95% of them go to simulation, 23% of them discussed real-time implementation, and 20% discusses both real time implementation and simulation as shown in figure (16). Table 9 presents a review summary.

CONCLUSION
The researchers have applied various mobile robot navigation techniques to achieve collision-free path planning. This paper concerns with reactive algorithms that mostly used to handle the problem of mobile robot navigation. The reactive algorithms need a learning phase, large memory and complexity in design. The paper conclusion can be summaries in the following points: 1-Most papers demonstrate simulation analysis only. Also real time experimental are few as compared with simulation. 2-Optimal path planning for static environment can be obtained using A* algorithm. 3-The reactive approach can handle with the problem of dynamic environment more that static environment. 4-FL has a good performance in changing direction and velocity of mobile robot. 5-Modern optimization methods and algorithms depend on the natural behaviour which are used to participate in navigation problem solving. 6-GA is used to optimize path for both static and dynamic environments, combining genetic and other optimization methods is implemented to enhance the performance GA. 7-NN is used to classify the target and the region, path planning, and obstacle avoidance for small obstacles and not crowded environments. 8-PSO, ACO, firefly, Bat algorithm, Bee colony and bacterial foraging are used for path planning, and path optimization in a dynamic and static environment; however, these algorithms' weights computations make them unsuitable for dynamic real time environment. Therefore, they can be used for a static environment or simulation of dynamic environment. 9-The experimental works were implemented for genetic and neural network more than others methods. 10-Most researchers implement ACO on a dynamic environment; while the BAT algorithm in a static environment.