基于S函数的智能自适应PID工具箱设计

2015-01-27 05:04:47
自动化与仪表 2015年11期
关键词:被控神经元对象

(防化研究院,北京 102205)

Simulink是Matlab平台下用于工程问题建模和动态仿真分析的平台,其本身具有良好的图形交互界面,通过采用Simulink模块组合的方法可以快速、准确地进行仿真[1]。但当系统采用较复杂的控制规律时,Simulink中没有现成的模块可用,此时通常需要编写复杂的M文件源代码进行仿真,但该方法一是编程复杂工作量大,二是所编M文件不具有通用性,三是无法利用Simulink直观的图形界面和其余模块[2]。针对这种现状,本文利用S函数实现了基于单神经元、RBF神经网络和BP神经网络的自适应PID控制器,可将其嵌入Simulink进行仿真,大大减少了编程工作量,提高了算法仿真效率。

1 S函数简介

S函数(S-function)是系统函数的简称,在控制理论研究中,经常需要用复杂的算法设计控制器,而这些算法因其复杂性而难以用Simulink标准模块搭建,此时编程设计出S函数即可将其嵌入到Simulink中。S函数基本引导语句[1]为Function[sys,x0,str,ts]=fun(t,x,u,flag,p1,p1,…)其中:t,x,u分别为时间、状态、输入;flag为标志位,用于控制S函数执行的任务与返回不同数据。在一个仿真周期中,S函数具体流程如图1所示。

图1 一个仿真周期的S函数仿真流程Fig.1 Simulation procedures of S-function in a cycle

使用S函数仿真时,需清楚系统在不同时刻所需要的信息,如初始化时需清楚连续与离散状态变量数目、初值,确定采样时间等;进而对离散部分采用 mdlUpdates更新离散状态;对连续部分采用mdlDerivates计算连续导数;mdlOutputs计算S函数输出。

2 先进PID算法的S函数设计

2.1 单神经元自适应PID

由具有自学习和自组织能力的单神经元构成自适应PID控制器,其结构简单、能适应环境变化、有较强鲁棒性[3]。单神经元自适应PID的结构框图如图2所示。

图2 单神经元自适应PID控制系统结构Fig.2 Structure of single neuron adaptive PID control system

S函数主体部分为

将 S函数嵌入 Simulink中设计基于单神经元的自适应PID控制器,其内部结构封装如图3所示。

图3 单神经元自适应PID控制器封装Fig.3 Mask of single neuron adaptive PID controller

2.2 RBF神经网络PID

RBF神经网络自适应PID控制系统利用RBF神经网络辨识被控对象并按照一定的学习算法在每个仿真周期更新PID参数和RBF神经网络参数[4-5],系统结构如图4所示。

图4 RBF神经网络自适应PID控制系统结构Fig.4 Structure of RBF adaptive PID control system

S函数主体部分为

将编写的S函数嵌入到Simulink环境中,和延迟环节、饱和环节等其他标准模块组合成基于RBF神经网络的自适应PID控制器,并封装即可。

2.3 BP神经网络PID

BP神经网络自适应PID控制系统利用BP神经网络辨识被控对象并按照一定的学习算法在每个仿真周期更新PID参数和神经网络参数[4-5],系统结构如图5所示。算法中BP神经网络的隐含层数目、神经元个数等参数均可在封装之后的图形界面中输入并可自由改动。

图5 BP神经网络自适应PID控制系统结构Fig.5 Structure of BP neural network adaptive PID control system

S函数主体部分为

同样的将编写的S函数嵌入到Simulink环境中和其他标准模块组合成基于RBF神经网络的自适应PID控制器,并进行封装即可。

3 仿真结果

利用S函数实现了以上先进控制算法的基础上,封装之后即可在Simulink中调用,而被控对象模型可用Simulink标准模块搭建。以单神经元自适应PID控制系统为例,其仿真模型如图6所示,对控制器部分或者被控对象部分按照需要自由选取,则可快速进行其他类型控制系统的设计与仿真。

图6 单神经元自适应PID控制系统Simulink框图Fig.6 Simulink block diagram of single neuron adaptive PID control system

在以下仿真中,被控对象模型由离散状态传递函数描述为

3种先进算法的相应曲线如图7所示。可以看出对式(1)中的对象,单神经元PID虽然结构简单但性能却是最好的。

图7 系统响应曲线Fig.7 Step response curves of the system

4 结语

本文利用S函数实现了3种单神经元自适应PID、RBF神经网络自适应PID和BP神经网络自适应PID 3种先进控制算法,并将其封装成了标准化的模块,可以在Simulink中自由调用并方便测试有关参数对算法性能的影响。基于S函数的先进PID工具箱设计大大扩展了Simulink的动态仿真功能和对先进算法的开发能力,避免了每次都得针对特定的被控对象开发M文件代码,对先进算法的研究和仿真具有重要的实用意义。

[1] 石良臣.MATLAB/Simulink系统仿真超级学习手册[M].北京:人民邮电出版社,2014.

[2] 李绍铭,赵伟.基于S函数的RBF神经网络PID控制器Simulink仿真[J].安徽冶金科技职业学院学报,2008,18(1):19-21.

[3] 刘金琨.先进PID控制MATLAB仿真[M].3版.北京:电子工业出版社,2014.

[4] 庞中华,崔红.系统辨识与自适应控制[M].北京:北京航空航天大学出版社,2013.

[5] 薛定宇.控制系统计算机辅助设计—MATLAB语言与应用[M].3版.北京:清华大学出版社,2012.

猜你喜欢
被控神经元对象
神秘来电
睿士(2023年2期)2023-03-02 02:01:09
《从光子到神经元》书评
自然杂志(2021年6期)2021-12-23 08:24:46
大惯量系统位置控制策略研究
跃动的神经元——波兰Brain Embassy联合办公
现代装饰(2018年5期)2018-05-26 09:09:01
攻略对象的心思好难猜
意林(2018年3期)2018-03-02 15:17:24
基于熵的快速扫描法的FNEA初始对象的生成方法
区间对象族的可镇定性分析
基于二次型单神经元PID的MPPT控制
电源技术(2015年5期)2015-08-22 11:18:38
毫米波导引头预定回路改进单神经元控制