APP下载

分布式网络化运动控制系统协同调度方法研究

2020-12-03张东方薛凌云饶欢乐

关键词:时延时钟偏差

张东方,薛凌云,饶欢乐,徐 平

(杭州电子科技大学自动化学院,浙江 杭州 310018)

0 引 言

分布式网络化多轴运动控制系统(Distributed Networked Multi-Axial Motion Control System, DNMAMCs)引入全局信息网络和局域控制网络,使运动控制系统具备良好的系统柔性、容错性和远程控制能力[1-2]。由于DNMAMCs系统极高的实时要求,需要严密监视全局信息和控制回路上下行数据流,要求网络上下文中各组件内部和外部状态保持严格的时间同步,并对多跳通信结构下的跨层次任务协同调度提出极高要求。如何克服网络诱导产生的网络不完美性,如数据传送延时、抖动、报文丢失和误码率等,成为这类系统设计亟需解决的问题[3-4]。目前,在非线性网络控制系统(Network Control System, NCS)研究中,网络不完美性一般以网络服务质量(Quality of Service,QoS)参数表示,如传输时延、周期性抖动量、最大许可带宽和最大许可传输间隔等,通常被假设为随机且有界。QoS参数通过时间约束的形式化表达,与传统的时延系统、切换系统、随机控制和最优控制理论相结合,构建特定的NCSs系统[5-6]。这些设计方法主要通过采用李雅普诺夫函数、线性矩阵不等式及平方和等技术得到充分条件[7],较少涉及分布式网络“感知-计算-控制”整个通信过程的任务可调度性、时延约束一致性等问题。本文基于透明时钟机制,建立分布式时钟来统一DNMAMCs系统的时间测度,生成一类基于保障性时隙(Guaranteed Time Slot, GTS)序列的跨层次调度(Cross-Layer Scheduling, CLS)时刻表。依据时刻表,设计基于Kalman滤波器和比例-积分(Proportional Integral, PI)控制器的级联控制器,精确控制各节点的GTS序列释放时间,从而使采样、计算、控制时序保持严格的同步关系。

1 问题描述

由于DNMAMCs系统应用任务往往具有混合性,计算-控制单元和通信链路的状态及负荷是动态变化的,并呈现出分布式特征。DNMAMCs系统动态行为几乎不能单纯用点对点的控制来解决协调与同步问题,需要来自底层的服务来支持系统的可调度性,而这些底层服务具有任务关键性和时间敏感性,依附于通信网络的带宽和协调一致的时空约束条件。因此,DNMAMCs系统QoS参数需要具体化更多的设计参数,不仅仅是与控制过程相关的网络诱导产生的时延、抖动等参数,还有与任务部署正确性、调度及时性以及服务过程容错性相关的MAC模型参数。

本文基于如图1所示的3层分布并行结构的DNMAMCs系统研究协同调度方法。管理层的计算-控制单元(Computing-Control Unit, CCU)管理应用系统的任务组合和协同,监视系统运行;协调监视层的路由节点(Access Node, AN)控制报文的传输路径,同步通信任务的触发时间;执行层的传感器节点(Sensor Node SN)、控制器节点(Control Node, CN)等终端节点(Terminal Node, TN)实现特定的实时感知和动态控制任务。TN,AN和局域工作站中CCU由局域控制网络连接,组成DNMAMCs系统包含多个控制对象的控制局域。全局网络连接各工作站,交换各控制局域的运行工况信息。

图1 网络化分布式多轴运动控制系统的层次结构

基于GTS序列的周期系统中,分布式节点拥有各自独立的时钟,并在其预订的GTS内完成与其相关联的任务。但是,即使网络行为是可预知的,任务调度精度仍主要取决于时钟同步精度。当节点间时钟偏差达到一定程度时,数据冲突并不能避免。DNMAMCs系统在实际应用环境下,各节点的时钟频率都会发生漂移,从而造成节点之间的时间偏差,导致控制周期和采样周期的抖动。这对于具有多跳通信结构的DNMAMCs系统的协同控制极为有害[8]。而且,分布式时钟与全局层次结构和局域树结构相关,主从逻辑关系复杂,确定系统规格参数十分困难。虽然,IEEE 1588精确时间协议(Precision Time Protocol, PTP)-2008引入了透明时钟(Transparent Clock, TC)机制来解决级联网络中时钟同步误差以指数形式累积问题[9],但如何将TC时钟嵌入到MAC协议中,PTP协议并没有给出具体的部署方法,CLS问题仍是一个开放问题[10-11]。

2 协同调度方法

2.1 跨层次任务调度表

本文将图1所示的并行分布结构分解为一系列可级联的树结构,利用分布式时钟和时间同步技术,构建如图2所示的可并行执行的CLS时刻表:AN作为控制局域的簇头,接收、分解、重组和转发来自TN的时间同步信息,并使同步信息沿着控制回路“SN-AN-CCU-AN-CN”有序传送。SN和CN分别作为控制回路的发起者和终端执行者,维护多跳通信的时间同步关系。CCU仅作为时间同步的参与者,被动接受、发送经AN整合后同步信息,只需满足计算-控制线程的最坏执行时间不大于AN上传反馈数据与下达控制命令的时间间隔,从而松弛了CCU线程间的同步关系。

依据CLS时刻表,DNMAMCs系统S则可被分解为由n个CLS调度的周期为T的子离散周期系统Si,i∈P={1,2,…,n}。每个子系统由3个状态连续的数据流传送子过程组成,表示如下:

(1)

依据CLS表定义任务触发的严格时延关系,DNMAMCs系统的闭环通信过程表示为:

xs(i,j+1)=As(j)xs(i,j)+Bsy(j)us(i,j)+Bsu(j)u(i,j)

(2)

us(i,j)=Csu(i,j)xs(i,j)+Dsy(j)u(i,j)

(3)

ys(i,j)=Csy(i,j)xs(i,j)+Dsu(j)y(j)(i,j)

(4)

图2 GTS序列释放与CLS任务流调度

2.2 分布式时钟

将DNMAMCs系统一系列节点记为集合K={1,2,…,m},ε⊆K×K代表节点可连接的边集合,一对可直接通信的相邻节点的边记为{i,j}。设任意一个可确认的节点均具有内部时钟,并可通过有限的网络跳转(hop)数来实现通信连接,则时间t和本地时钟读数Gi(t)关系为:

Ci(t)=αit+θii∈K

(5)

式中,θi和αi分别为节点i的时钟偏差和偏差的变化。由此,相邻节点{i,j}的相对时钟为:

(6)

式中,θji和αji分别为相邻节点{i,j}间相对时钟偏差和偏差的变化。

在初始化和时钟再同步过程中,利用如图3所示的双向消息传递模式,AN与其相邻节点{i,j}通过同步-请求(Sync)、同步-跟随(Follow-Up)、延迟-请求(Delay_Req)和延迟-响应(Delay_Resp)等时钟报文操作,交换并记录彼此的时钟信息。经过k轮的交换之后,完成分布式时钟的初始化。

在控制过程中,如图2所示的多跳链路中的邻节点采用如图4所示单向模式传递同步信息。各节点通过解析数据报文中的同步消息字段中由上一个节点发送报文和自身收、发报文的硬件时间戳,计算相邻节点之间的路径时延和在节点自身的驻留时间,转换彼此的相对时钟关系:

(7)

(8)

(9)

(10)

图3 双向时钟信息交换

图4 GTS序列释放时间同步过程

2.3 GTS释放时间同步控制

(11)

式中,f0为DNMAMCs系统时钟的标称频率,σj为节点j时钟频率相对f0的偏差值,Pj为通信链路上相邻节点之间的路径时延,σi(k)为通信链路上相邻节点GTS实际输出值与设定值相对f0的偏差,Bj(k)为在第k次通信周期发送的在通信链路上累积的驻留时延。

各节点采用如图5所示的Kalman-PI级联控制器结构来实时更新GTS序列释放时间的设定值。

图5 基于Kalman-PI控制器的时钟同步级联控制器结构

(12)

式中,kp和ki分别为PI控制器的比例和积分系数。

(13)

(14)

(15)

(16)

(17)

定义zi(k)为节点i与起始节点的时间偏差,得节点i的GTS释放时间测量方程:

zi(k)=Hxi(k)+vi(k)

(18)

式中,H=[1,0],vi[k]为服从均值为零正态分布的测量噪声。

Kalman估计算法包含时间更新与状态更新2个过程,迭代公式如下:

(19)

(20)

(21)

(22)

(23)

(24)

3 实验与结果分析

3.1 同步性能测试

本文采用意法半导体公司STM32微处理器和Wiznet公司以太网接口芯片W5500,设计网络接口(Network Interface, NI),构建如图6所示时间同步性能测试系统。该测评系统包括分别连接SN,CN,AN和CCU的4个NI板和1个Switch卡。NI采用未经温度补偿或恒温控制的低成本晶振作为内部时钟,频率为36 MHz。NI和Switch卡使用100 Mbit/s标准以太网非屏蔽双绞线相互连接。在测试实验中,NI引出I/O口线连接泰克公司示波器TDS2024C的2个模拟通道,将SN的时钟输出信号作为示波器的触发信号,同步捕获各分布式节点的GTS序列的释放时间信号。

图6 时钟同步性能测试系统

3.2 结果分析

分别采用IEEE PTP协议时钟、Kalman滤波器和Kalman-PI级联控制器进行时间同步实验,以10 ms为GTS序列释放时间间隔,共2 665次测试实验中同步捕获的示波器图像,结果如图7—9所示。

图7 基于PTP协议时钟信号图

图8 基于Kalman滤波器时钟信号图

图9 基于Kalman-PI同步算法时钟信号图

图10 峰-峰抖动量与跳数的关系曲线

图7-9中,上半部分为SN的在示波器上的触发信号,下半部分为其余节点相对于SN节点信号上升沿的时间偏差。表1汇总了控制回路中各节点时钟偏差的统计分析数据,图10显示了GTS序列释放时间的峰-峰抖动量与在传输路径各跳的关系曲线。由表1和图10可知,IEEE 1588 PTP协议时钟的时钟偏差的峰-峰抖动量沿着传输路径急剧增大;基于Kalman滤波器和Kalman-PI控制器的时钟偏差的峰-峰抖动量显著小于PTP协议时钟的偏差。同时,3种方法沿着数据传输路径(跳数)的第1和第2跳的时钟偏差累积增长分别为958.45 ns,347.25 ns,250.00 ns,第3和第4跳的偏差累积增长分别为1 250.10 ns,333.36 ns,319.45 ns。基于Kalman滤波器和Kalman-PI控制器的时钟偏差累积增长率显著小于IEEE 1588 PTP协议时钟的增长率。这表明本文的Kalman滤波器和Kalman-PI级联控制器能有效抑制GTS序列释放过程时钟偏差的累积,提高采样、控制周期的稳定性。

表1 节点时钟同步误差统计分析 ns

4 结束语

本文针对分布式系统存在的长传输路径延时、时延抖动以及信道不对称等问题,提出一种DNMAMCs系统的任务调度协同方法。采用全分布式的时钟同步算法,沿着数据链路自动对各节点的时钟偏差进行补偿,简化了时钟同步的主从逻辑关系,对可变拓扑和可变链路具有很强的适应能力。Kalman滤波器和Kalman-PI控制器的控制效果良好且结构简单,易于嵌入至分布式网络节点,为生成GTS序列、调度时刻表,及后续网络控制器的设计提供了基础。

猜你喜欢

时延时钟偏差
50种认知性偏差
计算机网络总时延公式的探讨
古代的时钟
如何走出文章立意偏差的误区
《舍不得星星》特辑:摘颗星星给你呀
基于GCC-nearest时延估计的室内声源定位
这个时钟一根针
基于移动站的转发式地面站设备时延标校方法
真相
航天器近距离相对运动的轨迹偏差分析