本发明属于自动制造系统技术领域,涉及一种基于Petri网的自动制造系统的稳健性控制方法。
背景技术:
制造自动化是制造技术发展的一个主要方向。为了响应激烈市场竞争的出现和先进自动化技术的应用,自动制造系统已经经历了跳跃式的发展。其目标是降低制造成本、改善产品质量、提高生产率和确保生产安全。然而,考虑到系统的规模和资源的成本,资源不会无限制的提供。因此,资源共享是一个理想的解决方案。由于并发执行的进程会竞争共享的资源,系统死锁问题就会不期而至。一旦出现死锁,整个系统要么停滞,要么进入一个死循环。尽管研究者在死锁问题的计算和控制方面做了大量的研究,但是大多数的研究者总是假设分配的资源不会故障。事实上,任何的制造研究者都知道,系统的机械故障很容易发生,并且来自各种各样的原因,包括工件磨损、传感器失灵、零件缺失和组件故障等等。一个简单的资源故障会导致整个系统的瘫痪。
在过去的数十年里,研究者们已经研究了一系列的监督控制方法。这些方法可以分为中心控制方法和分布式控制方法。其中具有代表性的中心控制方法是由Ramadge和Wonham提出的监管控制方法和信标死锁解决方法。Ramadge和Wonham提出的监管控制方法是用中心控制器来控制的,而且是在静态的方式下,采用形式语言对一个具体的目标进行控制。坏的状态通过提前地检查所有的状态来避免。然而,实际的制造系统是由相对小的、相互作用的和事件驱动的子系统组成,规模相当的庞大。状态数可以说是一个天文数字。信标死锁解决方法是通过引入新的控制库所,从而防止系统中的信标不被清空,从而实现系统无死锁。但是,新的控制库所的引入会继续形成新的信标。随着系统规模的增大,迭代次数会变得无法想象。一旦一个不可靠资源故障,整个控制器就得重新设计。很显然,中心化的控制方法中计算和存储复杂度是一个大问题。因此,研究者们把注意力转向分布式控制方法。使用分布式控制方法,中心控制器所完成任务可以由很多局部控制器来完成。每一个局部控制器根据所接收到的信息,做出局部控制,这样就大大降低了计算和存储复杂度。
尽管分布式控制方法已经得到了广泛的应用,但在推广使用过程中还是存在一些缺陷,具体体现在:1、对于具有装配操作的系统,需要所有进程并发的进行,在各个进程加工到最后阶段并且满足一定条件,装配操作才能完成。很明显,控制装配操作的控制器变得复杂难以设计。与灵活路径相比,装配操作赋予了更丰富的结构信息和研究价值。2、大多数的分布式方法不实用,因为它们是基于具体的系统结构或者局部控制之间协调器的设计是一项巨大的挑战。3、大多数的分布式方法是基于分配的资源从来不会故障的基础上设计的。事实上,一旦出现资源故障,可能会导致整个系统停滞。
技术实现要素:
为解决现有技术中存在的问题,本发明的目的在于提供一种具有灵活路径和装配操作的基于Petri网的自动制造系统的稳健性控制方法,以便不需要资源故障的进程能持续的加工。
为实现上述目的,本发明所采用的技术方案是:一种基于Petri网的自动制造系统的稳健性控制方法,包括中心控制器和局部控制器,中心控制器与局部控制器电连接,其特征是:中心控制器至少包括以下步骤:
1)进行死锁避免算法:
1.1)初始化,使其中,TEN是使能变迁集合,TDF是使自动制造系统无死锁运行的变迁集合;
1.2)采集一个可达状态M,包括每个库所所含的托肯数;
1.3)根据变迁使能规则,在当前状态M下,求出所有的使能变迁集合,即若ti是使能的,则TEN:TEN∪{ti},其中ti是状态M下的任意一个变迁;
1.4)选择TEN中的任意一个变迁并判断该变迁是否处于装配操作的标志图模块中;
1.5)当变迁位于装配操作的标志图模块中,模块发射元素
1.6)当变迁不位于装配操作的标志图模块中,发射变迁若当前的资源足以支持相对应的托肯到达最近的全局无死锁关键库所,那么i=i+1,进行步骤1.4),否则,i=i+1,进行步骤1.4),i为加后赋值运算符;
1.7)在状态M下,当TEN中所有的变迁都检测完毕,得到使系统无死锁运行的变迁集合TDF;
2)进行稳健加强算法:
2.1)初始化,使其中,TRB是使自动制造系统无阻塞运行的变迁集合;2.2)采集当前的状态M,包括每个库所所含的托肯数;
2.3)选择TDF中的任意一个变迁并判断对应的托肯是否使用不可靠资源;
2.4)当相对应的托肯不使用不可靠资源时,判断其在将来的加工路径中是否需要不可靠资源;
2.5)当变迁在将来的加工路径中不需要不可靠资源,则
2.6)当变迁在将来的加工路径中需要不可靠资源,判断变迁是否位于装配操作的标志图模块中;
2.7)当变迁位于装配操作的标志图模块中,模块发射元素
2.8)当变迁不位于装配操作的标志图模块中,发射变迁若当前的资源足以支持相关的托肯到达最近的全局稳健关键库所,并且当相关的托肯进入到该关键库所时,剩余的资源足以支持其他未必需要不可靠资源的进程顺利地加工,那么i=i+1,进行步骤2.3),否则,i=i+1,进行步骤2.3),i为加后赋值运算符;
2.9)选择TDF中的任意一个变迁并且对应的托肯需要使用不可靠资源;
2.10)若该不可靠资源没有故障,则步骤类同于对应的托肯不使用不可靠资源;2.11)若该不可靠资源处于故障状态,则i=i+1,进行步骤2.3);
2.12)在状态M下,当TDF中所有的变迁都检测完毕,得到使系统稳健运行的变迁集合TRB;
3)进行并发性改进算法:
3.1)初始化,使其中,TMC是使自动制造系统并发性改善的变迁集合;
3.2)给变迁集合TRB中的每一个变迁对应的托肯添加标签xi;
3.3)用表示第xi个托肯前进的步数;
3.4)求目标函数找出最落后的托肯,则其对应的变迁就属于并发性改善变迁集合,即
3.5)选择并发性改善变迁集合TMC中的任意一个变迁发射;然后返回到步骤1.2)。
所述步骤1.5)的具体过程为:
1.5.1)若当前的资源能够支持变迁所对应的托肯进入到最近的无死锁关键库所,并且在表示装配操作的标志图模块的其他所有并行路径中,分别存在托肯能够到达各自路径中最近的无死锁关键库所,即并发路径上对应的托肯能进入到无死锁局部关键库所。那么i=i+1,进行步骤1.4;
1.5.2)若当前的资源不能支持变迁所对应的托肯进入到最近的无死锁关键库所,或者当前的资源能够支持变迁所对应的托肯进入到最近的无死锁关键库所,但是在表示装配操作的标志图模块的其他所有并行路径中,不存在托肯能够到达各自路径中最近的无死锁关键库所,那么,i=i+1,进行步骤1.4)。
所述步骤2.6)的具体过程为:
2.6.1)若当前的资源能够支持变迁所对应的托肯进入到最近的稳健关键库所,并且在表示装配操作的标志图模块的其他所有并行路径中,分别存在托肯能够到达各自路径中最近的稳健关键库所,即并发路径上对应的托肯能进入到稳健局部关键库所;同时,当各个进程中的托肯进入到该局部关键库所时,剩余的资源足以支持其他未必需要不可靠资源的进程顺利地加工,那么i=i+1,进行步骤2.3);
2.6.2)若当前的资源不能支持变迁所对应的托肯进入到最近的稳健关键库所,或者当前的资源能够支持变迁所对应的托肯进入到最近的稳健关键库所,但是在表示装配操作的标志图模块的其他所有并行路径中,不存在托肯能够到达各自路径中最近的无死锁关键库所,那么,i=i+1,进行步骤2.3)。
与现有的技术相比,本发明具有有益的效果:本发明关注的是具有不可靠资源的自动制造系统稳健监督控制器的合成,提出了一种分布式控制方法,该方法不仅能避免由于资源局限引起的死锁问题,还能解决由于资源故障引起的阻塞问题。通过在线地检测资源的数量以及资源的好坏情况,决定相关零件的前进是否安全。以Petri网为数学工具进行建模,对所建立的Petri网系统进行分析和控制。首先通过运行死锁避免算法,从使能变迁集合TEN中筛选出一系列无死锁变迁ten∈TDF,它们中任意一个变迁发射都不会造成系统死锁;然后,通过运行稳健加强算法,筛选出一系列稳健的变迁t∈TDF,它们中任意一个变迁发射都不会出现阻塞问题;最后,通过运行并发性改善算法,筛选出一系列改善并发性变迁t∈TRB,它们中任意一个变迁的发射都会最大化系统的并发性。从改善并发性变迁集合TMC中选择任意一个变迁并发射,到达一个新的状态,重新依次运行这三个算法,再产生一个新的变迁集合,如此循环往复,生成一系列变迁序列。按照该序列发生,一个托肯可以顺利地从系统的初始位置到达最终位置,而且不会有死锁问题出现。当系统中出现资源故障时,那些不需要故障资源的进程会继续加工,不会因为需要故障资源进程的停止而阻塞。同时,系统的并发性得到极大地改善。本发明的优点具体体现在以下几个方面:
1.本发明的方法是针对一种具有灵活路径和装配操作的系统提出的,与原来的仅仅针对具有灵活路径或者装配操作的系统的方法相比,该方法更具有一般性。
2.本发明提出的方法是分布式控制的,和原来的中心化控制方法相比,该方法不需要检测全局信息,只需要关注当前运行进程的局部信息,极大地减少了观测器与进程之间的通信量,从而计算和存储复杂度大大地简化。
3.本发明采用边预测、边控制的实时在线运行方针,不需要提前设计控制器。一旦出现紧急情况,比如资源故障,本发明所采用的方法能动态预测到该状态,并且及时地反馈给控制器。控制器做出恰当的控制决策,控制资源的合理分配,从而避免由于资源故障导致的阻塞问题的出现。
4.本发明的方法可以极大地改善系统的并发性。
下面结合附图对本发明进行详细说明。
附图说明
图1是本发明实施例装配操作的标志图模块示意图;
图2是本发明实施例状态机模块示意图;
图3是本发明实施例扩展的状态机模块示意图;
图4是本发明实施例具有灵活路径和装配操作的Petri网模型示意图。
具体实施方式
本发明是基于Petri网针对具有灵活路径和装配操作的自动制造系统进行稳健控制,应用分布式的方法,进行在线的、动态的和实时的控制。
本发明中将装配操作嵌入到灵活路径中,设计Petri网模型,命名为AESM,如附图4所示。为实现本发明的稳健控制方针,我们需要引入论文《Distributed Supervisor Synthesis for Automated Manufacturing Systems Using Petri Nets》中对关键库所的定义。这篇论文中对于关键库所的定义只是针对顺序执行的路径。
然而,本发明在顺序执行的路径中嵌入装配操作,并且考虑资源不可靠的情况。因此,本发明对论文《Distributed Supervisor Synthesis for Automated Manufacturing Systems Using Petri Nets》中关键库所的定义做进一步的扩展,来适用所设计的Petri网模型AESM。通过判断AESM中库所对资源的要求,关键库所将被分为3类。第一类是使用资源最少的库所;第二类是使用资源最多的库所;第三类是使用不可靠资源的库所。只要一个托肯有足够的资源支持它进入到该类库所,整个系统就会顺利地加工,不会出现死锁和阻塞问题。
定义1:在拆卸操作和装配操作之间的模块被称作标志图模块,简记为B(ts,te)。其中ts表示拆卸操作的变迁,te表示装配操作的变迁。B(ts,te)满足:1)|t*s|≥2,2)|*te|≥2。
以图1为例,t11代表拆卸操作,t16代表装配操作,t11和t16之间是两条平行的进程,分别为<t11,p11,t12,p13,t14,p15,t16>和<t11,p12,t13,p14,t15,p16,t16>。
定义2:一个状态机模块,简记为B(ps,pe),该模块满足:1)|p*s|≥1,2)|*te|≥1。
以图2为例,ps=p11,pe=p16。一个托肯在p11处可以选择任意一条路径加工,例如路径<p11,t11,p12,t13,p14,t15,p16>或者<p11,t12,p13,t14,p15,t16,p16>,最终都能到达终点。
定义3:一个扩展的状态机模块来自于用标志图模块迭代的替换状态机模块路径中的一部分。
以图3为例,状态机模块B(p11,p16)中t11和t16之间的部分用一个标志图模块B(t11,t16)代替。
定义4:一个AESM是一个强连接的和纯净的Petri网N=(P,T,F,W)。其中,N代表Petri网系统模型,P代表该模型中所有的库所,T代表该模型中所有的变迁,F代表库所和变迁之间的连接关系,W代表库所和变迁之间的连接弧上的权值。
1)P=PB∪PE∪PA∪PR:a)PB,PE,PA,PR分别称为开始库所、结束库所、操作库所和资源库所;b)和其中NK={1,2,…,K},表示进程的个数。对于任意i∈NK,并且i≠j,d)PR={ri,i∈NL},其中NL={1,2,…,L},表示资源的个数;
2)其中,对于任意一个i∈NK,并且i≠j,
3)对于任意一个i∈NK,子网是一个强连接的扩展的状态机模块;
4)其中,表示可靠资源的集合,表示不可靠资源的集合。
定义5:给定一个AESM,是一条简单的序列路径,简记为SSP,该序列满足i表示第i条进程,j表示第j条进程中第j个库所。
定义6:给定一个标志图模块B(ts,te),在ts和te之间是有一系列平行的SSP组成的。定义7:给定一个AESM,p是其中的任意一个库所,库所p所对应的资源需求量可以表示为一个向量ap=[ap(r1),ap(r2),...,ap(rL)]T,其中L表示资源的种类数,ap(ri)表示库所p对资源ri的需求量。
定义8:给定一个标志图模块B(ts,te),改模块间存在n条并发的进程,n∈N+,表示并发进程中的第i条进程,i∈Nn,那么子关键库所可以定义为
1)
2)且px<p<py。同时,有ap>ap′};
3)且px<p<py。同时,有ap>ap′};
4)且px<p<py。p表示使用不可靠资源的库所}。
其中,px<p<py表示在同一进程中,库所px位于库所p之前,库所p位于库所py之前;px,py表示同一进程中的两个子关键库所。
根据定义8可知,子关键库所可以分为四类:第一类子关键库所表示不使用任何资源的库所;第二类子关键库所表示同一进程中,两个子关键库所px与py之间,存在一个库所,它是在px与py之间对资源需求量最大的库所,那么这个库所就是子关键库所;第三类子关键库所表示同一进程中,两个子关键库所px与py之间,存在一个库所,它对资源的需求量比它之后到子关键库所py中任何一个库所都资源的需求量都大,那么这个库所就称为子关键库所;第四类子关键库所表示同一进程中,存在一库所,它使用了不可靠资源,那么这个库所就称为子关键库所。第一类子关键库暗示了有足够的资源支持相应的托肯到达该类关键库所。第二类和第三类子关键库可以归结为一类,暗示了如果托肯进入到该类关键库所,就不再需要更多的资源了。因为当前状态下,该类关键库所已经占用了最多的资源。第四类子关键库所暗示了该库所使用的资源有可能发生故障。
以图4为例,在标志图模块B(t2,t10)中,
由于系统中具有装配操作,装配操作模块中的各个平行的进程要并发进行,由此我们定义了局部关键库所。
定义9:给定一个标志图模块B(ts,te)和一组子关键库所集合那么局部关键库所可定义为
1)
2)
3)
其中,表示同一个标志图模块B(ts,te)中一组并发的进程。由定义9可看出,局部关键库所中的子关键库所属于同一类。以图2为例,在标志图模块B(t2,t10)中,
由于系统中存在标志图模块,所以一条进程就不是顺序连接的。为了定义全局关键库所,本发明中将每一个局部关键库所用一个虚构库所pfic代替,该虚构库所pfic的资源使用等于与之对应的局部关键库所中所有库所资源使用的综合。两个相邻虚构库所之间插入虚构变迁,从而将存在标志图模块的进程看成一条顺序连接的进程。以图4为例,在标志图模块B(t2,t10)中,局部关键库所可以看成一个虚构库所其资源需求量虚构库所不代表实际的操作,仅仅用来判断托肯是否能前进。一旦托肯进入到标志图模块,具体的操作需要子关键库所来实现。
定义10:给定AESM中的一条进程,表示同一个标志图模块中的所有库所的集合,Pfic表示虚构库所的集合。它的全局关键库所可以定义为
1)
2)且px<p<py。同时,px<p′<py,有αp>αp′};
3)且px<p<py。同时,p<p′<py,有ap>ap′};
4)
且px<p<pyοp
表示使用不可靠资源的库所}。
以图4左边的一条进程为例,全局关键库所
为了方便说明本发明中的稳健无死锁控制方法,对于定义8中1)-3)称为无死锁子关键库所,4)称为稳健子关键库所。定义9中1)-2)称为无死锁局部关键库所,3)称为稳健局部关键库所。定义10中1)-3)称为无死锁全局关键库所,4)称为稳健全局关键库所。
一种基于Petri网的自动制造系统的稳健性控制方法,包括中心控制器和局部控制器,中心控制器与局部控制器电连接,其特征是:中心控制器至少包括以下步骤:
1)进行死锁避免算法:
1.1)初始化,使其中,TEN是使能变迁集合,TDF是使自动制造系统无死锁运行的变迁集合;
1.2)采集一个可达状态M,包括每个库所所含的托肯数;
1.3)根据变迁使能规则,在当前状态M下,求出所有的使能变迁集合,即若ti是使能的,则TEN:=TEN∪{ti},其中ti是状态M下的任意一个变迁;
1.4)选择TEN中的任意一个变迁并判断该变迁是否处于装配操作的标志图模块中;
1.5)当变迁位于装配操作的标志图模块中,模块发射元素
1.6)当变迁不位于装配操作的标志图模块中,发射变迁若当前的资源足以支持相对应的托肯到达最近的全局无死锁关键库所,那么i=i+1,进行步骤1.4),否则,i=i+1,进行步骤1.4);i为加后赋值运算符;
1.7)在状态M下,当TEN中所有的变迁都检测完毕,得到使系统无死锁运行的变迁集合TDF。
2)进行稳健加强算法:
2.1)初始化,使其中,TRB是使自动制造系统无阻塞运行的变迁集合;
2.2)采集当前的状态M,包括每个库所所含的托肯数;
2.3)选择TDF中的任意一个变迁并判断对应的托肯是否使用不可靠资源;
2.4)当相对应的托肯不使用不可靠资源时,判断其在将来的加工路径中是否需要不可靠资源;
2.5)当变迁在将来的加工路径中不需要不可靠资源,则
2.6)当变迁在将来的加工路径中需要不可靠资源,判断变迁是否位于装配操作的标志图模块中;
2.7)当变迁位于装配操作的标志图模块中,模块发射元素
2.8)当变迁不位于装配操作的标志图模块中,发射变迁若当前的资源足以支持相关的托肯到达最近的全局稳健关键库所,并且当相关的托肯进入到该关键库所时,剩余的资源足以支持其他未必需要不可靠资源的进程顺利地加工,那么i=i+1,进行步骤2.3),否则,i=i+1,进行步骤2.3);
2.9)选择TDF中的任意一个变迁并且对应的托肯需要使用不可靠资源;
2.10)若该不可靠资源没有故障,则步骤类同于对应的托肯不使用不可靠资源;
2.11)若该不可靠资源处于故障状态,则i=i+1,进行步骤2.3);
2.12)在状态M下,当TDF中所有的变迁都检测完毕,得到使系统稳健运行的变迁集合TRB。
3)进行并发性改进算法:
3.1)初始化,使其中,TMC是使自动制造系统并发性改善的变迁集合;
3.2)给变迁集合TRB中的每一个变迁对应的托肯添加标签xi;
3.3)用表示第xi个托肯前进的步数;
3.4)求目标函数找出最落后的托肯,则其对应的变迁就属于并发性改善变迁集合,即
3.5)选择并发性改善变迁集合TMC中的任意一个变迁发射;然后返回到步骤1.2)。
步骤1.5)的具体过程为:
1.5.1)若当前的资源能够支持变迁所对应的托肯进入到最近的无死锁关键库所,并且在表示装配操作的标志图模块的其他所有并行路径中,分别存在托肯能够到达各自路径中最近的无死锁关键库所,即并发路径上对应的托肯能进入到无死锁局部关键库所。那么i=i+1,进行步骤1.4);
1.5.2)若当前的资源不能支持变迁所对应的托肯进入到最近的无死锁关键库所,或者当前的资源能够支持变迁所对应的托肯进入到最近的无死锁关键库所,但是在表示装配操作的标志图模块的其他所有并行路径中,不存在托肯能够到达各自路径中最近的无死锁关键库所,那么,i=i+1,进行步骤1.4)。
步骤2.6)的具体过程为:
2.6.1)若当前的资源能够支持变迁所对应的托肯进入到最近的稳健关键库所,并且在表示装配操作的标志图模块的其他所有并行路径中,分别存在托肯能够到达各自路径中最近的稳健关键库所,即并发路径上对应的托肯能进入到稳健局部关键库所。同时,当各个进程中的托肯进入到该局部关键库所时,剩余的资源足以支持其他未必需要不可靠资源的进程顺利地加工,那么i=i+1,进行步骤2.3);
2.6.2)若当前的资源不能支持变迁所对应的托肯进入到最近的稳健关键库所,或者当前的资源能够支持变迁所对应的托肯进入到最近的稳健关键库所,但是在表示装配操作的标志图模块的其他所有并行路径中,不存在托肯能够到达各自路径中最近的无死锁关键库所,那么,i=i+1,进行步骤2.3)。
以图4中的AESM为例。在该图中找出一个可达状态,即M=4·p1+p2+p5+p6+p10+p12+7·p13+p16+2·r1+r3+2·r4+2·r5+r6。根据死锁避免算法,可以得到一组无死锁变迁集合,即TDF={t2,t3,t6,t7,t12,t13,t16},其中任意一个变迁的发射都不会导致系统死锁。
根据稳健加强算法,t12,t13和t16属于TRB,因为这些变迁对应的进程不需要任何不可靠资源。t3和t6属于TRB,因为有足够的资源支持对应的托肯进入到稳健关键库所。当不可靠资源r6处于好的状态,t7属于TRB,因为该变迁之后的进程不需要任何不可靠资源。t2不属于TRB,因为该变迁之后需要使用不可靠资源,但是没有足够资源支持相应的托肯进入到对应的稳健关键库所。因此,可得TRB={t3,t6,t7,t12,t13,t16}。
根据并发性改善算法,我们知道变迁t3,t6,t7,t12,t13和t16对应的托肯分别在库所是p2,p5,p6,p12,p13和p16。这些托肯对应的库所的步数分别是1,2,3,5,0和3,最大的步数差是5。根据目标函数发射一个变迁使得最大步数差减小,因此可得TMC={t13},该变迁的发射会实现较高的并发性。
本发明中符号说明:
TENTEN 使能变迁集合
TDFTDF 无死锁变迁集合
TRBTRB 稳健性变迁集合
TMCTMC 改善并发性变迁集合
空集
M 一个状态标识
∪∪ 并
∩∩ 交
不属于
∈∈ 属于
t 变迁
p 库所
r 资源
N Petri网系统模型
P 库所集合
T 变迁集合
F 库所与变迁之间的连接关系
W 库所和变迁之间的连接弧上的权值
PBPB 开始库所集合
PEPE 结束库所集合
PAPA 操作库所集合
PRPR 资源库所集合
可靠资源库所集合
不可靠资源库所集合
NKNK 进程的总数量
B(tsts,tete) 标志图模块
B(psps,pepe) 状态机模块
apap 库所p资源需求量
L 资源的种类数
N+N+ 正整数
lsublsub 子关键库所集合
lLOClLOC 局部关键库所集合
lRBlRB 全局关键库所集合
PficPfic 虚构库所集合
缩略词对照表
缩略词 英文全称 中文对照
SM State Machine 状态机
AESM Augmented Extended State Machine 扩增的状态机
SSP Simple Sequential Path。