基于Simulink的嵌入式网络化控制仿真实现
时间:07-31
来源:互联网
点击:
系统实现
本系统采用Simulink/Real-time Workshop实现仿真系统中运行在嵌入式平台的代码部分。
Simulink是Mathworks公司推出的,用于控制算法设计和系统动态建模的可视化仿真分析环境,其Real-TimeWorkshop(RTW)工具箱能根据所组建的Simulink框图自动生成优化的C语言代码,结合与目标硬件相关的接口模块,实现对Simulink描述的控制系统的仿真,使用户从编写代码的繁冗劳动中解脱,缩短程序开发周期。
嵌入式硬件平台的应用程序开发与传统开发有所不同。受嵌入式系统有限资源的限制,应用程序的开发一般采用主从模式,即程序的设计,编译和链接在PC 机(通常运行有Linux)上进行,最终生成的可执行代码运行在嵌入式系统中,这个过程为交叉编译过程。
利用RTW 实现将Simulink 的框图生成在仿真系统的嵌入式平台上运行程序的主要步骤为:
1) 编写通用的与Simulink 框图接口的网络程序;
(2) 在装有Matlab 的PC 机上安装交叉编译工具链arm-elf-gcc,包括编译器,链接器,二进制工具等;
(3) 在Simulink 中构建被控系统的仿真框图;
(4) 根据目标硬件的不同,修改RTW 中集成的makefile模板文件,并将在(1)中编写的代码,加入到编译链接的源码列表,修改系统目标文件;
(5) 打开相应RTW 对话框,选中要使用的系统目标文件后,代码的生成,编译,下载及在嵌入式系统上运行等一系列过程将在几分钟内自动完成。
图3 描述了仿真系统软件整体结构及Simulink/RTW 实现嵌入式应用程序的过程。
由于Matlab 软件通常安装在Windows 操作系统,为保证交叉编译的顺利进行,安装软件Cygwin,以提供在Windows 下的虚拟Linux 环境。
延时特性分析及补偿方法
网络化控制系统的分析和设计比传统的点对点控制复杂的主要原因在于网络延时。在采用以太网的分布式网络化控制系统中,虽然以太网传输的实时性随着快速以太网和交换式以太网技术的发展得到了解决,但由于有限的网络资源被网络中的多个节点共享,使控制系统中的实时信息不能及时传送,加之包交换的网络间延时的不确定性,严重影响了系统的控制性能,甚至造成系统的不稳定。因此,网络化控制仿真平台要提供对真实网络环境的模拟必须首先明确网络延时的特点。
延时分布特性
往返时间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)求出。
本系统采用Simulink/Real-time Workshop实现仿真系统中运行在嵌入式平台的代码部分。
Simulink是Mathworks公司推出的,用于控制算法设计和系统动态建模的可视化仿真分析环境,其Real-TimeWorkshop(RTW)工具箱能根据所组建的Simulink框图自动生成优化的C语言代码,结合与目标硬件相关的接口模块,实现对Simulink描述的控制系统的仿真,使用户从编写代码的繁冗劳动中解脱,缩短程序开发周期。
嵌入式硬件平台的应用程序开发与传统开发有所不同。受嵌入式系统有限资源的限制,应用程序的开发一般采用主从模式,即程序的设计,编译和链接在PC 机(通常运行有Linux)上进行,最终生成的可执行代码运行在嵌入式系统中,这个过程为交叉编译过程。
利用RTW 实现将Simulink 的框图生成在仿真系统的嵌入式平台上运行程序的主要步骤为:
1) 编写通用的与Simulink 框图接口的网络程序;
(2) 在装有Matlab 的PC 机上安装交叉编译工具链arm-elf-gcc,包括编译器,链接器,二进制工具等;
(3) 在Simulink 中构建被控系统的仿真框图;
(4) 根据目标硬件的不同,修改RTW 中集成的makefile模板文件,并将在(1)中编写的代码,加入到编译链接的源码列表,修改系统目标文件;
(5) 打开相应RTW 对话框,选中要使用的系统目标文件后,代码的生成,编译,下载及在嵌入式系统上运行等一系列过程将在几分钟内自动完成。
图3 描述了仿真系统软件整体结构及Simulink/RTW 实现嵌入式应用程序的过程。
由于Matlab 软件通常安装在Windows 操作系统,为保证交叉编译的顺利进行,安装软件Cygwin,以提供在Windows 下的虚拟Linux 环境。
延时特性分析及补偿方法
网络化控制系统的分析和设计比传统的点对点控制复杂的主要原因在于网络延时。在采用以太网的分布式网络化控制系统中,虽然以太网传输的实时性随着快速以太网和交换式以太网技术的发展得到了解决,但由于有限的网络资源被网络中的多个节点共享,使控制系统中的实时信息不能及时传送,加之包交换的网络间延时的不确定性,严重影响了系统的控制性能,甚至造成系统的不稳定。因此,网络化控制仿真平台要提供对真实网络环境的模拟必须首先明确网络延时的特点。
延时分布特性
往返时间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)求出。
传感器 自动化 仿真 嵌入式 总线 ARM 电路 收发器 uClinux Linux Mathworks 电压 示波器 相关文章:
- 光缆结构及工艺的发展(03-04)
- 基于Zigbee的远程家庭监护系统的应用研究(04-08)
- 触摸屏基本原理(04-16)
- 无线传感器网络的服务质量保障技术(10-16)
- 网络自组织通信模式和技术研究综述(10-26)
- 视频传感器网络覆盖控制(Coverage Control)问题研究概述(11-24)