- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能控制实验大作业
一级倒立摆神经网络控制1.实验要求:利用LQR将模型线性化,通过调制神经网络层数和神经元个数设计BP 神经网络控制器,以达到对倒立摆的良好控制效果。2.控制器设计根据牛顿力学对倒立摆建立数学模型:其中m = 0.1kg ,是摆干的质量,M =1kg,是小车的质量,L =1米是摆干的长度,x是小车的位移,?是摆干的偏角,f = 50N / s为摩擦系数,u为控制律。对于神经网络控制器,最重要的是获得理想的训练样本,为了获得理想的训练样本,需要先设计出能够取得理想控制效果的线性控制器,然后将线性控制器的输出和输入进行采样,这样就得到了理想的训练样本。为设计线性控制器,首先要对原先的非线性系统进行线性化处理。因为?在稳定的时候会很小,所以将它的高阶项略去,sin?=?, cos?=1,可得线性化状态方程。经验算该系统可控,可以为此系统设计线性控制器。应用Matlab 中的求解工具lqr(A,B,Q,R)可以求出最优反馈系数矩阵K的值,需要选择Q,R这两个参数是用来平衡输入量和状态量的权重,其中Q 11表示小车位置的权重,Q 33表示摆干角度的权重。在实验中要优先考虑角度,所以Q,R选择为Q=[8000 0 0 0;0 0 0 0;0 0 1000 0;0 0 00],R=1。得到反馈系数矩阵K,在原先的系统模型中用一个函数的模块作为线性控制器模块,输入为原系统的状态量,控制律f(u)=K*U。将输入输出量导入到工作空间即得样本。系统控制结构图图1 系统simulink仿真图LQR控制器设计将一级倒立摆的模型进行线性化后得到模型A,B,C,D。利用matlab函数lqr()设计线性二次型最优控制反馈阵K,输出量u=-K*X’。因此可得输入输出的导师样本。A=[0 1 0 0;0 -4.9725 -0.7178 0;0 0 0 1;0 3.7294 7.8959 0];B=[0 0.9756 0 -0.7317];C=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1];D=[0;0;0;0];Q=[8000 0 0 0;0 0 0 0;0 0 1000 0;0 0 00];R=1;K=lqr(A,B,Q,R);Ac=[(A-B*K)];Bc=[B];Cc=[C];Dc=[D];t=0:0.005:20;U=ones(size(t));x0=[0.05 0 0.08 0];[Y,X]=lsim(Ac,Bc,Cc,Dc,U,t,x0);plot(t,Y);xlabel(t);ylabel(Y);u=-K*X;图2 LQR控制器曲线神经网络控制器设计由LQR得到输入输出导师样本X(:,1);X(:,2);X(:,3);X(:,4)和u。经过神经网络训练即可得到逼近LQR控制效果的神经网络控制器,神经网络代码如下所示:P=[X(:,1);X(:,2);X(:,3);X(:,4)];t=u;Q=[-1 1;-1 1;-11;-1 1];net=newff(Q,[4 8 1],{tansigtansigpurelin});net.trainparam.epochs=2000;net.trainparam.goal=0.000001;net=train(net,P,t);gensim(net);图3神经网络训练性能3.控制器仿真图4一级倒立摆神经网络控制曲线由仿真结果可知,小车的位移稳定,摆杆的角度很快到达零,且超调量比较小,符合实验要求。因为电脑打不开远程倒立摆仿真应用程序并没有询问到其它同学联系信息所以用的是matlab仿真曲线观察控制效果。二级倒立摆神经网络控制实验要求:用LQR线性化模型设计神经网络控制器,实现对二级倒立摆的良好控制效果。2.控制器设计系统控制结构图图5系统simulink仿真图LQR控制器设计将二级倒立摆的模型进行线性化后得到模型A,B,C,D。利用matlab函数lqr()设计线性二次型最优控制反馈阵K,输出量u=-K*X’。因此可得输入输出的导师样本。A=[0 0 0 1 0 0;0 0 00 1 0;0 0 000 1; 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 000 0;0 1 0 00 0;0 0 1 0 0 0;0 0 0 1 0 0;0 0 00 1 0;0 0 000 1];D=[0;0;0;0;0;0];Q=diag([100 1 1111 ]);R=0.01;K=lqr
文档评论(0)