2011计算机仿真大赛一等奖作品.doc

上传人:scccc 文档编号:11135342 上传时间:2021-07-04 格式:DOC 页数:17 大小:566KB
返回 下载 相关 举报
2011计算机仿真大赛一等奖作品.doc_第1页
第1页 / 共17页
2011计算机仿真大赛一等奖作品.doc_第2页
第2页 / 共17页
2011计算机仿真大赛一等奖作品.doc_第3页
第3页 / 共17页
2011计算机仿真大赛一等奖作品.doc_第4页
第4页 / 共17页
2011计算机仿真大赛一等奖作品.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《2011计算机仿真大赛一等奖作品.doc》由会员分享,可在线阅读,更多相关《2011计算机仿真大赛一等奖作品.doc(17页珍藏版)》请在三一文库上搜索。

1、编号:重庆邮电大学第五届计算机仿真大赛 一等奖 作品题号: C 组别: 高年级组 2011年4月6日单级移动式倒立摆动态控制仿真摘要单级移动式倒立摆系统是一个典型的单输入双输出的自然不稳定系统,具有非线 性、强耦合、多变量、高阶次等特性,作为控制系统的被控对象,它是一个理想的教 学实验设备,许多抽象的控制概念都可以通过倒立摆直观地表现出来。应用上,倒立 摆广泛应用于控制理论研究、航空航天控制、机器人、杂技项杆表演等领域,在自动 化领域中具有重要的价值。研究倒立摆的精确控制对工业生产中复杂对象的控制有着重要的应用价值,因此 倒立摆仿真或实物控制实验是控制领域中用来检验某种控制理论或方法的典型方案

2、。 许多抽象的控制概念如控制系统的稳定性、可控性、可观性、系统收敛速度和系统抗 干扰能力等,都可以通过倒立摆系统直观的表现出来。在控制过程中,它能有效地反 映诸如可镇定性、鲁棒性、随动性以及跟踪等许多控制中的关键问题,是检验各种控 制理论的理想模型。因而其研究具有重大的理论和实践意义。本文以单级移动式倒立摆为被控对象,参考古典控制理论设计控制器(如PID控制 器)的设计方法和现代控制理论设计控制器(最优控制)的设计方法。针对单级移动 式倒立摆系统的单输入双输出、非线性、强耦合的不稳定性,我们采用线性二次最优 LQR控制和PID控制,通过MATLAB软件进行实时控制(摆杆的角度和小车的位移)和系

3、 统仿真实验实现对小车位置和摆杆偏角的同时闭环控制,达到了预期效果(动态仿真)。关键词:非线性 倒立摆 实时控制 系统仿真 动态161.问题重述单级移动式倒立摆原理如下图 1-1 所示,图 1-1其中小车质量M = 3KG;摆杆质量m = 0.1KG;摆杆为均匀的,质心l=0.5米;重力加 速度g=9.81;设x1为摆杆角度,x2为摆杆角速度,x3为小车位移,x4为小车速度,其中 小车水平受力为输入量,建立其状态方程:采用状态反馈进行控制,其控制原理如下图 1-2 所示:图 1-2计算得 k1=-446.7287,k2= -91.0448,k3= -244.6376 ,k4=-110.0896

4、 时系统稳定。 建立倒立摆控制仿真系统,当输入信号为阶跃信号和随机信号时,实时演示倒立摆的 工作情况。2.单级倒立摆模型的建立2.1 倒立摆概述 单级倒立摆是一个自然不稳定系统,是处于倒置不稳定状态,人为控制使其处于动态平衡的一种摆,一般是由一个可以在水平轨道上自由移动的小车和倒置摆铰链而 成,用一种强有力的控制方法对小车的速度作适当的控制,从而使全部摆杆倒置稳定 于正上方,这个系统也叫自动平衡车。悬挂式倒立摆系统开始工作时,首先使小车按 摆杆的自由振荡频率摆动,摆杆随之大幅度摆动,当摆杆接近于倒立摆垂直位置时, 自动转换控制方法,使其稳定于倒置状态。随着倒立摆系统的控制研究的不断深入, 倒立

5、摆系统的种类也由简单的单线倒立摆发展为多种形式的倒立摆。常见的倒立摆系 统一般由小车和摆杆两部分构成(另有旋转式倒立摆等形式),其中摆杆可能是一级、 两级甚至多级(级数越多,控制难度越大),其长度也可能是可变化的。控制的目标一 般都是通过给小车施加一个水平方向的力,使小车在期望位置上稳定,而摆杆达到竖 直向上的动态平衡状态。2.2 数学准备 对系统建立数学模型是系统分析、设计的前提,而一个准确又简练的数学模型将大大简化后期的工作。为了简化系统分析,在实际的模型建立过程中,要忽略空气流动阻力,以及各种次要的摩擦阻力。这样,可将倒立摆系统抽象成小车和匀质刚性杆 组成的系统,如下图所示。本系统内部各

6、相关参数定义如下:M小车质量m摆杆质量b小车摩擦系数l摆杆转动轴心到杆质心的长度I摆杆惯量f加在小车上的力x小车位置f 摆杆与垂直向上方向的夹角q 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下) 下图是系统中小车和摆杆的受力分析图。其中, N 和 P 为小车与摆杆相互作用力的水平和垂直方向的分量。注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量 方向定义如图,图示方向为矢量正方向。应用 Newton 方法来建立系统的动力学方程过程如下: 分析小车水平方向所受的合力,可以得到以下方程:M&x& =f - bx& - N由摆杆水平方向的受力进行分析可以得到下面等式:

7、2N = m d( x + l sinq )dt 2即: N = m&x& + mlq&cosq - mlq&2 sinq把这个等式代入上式中,就得到系统的第一个运动方程:(M + m)&x& + bx& + mlq& cosq - mlq& 2 sin q = F(2-1)为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以 得到下面方程:2P - mg = -m d(l cosq )dt 2即: P - mg = mlq&sinq + mlq&2 cosq力矩平衡方程如下:- Pl sin q - Nl cosq = Iq&注意:此方程中力矩的方向,由于q = p + f

8、 , cosf = - cosq , sin f = - sinq ,故等式前面有负号。合并这两个方程,约去 P 和 N ,得到第二个运动方程:(I + ml 2 )q& + mgl sin q = -ml&x&cosq(2-2)2.3 模型建立2.3.1 微分方程建立设q = p + f ,当摆杆与垂直向上方向之间的夹角f 与 1(单位是弧度)相比很小,即 f =0;plot(t,x,r-),axis(t1 t2 -0.5 2); xlabel(t);ylabel(x);title(阶跃信号); grid on4.3.2 输入信号随机信号时的动态显示%随机信号的产生5 Fs=500;%频率x

9、=-1+(1-(-1).*rand(100,1);%从-1 到 1 创建随机信号plot(x);title(随机信号);图 4-3-24.3.3 系统对阶跃信号和随机信号的动态响应图 4-3-1图 4-3-2动态仿真描述:图 4-3-3开始给单级移动式倒立摆一个阶跃信号(随机信号),倒立摆随之摆动,倒立摆的 角度和小车位移就会发生变化,通过反馈控制,给小车施加外力使小车产生一定的加 速度,从而使倒立摆基本上趋于稳定。5.结语计算机仿真是提高学生综合素质的一种有效方式,在这次竞赛过程中,我们分工 协作,相互配合,相互鼓励,不但学会了 matlab 仿真的相关知识,了解到一些关于控 制理论的算法,

10、而且实现了单级移动式倒立摆的动态控制,理论联系实际,让我们受 益非浅 。附录%【小车动态仿真源程序】smallcarmove.m%设 x1 为摆杆角度,x2 为摆杆角速度,x3 为小车位移,x4 为小车速度 M=3;%小车质量m=0.1;%摆杆质量 l=0.5;%质心 g=9.81;%重力加速度 k=5;k1=-446.7287;%x1 反馈系数 k2= -91.0448;%x2 反馈系数 k3= -244.6376;%x3 反馈系数 k4=-110.0896;%x4 反馈系数%状态方程的建立 a21=(M+m)*g/(M*l); a41=-m*g/M;A=0 1 0 0;a21 0 0 0;

11、0 0 0 1;a41 0 0 0; B21=-1/(M*l);B41=1/M; B=0;B21;0;B41;C=1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1;%输出为小车位移和摆杆角度 D=0;0;0;0;K=k1 k2 k3 k4;dt=0.01;%系统初始值 zf=0 0 1 0; z=0 0 2 0; figure(2)for i=1:500z1=(A-B*K)*(z-zf); z=z+z1*dt; y(:,i)=z;%作动画x1=z(3)-k/2+z(4)*dt*i; x2=z(3)+k/2+z(4)*dt*i; y1=4;y2=0;r1=2; x4=(x1+x2)

12、/2+r1*sin(z(1); y4=y2+r1*cos(z(1); t=0:pi/100:2*pi; x3=x4+r1*cos(t); y3=y4+r1*sin(t); r2=0.5;%车轮半径 x5=x1+r2*cos(t)+2.5; y5=y1+r2*sin(t)-3; r3=0.1;%铰链半径 x6=2.5+r3*cos(t); y6=3+r3*sin(t);%车前轮车后轮 铰链 杆 地平线 上边 下边 左边右边%plot(x5-4,y5,ko,x5+4,y5,ko,x5,y6,c-,(x1+x2)/2,x4,y2+3,y4+3,r-, -20,20,0.4,0.4,x1-4,x2+4

13、,y1-1,y1-1,k-,x1-4,x2+4,y2+1,y2+1,k-,x1-4,x1-4,y1-1,y2+1,k-,x2+4,x2+4,y1-1,y2+1,k-)axis(-15 15 -5 10) axis square title(单级移动式倒立摆动态模型) pause(0.001);if (i=1)pause(0.01);endif (abs(z(1)-zf(1)=0)&(abs(z(3)-zf(3)=0)%判定程序结束break;end end参考文献1 王平,谢昊飞,蒋建春,计算机控制技术,北京:机械工业出版社,2010。 2 冯辉宗,岑明,张开碧,控制系统仿真,北京:人民邮电出版社,2009。 3 魏巍,控制工程工具箱技术手册,北京:国防工业出版社,2004。4 刘正君,MATLAB 科学计算与可视化仿真宝典,北京:电子工业出版社,2009。 5 王丽,信号产生,http:/ 日。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1