Team Robot Motion Planning in Dynamics Environments Using a New Hybrid Algorithm ( Honey Bee Mating Optimization-Tabu List )

This paper describes a newhybrid algorithmextracted fromhoney beemating optimization (HBMO) algorithm (for robot travelling distance minimization) and tabu list technique (for obstacle avoidance) for team robot system. This algorithm was implemented in a C++ programming language on a Pentium computer and simulated on simple cylindrical robots in a simulation software. The environment in this simulation was dynamic with moving obstacles and goals. The results of simulation have shown validity and reliability of new algorithm. The outcomes of simulation have shown better performance than ACO and PSO algorithm (society, nature algorithms) with respect to two well-known metrics included, ATPD (average total path deviation) and AUTD (average uncovered target distance).


Introduction
One of the most important issues in using robots is working automatically without human intervention.Autonomous robots are robots that self-control itself without human intervention [1].Today, these robots could be applied in different areas such as working with dangerous materials, working in military service [2], underwater working [3], and rescue robots [4].But using robots in these working areas is faced with some difficulties such as accuracy and constancy in operation [5].The robots work in an unknown [6] and dynamics [2] Environments.The obstacles and goals in these environments are variable with a moving situation [7].So, these robots must perform their tasks in such complex environment.In these environments, the robots must identify their tasks, reading and reaching decision for performing a good performance [8].Consequently, suitable and accurate programming of robots has a positive influence on their operation.Moreover, we can use hardware capabilities of robots with a good programming of robots [9].So, robot motion planning has been presented as an important field in robotic science [10].
Robot motion planning refers to process of robot task breakdown in the format of separated and discrete motions [7].In robot motion planning, general strategies are educated to robots for selecting suitable motion among different motions that are available for it [11].This helps them in doing their chores without any important problems or obstacle collision.
But the working capacity of a robot is limited and when we use it in a real world's environment, we need to be using a group of them [12].When we use a group of robots, we faced new problems such as robot cooperation [13], robot obstacle avoidance [10], and robot avoidance deadlock [14].
Furthermore, using robot in industrial tasks causes some overall costs such as energy cost [4], robot service, and maintenance cost [11].Moreover, when we apply a robotic system, we want to increase performance and productivity [10].So, we need to reduce costs and increase the speed of working of robots.

Chinese Journal of Engineering
Because of the following reasons, this paper tries to investigate a new hybrid algorithm for team-robot motion planning that offers a robot motion planning algorithm with an optimized robot path travelling distance and obstacle avoidance in dynamics and unknown environment with moving goals and obstacles according to real world conditions.For doing it, we use honey bee mating optimization algorithm for taking an optimized path according to robot path travelling distance and use tabu lists for obstacle avoidance.The validity and reliability of this algorithm show with regard to simulation results.All simulations has been done in Webots 7.0.1 simulation software and programming of this algorithm implemented on a C++ programming language on a Pentium PC.The simulation results compare to two other algorithms including ant colony optimization algorithm (ACO) and particle swarm (PSO) algorithm.The outcomes of simulation have shown better performance than ACO and PSO algorithm (society, nature algorithms) with respect to two well-known metrics included, ATPD (average total path deviation) and AUTD (average uncovered target distance).
In the following part, we distinguish the research methodology.Section 3 is about the results of inquiry.The last section of this research describes the conclusion of the research.

Methodology
In the first step of managing this research, we describe the methodology of environmental modeling.Then we identify the problem definition and the offered algorithm structure.Ultimately, we describe the simulation methods and ways of making resolutions.

Environment Modeling.
In this research, the environment is dynamic and unknown.Dynamic environments are the environments with moving obstacles and goals.For the modeling of dynamic in obstacles and goals, we must apply a physical modeling.The physical modeling is based on the dynamic equations in physics science.According to physics science in one step of time (from  − 1 to ) an obstacle or goal does a motion from situation 1 to situation 2. Figure 1 shows this motion.In this figure, if we assume that the boxes are the obstacles and the stars are goals and the cylindrical object is a robot, when the robot is in time step , the robot must predict the obstacle and the goal position for time step  + 1 according to previous knowledge extracted from its sensors and cameras in the previous time step (from  − 1 to ).For calculation of the next position of obstacles and goals, robot uses physical equations of motion.
According to physics science, a solid object makes a motion with a velocity vector from its position at time  to the next position in time  + 1.So, the robot creates a prediction according to  obs-or-goal- ( + 1) =  obs-or-goal- () + V obs-or-goal- () cos () ,  obs-or-goal- ( + 1) =  obs-or-goal- () + V obs-or-goal- () sin () . ( According to Figure 1,  and  in this equation are the position of obstacles and goals that are shown with its indexes; it is the time,  is the angle between the velocity vector and horizontal vector.The velocity vector is computed according to For the modeling of obstacle and goals in the simulation software, we use a supervised plan for making motion in time according to random position of obstacle and goals and equations ( 2).This dynamic in the environment is unknown for the robot.Robots did not have any previous information about robots, obstacles, and goals.Robots must get information from their sensors and cameras.
The simulation software is working with virtual reality modeling language.So, we must use a supervisor node for making these changes in the environment.

Problem Definition.
The conceptualization speculates the evaluation of the next position of the robot in its workspace thereby avoiding collision with other robots and the static hindrances in its runway from the current locality of the robot in the workspace.The following are the presuppositions made to validate the multirobot path planning problem: among a fixed set of actions in motion the robot has to select only one action at a time; the path planning problem, hence, incurs a bit of steps until all the robots arrive at their respective address.The following principles are used to satisfy the assumptions: the robot first ascertains the next position in order to coordinate itself with the destination and constructs a path to that location.
Figure 2 shows the modeling of problem.In this picture, each robot show by .The global positions of robot were calculated by information extracted from GPS device (online) mounted on robot according to equation (3).
In Figure 2, the robot   is available in time  in position 1 with (  ,   ) coordination and wants to reach to goal that there is in (  ,   ) coordination in time  + 1.In doing that, it faces an obstacle.So, it must go to a point near to obstacle with (   ,    ) coordination at first and then follow the goal.So, it must go to this point by using a velocity vector named V  in time .According to that the (   ,    ) coordination is calculated with Now, if we desire to compute the path traveling distance of all robots, we use According to (4), the path traveling distance of all robots is minimized when (4) becomes minimized.But because this problem is a NP-hard problem, solving that based on common methods is not possible and we must use metaheuristic methods.So, we use honey bee mating optimization algorithm for choosing the next path in each time step.

Honey Bee Mating Optimization Algorithm (HBMO).
The honey bee is a social insect that can survive only as a member of a community, or a colony.The colony of different drone's sperm there is in her spermatheca; she can use parts of the honey bee community which consists of three structurally different forms: the queen (reproductive female), the drones (male), and the workers (no reproductive female).These castes are associated with different functions in the colony; each caste possesses its own special instincts geared to the needs of the colony.The HBMO algorithm combines a number of different steps and the main steps of HBMO are depicted in Figure 3.Each of them corresponds to a different phase of the mating process of the honey bee.A drone mates with a queen probabilistically using an annealing function as where Prob() is the probability of adding the sperm of drone  to the spermatheca of the queen (i.e., the probability of a successful mating), () is the absolute difference between the fitness of  and the fitness of the queen (for complete description of the calculation of the fitness function see below), and () is the speed of the queen at time .
The probability of mating is high when the queen is with the high speed level, or when the fitness of the drone is as well as the queen's.After each transition in space, the queen's speed decreases according to the following: where  and  are factors such that , (0, 1) are the amount of speed and energy reduction after each transition and each step, respectively.Initially, the speed of the queen is generated at random.A number of mating flights are realized.At the start of a mating flight drones are generated randomly and the queen selects a drone using the probabilistic rule in (5).If the mating is successful (i.e., the drone passes the probabilistic decision rule), the drone's sperm is stored in the queen's spermatheca.By using the crossover of the drone's and the queen's genotypes, a new brood (trial solution) is generated, which can be improved later by employing workers to conduct local search.In real life, the role of the workers is restricted to brood care and for this reason the workers are not separate members of the population and they are used as local search procedures in order to improve the broods produced by the mating flight of the queen.If the new brood is better than the current queen, it takes the place of the queen.If the brood fails to replace the queen, then in the next mating flight of the queen this brood will be one of the drones.By replacing the bees with points that are available around the robot, we can choose the best point with minimum traveling distance for each robot.But this point may be available in the obstacles and robots must choose another point.So, we use tabu list technique for avoiding obstacles.The diagram of this algorithm is shown in Figure 3.

Search Strategies and Tabu List
Technique.The first step in this algorithm is searching.Searching begins with camera searching in  time.According to things that camera found or forecast, we have three strategies for robots.These strategies are as follows: if the camera did not find an object near to robot for  + 1 time step, the robot continues the algorithm and choose the near optimum point according to HBMO and move to it.At the end must put this calculated point in tabu list; if camera found a goal near to robot in  + 1 time step, then robot chooses the near to optimum point, according to HBMO move to this point and put it to tabu list; if camera found an obstacle near to robot in  + 1 time step, then robot puts this point to tabu list and choose to optimum point, according to HBMO and move to that and put it to tabu list.
After doing the search, the robot runs the HBMO algorithm and chooses a near to optimum path and moves to that point.The searching and moving algorithm diagram is shown in Figure 4.

Formation of Tabu Lists.
In this algorithm, there are two tabu lists.One of these is global and the other is local.Each robot has a local tabu list and there is a global list for all algorithms.The local tabu list is for robot obstacle avoidance and the global tabu list is for avoiding robot loss.The main pseudocode is shown in Pseudocode 1.

Results
The algorithm was implemented in a C++ programming language and on a Pentium PC.All of the simulations are done in Webots 7.0.1.The results of simulations are evaluated according to two known metrics: average total path deviation (ATPD) and average uncovered target distance (AUTD).An example of simulation is shown in Figure 5.

Average Total Path Deviation (ATPD).
Let   be a path from the starting point   to the goal point   generated by the  program for robot   in the th run.If  1 ,  2 , . . .,   are the paths generated over  runs, then the average path traversed (APT) by robot   .ATPD is calculated according to 3.2.Average Uncovered Target Distance.Given a goal position   and the current position   of a robot on a 2-dimensional workspace, where   and   are 2-dimensional vectors, the uncovered distance of robot  is ‖  −   ‖, where ‖ ⋅ ‖ denotes Euclidean norm.For  robots, uncovered target distance (UTD) is the sum of ‖  −   ‖.Now, for  runs of the program, we evaluate the average of UTDs and call it the average uncovered target distance (AUTD).For all experiments conducted in this study, we considered  = 5.
The experiment was conducted using the centralized version of the algorithm, where we used (4) as the fitness function to  determine the next position of each robot from the current position.The algorithm is iterated until all the robots reach their respective goal positions.Let the number of robots be  and the number of obstacles .The experiment was performed by setting the same velocity for all the robots in a given program run and AUTD readings versus the number of steps were noted for each run.The experiment was then repeated by changing velocities of the robots in each run.   of robots , as a variable in the AUTD versus number of steps plot (Figure 7).

The Algorithm Performance
Figure 5 also shows that the AUTD gradually diminishes with iterations.Further, it is noted that the larger the velocity settings of the robots in program run, the faster the fall-off in the AUTD profile.
The fall-off in AUTD over program steps for a given  is demonstrated in Figure 6 where we see that the larger the number of robots, the slower the convergence.Slower convergence, in turn, causes a delayed fall-off in AUTD.
We note from Figure 8 that ATPD is a nondecreasing function of  for a constant .An intuitive interpretation of this phenomenon is that with increase in , robots face more constraints to plan local trajectories, thereby increasing ATPD.It is also noted from Figure 9 that, for a constant ,  an increase in  causes more spatial restrictions in trajectory planning, thereby increasing ATPD.The same observations follow from Figure 9.
The fall-off in AUTD over time for a given  is demonstrated in Figure 10 where we see that the larger the number of robots, the slower the convergence.Slower convergence, in turn, causes a delayed fall-off in AUTD.Also we note from Figure 11 that, for a constant , an increase in  causes more spatial restrictions in trajectory planning, thereby increasing time required to reach the goal position.

Figure 1 :
Figure 1: The motion of obstacles and goals in dynamic environment.

Figure 4 :
Figure 4: Searching and moving algorithm diagram.

Figure 5 :
Figure 5: An example of simulation.

Figure 6 :
Figure 6: AUTD versus number of steps with velocity as variable for number of obstacles = 5 (constant).

Figure 6
shows that, with the decrease in velocity, AUTD takes a longer time to attain zero value.Similar observations also follow for the number

Figure 7 :
Figure 7: AUTD versus number of steps with number of robots as variables for number of obstacles = 8 (constant).

Figure 8 :
Figure 8: ATPD versus number of robots with number of obstacles as variables for velocity = 16 units (constant).

Figure 9 :
Figure 9: ATPD versus number of obstacles with number of robots as variables for velocity = 16 units (constant).

10 Figure 10 :
Figure 10: AUTD versus time with number of robots as variables for velocity = 16 units (constant).

10 Figure 11 :
Figure 11: AUTD versus time with number of robots as obstacles for velocity = 16 units (constant).

Table 1 :
Comparison between new algorithm versus ACO and PSO.