I Introduction
Recent years have seen increasing popularity of AGVs (Automated Guided Vehicles) in industrial applications. AGVs are robotic vehicles that picks up and delivers materials around a manufacturing facility or warehouse. The introduction of AGVs has brought many notable advantages[1], such as the production efficiency and flexibility.
At the heart of AGV system design is the intention to improve the efficiency while preventing deadlocks. In [2], Reveliotis proposed a multiAGV control architecture where the deadlock resolution and the system performance considerations are decoupled. An efficient algorithm was also proposed to constrain the whole system in safe states, so as to rule out deadlock problems. Petri nets are another popular mathematic tool to handle deadlock problems because of their inherent characteristics, leading to a variety of deadlockcontrol policies in AGV systems [3, 4].
While the deadlock problem receives a lot of attention in the past few decades, much less literatures focus on how to improve the efficiency. [5] attempt to optimize the dispatch rules by relying on the formulation of a Minimum Cost Flow Problem to improve the efficiency. Similarily, in [6, 7], the authors optimize the dispatch rules to improve the efficiency by monitoring parameters reﬂecting efﬁciency and uniformity of material distribution. In [8], the entire factory operation environment is divided into several sectors, so as to reduce the number of traffic conditions such as AGV encounters, and eventually improve the efficiency. Shortest paths are not necessarily the the least timeconsuming routes for AGVs to take. In [9, 10, 11]
, the current traffic is taken into account in path planning, so as to schedule paths with shortest travel time to AGVs. Many heuristic methods are proposed to directly compromise deadlock preventing requirements and the desire for efficiency
[12].Usually, in industrial environments, the AGVs work together with humans and many other machines. But these machines are often designed and installed independently. Unaware of other systems is a source of inefficiency. In this paper, we propose a novel method to improve the efficiency of AGVs by predicting future tasks. Usually, tasks are created by operators, demanding an AGV to pick up materials from one location and then deliver to another. If the central coordinator knows exactly where the next task begins, it can make use of this information and send an idle AGV to that location, so that the next task can be executed immediately once it is created. The reason that it is possible for the central controller to make the prediction is that usually tasks are not arbitrary in most applications, i.e., tasks are usually correlated. For example, in assembly lines the the semifinished products are moved from one workstation to the next. Correspondingly, if an AGV system is adopted, tasks demanding AGVs to deliver products to consecutive workstations are likely to be highly correlated.
Deep learning, a rapidly growing field in the past decade, has shown to be very effective in variety of prediction tasks. One category of deep learning models, namely the recurrent neural networks with Long ShortTerm Memory (LSTM)
[13],[14] are exceptionally outstanding for handling sequences [15, 16, 17], and is utilized in this paper. Deep learning is sometimes criticized for being a “black box” [18], especially in applications where the performance should be insured, e.g. industrial, medical applications, etc. For this reason, in this paper, we are not going to propose an approach to coordinate AGVs by deep learning alone, but rather, we combine traditional AGVs scheduling algorithms with deep recurrent neural networks, and take advantage of both methods. With traditional scheduling algorithms, for example, dynamic path scheduling algorithm based on time window (hereinafter referred to as DPSTW)[19] or greedy path scheduling algorithm (hereinafter referred to as GREEDY, which is adopted in [20], an open source platform), deadlock and conflicts are strictly prevented, while with deep learning, the efficiency is increased as we can predict future tasks.The rest of the paper is organized as follows. In the Section II, several notations are introduced. Section III describes the DPSTW and GREEDY. How we use neural network to predict the future task is introduced in Section IV. In Section V we propose a method to make use of the prediction result to increase the efficiency of the AGV system. Simulation results are then shown in Section VI. Finally, we contain some concluding remarks in Section VII.
Ii Notations
The guidepath of a considered AGV system is defined as a directed graph (shown in Fig.1) which contains a set of nodes and a set of weighted edges . A node represents the intersection or the end of a path, while an edge represents a section of a path between adjacent nodes. The weight of an edge denotes its length or the nominal travel time of AGVs on it.
Assume that there are AGVs travel on . Each of them are either idle or processing tasks. Tasks are created by operators, demanding an AGV to travel from a starting node to a destination node, and possibly perform some actions there.
The set of all tasks is denoted by . All the completed tasks consists of a set . The active tasks are then within the set .
Iii AGV Coordination
Functionally, the central coordinator consists of three major components, which are the router, the dispatcher, and the scheduler.
The main purpose of the router is to find one or more routes for a given pair of nodes. When an AGV is assigned a task, it needs to find a route first. If the router only finds the shortest route, it might take a long time for all the tasks to complete since some of the routes may overlap and at least one AGV has to wait until the overlapped part of routes is released. However, if several alternative routes are given, it is possible to find a more efficient scheduling result. The router adopts Yen’s algorithm [21] to accomplish this goal, which tries to find shortest routes for the given pair of nodes. Yen’s algorithm is based on Dijkstra’s algorithm, the latter of which finds only one shortest path and can be viewed as a special case () of the former.
The dispatcher decides which order should be processed by which AGV. This is accomplished by a greedy algorithm. The tasks are first sorted according to their priorities. Then, the dispatcher attempts to assign the first unassigned task to an idle AGV that is nearest to the starting node of the task. The distance between the current location of the AGV and the starting node is given by the router. If all AGVs are busy, the tasks just hang on and wait for the dispatched orders to be completed.
The scheduler allocates resources for the dispatched orders. Two different algorithms are considered in this article.
The first one is a timewindow based algorithm [19] (Dynamic Path Scheduling algorithm based on Time Window, referred to as DPSTW in the following), which prevents conflict and deadlock problems in advance. Specifically, the scheduler determines at what time, which robot will occupy which arc. Thus it is able to prevent the deadlock and conflicts at scheduling time. The robots are first sorted according to the priorities of the orders they are processing. Then the scheduler tries to register a feasible earliest timewindow for each arc these robots are going to travel, one after another. The width of the timewindow is determined by the length of the arc and the velocity of the robot. Let us elaborate the scheduling process by an example. Assume that some arc is occupied at time intervals and . At time , we are going to register a timewindow on this arc with width . If , it is inserted before . If this is not the case, then the length of the intervals between these two intervals is checked. If the condition is satisfied, the timewindow is inserted between and . Otherwise, it is inserted after . For more details, we refer the reader to [19].
Another scheduling algorithm is a greedy algorithm. In this algorithm, if a robot is about to enter an arc, it will first asks the edge controller to check if the arc and its ending nodes are being occupied by other robots. If not, entering the edge is approved. Otherwise, the robot has to wait, until the resources are freed. As one can easily pointed out, deadlock prevention is not guaranteed in this algorithm. But under certain circumstances, such problems can be avoided. A typical example is that the graph is circular, with no arcs pointing in opposite directions. In such a graph, all robots travel in the same direction and therefore there will be no deadlock problems. This simple algorithm is actually effective, if it is possible to design such a graph. It is adopted in OpenTCS [20], an open source AGV control system.
Iv Predicting Future Tasks
As we have mentioned, deep learning methods are very efficient in tasks such as prediction. In this section, we develop a deep learning model to efficiently predicting future tasks. To begin with, assume that we have a data set of recorded tasks, each of which were created by the operators. Consecutive tasks, or, a sequence of tasks in the data set, are utilized to make a prediction of the next task. To be more specific, the sequence of starting nodes of the past tasks are utilized to predict the staring node of the next task.
As sequential data is involved, it is natural to use Recurrent Neural Networks (RNNs) to build the model. Our neural network model is shown in Fig. 7. The input consists of the starting nodes of the past
tasks, as we have stated. Each node is represented by an onehot vector, that is, a vector filled with 0 except for a 1 at the index of the node. The input is connected to a two layer LSTM cells, whose output are then fed into a fully connected layer. The topmost is an output layer, computing the logit which predict the loglikelihood of the starting node of the next task, as shown in Fig.
7.V Increasing Efficiency
Thanks to the model introduced in the last section, we are able to predict the starting node of the next task . In this section we propose a method to make use of this information to increase the efficiency of the system.
The approach we are going to take is creating a new task with being its target node, that is, by creating the new task , we demand the system to send an AGV to . The intuition is that once the next task is created by operators, it can be immediately executed by the AGV we sent to , without having to wait for some AGV to go there first. For convenience, let us call task the predicted task. In other words, predicted tasks are tasks created by the algorithms that are described in this section, so that they can be distinguished from tasks directly created by operators.
The first problem we need to solve is determining the best timing for creating predicted tasks. Continuously creating predicted tasks will increase the system overhead, and is more likely to reduce the efficiency. A natural method to solve this problem is creating predicted tasks only when the system is not busy. To measure how idle the system is,we define a measure
(1) 
is the elapsed time of the system, and recall that is the set of all completed tasks, and contains all the tasks that have been created. If , then on average, a task is completed during the time a new task is created.
Note that we do not simply measure how idle the system is by counting the number of idle AGVs, because it is possible that the dispatcher and the scheduler are buffering tasks, and they will be assigned to these AGVs instantly. We can combine both the number of idle AGVs , and the measure to determine a good timing for creating predicted tasks. If at present, the following condition is satisfied
(2) 
then a predicted task is created, where and
are hyperparameters. They can be tuned by crossvalidation.
Now another problem is that the predicted starting node of the next task might be wrong. In such cases, sending an AGV to only increases the overhead of the system. To overcome this problem, if a predicted task is created, we first determine whether the prediction was wrong or not by comparing it with the next task from the operator. Note that this can not be done until is created. If it was wrong, we just cancel the predicted task immediately. If we made a correct prediction, the newly created task is manually assigned to the AGV processing . So that the AGV will excecute right after it finishes task .
Vi Simulation Results
To evaluate the performance of the proposed method, we conduct several experiments with different guidepaths, i.e., each of the experiments has its own configurations of markers and wires. The guidepaths considered in the simulation are shown in Fig. 5. Two of the guidepaths are actually being used in real plants (Guidepath 1 and 2), and the other two are synthesized, which look similar to a grid and a ring, respectively. We combine the proposed method with two conventional scheduling algorithms, namely, the DPSTW and the GREEDY algorithm, to show how the efficiency is improved. Since in the GREEDY algorithm deadlock problems may happen, the ringlike guidepath (Guidepath 4) is designed specifically for the purpose that no robots will travel in opposite directions. So that the deadlock problem is prevented. The number of AGVs is set to 8.
In real cases, tasks are correlated. The correlation is modeled by a Markov chain. The transition matrix is defined as
(3) 
where and are the starting nodes of consecutive tasks. In the simulation, the tasks are generated according to Eq. (3), i.e., their starting nodes are correlated as indicated by Eq. (3). The busyness of the system is defined to be the average number of tasks issued in an hour. These generated tasks are then divided into training set and test set , and then used to train the neural network and evaluate the performance respectively. The average completion time of all tasks is used to evaluate the performance:
(4) 
The average completion time of tasks for the first three guidepaths are shown in Fig. 12 a, Fig. 12 b and Fig. 12 c. In these figures, the curves marked with circles and squares are the average completion time for DPSTW and the proposed method, respectively. The dashed curve shows how the efficiency is improved in the proposed algorithm, with respect to DPSTW. In the Fig. 12 d, we compare the proposed method with the GREEDY algorithm, accordingly the map we use is the last guidepath(shown in Fig. 5 d.
We can see that the proposed method is more efficient than DPSTW and GREEDY in most cases. Only when the system becomes really busy, their performance get close. For example, in Fig. 12 c, when almost 250 tasks are issued in an hour, or, new tasks are issued every 14 seconds, the improved efficiency approaches 0. This makes sense because in such cases not too much can be done to improve the efficiency. As the system becomes busy, the performance of DPSTW, GREEDY and the proposed method all decays. But in cases of practical significance, with the proposed method, the efficiency is improved, by up to 20% to 30%.
Vii Conclusion
This paper presents an approach to predict future tasks in multiAGV systems. This approach takes advantage of both traditional scheduling algorithms and deep learning. With the former, deadlock and conflicts are strictly prevented, while with deep learning, the efficiency is increased. By predicting the starting node of the upcoming task and scheduling an AGV there if certain conditions (Eq. (2)) are satisfied, it saves the time of waiting for an AGV to go to the starting node when the upcoming task is created. The efficiency is shown to be significantly improved.
References
 [1] L. Sabattini, V. Digani, C. Secchi, G. Cotena, D. Ronzoni, M. Foppoli, and F. Oleari, “Technological roadmap to boost the introduction of agvs in industrial applications,” in 2013 IEEE 9th International Conference on Intelligent Computer Communication and Processing (ICCP). IEEE, 2013, pp. 203–208.
 [2] S. A. Reveliotis, “Conflict resolution in agv systems,” Iie Transactions, vol. 32, no. 7, pp. 647–659, 2000.
 [3] N. Wu and M. Zhou, “Modeling and deadlock control of automated guided vehicle systems,” IEEE/ASME transactions on mechatronics, vol. 9, no. 1, pp. 50–57, 2004.
 [4] ——, “Shortest routing of bidirectional automated guided vehicles avoiding deadlock and blocking,” IEEE/ASME transactions on mechatronics, vol. 12, no. 1, pp. 63–72, 2007.
 [5] G. Confessore, M. Fabiano, and G. Liotta, “A network flow based heuristic approach for optimising agv movements,” Journal of Intelligent Manufacturing, vol. 24, no. 2, pp. 405–419, 2013.
 [6] N. Singh, P. V. Sarngadharan, and P. K. Pal, “Agv scheduling for automated material distribution: a case study,” Journal of Intelligent Manufacturing, vol. 22, no. 2, pp. 219–228, 2011.
 [7] L. Lin, S. W. Shinn, M. Gen, and H. Hwang, “Network model and effective evolutionary approach for agv dispatching in manufacturing system,” Journal of Intelligent Manufacturing, vol. 17, no. 4, pp. 465–477, 2006.
 [8] V. Digani, M. A. Hsieh, L. Sabattini, and C. Secchi, “A quadratic programming approach for coordinating multiagv systems,” in 2015 IEEE International Conference on Automation Science and Engineering (CASE). IEEE, 2015, pp. 600–605.
 [9] L. Sabattini, V. Digani, M. Lucchi, C. Secchi, and C. Fantuzzi, “Mission assignment for multivehicle systems in industrial environments,” IFACPapersOnLine, vol. 48, no. 19, pp. 268–273, 2015.
 [10] Z. Zhang, C. Bo, and W. Chen, “Dynamic routing of automated guided vehicles with time window,” Microcomputer Applications, vol. 32, no. 11, pp. 46–49, 2016.
 [11] Y. Chen, L. Zhuang, L. Zhu, X. Shao, and H. Wang, “Research on path planing of parking system based on the improved dijkstra algorithm,” Modern Manufacturing Engineering, no. 8, pp. 63–67, 2017.

[12]
M. Gen and L. Lin, “Multiobjective evolutionary algorithm for manufacturing scheduling problems: stateoftheart survey,”
Journal of Intelligent Manufacturing, vol. 25, no. 5, pp. 849–866, 2014.  [13] S. Hochreiter and J. Schmidhuber, “Long shortterm memory,” Neural computation, vol. 9, no. 8, pp. 1735–1780, 1997.
 [14] I. Sutskever, O. Vinyals, and Q. V. Le, “Sequence to sequence learning with neural networks,” in Advances in neural information processing systems, 2014, pp. 3104–3112.
 [15] F. A. Gers, J. Schmidhuber, and F. Cummins, “Learning to forget: Continual prediction with lstm,” Neural Computation, vol. 12, no. 10, pp. 2451–2471, 2000.
 [16] F. A. Gers and J. Schmidhuber, “Recurrent nets that time and count,” in Proceedings of the IEEEINNSENNS International Joint Conference on Neural Networks. IJCNN 2000. Neural Computing: New Challenges and Perspectives for the New Millennium, vol. 3. IEEE, 2000, pp. 189–194.
 [17] F. A. Gers and E. Schmidhuber, “Lstm recurrent networks learn simple contextfree and contextsensitive languages,” IEEE Transactions on Neural Networks, vol. 12, no. 6, pp. 1333–1340, 2001.
 [18] G. Marcus, “Deep learning: A critical appraisal,” arXiv preprint arXiv:1801.00631, 2018.
 [19] N. SmolicRocak, S. Bogdan, Z. Kovacic, and T. Petrovic, “Time windows based dynamic routing in multiagv systems,” IEEE Transactions on Automation Science and Engineering, vol. 7, no. 1, pp. 151–155, 2009.
 [20] IML, “The open transportation control system,” https://www.opentcs.org/en/index.html.
 [21] J. Y. Yen, “Finding the shortest loopless paths in a network,” management Science, vol. 17, no. 11, pp. 712–716, 1971.
Comments
There are no comments yet.