^{1}

^{1}

Based on the modeling of robot working environment, the shortest distance matrix between points is solved by Floyd algorithm. With the objective of minimizing the sum of the fixed cost of robot and the cost of robot operation, an integer programming model is established and a genetic algorithm for solving the model is designed. In order to make coordination to accomplish their respective tasks for each robot with high efficiency, this paper uses natural number encoding way. The objective function is based on penalty term constructed with the total number of collisions in the running path of robots. The fitness function is constructed by using the objective function with penalty term. Based on elitist retention strategy, a genetic algorithm with collision detection is designed. Using this algorithm for task allocation and path planning of multi-robot, it can effectively avoid or reduce the number of collisions in the process of multi-robot performing tasks. Finally, an example is used to validate the method.

With the development of industrial robot technology [

For the problem of robot’s path planning, many scholars have studied it. Particle swarm optimization algorithm or navigation algorithm are used to solve the problem [

These scholars have proposed different algorithms to solve the problems of robot’s path planning, task allocation and collision avoidance respectively. But few people establish integer programming models and corresponding algorithms to solve them. Considering the maximum running time of a single robot, this paper aims at minimizing the sum of the robot’s fixed cost and the robot’s running cost. An integer programming model for task allocation and path planning of multi-robot with collision detection is proposed. Introducing collision penalty term, a genetic algorithm with collision detection is designed to calculate the optimal number of robots, the tasks completed by each robot and the collision free path of each robot, making the total cost of the detection tasks lowest.

A factory uses m robots to complete the monitoring of n monitoring points. Each robot filled with power can travel limited distance continuously and each monitoring point is monitored with equal time. When the task is executed, each robot starts from the platform at the same time, and tries to avoid collisions among them during the process of performing tasks, and finally returns to the departure platform. In the process of completing tasks, the robot performs only one task, each task requires only one robot to complete, each task is only performed once, and all tasks will be executed. The call cost and the operating cost of per unit distance are known for each robot, calculating the optimal number of robots to complete tasks, and planning the path of each robot, making the total cost of monitoring tasks completed lowest.

In order to establish the model, the following symbols are defined:

0: Represents departure platform;

M = { 1 , 2 , ⋯ , m } : Represents a set of available robots;

L: Represents a set of feasible walking points for all robots；

D = { 1 , 2 , ⋯ , n , n + 1 } : Represents a set of points to be monitored;

n + 1: Represents return platform can be considered as a replicate departure platform;

G: Represents a set of generally walk able grid points, and L = D ∪ G ;

T = { 1 , 2 , ⋯ , t } : Represents the running time set of robots;

d i j : Represents the distance from the i point to the j point of robots i , j = 0 , 1 , 2 , ⋯ , n , n + 1 ;

t i j : Represents the driving time from the i point to the j point of robots, i , j = 0 , 1 , 2 , ⋯ , n , n + 1 ;

s: Represents the monitoring time of each robot at each point;

g: Represents the fixed cost of using a robot;

f: Represents the per unit distance cost of each robot;

A = [ a 11 a 12 ⋯ a 1 r a 21 a 22 ⋯ a 2 r ⋮ ⋮ ⋮ a r 1 a r 2 ⋯ a r r ] : Represents the adjacency distance matrix between

feasible grids; when a i j = 1 represents the point i adjacent to the point of j, i and j are feasible grid points, otherwise a i j = 0 .

Define the following decision variables:

x i j k t = { 1 , Robot k fromthepointof i arrivesatthepointof j directly at time t 0 , otherwise ; k ∈ M ; t ∈ T ; i , j ∈ L

y i k t = { 1 , robot k servicesforthepointof i at time t 0 , otherwise ; k ∈ M , t ∈ T , i ∈ D

C j k p t = { 1 , x i j k t = x u j p t = 1 , Robot k and Robot p occur collision at the point of j at time t 0 , otherwise ; t ∈ T ; i , u ∈ L ; j ∈ L ; k ≠ p ∈ M

In order to reduce collisions between robots’ paths, a penalty term is constructed based on the number of collisions between paths. By introducing the penalty term into the objective function, an integer programming model for the task allocation and path planning of multi-robot with collision penalty is established.

min z = g ∑ k ∈ M ∑ j ∈ D ∑ t ∈ T x 0 j k t + f ∑ k ∈ M ∑ i ∈ L ∑ j ∈ L ∑ t ∈ T d i j i x i j k t + λ ∑ j ∈ L ∑ k ∈ M ∑ p ≠ k ∈ M ∑ t ∈ T C i k p t (1)

∑ j ∈ L x 0 j k t = 1 , k ∈ M (2)

∑ i ∈ L ∑ t ∈ T x i n + 1 k t = 1 , k ∈ M (3)

∑ i ∈ L x i 0 k t = 0 , k ∈ M ; t ∈ T (4)

∑ j ∈ L x n + 1 j k t = 0 , k ∈ M ; t ∈ T (5)

∑ k ∈ M ∑ t ∈ T y i k t = 1 , i ∈ D (6)

∑ i ∈ L x i j k t = ∑ u ∈ L x j u k ( t + s + 1 ) j ∈ D ; k ∈ M ; t ∈ T (7)

∑ i ∈ L x i j k t = ∑ u ∈ L x j u k ( t + 1 ) j ∈ G ; k ∈ M ; t ∈ T (8)

∑ i ∈ L x i j k t = y j k t j ∈ D ; k ∈ M ; t ∈ T (9)

2 C j k p t ≤ y j k t + y j p t j ∈ L ; k , p ∈ M ; t ∈ T (10)

y j k t + y j p t ≤ 1 + C j k p t j ∈ L ; k , p ∈ M ; t ∈ T (11)

x i j k t ≤ a i j i , j ∈ L ; k ∈ M ; t ∈ T (12)

x i j k t = 0 , 1 i , j ∈ L ; k ∈ M ; t ∈ T (13)

C j k p t = 0 , 1 j ∈ L ; k , p ∈ M ; t ∈ T (14)

y j k t = 0 , 1 j ∈ L ; k ∈ M ; t ∈ T (15)

(1) Represents the minimum total cost with a penalty item; (2) Represents each robot must leave from platform 0; (3) Represents each robot must return to the platform point after completing the inspection task; (4) Represents each robot cannot return to the departure platform 0; (5) Represents each robot cannot leave the platform n + 1 ; (6) Represents each monitoring point is also being serviced by one robot; (7) Represents each robot arrived at the monitoring point of j must leave from the monitoring point of j; (8) Represents each robot arriving at the general grid point J must leave from the first J point; (9) Represented a robot serviced for a monitoring point must have reached the monitoring point; (10), (11) Represent robot k and robot p occur collision at time t; (12) Represents robots can only walk into an adjacent grid within a unit time; (13), (14), (15) Represent a decision variable value constraint;

Since it will take too long to solve the integer programming model directly, we will design a genetic algorithm with collision detection to solve the task allocation planning problem for large scale robots.

The steps of the genetic algorithm will not be described, and then the collision detection method proposed in this paper will be described in detail [

In order to avoid the robot’s collision loss, the collision penalty term is added to the calculation of the objective function and the fitness value. The collision penalty term is defined according to the number of collisions between the robot paths. The following examples are combined with specific examples to describe the collision number detection algorithm.

According to the layout of a warehouse, the working environment after modeling by using the serial number grid method is shown in

1) First,

2) Suppose the robots walk within one grid per unit time, and the distances traveled by robots are quantified by the number of grids. Two units of time are

needed to be monitored for the grid of the monitoring points, and the monitoring points are quantized into two walk able grids. For example, with the maximum travel time of the robot as a restriction, decoding a feasible solution is 264-245-196-235-267-264 264-157-18-223-264 264-135-30-112-264, in which the path of the R 1 can be simply described as 264 → 246 → 245 → 229 → 213 → 196 → 197 → 215 → 233 → 234 → 235 → 251 → 267 → 266 → 265 → 264 . Similarly, the path of R 2 and the path of R 3 can be obtained.

3) The paths for each robot to complete their monitoring tasks can be traced by the routing matrix calculated by the Floyd algorithm. Then the shortest distance matrix is solved according to the Floyd algorithm, and the driving distance of each robot is obtained. Each robot starts at the same time from the starting platform and runs at the same speed, In the process of performing tasks, the robot will collide when and when the two robots arrive at the same grid point at the same time. It can be described as follows:

{ 2 C j k p t ≤ y j k t + y j p t j ∈ L ; k , p ∈ M ; t ∈ T y j k t + y j p t ≤ 1 + C j k p t j = L ; k , p ∈ M ; t ∈ T (16)

4) In order to reduce the collision, a penalty term is added to the individual objective function according to the total number of collisions of each robot path in the individual, so that the population is continuously optimized. First, a collision algorithm is used to solve the total number of collisions C N between all paths of two robots corresponding to a chromosome, which is used as a measure of punishment. Take λ C N as the penalty term, among which λ ( λ = 0.6 ) is coefficient.

C N = ∑ j ∈ L ∑ k ∈ M ∑ p ≠ k ∈ M ∑ t ∈ T C j k p t (17)

penalty = λ C N (18)

f n e w ( x i ) = f o l d ( x i ) + penalty (19)

C N is the total number of collisions on a single chromosome, λ ( 0 < λ < 1 ) is the Correction parameter of penalty. f o l d ( x i ) is the corresponding objective function value of individual x i , f n e w ( x i ) is the sum of corresponding objective function and collision penalties of individual x i .

5) Selection, crossover, mutation and other operations are performed according to genetic algorithms until the iteration goes to the maximum iteration path. The approximate optimal solution or optimal solution obtained is the optimal path.

In the warehouse layout shown in

The program code is written by MATLAB, and the total number of collisions of each chromosome is calculated by the collision detection method, and the fitness of the penalty term is further calculated. Set the population size is 50 and the maximum evolution algebra is 100. In windows 7 (g4, 2G, 32 operating system) environment run the algorithm program 30 times [

According to the working environment of the robot in

optimal solution about 26 iterations, and the optimal solution does not change after 26 generations.

V1: 264--245--112--18--264;

V2: 264--223--157--196--267--264;

V3: 264--135--30--235--264.

It can be seen from

This paper studies the problem of multi-robot path planning based on genetic algorithm. Firstly, the adjacency matrix is used to store the example data. The shortest distance matrix and the routing matrix between the detected points are solved by using the Floyd algorithm according to the adjacency distance matrix [

On the one hand, a collision detection algorithm is designed to avoid collisions in the running process of multi-robots; on the other hand, with the longest running time of each robot as the constraint, using the least robot completes

the monitoring tasks making the total cost lowest. The genetic algorithm with collision detection designed in this paper can solve the problem of task allocation and path planning of multi-robot simultaneously.

In this paper, assuming that all robots start from the same platform, the collision between multi-robot can be further reduced by adjusting the starting platform of each robot actually; this paper does not consider the priority of robots to avoid collisions, so the robot can be based on a certain priority rules for collision avoidance. In the following research, we will consider these factors and further study the problem.

This work was supported by National Natural Science Foundation of China (71540028), Teaching Master of Beijing High Tech Project (G02040011); the Funding Project of High Level Cultivation of Beijing Wuzi University (GJB20164005).

Li, Z.P. and Li, X.T. (2017) Research on Model and Algorithm of Task Allocation and Path Planning for Multi-Robot. Open Journal of Applied Sciences, 7, 511-519. https://doi.org/10.4236/ojapps.2017.710037