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

Authors: Mohammad Abaee Shoushtary; Hasan Hoseini Nasab; Mohammad Bagher Fakhrzad
Journal: Chinese Journal of Engineering
 (2014)

---

## Abstract

This paper describes a new hybrid algorithm extracted from honey bee mating 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).


---

## Body

## 1. 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.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. Section3 is about the results of inquiry. The last section of this research describes the conclusion of the research.


## 2. 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.


### 2.1. 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 (fromt-1 to t) 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 t, the robot must predict the obstacle and the goal position for time step t+1 according to previous knowledge extracted from its sensors and cameras in the previous time step (from t-1 to t). For calculation of the next position of obstacles and goals, robot uses physical equations of motion.Figure 1
The motion of obstacles and goals in dynamic environment.According to physics science, a solid object makes a motion with a velocity vector from its position at timet to the next position in time t+1. So, the robot creates a prediction according to
(1)xobs-or-goal-i(t+1)=xobs-or-goal-i(t)+vobs-or-goal-i(t)cos⁡⁡(θ),yobs-or-goal-i(t+1)=yobs-or-goal-i(t)+vobs-or-goal-i(t)sin⁡(θ).
According to Figure 1, x and y 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 (2)Vobs-i(t)=(((xobs-i(t)-xobs-i(t-1))2+(yobs-i(t)-yobs-i(t-1))2)t),Vgoal-i(t)=(((xgoal-i(t)-xgoal-i(t-1))2+(ygoal-i(t)-ygoal-i(t-1))2)t).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.


### 2.2. 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.Figure2 shows the modeling of problem. In this picture, each robot show by R. The global positions of robot were calculated by information extracted from GPS device (online) mounted on robot according to equation (3).Figure 2
The problem definition.In Figure2, the robot Ri is available in time t in position 1 with (Xi,Yi) coordination and wants to reach to goal that there is in (Xig,Yig) coordination in time t+1. In doing that, it faces an obstacle. So, it must go to a point near to obstacle with (Xi′,Yi′) coordination at first and then follow the goal. So, it must go to this point by using a velocity vector named vi in time t. According to that the (Xi′,Yi′) coordination is calculated with
(3)xi′=xi+vicos⁡⁡θiΔt,yi′=yi+visin⁡θiΔt.
Now, if we desire to compute the path traveling distance of all robots, we use (4)D=∑i=1n{vi+((xi+vicos⁡⁡θi-xig)2+(yi+visin⁡θi-yig)2)}.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.


### 2.3. 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 Figure3. 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
(5)Prob(D)=exp⁡⁡(-D(f)S(t)),
where Prob(D) is the probability of adding the sperm of drone D to the spermatheca of the queen (i.e., the probability of a successful mating), D(f) is the absolute difference between the fitness of D and the fitness of the queen (for complete description of the calculation of the fitness function see below), and S(t) is the speed of the queen at time t. 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:
(6)S(t+1)=α·S(t),E(t+1)=γ·E(t),
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.Figure 3
HBMO algorithm diagram.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 Figure3.


### 2.4. Search Strategies and Tabu List Technique

The first step in this algorithm is searching. Searching begins with camera searching int 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 fort+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 int+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 int+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.Figure 4
Searching and moving algorithm diagram.


### 2.5. 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 Pseudocode1.Pseudocode 1:Pseudocode of Algorithm.
Initial position (xrobot-i(t)), yrobot-i(t));
Initial position (xobstacle-i(t)), yobstacle-i(t));
Initial position (xgoal-i(t)), ygoal-i(t));
Real List_1[i], List_2[j];
J
∶
=
1;
Repeat
Search with Camera
If Camera see No things
begin
Xobstacle-i(t+1)∶=Xobstacle-i(t); Yobstacle-i(t+1)∶=Yobstacle-i(t);
Xgoal-i(t+1)∶=Xgoal-i(t); Ygoal-i(t+1)∶=Ygoal-i(t);
End
Else if see an obstacle
begin
CalculateXobstacle-i(t+1) according to equation
CalculateYobstacle-i(t+1) according to equation
List_1[j]∶=Xobstacle-i(t+1); List_2[j]∶=Xobstacle-i(t+1);
J∶=J+1;
End
Else if see an goal
Begin
CalculateXgoal-i(t+1) according to equation
CalculateYgoal-i(t+1) according to equation
end


## 2.1. 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 (fromt-1 to t) 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 t, the robot must predict the obstacle and the goal position for time step t+1 according to previous knowledge extracted from its sensors and cameras in the previous time step (from t-1 to t). For calculation of the next position of obstacles and goals, robot uses physical equations of motion.Figure 1
The motion of obstacles and goals in dynamic environment.According to physics science, a solid object makes a motion with a velocity vector from its position at timet to the next position in time t+1. So, the robot creates a prediction according to
(1)xobs-or-goal-i(t+1)=xobs-or-goal-i(t)+vobs-or-goal-i(t)cos⁡⁡(θ),yobs-or-goal-i(t+1)=yobs-or-goal-i(t)+vobs-or-goal-i(t)sin⁡(θ).
According to Figure 1, x and y 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 (2)Vobs-i(t)=(((xobs-i(t)-xobs-i(t-1))2+(yobs-i(t)-yobs-i(t-1))2)t),Vgoal-i(t)=(((xgoal-i(t)-xgoal-i(t-1))2+(ygoal-i(t)-ygoal-i(t-1))2)t).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.


## 2.2. 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.Figure2 shows the modeling of problem. In this picture, each robot show by R. The global positions of robot were calculated by information extracted from GPS device (online) mounted on robot according to equation (3).Figure 2
The problem definition.In Figure2, the robot Ri is available in time t in position 1 with (Xi,Yi) coordination and wants to reach to goal that there is in (Xig,Yig) coordination in time t+1. In doing that, it faces an obstacle. So, it must go to a point near to obstacle with (Xi′,Yi′) coordination at first and then follow the goal. So, it must go to this point by using a velocity vector named vi in time t. According to that the (Xi′,Yi′) coordination is calculated with
(3)xi′=xi+vicos⁡⁡θiΔt,yi′=yi+visin⁡θiΔt.
Now, if we desire to compute the path traveling distance of all robots, we use (4)D=∑i=1n{vi+((xi+vicos⁡⁡θi-xig)2+(yi+visin⁡θi-yig)2)}.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.


## 2.3. 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 Figure3. 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
(5)Prob(D)=exp⁡⁡(-D(f)S(t)),
where Prob(D) is the probability of adding the sperm of drone D to the spermatheca of the queen (i.e., the probability of a successful mating), D(f) is the absolute difference between the fitness of D and the fitness of the queen (for complete description of the calculation of the fitness function see below), and S(t) is the speed of the queen at time t. 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:
(6)S(t+1)=α·S(t),E(t+1)=γ·E(t),
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.Figure 3
HBMO algorithm diagram.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 Figure3.


## 2.4. Search Strategies and Tabu List Technique

The first step in this algorithm is searching. Searching begins with camera searching int 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 fort+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 int+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 int+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.Figure 4
Searching and moving algorithm diagram.


## 2.5. 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 Pseudocode1.Pseudocode 1:Pseudocode of Algorithm.
Initial position (xrobot-i(t)), yrobot-i(t));
Initial position (xobstacle-i(t)), yobstacle-i(t));
Initial position (xgoal-i(t)), ygoal-i(t));
Real List_1[i], List_2[j];
J
∶
=
1;
Repeat
Search with Camera
If Camera see No things
begin
Xobstacle-i(t+1)∶=Xobstacle-i(t); Yobstacle-i(t+1)∶=Yobstacle-i(t);
Xgoal-i(t+1)∶=Xgoal-i(t); Ygoal-i(t+1)∶=Ygoal-i(t);
End
Else if see an obstacle
begin
CalculateXobstacle-i(t+1) according to equation
CalculateYobstacle-i(t+1) according to equation
List_1[j]∶=Xobstacle-i(t+1); List_2[j]∶=Xobstacle-i(t+1);
J∶=J+1;
End
Else if see an goal
Begin
CalculateXgoal-i(t+1) according to equation
CalculateYgoal-i(t+1) according to equation
end


## 3. 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 Figure5.Figure 5
An example of simulation.


### 3.1. Average Total Path Deviation (ATPD)

LetPik be a path from the starting point Si to the goal point Gi generated by the program for robot Ri in the kth run. If Pi1,Pi2,…,Pik are the paths generated over k runs, then the average path traversed (APT) by robot Ri. ATPD is calculated according to
(7)∑i=1npi-ideal-(∑j=1kpij)k.


### 3.2. Average Uncovered Target Distance

Given a goal positionGi and the current position Ci of a robot on a 2-dimensional workspace, where Gi and Ci are 2-dimensional vectors, the uncovered distance of robot i is ∥Gi-Ci∥, where ∥·∥ denotes Euclidean norm. For n robots, uncovered target distance (UTD) is the sum of ∥Gi-Ci∥. Now, for k 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 k=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 n and the number of obstacles m. 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.


### 3.3. The Algorithm Performance

Figure6 shows that, with the decrease in velocity, AUTD takes a longer time to attain zero value. Similar observations also follow for the number of robots n, as a variable in the AUTD versus number of steps plot (Figure 7).Figure 6
AUTD versus number of steps with velocity as variable for number of obstacles = 5 (constant).Figure 7
AUTD versus number of steps with number of robots as variables for number of obstacles = 8 (constant).Figure5 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 givenn 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 Figure8 that ATPD is a nondecreasing function of n for a constant m. An intuitive interpretation of this phenomenon is that with increase in n, robots face more constraints to plan local trajectories, thereby increasing ATPD. It is also noted from Figure 9 that, for a constant n, an increase in m causes more spatial restrictions in trajectory planning, thereby increasing ATPD. The same observations follow from Figure 9.Figure 8
ATPD versus number of robots with number of obstacles as variables for velocity = 16 units (constant).Figure 9
ATPD versus number of obstacles with number of robots as variables for velocity = 16 units (constant).The fall-off in AUTD over time for a givenn 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 n, an increase in m causes more spatial restrictions in trajectory planning, thereby increasing time required to reach the goal position.Figure 10
AUTD versus time with number of robots as variables for velocity = 16 units (constant).Figure 11
AUTD versus time with number of robots as obstacles for velocity = 16 units (constant).The simulation results of PSO and ACO algorithm show that the average performance of new algorithm is better than them (you can see the results in Table1).Table 1
Comparison between new algorithm versus ACO and PSO.
Problem
Number of Obs.
Number of Robots
ATPD
AUTD
New algorithm
ACO
PSO
New algorithm
ACO
PSO
1
10
5
23.87
24.29
24.44
38.56
39.06
47.26
2
20
5
26.42
26.89
27.05
45.5
46.09
55.77
3
30
5
28.54
29.05
29.22
53.69
54.39
65.81
4
40
5
29.3
29.82
30.0
63.69
64.18
77.66
5
50
5
29.86
30.39
30.57
74.76
75.73
91.63
6
10
10
30.05
30.59
30.77
88.22
89.36
108.13
7
20
10
31.23
31.79
31.98
104.1
105.45
127.59
8
30
10
31.56
32.12
32.32
122.83
124.43
150.56
9
40
10
32.12
32.69
32.89
144.94
146.83
177.66
10
50
10
32.86
33.45
33.65
171.04
173.26
209.64
11
10
15
33.87
34.48
34.69
201.82
204.45
247.38
12
20
15
52.57
53.51
53.84
238.15
241.25
291.91
13
30
15
73.7
75.02
75.47
281.02
284.67
344.46
14
40
15
97.57
99.33
99.99
331.61
335.92
406.42
15
50
15
124.55
126.79
127.56
391.3
396.38
472.62
16
10
20
155.54
157.83
158.78
461.73
467.73
565.96
17
20
20
189.49
192.9
194.06
554.84
551.92
667.83
18
30
20
228.42
232.53
223.93
642.91
651.27
788.54
19
40
20
272.41
277.31
278.98
758.64
768.5
929.89
20
50
20
322.12
327.91
329.88
895.19
906.83
1097.27
21
10
25
378.29
385.1
387.41
1056.33
1070.06
1294.78
22
20
25
441.76
449.73
452.41
1246.47
1262.68
1527.84
23
30
25
513.48
605.23
525.86
1470.84
1489.96
1802.85
24
40
25
594.53
615.44
608.86
1735.59
1758.15
2127.36
25
50
25
686.12
698.47
702.66
2048
2024.62
2510.29
Average:
178.4
185.3
182.3
528.46
535.33
647.55


## 3.1. Average Total Path Deviation (ATPD)

LetPik be a path from the starting point Si to the goal point Gi generated by the program for robot Ri in the kth run. If Pi1,Pi2,…,Pik are the paths generated over k runs, then the average path traversed (APT) by robot Ri. ATPD is calculated according to
(7)∑i=1npi-ideal-(∑j=1kpij)k.


## 3.2. Average Uncovered Target Distance

Given a goal positionGi and the current position Ci of a robot on a 2-dimensional workspace, where Gi and Ci are 2-dimensional vectors, the uncovered distance of robot i is ∥Gi-Ci∥, where ∥·∥ denotes Euclidean norm. For n robots, uncovered target distance (UTD) is the sum of ∥Gi-Ci∥. Now, for k 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 k=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 n and the number of obstacles m. 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.


## 3.3. The Algorithm Performance

Figure6 shows that, with the decrease in velocity, AUTD takes a longer time to attain zero value. Similar observations also follow for the number of robots n, as a variable in the AUTD versus number of steps plot (Figure 7).Figure 6
AUTD versus number of steps with velocity as variable for number of obstacles = 5 (constant).Figure 7
AUTD versus number of steps with number of robots as variables for number of obstacles = 8 (constant).Figure5 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 givenn 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 Figure8 that ATPD is a nondecreasing function of n for a constant m. An intuitive interpretation of this phenomenon is that with increase in n, robots face more constraints to plan local trajectories, thereby increasing ATPD. It is also noted from Figure 9 that, for a constant n, an increase in m causes more spatial restrictions in trajectory planning, thereby increasing ATPD. The same observations follow from Figure 9.Figure 8
ATPD versus number of robots with number of obstacles as variables for velocity = 16 units (constant).Figure 9
ATPD versus number of obstacles with number of robots as variables for velocity = 16 units (constant).The fall-off in AUTD over time for a givenn 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 n, an increase in m causes more spatial restrictions in trajectory planning, thereby increasing time required to reach the goal position.Figure 10
AUTD versus time with number of robots as variables for velocity = 16 units (constant).Figure 11
AUTD versus time with number of robots as obstacles for velocity = 16 units (constant).The simulation results of PSO and ACO algorithm show that the average performance of new algorithm is better than them (you can see the results in Table1).Table 1
Comparison between new algorithm versus ACO and PSO.
Problem
Number of Obs.
Number of Robots
ATPD
AUTD
New algorithm
ACO
PSO
New algorithm
ACO
PSO
1
10
5
23.87
24.29
24.44
38.56
39.06
47.26
2
20
5
26.42
26.89
27.05
45.5
46.09
55.77
3
30
5
28.54
29.05
29.22
53.69
54.39
65.81
4
40
5
29.3
29.82
30.0
63.69
64.18
77.66
5
50
5
29.86
30.39
30.57
74.76
75.73
91.63
6
10
10
30.05
30.59
30.77
88.22
89.36
108.13
7
20
10
31.23
31.79
31.98
104.1
105.45
127.59
8
30
10
31.56
32.12
32.32
122.83
124.43
150.56
9
40
10
32.12
32.69
32.89
144.94
146.83
177.66
10
50
10
32.86
33.45
33.65
171.04
173.26
209.64
11
10
15
33.87
34.48
34.69
201.82
204.45
247.38
12
20
15
52.57
53.51
53.84
238.15
241.25
291.91
13
30
15
73.7
75.02
75.47
281.02
284.67
344.46
14
40
15
97.57
99.33
99.99
331.61
335.92
406.42
15
50
15
124.55
126.79
127.56
391.3
396.38
472.62
16
10
20
155.54
157.83
158.78
461.73
467.73
565.96
17
20
20
189.49
192.9
194.06
554.84
551.92
667.83
18
30
20
228.42
232.53
223.93
642.91
651.27
788.54
19
40
20
272.41
277.31
278.98
758.64
768.5
929.89
20
50
20
322.12
327.91
329.88
895.19
906.83
1097.27
21
10
25
378.29
385.1
387.41
1056.33
1070.06
1294.78
22
20
25
441.76
449.73
452.41
1246.47
1262.68
1527.84
23
30
25
513.48
605.23
525.86
1470.84
1489.96
1802.85
24
40
25
594.53
615.44
608.86
1735.59
1758.15
2127.36
25
50
25
686.12
698.47
702.66
2048
2024.62
2510.29
Average:
178.4
185.3
182.3
528.46
535.33
647.55


## 4. Conclusion

The paper introduced a new technique for team robot motion planning in dynamics and unknown environment with moving goals and obstacles to select the shortest path length of all the robots without hitting any obstacles in the world map with a hybrid algorithm extracted from HBMO and Tabu lists algorithm. Experiments reveal that the proposed scheme outperforms the PSO and ACO robot motion planning scheme at least with respect to two well-known metrics: ATPD and AUTD. These results confirm the validity and reliability of algorithm.



---

*Source: 901986-2014-05-29.xml*