神经网络控制大作业南航智能控制文档格式.docx
《神经网络控制大作业南航智能控制文档格式.docx》由会员分享,可在线阅读,更多相关《神经网络控制大作业南航智能控制文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
学号:
专业:
201年月日
一、题目要求
考虑如下某水下航行器的水下直航运动非线性模型:
其中
为水下航行器的前进速度,
为水下航行器的推进器推力,
为水下航行器的输出,航行器本体质量、附加质量以及非线性运动阻尼系数分别为
。
作业具体要求:
1、设计神经网络控制器,对期望角度进行跟踪。
2、分析神经网络层数和神经元个数对控制性能的影响。
3、分析系统在神经网络控制和PID控制作用下的抗干扰能力(加噪声干扰、加参数不确定)、抗非线性能力(加死区和饱和特性)、抗时滞的能力(对时滞大小加以改变)。
二、神经网络控制器的设计
1.构建系统的PID控制模型
在Simulink环境下搭建水下航行器的PID仿真模型,如下图1所示:
图1水下航行器的PID控制系统
其中,PID控制器的参数设置为:
Kp=800,Ki=100,Kd=10。
需要注意的一点是,经过signaltoworkspace模块提取出的数据的Saveformat为Array格式。
2.BP神经网络控制器的训练
首先将提取出的训练数据变为标准的训练数据形式,标准的训练数据分为输入和目标输出两部分。
经过signaltoworkspace模块提取出的数据为一个训练数据个数乘以输入(或输出)个数的矩阵,因此分别将x、u转置后就得到标准训练数据x’,u’。
然后,新建m文件,编写神经网络控制器设计程序:
%----------------------------------------------------------------
p=x'
;
%input
t=u'
net=newff(p,t,3,{'
tansig'
'
purelin'
},'
trainlm'
);
net.trainparam.epochs=2500;
net.trainparam.goal=0.00001;
net=train(net,x'
u'
%trainnetwork
gensim(net,-1);
%generatesimulinkblock
上述m文件建立了如下图所示的神经网络,包含输入层、1个隐含层和输出层,各层神经元节点分别为1、3和1。
图2神经网络控制器结构及训练方法
神经网络控制器的训练过程如下:
图3神经网络训练过程
由gensim(net,-1);
%generatesimulinkblock语句生成了Simulink神经网络控制模块,如下图所示。
图4神经网络控制模块
对神经网络训练完成后,生成了Simulink仿真模块,将其取代了PID控制器,得到神经网络控制系统模型如下图所示。
图5水下航行器神经网络控制系统仿真模型
三、仿真结果与分析
1.PID控制器和神经网络控制器的仿真效果
对比采用PID控制器和神经网络控制器的仿真效果:
图6系统阶跃相应曲线
由图6的对比可知,神经网络控制达到了很好的控制效果。
2.神经网络层数和神经元个数对控制性能的影响
考察神经网络层数和神经元个数对控制效果的影响。
(1)分别采用1隐层、5隐层和10隐层BP神经网络,仿真结果如下:
图7采用1、5、10隐层BP神经网络仿真结果
(2)分别采用5隐层各3各神经元、10个神经元的BP神经网络,仿真结果如下:
图8采用5隐层各3各神经元、10个神经元的BP神经网络
综上所述,神经网络层数和神经元节点数目对控制效果具有重要影响,增加神经网络层数或者增加神经元节点数目均可提高精度。
3.神经网络的抗干扰、非线性和时滞能力
(1)抗噪声和不确定干扰的能力:
图9系统阶跃响应曲线(加白噪声)
从图9可以看出,神经网络控制器比PID控制具有更好的抗噪声和不确定干扰的能力。
(2)抗饱和和死区非线性干扰的能力:
图10系统阶跃响应曲线(饱和非线性)
图11系统阶跃响应曲线(死区非线性)
从图中可以看出,神经网络控制器在抗饱和、死区非线性方面,并不比PID控制有更佳的性能,这与控制器设计方式是有关的。
(3)抗输入时滞的能力:
图12系统阶跃响应曲线(0.1s输入时滞)
由图可知,神经网络控制与PID控制对时滞均比较敏感。
4.总结
神经网络控制作为一种智能控制方法,与PID控制相比,表现出它的优越性,如自组织、自适应和自整定能力等。
将神经网络和PID控制合理地结合起来构成复合控制策略,可实现高性能的控制系统。