1 Introduction

With the development of logistics technology, automated guided vehicle (AGV) is playing an increasingly important role on flexible manufacturing system. The purpose is to increase efficiency in material transfer and improve production. In the past four decades, the progress of hardware of AGV has far exceeded that of software [1]. The inherent complexity of multi-AGV system reflects in routing and scheduling which make task of programming AGVs a difficult one [2, 3]. While conflicts, deadlocks and other problems of AGVs are challenging problems in flexible manufacturing system, increasing flexibility and efficiency of multi-AGV system becomes more and more necessary [4].

Some models have been introduced to investigate the multi-AGV system, such as flow path design model and regional control model. Flow path design model improves the path flexibility of AGV system, but the model increases the complexity of control and increases the probability of collisions [5, 6]. In order to minimize the complexity of scheduling problems, a tandem regional control model for AGV systems has been developed [7]. In this model, the transport space is divided into non-overlapping coverage of a number of regions and each region can only accommodate one operating AGV. Every AGV only serves in a fixed region, and the regions have to exchange products through an exchange station. To ensure that collisions between AGVs will not happen, control process and path planning of AGV has to be greatly simplified [8, 9]. Because of exchanging products in exchange station wastes a lot of time, the productivity and efficiency of the system are reduced a lot [10]. To some extent the tandem regional control model has been improved to balance the load of regions and reduce the number of inter-regional exchange [11], but the problem about the model still exists.

To overcome the shortcoming of tandem regional control model, a new regional control model for multi-AGV system is presented in this paper. Compared with tandem regional control model, the exchange station between regions dose not exist in the proposed regional control model, ensuring AGVs can enter every region freely, so that the problem of wasting time in exchange station is solved and the AGV collisions can be controlled. The aim of this research is to improve the flexibility, efficiency and controllability of the multi-AGV system based on the proposed regional control model.

The remainder of the paper is organized as follows. Section 2 presents a multi-AGV system based on new regional control model and describes its scheduling strategy in detail. Based on the proposed regional control model, Sect. 3 illustrates a distributed coordination control mechanism for multi-AGV system. Section 4 introduces a pilot test bed for simulating the proposed distributed controlling of multi-AGV system. Section 5 describes the simulation of multi-AGV system, and Sect. 6 concludes this paper.

2 Multi-AGV system based on a new regional control model

The structure of the proposed regional control model is shown in Fig. 1. In this new regional control model, a plant can be divided into different regions in accordance with manufacturing cells. AGVs can deliver material between different regions. Every region associates with each other without any exchange station, and it acts as an independent manufacturing cell. This structure makes control strategy of multi-AGV system simple, and easy to implement distributed control, which greatly reduces the possibility of conflicts and deadlocks of AGV.

Fig. 1
figure 1

Structure of a new regional control mode

AGV’s task is described that the AGV at starting node moves along the preset path to the target node according to the minimum path length. Regardless of the nature of the tasks such as picking, delivering and dispatching, AGVs ensure their normal operations along the preset path. In order to evaluate the proposed model, an objective function to optimize the control of multi-AGV system is proposed at first.

2.1 Objective function of multi-AGV system

In order to model the objective function of multi-AGV system, it is assumed that:

  1. 1.

    The path of AGV is one-way and the path length is non-negative;

  2. 2.

    AGV operates at constant and the same speed;

  3. 3.

    AGV loads parts required for only one task;

  4. 4.

    AGV stops at the nearest node when finishing a task;

  5. 5.

    Every buffer of AGV has the capacity for only one AGV.

Scheduling a multi-AGV system is to select the appropriate AGV as soon as possible to complete a new task. When many AGVs run together, scheduling is to optimize each path and take the use of coordination and control mechanism to minimize congestions and collisions. To ensure the efficiency of multi-AGV system, idle waiting time and conflicting waiting time is minimized to achieve optimal overall operating time of multi-AGV system. Accordingly, a mathematical model is presented as follows.

Firstly, the parameters and inputs should be determined.

N :

Number of AGVs

T ei :

Effective transportation time of the ith AGV

T fi :

Idle waiting time of the ith AGV

T ci :

Conflicting waiting time of the ith AGV

T O :

Overall operation time of multi-AGV system

η 1 :

Efficiency of multi-AGV system

η 2 :

Obstructed rate of multi-AGV system

λ 1 :

Weight of system efficiency

λ 2 :

Weight of system blocking rate

λ 3 :

Weight of total operation time

B 1 :

Coefficient of system efficiency

B 2 :

Coefficient of system blocking rate

Then the objective function is defined as

$$ f\left( {\eta_{1} ,\eta_{2} ,T_{O} } \right) = \hbox{min} \left( {\lambda_{1} \frac{1}{{\eta_{1} }}B_{1} + \lambda_{2} \eta_{2} B_{2} + \lambda_{3} T_{O} } \right), $$
(1)

where

$$ T_{O} = T_{ei} + T_{fi} + T_{ci} \quad i \in \left\{ {1,2,3, \ldots ,N} \right\} $$
(2)
$$ \eta_{1} = \frac{{\sum\nolimits_{i = 1}^{N} {T_{ei} } }}{{\sum\nolimits_{i = 1}^{N} {T_{ei} } + \sum\nolimits_{i = 1}^{N} {T_{fi} } + \sum\nolimits_{i = 1}^{N} {T_{ci} } }} = \frac{{\sum\nolimits_{i = 1}^{N} {T_{ei} } }}{{N \cdot T_{O} }} $$
(3)
$$ \eta_{2} = \frac{{\sum\nolimits_{i = 1}^{N} {T_{ci} } }}{{\sum\nolimits_{i = 1}^{N} {T_{ei} } + \sum\nolimits_{i = 1}^{N} {T_{fi} } + \sum\nolimits_{i = 1}^{N} {T_{ci} } }} = \frac{{\sum\nolimits_{i = 1}^{N} {T_{ci} } }}{{N \cdot T_{O} }} . $$
(4)

Constraint condition of the objective function is

$$ \lambda_{1} + \lambda_{2} + \lambda_{3} = C, $$

where C is a nonnegative constant.

2.2 Scheduling strategy of multi-AGV system

In order to study the AGV scheduling strategy, a digraph \( G = (V,E) \) is supposed, where \( V = \{ v_{1} ,v_{2} , \ldots ,v_{n} \} \) is the node set, and \( E = \{ (v_{i} ,v_{j} ):\quad v_{i} ,v_{j} \in V\} \) is the edge set. The edge length between v i and v j is defined as v ij , where \( i,j = 1, 2, \ldots ,n \). And the path length between node i and node j is defined as follows:

$$ d_{ij} = \left\{ {\begin{array}{*{20}c} 0 \hfill & {i = j} \hfill \\ {v_{ij} } \hfill & {i \ne j ,\;{\text{there}}\,{\text{are}}\,{\text{some}}\,{\text{edges}}\,{\text{between}}\,v_{i} \,{\text{and}}\,v_{j} } \hfill \\ \infty \hfill & {i \ne j,\;{\text{there}}\,{\text{is}}\,{\text{not}}\,{\text{any}}\,{\text{edge}}\,{\text{between}}\,v_{i} \,{\text{and}}\,v_{j} } \hfill \\ \end{array} } \right.. $$

A \( n \times n \) matrix, \( D = \left\{ {d_{ij} } \right\} \) is supposed to be the path length set. In Fig. 1 every length of edge is known, we can get initial path length matrix D 0. Based on Floyd Algorithm [12], D 1 is calculated from D 0, and D 2 is calculated from D 1, so as D n. Then \( D^{n} = \left\{ {d_{ij}^{n} } \right\} \) is the shortest path length matrix.

Based on the new regional control model, time consumed by multi-AGV systems consists of effective transportation time, conflict waiting time and idle waiting time. Effective transport time is calculated by the shortest path between two specified nodes. Conflict waiting time and idle waiting time are optimized by scheduling strategy. In order to optimize the system efficiency, a strategy of shortest waiting time (SWT) is presented. When a new task comes, the system will search for the nearest available AGV and distribute tasks to it. The algorithm is shown as follows:

Step 1: :

Generate off-line path database, and obtain the shortest path matrix \( D^{n} = \left\{ {d_{ij}^{n} } \right\} \) between any of nodes by Floyd algorithm.

Step 2: :

Initialize the AGV system, including recognizing position nodes and setting all AGVs to idle status with no-load.

Step 3: :

When a new task comes, search an AGV which arrives at the new task node in the minimum time. The AGV may be idle or working. Time spent by an AGV is defined as follows:

$$ t_{k}^{\prime } = \left\{ {\begin{array}{*{20}c} {t_{f} + \frac{{d_{kl} }}{V},} \hfill & {{\text{Working}}\;{\text{AGV}}} \hfill \\ {d_{kl}^{\prime } } \hfill & {{\text{Idle}}\;{\text{AGV}}} \hfill \\ \end{array} } \right., $$

where \( t_{k}^{\prime } \) is the time spent by AGV k to reach node l, \( t_{f} \) is the time expected to complete the current task, V is the speed of AGV, \( d_{kl} \) is the shortest path length between end node of the current task and node l, \( d_{kl}^{\prime } \)is the shortest path length between the current position of AGV k and node l.

Step 4: :

Take the minimum time \( t_{\hbox{min} }^{\prime } = \hbox{min} \left\{ {t_{1}^{\prime } ,t_{2}^{\prime } , \ldots ,t_{N}^{\prime } } \right\} \) among all AGVs, and distribute task to the corresponding AGV

Step 5: :

Refresh current location and status of all AGVs and wait for a new task.

Step 6: :

Repeat Step 3 to Step 5 until all tasks are completed. Then all AGVs go back to the garage and the scheduling is completed.

Scheduling strategy of SWT, which makes every new task completed timely and effectively, ensures operation efficiently and reduces the overall operation time of multi-AGV system. Furthermore, the calculation of the objective function \( f\left( {\eta_{1} ,\eta_{2} ,T_{O} } \right) \) can be used to evaluate the number of AGVs required.

3 Distributed control mechanism for multi-AGV system

3.1 Collision avoidance mechanism for multi-AGV system

The proposed new regional control model is a distributed control model, where each region has a similar organizational structure and coordinated control strategy. The i-th regional control area is shown in Fig. 2.

Fig. 2
figure 2

The ith regional control area

AGV in the control area may run on the following path:

  1. 1.

    From the entrance node V i to the resource node c, the running path is \( V_{i} \to a \to b \to c \).

  2. 2.

    From the entrance node V i to the next regional control area, the running path is \( V_{i} \to a \to e \to f \to V_{j} \) or \( V_{i} \to a \to e \to f \to V_{n} \).

  3. 3.

    From the resource node c to the next regional control area, the running path is \( c \to d \to e \to f \to V_{j} \) or \( c \to d \to e \to f \to V_{n} \).

For path (1), if the resource node c of the regional control area has been occupied, there is a potential conflict. In the situation, AGV needs to enter node b (AGV buffer) until node c is released. For path (2), if the node e of the regional control area has been occupied, AGV needs to enter node a until node e is released. For path (3), if node e of the regional control area has been occupied, AGV needs to enter node d (AGV buffer) until node e is released. If the AGV on node d and the one on node a will arrive at node e simultaneously, the AGV on node d enters node e preferentially. If entrance node V j or V n has been occupied, there is a potential conflict. In this situation, AGV needs to suspend the operation of the task on node e to avoid AGV collision in the rest of the region until the necessary path is released. Otherwise the AGV can run in accordance with a predetermined route. The decision logic of collision avoidance mechanism is shown in Fig. 3.

Fig. 3
figure 3

Decision logic flow of collision avoidance mechanism

3.2 Deadlock avoidance mechanism for multi-AGV system

In the new regional control model, every regional control area interconnects with each other, and each region has its own controller. Through the coordination between regions, the multi-AGV system can operate orderly. A deadlock avoidance mechanism, which is important for the coordination of AGVs, is represented as follows.

The reason of a deadlock event involves an AGV malfunction and a path loop with deadlock. When an AGV is broken-down, the regional controller removes the broken-down AGV from the path and sends information to the shop floor controller. Then the shop floor controller dispatches a new AGV to replace the broken one. Thus, other AGVs in deadlock caused by AGV failure can be released, and the system returns to normal status gradually. When a path loop meets deadlock, the regional controllers send information to their adjacent regional controllers to identify the condition of other paths. Then the adjacent regional controllers choose the most unobstructed path and the regional controllers in deadlock dispatch the nearest AGV to the chosen path. The AGV can reach its target node in a new path. Thus other AGVs in the path loop with deadlock can be released, and the status of system returns to normal.

The flow of deadlock avoidance control mechanism is shown in Fig. 4. This mechanism realizes adaptive control among regions and improves robustness, fault diagnosis and self-repairing capacity of multi-AGV system.

Fig. 4
figure 4

Flow of deadlock avoidance control mechanism

4 Test bed for multi-AGV system simulation

A test bed has been set up to simulate the operating mechanism of multi-AGV system.The structure of the best bed is shown in Fig. 5. An ARM (Advanced RISC Machine) controller linking with a Pentium IV personal computer serves as the shop floor controller. Several singlechips act as the regional controllers of each control region. These controllers are linked through a CAN bus to communicate with each other without a host computer. Here the CAN bus transmits production orders from the shop floor controller to the regional controllers. A wireless communication technology is adopted between the shop floor controller and an AGV. One automated storage/retrieval system (AS/RS) has been set up to store the raw materials and machined parts. A LCD TFT screen can show the real time operation situation of the whole multi-AGV system.

Fig. 5
figure 5

Simulation structure of the multi-AGV system

The physical test bed of the multi-AGV system is shown in Fig. 6. The test bed can simulate the operation of the multi-AGV system. The effectiveness and feasibility of the new regional control model is verified on the test bed with examples in next section.

Fig. 6
figure 6

The physical test bed of the multi-AGV system

5 Simulation on multi-AGV system

5.1 Experiment description

There are six jobs that need processing on six machines. Each job has six processes. The processing procedure is presented in Table 1. And the processing time is presented in Table 2. In the tables J i is serial number of job, M j is the serial number of machine. The given scheduling Gantt chart is presented in Fig. 7.

Table 1 Processing procedure
Table 2 Processing time
Fig. 7
figure 7

The given scheduling Gantt chart

Detailed experimental procedures are shown as follows:

Step 1: :

Initialize every regional controller of system: detect the number of AGVs available, and set operation-time of available AGVs to zero.

Step 2: :

According to the requirement of current task, ARM controller using the SWT strategy, dispatches AGV to complete transportation tasks dynamically. The task includes delivering material to a machining center from AS/RS, performing replacement of parts among machining centers, and transporting processed parts to AS/RS. Regional controllers monitor AGVs’ current status and location all the time, and coordinate AGVs based on distributed control mechanism to ensure no collision in the multi-AGV system.

Step 3: :

Every unit time, e.g. 1 s, each regional controller sends status information of current AGVs to ARM controller through the CAN bus to realize systematic control of multi-AGV system online. Then the operation time of the multi-AGV system adds one unit time.

Step 4: :

Repeat Steps 2 and 3 until the task is finished. And then dispatch AGVs to AGV garage.

5.2 Simulation results

Based on structure of regional control model in Fig. 1, the shortest path length between each workspace of AGV is given by

$$ D\left( {d_{ij} } \right) = \left[ {\begin{array}{*{20}c} {} & {AS} & {M_{1} } & {M_{2} } & {M_{3} } & {M_{4} } & {M_{5} } & {M_{6} } & G \\ {AS} & 0 & {2\lambda } & {3\lambda } & {4\lambda } & {5\lambda } & {4\lambda } & {3\lambda } & {2\lambda } \\ {M_{1} } & {4\lambda } & 0 & {2\lambda } & {3\lambda } & {4\lambda } & {3\lambda } & {2\lambda } & {3\lambda } \\ {M_{2} } & {5\lambda } & {4\lambda } & 0 & {2\lambda } & {3\lambda } & {2\lambda } & {3\lambda } & {4\lambda } \\ {M_{3} } & {6\lambda } & {5\lambda } & {4\lambda } & 0 & {2\lambda } & {3\lambda } & {4\lambda } & {5\lambda } \\ {M_{4} } & {5\lambda } & {4\lambda } & {3\lambda } & {2\lambda } & 0 & {2\lambda } & {3\lambda } & {4\lambda } \\ {M_{5} } & {4\lambda } & {3\lambda } & {2\lambda } & {3\lambda } & {4\lambda } & 0 & {2\lambda } & {3\lambda } \\ {M_{6} } & {3\lambda } & {2\lambda } & {3\lambda } & {4\lambda } & {5\lambda } & {4\lambda } & 0 & {2\lambda } \\ G & {2\lambda } & {3\lambda } & {4\lambda } & {5\lambda } & {6\lambda } & {5\lambda } & {4\lambda } & 0 \\ \end{array} } \right] $$
(5)

where λ is the minimum length of unit path. It takes 1 unit time for one AGV to run through one unit path. As described in Eq. (6), the time matrix can be calculated using Eq. (5).

$$ T\left( {t_{ij} } \right) = \left[ {\begin{array}{*{20}c} {} & {AS} & {M_{1} } & {M_{2} } & {M_{3} } & {M_{4} } & {M_{5} } & {M_{6} } & G \\ {AS} & 0 & 2 & 3 & 4 & 5 & 4 & 3 & 2 \\ {M_{1} } & 4 & 0 & 2 & 3 & 4 & 3 & 2 & 3 \\ {M_{2} } & 5 & 4 & 0 & 2 & 3 & 2 & 3 & 4 \\ {M_{3} } & 6 & 5 & 4 & 0 & 2 & 3 & 4 & 5 \\ {M_{4} } & 5 & 4 & 3 & 2 & 0 & 2 & 3 & 4 \\ {M_{5} } & 4 & 3 & 2 & 3 & 4 & 0 & 2 & 3 \\ {M_{6} } & 3 & 2 & 3 & 4 & 5 & 4 & 0 & 2 \\ G & 2 & 3 & 4 & 5 & 6 & 5 & 4 & 0 \\ \end{array} } \right] $$
(6)

Based on the regional control model, the number of AGVs in four experiments is set as 3, 4, 5 and 6 respectively, and the operation status of four situations are shown in Table 3.

Table 3 Operation status of four situations

Based on the operation status of four situations, the simulation results are summarized in Fig. 8.

Fig. 8
figure 8

Simulation results

Set \( \lambda_{1} = 0.1 \), \( \lambda_{2} = 0.1 \), \( \lambda_{3} = 0.8 \), \( B_{1} = 50 \), \( B_{2} = 1,000 \). The result of overall objective curve is shown in Fig. 9.

Fig. 9
figure 9

Overall objective curve of the multi-AGV system

Based on analysis of simulation results, two conclusions are obtained:

  1. 1.

    As shown in the simulation results, three AGVs increase the total operation time of the multi-AGV system greatly. But five and six AGVs increase the power consumption of the system and the possibility of conflict, thus reducing the stability of the system. Four AGVs reduce the total operation time, and the efficiency of four AGVs’ system is higher than five and six AGVs’ system. As shown in Fig. 9, the optimal number of AGVs is four.

  2. 2.

    During the simulation, conflicting waiting time in multi-AGV system is in a stable range, and deadlock doesn’t happen. The model has not complex computing mechanisms. Because of the distributed control method, the whole system is on easy and reliable operation. This fully illustrates that the new regional control model reduces the complexity of the multi-AGV system and the distributed control mechanism improves the stability of the system.

6 Conclusion

In this paper we proposed a multi-AGV system based on a new regional control model. The SWT strategy in the model reduces system waiting time and optimizes the overall operation time. Based on the analysis of multi-AGV conflicts and deadlocks, we propose a distributed control mechanism to resolve conflicts and deadlocks online. And then, we build a test bed for multi-AGV system simulation. Finally we make an experiment for multi-AGV system simulation. The experimental results prove the validity and feasibility of the control model, which provide useful reference for further research on controlling of multi-AGV system.

7 Limitations and future research

To end this paper, we discuss the limitations of this research and the extension of future research. First, based on the regional control model, we can simulate the appropriate number of AGVs in a multi-AGV system. But the method has not been tested against other existing models and systems. Future research can address this limitation by examining the method in real manufacturing companies. Second, distributed control mechanism is similar to multi-agent coordination and control, but it has less Information exchange than multi-agent coordination control. Future research can use the experience of multi-agent coordination and control for reference, develop the coordination mechanism in the multi-AGV system, and then compare with other models.