南京理工大学现代控制实验报告(倒立摆实验)_第1页
南京理工大学现代控制实验报告(倒立摆实验)_第2页
南京理工大学现代控制实验报告(倒立摆实验)_第3页
南京理工大学现代控制实验报告(倒立摆实验)_第4页
南京理工大学现代控制实验报告(倒立摆实验)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、倒立摆控制系统实验报告姓名: 学号: 同组人: 指导老师:田杨 2014年4月实验一 建立一级倒立摆的模型1实验目的建立一级倒立摆系统的数学模型,并进行Matlab仿真。2实验内容写出系统的传递函数与状态空间方程,并用Matlab进行仿真。3实验步骤实际系统参数如表1.1所示。表1.1: 系统参数表实验步骤如下:(1)将数据代入公式,求出系统的传递函数;(2)将数据代入公式,求出系统的状态空间方程;(3)将实际系统的状态空间方程转化为传递函数,与1进行比较(4)求出传递函数的极点和状态方程A的特征值,进行比较;(5)进行系统开环脉冲响应和阶跃响应的Matlab仿真。4实验代码系统传递函数gs(

2、输出为摆杆角度)和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+m)+M*m*l2;A=0 1 0

3、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/

4、rad');axis(0 2 0 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 An

5、gle'); 将状态方程转换为传递函数gs0:gs0=tf(sys);3)由传递函数求系统的开环阶跃响应:t=0:T:5; y1=step(gs,t); y2=step(gspo,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)由状态空间方程求系

6、统的开环阶跃响应: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 Position','Pendulum Angle'); 5系统的传递函数和状态方程5.1给出系统的传递函数和状态方程在Matlab的Command Window内运行上面的源程序,会得出系统的传递函数gs=2.054

7、ss3+0.07391s2-29.23s-2.013 gspo=0.7391s2- 20.13s4+0.07391s3-29.23s2-2.013s以及状态方程sys(A,B,C,D):A=01000-0.073910.7175000010-0.205429.230 , B= 00.739102.054 C=10000010 D=005.2将实际系统的状态空间方程转化为传递函数:gs=2.054ss3+0.07391s2-29.23s-2.013gspo=0.7391s2+6.565×10-16s-20.13s4+0.07391s3-29.23s2-2.013s 0.7391s2-2

8、0.13s4+0.07391s3-29.23s2-2.013s可见,由实际系统的状态空间方程转化为的传递函数与仿真的传递函数相一致。5.3传递函数极点和系统状态矩阵A的特征值: 传递函数gspo的极点: Po = 0 5.4042 -5.4093 -0.0689系统状态矩阵A的特征值: E = 0 -0.0689 -5.4093 5.4042可见A的特征值与传递函数gspo的极点一致。6系统开环响应曲线6.1 由系统传递函数所得系统开环脉冲响应和阶跃响应由系统传递函数求得开环脉冲响应曲线如下图1.1所示,开环阶跃响应曲线如下图1.2所示图1.1 开环脉冲响应曲线图1.2 开环阶跃响应曲线6.2

9、 由系统状态方程所得系统开环脉冲响应和阶跃响应由系统状态方程所得开环脉冲响应曲线如下图1.3所示,开环阶跃响应曲线如下图1.4所示。图1.3 开环脉冲响应曲线图1.4 开环阶跃响应曲线由图可看出系统不稳定,响应趋于无穷,二是由状态空间方程得到的响应曲线与由传递函数得到的响应曲线是相同的,也就是说,两者在描述系统特性上是等价的。那么由状态空间方程出发,设计控制方法也是可行的。7、思考题7.1 由状态空间方程转化为传递函数,是否与直接计算传递函数相等?答:相等。由系统直接计算传递函数,得:gspo=0.7391s2- 20.13s4+0.07391s3-29.23s2-2.013s由状态方程计算传

10、递函数,得:gspo=0.7391s2+ 6.565e-016 s- 20.13s4+0.07391s3-29.23s2-2.013s7.2 通过仿真表明开环系统是否稳定?请通过极点(特征值)理论来分析。答:利用Matlab计算传递函数gspo极点以及状态方程的特征值如下,传递函数gspo的极点:Po =0 5.4042 -5.4093 -0.0689系统状态矩阵A的特征值:E = 0 -0.0689 -5.4093 5.4042存在极点含有正实部,表明开环系统不稳定。7.3传递函数的极点和状态方程的特征值的个数、大小是否相等?如果不相等,请解释其原因。答:传递函数的极点和状态方程的特征值的个

11、数、大小是相等的传递函数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) 稳态误差小于

12、4%.3. Matlab源程序及程序执行结果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)A

13、c=A-B*K;Bc=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程序的执行结果和仿真图形

14、3.2.1当Q1=200,Q3=100时,执行结果为:K=-14.1421 -12.1467 63.5825 11.8413系统的响应曲线如下图2.1所示:图2.1 系统仿真的响应曲线(Q1=200,Q2=100)3.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.1

15、2s2.563.6%4系统实际响应曲线实验Simulink结构图:4.1无扰动时响应结果4.1.1当Q1=200;Q3=100时 图2.3无输入下小车实际响应曲线(Q1=200,Q2=100)小车的稳定位置P1=-900图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,

16、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)Pend2=-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/1

17、200=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=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.

18、2%90/1000.58s5.57s8.211.67%4.思考题4.1计算Ac的特征值答:K=-14.1421 -12.1467 63.5825 11.8413ans = -5.6236 + 1.8114i -5.6236 - 1.8114i -2.1284 + 1.9043i -2.1284 - 1.9043iK=-9.4868 -9.2567 56.2879 10.4228ans = -5.6657 + 1.8070i -5.6657 - 1.8070i -1.7030 + 1.5812i -1.7030 - 1.5812i 4.2 通过仿真分析Q11和Q33的大小对控值效果的影响4.2.

19、1固定Q33,改变Q11=300 (红)、Q11=90(黄)与原值进行对比4.2.1固定Q11,当Q33=300(红)、Q33=500(黄)与原图对比结论:由图可以看到,固定Q33 ,增大Q11时,系统的上升和设置时间变短,但超调增加;而固定Q11 ,增大Q33的效果相反,系统的上升和设置时间变长,但是超调减少了,且改变Q11对系统的影响更大。可以做以下推论:固定一个参数不变时,减小Q11和增大Q33有类似的效果,而减小Q33和增大Q11有类似的效果实验三 研究倒立摆系统对信号的跟踪1.实验目的观察倒立摆对于不同输入信号的跟踪情况,加深对状态空间和状态反馈的理解。2. 实验内容在平衡位置,分别

20、设定下列三种信号,记录倒立摆的运动情况:(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 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;%求反馈向量KR=1; Q1=400; Q3=400; Q

21、=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*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');3.2 Matlab的仿真图形(三种扰动下的响应曲线)32.1方波干扰的响应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论