周萍 胥布工 刘贵云
在网络化控制系统领域中,大部分研究工作都集中于网络控制系统如网络时延、丢包、网络协议、网络结构等若干问题的研究。通讯限制是网络控制系统研究中的一个重要方面,主要是考虑速率、网络调度、网络协议方面的问题,这些问题与网络时延、数据包丢失是密切相关的,并且对整个系统的性能产生重要的影响。虽然以往在通讯限制及速率方面进行了诸多相关研究,但是,对于一些多回路、大信息量、负载存在不确定性的网络控制系统,如何利用有限的带宽得到最优化的控制性能,仍是一个重要的研究课题。
目前大多数的研究结合了控制效果和共享资源利用情况,综合设计网络控制系统。虽然这方面已经取得了一定的成果,但是它们多数是针对 CPU负载变化的情况,缺乏对可变网络负载的研究[1]。通过改变系统的采样周期来调节网络上的数据流量,以节省网络资源。它的原理是在网络空闲的时候减小节点的采样周期,提高系统的QoC;在网络资源紧张的时候,增大节点的采样周期,减少网络流量,以降低传输时延带来的负面影响。但是,这种方法的缺点是采样率的改变会在系统中引起抖动,控制算法参数需要重新整定,耗费额外的计算时间。文[2]提出了死区调度算法,死区用于减少网络流量,并对 NCS中使用死区做了初步的探索;文[3]在采用周期为 N的通信序列进行调度时,将n维的控制系统仿射到 (2 N2- N )n的高维空间进行分析;文[4]解决了网络只存在于控制器和执行器之间的控制命令传送的优化调度算法;而文[5]对于网络只存在于传感器和控制器之间的消息调度进行了分析。
目前,反馈调度的研究主要集中于CPU资源的利用率和系统性能相关性,很少涉及分布式网络控制系统的网络资源分配问题。借助多任务调度理论和反馈调度理论,可有效地分析和研究多控制回路网络控制系统的调度问题。结合具有多控制回路的网络控制系统框架结构,设计一种基于网络运行状态的调度器的设计方法,根据系统对控制性能的要求,通过实时调整各控制回路的采样周期,实现多控制回路 NCS的系统性能优化,并通过一组仿真以验证。
资源受限的网络控制系统调度问题就是建立资源分配与控制性能的关系。研究表明,控制任务的有效调度可实现资源的有效分配,从而提高系统资源的利用率,并得到最优化的控制性能。
图1 NCS结构图
网络控制系统的调度算法按研究对象可分为CPU调度和网络调度两种类型。常用的实时调度算法是RM算法和EDF算法。这两种算法都是调度周期性任务,每一个任务在周期的结束后都有一个截止期。在总利用率小于某个值时,RM和EDF都将保证满足单一处理器上所有独立任务集合的所有截止期。在RM中任务的优先级是动态的。周期短的任务具有较高的优先级。周期合适的任务集合的任务来说,RM的利用率界可达100%。在EDF中,优先级等于截止期,EDF会带来较大的调度开销,但通常利用率可以达到100%[6]。
通常,如果控制器参数依赖于采样周期,则控制器应根据当前周期实时调节其参数。大量的在线计算将占用太多的系统计算资源,因此应尽可能地减少采样周期算法的计算量。
采样周期直接影响总线利用率,采样周期越长,总线利用率越低。相对而言,减少了总线上报文的冲突,从而减小了报文的等待时延,将避免较大的网络时延,有助于改善控制质量。相反,采样周期越短,总线的利用率越高,各节点的报文可能被延迟发送,加大网络时延,从而影响控制性能。
对于每个回路而言,采样周期都会影响系统性能,甚至造成系统的不稳定现象。通常,通过修改控制器参数或改变控制策略,可达到系统稳定。但在实际条件下,不易实现。从资源使用的角度来看,期望各回路占用较少的资源,并通过对传输信息的调度使系统的整体控制性能达到最优。虽然采样周期加大,会影响单个控制回路的性能,但适当的采样周期算法将使多控制回路的系统具有可调度性,这对于有限资源的利用具有重要意义。
采用动态调度器的网络控制系统结构图如图1所示,在常规NCS结构的基础上,增加一个外环反馈回路。采用网络为 CAN网,S1、S2、S3为传感器节点,C1、C2、C3为控制器节点,A1、A2、A3为执行器节点,P1、P2、P3为控制对象。
假设系统中所有传感器采用时间驱动方式,控制器采用事件驱动方式。当采样周期到来时,传感器节点对物理对象进行采样,获取信息,然后将信息通过网络发送到控制器节点;根据收到的信息,控制器通过相应的控制算法计算控制信号,并发送到总线上。调度器通过广播报文发出请求信息以获取当前的网络状态,分析系统运行情况,计算新的采样周期,制定相应的决策,为各个控制回路提供调度信息。调度信息采用广播报文发送,各传感器根据调度信息调整采样周期。
图2 动态调度器模块
动态调度器按照功用可以分为三个部分:网络状态监测模块、采样周期计算模块和优先级调度模块,其结构如图2所示。网络状态监测模块等间隔向网络发送采集网络状态的请求信息,用于获取当前的网络状态利用获得的信息,计算当前的网络状态和控制误差,计算综合误差kE。调度算法实现模块主要执行调度算法,确定各控制系统新的采样周期。算法实现模块主要由两部分:预测算法和采样周期调节算法。预测算法预估新的监测器周期内的网络利用率和数据包执行时间;采样周期调节算法基于网络利用率和数据包执行时间的估计值以及当前的综合误差,分配网络资源,计算新的采样周期其中,i为系统标识,k为检测周期标识,是第k个检测周期第i个系统的采样周期,是第k个检测周期第i个系统的数据包传输时间,包括数据包从传感器到控制器的数据传输时间和数据包从控制器到执行器的数据传输时间为第k个检测周期第i个系统的网络使用率,且为第k个检测周期第i个系统的误差。
使用Truetime1.5进行仿真。控制对象采用直流电机模型为:
通过CAN网分别与两个PD控制器相连,传感器与控制器以及控制器与执行器之间均通过网络连接。假设控制器结构相同,并且控制器和执行器均为事件驱动方式,传感器时间驱动方式。采用现有调度算法固定优先级调度方法,系统响应状态如图 3所示。
采用基于网络控制状态的采样周期动态调度策略的调度算法的系统状态响应如图4所示。
由图3和图4比较可知,调度后的系统控制性能比之前的控制性能有了改善。注意,本文并没有考虑实际总线对系统的影响。
图3 三个控制回路的输出响应
图4 采用动态调度策略的NCS的输出响应
仿真结果验证了本文所提出的调度器对资源受限的多控制回路的网络控制系统的资源进行了有效的调度,提高了资源的利用率。
[1] 夏锋,尹红霞,王智等.网络化控制系统中的实时调度理论与应用[A].第 17届中国控制与决策会议论文集 [C].沈阳:东北大学出版社,2005. 1251-1256
[2] Otanez P G, Moyne J R, Tilbury D M. Using deadbands to reduce communication in networked control systems [A].Proceedings of the American Control Conference [C],Piscataway, NJ, USA:IEEE,2002.3015-3020
[3] HRISTU D, MORGANSEN K. Limited communication control [J].Systems & Control Letters, 1999, 37(4): 193-205
[4] REHBINDER H, SANFRIDSON M. Scheduling of a limited communication channel for optimal control [J]. Automatic,2004, 40(3):491-500
[5] LU L, XIE L, FU M. Optimal control of networked systems with limited communication: a combined heuristic and convex optimization approach [C] //Proceeding of the 42ndIEEE Conference on Decision and Control. Hawaii. USA: IEEE Press. 2003. 2: 1194-1199
[6] 王俊波.网络控制系统的实时性与调度研究[D].广州:华南理工大学博士学位论文,2007