- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BP神经网络matlab设计第1页/共19页
4.6.1 倒立摆系统1.倒立摆的常见形式 倒立摆系统被公认为自动控制理论中的典型实验设备,也是控制理论教学和科研中不可多得的典型物理模型,它本身是一个自然不稳定体,在控制过程中能够有效地反映控制中的许多关键问题。 在忽略了空气阻力和各种摩擦之后,可将一级倒立摆系统抽象成小车和匀质杆组成的系统,摆杆与小车之间为自由链接,小车在控制力的作用下沿滑轨在x方向运动,控制目的是使倒立摆能够尽可能稳定在铅直方向,同时小车的水平位置也能得到控制。第2页/共19页
4.6.1 倒立摆系统2. 直线一级倒立摆的结构Φ:摆杆与垂直向上方向的夹角F:加在小车上的推力m:摆杆质量; l: 摆杆转动轴心到 杆质心的长度M: 小车质量X: 小车位移第3页/共19页
4.6.1倒立摆系统3.直线一级倒立摆的数学模型 由动力学理论可得一级倒立摆系统的数学模型为: 式中参数意义说明如下:M为小车质量,m为摆杆质量,l为摆杆转动轴心到杆质心的长度, F为加在小车的力。x为小车位移,小车在轨道正中为0;为摆杆偏离竖直方向的角度,顺时针方向为正。 第4页/共19页
3.仿真模型的建立 基于SIMULINK环境一级倒立摆神经网络控制的仿真如图所示,它可由MATLAB 6.5自带的一个模糊控制仿真模型slcp.mdl进行修改得到,它主要包括一级倒立摆动力学模型子系统和神经控制器子系统。4.6.1倒立摆系统第5页/共19页
仿真具体参数为:摆杆的质心到对应转轴的距离l=0.5m;轨道长为4 m。小车质量M=1kg,摆杆质量m=0.1kg。第6页/共19页
4.6.2 神经网络控制器的设计 神经网络控制器的设计包含几个方面: 输入、输出变量的确定 神经网络结构的确定(网络的层数、每层节点数) 神经网络参数的确定(通过训练获得阈值、传输函数及参数等) 训练神经网络之前,首先应确定所选用的网络类型,并进行初始化。这可利用神经网络工具箱中BP神经网络初始化函数newff( )来完成。初始化内容包括选择网络的层数、每层节点数、初始权值、阈值、节点传输函数及参数等。第7页/共19页
4.6.2 神经网络控制器的设计由一级倒立摆神经网络控制的仿真图可见BP神经网络控制器应为一个4输入1输出,输出节点对应了一级倒立摆系统中小车的控制力,四个输入节点则分别对应了四个控制参量:小车的位移(仿真中为小车位移与设定位移之差)和速度、摆杆的角度和角速度。对于具体问题,确定了输入和输出变量后,网络输入层和输出层的节点个数也就确定了。剩下的问题是考虑隐含层和隐层节点。从原理上讲,只要有足够多的隐含层和隐层节点,BP神经网络可实现复杂的非线性映射关系,但根据具体问题如何确定网络的结构仍需凭借经验与试凑。一般在能反映输入输出关系的基础上,应尽量使网络简单,即选取较少的隐层节点。这里根据经验公式确定隐层节点数:第8页/共19页
4.6.2 神经网络控制器的设计针对一级倒立摆仿真,BP神经网络输入层到隐层传输函数选择tansig,隐层到输出层的传输函数选择purelin。训练函数使用trainlm。学习函数使用learndm。性能函数选择均方误差性能函数mse。 net=newff([-0.35 0.35;-1 1;-3 3;-3 3],[12 1],{tansig,purelin},trainlm,learngdm);第9页/共19页
4.6.2 神经网络控制器的设计产生数据样本集,是成功开发神经网络的关键一步,训练数据的产生包括数据的收集、数据分析、变量选择以及数据的预处理。只有经过这些步骤后,才能对神经网络进行有效的学习与训练。如果数据能很好地代表系统理想控制器的输入输出特征,那么由于神经网络的非线性映射能力,设计出的控制器将具有很好的控制性能。仿真实验为体现神经网络对训练样本集的非线性映射和泛化作用,训练数据来源于MATLAB 6.5自带的一阶T-S型模糊控制slcp.mdl。提取摆角、角速度、位移、速度初始条件为[0.5rad,1rad/s,0,0 ]条件下响应的输入输出对,使用函数train( )训练300步。第10页/共19页
[net,tr]=train(net,P,T,[ ],[ ])使用下面语句初始化BP神经网络控制器并进行训练:P=p;T=t;net=newff([-0.35 0.35;-1 1;-3 3;-3 3],[12 1],{tansig,purelin},trainlm,learngdm);net.trainParam.show=25;net.trainParam.epochs=300;[net,tr]=train(net,P,T,[ ],[ ]);第11页/共1
原创力文档


文档评论(0)