A Novel Path Planning Algorithm for Warehouse Robots Based on a Two-Dimensional Grid Model

In this paper, the path planning problem of goods transportation is formulated as a traveling salesman problem (TSP). A novel path planning algorithm for warehouse robots based on a two-dimensional (2D) grid model is proposed to solve this type of TSP. Firstly, we simplified the traditional pile type warehouse as a node-based 2D grid model. Then, a new concept called the largest convex polygon (LCP) is introduced to illustrate the shortest path to traverse all goods locations in an ideal condition. Next, the remaining locations are classified by their relationship with LCP and designed path planning rules separately. Finally, we merged the paths of different types of cargo locations to get the final path. The experimental results show that, compared with ant colony optimization (ACO) and genetic algorithm (GA), our proposed algorithm could effectively reduce the computation time and total path length.


I. INTRODUCTION
At present, the e-commerce industry has ushered in the best development period. Various e-commerce companies have sprung up, and the trend of people shopping online has continued to rise, which has created many challenges for all aspects of e-commerce [1]. Among them, the logistics industry is the foundation and guarantee of e-commerce [2]. With the increasing number of online orders, the logistics industry will face more difficult challenges, so it is necessary to ensure the efficiency of logistics. The efficiency of storage and retrieval of goods in the warehouse has the most direct impact on the efficiency of logistics operations. Many intelligent warehouses have used automated equipment instead of manpower, the most representative of which is the automated guided vehicles for cargo transportation. In this paper, we refer to such automated guided vehicles as warehouse transportation robots, and warehouse robots for short.
The warehouse robots can effectively reduce the labor cost in the logistics process, which does not require any manual control. It can receive the transportation task assigned by the central controller, and such transportation task mainly includes the coordinates of all the goods that the warehouse The associate editor coordinating the review of this manuscript and approving it for publication was Md Asaduzzaman . robot needs to pick up. Under the calculation of the warehouse robot's own CPU, the robot can obtain an order to traverse all the positions of the goods. Then it will automatically move from the parking position to the calculated first goods position to complete the loading task, and then go to the next goods position. After completing all the loading tasks, it will return to the parking position to deliver all the cargo, thus realizing the automatic goods transportation. Therefore, an excellent robot path planning algorithm can greatly improve the efficiency of cargo transportation and reduce manual errors. Moreover, The path planning process for transport robots picking up goods in turn can be considered as a type of TSP. So improving the path planning algorithm of the warehouse robot has a significant impact on improving its transportation efficiency.
The type of path planning for warehouse robots can be divided into two categories: conventional path planning methods and heuristic path planning methods. Many conventional methods such as A* algorithm [3] can obtain good results in warehouses with fewer goods locations. While the goods locations increase, however, the time-out problem of A* algorithm becomes serious. Based on the characteristics of A* algorithm, Zheng et al. [4] optimized the node search mode and search speed, and add the angle evaluation cost function to the cost function of A* algorithm to find the path with the least inflection point. But they did not suggest any solution to optimize the long calculation time. Besides, Kusuma et al. [5] used A* algorithm to find the shortest path based on the coordinates of the current position and the coordinate of target position. And their research goal is that when the robot deviates from the target, the robot can approach the target object and change route. Because they did not perform any optimization on A* algorithm, the long calculation time of A* algorithm is still not solved. To reduce calculation time, many heuristic methods represented by evolutionary computation have been proposed. Evolutionary computation is a kind of adaptive optimization probabilistic search algorithm, mainly including GA [6]- [8], ACO [9]- [12], improved ACO [12]- [15], particle swarm optimization [16], [17], improved particle swarm optimization [18]- [20], and artificial bee colony [21], [22] etc.
Lamini et al. [23] proposed an improved crossover operator, for solving path planning problems using genetic algorithms (GA) in static environment. The proposed crossover operator avoids premature convergence and offers feasible paths with better fitness value than its parents, thus the algorithm converges more rapidly. Kumar and Kumar [24] design a robot path planning algorithm to avoid collision under four warehouse models but the complexity of the algorithm does not seem to be taken into account compared with other algorithms. YongBo et al. [25] studied the problem of UAV path planning in 3D space by minimizing the multi-objective cost function. They improved the traditional wolf pack search algorithm (WPS) by introducing the concepts of chromosome and gene in GA. Simulation results show that the trajectory generated by the improved WPS algorithm is far superior to traditional WPS algorithm, GA and random search methods. Harshal et al. construct a new objective function with the help of distance between robot to obstacle and goal in [26]. Then they demonstrate the exploration rate are more effective than conventional particle swarm optimization in their proposed APSO algorithm. Finally, it is verified that the robot can avoid the obstacle and follows the target path.
For most heuristic algorithms, the calculation time is significantly reduced, however, it is not stable enough to obtain the optimal solution. To solve the problem of too long computation time in the traditional algorithms and the problem that the optimal solution cannot be obtained steadily in these heuristic algorithms, a novel path planning algorithm for robots is proposed in this paper under a 2D grid model of logistics warehouses. After establishing a node-based 2D grid model represented by the center of the grids, we introduce a new concept called LCP to find the shortest path to traverse all goods locations in an ideal condition. Next, the remaining locations inside the LCP are classified according to their relationship with LCP and designed path planning rules. Finally, the paths of different types are merged to get the complete path. The experiments are performed to demonstrate that the proposed algorithm could effectively reduce the computation time and path length.

II. PROBLEM DESCRIPTION
As shown in Fig. 1, it is the aerial view of the pile type warehouse. The rough black rectangular box is the area occupied by a shelf, and the black solid square inside the rectangular box is the location where the robot picks up goods; the gray squares represent the roads that the robot can travel between two goods position. The rough black boxes are overhead so that the robot can freely pass under it.
Later, we consider simplifying this layout by using nodes to represent the robot pick-up positions, and straight lines to represent the roads, shown in Fig. 2. All shelves are located at the intersections of grid lines. P represents the parking location of a robot (i.e. the starting position when performing a task and the destination after completing the task). Note that, the path planning for warehouse robots in this paper is designed for a single robot and does not consider the collision avoidance and cooperation of multiple robots during driving, just optimize the performance of each robot in the task.
Specifically, a warehouse robot will start from P (starting position) when receives a task including the quantity and position of the shelves to be picked up, then go to each shelf position P i according to the traversal order calculated by the robot CPU, where i denotes the shelves number, i = 1, 2, · · · , n. Finally, robots transport all goods back to P (destination). As Fig. 3 shows, solid nodes P 1 , P 2 , P 5 , P 6 and P 7 indicate that there are goods to be picked up at these locations; hollow nodes P 3 , P 4 and P 8 mean that the robot does not have to go to these locations.
According to different research priorities, this type of robot task can be divided into several parts. Among them, step ''Task release'' could be optimized through an excellent task distributing and scheduling, which can reduce the overall cost by assigning more suitable positions for each robot.
Step ''Starting moving'' can be improved by more rapid and accurate data transmission, because there may be multiple robots working at the same time in real logistics warehouses, which may cause a lot of noise and information misplacement. If the robot have already picked up all goods, it will return to the parking position P.
In step ''calculation'', however, improving the path planning algorithm is prominent to reduce the cost of completing a task, which mainly includes the computational time of CPU and the length of the resulting path. This paper is mainly for designing the path planning algorithm, focusing on having the ability of obtaining better solutions with shorter computing time under a smaller number of nodes.
When the robot receives a task, it starts initialization to locate its current position. Then, according to the position coordinates of all nodes given by the task, the proposed algorithm is used to calculate the traversal order. Based on the obtained traversal order, the robot moves to the next position. The termination criterion T is that the robot has loaded all goods in the task. If it is satisfied, it returns to the parking position P, otherwise, it continues the task.

III. ALGORITHM DESIGN
In this section, under our grid model, an algorithm is created to solve this type of TSP. A partial solution S is represented as an ordered list, where |S| expresses the number of nodes in S.
Note that, the nodes in S andS are unknown at this time. When the LCP is found for the first time, the nodes in S and S will be determined initially. Simultaneously,S = V − S denotes the remain nodes of V , where |S| expresses the number of nodes inS. S is continuously filled and the initial S is actually the list of the vertexes on LCP mentioned earlier. Afterward, the remain nodes will be inserted continuously after a specified node v * i in S with the least cost. Then, the partial solution S will be extended as And (S, r j ) denotes appending r j to a selected position in the ordered list S. v * i means the node in S where r j will be inserted after. This step is repeated until the termination criterion T is satisfied. The total path cost is calculated by the cost function c(S, G), which is written as The termination criterion T is S = V . For illustration, (M , N ) is the shortest route between node M and N . Suppose the coordinates of M and N are (x M , y M ) and (x N , y N ), respectively. The shortest distance between two nodes can not be calculated by Euclidean distance under our grid model, but by Manhattan distance, which could be obtained by the following: In this paper, we use the calculated shortest Manhattan distance d MN between M and N as the weight ω of the path (M , N ).
The idea of our algorithm is essentially a insertion method. The algorithm will obtain a solution by inserting these nodes into a certain partial solution S, that can minimize the increment of cost function. The subpath is referred to the straight line linking two certain adjacent vertex on the LCP that all nodes can form. Below, we will propose a few concepts to design path planning algorithm.

A. BOUNDARY ATTRIBUTE
In this subsection, boundary attribute (BA) of nodes is proposed to design path planning rules for robots in transporting tasks. This section starts with the case of two pickup positions, then this problem can be considered as a three-point of TSP. In Fig. 4, P is the parking position, and P 1 , P 2 are two shelves nodes. So there are only two orders to traverse the three nodes, that is P → P 1 → P 2 → P and P → P 2 → P 1 → P.
Next, a rectangular coordinate system is established with the robot parking position P as the origin, and then assume that the coordinates of P, P 1 , and P 2 are (0,0), (x 1 , y 1 ) VOLUME 8, 2020  Since the robot can only travel horizontally or vertically, the shortest path length is the sum of four boundary lengths, as the red lines shown in Fig. 5. The shortest length is calculated by Next, we can generalize this problem into four nodes. This situation can be viewed as placing a new node inside or outside of the triangle formed by the first three nodes, which is represented as the dashed black lines shown in Fig. 5. These two different distributions will make the path connecting the four nodes form a convex or concave quadrilateral. Both distributions will be considered as follows.

B. THE LARGEST CONVEX POLYGON
This subsection proposes a method of finding the LCP with any number of nodes, explained in algorithm 1 and shown in Fig. 5.

Algorithm 1 Search Process of LCP Which Can be Formed
With n Nodes Input: All nodes positions Output: The vertexes set N of the LCP that all nodes can form 1: Set the node with the minimum value Y on the left boundary as the initial node P. 2: A Cartesian coordinate is established with P as the origin and makes a directed line L d overlapped with the y-axis. 3: Termination criterion T : L d repasses through the initial node P. 4: Initializes node subset N = {P}. 5: While Not T Do 6: if other nodes just above P then 7: According to the distance between these positions and P, add them into N from near to far, N := (N , P i ), where i = 1, 2, · · · , n − 1. 8: end if 9: Move the rotation center to P i newly added to N . 10: Rotate L d clockwise until intersects any node. If L d passes through more than 1 node at a certain angle, then append these nodes to S from near to far.
Note that the LCP here is the polygon with the largest size. Besides, the position of P can also be arbitrary. In this paper, we place P at the down-left corner of the grid model.

C. SUBPATH COVERAGE AREA
A new concept called subpath coverage area (SCA) is proposed to solve the problem to minimize cost increments. Each subpath refers to the path connected by two adjacent nodes of the LCP. The shortest length of a subpath is calculated by Manhattan distance, but there may be several actual routes with the same shortest length. For example, the shortest distance between P and P 1 is 4, but more than one path can be selected, as displayed in Fig. 6(a-e). Note that, we assume that the length of each segment of the grid line is 1 in this paper. All the shortest routes locate in the rectangle formed by the two nodes. Then, if a new node P 2 locates in the rectangle formed by P and P 1 , the length of the newly generated path P → P 2 → P 1 will not increase after inserting P 2 , as the gray area shown in Fig. 6(f). So we call the rectangle as the coverage area of this subpath. Meanwhile, some subpaths can only cover a grid edge, such as P → P 1 , P 8 → P 11 and P 10 → P in Fig. 5. So we can draw a conclusion: if a new node locates in a SCA, the new path length will not increase after inserting it into the subpath.

IV. ATTRIBUTION OF THE INTERIOR NODES
If a node to be inserted does not locate in any SCA, it can be called as an interior node, such as P 4 , P 5 , P 6 , P 9 , P 12 and P 13  in Fig. 7. Next, the problem can be translated into: find the shortest path between each interior node and a certain SCA.
When searching the SCA closest to P 4 , only the distances between P 4 and four boundaries of each SCA needs to be determined. And each boundary is a line segment, not a straight line. The calculation method of the distance of point-to-line segment is different from the distance of pointto-straight line extremely, as explained in algorithm 2.
The problem is viewed as finding out the shortest distance of point-to-line segments, but there are still many boundaries to be considered.
To reduce automatically the number of boundaries to be considered, the following concept called ''region between boundary'' (RBB) is introduced to remove unused boundary. RBB is composed of the rectangular frame and the straight lines connected by the nodes with boundary attributes. In Fig. 8, the gray areas are the RBBs, which represent the active range of the remaining vertices of the LCP. Then these subpaths in the RBBs can be generally classified as k > 0 and k < 0 in terms of slope k. But it is not concluded that the boundary selection of SCAs is on the basis of k. Such as P 1 → P 3 and P 11 → P 10 , the the bottom and right side of SCA of P 1 → P 3 is obviously closer to the interior Algorithm 2 Calculation Method of Point-to-Line Segment Distance Based on the Grid Model Input: The coordinate of node N (x N , y N ). The coordinates of the two vertices U and V of the line segment (x U , y U ) and (x V , y V ). Output: The closest distance between N and the line segment. nodes, while P 11 → P 10 is the left and top side. Even if the slope k of both paths is greater than 0, the selected boundaries are different. Therefore, if the slopes of several paths are all greater or less than 0, it cannot be relied on this principle to classify subpaths roughly.
As shown in Fig. 8, we use the boundary attributes of nodes to determine the four boundaries of the LCP, namely PP 1 , P 7 , P 8 P 11 and P 10 P, respectively. Although P 7 is only a node, it also represents a boundary. These nodes can form a list of boundary nodes, B = {P, P 1 , P 7 , P 8 , P 11 , P 10 , P}. After extending these boundaries separately, the obtained rectangular frame will generate RBBs with the polygon connected by the boundary nodes in sequence. Then all the remaining vertices of the LCP are in the gray area.
The selection rules of SCA boundaries are given in table. 1. For the subpaths in the RBB formed by the left and top boundary, the bottom and right side of the SCA is selected. For the subpaths in the RBB formed by the top and right boundary, we choose the bottom and left side of the SCA. For the subpaths in the RBB formed by the right and down boundary, we select the top and left side of the SCA. For the subpaths in the RBB formed by the left and bottom boundary, the top and right side of the SCA will be picked.
As can be seen from table. 1, the selected sides of a SCA and the formed boundaries of a RBB are complementary. Such as the selected sides of the SCA of P 1 → P 3 and P 3 → P 7 are bottom and right side by the proposed selection rules, while the RBB is formed by the top and left boundaries. When unnecessary boundaries are eliminated, these selected boundaries will make up the minimum range of SCA, as the black thick lines shown in Fig. 9. The distance between a interior node and the selected boundaries of a SCA will be calculated as algorithm 3. After calculating the nearest SCA boundary, the interior node will belong to the subpath that form this SCA.

Algorithm 3
Calculate the Nearest Boundary of a SCA to a Interior Node 1: Use algorithm 1 to find the LCP. 2: Determine the mathematical representation of RBBs. 3: Determine the RBB which the remaining vertices locate in, respectively. 4: According to the path selection rules in table 1, obtain the minimum range boundary of all SCAs. 5: Algorithm 2 is used to calculate the distance from the node to each boundary d i (i = 1, 2, · · · , n). 6: The nearest boundary of SCA to a node is calculated by d min = min{d 1 , d 2 , · · · , d n }.

V. PATH PLANNING IN COMPLEX SITUATIONS
After formulating the simple path planning rules, three situations are considered in this section as follows: (1) multiple interior nodes locate in the same SCA; (2) multiple interior nodes do not locate in any SCA; (3) path fusion of the two types of nodes above.

A. PATH PLANNING FOR MULTIPLE NODES IN A SAME SCA
This subsection mainly introduces the path planning rules for multiple nodes in the same SCA. Following the LCP is determined, the SCAs will be created by two adjacent vertexes. As shown in Fig. 10(a), there are six nodes in the SCA of P → A. It is considered that inserting all the six nodes into subpath P → A with a minimum cost. As shown in Fig. 10(b), the thick black lines are the edges of the LCP that all interior nodes can form. The edges of the LCP obtained by algorithm 1 are P → C, C → F, F → G and G → A beside P → A. There are several new SCAs and three interior nodes B, D and E in the newly formed convex polygon. The newly produced SCAs is given as the gray areas in Fig. 10(b). The interior nodes D and E does not locate in any new SCAs. So find the nearest SCAs to the two interior nodes is necessary. First, table 1 is used to find out the minimum range of the SCAs, as the thick black lines in Fig. 10(c). Then algorithm 2 and 3 are used to find the nearest SCA boundary to D and E, respectively. The final path is Fig.10(d).

B. PATH PLANNING FOR MULTIPLE INTERIOR NODES NOT IN ANY SCA
This subsection will mainly design the rules for path planning under the background of multiple interior nodes not in any SCA, as shown in Fig.11. If multiple interior nodes get the shortest distance from a same SCA boundary, then these nodes will be classified into a group. As Fig.11 shows, P 4 obtains the shortest distance from the minimum range of the SCA of P 3 → P 7 and P 7 → P 2 , so it will be classified to these two subpath randomly. The rest nodes P 5 , P 6 , P 9 , P 12 and P 13 are divided to their corresponding category.
Such as subpath P 7 → P 2 , a directed line is set from P 7 . Then, the line is rotated as the way similar to algorithm 1 to find the LCP, until it interacts with the destination P 2 . Note that, the LCP generated at this time is called the second-generation LCP and the LCP determined by all nodes for the first time is called the first-generation LCP. If there is any new interior node in this new polygon, algorithm 2 and 3 are used to find out the closest new SCA.

C. PATH FUSION OF THE TWO TYPES OF NODES ABOVE
In this subsection, we consider fusing the paths of the nodes in the same SCA and the nodes classified into this SCA. As shown in Fig.12(a), the red triangles are the first-generation SCAs and the gray areas represent the second-generation SCAs.
As Fig.12(b) shows, the gray lines represent the path planned for the nodes in the same SCA and the blue lines represent the path designed for the nodes classified into a same subpath. Note that, these straight lines between two nodes does not indicate the actual routes, just highlight the order of traversing nodes.
Next, two types of paths are considered to merge into one path. Firstly, we divide the plane into four parts by extending two right-angled sides of the triangle of SCA, as shown in Fig.13(a) Then the path starts from J and finds the nearest node I 1 . Meanwhile, determine whether there are other nodes in region A 3 with the same y value as node I 1 . If so, go to the node next step; If not, go to X 1 with the same y value as I 1 .
When selecting the next node, the node to be selected that is consistent with the region of the current node has a higher priority. Otherwise, continue searching the closest position along with Y axis. The rest may be deduced by analogy and the complete path as shown in Fig.13(b). Notice a special case appears in the subpath I 4 → I 5 → Y 6 . I 4 choose I 5 to be the next node rather than Y 6 that have the same x value with it. That is because that I 5 has the biggest x value than the remain nodes (i.e. I 5 is the farthest node from the bottom of the SCA, the path will never arrive at this level) and the length of I 4 → I 5 → Y 6 is shorter than I 4 → Y 6 → I 5 . Having both conditions at the same time will go forward in this order.

VI. ALGORITHM COMPLEXITY ANALYSIS AND EXPERIMENTAL EVALUATION
ACO and GA are constantly considered classic algorithms to solve this problem, so they are chose to compare with our proposed algorithm on the performance of calculation time and path length, respectively. The performance of algorithms depends on the configuration of the computer and the programming language used. During the experiments, the configurations of the computer are Microsoft Windows 10, the CPU of intel(R) Core(TM) i7-8550U CPU @1.80GHz, the graphics card of NVIDIA GeForce MX150 and 8G RAM for simulation. All algorithms are implemented by python 3.7 programming.
Moreover, to verify the performance of the three algorithms on the number of small-scale positions, the experiments will be executed separately with 20, 30, 40 and 50 random nodes. Our test instances in the experiments are the random nodes on Cartesian coordinates rather than the instances on TSPLIB, because we want to observe the performances of our algorithm in this logistics warehouse grid model rather than the effect in a particular environment.

A. ALGORITHM COMPLEXITY ANALYSIS
Suppose the scale of the current TSP problem is n, i.e. there are n nodes in total. The proposed algorithm starts with finding the LCP. And the LCP search algorithm described in Algorithm 1 can be understood as every time find a vertex of LCP, all n nodes need to be traversed, so the time complexity of the proposed LCP search algorithm is O(nh), where h is the number of the vertexes of LCP. If all nodes are vertexes of LCP, the time complexity of LCP searching algorithm is also the time complexity of the proposed algorithm, i.e. O(n 2 ). In the meanwhile, the opposite of this situation is that the number of the vertices of LCP are found to be the smallest each time, that is, 4 vertexes.
As shown in Fig. 14, if the number of the vertexes of LCP is 4, then the plane can be divided into 5 parts, which are the SCAs composed of the four subpaths and an area between them. Suppose the remain (n−4) nodes are evenly distributed in these 5 parts, so there are (n−4)/5 node in each part. Next, the process of finding new LCPs for the nodes in the first to fourth parts and the division of the nodes in the fifth part will be performed. At the same time, assume that the number of vertexes of the new LCP is also the smallest, i.e. 3 vertexes, so the time complexity so far is O(4n)+O(((n−4)/5+2)×4)+ O((n − 4)/5). We treat the calculation so far as a loop. Next, after adding some nodes to the partial solution S, the remain nodes will continue the process of finding LCP or division. Assuming the number of loops is L and L is a constant. After add all nodes are into S, the overall time complexity is So the upper bound of the time complexity of the proposed algorithm is O(n 2 ) and the lower bound is (n).
We also analyzed the space complexity of the proposed algorithm. Firstly, we use S to store the nodes have been identified, and the initial S contains the vertexes of LCP, so the space complexity is O(h). And if all the nodes are the vertexes of LCP, the overall space complexity of the proposed algorithm in this special case is O(n). Next, the remain (n−h) nodes will continue to search for LCP or be assigned to a subpath according to their location, and the space complexity of this step is O(n − h). Simultaneously, several new subpaths will be generated. If there are no unprocessed nodes in the coverage area of a certain subpath, the subpath will not continue to be stored. Later, the next loop will start, and L also means the number of loops which is a constant. And as mentioned above, if all nodes are the vertexes of LCP, the overall space complexity is O(n), so the space complexity of the proposed algorithm is Fig.15, it can be seen that the proposed algorithm achieves a better performance than ACO and GA. GA has the worst performance in shortest path length and stability ratio. The reason is that each step of GA requires local optimization, which cannot guarantee global optimization. Besides, the optimization degree is also related to starting position. Note that, all length values are calculated from the nodes coordinate without any units. And the length of each segment of the grid line is 1. Meanwhile, the local search ability of GA is poor, which results in consuming time. The search efficiency is lower in later stages of evolution, and it is easy to cause premature convergence problems. With a large number of positions, obtaining a satisfactory solution often requires an unbearably quantity of iterations.
However, ACO performs much better than GA on convergence, because it is not affected by the starting position and the ending position. When the number of positions is large, ACO is easy to fall into the non-optimal solution, and even the detours and deadlocks may appear. Moreover, if the parameters α and β are not set properly, the calculating efficiency is very slow, and the quality of obtained solution is particularly poor. In contrast, the proposed algorithm can maintain good length performance in small-scale number of random positions. The total traversal length is basically linear with the number of positions n.
Note that the paths in the simulation pictures show that the path between two positions is directly connected by a straight line instead of the grid lines, which is to observe the traversal order more intuitively. In fact, in the program we use the Manhattan distance to calculate the two-position distance.

1) EXP 1 (WITH 20 RANDOM NODES)
From the experiments of 20 random positions, it is difficult for ACO and GA to obtain the optimal solution. For ACO, the most obtained solution of path length that can be achieved with unlimited number of iterations is 3326 in Fig. 16(a). The path lengths obtained in many tests are even longer. Then for GA, the most obtained path length in Fig. 16(b) with 3329 is not as good as ACO, and it needs more iterations than ACO. The proposed method does not require iterative calculations, and it can obtain the shorter path length with 3309 in each test as shown in Fig. 16(c).

2) EXP 2 (WITH 30 RANDOM NODES)
Since the second experiment, the gap between the three algorithms has expanded. Not only ACO and GA is difficult to get the same length as the path obtained by the proposed method, but also many detours will appear in the path obtained as shown in Fig. 16(d)-(f).

3) EXP 3. (WITH 40 RANDOM NODES)
In exp 3, deadlocks often occur in the paths obtained by ACO and GA, that is, these two algorithms often fall into a local optimum, and regard the current suboptimal solution as the optimal solution. This is also the biggest drawback of these two algorithms as shown in Fig. 17.

4) EXP 4. (WITH 50 RANDOM NODES)
In Fig. 17, ACO can still not avoid deadlock and detour with 2000 iterations and even more, which is enough to see the disadvantage of ACO. With fewer iterations, the resulting path will be worse in the face of 50 random nodes. GA achieved the most obtained length performance similar to ACO with 4773 by 2000 iterations. At this time, GA resolved the detour that ACO had not resolved sometimes, but another larger detour appeared. In some cases, as the number of iterations increases, the performance of the GA even deteriorates.
Through the results of the experiments above, it can be seen that the proposed method can solve the problem of local optimum and detour in ACO and GA, respectively.

C. TIME PERFORMANCE COMPARISON
The time optimization performance of each algorithm is shown in Fig. 18. The data is the average value of 100 experiments. It can be seen from Fig.18 that the ACO has a great advantage on the stability of operation results. However, the performance of ACO is determined by the pheromone. When the initial pheromone is lacking, it is easy to cause the algorithm to solve too slowly or fall into local optimum. In addition, if α and β are set improperly. The calculation speed is also slow, and the quality of resulting solution is particularly poor. In order to obtain a satisfactory result, ACO often requires a large number of iterations, but it is difficult to obtain the optimal solution similar to GA due to a limited number of iterations. The running time of the proposed algorithm is linear with n and has the shortest running time compared with others.
Note that, the execution time of an algorithm refers to the time it spends converging to the optimal solution at the first time. The data of all algorithms execution time is also the average of 100 experiments.
As can be seen from Fig.18, the execution time of the proposed method has been significantly optimized, which has been reduced by 120.86, 137.74, 153.76 and 183.87 times in 4 experiments compared with ACO and reduced by 144.70, 155.77, 179.14 and 232.69 times compared with GA.

VII. CONCLUSION
The paper is concerned with the path planning problem for robots under a given logistics warehouse environment. Two issues focused on in this paper are the calculation time of the algorithm and the driving path length. We propose a novel path planning algorithm for solving this type of robot path planning. Through extensive experimental evaluation, the results demonstrate the superiority of the proposed method compared with ACO and GA. In the future, we will focus on the path planning problem in 3D space, then the cooperation of multiple warehouse robots will also be investigated.