Optimized cuckoo search algorithm using tournament selection function for robot path planning

Acceptability of mobile robots in various applications has led to an increase in mobile robots’ research areas. Path planning is one of the core areas which needs to be improvised at a higher level. Optimization is playing a more prominent role these days. The nature-inspired algorithm is contributing to a greater extent in achieving optimization. This article presents the modified cuckoo search algorithm using tournament selection function for robot path planning. Path length and Path time are the algorithm’s parameters to validate the effectiveness and acceptability of the output. The cuckoo search algorithm’s fundamental working principle is taken as the baseline, and the tournament selection function is adapted to calculate the optimum path for robots while navigating from its initial position to final position. The tournament selection function is replacing the concept of random selection done by the cuckoo search algorithm. The use of tournament selection overcomes local minima for robots while traversing in the configuration space and increases the probability of giving more optimum results. The conventional cuckoo search algorithm whose random selection mechanism may lead to premature convergence may fall into the local minima. The use of tournament selection function increases the probability of giving better results as it allows all the possible solution to take part in the tournament. The results are analysed and compared with other relevant work like cuckoo search algorithm and particle swarm optimization technique and presented in the article. The proposed method produced a better output in terms of path length and path time.


Introduction and related work
Path planning has been the issue in robotics system since the 1970s 1,2 ; much contribution has been made in this particular field to make it more suitable and adaptable for the existing environment. Path planning problem for robots can be defined as the route adopted by the robots for reaching the destination from the source. The robot's total distance is known as the path length, and the problem starts taking shape from here on, it is required that how this path length could be minimized so that the robots should reach its destination covering a minimal distance. Again much contribution is made to reduce the path length. To formulate the problem, the second parameter, which plays an important role is the path time, that is, the technique's time to derive the minimal path. It is also called as the computation time in many works of literature. Combining these two parameters formulates more significant prospects of the problem domain. Now there is a need to minimize the path length and that too spending minimum time. To achieve the goal, several optimization techniques [3][4][5][6] came into play which is capable of handling these two issues simultaneously. In recent times, several natureinspired algorithms have been proposed to achieve optimization. These optimization algorithms can be utilized in robot path planning to optimize its parameters like path length, path time, number of turns and many more. There are many works done in the past which applied optimization technique in robot path planning. [7][8][9][10] The cuckoo search (CS) algorithm is one of the widely accepted algorithms for optimization problems, which have been used by many application areas. In this article, we have used the CS algorithm 11 for optimizing the path length and path time for robots path planning. We modified the CS algorithm to perform better than the conventional CS algorithm by applying the tournament selection function.
Here, in this section, a detailed survey of the CS algorithm is discussed and presented.
In this article, proposed a method for the path planning of autonomous mobile robot locally, that is, the search space is unknown or partially known, and the obstacles are static. They used brood parasitic behaviour and levy fight behaviour of cuckoo bird for finding the collision-free path for the mobile robot. The objective function that they used for calculating the optimal path from the start to the goal point is formulated between the robots, target and obstacle. The parameter taken into consideration includes obstacle avoiding behaviour of the robot and the robot's target seeking behaviour. Firstly, the robot moves from the start point to the goal point in a straight line (i.e. shortest between two points). Whenever the robot senses the obstacle in its radar, it implements the CS algorithm. Depending on the objective function value calculated for each nest (i.e. solution) in the swarm, the robot selects the best global solution to avoid obstacles and then proceed towards goal. They claimed better performance and higher efficiency of the proposed method using CS algorithm in optimizing robot navigation by comparing the results with other natureinspired meta-heuristic algorithms genetic algorithm (GA) and particle swarm optimization (PSO). To analyse the CS algorithm thoroughly. Table 1 is presented in the Table 1. List of applications where cuckoo search algorithms is applied with their respective parameters whose performance is improved using this algorithm.

Author
Year article, which gives a brief survey related to CS algorithm.
The year-wise development of the algorithm is presented with the parameters of different application areas and its contribution to improving the performance. 33,34 The article is organized in the following way: First, the necessary working procedure of CS search algorithm is discussed in detail. The next section explains how it is incorporated in robot path planning, after that the next section deals with the details of proposed work, describing the use of tournament function and the CS algorithm. The later section presents the results and discussion followed by the conclusion.

Cuckoo search
CS algorithm is one of the nature-inspired meta-heuristic algorithms. It is an optimization meta-heuristic search algorithm proposed by Yang and Debb 34 in 2009. Due to its simplistic mathematical processes and capability of solving linear/non-linear problems, it is all over well adopted to solve the optimization-related problems. Some cuckoo's obligated behaviour inspired the working of the CS algorithm. 35 This algorithm is widely accepted in optimization problems like mobile robot navigation, network configuration and many other similar problems. In mobile robot path planning, it reduces the robot's computational time to navigate from one position to another and increases its performance. The hypothesis of the algorithm is constructed on the nature of parasitic organisms. It is well known as obligate brood parasitic behaviour. It is the process where the organism (here the bird cuckoo) relies on some other's nest or at the host to reproduce.
The behaviour of cuckoo's bird inspires the theory of CS algorithm. A group of cuckoo while laying their eggs follows a typical procedure, they lay one egg at a time and put it in some other's nest. Other cuckoo's when found the egg in their nest and identifies that the egg is not her then the host cuckoo destroys the entire egg present in the nest. The host bird discovers the egg laid by a cuckoo with a probability P a ½0; 1. All the cuckoo perform this procedure, and at the end, only a few nests having eggs in them survives. The last rule can be calculated by replacing a fraction P a of the n host nests with new nests. The value obtained using the objective function decides the quality of a solution. The ultimate goal is to derive a better solution.
Levy flight method is expended in the CS algorithm for finding solutions. It is a type of random walk which distributes the steps based on the step length. This step length is obtained using the heavy-tailed probability distribution. Levy flight is a random walk in which the increments are obtained using a power law.
While working with the CS algorithm, the cuckoo's eggs play an essential and potential role in finding solutions. This algorithm is widely adopted for global optimization problems. It well balances nicely between the local random walk and the global random walk. This balance between the local and random walk is controlled by a switching parameter of P 2 ½0; 1. 36 Following two equations represents the local and random walk Path planning for robots using CS The navigation problem is primarily transformed into a minimization problem, as most of the service robots navigate in an unknown environment to find the best suitable path to reach the destination. The path is obtained using the objective function. It is calculated by locating the coordinates of the goal and the current obstacle position in the workspace. After formulating the objective function, the CS algorithm is applied to solve the path optimization problem. 37 The best nest selected globally is considered during the entire execution, and the process is repeated in each iteration. After selecting best nest in each round the robot is made to proceed in series utilizing all the selected best nest locations. Moreover, if there are no obstacles found, then the robot approaches towards the destination without any hindrances. Initially, when a robot starts from its initial position, it continuously moves towards the goal, the problem occurs when the robot encounters an obstacle in its path. When it comes closer to the obstacles, the sensors inbuilt alerts the robot to stop. The path planning algorithm (CS algorithm) is called to find the next move to not collide with any obstacles and gives the optimal way to move forward. Here, the best nest position given by CS is used to do so. Every solution given by CS algorithm is bounded with a numeric value. In goal-seeking, the approach it opts is to measure the two distances from the point, the first distance is from the obstacle which should be maximum, and another one should be from the destination which should be minimum.
The CS algorithm's key point is to select the best nest based on the concept of selecting a nest having a minimum value of their objective function. CS is applied to optimize Parameter Description Initial point selected by random permutation. a Positive step size scaling factor. X tþ1 Succeeding location. s Size of the step. Entry-wise multiplication of two vectors. H Heavy-side function. P a Switching parameter. e Random number from a uniform distribution.

L(s, l)
Levy distribution which defines the size of the step.
the path length for the robots. The distance between the robot and the obstacle is the significant criteria for the robot to select the next location in the workspace. It is based on the following conditions: Following equation is utilized for finding the distance between the robot and the obstacle. The condition here is that the most considerable distance between them is considered The following equation is utilized to find the distance between the robot and the destination, while the minimum distance between them is considered Satisfying the above two criteria the objective function for the cuckoo's nest can be derived as Number of obstacles present are OB d 2 ðOB 1 ; OB 2 ; The controlling parameters of the objective function are selected wisely. The benefit of using the CS algorithm is that the parameters to be adjusted are less than the GA and PSO. 38 Thus, the CS algorithm is more generic to apply to a broader class of optimization problem. A detailed review of the CS algorithm is presented by Parhi et al. 39 The graphical representation of the working CS algorithm for robot path planning is shown in detail in Figure 1 in four different stages. From Figure 1(a), it is assumed that S is the robot's start position in the given workspace from where the traversing towards the end point starts. Xs and Ys denote robot's initial coordinates. The path SG is considered the optimal path as a straight line is the shortest Coordinates of the obstacles.
Controlling parameters distance between two points. G is the goal point where the robot is desired to reach with optimal path length and time. It is represented by the coordinates Xg and Yg. The point, C, denotes the collision point where the robot's sensing range has detected an obstacle has arrived in its ideal path line. Line SC is the path in the free space where the robot is moving without any collision. Xo and Yo represent the obstacle's coordinates.
In Figure 1(b), while moving from its start point in the workspace, whenever the robot senses some obstacle in its environment through the sensor present in it, it implements the path planning algorithm; here in this case, CS algorithm is used to find the next best location for the robot. C represents the collision point, and the dotted circle denotes the periphery of the obstacle where the traversal is not possible for a robot. This is the point from where the role of path planning algorithm starts for finding the optimal path.
In Figure 1(c), when the robot gets stuck with the obstacle, the CS algorithm will decide the next best move for the robot according to the values obtained from the objective function for each new solution/random position. The objective function works on the distance criteria between the new random position to the obstacle and the goal/target point. The main objective is to take the new position such that it should be minimum in the distance from the goal and maximum from the obstacle. Initially, the CS algorithm generates a random number of host nests through levy flight method. Then it selects the current best among them using tournament selection method by comparing the fitness value of t individuals selected randomly from the total initial population and places the solution over the host nest solution for the next host nest position. This process is done for n number of times. Afterwards, the algorithm compares the current best solutions/positions according to their objective function values and chooses one position. This position is now the global best solution, and the robot moves a step ahead towards the optimized path.
In Figure 1(d), the position C is defined to be the collision point, and after resolving the collision or avoiding the obstacle through the modified CS algorithm, the robot moves towards the global best solution among the current best solutions which is denoted as C 0 (new position of the robot). The robot then again continues its usual path if no obstacle is detected and if it counters another obstacle on the way it applies the same approach to overcome it. The CS algorithm is implemented only if the robot senses some hurdles in its path else it travels towards the goal/target point. Algorithm 1 presents the necessary steps to find the path to be traversed by the robot in the given configuration space. The path obtained thus will be the optimal and collision-free path. The next section details using tournament function to select the next best and the CS algorithm.

Proposed methodology
In the modified CS algorithm, we used the tournament selection function to improve the performance. The first selection is made using levy flight to select the nest for placing the cuckoo eggs there and then rest of the selection is made by applying tournament selection function. This helps to optimize the performance of parameters like path length and path time. The CS algorithm's performance is improved with tournament selection method as it checks for all the possible solution nests with higher fitness value, unlike in levy flight where the nests are selected based on their fitness values chosen randomly. Levy flight is also inefficient for significant problems. This method is mainly used in GAs. 40 In our proposed research work, we are using it with CS algorithm for robot navigation. Tournament function replaces the criteria of random selection among the solution nests. The random selection of a solution is replaced by the modified CS algorithm's tournament selection method. The working principle of tournament selection allows all the candidates from the current generation to participate in the tournament, and the selection of t individuals is made from the initial population. The process continues to select the best individual from the tournament of the next generations. This process is done for n number of times, and a global best solution is selected as the next solution towards the destination. Figure 2 presents the operational flow of the proposed work, where the selection of different nodes done through tournament function is presented.

Tournament selection
Exploring and exploiting the given workspace are the two most essential aspects in deciding whether the algorithm's selection process is fair or not. Exploring the traversable space and exploiting the knowledge base (current knowledge base gained by the experience for finding the best solution). The efficient selection of these two factors usually balances the algorithm in finding optimized solution. The tournament selection function is one of the well-known methods for selecting the next best candidates in GA. 41,42 It gives the best results in situations where there is a requirement of choosing a few among many. It selects the best one based on each node's fitness value (called as candidates in terms of GA). The working principle consists of many iterations until the purpose is served. Each round consists of multiple iterations, and in each iteration, multiple candidates participate in the tournament. To select the candidates among all the available nodes, there is another parameter known as selection pressure which is a probabilistic pressure of all the possible candidates based on which each candidate is allowed to participate in the initial stage of the tournament. After competing at the initial stage, the best candidates based on their fitness value qualify for the next round, and the process goes on it, a particular node is selected as the winner of the tournament. Multiple tournaments are organized between the source node and the goal node to reach from source to goal in the robot path planning scenario. The modified approach provides diversity to robot path planning. In the conventional path planning using CS, it uses random selection based on their fitness values. This approach's drawback is that it selects the next based on the current best, which may sometimes lead to entering the local minima and restricts the approach to be utilized in large applications. The use of tournament function overcomes this problem as it has less chance of convergence and makes it the best fit for working in a large workspace.
The first step is to select the initial node while starting from the source point. In the proposed methodology, the first walk around or the selection of the first node is made using the levy flight which is the basic CS algorithm incorporates within, after the first node selection the rest of the selection is made using tournament selection function. 32 Figure 3 explains the working of tournament function with CS algorithm for optimizing path for robots. A flow chart is also shown in Figure 2 to show the modified CS algorithm's working flow for robot path planning. Equation (2) represents the selection based on the levy flight for the first walk around, while equations (3), to (5) represent the method of selecting the further nodes respectively using probability function while deriving path from source to goal. The combination of tournament selection function helps diversify the nature of CS algorithms for many other applications.
InitialSelection ¼ ðpÞ ð 8Þ p Â ð1 À pÞ; p Â ð1 À pÞ 2 Here in this article, we have taken into account the two most essential parameters, path length and path time, to observe our proposed methodology.

Algorithm 2. Tournament selection
Path length: The total distance travelled by the robot in the free space without any collision. Uncertain path planning leads to more number of collisions and thus results in the increased path length. Therefore, path planning should be done to be the shortest path length between the source and goal point. We take the difference between goal coordinate and source coordinate. There are many ways to calculate distance like Euclidean distance, Manhattan distance and Chebychev method. Here we prefer the Euclidean distance Path time: The robot's total time in traversing the optimized path formed using a CS algorithm. It is directly proportional to the robot's path length in most cases though there are some complex cases where this rule does not imply, mostly in dense and more complex environments. However, basically in most cases, more the path length, more will be the path time. The optimization is done so that the robot takes a lesser amount of time and path length. This is one of the most critical parameters in the robot's application.Smoothness: Two lines which make angle and are the part of the path to be traversed should be able to make robot not to deviate from its path, the value of angle should be such that it should not tend robot to suddenly change path with a little change in the value of the angle. It is the total number of turns taken by the robot in reaching towards the goal point. The robot's diagonal movement requires less battery as the path length would be reduced, and thus the total energy robot uses in traversing the path is lowered. f s in equation (11) represents the smoothness i¼1 aðl i ; l iþ1 Þ ð 11Þ Figure 3. The working of proposed methodology of using tournament selection function with cuckoo search algorithm for robot path planning in the static environment for finding an optimal path in the given workspace.

Algorithm 3. Modified cuckoo search algorithm.
Success rate: This parameter accounts for the number of times the proposed methodology provides the correct output. The threshold value could be taken from path length or path time for comparing the results over every iteration here, after applying the CS algorithm on each reference map for a certain number of times.

Results and discussion
The proposed work uses the concepts of using tournament selection with CS algorithm for finding paths for robots. The conventional procedure is best in finding the next best near the existing best if this procedure continues, which would lead to being trapped in a local minima problem. This is best suited when the workspace is minimal and known. To broaden the horizon, there is a need to skip this trap. This article proposes the tournament selection function to skip the local minima problem while traversing from the source node to the goal node for finding the path for robots. The tournament selection function picks the current best among the general population. Contrary to which the conventional approach leads to the premature convergence restricting it to function in the large workspace. The CS algorithm's performance is improved with tournament selection method as it checks for all the possible solution nests with higher fitness value. According to the tournament function, several t size tournaments are organized between n possible solutions and best among them is selected. This is done for n number of times, and every time it is being compared with the solution obtained via levy flight and the solution with more fitness value is selected, the current solution gets updated. The solutions are ranked according to the objective function values obtained. Furthermore, the solution with the highest fitness value is considered to be the global best solution. The robot then moves towards the best solution. This is repeated until the robot reaches the target position. Figure 4 shows the implementation of the proposed approach on four different reference maps. Later on, the experiment is conducted on four other reference maps. The maps consider the diagonal path to be traversed by the robot. In the navigation path, the robot confronts several obstacles to reach the destination from the start point.
The modified CS algorithm's proposed method represents that it performs well in dense maps and provides an optimal path to the robot. The reference maps considered are of 500 Â 500 in size. In Figure 4, four different reference maps are presented, which are considered as the input maps where the start and goal points are mentioned. After running the algorithm on this map, the resultant maps with the blue line showing the optimal path from the start node to the goal node are depicted. Figure 5 depicts the performance comparison on the robot's time to navigate the obstacles and reach the target. Figure 6 depicts the performance comparison on the path traversed by both the algorithms. The graph represents the basic CS algorithm, PSO and the modified CS algorithm. The proposed work is having the edge over the rest two, as shown in the graph. Table 2 presents the comparison of results obtained from the proposed work, the basic CS algorithm and PSO in terms of path length, path time and the success rate which shows that the proposed approach performs better than the CS algorithm.

Conclusion
This research article presents an approach to find an optimal and collision-free path for robots using modified CS algorithm for path planning. This article has presented a novel approach to replace the robot's random movement based on levy flight with the tournament selection function. The conventional CS algorithm used a random selection of points on the workspace and picked the best among them. This method has a high probability of leaving the nodes that might lead to the best solution. There can be a case where the same point is selected more than once due to the method's random selection criteria. This leads to the local minima problem where the robot gets entangled in the workspace instead of reaching the optimal path. Therefore, we have used tournament selection function in our modified approach. This method randomly picks a few points and conducts a tournament to find the best node among them. This tournament selection is repeated n number of times with a group of few random individuals. This provides us with the best solution for the robot where it proceeds for the next move. In this way, the local minima problem overcomes the mobile robot path planning in a static environment.
The proposed approach of using tournament selection function with CS algorithm for path selection generates better results while comparing it with the conventional CS algorithm and PSO. Results of path time and path length are presented in the article which performs better in both the cases. The future work could validate the proposed approach for some more parameters like finding smoothness and number of turns while traversing in the workspace. Along with that, there is also a scope to test the proposed approach in the multi-robot scenario. The article has also shown 5%-8% of improvement in the total computation time and path length taken by the robot for traversing from the start node to the goal node between the conventional CS algorithm and the modified CS algorithm, whereas a performance of more than 10% is observed while compared with that of PSO method. The performance improvement motivates future work to test the proposed approach for multi-robot system or warehouse applications.

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.

Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.