欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    智能控制开发实验倒立摆模糊控制和神经网络控制.docx

    • 资源ID:13132052       资源大小:699.29KB        全文页数:41页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    智能控制开发实验倒立摆模糊控制和神经网络控制.docx

    1、智能控制开发实验倒立摆模糊控制和神经网络控制智能控制开发实验姓名: 学院: 学号: 指导老师: 完成日期: 一、 目录前言以及控制对象 1一、 一级倒立摆神经网络控制 11. 实验要求 12. 一级倒立摆LQR控制器的设计 13. 一级倒立摆神经网络控制器的设计 3二、 二级倒立摆神经网络控制 51. 实验要求 52. 二级倒立摆LQR控制器的设计 53. 二级倒立摆神经网络控制器的设计 10三、 三级倒立摆神经网络控制 151. 实验要求 152. 三级倒立摆LQR控制器的设计 15四、 一级倒立摆模糊控制 181. 实验要求 182. 一级倒立摆模糊控制器的设计 18五、 二级倒立摆模糊控

    2、制 211. 实验要求 212. 二级倒立摆模糊控制器的设计 22六、 三级倒立摆模糊控制 281. 实验要求 282. 三级倒立摆模糊控制器的设计 28七、 实验总结及致谢 31图目录图 1 一级倒立摆LQR控制器系统框图 2图 2 一级倒立摆LQR控制效果图 3图 3 一级倒立摆神经网络训练 4图 4 神经网络控制器 4图 5 一级倒立摆神经网络控制系统框图 4图 6 一级倒立摆神经网络控制仿真效果图 5图 7 二级倒立摆线性化系统框图 6图 8 二级倒立摆LQR控制器系统框图 7图 9 二级倒立摆LQR控制仿真效果图(小车位移X) 7图 10 二级倒立摆LQR控制仿真效果图(下倒立摆角度

    3、phi1) 8图 11 二级倒立摆LQR控制仿真效果图(上倒立摆角度phi2) 8图 12 二级倒立摆LQR控制仿真效果图(小车速度dx) 9图 13 二级倒立摆LQR控制仿真效果图(下倒立摆角速度dphi1) 9图 14 二级倒立摆LQR控制仿真效果图(上倒立摆角速度dphi2) 10图 15 二级倒立摆神经网络训练 11图 16 二级倒立摆神经网络控制系统框图 11图 17 二级倒立摆神经网络控制仿真效果图(小车位移x) 12图 18 二级倒立摆神经网络控制仿真效果图(下倒立摆角度phi1) 12图 19 二级倒立摆神经网络控制仿真效果图(上倒立摆角度phi2) 13图 20 二级倒立摆神

    4、经网络控制仿真效果图(小车速度dx) 13图 21 二级倒立摆神经网络控制仿真效果图(下倒立摆角速度dphi1) 14图 22 二级倒立摆神经网络控制仿真效果图(上倒立摆角速度dphi2) 14图 23 三级倒立摆线性化系统框图 16图 24 一级倒立摆模糊控制器设计 19图 25 一级倒立摆模糊控制规则设计 19图 26 模糊控制规则视图 20图 27 一级倒立摆模糊控制系统框图 20图 28 一级倒立摆模糊控制仿真效果图 21图 29 二级倒立摆模糊控制器设计 23图 30 二级倒立摆模糊控制规则 23图 31 二级倒立摆模糊控制系统框图 24图 32 二级倒立摆模糊控制仿真效果图(小车位

    5、移x) 25图 33 二级倒立摆模糊控制仿真效果图(下倒立摆角度phi1) 25图 34 二级倒立摆模糊控制仿真效果图(上倒立摆角度phi2) 26图 35 二级倒立摆模糊控制仿真效果图(小车速度dx) 26图 36 二级倒立摆模糊控制仿真效果图(下倒立摆角速度dphi1) 27图 37 二级倒立摆模糊控制仿真效果图(上倒立摆角速度dphi2) 27图 38 三级倒立摆模糊控制器设计 29图 39 三级倒立摆模糊控制规则 29图 40 三级倒立摆模糊控制系统框图 30图 41 三级倒立摆模糊控制仿真效果图 31前言以及控制对象倒立摆是一种典型的多变量、非线性、高阶次,强耦合的快速不稳定系统,通

    6、常用来检验控制策略的效果,是控制理论研究中较为理想的实验手段,因此,对其研究有重要的理论和实践意义。本实验课程的研究为一级、二级、三级倒立摆。实验目的为采用新型的智能算法包括神经网络和模糊算法实现对一到三级倒立摆的控制,并能实现较好的控制效果。以一到三级的倒立摆为研究对象,首先要建立倒立摆的控制模型,此实验中控制模型已经建立好并封装到了一个S函数中。一、 一级倒立摆神经网络控制1. 实验要求利用lqr或者acker极点配置法实现此非线性化模型的线性化并求出增益矩阵,利用线性控制器训练神经网络控制器,最终实现BP神经网络控制对一级倒立摆的控制效果良好。2. 一级倒立摆LQR控制器的设计为了设计线

    7、性控制器,首先要对原先的非线性系统进行线性化处理。LQR获取的增益矩阵。经过一系列计算,获得系统的状态方程:其中:根据以上系统矩阵A和输入矩阵B,设计加权矩阵Q,考虑到此一级倒立摆系统中,倒立摆的角度最重要,小车的位移次之,因此倒立摆角度的加权系数最大Q3=125,小车的加权系数次之Q1=25,而小车的速度和倒立摆的角速度都不重要。因此将它们的加权系数定为零。最后求出了增益矩阵K。程序如下所示:A = 0,1,0,0; 0,-4.977,-7.18,0; 0,0,0,1; 0,3.732,7.89,0;B = 0; 0.976; 0; -0.732;Q = 25,0,0,0; 0,0,0,0;

    8、 0,0,125,0; 0,0,0,0;R = 1;K = lqr(A,B,Q,R)增益矩阵K为:K =-5.0000 -18.0364 -58.0868 -30.9170将增益矩阵代入到如下框图 1中,将样本分别导出为“Samplein”和“Sampleout”。控制效果如图 2所示,从系统仿真的效果图可以看出小车在线性控制器控制下,速度最后为0,停在距中点0 的位置,角度和角速度都为0,摆干稳定竖直,系统控制效果良好,超调量非常小。因此我们可以利用这个样本对神经网络进行训练。图 1 一级倒立摆LQR控制器系统框图图 2 一级倒立摆LQR控制效果图3. 一级倒立摆神经网络控制器的设计将LQR

    9、控制器导出的样本“Samplein”和“Sampleout”对神经网络控制器进行训练。本实验中,按照实验要求设计了一个三层的 BP 神经网络。每层接点数分别为4,8,1。输入样本的范围定为-0.2 0.3;-2 -3;-0.57 0.57;-3.14 3.14,编程实现神经网络控制器并对它进行训练,程序如下所示:net=newff(-0.2 0.3;-2 3;-0.57 0.57;-3.14 3.14,4 8 1,tansig tansig purelin);net.trainparam.epochs=2000;net.trainparam.goal=0.000001;net=train(ne

    10、t,Samplein,Sampleout);gensim(net,-1);训练次数的上限为2000次,训练目标是偏差为0.000001。从下图 3中可以看出该此神经网络训练速度非常快,经过18次训练达到了目标。图 4为训练所得的三层BP神经网络控制器,将此控制器代替图 1中的线性控制器,所得系统框图如图 5所示。对系统进行仿真,仿真效果如图 6所示,从图中我们可以看出控制效果非常好。图 3 一级倒立摆神经网络训练图 4 神经网络控制器图 5 一级倒立摆神经网络控制系统框图图 6 一级倒立摆神经网络控制仿真效果图二、 二级倒立摆神经网络控制1. 实验要求利用lqr或者acker极点配置法实现此非

    11、线性化模型的线性化并求出增益矩阵,利用线性控制器训练神经网络控制器,最终实现BP神经网络控制对二级倒立摆的控制效果良好。2. 二级倒立摆LQR控制器的设计同一阶倒立摆的线性控制器设计思路一样,为了得到合适的线性控制器,我首先要对系统进行合适的线性化,这里采用matlab 的一个线性化函数linmod.将dot2 框架的输入输出导入到工作空间,系统框架如图 7,其仿真模型存为linmod2.mdl,然后运行A,B,C,D=linmod(linmod2,0,0);得到线性化之后的A,B,C,D 阵如下所示:A = 0 0 0 1.0000 0 0; 0 0 0 0 1.0000 0; 0 0 0

    12、0 0 1.0000; 0 -2.6865 1.0204 -16.8458 0.0168 -0.0128; 0 31.8459 -29.3235 42.9296 -0.2776 0.2912; 0 -40.9835 97.4089 -55.2473 0.6280 -0.8572;B = 0;0;0;8.7213;-22.2253;28.6023;C = 1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0;0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1; D = 0;0;0;0;0;0;图 7 二级倒立摆线性化系统框图然后对这个系统设计线性控制器,方法

    13、依然是lqr 函数。设计加权矩阵Q,考虑到此二级倒立摆系统中,上面的倒立摆的角度最重要,下面的倒立摆次之,小车的位移再次之,因此上面的倒立摆角度的加权系数最大Q3=1000,下面倒立摆的加权系数次之Q2=100,小车的加权系数Q1=10,而小车的速度和倒立摆的角速度都不重要,可大可小,因此Q4=100,Q5=1,Q6=1。最后依次求出了增益矩阵K。程序如下所示:A = 0 0 0 1.0000 0 0; 0 0 0 0 1.0000 0; 0 0 0 0 0 1.0000; 0 -2.6865 1.0204 -16.8458 0.0168 -0.0128; 0 31.8459 -29.3235

    14、 42.9296 -0.2776 0.2912; 0 -40.9835 97.4089 -55.2473 0.6280 -0.8572;B = 0;0;0;8.7213;-22.2253;28.6023;C = 1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0;0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1;D = 0;0;0;0;0;0;Q = diag(10 100 1000 100 1 1);R = 1;K = lqr(A,B,Q,R)从而可以求出KK =3.1623 84.7740 191.2933 10.6894 32.4649 25.7

    15、141; 将增益矩阵代入到如下框图 8中,将样本分别导出为“Samplein2”和“Sampleout2”。控制效果如 图 9图 14所示,从系统仿真的效果图可以看出小车在线性控制器控制下,速度最后为0,停在距中点0 的位置,角度和角速度都为0,摆干稳定竖直,系统控制效果良好,超调量非常小。因此我们可以利用这个样本对神经网络进行训练。图 8 二级倒立摆LQR控制器系统框图 图 9 二级倒立摆LQR控制仿真效果图(小车位移X) 图 10 二级倒立摆LQR控制仿真效果图(下倒立摆角度phi1) 图 11 二级倒立摆LQR控制仿真效果图(上倒立摆角度phi2) 图 12 二级倒立摆LQR控制仿真效果

    16、图(小车速度dx) 图 13 二级倒立摆LQR控制仿真效果图(下倒立摆角速度dphi1) 图 14 二级倒立摆LQR控制仿真效果图(上倒立摆角速度dphi2)3. 二级倒立摆神经网络控制器的设计将LQR控制器导出的样本“Samplein2”和“Sampleout2”对神经网络控制器进行训练。本实验中,按照实验要求设计了一个三层的 BP 神经网络。每层接点数分别为4,8,1。输入样本的范围定为-1 1;-1 1; -1 1;-2 3;-3.14 3.14;-3.14 3.14,编程实现神经网络控制器并对它进行训练,程序如下所示:net=newff(-1 1;-1 1;-1 1;-2 3;-3.1

    17、4 3.14;-3.14 3.14,4 8 1,tansig tansig purelin);net.trainparam.epochs=2000;net.trainparam.goal=0.0000000001;net=train(net,Samplein2,Sampleout2);gensim(net,-1);训练次数的上限为2000次,训练目标是偏差为0.0000000001。从下图 15中可以看出该此神经网络训练速度非常快,经过2000次训练虽未达到目标,但是从图中还是可以看出训练效果较好,达到了0.00000001 。将训练所得的三层BP神经网络控制器代替图 8中的线性控制器,所得系

    18、统框图如图 16所示。对系统进行仿真,仿真效果如所示,从图中我们可以看出控制效果非常好。图 15 二级倒立摆神经网络训练图 16 二级倒立摆神经网络控制系统框图图 17 二级倒立摆神经网络控制仿真效果图(小车位移x)图 18 二级倒立摆神经网络控制仿真效果图(下倒立摆角度phi1)图 19 二级倒立摆神经网络控制仿真效果图(上倒立摆角度phi2)图 20 二级倒立摆神经网络控制仿真效果图(小车速度dx)图 21 二级倒立摆神经网络控制仿真效果图(下倒立摆角速度dphi1)图 22 二级倒立摆神经网络控制仿真效果图(上倒立摆角速度dphi2)三、 三级倒立摆神经网络控制1. 实验要求利用lqr或

    19、者acker极点配置法实现此非线性化模型的线性化并求出增益矩阵,利用线性控制器训练神经网络控制器,最终实现BP神经网络控制对三级倒立摆的控制效果良好。2. 三级倒立摆LQR控制器的设计同一阶倒立摆的线性控制器设计思路一样,为了得到合适的线性控制器,我首先要对系统进行合适的线性化,这里采用matlab 的一个线性化函数linmod.将dot3 框架的输入输出导入到工作空间,系统框架如图 23,其仿真模型存为linmod3.mdl,然后运行A,B,C,D=linmod(linmod3,0,0);得到线性化之后的A,B,C,D 阵如下所示:A =0 0 0 0 1.0000 0 0 0; 0 0 0

    20、 0 0 1.0000 0 0; 0 0 0 0 0 0 1.0000 0; 0 0 0 0 0 0 0 1.0000; 0 -4.6701 0.5603 -0.0336 -16.6983 0.0183 -0.0069 0.0012; 0 83.0185 -51.8431 3.1121 41.0620 -0.3969 0.2807 -0.1082; 0 -87.1007 98.5784 -18.3895 -8.2774 0.4917 -0.5416 0.2854; 0 19.6104 -68.9724 50.9181 1.8636 -0.1904 0.5802 -0.4428B =0; 0;

    21、0; 0; 8.6450; -21.2584; 4.2853; -0.9648C =1.0000 0 0 0 0 0 0 0; 0 1.0000 0 0 0 0 0 0; 0 -1.0000 1.0000 0 0 0 0 0; 0 0 -1.0000 1.0000 0 0 0 0; 0 0 0 0 1.0000 0 0 0; 0 0 0 0 0 1.0000 0 0; 0 0 0 0 0 -1.0000 1.0000 0; 0 0 0 0 0 0 -1.0000 1.0000D =0; 0; 0; 0; 0; 0; 0; 0;图 23 三级倒立摆线性化系统框图然后对这个系统设计线性控制器,方法

    22、依然是lqr 函数。设计加权矩阵Q,考虑到此三级倒立摆系统中,上面的倒立摆的角度最重要,第二个倒立摆次之,最下面的倒立摆重要性稍小,小车重要性最弱,因此上面的倒立摆角度的加权系数最大Q4=1000,第二个倒立摆的加权系数次之Q3=100,最下面的倒立摆加权系数Q2=10,小车的加权系数Q1=1,而小车的速度和倒立摆的角速度都不重要,, Q5=0,Q6=1,Q7=1,Q8=0,最后依此求出了增益矩阵K。程序如下所示:A =0 0 0 0 1.0000 0 0 0; 0 0 0 0 0 1.0000 0 0; 0 0 0 0 0 0 1.0000 0; 0 0 0 0 0 0 0 1.0000;

    23、0 -4.6701 0.5603 -0.0336 -16.6983 0.0183 -0.0069 0.0012; 0 83.0185 -51.8431 3.1121 41.0620 -0.3969 0.2807 -0.1082; 0 -87.1007 98.5784 -18.3895 -8.2774 0.4917 -0.5416 0.2854; 0 19.6104 -68.9724 50.9181 1.8636 -0.1904 0.5802 -0.4428B =0; 0; 0; 0; 8.6450; -21.2584; 4.2853; -0.9648C =1.0000 0 0 0 0 0 0

    24、0; 0 1.0000 0 0 0 0 0 0; 0 -1.0000 1.0000 0 0 0 0 0; 0 0 -1.0000 1.0000 0 0 0 0; 0 0 0 0 1.0000 0 0 0; 0 0 0 0 0 1.0000 0 0; 0 0 0 0 0 -1.0000 1.0000 0; 0 0 0 0 0 0 -1.0000 1.0000D =0; 0; 0; 0; 0; 0; 0; 0;Q = diag(1 10 100 1000 0 0 0 0);R = 1;K = lqr(A,B,Q,R)可以求出K =-1.0000 -54.0894 217.7321 -216.079

    25、3 -5.6874 -1.6025 8.1971 -29.0966但是按照以上设计的控制器,控制效果不好,在前几秒的时候控制效果较好,基本都在0位置左右摆动,但是会突然发散。因此采用其它调节参数:(1)对于小车位移x 和各个摆杆角位移1,2,3,q1和q2的影响作用较大,q3的影响次之,q4影响作用近似于零;(2)对于系统时域动态特性中的延迟时间td,峰值时间tp和调节时间ts,q1的影响作用最大,q2,q3,q4的影响作用依次减弱;(3)对于系统的超调量,q2的影响作用最大,q1,q3和q4的影响作用相对较小。综合看来,q1和q2对系统各项特性的影响作用最大,q3的影响次之,q4影响作用最小

    26、。因此再尝试取Q=diag(600,1000,500,100,1,1,1,1)并且R=1。四、 一级倒立摆模糊控制1. 实验要求设计模糊控制器对一级倒立摆进行控制,在simulink环境下进行仿真,使其达到稳定状态。2. 一级倒立摆模糊控制器的设计首先要建立控制的数学模型: 根据以上公式进行模糊控制器的设计:模糊控制器采用型模糊推理算法(1)隶属度函数。取综合误差E和综合误差变化率EC的论域分别是X=-6,6,y=-6,6,输出论域为U=-6,6。NB,NM,NS,ZE,PS,PM,PB是论域x=-6,6上的模糊子集,依次表示“负大、负中、负小、零、正小、正中、正大”的语言值。这些模糊集的隶属

    27、度函数取“三角形”隶属度函数。同样论域y=-6,6,U=-6,6上的模糊集划分和论域x=-6,6相似,也采用三角形、全交迭、均匀分布的隶属函数,每个变量用7个模糊子集(NB,NM,NS,ZE,PS,PM,PB)描述,如下图所示:图 24 一级倒立摆模糊控制器设计(2)模糊规则。根据输入论域和输出论域上的模糊语言变量划分,根据逻辑推理和前人控制经验,得出模糊推理规则,并将其写成规则表,如下表所示,控制规则如图 25 一级倒立摆模糊控制规则设计图 26 模糊控制规则视图(3)去模糊化。本文采用matlab模糊控制器内嵌的重心法来实现去模糊化,与最大隶属度法相比较,重心法具有更加平滑的输出推理控制,

    28、即对应与输入信号的微小变化,其推理的最终输出一般也会发生一定的变化,且这种变化明显比最大隶属度函数法要平滑。但是它的计算相对复杂一些,仿真所需时间相对较长。(4)仿真实验。利用所建立的二级倒立摆系统的数学模型,在SIMULINK仿真这种模糊控制方法。图 26为一级倒立摆系统模糊控制的SIMULINK框图。图 27 一级倒立摆模糊控制系统框图(5)在调试一级倒立摆模糊控制器参数的过程中,发现了相对于隶属度函数的形状、分布及模糊规则对模糊控制效果的影响,量化因子和比例因子对控制效果的影响更加显著。作者在实际仿真过程中发现,通过最优控制原理设置的反馈因子并不能使小车位移收敛,通过大量参数设置,得到了

    29、小车位移收敛的波形。在仿真和分析过程总,得到量化因子、比例因子和系统性能的如下关系: 增益矩阵Ku直接与输出量相关,其作用和另外两个参数的作用相比更为直接。Ku较大时,系统反馈控制量相对增大,超调量也变大,动态响应加快,但是太大时会导致系统振荡;反之Ku较小时,系统超调量减小,动态过程变慢。 Ke选的较大时,系统的超调也较大,过渡过程较长。因为Ke增大相当于缩小了误差的基本论域,增大了误差变量的控制作用,导致上升时间变短;Ke越大系统上升速率越快,模糊控制器的死区越小,;但Ke过大,使得误差变化率EC迅速进入饱和区,控制系统长期工作于饱和状态,系统分辨率变低,结果产生振荡,甚至使系统不稳定。K

    30、e较小时,情况相反,其太小也会产生振荡,甚至使系统不稳定。 Kec对一级倒立摆系统稳定性的影响没有Ke显著,但对控制品质仍有很大影响,只有把它与Ke配合调整时才能收到很好的效果。Kec较大时,会使得系统的超调量减小,但同时会使过渡过程时间变长,响应速度变慢;Kec对系统状态变化的抑制作用较明显,可以增加系统的稳定性:当Kec较小时,情况相反。最终我选择了以下参数:, , 从而得出: 比例因子Ke=1.2,Kec=1.5,增益矩阵Ku=-80,依次获得的系统控制效果图如图 27所示。从图中我们不难看出系统控制效果较好,超调较小,小车能很快稳定。图 28 一级倒立摆模糊控制仿真效果图五、 二级倒立摆模糊控制1. 实验要求设计模糊控制器对二级倒立摆进行控制,在simulink环境下进行仿真,使其达到稳定状态。2. 二级倒立摆模糊控制器的设计首先要建立控制的数学模型: 根据以上公式进行模糊控制器的设计:模糊控制器采用型模糊推理算法(1)隶属度函数。跟一级倒立摆的一样,取综合误差E和综合误差变化率EC的论域分别是X=-6,6,y=-6,6,输出论域为U=-6,6。NB,NM,NS,ZE,PS


    注意事项

    本文(智能控制开发实验倒立摆模糊控制和神经网络控制.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开