1、南京理工大学现代控制实验报告倒立摆实验倒立摆控制系统实验报告姓名: 学号: 同组人: 指导老师:田杨 2014年4月实验一 建立一级倒立摆的模型1实验目的建立一级倒立摆系统的数学模型,并进行Matlab仿真。2实验内容写出系统的传递函数与状态空间方程,并用Matlab进行仿真。3实验步骤实际系统参数如表1.1所示。表1.1: 系统参数表实验步骤如下:(1)将数据代入公式,求出系统的传递函数;(2)将数据代入公式,求出系统的状态空间方程;(3)将实际系统的状态空间方程转化为传递函数,与1进行比较(4)求出传递函数的极点和状态方程A的特征值,进行比较;(5)进行系统开环脉冲响应和阶跃响应的Matl
2、ab仿真。4实验代码系统传递函数gs(输出为摆杆角度)和gspo(输出为小车位置)构建:M=1.32;m=0.132;b=0.1;l=0.27;I=0.0032;g=9.8;T=0.02;q=(M+m)*(I+m*l2)-(m*l)2num=m*l/q 0;den=1 b*(I+m*l2)/q -(M+m)*m*g*l/q -b*m*g*l/q;gs=tf(num,den)numpo=(I+m*l2)/q 0 -m*g*l/q;dempo=1 b*(I+m*l2)/q -(M+m)*m*g*l/q -b*m*g*l/q 0;gspo=tf(numpo,dempo)相应的状态方程为:p=I*(M
3、+m)+M*m*l2;A=0 1 0 0;0 -(I+m*l2)*b/p m2*g*l2/p 0;0 0 0 1;0 -m*b*l/p m*g*l*(M+m)/p 0;B=0;(I+m*l2)/p;0;m*l/p;C=1 0 0 0;0 0 1 0;D=0;sys=ss(A,B,C,D)实际系统仿真:1)由系统传递函数仿真系统开环脉冲响应:t=0:T:5;y1=impulse(gs,t);y2=impulse(gspo,t);figure(1);plot(t,y2,b,t,y1,r);xlabel(t/s);ylabel(Position/m or Angle/rad);axis(0 2 0
4、80);legend (Car Position,Pendulum Angle);2)由状态方程求系统开环脉冲响应:t=0:T:5; y=impulse(sys,t); figure(2); plot(t,y(:,1),t,y(:,2),r); xlabel(t/s);ylabel(Position/m or Angle/rad);axis(0 2 0 80); legend(Car Position,Pendulum Angle); 将状态方程转换为传递函数gs0:gs0=tf(sys);3)由传递函数求系统的开环阶跃响应:t=0:T:5; y1=step(gs,t); y2=step(gs
5、po,t); figure(3); plot(t,y2,b,t,y1,r); axis(0 2.5 0 80); xlabel(t/s);ylabel(Position/m or Angle/rad);legend(Car Position,Pendulum Angle); 4)由状态空间方程求系统的开环阶跃响应:t=0:T:5; y=step(sys,t); figure(4); plot(t,y(:,1),t,y(:,2),r); xlabel(t/s);ylabel(Position/m or Angle/rad);axis(0 2.5 0 80); legend(Car Positio
6、n,Pendulum Angle); 5系统的传递函数和状态方程5.1给出系统的传递函数和状态方程在Matlab的Command Window内运行上面的源程序,会得出系统的传递函数以及状态方程sys(A,B,C,D): , 5.2将实际系统的状态空间方程转化为传递函数:可见,由实际系统的状态空间方程转化为的传递函数与仿真的传递函数相一致。5.3传递函数极点和系统状态矩阵A的特征值: 传递函数gspo的极点: Po = 0 5.4042 -5.4093 -0.0689系统状态矩阵A的特征值: E = 0 -0.0689 -5.4093 5.4042可见A的特征值与传递函数gspo的极点一致。6
7、系统开环响应曲线6.1 由系统传递函数所得系统开环脉冲响应和阶跃响应由系统传递函数求得开环脉冲响应曲线如下图1.1所示,开环阶跃响应曲线如下图1.2所示图1.1 开环脉冲响应曲线 图1.2 开环阶跃响应曲线6.2 由系统状态方程所得系统开环脉冲响应和阶跃响应由系统状态方程所得开环脉冲响应曲线如下图1.3所示,开环阶跃响应曲线如下图1.4所示。图1.3 开环脉冲响应曲线 图1.4 开环阶跃响应曲线由图可看出系统不稳定,响应趋于无穷,二是由状态空间方程得到的响应曲线与由传递函数得到的响应曲线是相同的,也就是说,两者在描述系统特性上是等价的。那么由状态空间方程出发,设计控制方法也是可行的。7、思考题
8、7.1 由状态空间方程转化为传递函数,是否与直接计算传递函数相等?答:相等。由系统直接计算传递函数,得:由状态方程计算传递函数,得:7.2 通过仿真表明开环系统是否稳定?请通过极点(特征值)理论来分析。 答:利用Matlab计算传递函数gspo极点以及状态方程的特征值如下,传递函数gspo的极点:Po =0 5.4042 -5.4093 -0.0689系统状态矩阵A的特征值:E = 0 -0.0689 -5.4093 5.4042 存在极点含有正实部,表明开环系统不稳定。7.3传递函数的极点和状态方程的特征值的个数、大小是否相等?如果不相等,请解释其原因。 答:传递函数的极点和状态方程的特征值
9、的个数、大小是相等的传递函数gspo的极点:Po =0 5.4042 -5.4093 -0.0689系统状态矩阵A的特征值:E = 0 -0.0689 -5.4093 5.4042可见A的特征值与传递函数gspo的极点大小相等、个数一致。实验二 倒立摆系统控制算法的状态空间法设计1 .实验目的学习如何使用状态空间法设计系统的控制算法。2 .实验内容用状态空间法设计控制器,使得当在小车上施加 0.2m 的阶跃信号时,闭环系统的响应指标为:(1) 杆角度 和小车位移x的稳定时间小于5秒(2) x的上升时间小于2秒2(3) 的超调量小于20度(0.35弧度)(4) 稳态误差小于4%.3. Matla
10、b源程序及程序执行结果3.1 Matlab源程序:clear all;M=1.32;m=0.132;b=0.1;l=0.27;I=0.0032;g=9.8;T=0.02;p=I*(M+m)+M*m*l2;A=0 1 0 0;0 -(I+m*l2)*b/p m2*g*l2/p 0;0 0 0 1;0 -m*b*l/p m*g*l*(M+m)/p 0;B=0;(I+m*l2)/p;0;m*l/p;C=1 0 0 0;0 0 1 0;D=0;R=1;Q1=200;Q3=100;Q=Q1 0 0 0;0 0 0 0;0 0 Q3 0;0 0 0 0;K=lqr(A,B,Q,R)Ac=A-B*K;Bc=
11、B*K(1);sysstate=ss(Ac,Bc,C,D)t=0:T:5;U=0.2*ones(size(t);y=lsim(sysstate,U,t);figure(1);hold on;plot(t,y(:,1),t,y(:,2),r)box on;xlabel(t/s);ylabel(Position/m or Angle/rad);legend (Car Position,Pendulum Angle);E=eig(Ac)3.2 Matlab程序的执行结果和仿真图形3.2.1当时,执行结果为:系统的响应曲线如下图2.1所示:图2.1 系统仿真的响应曲线(Q1=200,Q2=100)3.
12、2.2当Q_1=90,Q_3=100时,执行结果为:K=-9.4868 -9.2567 56.2879 10.4228系统的响应曲线如下图2.2所示:图2.2系统仿真的响应曲线(Q1=90,Q2=100)由仿真数据可知,系统阶跃响应性能指标如下:Q1/Q3位移上升时间位移调节时间角度设置时间角度超调量200/1001.68s2.98s2.25s4.2%90/1001.56s3.12s2.563.6%4系统实际响应曲线实验Simulink结构图:4.1无扰动时响应结果4.1.1当Q1=200;Q3=100时 图2.3无输入下小车实际响应曲线(Q1=200,Q2=100)小车的稳定位置P1=-90
13、0图2.4 无输入下摆杆实际响应曲线(Q1=200,Q2=100)摆杆的稳定角度Pend1=-12004.2阶跃输入时系统的响应结果4.2.1当Q1=200;Q3=100时图2.5 小车实际阶跃响应曲线(Q1=200,Q2=100)P2=-16333.33小车的稳定位置:P2-P1=-16333.33-(-900)=-15433.33图2.6 摆杆实际阶跃响应曲线(Q1=200,Q2=100)Pend2=-12004.2.2当 Q1=90,Q2=100时图2.7 小车实际阶跃响应曲线(Q1=90,Q2=100)P2=-17666.67图2.8 摆杆实际阶跃响应曲线(Q1=90,Q2=100)P
14、end2=-12004.3不同 K 值下的实际系统的响应曲线以及四项响应指标4.3.1当 Q1=200,Q2=100时图2.9小车实际响应曲线(Q1=200,Q2=100)位置:Ts=51/30/1000*8.8*500=7.48s Tr=12/30/1000*8.8*500=1.76s图2.10 摆杆实际响应曲线(Q1=200,Q2=100)角度P.O=(2/15)*200/1200=2.2%Ts=72/30/1000*8.8*500=10.56s4.3.2 当Q1=90,Q2=100时图2.11小车实际响应曲线(Q1=90,Q2=100)位置: Ts=38/30*500*8.8/1000=
15、5.573s Tr=4/30*500*8.8/1000=0.58s图2.12摆杆实际响应曲线(Q1=90,Q2=100)角度:Ts=60/30/1000*8.8*500=8.21s P.O.=1.5/15*200/1200=1.67%由仿真数据可知,系统阶跃响应性能指标如下:Q1/Q3位移上升时间位移调节时间角度设置时间角度超调量200/1001.76s7.48s10.56s2.2%90/1000.58s5.57s8.211.67%4.思考题4.1计算的特征值答: ans = -5.6236 + 1.8114i -5.6236 - 1.8114i -2.1284 + 1.9043i -2.12
16、84 - 1.9043ians = -5.6657 + 1.8070i -5.6657 - 1.8070i -1.7030 + 1.5812i -1.7030 - 1.5812i 4.2 通过仿真分析Q11和Q33的大小对控值效果的影响4.2.1固定Q33,改变Q11=300 (红)、Q11=90(黄)与原值进行对比4.2.1固定Q11,当Q33=300(红)、Q33=500(黄)与原图对比结论:由图可以看到,固定Q33 ,增大Q11时,系统的上升和设置时间变短,但超调增加;而固定Q11 ,增大Q33的效果相反,系统的上升和设置时间变长,但是超调减少了,且改变Q11对系统的影响更大。可以做以下
17、推论:固定一个参数不变时,减小Q11和增大Q33有类似的效果,而减小Q33和增大Q11有类似的效果实验三 研究倒立摆系统对信号的跟踪1.实验目的观察倒立摆对于不同输入信号的跟踪情况,加深对状态空间和状态反馈的理解。2. 实验内容在平衡位置,分别设定下列三种信号,记录倒立摆的运动情况:(1) 方波信号:频率0.2Hz,幅值0.05m;(2) 正弦波信号:频率0.2Hz,幅值0.05m;(3) 锯齿波信号:频率0.2Hz,幅值0.05m。3. 模型matlab仿真结果3.1 matlab程序%求系统状态空间参数p=I*(M+m)+M*m*l2;A=0 1 0 0;0 -(I+m*l2)*b/p m
18、2*g*l2/p 0;0 0 0 1;0 -m*b*l/p m*g*l*(M+m)/p 0; B=0;(I+m*l2)/p;0;m*l/p; C=1 0 0 0;0 0 1 0;D=0;%求反馈向量KR=1; Q1=400; Q3=400; Q=Q1 0 0 0;0 0 0 0;0 0 Q3 0;0 0 0 0;K=lqr(A,B,Q,R);%求状态反馈后的系统sysstateAc=A-B*K;Bc=B*K(1); %输入变换使输入与反馈的量纲匹配sysstate=ss(Ac,Bc,C,D);%信号模拟发生器T=0.001; Tmax=10;t=0:T: Tmax;%生成阶跃信号%U=0.05
19、*ones(size(t);%生成方波信号U=0.05.*square(2*pi*0.2*t,50);%生成正弦波信号%U=0.05*sin(2*pi*0.2*t);%生成锯齿波信号%U=0.05*sawtooth(2*pi*0.2*t,0);%对lqr控制系统进行仿真y=lsim(sysstate,U,t);plot(t,y(:,1),t,y(:,2),t,U); grid on;axis(0 10 -0.1 0.1);xlabel(t/s); ylabel(Position/m or Angle/rad); legend(Car Position,PendulumAngle,Input);
20、3.2 Matlab的仿真图形(三种扰动下的响应曲线)32.1方波干扰的响应曲线:图3.1方波干扰的响应曲线3.2.2正弦波干扰的响应曲线:图3.2 正弦波干扰的响应曲线3.2.3锯齿波干扰的响应曲线:图3.3锯齿波干扰的响应曲线4给出实际系统的响应曲线4.1方波信号实际系统响应曲线:图3.4方波信号实际系统响应位置曲线图3.5 方波信号实际系统响应角度曲线4.2正弦波信号实际系统响应曲线:图3.6正弦波信号实际系统响应位置曲线图3.7 正弦波信号实际系统响应角度曲线4.3锯齿波信号实际系统响应曲线:图3.8 锯齿波信号实际系统响应位置曲线图3.9 锯齿波信号实际系统响应角度曲线5思考题(1)
21、仿真曲线和实际响应曲线是否大致相同?答:因为仿真所用的输入信号频率与实际输入信号的频率不同,导致仿真去线不可能完全一致。但对于同一类型输入信号而言,仿真曲线和实际享有曲线大致相同。(2)请说明原系统是否完全可控? 答:系统状态空间模型为:其中:, 则:能控性矩阵为:;满秩,故系统完全可控。实验体会和收获此次实验,使我更加理解倒单摆的建模原理,加深了对状态空间方程的理解。认识到了matlab在控制方面及数据处理方面的强大功能。由于事先预习过实验内容,并且有老师的耐心指导,此次实验比较成功。当然,实验中也遇到了一些问题,实验中时有起摆失败,此时不能盲目修改参数,而是要由理论指导,分析原因,再改变参数来使起摆成功。其次是simulink中示波器坐标关系的转换,直接导致了最后分析处理数据的准确性。这次实验,让理论与实践相结合,加强了我的动手能力和团队合作能力。最后,感谢老师的耐心指导。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1