往返时间round trip time 简称为rtt,是指小数据包从网络源节点A 发出,经网络到达目的节点B 后又返回到A 所用的时间。本文在实验装置所访问的广域网环境下进行rtt测量,以便从测量数据中分析得到延时分布特性。测量使用仿真系统的延时测量模块。该模块采用Van JaCOBson 提出的高精度测时思想,用Simulink 系统函数实现。
图4 是在网络处于正常条件下,实际测得实验装置所使用的广域网的rtt 分布。测量进行了1000 次,其均值为0.3877s,均方差为0.0106s。从频域角度分析,得到的功率谱密度如图5 所示。根据带限白噪声定义,即功率谱密度函数仅在某些有限频率范围内取异于零的常数,为理论分析的简化,将测得的延时近似为低通白噪声,这可由低通白噪声对功率谱密度的定义
可知。Srinivasagupta 也指出将大多数的网络延时近似为白噪声是合理的。
相对于具有较大截止频率,即时间常数较大,动态响应较慢的系统,由于允许的采样周期较长,该数量级的网络延时对控制系统的影响也许可以忽略,但当被控对象为快速响应系统时,网络延时的数量级很可能等于甚至远大于控制系统的采样周期,此时必须对延时进行补偿以保证控制系统的稳定。
延时补偿方策略
由于延时的不确定性,在网络化控制中,无法保证在一个采样周期内恰有相应时刻的信号到来,可能在该采样周期没有收据,即空采样,也可能收到多个收据,即多采样,还可能收到被延时的数据,即延时采样。为此,仿真系统对网络化控制系统的前向和反馈通道的延时分别进行了补偿。
信息在网络间传输的格式为:时间戳+对应的数据值。由于仿真系统提供了同步机制模块,为简化编程,可在发送时间信息时,只发送相应的周期索引值而非硬时钟值。图6 描述了仿真系统采用的网络延时补偿策略。
为和传统的数字控制系统一致,仿真系统中的控制器,传感器和执行器节点均采用时间驱动方式,即设备工作由时钟控制,按照一定的周期来执行操作。
前向通道延时补偿
执行器的接收端开辟有缓存区,控制器节点采用基于模型的预测控制算法,在一个周期内计算包括当前时刻的控制时域步的控制信号,连同该采样时刻的时间戳信息通过网络发送给执行器。执行器在采样周期到来时,根据收到的控制信号的情况做出相应的处理。具体补偿方法如下。
控制器以广义预测控制GPC(Generalized PreDICtiveControl)作为控制算法,被控对象模型采用受控自回归积分滑动平均模型(CARIMA),用下列离散差分方程描述:
d 为被控对象时延, Δ= 1-z-1 表示差分算子, ω(t ) 是随机变量序列。最优控制轨迹是通过最小化式(5)所表达的性能指标函数得到的:
其中N1 和N2 代表最小和最大预测时域长度,M为控制时域长度, ρ为控制增量加权因子,定义P=N2 -N1。) ( ?y( t+i) 为模型预测输出,yr(t+i) 为输出参考轨迹, 对于i=1,2, Λ,N2-N1,有丢番图(Diophantine)方程:
阶和max(na.nc-i ,nb-i)阶,(i-1)阶和max(nc-1),(nb-1)阶多项式。
在t时刻的最优控制律轨迹为:
在执行周期l,执行器应根据收到的控制信号执行相应的任务,由于网络延时的存在,当前时刻的控制信号可能无法到达,执行器根据缓存区存储的控制信号,利用时间戳信息,使用离当前时刻最近的控制信号对该时刻的预测值即,
反馈通道延时补偿
在反馈通道加入带有接收缓存的预测器,缓存区存放输入输出历史数据和相应时间戳信息。传感器在一个采样周期内完成对被控对象的输出采样,并通过网络传送采样值,控制信号以及时间戳信息。预测器在采样周期内,如果没有收到传感器从网络发送的相应时刻的采样信号,将利用缓存区数据估算采样信号以供控制器进行控制信号计算。
预测器采用受控自回归模型ARX对采样信号进行预测,其模型原型为:
对于模型参数(10)的求解,可在Simulink下根据实验测得的延时分布特性,选取符合延时分布规律的随机信号模块模拟网络环境,在前向和反馈通道上通过TCP/IP模块实现控制器到执行器,传感器到控制器的连接,组成闭合网络化控制系统仿真框图,进行离线仿真,收集一系列输入输出数据,利用渐消记忆的递推最小二乘(13)-(15)求出。
仿真实例
本节以一直流无刷电机为例,验证使用本仿真系统实现网络化控制实验的有效性。通过频率响应法进行电机模型开环辨识,得到被控对象的CARIMA 模型为:
其中y 表示电机转速,u 表示控制电压。
使用Simulink 进行离线仿真,网络间延时用均匀分布的延时模块模拟,求得ARX 模型为:
控制算法采用控制时域步长为7 的广义预测控制,利用Simulink 和仿真系统提供的模块分别组成图6 中虚线所包围的A,B 两部分,按照上述步骤,将框图分别下载到位于不同物理空间的硬件平台运行,控制系统中各节点的数据在该选项卡中设置固定步长和仿真停止时间,选择积分求解器;单击Real-Time Workshop 标签,在该选项卡中设置系统目标文件,模板联编文件,Make 命令等,在Category 下拉列表中选择xPC Targetgeneration options 选项,可以设置缓冲区大小,目标对象名字等。
(4)创建和下载目标应用程序。设置完仿真参数,在Simulink 模型窗口中按CTRl+B,就可以生成C 代码,并对其编译、连接生成可执行的目标应用程序,并自动将其下载到目标机上。
(5)控制目标应用程序以及信号跟踪。目标应用程序下载完成之后,在MATLAB 窗口输入+tg(或-tg)或者在目标机命令行输入start(或stop)可以启动(或停止)目标应用程序。在Simulink 模型中添加xPC Target Scope 模块,可以在目标机上添加示波器,显示需要的信号。
结论
本文研究了基于MATLAB/xPC,设计一个半物理实时仿真平台的方法。该平台将飞轮、三轴转台、陀螺等实物接入实时仿真系统,构成了一个卫星姿态控制半物理实时仿真系统,根据仿真试验结果,该实时仿真系统的实验结果与Simulink 非实时数学仿真结果基本一致,而且系统的实时性也能够满足要求。该实时仿真平台符合设计要求,有利于卫星姿态控制的研究。
本文关键字:嵌入式 嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术