您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 基于Matlab的一级倒立摆模型的仿真
深圳大学考试答题纸(以论文、报告等形式考核专用)二○○九~二○○一零学年度第2学期课程编号课程名称计算机控制系统主讲教师李东评分学号姓名专业年级2007级光电工程学院测控技术与仪器教师评语:题目:一级倒立摆模型的仿真一、倒立摆模型的研究意义倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。同时,其控制方法在军工、航天、机器人和一般工业过程领域中都有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射中的垂直度控制和卫星飞行中的姿态控制等。故其研究意义广泛。二、倒立摆模型的数学建模质量为m的小球固结于长度为L的细杆(可忽略杆的质量)上,细杆又和质量为M的小车铰接相连。由经验知:通过控制施加在小车上的力F(包括大小和方向)能够使细杆处于θ=0的稳定倒立状态。在忽略其他零件的质量以及各种摩擦和阻尼的条件下,推导小车倒立摆系统的数学模型分析过程如下:如图所示,设细杆摆沿顺时针方向转动为正方向,水平向右方向为水平方向上的正方向。当细杆摆顺时针往右运动时水平方向施加的力应该为水平向右。现对小车和细杆摆分别进行隔离受力分析:(1)对小车有:F-F’sinθ=Mx’’(a)(2)对小球有:水平方向上运动为x+lsinθ故水平方向受力为F’sinθ=m(x+lsinθ)’’=m(x’+lcosθθ’)’=mx’’+mlcosθθ’’-mlsinθ(θ’)^2(b)由(a)、(b)两式得F=(M+m)x’’+mlcosθθ’’-mlsinθ(θ’)^21小球垂直方向上位移为lcosθ故受力为F’cosθ-mg=m(lcosθ)’’=-mlθ’’sinθ-mlcosθ(θ’)^2即F’cosθ=mg-mlθ’’sinθ-mlcosθ(θ’)^2(c)由(b)、(c)两式得cosθx’’=gsinθ-lθ’’2故可得以下运动方程组:F=(M+m)x’’+mlcosθθ’’-mlsinθ(θ’)^2cosθx’’=gsinθ-lθ’’以上方程组为非线性方程组,故需做如下线性化处理:32sin,cos13!2!当θ很小时,由cosθ、sinθ的幂级数展开式可知,忽略高次项后,可得cosθ≈1,sinθ≈θ,θ’’≈0故线性化后运动方程组简化为F=(M+m)x’’+mlθ’’x’’=gθ-lθ’’下面进行系统状态空间方程的求解:以摆角θ、角速度θ’、小车位移x、加速度x’为系统状态变量,Y为输出,F为输入即X=4321xxxx=x'x'Y=x=31xx由线性化后运动方程组得x1’=θ’=x2x2’=''=MlgmMx1-Ml1FX3’=x’=x4x4’=x’’=-Mmgx1+M1F故空间状态方程如下:X’='4'3'2'1xxxx=00010000000010MmgMlgmM4321xxxx+MMl1010FY=31xx=010000014321xxxx+0F用MATLAB将状态方程转化成传递函数,取M=2kgm=0.1kgl=0.5m代入得A=[0100;20.58000;0001;-0.49000]B=[0;-1;0;0.5]C=[1000;0010]D=[0;0][num,den]=ss2tf(A,B,C,D,1);[num,den]=ss2tf(A,B,C,D,1)num=0-0.0000-1.0000000-0.00000.5000-0.0000-9.8000den=1.00000-20.580000由上可以得出角度对力F的传递函数:位移X对外力F的传递函数:三、用MATLAB的Simulink仿真系统进行建模58.201)()(2ssFs24258.208.95.0)()(ssssFsX1、没校正之前的θ-F控制系统由于未加进控制环节,故系统输出发散2、加进控制环节,实现时域的稳定控制给系统加入PID控制,设置系统稳定值为0,给系统一个初始干扰冲击信号采用试凑法不断调整PID参数,使系统达到所需的控制效果当系统Kp=-100,Ti=Td=0时输出如下:TransferFcn-s2s+-20.58s42ScopePulseGeneratorConstant1TransferFcn-1s+-20.582ScopePulseGeneratorIntegrator1sGain3-40Gain11Gain-K-Derivativedu/dtConstant0不断地调整参数,最后得到稳定的响应Kp=-1000,Ti=1,Td=-40时可见调整好参数后,系统基本达到稳定,净差基本为0,超调较小,响应时间较小。再微调后,得到最终的响应曲线响应时间较小,Tp=0.2s3、时域达到稳定后,进行离散化分析离散模型系统控制框图如下当Kp=-100,Ti=0,Td=0时输出:发散,需加大Kp、增加Ti、Td控制Zero-OrderHoldTransferFcn-1s+-20.582ScopePulseGeneratorGain3-K-Gain1-2Gain-K-DiscreteFilter11-z-1DiscreteFIRFilter1-z-11Constant0Kp=-100,Ti=-2,Td=-1000时输出:仍需要调节PID,由图可知超调仍大,响应时间稍长,故微增加Kp、Ti、Td反复试凑PID参数后,得到较好的响应曲线如下(Kp=-110,Ti=-4,Td=-1500时)可见调整好参数后,系统基本达到稳定,净差基本为0,超调较小,响应时间较小。再微调后,得到最终的响应曲线响应时间较小,Tp=0.5s。至此,离散域的控制顺利实现4、位移—角度控制系统框图(此部分为加分部分,可不做)由于时间关系,此环节未能顺利完成,深感遗憾!TransferFcn10.5s+-9.82-s2TransferFcn-1s+-20.582Scope1ScopePulseGeneratorDiscretePIDController1PIDDiscretePIDControllerPIDConstant0四、实验总结与分析1、本实验,从数学建模到仿真系统的搭建,再到加进控制环节进行实时控制,最后得出结果的过程中,参考了大量的资料,通过对比整合,设计出了适合自己的一套实验方法:倒立摆数学模型推导部分:首先用牛顿—欧拉方法建立数学模型,接着用动态系统空间状态方程法导出状态方程系数矩阵,然后用MATLAB对数学模型进行从状态空间到传递函数的变换(包括传递函数的拉氏变换与Z变换),得到系统的传递函数模型。接着根据数学建模得出的传递函数进行系统模型的搭建,在Simulink软件上进行系统仿真,采用最为广泛的PID控制算法,先用连续系统的设计方法设计出模拟控制器,然后在满足一定条件下,对其进行离散化处理,(采用加零阶保持器的Z变换法)形成数字控制器。接着进行PID参数整定,利用试凑法,根据PID控制器各组成环节对系统性能的影响,从一组初始PID参数开始反复试凑,直至获得,满意的控制效果。此实验中,系统的控制非常稳定,性能较好。2、由实验中可知,倒立摆系统是一个非线性的较复杂的不稳定系统,故要满足稳定性要求,就得对系统进行线性化近似和稳定控制。本实验中,在做了线性化和加进控制调整后,系统达到了良好的稳定状态。当然,这只是一个理想模型,在实际应用中情况会更加复杂,稳定性也更难获得。不过,通过实验,我们至少掌握了简单控制的基本方法,并得到了预期的实验效果。3、通过本实验,掌握了倒立摆仿真的整个过程,熟悉了MATLAB的仿真软件Simulink的使用,也对系统控制有了较好的理解。作为本次实验的组长,自己更是从中掌握了合作实验开展中的一般步骤,对小组进行分工,掌握实验的主体线路。此次实验中,自始至终发挥了组长的作用,从建模到最后的仿真调试,都秉着认真负责的态度完成了倒立摆仿真研究。4、此外,通过仿真,再次认识到了自动控制在改善系统性能方面的重要性,并激发了良好的关于系统控制方面的学习兴趣,在此基础上,相信对以后的进一步研究将会有较大帮助。
本文标题:基于Matlab的一级倒立摆模型的仿真
链接地址:https://www.777doc.com/doc-2570581 .html