28
This article was downloaded by: [Auburn University] On: 21 September 2013, At: 03:16 Publisher: Taylor & Francis Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK International Journal of Production Research Publication details, including instructions for authors and subscription information: http://www.tandfonline.com/loi/tprs20 Event-based controller to avoid deadlock and collisions in zone-control AGVS Maria Pia Fanti Published online: 14 Nov 2010. To cite this article: Maria Pia Fanti (2002) Event-based controller to avoid deadlock and collisions in zone-control AGVS, International Journal of Production Research, 40:6, 1453-1478, DOI: 10.1080/00207540110118073 To link to this article: http://dx.doi.org/10.1080/00207540110118073 PLEASE SCROLL DOWN FOR ARTICLE Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) contained in the publications on our platform. However, Taylor & Francis, our agents, and our licensors make no representations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of the Content. Any opinions and views expressed in this publication are the opinions and views of the authors, and are not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon and should be independently verified with primary sources of information. Taylor and Francis shall not be liable for any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoever or howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of the Content. This article may be used for research, teaching, and private study purposes. Any substantial or systematic reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any form to anyone is expressly forbidden. Terms & Conditions of access

Event-based controller to avoid deadlock and collisions in zone-control AGVS

Embed Size (px)

Citation preview

Page 1: Event-based controller to avoid deadlock and collisions in zone-control AGVS

This article was downloaded by: [Auburn University]On: 21 September 2013, At: 03:16Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number:1072954 Registered office: Mortimer House, 37-41 Mortimer Street,London W1T 3JH, UK

International Journal ofProduction ResearchPublication details, including instructions forauthors and subscription information:http://www.tandfonline.com/loi/tprs20

Event-based controller toavoid deadlock and collisionsin zone-control AGVSMaria Pia FantiPublished online: 14 Nov 2010.

To cite this article: Maria Pia Fanti (2002) Event-based controller to avoiddeadlock and collisions in zone-control AGVS, International Journal of ProductionResearch, 40:6, 1453-1478, DOI: 10.1080/00207540110118073

To link to this article: http://dx.doi.org/10.1080/00207540110118073

PLEASE SCROLL DOWN FOR ARTICLE

Taylor & Francis makes every effort to ensure the accuracy of allthe information (the “Content”) contained in the publications on ourplatform. However, Taylor & Francis, our agents, and our licensorsmake no representations or warranties whatsoever as to the accuracy,completeness, or suitability for any purpose of the Content. Any opinionsand views expressed in this publication are the opinions and views ofthe authors, and are not the views of or endorsed by Taylor & Francis.The accuracy of the Content should not be relied upon and should beindependently verified with primary sources of information. Taylor andFrancis shall not be liable for any losses, actions, claims, proceedings,demands, costs, expenses, damages, and other liabilities whatsoeveror howsoever caused arising directly or indirectly in connection with, inrelation to or arising out of the use of the Content.

This article may be used for research, teaching, and private studypurposes. Any substantial or systematic reproduction, redistribution,reselling, loan, sub-licensing, systematic supply, or distribution in anyform to anyone is expressly forbidden. Terms & Conditions of access

Page 2: Event-based controller to avoid deadlock and collisions in zone-control AGVS

and use can be found at http://www.tandfonline.com/page/terms-and-conditions

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 3: Event-based controller to avoid deadlock and collisions in zone-control AGVS

int. j. prod. res., 2002, vol. 40, no. 6, 1453±1478

Event-based controller to avoid deadlock and collisions in zone-controlAGVS

MARIA PIA FANTIy

Automated Guided Vehicle Systems (AGVSs) are the most ¯exible means totransport pieces among workstations of an Automated Manufacturing System(AMS). The tra� c control of such systems must be in charge of avoiding colli-sions and deadlock conditions. This paper formulates a zone-control scheme toface this problem in real time, based of the knowledge of the AGVS operativeconditions. Starting from some theoretical results already stated in the context ofdeadlock avoidance in AMS, some algorithms are proposed to control, in realtime, path assignments to the vehicles and their moves from zone to zone in thesystem. A ®nal discussion compares the proposed approach with other methodso� ered by the recent literature.

1. IntroductionAutomated Guided Vehicle Systems (AGVSs) are advanced material-handling

devices used to transport pieces among the workstations of an AutomatedManufacturing System (AMS). AGVSs are under computer control and, althoughthey are the most ¯exible means to link all the locations of the factory ¯oor(Viswanadham and Narahari 1992, Rajotia et al. 1998, Co and Tanchoco 1991),their operation must face some tra� c problems, such as collision prevention anddeadlock avoidance (Lee and Lin 1995, Yeh and Yeh 1998, Zeng et al. 1991,Reveliotis 2000). In particular, there are two kinds of deadlocks that can arise inAGVSs (Lee and Lin 1995, Yeh and Yeh 1998). The ®rst is due to limited room inthe bu� ers for storing the pieces in progress. In this case, a vehicle remains perma-nently blocked because its destination bu� er is full, so the carried piece cannot beunloaded. The second type of deadlock is caused by guide-path sharing: namely, itarises when several vehicles of an AGVS cannot move any further because each ofthem should occupy a `piece of guide path’ currently taken by another vehicle in thesame set.

This paper focuses on the second type of deadlock problem and considers atechnique frequently adopted for vehicle management of AGVSs, i.e. zone control.More precisely, the guide paths are subdivided in disjoint zones representing work-stations, intersections of several paths or simple parts of a straight lane. The generalrule is that only one vehicle can occupy a zone at one time and the admittance of avehicle to any zone must be previously authorized by the control, in order to avoidcollisions and deadlocks. However, few relevant contributions can be found that faceand solve deadlock problem in zone-controlled AGVSs. In particular, in modelling

International Journal of Production Research ISSN 0020±7543 print/ISSN 1366±588X online # 2002 Taylor & Francis Ltd

http://www.tandf.co.uk/journals

DOI: 10.1080/00207540110118073

Revision received October 2001.{ Dipartimento di Elettrotecnica ed Elettronica ± Politecnico di Bari, Via Re David 200,

70125 Bari, Italy. e-mail: [email protected]

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 4: Event-based controller to avoid deadlock and collisions in zone-control AGVS

the system as an extended class of Petri nets, Lee and Lin (1995) proposed anavoidance algorithm consisting of two phases: one is the deadlock-predictionphase and the other is the travelling-decision phase. In the deadlock-predictionphase, each dispatched vehicle looks ahead to all future zones that are to be travelledaccording to its given routing to verify whether a deadlock exists in these zones. Thetravelling-decision phase is to determine the travelling actions of the vehicle thatsubmits the request. A vehicle can be blocked in its current zone if the next one isbeing seized by another vehicle or if a deadlock is predicted. To check whether adeadlock can occur in the future, the policy examines the complete path of theconsidered vehicle and of the AGVs seizing the zones that the vehicle has to visit.

In addition, Yeh and Yeh (1998) proposed a deadlock avoidance algorithm basedon a direct graph model where each zone is represented by a node. The deadlockavoidance policy starts from the de®nition of `joint nodes’, i.e. nodes characterizedby a number of direct input arcs not less than two. Before a vehicle enters into a jointnode, it should be ascertained that a circuit wait would not be formed. If no dead-lock is predicted by a look ahead procedure of only one step, and if the next node ofthis vehicle is not occupied by another vehicle, the AGV is informed to move to itsnext node, otherwise the vehicle must wait in the current zone.

Finally, Reveliotis (2000) uses zone control to avoid collisions and deadlocks inAGVSs with bidirectional guide-paths and develops a variation of the Banker’salgorithm that is appropriate for the AGVS resource allocation problem.Moreover, the paper determines dynamically the detailed path that a vehicle willfollow while carrying out its mission trip, on the basis of safety (collision and dead-lock freedom) and performance considerations. The introduced deadlock avoidancepolicy is correct and polynomial with respect to the system size but, obviously, it isnot minimally restrictive. So investigating more ¯exible deadlock avoidance strate-gies for AGVS is an open problem.

Concerning the methods proposed by Lee and Lin (1995) and by Yeh and Yeh(1998), we remark that they are applied to AGVSs with unidirectional guide-pathsand are deadlock free only for simple AGVS layouts. Namely, in many cases they donot prevent some situations, known in the literature as restricted deadlock situations(Banaszak and Krogh, 1990, Wysk et al. 1991, Fanti et al. 1997, 1998), which arisewhen some vehicles remain permanently in circular wait, partly because some ofthem are blocked and partly because the control prevents them from moving.However, as discussed here, restricted deadlocks can frequently happen under theabove-mentioned policies, in AGVS providing bidirectional paths.

This paper proposes a tra� c management schema that avoids collisions, dead-lock and restricted deadlock in zone-controlled AGVSs with unidirectional guide-paths or with few lanes allowing bidirectional guide-paths. To overcome the draw-back of the policies proposed by Lee and Lin (1995) and Yeh and Yeh (1998) , thepaper introduces three algorithms that can be applied to the AGVSs according totheir layout. The approach developed here starts from some theoretical resultsalready stated in the context of deadlock avoidance in AMSs (Fanti et al. 1997,1998) where parts in progress compete to use the system resources. Modelling theAGVS as a timed discrete event dynamical system, graph-theoretic tools are used toformulate a model properly, describing the dynamic path-zone allocation to thevehicles. As Reveliotis (2000) pointed out, such a methodological approach allowsus to extend the existing theoretical developments to the deadlock problem inAGVSs and to formulate appropriate deadlock avoidance algorithms. In this frame-

1454 M. P. Fanti

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 5: Event-based controller to avoid deadlock and collisions in zone-control AGVS

work, a two level control structure is proposed to manage the AGVS. The ®rst level(path scheduler) focuses on the vehicle route planning, i.e. it proposes the paths toassign to each vehicle mission in such a way that the vehicle reaches its destination.To this aim, the path scheduler selects the path among a set of possible routes, forexample arranged according to their length. The second level (real-time controller)manages vehicle tra� c and it is in charge of making decisions on path assignmentsand vehicle moves so that collisions, interference and deadlocks among AGVs areavoided. This paper focuses on the real-time controller and introduces some algor-ithms to implement control policies avoiding deadlock and restricted deadlock. Thealgorithms synthesized by the real time controller work on the basis of the systemoperative-condition knowledge and use limited online computations. In addition,this paper determines the AGVS layout in which low restrictive policies, such asthe ones proposed by Lee and Lin (1995) and Yeh and Yeh (1998), can be appliedwithout incurring restricted deadlock.

The paper is organized as follows. Section 2 provides a literature review, Section3 describes the AGVS and establishes the control structure. Section 4 reviews someresults on deadlock avoidance that are utilized in section 5 to model the AGVS andto characterize deadlock. Moreover, Section 6 introduces the real-time control algor-ithms and section 7 presents some examples to clarify the control logic and tocompare the proposed approach with other methods. Finally, section 8 concludes.

2. Literature reviewIn the following, the ®rst subsection presents a synthesis of deadlock solution

methods in manufacturing systems and the second subsection discusses the mainissues of AGVS tra� c control.

2.1. Previous works about the deadlock problemThe deadlock problem was initially studied in the context of computer operating

systems (Habermann 1969, Holt 1972). Subsequently, deadlock has been widelystudied in AMSs and several methods are introduced to solve, predict and avoiddeadlock conditions. First of all, the deadlock prevention strategies de®ne, o� -line,the rules to prevent deadlock in advance. Moreover, deadlock detection/recoveryalgorithms allow deadlock to occur and detect and recover from deadlocks usingresolution procedures. Finally, deadlock avoidance techniques dynamically allocateresources in the system on the bases of the observation of the system states.

Many authors have adopted Petri nets (PNs) to model the system and to derivedeadlock prevention algorithms. For instance, Viswanadham et al. (1990) uses anexhaustive path analysis of the reachability graph of the PN. Based on PN models,Banaszack and Krogh (1990), Hsieh and Chang (1994), Xing et al. (1996) formulatedeadlock avoidance controllers that enable or inhibit transitions involving theresource allocations. Whereas the deadlock avoidance policy proposed byBanaszack and Krogh (1990) is simple and of low complexity, it imposes unnecessaryconstraints on resource allocation. On the other hand, Hsieh and Chang (1994), Xinget al. (1996) overcome the drawbacks of the previous approaches by introducing adeadlock avoidance controller that may achieve a high resource utilization. In vari-ous papers (Ezpeleta et al. 1995, Barkaoui and Ben Abdallah 1995, Chu and Xie1997, Huang et al. 2001), the deadlock problem is solved by using the concept of PNstructures called siphons. These authors propose some prevention algorithms for PNmodelling manufacturing systems whose deadlocks are related to unmarked siphons.

1455Event-based controller to avoid deadlock

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 6: Event-based controller to avoid deadlock and collisions in zone-control AGVS

In addition, direct digraphs represent an alternative approach to modelling theinteraction between resources and jobs (Wysk et al. 1991, Cho et al. 1995, Kumaranet al. 1994, Fanti et al. 1997, 1998). In particular, utilizing digraph tools, Fanti et al.(1997, 1998) analysed and characterized deadlock in AMSs and formulated somedeadlock avoidance policies, which are di� erent in the restrictions they impose onthe resource allocations and for the computational complexity. To obtain more¯exible deadlock avoidance strategies, an e� cient distributed algorithm is derivedin Fanti et al. (2001). Such a strategy is suited to avoiding deadlock in independentlycontrolled subsystems by using a decentralized control policy improving ¯exibilityand limiting the computational complexity. Finally, Reveliotis and Ferreira (1996),Reveliotis et al. (1997), Reveliotis (1999), Lawley et al. (1998), Lawley (2000) modelthe AMS as a Finite State Automaton and develop some deadlock avoidance algor-ithms solving the resource allocation problem in polynomial time.

2.2. AGVS vehicle managementThe main tasks of the AGVS controller refer to the following activities

(Taghaboni and Tanchoco 1988, Co and Tanchoco 1991, Rajotia et al. 1998):

(1) dispatching, i.e. the process of selecting and assigning tasks to vehicles,(2) route planning, i.e. the selection of the speci®c paths taken by vehicles to

reach their destination,(3) scheduling, i.e. the determination of the arrival and departure times of

vehicles at each segment,(4) tra� c management, i.e. vehicle control to avoid collisions and deadlocks.

In particular, Egbelu and Tanchoco (1984) divided the dispatching problem intotwo categories: workcentre-initiated dispatching, where a vehicle has to be selectedfrom a set of idle vehicles, and vehicle-initiated dispatching, where workcentrescompete for one vehicle. Moreover, an accurate review about dispatching strategiesis presented by Co and Tanchoco (1991).

The route planning speci®es the path of the vehicle to reach the destination. Inparticular, the path-planning problem can be faced using two di� erent approaches:static and dynamic planning. In the static-planning approach, the ¯ow path associ-ated with the minimum distance is assigned to a vehicle mission (Ashayeri et al. 1985,Blair et al. 1987, Egbelu and Tanchoco 1986). Thus, the single objective function insuch models is to minimize the distance travelled by the vehicles using, for example,Dijkstra’s algorithm. The possibility of track congestion and vehicle blocking in anAGVS using static path planning is very high because the optimal route selectionsare taken regardless of the tra� c congestion status of the tracks.

Adopting dynamic path planning models o� ers a higher degree of ¯exibility thanthe static one, since it takes into account forecasting tra� c in order to avoid con-gestion. Dynamic strategies make routing decisions at each node of the AGV journeyon the basis of the vehicles’ displacement, the node occupation times and the vehiclespeeds (Walker et al. 1985, Taghaboni and Tanchoco 1988, Cesarone and Eman1989, Kim and Tanchoco 1991, Oboth et al. 1999). When routing is dynamic, dif-ferent paths can be taken by an AGV in moving from node to node. Taking intoaccount the current tra� c con®guration, the route manager selects a path for theAGV at the time when the vehicle is dispatched. Taghaboni and Tanchoco (1988)developed a supervisor controller performing dispatching, routing and schedulingtasks for free-ranging vehicles in unidirectional and bidirectional paths. If collisions

1456 M. P. Fanti

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 7: Event-based controller to avoid deadlock and collisions in zone-control AGVS

are detected, then the vehicle controller explores di� erent solutions and, if an alter-nate route does not exist, then the vehicle will slow down to avoid collisions. In alater paper, Kim and Tanchoco (1991) model the tra� c status by maintaining a tableof scheduled entry and exit times of vehicles at each node and a list of free timewindows available for vehicles to be scheduled. So the algorithm routes the vehiclesthrough the free time windows of the nodes of the ¯ows path network. Finally,Oboth et al. (1999) proposed an e� ective route generation technique that providescon¯ict-free routes for multiple AGVS with varying speeds and bidirectional paths.

Another alternative approach to the static and dynamic models is given byRajotia et al. (1988) presenting a semi-dynamic time window constrained route-planning approach. This algorithm may yield di� erent routes and di� erent timesdepending on the tra� c status in the network. Whereas the dynamic planningapproach makes decisions at each node, the semi-dynamic one adheres the routeto the vehicle until the AGV mission is concluded.

An important issue of AGVS control is the tra� c management that controlsvehicles to avoid collisions and deadlocks. Two approaches can be used to facecollision problems: forward sensing, i.e. the deployment of proximity sensors oneach vehicle that will alert the close presence of another vehicle and will force tothe vehicle to stop; or zone control, i.e. the partition of the guide-path network intozones, where each zone can be occupied by only one vehicle at any one time.However, even if such approaches avoid physical collisions, both can get theAGVS into situations characterized by circular wait conditions, i.e. deadlocks. Tothis aim, Egbelu and Tanchoco (1986) proposed bu� ering areas for vehicles in transitin the aisles, shaped as loops, sidings or spurs. Moreover, the time window graphmethod for AGV path planning is an e� ective way to prevent deadlocks when thesensor control method is used for AGVS tra� c control (Kim and Tanchoco 1991).However, such a method may generate vehicle routes, which are, distance-wise,longer and may contain cycles and loops in the selected routes. Rajotia et al.(1998) improved such a method using the semidynamic planning technique thatallows scheduling of all the vehicles and does not produce cycles and loops in vehicleroutes. In addition, it provides adequate vehicle-bu� ering sidings in order to avoidhead-on con¯icts between vehicles in bidirectional segments.

Moreover, Zeng et al. (1991) applied a Coloured Timed Petri net modellingapproach to detect AGV con¯ict when a route is assigned to an AGV. If a con¯ictis detected before a plan is implemented, certain adjustments, e.g. dispatching dif-ferent vehicles, adopting di� erent routings, etc can be taken. However, it is necessaryto use a simulation program exhibiting the safety of the Petri net to detect theexistence of deadlocking.

Using the zone control technique allows us to approach the deadlock problem inan AGVS, as in an AMS, thus avoiding the introduction of bu� ering sidings in thesystem layout. Indeed, in such a framework, zones replace resources and vehiclesreplace parts: a deadlock occurs if there exists a circular wait condition betweenzones and vehicles. We remark that some di� erences can be observed in the deadlockproblem in AGVSs compared with AMSs. Whereas the AMS in process parts canchange with time, the total number of AGVs in the system remains constant. On theother hand, the route of each part type is known in advance, but the paths of anAGV frequently change based on production requirements. As discussed in theprevious section, few appropriate policies and algorithms have been introduced,up to the AGVS deadlock avoidance under zone control (Lee and Lin 1995, Yeh

1457Event-based controller to avoid deadlock

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 8: Event-based controller to avoid deadlock and collisions in zone-control AGVS

and Yeh, 1998, Reveliotis 2000). The work presented in this paper gives a contribu-tion in this context and proposes some alternative deadlock-free control strategies tomanage the AGVS on the basis of its layout and the operative condition knowledge.

3. AGV description and control schemeThe assumed AGVS layout includes unidirectional guided paths and a few lanes

with bidirectional paths, subdivided into disjoint zones (see ®gure 1). One of thejusti®cations for the use of unidirectional ¯ows is simplicity in design and control(Egbelu and Tanchoco 1986).

Now, we denote by V ˆ fv1; v2; . . . ; vVg the set of vehicles travelling in thesystem. Using the same assumption of Reveliotis (2000), we suppose that theAGVS possesses a docking station with su� cient capacity to hold all the vehiclesin the system. So Z ˆ fz1; z2; . . . ; zZg indicates the set of all the zones of the AGVS,where z1 represents the docking station. Moreover, while each zone zi (withi ˆ 2; . . . ; Z) can host only one vehicle at a time, i.e. it has unit capacity, z1 cansimultaneously accommodate all the AGVs, and its capacity is equal to V.

Each vehicle starts its travel from a zone (zi), reaches a zone (zj) where it loads apart, then it unloads the part in a destination zone (zk). However, although the routeof an AGV may change dynamically, we suppose that any path p…v† assigned to avehicle v 2 V ends in the docking station, i.e. it is in the following form:p ˆ …zi; . . . ; zj; . . . ; zk; . . . ; z1). This formal assumption has been introduced byReveliotis (2000) and is useful to guarantee that, starting from any con®gurationreached by the AGVS, each idle vehicle is able to go back to the docking station, sothat it does not remain blocked or starved in a zone. A new path can therefore beassigned to a vehicle while it is waiting for a destination in the docking station or it isfollowing a path to return to the docking station.

The control scheme proposed to manage the AGVS consists of two levels: thepath scheduler and the real-time controller. The two levels take decisions in real time,

1458 M. P. Fanti

Figure 1. An AGVS, where>denotes guide-paths and - - - - - denotes a zone boundaries.

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 9: Event-based controller to avoid deadlock and collisions in zone-control AGVS

on the basis of the knowledge of the AGVS operative conditions. So they readinformation in the system con®guration data; that is, a module collecting ®eld dataabout vehicle positions, paths, failures etc. The architecture of the AGVS controlleris depicted in ®gure 2.

Based on information on the production requests, the ®rst level (path scheduler)proposes a path p to a vehicle to perform a transport operation. Such a selection canbe performed using a static criterion, for example considering all the paths connect-ing two zones ordered on the basis of the distance from the shortest to the longestone.

The paper focuses on the activities of the second level (real-time controller) that isin charge of making two types of decisions, respectively called path validation andzone validation. The path validation establishes whether the proposed path is admis-sible or it could lead to deadlocks or to states called restricted deadlocks (Banaszakand Krogh 1990, Fanti et al. 1997, Kumaran et al. 1994). These last situations arisewhen some vehicles remain permanently in a circular wait, partly because some ofthem are blocked, and partly because the zone validation control-law prevents themfrom moving. More precisely, the path scheduler proposes a new route to a vehicleand informs the potential path to the real-time controller that proceeds to the pathvalidation based on the knowledge of the system con®guration data. If a deadlock ora restricted deadlock is foreseen, then the route is not validated and a messagerefusing the route is sent to the path scheduler. Consequently, the ®rst level maypropose another path p 0 for the same transport and the second-level controller per-forms the check again. However, if the path scheduler has no alternative path topropose, the transport operation is postponed. On the other hand, if the path isvalidated, then the real-time controller assigns the route to the vehicle and sends thecommand to the AGVS plant. Whereas the static planning approach always resultsin the selection of the same route between two locations, the proposed technique mayassign di� erent routes at di� erent times depending on the AGVS tra� c status. So themain problem of static planning, i.e. tra� c congestion, is controlled and limited. On

1459Event-based controller to avoid deadlock

Figure 2. The AGVS control architecture.

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 10: Event-based controller to avoid deadlock and collisions in zone-control AGVS

the other hand, the control strategy avoids cycle or loop production in vehicle routesas created by the dynamic planning (Egbelu and Tanchoco 1986, Rajotia et al. 1998)and avoids the introduction of bu� ering areas such as loops, sidings and spur typesof bu� ers.

The second type of decision made by the real-time controller, i.e. the zone vali-dation, concerns the moving of a vehicle from its current zone to the next one. Inparticular, the control algorithm performs a simple one-step look-ahead to checkwhether the con®guration resulting from the vehicle move corresponds to a deadlocksituation or not. In the former case, the move of the vehicle is prohibited, whereas, inthe latter, it is allowed. Obviously, to avoid collisions, the move is also prevented ifthe next zone is being occupied by another AGV.

4. Previous resultsThe approach used to de®ne path and zone validation strategies starts from some

theoretical results already stated in the context of deadlock in AMSs, where parts inprogress compete for resources (Fanti et al. 1997, 1998, 2000). In this section, wereview some of those results useful for the following developments.

4.1. Job/resource system modelLet us consider a system S consisting of R ¡ 1 resources ri (i ˆ 2; . . . ; R) necess-

ary to process a set of jobs J. Moreover, let r1 be a further ®ctitious resource, used tomodel the system output: in other words, a job j 2 J acquires r1 when, havingcompleted its processing, it leaves the system. The symbol R ˆ fr1; r2; . . . ; rRgdenotes the complete resource set, where each ri, with i ˆ 2; . . . ; R, can be allocatedto one job at a time. Then, each resource ri with i 6ˆ 1 has unit capacity, while r1 canbe considered of in®nite capacity because the ®ctitious resource is always available.

To be processed, each job from J must hold resources in a given sequence w,named the working procedure. So we denote by W ˆ fwg the set of all the workingprocedures necessary to process the jobs in J. Moreover, the dynamics of S aredescribed by the ¯ow of jobs in process. In particular, we can model such asystem as a timed discrete event dynamical system (Fanti et al. 1996) whose stateat a time t, denoted by q…t†, contains information about the set Jq of jobs currently inprocess, the working procedure w… j† pertaining to each job j 2 Jq and the residualworking procedure of each job rw… j†, i.e. the residual sequence of resources that eachjob j 2 Jq has still to visit before leaving the system. Obviously, the ®rst resource inrw… j† is the resource currently held by j. The set of all the possible states of S isindicated by Q.

The state q changes on the occurrence of events involving resource acquisition orreleasing by jobs. Therefore, there are two types of events that can occur in thesystem:

(i) a new job j 2 J enters the system to be processed according to a workingprocedure w (1-type event). This event is identi®ed by the pair ¼1 ˆ … j; w†;

(ii) a job progresses from a resource to another one or it leaves the system (2-typeevent). This event is identi®ed by the moving job: ¼2 ˆ j.

4.2. Deadlock characterizationAll possible and current interactions between jobs and resources can be re-

spectively described by means of two digraphs, named the Working Procedure

1460 M. P. Fanti

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 11: Event-based controller to avoid deadlock and collisions in zone-control AGVS

digraph and the Transition digraph. The former digraph DW ˆ …N ; EW † shows thespeci®c order in which resources appear in all the admissible working procedures.

Each vertex in N corresponds to a resource ri, so that the same symbol is usedfor vertices and resources, i.e. N ˆ R. An edge eim directed from ri to rm, belongsto EW if and only if (i� ) rm immediately follows ri in some w 2 W . Clearly,

digraph DW describes a `static’ situation and is not able to show the progressof jobs in process. Therefore, to represent the dynamic interaction between jobs

and resources, we introduce the Transition digraph DT…q† ˆ ‰N ; ET…q†Š that is asubdigraph of DW . In particular, while the vertex set still coincides with the

resource set, the edge set is de®ned as follows: eim 2 ET…q† i� there exists a jobj 2 Jq holding ri in the state q and requiring rm as the next resource. On the

occurrence of an event driving S from q to a new state q 0, the Transition digraphDT…q† can be easily updated to DT…q 0†. As proven in Fanti et al. (1997), theTransition digraph allows an easy detection of deadlock states according to the

following proposition.

Proposition 1: q is a deadlock state for S i� at least one cycle exists in DT…q†.

4.3. A deadlock avoidance algorithmThe control actions to avoid deadlock may consist of inhibiting or enabling the

occurrence of some 1-type or 2-type events, depending on the current state q.

Starting from Proposition 1, a simple deadlock avoidance policy can be de®ned,based on a look-ahead procedure of only one step. In particular, when a 1-type or

2-type event driving the system from state q to q 0 has to occur, the policy builds thenew transition digraph DT…q 0† and inhibits the event i� such a digraph contains a

cycle.As shown in Fanti et al. (1997) this control algorithm might lead the system

to a restricted deadlock state. Such a situation can occur only if the cycles of DW

enjoy a particular property that can be exhibited using a further digraph,D2

W ˆ …N2; E2W ), named the Second level digraph and obtained from DW as

follows. Denoting by f®1; ®2; . . . ; ®Mg the complete set of the cycles of DW , weassociate a vertex ®k 2 N2 to each cycle ®k of DW . Moreover, an edge e2

kh is in

E2W i� the following two conditions hold true: (a) ®h and ®k have only one vertex

in common (say rm); (b) there exists a working procedure w 2 W requiring

resources ri, rm and rp in strict order of succession and eim is an edge of cycle

®h while emp is an edge of cycle ®k.Now let ®2 be a cycle from D2

W (second level cycle) and let ¡2 be the subset of

second level cycles enjoying the following property: ®2 2 ¡2 i� the cyclesassociated with the vertices of ®2 are all disjoined but for one vertex, common

to all of them. Moreover, let the capacity of a cycle ® (denoted by C…®†† bede®ned as the number of resources involved in such a cycle. Analogously, let usde®ne the capacity of a second level cycle C…®2) as the number of distinct

resources involved in all the cycles corresponding to the vertices of ®2. Finally,let C2

0 be the minimum capacity of the second level cycles from ¡2 (C20 ˆ 1 if ¡2

is empty). With the previous notations, the following proposition is proven inFanti et al. (1997).

1461Event-based controller to avoid deadlock

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 12: Event-based controller to avoid deadlock and collisions in zone-control AGVS

Proposition 2: q can be a restricted deadlock state only if ¡2 is not empty andCard(Jq† ¶ …C2

0 ¡ 1†.

The results summarized in Propositions 1 and 2 allow us to de®ne a DeadlockAvoidance Algorithm (DAA) that avoids both deadlocks and restricted deadlocks.To this aim, using the symbol Xi to indicate the i-type event set (i ˆ 1,2), we intro-duce the control functions fi: Xi £ Q>f0; 1g, where fi…¼; q† ˆ 0 ( fi…¼; q† ˆ 1)means that for S in the state q, the event ¼i 2 Xi is inhibited (is enabled). TheDAA is stated as follows:

Deadlock Avoidance Algorithm (DAA)

f1…¼1; q† ˆ 1 if DT…q 0† contains no cycle and Card(Jq† < …C20 ¡ 2†;

f1…¼1; q† ˆ 0 otherwise.f2…¼2; q† ˆ 1 if DT…q 0† contains no cycle,f2…¼2; q† ˆ 0 otherwise.

where q 0 indicates the state the system reaches from q, as a consequence of theconsidered 1-type or 2-type event occurrence.

Before closing this section, we remark that if ¡2 is empty, DAA is the leastrestrictive policy one can apply in order to avoid deadlock (Fanti et al. 1997).Indeed, it prevents the system from reaching deadlock states only.

5. AGVS model and deadlock characterizationAn AGVS can be modelled as a job/resource system (Reveliotis 2000). Namely,

the vehicles play the role of the jobs competing for acquiring resources, i.e. zones. Sothe set R must be replaced by Z, where the docking station z1 can be viewed as the®ctitious resource r1: namely, although z1 has ®nite capacity, it can accommodate allthe vehicles in the system. Moreover, a working procedure w can be replaced by apath p. In this way, the state q of the timed discrete event dynamic system isdescribed by the residual path rp(v) associated with each AGV travelling in thesystem, i.e. the residual sequence of zones that each v 2 V has to visit before reachingthe docking station. Finally, since the number of AGVs travelling in the system isconstant, the de®nition of the event types used in the general jobs/resources systemmust be lightly changed:

(i) a new path p is assigned to a vehicle v 2 V (1-type event). The event isidenti®ed by the pair ¼1 ˆ …v; p). Obviously, the ®rst entry in the path pmust be the zone currently held by v;

(ii) a vehicle moves from one zone to another one (2-type event). This event isidenti®ed by the symbol ¼2 ˆ v.

Concerning the construction of the working procedure and transition digraphs,the only di� erence concerns the resource z1: namely, contrary to the general case, forAGVSs such digraphs may exhibit some edges starting from z1 and ending in otherzones. Now, digraph DW is built considering all the possible paths allowed by theAGVS layout. Since z1 can host all the Z vehicles of the AGVS, obviously such azone cannot be involved in any deadlock. This observation can also be inferred bythe results for deadlock characterization in systems with multiple capacity resources(Fanti et al. 1998, 2000). So the AGVS may be considered as a system with singlecapacity resources, by modifying Proposition 1 as follows.

1462 M. P. Fanti

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 13: Event-based controller to avoid deadlock and collisions in zone-control AGVS

Proposition 1 0: q is a deadlock state for the AGVS i� DT…q† contains at least onecycle that does not include z1.

Since cycles of DT…q† containing the docking station do not correspond to dead-lock situations, they must also be excluded from the set f®1; ®2; . . . ; ®Mg in order tobuild the Second Level Digraph D2

W .Before concluding this section, we introduce another digraph

DR…q† ˆ ‰N ; ER…q†Š, called the residual path digraph that plays a crucial role toestablishing path validation procedures. Digraph DR…q) is built in the same way asthe working procedure digraph, but only taking into account the residual workingprocedures. Therefore, eim 2 ER…q† i� zm immediately follows zi in rp…v†, for somev 2 V . Obviously, DT…q† is a subdigraph of DR…q†, while the latter is a subdigraph ofDW . Finally, note that the same rules used to build D2

W and ¡2 from DW , can befollowed starting from DR…q† to obtain the residual second level digraph D2

R…q† andthe corresponding subset of second level cycles ¡2…q†. The main di� erence betweenDW and DR…q) is that, while the former considers all the possible paths and is ®xed,the latter only includes the residual paths currently followed by the vehicles andchanges in time according to the state transitions. It is clear, therefore, that digraphsDR…q) and D2

R…q) can replace digraphs DW and D2W in establishing a necessary con-

dition for a restricted deadlock. This observation allows us to state Proposition 2 inthe context of AGVSs in the following modi®ed form, where nV …q† indicates thenumber of vehicles performing transport operations in state q (not includingthe vehicles waiting in the docking station) and C2

0…q† is the minimum capacity ofthe second level cycles from ¡2…q†.

Proposition 2 0: q can be a restricted deadlock state for the AGVS only if ¡2…q† isnot empty and nV…q† ¶ …C2

0…q† ¡ 1†.

The following example clari®es the previous de®nitions and properties.

5.1. Example 1Let us consider the AGVS shown by ®gure 1. It connects ®ve workstations and

the docking station with bidirectional and unidirectional paths. Five zones(z2; z3; z4; z5 and z6) represent the workstations, z1 is the docking station and fourzones (z7; z8; z9 and z10) denote the intersections of paths. Assuming ®ve AGVs in thesystem, the capacity of z1 is equal to 5. Moreover, the guide-paths connecting zonesz7 ¡ z1, z10 ¡ z1, z8 ¡ z7 and z9 ¡ z10 are bidirectional, while the remaining guide-paths are unidirectional. Figure 3 shows that digraph DW describing all the paths inthe AGVS exhibits ®ve cycles that do not contain z1:

®1 ˆ …fr8; r3; r9; r4g; fe83; e39; e94; e48g†;

®2 ˆ …fr8; r2; r7g; fe82; e27; e78g†;

®3 ˆ …fr5; r9; r10; r6g; fe59; e9;10; e10;6; e65g†;

®4 ˆ …fr8; r7g; fe87; e78g†

and

®5 ˆ …fr9; r10g; fe9;10; e10;9g†:

1463Event-based controller to avoid deadlock

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 14: Event-based controller to avoid deadlock and collisions in zone-control AGVS

The corresponding digraph D2W contains four cycles belonging to ¡2 as shown in

®gure 4:

®21 ˆ …f®1; ®2g; fe2

12; e221g†;

®22 ˆ …f®1; ®3g; fe2

31; e213g†;

®23 ˆ …f®1; ®4g; fe2

14; e241g†;

and

®24 ˆ …f®1; ®5g; fe2

15; e251g†;

1464 M. P. Fanti

Figure 3. Digraph DW for Example 1.

Figure 4. Digraph D2W for Example 1.

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 15: Event-based controller to avoid deadlock and collisions in zone-control AGVS

with capacity

C…®21† ˆ C…®1† ‡ C…®2† ˆ 6;

C…®22† ˆ C…®1† ‡ C…®3† ˆ 7;

C…®23† ˆ C…®1† ‡ C…®4† ˆ 5;

C…®24† ˆ C…®1† ‡ C…®5† ˆ 5:

So we obtain C0 ˆ C…®4† ˆ C…®5† ˆ 2 and C20 ˆ C…®2

3† ˆ C…®24† ˆ 5.

Now, let us suppose the system is in an arbitrarily chosen state q, with V ˆ 3travelling vehicles. The residual paths of the AGVs are speci®ed as follows:

rp…v1† ˆ …z8; z2; z7; z1†; rp…v2† ˆ …z7; z1† rp…v3† ˆ …z2; z7; z1†:

Figures 5(a) and (b) depict the corresponding digraphs DR…q) and DT…q). In®gure 5 and in the following ®gures representing residual path digraphs and transi-

1465Event-based controller to avoid deadlock

(a)

(b)

Figure 5. (a) Digraph DR…q† for Example 1; (b) digraph DT …q† for Example 1.

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 16: Event-based controller to avoid deadlock and collisions in zone-control AGVS

tion digraphs, the vehicles having the edge in the associated residual path label eachedge. To show clearly the current state, here and in the following, dark nodes in eachresidual path digraph indicate occupied zones.

With reference to state q, let us suppose that the event ¼1 ˆ …v1; p† occurs, withp ˆ …z8; z3; z9; z10; z1). Figures 6(a) and (b) show the updated digraphs DR…q 0† andDT…q 0), where q 0 is the state reached by the system after the event occurring.

6. Real-time controller synthesisIn this section we synthesize the real-time controller that is in charge of making

decisions for zone and path validation.

1466 M. P. Fanti

(a)

(b)

Figure 6. (a) Digraph DR…q 0† for Example 1; (b) digraph DT …q 0) for Example 1.Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 17: Event-based controller to avoid deadlock and collisions in zone-control AGVS

6.1. Zone validationThe zone validation controller enables or inhibits 2-type events to avoid colli-

sions and immediate deadlock. Denoting by q 0 the state that the system will reachfrom q as a consequence of the move of a vehicle v to the next zone in its path, thezone validation controller consists of a one-step look-ahead procedure testingwhether q 0 is a deadlock state or not. Obviously, the controller must also checkwhether the destination zone is empty in state q, i.e. no other vehicles take it. Thefollowing function f2 carries out this policy:

f2…¼2; q† ˆ 0 if the second zone of rp…¼2† is not empty

or

if DT…q 0† contains a cycle that does not include z1

f2…¼2; q† ˆ 1 otherwise

Implementing the zone validation policy requires the updating of DT…q† intoDT…q 0† with little online computational e� ort (Fanti et al. 1997). Moreover, adepth-®rst search algorithm (Reingold et al. 1977) can easily check whetherDT…q 0† contains a cycle, with O…Z† operations, where Z is the number of zones.

6.2. Path validationThe path validation consists of enabling or inhibiting 1-type events in order to

avoid immediate deadlocks and restricted deadlocks as long as a new path is assignedto some vehicle. The path validation algorithm is composed of two phases. The ®rstchecks whether the new path causes a deadlock in the next state and the secondphase veri®es whether the restricted deadlock can occur under the zone validationpolicy. Here, three procedures are proposed for the path validation, di� ering incomputational complexity and in the degree of restriction they impose on thepaths to be validated.

Let p be the path that the scheduler proposes for vehicle v and let q be the currentsystem state. Moreover, let q 0 indicate the state the system will reach if the event¼1 ˆ …v; p) occurs.

The ®rst algorithm (Algorithm A) works according to the following steps.

Algorithm A

Phase 1Step A1. Update digraph DT…q 0†.Step A2. IF DT …q 0† contains a cycle that does not include z1 THEN f1…¼1; q† ˆ 0 (p

is not validated) ELSE step A3;

Phase 2Step A3. Update digraph DR…q 0† and build D2

R…q 0).Step A4. Determine all the cycles of D2

R…q 0) and build the corresponding set ¡2…q 0†.Step A5. Determine the minimum capacity C2

0…q 0† of the cycles in ¡2…q 0†.Step A6. IF nV…q 0† < C2

0…q 0† ¡ 1 THEN f1…¼1; q† ˆ 1 (p is validated).ELSE f1…¼1; q† ˆ 0 (p is not validated).

By Proposition 1 0, the test of step A2 guarantees that q 0 is not a deadlock state.Similarly, the test at step A6 ensures that each state reachable from q 0 cannot be arestricted deadlock state (by Proposition 2 0). Now, if no new path is assigned to the

1467Event-based controller to avoid deadlock

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 18: Event-based controller to avoid deadlock and collisions in zone-control AGVS

vehicles, the system state only changes as a consequence of the vehicle transitionsfrom zone to zone. Accordingly, DT…q) is updated by only deleting some of its edges,

so that C20…q) cannot decrease. This implies that, as long as a new path is assigned, no

restricted deadlock can occur when vehicles advance in their paths.Implementing phase 1 of Algorithm A requires the same online computation of

the zone validation policy. However, to perform phase 2 it is necessary to updateDR…q 0) by only removing some edges (the ones pertaining to removed path) and

adding edges describing the new path proposed by the scheduler. On the contrary,building D2

R…q 0† and ¡2…q 0) to obtain the minimum capacity C20…q 0) involves some

complex computations. Namely, the construction of D2R…q 0) can be performed in

O‰…c1†2L], where c1 represents the number of cycles from DR…q 0) and L indicatesthe maximum length of the residual paths in the same digraph. Moreover, generating

all the cycles of D2R…q 0† and characterizing ¡2…q 0) requires O‰…c1 ‡ e†…c2 ‡ 1†Š and

O…c1c2† operations, respectively, where e is the number of edges in D2R…q 0† and c2

indicates the number of cycles in the same digraph. The previous considerations onthe computational complexity imply that Algorithm A can be used online only forAGVSs with layouts characterized by a working procedure digraph DW with a small

number of cycles. However, frequent cases enjoy these requirements.The second algorithm (Algorithm B) involves simpler computations than

Algorithm A for the second phase. It is based on the idea of estimating a lowerbound of C2

0…q 0† and using it to limit nV …q 0†. Denoting with C0…q 0) the minimum

capacity of the cycles in DR…q 0) that do not include z1, the de®nition of C20…q 0) leads

to the condition:

2C0…q 0† ¡ 1 µ C20…q 0†: …1†

So Algorithm B consists of phase 1 of Algorithm A and a di� erent phase 2.

Algorithm B

Phase 1

Step B1. Update digraph DT…q 0†.Step B2. IF DT…q 0) contains a cycle that does not include z1 THEN f1…¼1; q† ˆ 0

(p is not validated) ELSE step B3.

Phase 2Step B3. Update digraph DR…q 0† and compute C0…q 0†.Step B4. IF nV…q 0† < 2C0…q 0† ¡ 2 THEN f1…¼1; q† ˆ 1 (p is validated).

ELSE f1…¼1; q† ˆ 0 (p is not validated).

We remark that the condition invoked by step B4 is more severe than the one

used in step A6: therefore, Algorithm B is more restrictive than Algorithm A.However, it only involves e� cient computation: namely, determining C0…q 0† can

be performed in O…Z3† operations. So, Algorithm B is suitable for real-time imple-mentation even if DW has many cycles.

To introduce the third algorithm it is necessary to analyse some particular situa-

tions in which the path validation has only to check whether DT…q 0† contains anycycle not including z1. In these cases both Algorithms A and B reduce to their ®rst

phase. Going into details, let us observe that D2R…q) is a subdigraph of D2

W .Therefore, the following condition holds true:

1468 M. P. Fanti

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 19: Event-based controller to avoid deadlock and collisions in zone-control AGVS

C20 µ C2

0…q†: …2†

Analogously, since DR…q) is a subdigraph of DW , denoting with C0 the minimumcapacity of the cycles in DW , we get:

C0 µ C0…q†: …3†

Now, if the number of vehicles in the AGVS enjoys the condition

V < C20 ¡ 1; …4†

then the tests performed in steps A4 and A6 are useless because they are alwayssatis®ed. In this case, therefore, the simple resulting algorithm (Algorithm C) consistsof the following two steps of phase 1.

Algorithm C

Step C1. Update digraph DT…q 0†.Step C2. IF DT…q 0† contains a cycle that does not include z1 THEN f1…¼1; q† ˆ 0

(p is not validated) ELSE f1…¼1; q† ˆ 1 (p is validated).

6.3. Computational complexity and applicability of the algorithmsBefore closing this section, we summarize the applicability properties of the

proposed algorithms with reference to the AGVS layout and the computationalcomplexity. In particular, to apply the previous algorithms at a state q, the controllerhas to collect all the data necessary to build digraphs DR…q† and DT…q), i.e. theresidual paths associated to each vehicle in the system. Moreover, one of the mostpopular computer representations of a digraph D ˆ …N; E† is the adjacency matrix,requiring jNj2 bits (Reingold et al. 1977).

Now, performing the zone validation needs two steps: the ®rst is the easy trans-formation of DT …q† in DT…q 0† (Fanti et al. 1997) and the second searches for a cyclein DT…q 0† in polynomial time. So the zone validation algorithm is suitable for real-time applications.

Moreover, the path validation strategies are di� erent in computational time and¯exibility but all of them are suitable for real-time application. In particular, phase 1is the same for all the algorithms and requires the same steps of the zone validation.Since Algorithm C avoids phase 2, it is the most permissive policy to validate thepath. However, it binds the number of vehicles in the system checking condition (4).To determine C2

0 it is necessary to build D2W in O‰…c1†2LŠ time, where c1 represents

the number of cycles from DW and L indicates the maximum length of the paths. Inaddition, the cycles of D2

W and the set ¡2 are determined by O‰…c1 ‡ jE2W j†…c2 ‡ 1†Š

and O…c1c2† operations, respectively, where c2 indicates the number of cycles of D2W .

Even if the determination of C20 involves complex computations, it is performed only

once for a given layout and o‚ine. Clearly, Algorithm C works well if the value ofC2

0 is not too low, so that the good performance of the AGVS is guaranteed. Forexample, since two consecutive bidirectional paths give C2

0 ˆ 3 and V < 2,Algorithm C is not suitable for systems with bidirectional guide-paths.

On the other hand, Algorithms A and B are applied without limiting a priori thenumber of travelling vehicles but by validating in real-time the possible paths toavoid deadlocks and restricted deadlocks. In the second phase, these algorithmsrequire the updating of digraph DR…q 0† and the computation of C2

0…q 0† forAlgorithm A and of C0…q† for Algorithm B. As previously explained, updating

1469Event-based controller to avoid deadlock

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 20: Event-based controller to avoid deadlock and collisions in zone-control AGVS

DR…q† in DR…q 0) is an easy task, but determining C20…q 0† involves complex computa-

tion. So, Algorithm A can be applied when digraph DW contains a small number ofcycles and it can perform the tra� c management even if the AGVS contains fewbidirectional paths.

Finally, Algorithm B is more restrictive than Algorithm A, but it is less compu-tationally complex. This property makes Algorithm B suitable for real time controlin more complex layouts.

7. Some examplesThis section presents some examples to clarify the proposed strategies and also

discusses the advantage s of using our control scheme with respect to some deadlockavoidance policies proposed in the literature.

7.1. Example 2Let us consider once more the AGVS depicted by ®gure 1 and described by

Example 1. As previously shown, it holds C20 ˆ 5, so if the real-time controller is

synthesized by Algorithm C, a maximum of three vehicles can travel in the system(V < C2

0 ¡ 1).Under Algorithm C a restricted deadlock cannot occur, but in any case the

real-time controller must validate the route assigned by the path scheduler. Indeed,let us consider the system in the state q de®ned by example 1. To perform a transportfrom z2 to z3, the path scheduler proposes the following path to v2:p ˆ …z7; z8; z3; z9; z10; z1). Before the occurrence of event ¼1 ˆ …v2; p†, Algorithm Cbuilds digraph DT…q 0) and detects a cycle (see ®gure 7): the event ¼1 is inhibited.

7.2. Example 3Now, considering the previous AGVS layout, since DW exhibits ®ve cycles (see

®gure 3), Algorithm A can be e� ciently applied. Assume the system is in a new stateq characterized by nV …q† ˆ 4, V ˆ 5 with the following residual paths:

1470 M. P. Fanti

Figure 7. Digraph DT …q 0) after event ¼1 ˆ …v2; p) for Example 2.

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 21: Event-based controller to avoid deadlock and collisions in zone-control AGVS

rp…v1† ˆ …z10; z1†; rp…v2† ˆ …z7; z8; z3; z9; z10; z1†rp…v3† ˆ …z8; z2; z7; z1†; rp…v4† ˆ …z3; z9; z10; z1†; rp…v5† ˆ …z1†:

Note that v5 is waiting for a destination in the docking station and v1 is travelling

to return to z1. To perform a transport from z4 to z2, the path scheduler tries to

assign one of the following alternative paths to v1: p1 ˆ …z10; z9; z4; z8; z2; z7; z1) and

p2 ˆ …z10; z6; z5; z9; z4; z8; z2; z7; z1). Considering the event ¼1 ˆ …v1; p1), the real time

controller builds digraphs DR…q 0) and D2R…q 0† to perform the path validation.

As ®gure 8 shows, DR…q 0) exhibits the following cycles: ®1 ˆ …fr8; r3; r9; r4g,fe83; e39; e94; e48g†, ®2 ˆ …fr8; r2; r7g, fe82; e27; e78g† and ®5 ˆ …fr9; r10g fe9;10; e10;9g).

On the other hand, D2R…q 0† is depicted in ®gure 9 and contains cycles ®2

1 and ®24

(see example 1 for the de®nitions). Since C…®21† ˆ 6 and C…®2

4† ˆ 5, we obtain

C20…q 0† ˆ 5. The controller veri®es that nV…q 0† ˆ 4 ˆ C2

0…q 0† ¡ 1, then it sets

f1…¼1; q† ˆ 0 and p1 is not validated.

At this point, the path scheduler proposes p2 and Algorithm A validates the event

¼ 01 ˆ …v1; p2) by building digraphs DR…q 0†, D2

R…q 0) and DT…q 0) illustrated by ®gures10(a), (b) and (c), respectively. Figure 10(a) shows that DR…q 0) exhibits three cycles

®1, ®2 and ®3. The corresponding digraph D2R…q 0† shows the second level cycles ®2

1

and ®22 belonging to ¡2…q 0), with capacity C…®2

1† ˆ 6 and C…®22† ˆ 7, so we obtain

C20…q 0† ˆ 6. Since nV …q 0† ˆ 4 < C2

0…q 0† ¡ 1 and DT…q 0† is acyclic (see ®gure 10(c)),

the controller sets f1…¼ 01; q† ˆ 1, i.e. path p2 is validated.

1471Event-based controller to avoid deadlock

Figure 8. Digraph DR…q 0) after event ¼1 ˆ …v1; p1).

Figure 9. Digraph D2R…q 0) after event ¼1 ˆ …v1; p1).

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 22: Event-based controller to avoid deadlock and collisions in zone-control AGVS

1472 M. P. Fanti

(a)

(b)

(c)

Figure 10. (a) Digraph DR…q 0† after event ¼ 01 ˆ …v1; p2); (b) digraph D2

R…q 0) after event¼ 0

1 ˆ …v1; p2); (c) digraph DT …q 0) after event ¼ 01 ˆ …v1; p2†.

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 23: Event-based controller to avoid deadlock and collisions in zone-control AGVS

If the more restrictive Algorithm B is used, then analysing DR…q 0† after theoccurrence of ¼1 ˆ …v1; p1), we obtain C0…q 0† ˆ 2. Since nV…q 0† ˆ 4 > 2C0…q 0† ¡ 2,p1 is not validated. On the contrary, DR…q 0) built after ¼1 ˆ …v1; p2) gives C0…q 0† ˆ 3.So path p2 is validated under Algorithm B too (nV …q 0† ˆ 4†.

7.3. Example 4Now we compare our deadlock avoidance strategy with the algorithms proposed

by Lee and Lin (1995) and Yeh and Yeh (1998). We remark that both the consideredpapers base the control on the inhibition of the 2-type events only, without perform-ing any path validation. Moreover, Lee and Lin (1995) use a zone validation controlbased on a look-ahead procedure on the complete path of the vehicle, while Yeh andYeh (1998) propose a one-step look-ahead algorithm very similar to the zone valida-tion proposed here. Although such policies are e� cient from the computationalpoint of view, they may present some drawbacks.

First, they adopt no procedure to check whether a new path causes a deadlockimmediately, only when it is assigned to a vehicle. Returning to Example 2, thepolicies of Lee and Lin (1995) and Yeh and Yeh (1998) would not prevent theassignment of p to v2, leading the system to a deadlock, as exhibited by ®gure 7.Secondly, since they use no path validation, such policies could lead the system torestricted deadlock states. For example, let us consider the AGVS layout proposedby Yeh and Yeh (1998) that contains no docking station, so that each zone has unitcapacity. Figure 11(a) shows the corresponding digraph DW exhibiting four cycles:

®1 ˆ …fr2; r1; r3g; fe21; e13; e32g†;

®2 ˆ …fr2; r4; r7; r5g; fe24; e47; e75; e52g†;

®3 ˆ …fr7; r8; r9; r10g; fe78; e89; e9;10; e10;7g†

and

®4 ˆ …fr2; r4; r7; r8; r6; r3g; fe24; e47; e78; e86; e63; e32g†:

However, D2W contains two second-level cycles belonging to ¡2: ®2

1 ˆ …f®1; ®2g,fe2

12; e221g† and ®2

2 ˆ …f®2; ®3g, fe223; e2

32g†, with C20 ˆ C…®2

1† ˆ 6. Since the authorsprovide four vehicles in the system, condition (4) holds true, so that Algorithm Cmight be applied: namely, restricted deadlocks cannot occur and the policies pro-posed by the authors are really deadlock-free. However, if the same system contained®ve or more vehicles, then a second level deadlock could occur. To show this, let ussuppose the following residual paths are assigned to the vehicles at a state q withnV…q† ˆ 5:

rp…v1† ˆ …z6; z3; z2; z4†; rp…v2† ˆ …z1; z3†; rp…v3† ˆ …z5; z2; z1†;

rp…v4† ˆ …z10; z7; z5; z2†; rp…v5† ˆ …z4†:

Note that v5 is waiting for a destination in z4. For the sake of clarity, ®gure 11(b)shows digraph DR…q†.

Now we consider the following event sequence under the control algorithmproposed by Lee and Lin (1995): ¼2 ˆ …v1†, ¼2 ˆ …v2†, ¼2 ˆ …v3†, ¼2 ˆ …v4†.

. The ®rst event ¼2 ˆ …v1† determines the move of v1 from z6 to z3, so the algor-ithm is invoked. The ®rst two zones z3 and z2 are available, z4 is occupied by v4

1473Event-based controller to avoid deadlock

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 24: Event-based controller to avoid deadlock and collisions in zone-control AGVS

waiting for a destination. So the predict result is that no deadlock occurs in thefuture and the travelling decision allows v1 to move to z3.

. Event ¼2 ˆ …v2† is blocked by v1 in z3, so v2 waits in z1.

. Event ¼2 ˆ …v3† is inhibited because z2 is available but z1 is occupied by v2,which is blocked, so the algorithm predicts a deadlock in cycle ®1. So v3 waits

in z5

. ¼2 ˆ …v4† is inhibited since z7 is available, but z5 is occupied by v3, that is a

blocked vehicle.

. Now the event ¼1 ˆ …v5; p) occurs with p…v5† ˆ …z4; z7; z5; z2†:

. Event ¼2 ˆ …v5† is inhibited since z7 is available, but z5 is occupied by v3, that is

a blocked vehicle.

1474 M. P. Fanti

(a)

(b)

Figure 11. (a) Digraph DW for Example 4; (b) digraph DR…q) for Example 4.

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 25: Event-based controller to avoid deadlock and collisions in zone-control AGVS

. Event ¼2 ˆ …v1† is inhibited since z2 is available, but the successive zone z4 isoccupied by the blocked vehicle v5.

. At this point a restricted deadlock occurs: v2 is blocked because the successive

zone is occupied, v1; v3; v4 and v5 must wait because the deadlock avoidance

algorithm predicts a deadlock in the future travelling paths.

Table 1 summarizes the execution steps of the algorithm. The ®rst column repre-

sents the ordered events and the second one denotes the algorithm decisions.

Now, we apply to the previous system the deadlock avoidance algorithm pro-

posed by Yeh and Yeh (1998) that de®nes a digraph very similar to DW shown by

®gure 11(a). The procedure denotes three joint nodes: z2; z3 and z7. When an AGV

requires entering a joint node, the policy has to ascertain that the circular conditionin a cycle would not be formed. Once again, we suppose the system in the state q with

nV…q† ˆ 5 and the previous de®ned paths assigned to the AGVs. The ®rst column of

table 2 shows the succession of events and the second one denotes the results of the

algorithm decision when it is invoked. It is evident that under this deadlock avoid-

ance strategy, the system reaches a state where the events ¼2 ˆ …v1† and ¼2 ˆ …v3) are

inhibited because the moves of these vehicles lead to deadlock states. Moreover, v2,

v4 and v5 cannot advance to their next zones, which are taken by other vehicles. Sothe system is in a restricted deadlock state.

Obviously, by Proposition 2 0, Algorithm C and the strategies of Lee and Lee and

Yeh and Yeh are deadlock free whenever V µ 4 vehicles travel in the system. If the

AGVS is equipped with a docking station, Algorithms A and B can be applied with

higher ¯eet size.

1475Event-based controller to avoid deadlock

Events

¼2 ˆ …v1† v1 moves from z6 to z3.¼2 ˆ …v2† v2 waits in z1: it is blocked by v1 in z3 .¼2 ˆ …v3† v3 waits in z5: a deadlock is predicted among z1, z2 and z3

¼2 ˆ …v4† v4 waits in z10: z7 is idle but v3 waits in z5

¼1 ˆ …v5; p) path p ˆ …z4; z7; z5; z2) is assigned to v5

¼2 ˆ …v5† v5 waits in z4: z7 is idle but v3 waits in z5

¼2 ˆ …v1† v1 waits in z3: z2 is idle but v5 waits in z4

Table 1. Execution steps of the algorithm proposed by Lee and Lin(1995).

Events

¼2 ˆ …v1† v1 moves from z6 to z3: the policy checks the cycle ®1 and it ®nds z2 idle.¼2 ˆ …v2† v2 waits in z1 : it is blocked by v1 in z3

¼2 ˆ …v3† v3 waits in z5 : a deadlock is predicted in cycle ®1

¼2 ˆ …v4† v4 moves from z10 to z7: the policy checks the cycle ®2 and it ®nds z2 idle¼1 ˆ …v5 ; p) p ˆ …z4; z7; z5 ; z2) is assigned to v5

¼2 ˆ …v5† v5 waits in z4 : it is blocked by v4 in z7

¼2 ˆ …v1† v1 waits in z3 : a deadlock is predicted involving cycle ®2

¼2 ˆ …v4† v4 waits in z7 : it is blocked by v3

Table 2. Execution steps of the algorithm proposed by Yeh and Yeh (1998).

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 26: Event-based controller to avoid deadlock and collisions in zone-control AGVS

8. ConclusionsThis paper introduces a real-time control strategy to avoid deadlock, collisions

and situations known in the literature as restricted deadlock in zone-control AGVSsthat exhibit unidirectional and bidirectional guide-paths. The AGVS is modelled as atimed discrete event dynamic system and digraph tools describe the interactionsbetween vehicles and zones. Using such models and taking into account the char-acteristics of the AGVS layout, the controller algorithms are de®ned to make deci-sions about the validation of path assignments and vehicle moves on the basis of theknowledge of the system operative conditions. Moreover, comparing the proposedapproach with other methods present in literature, we point out that the controllermust not only enable the one-step moves of the vehicles but also check and validatethe proposed paths.

Future work will perform the simulation of some AGVSs to test the developedreal-time controller. This simulation work will aim to study the impact of the choicesabout path planning, dispatching and free-vehicle management on the performanceof the AGVSs under the proposed deadlock and collision control scheme.

AcknowledgementThis work was supported by the 40% MURST funds.

References

ASHAYERI, J., GELDERS, L. F. and VAN LOOY, P. M., 1985, Micro-computer simulation indesign of automated guided vehicle systems. Material Flow, 2(1), 37±48.

BANASZAK, Z. A. and KROGH, B. H., 1990, Deadlock avoidance in ¯exible manufacturingsystems with concurrently competing process ¯ows. IEEE Transactions on Robotics andAutomation, 6(6), 724±734.

BARKAOUI, K. and BEN ABDALLAH, I., 1995. Deadlock avoidance in FMS based on structuretheory of Petri nets. Proceedings of INRIA/IEEE Symposium on ETFA, 2, 499±510.

BLAIR, E. L., CHARNSETHIKUL, P. and VASQUES, A., 1987, Optimal routing of driverlessvehicles in a ¯exible material handling system. Material Flow, 4(1+2), 73±83.

Cesarone, J. and Eman, K. F., 1989, Mobile robot routing with dynamic programming.Journal of Manufacturing Systems, 8(4), 257±266.

CHO, H., KUMARAN, T. K. and WYSK, R. A., 1995, Graph-theoretic deadlock detection andresolution for ¯exible manufacturing systems. IEEE Transactions on Robotics andAutomation, 11(3), 413±421.

CHU, F. and XIE, X., 1997, Deadlock analysis of Petri nets using siphons and mathematicalprogramming. IEEE Transactions on Robotics and Automation, 13(6), 793±804.

Co, G. C. and Tanchoco, J. M. A., 1991, A review of research on AGVS vehicle manage-ment. Engineering Costs and Production Economics, 21, 35±42.

Egbelu, P. J. and Tanchoco, J. M. A., 1984, Characterization of automatic guided vehicledispatching rules. International Journal of Production Research, 22, 359.

EGBELU, P. J. and TANCHOCO, J. M. A., 1986, Potentials for bi-directional guide-path forautomated guided vehicle based systems. International Journal of ProductionResearch, 24(5), 1075±1097.

EZPELETA, J., COLOM, J. M. and MARTINEZ, J., 1995, A Petri net based deadlock preventionpolicy for ¯exible manufacturing systems. IEEE Transactions on Robotics andAutomation, 11(2), 173±184.

FANTI, M. P., MAIONE, B., PISCITELLI, G. and TURCHIANO, B., 1996, System approach todesign generic software for real-time control of ¯exible manufacturing systems. IEEETransactions on Systems, Man, and Cybernetics, Part A: Systems and Humans, 26(2),190±202.

Fanti, M. P., Maione, B., Mascolo, S. and Turchiano, B., 1997, Event based feedbackcontrol for deadlock avoidance in ¯exible production systems. IEEE Trans. on Roboticsand Automation, 13(3), 347±363.

1476 M. P. Fanti

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 27: Event-based controller to avoid deadlock and collisions in zone-control AGVS

FANTI, M. P., MAIONE, B. and TURCHIANO, B., 1998, Event control for deadlock avoidance inproduction systems with multiple capacity resources. Studies in Informatics and Control,7(4), 343±364.

Fanti, M. P., Maione, B. and Turchiano, B., 2000, Comparing digraph and Petri netapproaches to deadlock avoidance in FMS. IEEE Transactions on Systems, Man, andCybernetics, Part B: Cybernetics, 30(5), 783±797.

Fanti, M. P., Maione, G. and Turchiano, B., 2001, Distributed event-control for deadlockavoidance in automated manufacturing systems. International Journal of ProductionResearch, 39(9), 1993±2021.

HABERMANN, A. N., 1969, Prevention of system deadlocks. Communications of the ACM,12(7), 373±378.

Holt, R. D., 1972, Some deadlock properties of computer systems. ACM Computing Surveys,4, 179±196.

HSIEH, F. S. and CHANG, S. C., 1994, Dispatching-driven deadlock avoidance controller syn-thesis for ¯exible manufacturing system. IEEE Transactions on Robotics andAutomation, 10(2), 196±209.

HUANG, Y., JENG, M., XIE, X. and CHANG, S., 2001, Deadlock prevention policy basedon Petri nets and siphons. International Journal of Production Research, 39(2), 283±305.

KIM, C. W. and TANCHOCO, J. M. A., 1991, Con¯ict-free shortest bi-directional AGV routing.International Journal of Production Research, 29(12), 2377±2391.

KUMARAN, T. K., CHANG, W., CHO, H. and WYSK, R. A., 1994, A structured approach todeadlock detection, avoidance and resolution in ¯exible manufacturing systems.International Journal of Production Research, 32(10), 2361±2379.

Lawley, M. A., 2000, Integrating ¯exible routing and algebraic deadlock avoidance policiesin automated manufacturing systems. International Journal of Production Research,38(13), 2931±2950.

LAWLEY, M. A., REVELIOTIS, S. A. and FERREIRA, P. M., 1998, A correct and scalable dead-lock avoidance policy for ¯exible manufacturing systems. IEEE Transactions onRobotics and Automation, 14(5), 796±809.

LEE, C. C. and LIN, J. T., 1995, Deadlock prediction and avoidance based on Petri nets forzone-control automated guided vehicle systems. International Journal of ProductionResearch, 33, 3249±3265.

OBOTH, C., BATTA, R. and KARWAN, M., 1999, Dynamic con¯ict-free routing of automatedguided vehicles. International Journal of Production Research, 37(9), 2003±2030.

RAJOTIA, S., SHANKER, K. and BATRA, J. L., 1998, A semi-dynamic time window constrainedrouteing strategy in an AGV system. International Journal of Production Research,36(1), 35±50.

REINGOLD, E. M., NIEVERGELT, J. and DEO, N., 1977, Combinatorial Algorithms. Theory andPractice (Englewood Cli� s, NJ: Prentice-Hall).

Reveliotis, S. A., 1999, Accommodating FMS operational contingencies through routing¯exibility. IEEE Transactions on Robotics and Automation, 15(1), 328±339.

Reveliotis, S. A., 2000, Con¯ict resolution in AGV Systems. IIE Transactions, 32, 647±659.REVELIOTIS, S. A. and FERREIRA, P. M., 1996, Deadlock avoidance policies for automated

manufacturing cells. IEEE Transactions on Robotics and Automation, 12(6), 845±857.REVELIOTIS, S. A., LAWLEY, M. A. and FERREIRA, P. M., 1997, Polynomial complexity dead-

lock avoidance policies for sequential resource allocation systems. IEEE Transactions onAutomatic Control, 42(10), 1344±1357.

TAGHABONI, F. and TANCHOCO, J. M. A., 1988, A LISP-based controller for free-rangingautomated guided vehicle systems. International Journal of Production Research,26(2), 173±188.

VISWANADHAM, N. and NARAHARI, Y., 1992, Performance Modeling of AutomatedManufacturing Systems (Englewood Cli� s, NJ: Prentice Hall).

Viswanadham, N., Narahari, Y. and Johnson, T. L., 1990, Deadlock prevention and dead-lock avoidance in ¯exible manufacturing systems using Petri net models. IEEETransactions on Robotics and Automation, 6(6), 713±723.

WYSK, R. A., YANG, N. S. and JOSHI, S., 1991, Detection of deadlocks in ¯exible manu-facturing cells. IEEE Transactions on Robotics and Automation, 7(6), 853±859.

1477Event-based controller to avoid deadlock

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13

Page 28: Event-based controller to avoid deadlock and collisions in zone-control AGVS

XING, K. Y., HU, B. S. and CHEN, H. X., 1996, Deadlock avoidance policy for Petri netmodeling of ¯exible manufacturing systems with shared resources. IEEE Transactionson Automatic Control, 41(2), 289±295.

YEH, M. S. and YEH, W.-C., 1998, Deadlock prediction and avoidance for zone-controlAGVS. International Journal of Production Research, 36(10), 2879±2889.

WALKER, S. P., PREMI, S. K. BESANT, C. B. and BROADBENT, A. J., 1985, The ImperialCollege free-ranging AGV (ICAGV) and scheduling system. Proceeding of the 3rdInternational Conference on Automated Guided Vehicle Systems, Stockholm, Sweden,S. E. Andersson (ed.) (London: IFS), pp. 189±198.

ZENG, L., WANG, H. P. and JIN, S., 1991, Con¯ict detection of Automated Guided Vehicles.International Journal of Production Research, 29(5), 865±879.

1478 Event-based controller to avoid deadlock

Dow

nloa

ded

by [

Aub

urn

Uni

vers

ity]

at 0

3:16

21

Sept

embe

r 20

13