APP下载

基于增广混合Petri网的CPS事件建模*

2020-03-26袁振宇

计算机工程与科学 2020年3期
关键词:库所执行器变迁

张 晶,袁振宇

(1.昆明理工大学信息工程与自动化学院,云南 昆明 650500;2.云南枭润科技服务有限公司,云南 昆明 650500; 3.昆明理工大学云南省人工智能重点实验室,云南 昆明 650500)

1 引言

信息物理融合系统CPS(Cyber-Physical System)是在传统嵌入式计算机的功能上,增加感知、通信、计算与控制等多种技术,实现离散资源与连续资源相互融合的复杂系统[1,2]。CPS作为将信息系统和物理系统连接并融合在一起的混合系统,既能使计算系统实时感知物理世界,通过指令控制执行器改变物理世界,同时也能使物理系统具有网络通信、实时计算、远程协作的能力。

目前,国内外对CPS的建模对象以及建模方法有很多研究。例如文献[3]把CPS系统划分为三类实体组件,分别为计算、控制和物理组件,并针对计算实体提出一种基于动态行为的UML建模方法。该方法先使用状态机对CPS进行动态行为建模,然后再使用UML对已经建立的状态机进行计算实体的详细建模,最终完成计算实体的建模。文献[4]将面向对象技术和Petri网结合在一起,提出面向对象Petri网,同时从多节点Agent的角度出发,将系统抽象为传感器、控制器和执行器三类节点Agent,并使用面向对象Petri网对每类节点Agent进行了详细的刻画。最后利用该模型完成了对目标跟踪系统的建模和分析,验证了所提模型的有效性。文献[5]针对CPS的复杂、异构和并发的特性,建立一种多组件协同的体系架构,包括传感器、计算单元和执行器三类组件以及用于组件间相互连接的协同器,同时为组件协同代数系统给出定义。最后,通过对住宅安全防盗的智能控制系统进行组件协同模型刻画,验证了模型的可靠性。但是,以上研究所提出的CPS组件模型或体系架构并不完善。因此,本文提出一种全新的更完善的CPS体系架构及运行方式。上述研究都忽视了CPS的1个重要特性,无论是针对计算实体、控制实体还是物理实体的动态描述,都必定会涉及到某一事件的发生。如果对实体的描述不是从事件建模入手,而是分别对不同的实体进行建模,就会增加CPS实体描述的复杂度,而且也难以构建统一的建模标准。所以,本文通过对CPS事件建模来统一描述计算实体、控制实体和物理实体的时空动态变化。

在众多建模工具中,Petri网是一种强大的建模和分析工具,它既可以用严谨的数学公式进行表达,又可以用类似于流程图和网络图等直观的图形进行描述,它对异步并发的系统有较好的描述能力[6]。根据Petri网的定义,它只适用于对离散的信息系统进行刻画[7],然而信息物理融合系统既含有连续物理系统又含有离散信息系统,因此需要扩展原始的Petri网才能对CPS进行完整准确的表述。

文献[8]针对Petri网对CPS的时空域不统一的问题,提出时空Petri网,同时将CPS中物理实体的时空状态变化,描述成1个时空事件,最后通过对时空事件进行建模来完成对物理实体时空变化的分析;文献[9]针对列车运行系统的混杂特性,提出一种混合Petri网建模方法,该方法区分出连续和离散系统,并给出连续库所的令牌属性定义和连续变迁的激发规则;文献[10]针对CPS的时间预测问题,建立一种混合Petri网,引入连续和离散的令牌与变迁,该模型不但可以描述CPS中连续变量和离散事件之间的关系,还可以分析CPS构成组件之间的异步并发状态;文献[11]对混成Petri网的功能进行了扩展,在有向弧定义之外,增加抑制弧和测试弧,并对它们的功能和属性进行了分析,最后以无人车的主动避障功能进行建模,通过simulink仿真验证了该模型能满足安全性的要求;文献[12]对加入抑制弧和测试弧这类增广Petri网的属性及特征进行分析。

以上研究已初步对CPS在一般情况下的时空特性和连续与离散融合特性进行建模描述,但是当涉及到需要依据条件区间范围来执行不同变迁的复杂情况时,这些方法就变得非常繁琐甚至无法实现建模。针对此类情况,本文提出一种增广混合Petri网模型,在普通Petri网模型中引入时空属性和条件弧概念。时空属性用于描述物理实体的时间和空间特征,条件弧可以为CPS的事件执行起到限制作用。条件弧与普通有向弧或抑制弧和测试弧的不同之处在于它可以对输入库所中的令牌数进行双向制约,这说明变迁的发生已不再仅依赖于令牌的有无和单纯的数量多少,而是可以根据令牌数量来分区间地决定如何发生变迁。这在前人的研究中是难以实现的,从而突出CPS事件执行时以数据作为核心的特征。最后使用所提模型对自适应巡航控制系统的运行机理进行建模分析,以验证该模型的可行性以及对复杂度的优化性能。

2 CPS体系架构及运行方式

2.1 CPS体系架构

根据CPS的定义,本文提出一种包含感知、通信、计算和控制的CPS体系架构,其结构具体描述为以下几个部分:

(1)传感器节点:负责获取物理世界中的信息,例如物理实体的位置、大小、运动状态,以及外部环境的压力、风速、温湿度等。

(2)感知处理器:对关联传感器节点获取到的信息进行初级加工,如通过放大器将微小信号进行放大,类似的元件还有A/D转换器、滤波器等。

(3)信息处理中心:信息处理中心包括计算中心和控制中心。计算中心利用机器学习、聚类分析等数据处理手段对感知处理器上传的原始数据进一步加工处理,删除无用数据,使原始数据变得更加精简且有意义,以探索物理实体状态在物理世界中的因果性和关联性,并将处理后的数据发送给控制中心;控制中心根据决策规则对接收到的数据进行判断和反馈,若数据达到激发阈值,则根据事件权重值下达控制指令到执行处理器。

(4)执行处理器:响应由信息处理中心传递过来的指令,并指定相应的执行器节点执行具体的操作。

(5)执行器节点:执行处理器发送的指令,以改变物理实体或物理环境的状态,如改变物理实体的大小、改变运动状态、改变环境温度、改变空气流速等。

2.2 CPS运行方式

CPS是一种将传感器、计算中心、控制中心、执行器和网络集成在一起的,并通过网络使物理系统和信息系统进行交互与融合的实时计算机系统[13],同时它可以嵌入到客观世界里的各类物理对象中。CPS的运行方式如图1所示。其中,传感器感应并获取物理系统中的信息或数据,形成感知事件;计算中心接收并分析处理传感器上传的数据,形成决策事件;控制中心根据决策规则及事件优先级对接收到的数据进行判断和反馈,形成控制事件;执行器根据控制事件做出相应的响应,对物理世界的实体或环境进行改变,形成执行事件。顺序产生并完成以上事件,可以对CPS实现闭环的反馈控制。

Figure 1 Operation mode of CPS图1 CPS运行方式

3 CPS建模

3.1 普通物理对象建模

客观世界中存在的各种物理实体及环境都属于物理对象PO(Physical Object),物理对象可以是物,也可以是人。

定义1将物理对象表示为1个6元组:

PO=(POc,POid,POattr,POloca,POk,AHPN)

其中,POc表示物理对象所属的类别;POid表示物理对象的标识号,具有唯一性,用于区分不同的物理对象;POattr表示物理对象的属性,如静止、运动、上升、下降等;POloca表示物理对象的空间位置信息,采用三维坐标(x,y,z)表示;POk表示物理对象当前的时间信息,使用离散点时间k或连续段时间(k1,k2)表示;AHPN表示物理对象所处的增广混合Petri网模型。

由于传感器和执行器是CPS不可或缺的组件,同时它们还具备普通物理对象所没有的一些特定功能,在此需对传感器和执行器做具体的定义。

3.2 传感器建模

传感器是用于感知物理对象的状态或行为的检测装置,能获取到物理世界中的信息,并将感知信号按一定规律转换成可被计算机加工处理的电信号输出,从而实现信号的放大、滤波、传输、存储和远距离操作等要求。

定义2将1个传感器表示为1个8元组:

Sensor=(Stype,Sid,Sattr,

Sloca,Sk,Sdi,Spi,AHPN)

其中,Stype表示传感器的类型,如温度传感器、光线传感器、速度传感器等;Sid表示传感器的唯一标识编号,用于区别其它传感器;Sattr表示传感器的属性,如采样周期、精度范围等;Sloca表示传感器所在的地理位置,使用三维坐标Sloca=(x,y,z)表示;Sk表示传感器Sid感知到某个数据对应的具体时刻;Sdi表示传感器Sid感知的数据;Spi表示传感器感知到数据Sdi的可信度;AHPN表示传感器所处的增广混合Petri网模型。

3.3 执行器建模

在CPS中,执行器根据控制中心下达的指令进行相应的操作,从而实现改变物理世界原始状态的目的。正是因为执行器的存在,信息系统才可以作用于物理系统,完成反馈操作,最终实现CPS的闭环控制。

定义3将1个执行器表示为1个7元组:

Act=(Acttype,Actid,Actattr,

Actloca,Actk,Actdi,AHPN)

其中,Acttype表示执行器的类型,如加热器、抽风机等;Actid表示执行器的唯一标识编号,用于区别其它执行器;Actattr表示执行器的属性,如功率、响应速度等;Actloca表示执行器的地理位置,用三维坐标{(x1,y1,z1),(x2,y2,z2)}表示坐标的变化,(x1,y1,z1)表示执行器开始执行指令时的位置,(x2,y2,z2)表示执行器结束动作时的位置;Actk表示执行器的执行时间,用区间(k1,k2)表示执行的开始时刻和结束时刻;Actdi表示执行器接收到的控制值;AHPN表示执行器所处的增广混合Petri网模型。

3.4 CPS事件建模

由于CPS是物理系统与信息系统相互交融、高度糅杂在一起的复合系统,具有多模多态、物理组件与计算组件分布广泛且异构、实时性较强的特点[14],要实现物理系统与信息系统的有效协同,必须使信息系统具有感知物理世界和信息计算处理之后反馈作用于物理世界的能力。所以,CPS的工作流程为系统利用传感器采集物理系统中的环境及对象数据,数据上传至信息系统,经过计算和处理后形成决策信息,并通过控制指令促使执行器对物理环境及对象进行相应的操作,完成反馈任务。由此可见,事件对整个CPS工作流程都具有驱动的作用。实际上,事件驱动性是CPS工作的一种内在属性。正是每个组件为了完成自己被下达的命令事件,CPS才得以顺序且持续地运行。物理对象的状态或行为发生改变,以及控制指令的生成和执行都会触发事件。1个完整的CPS事件CE(CPS Event)应该从传感器感知信息开始,到执行器执行反馈操作结束。

定义4将1个CPS事件CE定义为1个7元组:

CE=(CEid,CEattr,CEk,CEloca,Gid,Hid,α)

其中,CEid表示事件的编号,具有唯一性,用于区分不同的事件;CEattr表示事件的类型集,如感知事件、计算事件等;CEk=(CEks,CEke)表示事件的发生时间,CEks为事件发生的起始时刻,CEke为事件发生的终止时刻。当CEks=CEke时,为离散时间点;当CEks

4 增广混合Petri网

对于既含有离散变量又含有连续变量的系统,需要使用混合Petri网[15]才能准确描述。由于原始的混合Petri网功能较简单,本文在混合Petri网的基础上引入时间属性和空间属性。时间属性用于描述变迁发生的开始时间和结束时间,对于离散系统这是瞬间完成的,但对于连续系统,变迁的发生可能需要1个时间段,引入时间属性可以较方便地计算出变迁发生所需要的时间;空间属性用于描述物理实体在物理世界所处的地理位置信息,伴随变迁的发生,空间属性可以反映出物理实体的空间位置变化。为了对CPS进行更准确的描述,在此还要为混合Petri网引入条件弧的概念。条件弧的作用是为有向弧规定1个条件,当且仅当该弧连接的库所包含的令牌满足条件时,此弧才会被激发。下面给出模型的相关定义:

定义5将1个增广混合Petri网AHPN(Augmented Hybrid Petri Net)定义为1个8元组:

AHPN=(P,T,F,C,W,M,K,A)

其中,P=PC∪PD代表库所集合,PC代表连续库所的有限集,PD代表离散库所的有限集,且PC∪PD≠∅,PC∩PD=∅;T=TC∪TD代表变迁集合,TC代表连续变迁的有限集,TD代表离散变迁的有限集,且TC∪TD≠∅,TC∩TD=∅;F⊆(P×T)∪(T×P),代表有向弧的集合,用于连接库所和变迁;C代表从库所p(p∈P)到变迁t(t∈T)的条件弧集合,其作用是当且仅当库所p的令牌满足该弧所要求的条件时,此弧才会被激发,同时当同一库所连接的条件弧和普通弧指向的变迁都具有发生权时,条件弧指向的变迁优先级更高,获得优先发生权;W代表有向弧的权重,规定了有向弧的激发条件为:当该弧连接库所中的令牌数不小于该弧的权重时,此弧被激发;M表示库所中的令牌分布状态,M0表示最初的分布状态;K代表变迁发生的时间信息,表示为K=(k1,k2);A代表库所的空间位置信息,表示为A=(x,y,z)。

5 模型验证

5.1 实例建模

本文以带有自适应巡航控制ACC(Adaptive Cruise Control)系统功能的智能汽车作为建模分析对象,以验证所提增广混合Petri网模型的可行性以及在复杂度上的优化。ACC系统是对传统定速巡航控制系统CCS(Cruise Control System)的改进。与CCS不同,ACC系统在车辆上安装雷达探测器和计算控制处理器,使汽车可以智能地根据前车速度的变化进行自动加速或刹车,以实现安全跟车的功能,为汽车自动行驶提供更灵活安全的跟车服务。

ACC系统的工作过程如图2所示。当具有ACC系统的车辆设置好巡航速度和安全距离后,若前方安全距离内无其它车辆行驶,则该车保持巡航速度匀速行驶;当巡航时安全距离内出现其它车辆,我们称为目标车辆,ACC车辆将在电子控制单元ECU的控制下主动减速,并计算出新速度下的安全跟车距离,此后根据速度与安全距离的关系,维持安全距离进行跟车控制;当前方目标车辆发生变道或加速驶离ACC车辆巡航速度下的安全跟车距离后,ACC车辆主动加速至巡航速度,此后继续维持巡航速度匀速行驶。在ACC系统控制过程中,若驾驶员主动参与刹车或加速操作,ACC系统将自动关闭,直至驾驶员再次手动开启才会对车辆进行自动控制。

Figure 2 Work processing of ACC system图2 ACC系统的工作过程

在车辆开启ACC系统功能行驶的场景中,物理对象可概括为3类:车辆(Car)、雷达(Radar)和电子控制单元(ECU)。下面分别对其进行形式化的定义:

Car=(Car_type,Car1,{constant speed,decelerate,

accelerate},Carloca,Cark,AHPN)

Radar=(Radar_type,R1,{sampling speed,

accuracy},{Car1},Rk,Rdi,Rpi,AHPN)

ECU=(ECU_type,ECU1,ECUattr,

{Car1},ECUk,ECUdi,AHPN)

在上述的形式化定义中,括号内的Car_type、Radar_type和ECU_type表示3种物理对象所属的类型;Car1、R1和ECU1为它们在各自所属物理对象类型下的标识,本实例中车辆、雷达和电子控制单元的数目都是1;{constant speed,decelerate,accelerate}表示汽车具有匀速、减速和加速3种不同属性;{sampling period,accuracy}表示雷达的采样周期和精度;ECUattr表示电子控制单元的属性,Carloca表示汽车在道路上的空间位置信息;{Cark}表示汽车当前的时间信息,{Car1}表示雷达和ECU都位于车辆Car1上;Rk表示雷达采集到距离数据时的时间;Rdi表示雷达采集到的数据,即该车辆与前方车辆的距离数据;因为只涉及单一雷达,默认雷达的可信度Rpi为1;ECUk表示电子控制单元执行的时间;ECUdi表示电子控制单元计算出来的加速度值,油门和刹车需要根据此数据进行控制;AHPN表示它们所处的增广混合Petri网模型。

假设ACC车辆的巡航速度设为80 km/h,规定当车辆速度为50~80 km/h时,巡航的安全跟车距离与速度的关系为:x=v*3.6,速度单位为m/s,距离单位为m。例如,当车速v= 80 km/h时,安全跟车距离x=80 m。安全距离与实际跟车距离的差值Δx作为事件引入的1个连续变量,用于刻画ACC系统工作时的性能。如可能出现目标车辆紧急刹车导致Δx持续增大,此时就需要ECU不断加大刹车力度,以尽量将跟车距离维持在安全距离内。Δx>0,且Δx越大,表明ECU就越需要加大刹车力度;Δx<0,且Δx越小,表明ECU越需要增加油门力度。图3为汽车ACC系统工作时的增广混合Petri网模型。

Figure 3 Augmented hybrid Petri net model when ACC system is working图3 ACC系统工作时的增广混合Petri网模型

在图3中,为了区分出模型中的连续成分,使用双圆圈表示连续库所,黑色矩形表示连续变迁,同时使用以圆点结尾的线段表示条件弧。图3中所有普通有向弧的权重默认为1,同时引入8条条件弧,弧(p2,t2)、弧(p2,t3)和弧(p2,t4)都是源自库所p2的条件弧,其条件限定分别是M(p2)≥80,50≤M(p2)<80和M(p2)<50,作用是根据库所p2的令牌满足不同的条件执行不同的变迁。M(p2)代表雷达检测到的跟车距离,单位为m。当M(p2)≥80时,汽车执行变迁t2,保持匀速行驶;当50≤M(p2)<80时,执行变迁t3,主动刹车或松开油门以减速行驶;当M(p2)<50时,执行变迁t4,紧急减速并警告驾驶员。同时,变迁t2、t3和t4的优先级大于变迁t5,只有当变迁t2、t3和t4任意发生其中1个之后,变迁t5才能发生。弧(p4,t6)和弧(p4,t7)是源自库所p4的条件弧,其条件限定分别是M(p4)=1和M(p4)=0。当M(p4)=1时,执行变迁t6,关闭ACC系统;当M(p4)=0时,且库所p5具有令牌时,执行变迁t7,进行车距的2次检测。弧(p6,t8)、弧(p6,t9)和弧(p6,t10)都是源自库所p6的条件弧,其条件限定分别是M(p6)<50,50≤M(p6)<80和M(p6)≥80。当M(p6)<50时,执行变迁t8,增大刹车力度并警告驾驶员;当50≤M(p6)<80时,执行变迁t9,控制好油门和刹车力度,将速度调节至v′,跟车距离调节至x′,维持v′=x′∕3.6继续行驶;当M(p6)≥80时,汽车执行变迁t10,松开刹车且适当加大油门,将速度提升至80 km/h。同时,变迁t8、t9和t10的优先级大于变迁t11,只有当变迁t8、t9和t10其中任意1个发生之后,变迁t11才能发生。可以看出,条件弧的引入使得对于需要根据库所令牌数来分区间执行不同变迁这种复杂情况下的建模得到了简化。若只使用普通有向弧、抑制弧或测试弧,它们不具有双向限定条件的功能,难以实现对此类复杂情况下的CPS建模。

图3中各节点的名称和含义如表1所示。

5.2 理论分析

从5.1节中可以看出,增广混合Petri网对ACC系统具有较好的描述能力。下面本文将从理论方面分析和证明上述模型的合理性,以验证所提增广混合Petri网是正确且合理的。

Table 1 Names and meanings of each node in the AHPN model表1 AHPN模型的各节点名称及含义

性质1ACC系统的AHPN模型为有界Petri网。

证明根据有界Petri网的定义,对于库所p∈P,若存在正整数B,使得∀M∈R(M0):M(p)≤B,则称库所p为有界的,其中R(M0)表示在Petri网中从初始状态M0可到达的所有状态;若每个p∈P都是有界的,则称该Petri网为有界Petri网。

在ACC系统的AHPN模型中,始终存在M(p1)和M(p4)不大于1,M(p2),M(p3),M(p5),M(p6)和M(p7)不大于80。即 ∀M∈R(M0):M(p)≤80,因此ACC系统的AHPN模型为有界Petri网,且模型的界为80。

性质2ACC系统的AHPN模型是弱活的,且具有三级活的变迁。

证明根据Petri网活性的定义,如果M∈R(M0),使得∀t∈T:M[t>,则称M是1个死标识,如果不存在死标识,则Petri网具有弱活性。当存在无限长变迁序列σ,使得M0[σ>,而且t在σ中出现无限多次,则称t是三级活的。

从图3可以看出,在该网模型的任意可达标识下,都至少有1个变迁有发生权,即不存在M∈R(M0),使得∀t∈T:M[t>,所以ACC系统的AHPN模型是弱活的。同时存在序列σ=t3t7t10t3t7t10…t3t7t10…,使得M0[σ>,且t3、t7和t10在σ中都无限次出现,所以t3、t7和t10都是三级活的。

性质3ACC系统的AHPN模型具有持续性。

证明根据Petri持续性网的定义,如果在可达标识M下变迁t有发生权,那么从M发生其他任何变迁后,t仍有发生权。即对于任意M∈R(M0)和t1,t2∈T(t1≠t2),有:

M[t1>∧M[t2>M′→M′[t1>

在ACC系统的AHPN模型中,可知t2,t3,t4和t5都是源自库所p2的变迁,但是根据事件权重的排序,变迁t5的发生规定在变迁t2,t3和t4发生之后,即当库所p2拥有令牌之后,先通过条件弧的判断发生变迁t2,t3和t4其中之一,之后变迁t5仍具有发生权;同理,变迁t11和变迁t8、t9、t10的关系也是如此,因此所提模型具有持续性,ACC系统的AHPN为持续网系统。

6 结束语

本文针对CPS是由离散系统和连续系统构成混合系统的特性,提出了一种增广混合Petri网模型,它以事件来驱动CPS运行,以数据作为描述事件执行程度的核心,同时引入时空属性和条件弧,以便准确描述混合系统下物理对象的时空变化。最后利用增广混合Petri网对汽车的自适应巡航系统进行建模,并对所得模型进行分析,验证了该建模方法的可行性和有效性。下一步将针对多组件协同的CPS系统对该模型进行优化改进。

猜你喜欢

库所执行器变迁
基于FPGA的Petri 网模拟器设计与实现
高锁螺母自动化安装机器人末端执行器设计
40年变迁(三)
40年变迁(一)
40年变迁(二)
飞机装配预连接紧固件自动化安装末端执行器设计
清潩河的变迁
考虑执行器饱和的改进无模型自适应控制
一类具有执行器饱和的非线性系统抗饱和方法研究
基于一种扩展模糊Petri网的列车运行晚点致因建模分析