A Petri Net Modeling Framework for the Control of Flexible Manufacturing Systems ⁎

A Petri Net Modeling Framework for the Control of Flexible Manufacturing Systems ⁎

9th IFAC Conference on Manufacturing Modelling, Management and 9th IFAC Conference on Manufacturing Modelling, Management and Control 9th Modelling, M...

482KB Sizes 1 Downloads 64 Views

9th IFAC Conference on Manufacturing Modelling, Management and 9th IFAC Conference on Manufacturing Modelling, Management and Control 9th Modelling, Management and 9th IFAC IFAC Conference Conference on on Manufacturing Manufacturing Modelling, Management and Available online at www.sciencedirect.com Control 9th IFAC Conference on Manufacturing Modelling, Management and Berlin, Germany, August 28-30, 2019 Control Control Berlin, Germany, August 28-30, 2019 Control Berlin, Germany, Germany, August August 28-30, 28-30, 2019 2019 Berlin, Berlin, Germany, August 28-30, 2019

ScienceDirect

IFAC PapersOnLine 52-13 (2019) 492–498

A A A A

Petri Net Modeling Framework for the Petri Petri Net Net Modeling Modeling Framework Framework for for the the Control Flexible Manufacturing Petri Netof Modeling Framework for the Control of Flexible Manufacturing Control Manufacturing  Systems Control of of Flexible Flexible Manufacturing Systems Systems  Systems ∗ ∗

Philipp Wenzelburger o wer Philipp Wenzelburger ∗∗∗ Frank Frank Allg¨ Allg¨ o wer ∗∗∗ Philipp o Philipp Wenzelburger Wenzelburger ∗ Frank Frank Allg¨ Allg¨ ower wer Philipp Wenzelburger Frank Allg¨ ower ∗ ∗ ∗ Institute for Systems Theory and Automatic Control, for Theory Automatic ∗ ∗ Institute Institute for Systems Systems Theory and and Automatic Control, Control, University of Stuttgart, Germany. for Systems Theory and Automatic Control, ∗ Institute University of Stuttgart, Germany. Institute for Systems Theory and Automatic Control, University of of Stuttgart, Stuttgart, Germany. e-mail: {philipp.wenzelburger, frank.allgower}@ist.uni-stuttgart.de University Germany. {philipp.wenzelburger, frank.allgower}@ist.uni-stuttgart.de e-mail: University of Stuttgart, Germany. e-mail: e-mail: {philipp.wenzelburger, {philipp.wenzelburger, frank.allgower}@ist.uni-stuttgart.de frank.allgower}@ist.uni-stuttgart.de e-mail: {philipp.wenzelburger, frank.allgower}@ist.uni-stuttgart.de Abstract: The The changes changes in in manufacturing manufacturing practice practice towards towards increasingly increasingly flexible flexible structures structures Abstract: Abstract: The changes in manufacturing practice towards increasingly flexible structures demand novel strategies for production scheduling and control. To this end, we introduce an Abstract: The changes in manufacturing practice towards increasingly flexible structures demand novel for scheduling and control.increasingly To this end,flexible we introduce an Abstract: Thestrategies changes in production manufacturing practice towards structures demand novel strategies for scheduling and To an automated model generation scheme that that builds upon coarse description description ofwe theintroduce production demand novel strategies for production production scheduling and aacontrol. control. To this this end, end,of we introduce an automated model generation scheme builds upon coarse the production demand novel strategies for scheduling and acontrol. To this an automated model generation scheme that buildsis upon upon coarse description ofwe theintroduce production process and and the factory. Theproduction generated model based on Petri Net end, representation of the the automated model generation scheme that builds a on coarse description of the production process the factory. The generated model is upon based aa Petri Net representation of automated model generation scheme that builds a coarse description of the production process and process, the factory. factory. The generated model is istobased based on aaautomatically Petri Net Net representation representation of the the production which wegenerated slightly enhance enhance separate evolving processes processes process and the The model on Petri of production which we slightly separate evolving process and process, the factory. The generated model isto based onPetri aautomatically Petri Net representation ofstate the production process, which we slightly enhance to separate automatically evolving processes from consciously taken manufacturing decisions. From the Net model we deduce a production process, which we slightly enhance to separate automatically evolving processes from consciously taken manufacturing decisions. From the Petri Net model evolving we deduce a state production process, which we slightly enhance to separate automatically processes from consciously taken manufacturing decisions. From the Petri Net model we deduce a state space description which can be used for the synthesis of feedback control for the manufacturing from consciously From Petri control Net model we deduce a state space description taken which manufacturing can be used fordecisions. the synthesis of the feedback for the manufacturing from consciously taken manufacturing From Petri Net model we deduce state space description which can be be isused used fordecisions. the synthesis synthesis of the feedback control for the manufacturing system. The model model generation illustrated with an an example and control further possibilities toautilize utilize space description which can for the of feedback for the manufacturing system. The generation is illustrated with example and further possibilities to space description which can be used for the synthesis of feedback control for the manufacturing system. The model model generation is illustrated illustrated with  an example and further further possibilities possibilities to to utilize utilize and enhance enhance the model model are discussed. discussed. Copyright 2019 IFAC system. The generation is with an example and cc 2019 and the are Copyright IFAC system. The model generation is illustrated with  an example and further possibilities to utilize cc 2019 and and enhance enhance the the model model are are discussed. discussed. Copyright Copyright   2019 IFAC IFAC c 2019Hosting © 2019, IFAC the (International of Copyright Automatic Control) and enhance model areFederation discussed.  IFAC by Elsevier Ltd. All rights reserved. Keywords: Flexible Flexible manufacturing manufacturing systems, systems, Industry Industry 4.0, 4.0, Petri Petri Nets, Nets, Production Production control. control. Keywords: Keywords: Flexible Flexible manufacturing manufacturing systems, systems, Industry Industry 4.0, 4.0, Petri Petri Nets, Nets, Production Production control. control. Keywords: Keywords: Flexible manufacturing systems, Industry 4.0, Petri Nets, Production control. 1. INTRODUCTION INTRODUCTION manufacturing 1. manufacturing setup setup and and on on the the other other hand hand abstracts abstracts the the 1. INTRODUCTION INTRODUCTION manufacturing setup and on ononthe the othercompatible hand abstracts abstracts the capabilities of the machines a level with skill 1. manufacturing setup and other hand the capabilities of the machines on a level compatible with skill 1. INTRODUCTION manufacturing setup and ononthe other hand abstracts the capabilities of the the machines ato level compatible with skill based programming. In order determine the decision capabilities of machines on a level compatible with skill Industrial production principles are constantly changing based programming. In order to determine the decision Industrial production principles are constantly changing capabilities of the machines on a level compatible with skill based programming. In order to determine the decision variables of the state space model, aa specific distinction Industrial production principles are constantly constantly changing based programming. In order to determine the decision due to to competition competition and the availability availability of new new technolotechnoloIndustrial production principles are changing variables of the state space model, distinction due and the of based programming. In order to determine the decision Industrial production principles are constantly changing variables of the state space model, aa specific specific distinction between two classes of transitions in general Petri Nets due to competition and the availability availability of new new technolotechnolovariables of the state space model, specific distinction gies. At present, the demand for individualized products due to competition and the of between two classes of transitions in general Petri Nets gies. to Atcompetition present, theand demand for individualized products variables of the state space model, a specific distinction due the availability of new technolobetween two classes of transitions in general Petri Nets is introduced. The state space model will be the basis to gies. At present, the demand for individualized products between two classes of transitions in general Petri Nets drives the development towards more flexible manufacgies. Atthe present, the demand for individualized products is introduced. The state space model will be the basis to drives development towards more flexible manufacbetween two classes ofand transitions in will general Petri Nets gies. Atthe present, the are demand for to individualized products is introduced. The state space model be the basis to apply feedback control online optimization to leverage drives development towards more flexible manufacis introduced. The state space model will be the basis to turing systems that capable quickly adjust to the drives the development towards more flexible manufacapply feedback control and online optimization to leverage turing systems that are capable to quickly adjust to the is introduced. The state space model will be the basis to drives the development towards more flexible manufacapply feedback control and online optimization to leverage the benefits granted by the flexible manufacturing setup turing systems that are are At capable to quickly quickly adjust to to the the apply feedback control and online optimization to leverage changing requirements. the same time, advancements turing systems that capable to adjust the benefits granted by the flexible manufacturing setup changing requirements. At the same time, advancements apply feedback control and online optimization to leverage turing systems thatcommunication are At capable totechnologies quickly adjust to new the and the benefits benefits granted by the the flexible flexible manufacturing setup to create aa production schedule in terms of skills, changing requirements. the same same time, advancements advancements granted by manufacturing setup in information information and open changing requirements. At the time, and to create production schedule in terms of skills, in and communication technologies open new the the benefits granted by the flexible manufacturing setup changing requirements. At the same time, advancements and to create a production schedule in terms of skills, which can be executed by the flexible manufacturing units. in information and communication technologies open new and to create a production schedule in terms of skills, possibilities to enhance industrial production. Under the in information communication technologiesUnder open new can be executed by the flexible manufacturing units. possibilities to and enhance industrial production. the which and to create a production schedule in terms of skills, in information and communication technologies open new which can be executed by the flexible manufacturing units. In this paper we first introduce the preliminaries of Inpossibilities to 4.0, enhance industrial production.onUnder Under the which can be executed by the flexible manufacturing units. name Industry Industry research and development development this topic topic possibilities to enhance industrial production. the In this paper we first introduce the preliminaries of Inname 4.0, research and onUnder this can beand executed by theinflexible manufacturing units. possibilities tofruit. enhance industrial production. the which In this paper we first introduce the preliminaries of Industry 4.0 Petri Nets Section 2, where we also name Industry 4.0, research andhand, development on this this topic topic In this paper we first introduce the preliminaries of Inalready bears On the one new paradigms wear name Industry 4.0, research and development on dustry 4.0 and Petri Nets in Section 2, where we also already bears fruit. On the one hand, new paradigms wear In this paper we first introduce the preliminaries of Inname Industry 4.0, research and development on this topic dustry 4.0 and Petri Nets in Section 2, where we also briefly state our notion of flexibility in a manufacturing already bears fruit. On the one hand, new paradigms wear dustry 4.0 and Petri Nets in Section 2, where we also down the classical automation pyramid and offer versatile already bears fruit. On the one hand, new paradigms wear briefly state our notion of flexibility in a manufacturing down the classical automation pyramid and offer versatile dustry 4.0 and Petri Nets in Section 2, where we also already bears fruit. On the one hand, new paradigms wear briefly state state our notion notion of flexibility flexibility in system. In Section 3, we formulate the down the classical classical automation pyramid and offer offer versatile versatile our of in aa manufacturing structures providing more flexibility flexibility (Bauernhansl, 2014). briefly down the automation pyramid and system. In Section 3, we formulate the structures providing more (Bauernhansl, 2014). briefly state our from notion of flexibility in a manufacturing down the classical automation pyramid and offer versatile system. In Section 3, we formulate the manufacturing problem to solve an application point of view, before structures providing morebased flexibility (Bauernhansl, 2014). system. In Section 3, we formulate the manufacturing On the other hand, skill programming enables abstructures providing more flexibility (Bauernhansl, 2014). problem to solve from an application point of view, before On the other hand, skill based programming enables absystem. In Section 3, we formulate the manufacturing structures providing more flexibility (Bauernhansl, 2014). problem to solve from an application point of view, before we present algorithms which automatically transform it On the other other hand, skill skill based based programming enables ab- we problem to solve from an application point of view, before straction of manufacturing tasks and offers the possibility On the hand, programming enables abpresent algorithms which automatically transform it straction of manufacturing tasksprogramming and offers theenables possibility problem to solve from an application point of view, before On the other hand, skill based abwe present algorithms which automatically transform it into a Petri Net in Section 4 and one step further into straction of manufacturing tasks and offers the possibility we present algorithms which automatically transform it to address the capabilities of a flexible manufacturing unit straction of manufacturing tasks and offers the possibility into a Petri Net in Section 4 and one step further into to addressofthe capabilities oftasks a flexible manufacturing unit we present algorithms which automatically transform it straction manufacturing and offers the2013; possibility into a Petri Net in Section 4 and one step further into a state space description in Section 5. In Section 6, we to address the capabilities of a flexible manufacturing unit into a Petri Net in Section 4 and one step further into on a higher level of abstraction (Thomas et al., Heim to capabilities of a flexible manufacturing unit ainto state space description in Section 5. In Section 6, we on address a higherthe level of abstraction (Thomas et al., 2013; Heim a Petri Net in Section 4 and one step further into to address the capabilities of a flexible manufacturing unit a state space description in Section 5. In Section 6, we presented results give an on further on higher level of manufacturing abstraction (Thomas (Thomas et al., 2013; 2013; Heim state the space description inand Section 5. outlook In Section 6, we et al., al., 2015). The units’ et actions are Heim then adiscuss on aa higher level of abstraction al., discuss presented results give an on further et 2015). The units’ actions are then state the space description inand Section 5. outlook In Section 6, we on a higher level of manufacturing abstraction (Thomas et al., 2013; Heim discuss the presented results and give an outlook on further and applications. et al., 2015). The manufacturing units’ actions are then aimprovements discuss the presented results and give an outlook on further executed autonomously with the help of numerous sensors et al., 2015). The manufacturing units’ actions are then improvements and applications. executed autonomously with the help of numerous sensors discuss the presented results and give an outlook on further et al., 2015). The manufacturing units’ actions are then improvements and and applications. applications. executed autonomously with the help help oflinking numerous sensors and subordinate subordinate logic. with However, the of element in improvements executed autonomously the numerous sensors and logic. However, the element in improvements and applications. executed autonomously with the help oflinking numerous sensors and subordinate logic. However, the linking element in between is still missing. It is not yet known, how the and subordinate logic. However, in between is still missing. It is notthe yetlinking known,element how the and subordinate logic.can However, linking in 2. PRELIMINARIES between is the stillrobots missing. It isused notthe yet known,element how the abilities of beis toyet implement the new new between is still missing. It not known, how the 2. PRELIMINARIES abilities of the robots can be used to implement the between is still missing. It is not yet known, how the 2. PRELIMINARIES 2. PRELIMINARIES abilities of the robots can be used to implement the new automation paradigms and create truly flexible manufacabilities of the robots can be used to implement the new 2. PRELIMINARIES automation paradigms andbe create flexible manufacabilities of the robots can used truly to implement the new The focus of Industry on the change industrial automation paradigms and create truly flexible manufacturing systems. automation paradigms and create truly flexible manufac- The focus of Industry 4.0 4.0 is is on the change of of industrial turing systems. The Industry is on the of industrial automation paradigms andancreate trulyand flexible manufacproduction (Kagermann et al., to which aim The focus focus of of Industry 4.0 4.0 is on2013), the change change of we industrial turing systems. In this paper, we present intuitive yet formal approduction (Kagermann et al., 2013), to which we aim to to turing systems. The focus of Industry 4.0 is on the change of industrial In this paper, we present an intuitive and yet formal approduction (Kagermann et al., 2013), to which we aim to turing systems. contribute with control theoretic methods. We will take production (Kagermann et al., 2013), to which we aim to In this to paper, we present present an intuitive intuitive and yet formalNets. ap- contribute proach link those two sides with the help of Petri In this paper, we an and yet formal apwith control theoretic methods. We will take production (Kagermann et twin al., 2013), to which we aim to proach to link those two sides with theand helpyet of Petri Nets. contribute with control theoretic methods. We will take In this paper, we present an intuitive formal apthe notion of the digital as presented in Grieves contribute with control theoretic methods. We will take proach to link those two sides with the help of Petri Nets. The connection connection is made made by introducing introducing algorithms which proach to link those two sides with the help of Petri which Nets. the notion of the digital twin as presented in Grieves contribute with control theoretic methods. We will take The is by algorithms the notion of the digital twin as presented in Grieves proach to link those two sides with the help of Petri Nets. (2014) as given and assume that this kind information notion of the twin as presented in Grieves The connectiongenerate is made made aby byPetri introducing algorithms which automatically Net model model from an an ele- the The connection is introducing algorithms which (2014) as given anddigital assume that this kind of of information the notion of the digital twin as presented inanGrieves automatically generate abyPetri Net from ele(2014) as given assume that this of information The connection is made introducing algorithms which always notion that (2014) as available. given and andThis assume thatimplies this kind kind offor information automatically generate a Petri Petri Net model model from whereof an ele- is mentary description of the manufacturing system, is always available. This notion implies that for an object object automatically generate a Net from an ele(2014) as given and assume that this kind of information mentary description of the manufacturing system, whereof is always available. This notion implies that for an object object automatically generate a Petri Net model from an elein the physical world there exists a digital representation is always available. This notion implies that for an mentary description of the the manufacturing manufacturing system, whereof a state space description can be deduced which on the mentary description of system, whereof in the physical world there exists a digital representation always available. This notion implies thatrepresentation for an during object a state space description can be deducedsystem, which whereof on the is in the physical world there exists a digital mentary description of the manufacturing that holds all the information that accumulate in the physical world there exists a digital representation a state space description can be deduced which on the one handspace allows to represent represent the flexibility present in the aone state description canthe beflexibility deduced present which on holds all the information that accumulate during in the physical world there exists a digital representation hand allows to in the that that holds all the information that accumulate during aone state space description can be deduced which on the its lifetime. twin of an object is created holds allThe thedigital information that during hand allows allows to to represent represent the the flexibility flexibility present present in in the the that one hand its lifetime. twin of an accumulate object is created that holds allThe thedigital information that accumulate during its lifetime. The twin object is one hand allows thethe flexibility present in  The with its production plan, expanded the production its lifetime. The digital digital twin of of an anwith object is created created wishtotorepresent acknowledge funding provided by the the with its production plan, expanded with the production  The authors its lifetime. The digital twin of an object is created authors wish to acknowledge the funding provided by the  The authors with its its production production plan, expandedand with the production production parameters used in its fabrication, is updated during  with plan, expanded with the Federal Ministrywish of Education and Research Germany – Research to the provided by authors to acknowledge acknowledge the funding funding provided by the the parameters used in fabrication, and is updated during Federal Ministrywish of Education and Research Germany – Research  The with its production plan, expanded with the production The authors wish to acknowledge the funding provided by the parameters used ina its its fabrication, and isexample updated during all its lifetime. For machine it holds for the skills Campus ARENA2036 Federal Ministry of Education Education and Research Research Germany – Research Research parameters used in its fabrication, and is updated during Federal Ministry of and Germany – all its lifetime. For a machine it holds for example the skills Campus ARENA2036 parameters used in its fabrication, and is updated during Federal Ministry of Education and Research Germany – Research all Campus all its its lifetime. lifetime. For For aa machine machine it it holds holds for for example example the the skills skills Campus ARENA2036 ARENA2036 all its lifetime. For a machine it holds for example the skills Campus ARENA2036 2405-8963 © 2019, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved.

Copyright © 2019 IFAC 497 Peer review© under responsibility of International Federation of Automatic Copyright 2019 IFAC 497 Control. Copyright © 497 Copyright © 2019 2019 IFAC IFAC 497 10.1016/j.ifacol.2019.11.111 Copyright © 2019 IFAC 497

2019 IFAC MIM Berlin, Germany, August 28-30, 2019

Philipp Wenzelburger et al. / IFAC PapersOnLine 52-13 (2019) 492–498

it can perform, in this paper represented as a list of tasks it can execute, and for an order of a personalized item there is a plan holding the different production steps that have to be fulfilled to manufacture it. To discuss flexibility of a manufacturing system, it needs to be clarified what flexibility“ means. In literature many ” different notions exist (see Beach et al. (2000) and Kim et al. (2003) for an overview), which vary in the level of abstraction, consider different effects in the manufacturing process and can be exploited in different ways. Generally a flexible manufacturing system needs to provide the possibility to change, which can be exploited to adjust to the present requirements in order to increase the efficiency of the production. Those changes are in particular the possibility to a) execute a task on different machines b) prioritize different products against each other when they have to be produced on the same machine c) change the sequence in which the production steps are performed, if this is technically possible. There is plenty of related work on scheduling in manufacturing and especially in Industry 4.0 scenarios (Dolgui et al., 2019; Liu et al., 2018; Chaudhry and Khan, 2016). Most of it requires detailed information on the production setup, which needs to be considered explicitly in the mathematical formulation and solution of the problem. Hence, when applying those methods, expert knowledge and time for model creation is required. To circumvent this, we consider a simplified approach by abstracting many details on the execution dynamics. This makes it possible to generate the mathematical model automatically from a simplified problem description, which is one of the main intents of our approach. Moreover, we don’t consider the solution of the scheduling problem yet, which is the main focus of many related papers. More general techniques introduced for automatic scheduling in Industry 4.0 (e.g., Rossit et al. (2018)) are applicable to the model presented in this paper and might be considered in future work. In order to develop and apply control theoretic methods, we need to formulate the problem mathematically, which will be done in the Sections 3 - 5. We choose a model based framework, which on the one hand needs to enable to formulate the flexible aspects of the system, and on the other hand has to have a mathematical formalization. Our choice are Petri Nets, which will be introduced in the sequel and are well suited to describe Industry 4.0 scenario as investigated in Long et al. (2015). Petri Net models are especially suitable for our purposes since they have an algebraic description of the system dynamics which allows to employ existing methods from systems and control theory. Petri Nets have originally been developed in the 1960s by Carl Adam Petri (Petri, 1962) and have been widely used and enhanced since then. There exists a vast amount of literature that can be consulted, whereof we want to refer to Cassandras and Lafortune (2009) and Seatzu et al. (2013) to get a detailed insight in the topic. For our purposes, a short definition of a very basic form of a Petri Net suffices.

498

493

Definition 1. A Petri Net is a tuple P N = (P, T, E, w, x0 ), where P = {p1 , ..., pn } is a finite set of places, n ∈ N, graphically represented as circles, T = {t1 , ..., tm } is a finite set of transitions, m ∈ N, graphically represented as bars,  E ⊆ (P × T) (T × P) is a set of arcs from places to transitions and from transitions to places, graphically represented as arrows, w : E → N is an arc weight function, graphically represented as numbers labeling the arcs (if an arc has the weight 1 it is not labeled) and x0 ∈ Nn0 is the initial marking of the Petri Net, from now on called initial state. The initial state x0i of the place pi describes the number of tokens in the place pi at initialization, graphically represented by x0i dots in the corresponding circle. The dynamics of a Petri Net is driven by the so called firing of the transitions and described by the state signal x : N0 → Nn0 , where x(k) is the state of the Petri Net at time k and x(0) = x0 . If a transition tj fires, tokens are moved between the places according to the weights of the arcs connected to tj . This can be compactly described by introducing the incidence matrix of a Petri Net B = B + − B − composed of the matrices B + and B − with the entries + − = w(tj , pi ) and Bi,j = w(pi , tj ), and the firing signal Bi,j m u : N0 → N0 . The firing count vector u(k) holds the number of times each transition in the Petri Net fires at time k, leading to the Petri Net dynamics x(k + 1) = x(k) + Bu(k). (1) Since the places cannot hold a negative number of tokens, the firing of a transition is not always possible. A transition tj is only enabled, when all places pi , i = 1, ..., n hold at least as many tokens as the weight of the arc leading from the place pi to the transition tj , i.e., xi (k) ≥ w(pi , tj ) for all i = 1, ..., n. This can be compactly described through (2) 0 ≤ x(k) − B − u(k). Up to this point, we stick to a usual formulation of the Petri Net dynamics as for example used in Cassandras and Lafortune (2009). We treat the firings of the transitions as the means to influence the Petri Net and do not assume any inherent firing rule. The Petri Net dynamics (1) is a linear discrete time system x(k + 1) = Ax(k) + Bu(k) with the matrix A = I which is constrained by (2) in order to obey the rule that the state of the Petri Net remains nonnegative. For the description of our manufacturing problem in form of a Petri Net in Section 3, we will exploit the possibilities of changing the matrix A. We introduce an independent part of the Petri Net which holds transitions that fire as soon as they are enabled and will be represented in the matrix A in contrast to the controlled part of the Petri Net which remains the basis for the incidence matrix B. Since the independent part of the Petri Net also has to obey the rule that the state vector only holds positive integers, the matrix A has to be nonnegative, i.e., A ∈ Nn×n . This means that not every type of transition 0 can contribute to the independent part of a Petri Net. As depicted in Figure 1, only sequences, junctions and splittings can be in the independent part, whereas conflicts

2019 IFAC MIM 494 Germany, August 28-30, 2019 Berlin,

Philipp Wenzelburger et al. / IFAC PapersOnLine 52-13 (2019) 492–498

.. . .. .

.. .

.. .

.. . .. .

Figure 1. The Petri Net structures on the left can be in the independent part of a Petri Net, whereas the ones on the right cannot. and synchronisations cannot. In a conflict situation, an active decision is needed, which transition shall fire, and at a synchronization point multiple preconditions have to be checked before firing the transition. The transitions in the independent part can only depend on one input-place and there can only be a single possibility, how the Petri Net can further evolve. For A = I the independent part of the Petri Net is completely static and a state x(k) remains unchanged unless an active decision through u(k) = 0 is made. If a place pi has an output-transition which is realized in the independent part of the Petri Net, the i-th column of the matrix A is changed. In the simple case of a sequence from pi to pi+1 , the 1 on the diagonal entry is moved to the first lower sub-diagonal in the column corresponding to pi . By this mechanism, we can model processes which evolve independently from any active decisions and no matter what happens somewhere else in the manufacturing system. 3. PROBLEM FORMULATION Having introduced Petri Nets as the framework in which we will model manufacturing systems, we now describe how it can be applied to automatically generate a model of a factory. The class of manufacturing problems we investigate is a generalization of the description of noncyclic manufacturing systems in Zhou (2012), where, in contrast to our setup, the sequence of tasks is completely fixed. In our abstract view of a production system, the main components are - A set T = {τ1 , ..., τnτ } of tasks which can be executed in the manufacturing system. Each task τ might depend on other tasks, which need to be finished before τ can be started. - A given set M = {m1 , ..., mnm } of production facilities (machines, robots, automated guided vehicles, ...), from now on called machines for brevity. Every machine m can execute a set Tm ⊂ T of tasks. - A set O = {o1 , ..., ono } of orders, possibly arriving at different points in time, which have to be fulfilled. Each order o consists of a set To ⊂ T of tasks.

The machines might differ from one another and the tasks most certainly vary in complexity. Therefore, in addition to the list of task Tm every machine m ∈ M can perform, it 499

is necessary to provide the production times kP (m, τ ) that expresses the number of time steps machine m needs to execute task τ ∈ Tm . By linking production time, task, and machine, it is possible to have different production times for the same task on different machines. In the skill based programming scenario, this could be caused by different implementations of the same skill on different machines. Like for example done in Brucker et al. (2006), we assume that each machine has an output buffer where the goods are stored after it finished a task. The sequence of the tasks in an order is generally free and only restricted by the dependencies between the tasks. Thereby, the freedom of choice is constrained to implementable production sequences. Notice that only the tasks directly necessary to start some specific task need to be specified. Indirect dependencies through a chain of other tasks in between need not be given explicitly and can easily be determined, which we show in Section 4. The goal of our scenario is to find the best schedule possible for arbitrarily arriving orders with the available machine pool. The orders compete for the machines, which can be seen as shared resources. For determining the favorable production sequences according to economic criteria, a cost function needs to be defined which has to be optimized. Depending on the production scenario, the cost function might hold material cost, storage cost, energy cost etc. and is not further specified here. The problem at hand can be characterized as a flexible job shop problem (Kim et al., 2003), which offers three types of flexibility: Operation flexibility describes the possibility to perform the same task on different machines, sequencing flexibility means that the sequence of tasks in an order can be altered and processing flexibility allows to choose between different tasks, or sequences of tasks, which can be executed interchangeably. With the methods introduced here, only operation flexibility and sequencing flexibility can be implemented, since we formulate production plans, in which the set of tasks that have to be fulfilled is fixed and every task needs to be executed to fulfill the order. For reasons of clearer presentation we stick to this restriction, although it could be relaxed with an extension of the presented algorithms, which would enable the realization of processing flexibility. Example With a small running example, we will exemplify the methods introduced in this and the next sections. Our exemplary setup consists of two machines m1 and m2 , which can perform five different tasks τ1 , ..., τ5 . The specifications of the machines are: Tm1 = {τ1 , τ2 , τ3 } Tm2 = {τ3 , τ4 , τ5 } kP (m1 , τ1 ) = kP (m1 , τ2 ) = 1, kP (m1 , τ3 ) = 3 kP (m2 , τ3 ) = kP (m2 , τ4 ) = kP (m2 , τ5 ) = 1, The dependencies between the tasks are, that task τ1 needs to be finished before any other tasks is started and that task τ3 needs to be finished before Task τ5 . The production goal is to complete three orders o1 , o2 and o3 : To1 = {τ1 , τ2 , τ3 }

To2 = {τ1 , τ3 , τ4 }

To3 = {τ1 , τ3 , τ5 }

2019 IFAC MIM Berlin, Germany, August 28-30, 2019

Philipp Wenzelburger et al. / IFAC PapersOnLine 52-13 (2019) 492–498

495

p(... , P )

t(...,S)

4. FORMULATION OF THE PETRI NET MODEL

p(... , P1 )

From this definition of the production problem, a Petri Net model will be generated automatically with the algorithms presented in this section. The resulting Petri Net model allows every possible execution sequence. In the Petri Net representation of the manufacturing system, the state vector x(k) represents the current status of the system at time k. The controlled transitions are the manufacturing decisions to be taken and represented in the incidence matrix B. Changes of the state that follow directly and without external influence are modeled as transitions in the independent part of the Petri Net and handled in the matrix A. In order to document the meaning of the places and transition, identifiers are introduced. Besides being helpful to keep the Petri Net understandable, they are used to treat elements of the Petri Net in the same way, if they have the same role in the manufacturing system. This is for example done when determining which transitions are assigned to the independent part of the Petri Net. Independent of their identifier, all places and transitions can be handled as usual. The identifiers hold information on the machine, task and order the respective place or transition belongs to. Additionally, a classifying character σ ∈ Σ = {S, F, P, B, I, N, C} indicates the productionrelated meaning of the corresponding element of the Petri Net. We identified the following classifications: S relates to start“, F to finish“, P to production“, B to buffer“, I ” ” ” ” to idle“, N to necessary“, and C to completed“. The ” ” ” algorithms presented in the following build upon this exact set of classifiers, which allow to represent quite diverse manufacturing scenarios. Nevertheless, further classifiers are possible and could enhance the representable scenarios, but would require specific consideration in the presented algorithms. Every place corresponds to one machine m ∈ M, one task τ ∈ T , and one order o ∈ O. Therefore, the identifier of a place is a tuple of the form (m, τ, o, σ) indicating that its marking holds information on the execution of task τ of order o on machine m. Every transition connects two places and therefore its identifier needs to hold two machines m, m ∈ M and two task τ, τ  ∈ T . Since the tasks being executed belong to a specific order and since different orders must not be mixed, the identifiers of the transitions only comprise one order o ∈ O. Hence, the identifier of a transition is a tuple of the form (m, m , τ, τ  , o, σ). In the Petri Net representation, the production times are modeled as holding times of the production places, which can be transformed into a chain of production places. Each element of this chain corresponds to the time that already passed in the respective production step (cf. Figure 2). This is similar to the lifting introduced in Subramanian et al. (2012). With those specifications, the Petri Net model of a factory can be generated in two steps. In Algorithm 1 the places to indicate the status of the factory are created. The transitions and arcs, which define the possible evolutions of the production process, are introduced in Algorithm 3, with the help of Algorithm 2.

500

t(... , S)

t(...,F )

kP (m1 ,τ3 )=3

p(... , P2 )

t(... , P1 )

p(... , P3 )

t(... , P2 )

t(... , F )

Figure 2. The timed production place p(... , P ) with a makespan of kP (m1 , τ3 ) = 3 is lifted to a sequence of three places p(... , P1 ) , p(... , P2 ) , and p(... , P3 ) and two transitions t(... , P1 ) and t(... , P2 ) . In the lifted representation it can be seen that the production will terminate in the next time step, which is not perceivable from the timed production place. Through the idle places p(·,0,0,I) created in the first forloop of Algorithm 1, it is guaranteed that every machine can only execute one task at a time. The token it holds will be removed whenever a production process starts and it will be returned as soon as the process finishes. The orders to be produced are introduced in the second for-loop. For every order a starting place p(0,0,·,S) is created holding one token which represents the product that’s being produced and is passed from machine to machine as the product evolves. For every task of every order, the machine on which it will be executed is not predefined and therefore all the possibilities are introduced with the production places p(... , P1 ) , ... , p(... , PkP (m,τ ) ) and the buffer places p(... , B) . For example, a token in the place p(m,τ,o,B) means that the product, which shall be produced in order o is stored in the output buffer of machine m after the task τ was finished. The necessity places p(0,·,·,N ) and the completion places p(0,·,·,C) indicate whether a task of some order still needs to be executed or that it was already completed, respectively. This is needed to keep the status of an order up-to-date and to determine which subsequent tasks are ready to be started. for every machine m ∈ M do Create an idle place p(m,0,0,I) holding one token end for every order o ∈ O do Create the starting place p(0,0,o,S) holding one token for every task τ ∈ To do Create an unmarked completion place p(0,τ,o,C) Create a necessity place p(0,τ,o,N ) holding one token for every machine m ∈ M do if task τ ∈ Tm then Create kP (m, τ ) unmarked production places p(m,τ,o,P1 ) , ... , p(m,τ,o,Pk (m,τ ) ) P Create an unmarked buffer place p(m,τ,o,B) end end end end Algorithm 1. Create Places

In order to prevent dead transitions, which can never fire, we developed the recursive function fN (τ, τ  ). It determines through Algorithm 2 whether a task τ must necessarily be completed before a task τ  can be started, and thereby resolves the indirect dependencies between

2019 IFAC MIM 496 Berlin, Germany, August 28-30, 2019

Philipp Wenzelburger et al. / IFAC PapersOnLine 52-13 (2019) 492–498

p(m1 ,τ1 ,o3 ,P ) p(m1 ,τ1 ,o3 ,B) p(m1 ,τ3 ,o3 ,P ) p(m1 ,τ3 ,o3 ,B)

t(0,m1 ,0,τ1 ,o3 ,S)

kP (m1 ,τ3 )=3

machine m1

t(m1 ,m1 ,τ3 ,τ3 ,o3 ,F )

p(m2 ,τ3 ,o3 ,P ) p(m2 ,τ3 ,o3 ,B)

machine m2

t(m1 ,m2 ,τ1 ,τ3 ,o3 ,S)

p(m2 ,τ5 ,o3 ,B) p(m2 ,τ5 ,o3 ,P )

Figure 3. The possible production sequences for order o3 in the running example. For the sake of clarity, only the production and buffer places are depicted. The slim transitions are handled in the independent part of the Petri Net, whereas the bold transitions can be controlled. the tasks. It is evaluated in Algorithm 3 right before the starting transitions and their corresponding arcs are created, and thereby prevents dead starting transitions. Note that the function fN is not needed to get a valid Petri Net model of the factory, but only prevents dead transitions and thereby reduces the problem size, i.e., the number of transitions, without having any effect on the possible production sequences.

for every order o ∈ O do for every task τ ∈ To do for every machine m with τ ∈ Tm do if task τ does not require any prior task then Create a starting transition t(0,m,0,τ,o,S) with the input arcs (p(0,τ,o,N ) , t(0,m,0,τ,o,S) ), (p(m,0,0,I) , t(0,m,0,τ,o,S) ) and (p(0,0,o,S) , t(0,m,0,τ,o,S) ) and the output arc (t(0,m,0,τ,o,S) , p(m,τ,o,P1 ) ) end Create the production transitions t(m,m,τ,τ,o,Pq ) , q ∈ [1, kP (m, τ ) − 1] with input arcs (p(m,τ,o,Pq ) , t(m,m,τ,τ,o,Pq ) ) and the output arcs (t(m,m,τ,τ,o,Pq ) , p(m,τ,o,Pq+1 ) ). Create a finishing transition t(m,m,τ,τ,o,F ) with input arc (p(m,τ,o,Pk (m,τ ) ) , t(m,m,τ,τ,o,F ) ) P

and the output arcs (t(m,m,τ,τ,o,F ) , p(m,τ,o,B) ), (t(m,m,τ,τ,o,F ) , p(m,0,0,I) ) and (t(m,m,τ,τ,o,F ) , p(0,τ,o,C) ) for every task τ  ∈ To do for every machine m with τ  ∈ Tm do if τ = τ  and ¬fN (τ  , τ ) and {τ ∗ ∈ To : fN (τ, τ ∗ ) = fN (τ ∗ , τ  ) = 1} = ∅ then

Function fN (τ, τ  ) : bool for every Task τ¯ being necessary to start Task τ  do if τ¯ = τ then return 1 else return fN (τ, τ¯) end end return 0 end Algorithm 2. Determine indirect dependencies

In Algorithm 3, first, transitions and arcs are introduced which allow to execute every task of every order in an arbitrary sequence that respects the dependencies between the tasks determined through Algorithm 2. To restrict later tasks from being performed before earlier ones, in the last for-loop additional arcs to the starting transitions are introduced from the completion places to and back to themselves, which serves to evaluate whether all required tasks necessary to start a specific task have already been completed. Thereby, the Petri Net is restricted such that it can only evolve according to realizable production sequences. However, it is still possible to change the sequence of some tasks, if they do not depend on each other, as we demanded in Section 3. Example In the running example, 53 places are created. Those are two idle places, one for every machine, three starting places, one for every order, nine necessity and completion places, one of each kind for every task of every order, twelve buffer places, one for every task of every order on every machine that is able to execute it, and 18 production places. In Algorithm 3, 39 transitions are created, 14 for the orders o1 and o2 and eleven for the order o3 . In order o3 only the machine on which the task τ3 is executed can be chosen, as depicted in Figure 3. 501

Create a starting transition t(m,m ,τ,τ  ,o,S) with the input arcs (p(0,τ  ,o,N ) , t(m,m ,τ,τ  ,o,S) ), (p(m ,0,0,I) , t(m,m ,τ,τ  ,o,S) ) and (p(m,τ,o,B) , t(m,m ,τ,τ  ,o,S) ) and the output arc (t(m,m ,τ,τ  ,o,S) , p(m ,τ  ,o,P1 ) ) for every task τ  being necessary to start the task τ  do Create the arcs (p(0,τ  ,o,C) , t(m,m ,τ,τ  ,o,S) ) and (t(m,m ,τ,τ  ,o,S) , p(0,τ  ,o,C) ) end end end end end end end Algorithm 3. Create Transitions and Arcs

5. REPRESENTATION OF THE PETRI NET MODEL IN STATE SPACE For the automatically generated Petri Net, the state space representation can be generated automatically as well. First, the initial state x0 is determined, which simply holds the initial markings of the places. In the second step, the matrix A is initialized as identity matrix. Since the machines move the parts to their output buffer automatically after finishing a task, the finishing transitions t(... , F ) are handled in the matrix A as well as the production transitions t(... , Pi ) . The handling of the production and finishing transitions in the independent part of the Petri Net does not conflict with the restrictions on independent transitions mentioned in Section 2, since in Algorithm 3 only one

2019 IFAC MIM Berlin, Germany, August 28-30, 2019

Philipp Wenzelburger et al. / IFAC PapersOnLine 52-13 (2019) 492–498

input arc is connected to every production and finishing transition, which is simultaneously the only output arc of the corresponding production place. The handling of the production transitions t(... , Pi ) in the matrix A removes the diagonal entry from the column of A corresponding to its input-place p(... , Pi ) through the influence of the input arc (p(... , Pi ) , t(... , Pi ) ), and introduces a one in the same column at the position of its output-place p(... , Pi+1 ) through the influence of the output arc (t(... , Pi ) , p(... , Pi+1 ) ). For the finishing transitions, the diagonal entry corresponding to the input-place p(... , PkP (m,τ ) ) is removed as well, and ones are introduced in the same column at the position of the output-places p(... , B) , p(... , I) and p(... , C) . By this mechanism, every token which enters p(... , P1 ) is moved once further in every time step and tokens are added to the places p(... , B) , p(... , I) and p(... , C) after the last production step, which is kP (m, τ ) time steps later. The starting transitions are handled in the matrix B, since starting a production process on a specific machine is a conscious decision. The matrix B is created by adding a column for every starting transition, removing one token from the idle place p(... , I) , the necessity place p(... , N ) , and the buffer place p(... , B) by introducing −1 in the corresponding row, and adding one token to the first production place through entering +1 in the row corresponding to p(... , P1 ) . If the identifiers of the places and transitions are stacked in vectors xID and uID according to the generation of the state space description, it is possible to reconstruct the Petri Net from which the state space description was created and update its marking at time k by evaluating x(k). Thereby, also the initial description of the manufacturing system can be updated according to its evolution. Example The state space description of the overall Petri Net of the running example has 53 states, each representing the marking of a place of the Petri Net, and 21 controlled inputs, which correspond to the starting transitions. For the small excerpt which is depicted in Figure 3, the state space description is  x(k + 1) =

0 1 0  0 0  0 0  0  0 0



1 0 0  0 0 + 0 0  0  0 0

0 1 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 0 0

0 −1 1 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0 0

0 0 0 0 0 1 0 0 0 0

0 0 0 0 0 −1 0 0 1 0

0 0 0 0 0 1 0 0 0 0 0 −1 0 0 0 0 1 0 0 0

0 0 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 0 0 1





0 0 0  0 0  x(k) 0  0 0  0 1

0 0  0   0  0   u(k), 0   0  −1  1 0

(3)

with the identifiers 502



xID

497



m1 , τ1 , o3 , P1 m1 , τ1 , o3 , B   m1 , τ3 , o3 , P1      0 , m 1 , 0 , τ 1 , o3 , S  m1 , τ3 , o3 , P2  m 1 , m 1 , τ1 , τ3 , o3 , S   m1 , τ3 , o3 , P3  ID    = m1 , τ3 , o3 , B  and u = m1 , m2 , τ1 , τ3 , o3 , S  . (4) m1 , m 2 , τ 3 , τ 5 , o 3 , S m , τ , o , P   2 3 3 1 m2 , m 2 , τ 3 , τ 5 , o 3 , S m2 , τ3 , o3 , B    m2 , τ5 , o3 , P1 m2 , τ5 , o3 , B

Note that equation (3) and the identifiers (4) only correspond to the excerpt of the Petri Net depicted in Figure 3, where places corresponding to the orders o1 and o2 as well as the idle, starting, necessity and completion places are omitted. It can be seen that the dimension of the state space is rather large even for relatively small systems. 6. DISCUSSION AND OUTLOOK With the goal of controlling a flexible production plant on which individual orders are produced, we developed a formalism to automatically, at the push of a button, deduce a linear discrete time system from a coarse description of the production problem. Based on the discrete time system and a cost function which assigns cost to the inputs and states of the system, the production plan can be optimized. By the abstract formulation of the production orders, those already comprise the flexibility of choosing how to fulfill them. This is on the one hand the sequence in which the production steps are executed, and on the other hand the way in which they are implemented on different manufacturing units. In our framework, the first type of flexibility is explicitly considered, whereas the second type is abstracted by different execution times of the same task on different machines, which connects right to the idea of skill based programming, where the implementation of a task on a specific machine is abstracted on a similar level. In an intermediate step, a Petri Net description of the production problem is generated, from which the discrete time state space model is built. To distinguish automatic executions from conscious manufacturing decisions, we distinguish two classes of Petri Net transitions, the independent transitions and the controlled ones. Through this distinction, the firing count vector u combined with the incidence matrix B only holds the active decisions and their effects on the system, whereas the autonomous evolution of the production process is captured in the matrix A, which we introduced in the Petri Net dynamics. The model presented here is far from covering every aspect of production systems, which is intended to keep the complexity manageable. However, the model holds the possibility to be expanded in many ways and incorporate further aspects like for example cyclic production, shared resources, buffer sizes, setup times for the machines, or more complex dependencies between tasks by introducing extensions of the Petri Net. Since real production systems are way bigger than the example shown here, they will result in large Petri Nets and high dimensional state space descriptions. In Bachmann-Landau notation, the number of Places in the Petri Net and the dimension of the state vector x is of order O(nτ nm no ), the number of transitions and the dimension of the input vector u

2019 IFAC MIM 498 Germany, August 28-30, 2019 Berlin,

Philipp Wenzelburger et al. / IFAC PapersOnLine 52-13 (2019) 492–498

is of order O(n2τ n2m no ), and the number of arcs and the number of non-zero entries in A, Bm and Bp combined is of order O(n3τ n2m no ). Furthermore, the dimension of the state vector increases by choosing a smaller discretization step size. Thereby, a compromise between the dimension of the problem setup and the achievable precision of the resulting schedule is necessary. In order to keep the problem computationally tractable, abstraction and distribution techniques need to be developed and investigated. In the presented setup, the decomposition of the orders into tasks and the formulation of the capabilities of the machines as skills, as well as the formulation of a meaningful cost function, is omitted and left to the operator of the manufacturing system. Those tasks are not trivial and have a great influence on the usefulness of the model and the schedules which can be obtained. Most importantly, the presented modeling framework only yields a benefit, if its capabilities are exploited. In particular the state space description can be used to apply established methods from systems and control theory, which could open new opportunities by introducing feedback and online optimization. Since the constraint that the number of tokens in a place needs to be non-negative has to be met, Model Predictive Control is very promising, since it can explicitly take the constraints into account. REFERENCES Bauernhansl, T. (2014). Die Vierte Industrielle Revolution – Der Weg in ein wertschaffendes Produktionsparadigma. In T. Bauernhansl, M. ten Hompel, and B. Vogel-Heuser (eds.), Industrie 4.0 in Produktion, Automatisierung und Logistik: Anwendung · Technologien · Migration, chapter 1, 5–35. Springer Fachmedien, Wiesbaden. Beach, R., Muhlemann, A.P., Price, D.H.R., Paterson, A., and Sharp, J.A. (2000). A review of manufacturing flexibility. European Journal of Operational Research, 122(1), 41–57. Brucker, P., Heitmann, S., Hurink, J., and Nieberg, T. (2006). Job-shop scheduling with limited capacity buffers. OR Spectrum, 28(2), 151–176. Cassandras, C.G. and Lafortune, S. (2009). Introduction to Discrete Event Systems. Springer Science & Business Media, New York, NY, USA. Chaudhry, I.A. and Khan, A.A. (2016). A research survey: review of flexible job shop scheduling techniques. International Transactions in Operational Research, 23(3), 551–591. Dolgui, A., Ivanov, D., Sethi, S.P., and Sokolov, B. (2019). Scheduling in production, supply chain and Industry 4.0 systems by optimal control: fundamentals, state-of-the-art and applications. International Journal of Production Research, 57(2), 411–432. doi: 10.1080/00207543.2018.1442948. Grieves, M. (2014). Digital Twin: Manufacturing Excellence Through Virtual Factory Replication. Technical report, Florida Institute of Technology. Heim, R., Nazari, P.M.S., Ringert, J.O., Rumpe, B., and Wortmann, A. (2015). Modeling Robot and World Interfaces for Reusable Tasks. In Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 1793–1798. 503

Kagermann, H., Wahlster, W., and Helbig, J. (2013). Recommendations for implementing the strategic initiative Industrie 4.0: Final report of the Industrie 4.0 Working Group. acatech – National Academy of Science and Engineering. Kim, Y.K., Park, K., and Ko, J. (2003). A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling. Computers & Operations Research, 30(8), 1151–1171. Liu, Y., Wang, L., Wang, X.V., Xu, X., and Zhang, L. (2018). Scheduling in cloud manufacturing: state-of-the-art and research challenges. International Journal of Production Research. doi: 10.1080/00207543.2018.1449978. Long, F., Zeiler, P., and Bertsche, B. (2015). Potentials of coloured petri nets for realistic availability modelling of production systems in Industry 4.0. In Proc. ESREL 2015 Conference, volume 7. Z¨ urich. Petri, C.A. (1962). Kommunikation mit Automaten. Ph.D. thesis, Technischen Hochschule Darmstadt. Rossit, D.A., Tohm´e, F., and Frutos, M. (2018). Industry 4.0: Smart Scheduling. International Journal of Production Research. doi:10.1080/00207543.2018.1504248. Seatzu, C., Silva, M., and van Schuppen, J. (eds.) (2013). Control of Discrete-Event Systems, volume 433. Springer, London. Subramanian, K., Maravelias, C.T., and Rawlings, J.B. (2012). A state-space model for chemical production scheduling. Computers & Chemical Engineering, 47, 97– 110. Thomas, U., Hirzinger, G., Rumpe, B., Schulze, C., and Wortmann, A. (2013). A New Skill Based Robot Programming Language Using UML/P Statecharts. In Proc. IEEE International Conference on Robotics and Automation, 461–466. Zhou, M.C. (2012). Petri Nets in Flexible and Agile Automation, volume 310. Springer Science & Business Media, New York, NY, USA.