您好,欢迎访问三七文档
专业实验报告实验名称倒立摆实验实验时间姓名学号一、实验内容1、直线一级倒立摆建模1.1受力分析针对直线一级倒立摆,在实际的模型建立过程中,可忽略空气流动阻力和其它次要的摩擦阻力,则倒立摆系统抽象成小车和匀质刚性杆组成的系统,如图所示。ΦxFMM,l,Iθ图1小车系统各参数定义:M:小车质量m:摆杆质量β:小车摩擦系数l:摆杆转动轴心到杆质心的长度I:摆杆惯量F:加在小车上的力X:小车位置Ф:摆杆与垂直向上方向的夹角θ:摆杆与垂直向下方向的夹角摆杆受力和力矩分析θmgVHθXVXH图2摆杆系统摆杆水平方向受力为:H摆杆竖直方向受力为:V由摆杆力矩平衡得方程:cossinHlVlI(1)代入V、H,得到摆杆运动方程。当0时,cos1,sin,线性化运动方程:2()Imlmglmlx1.2传递函数模型以小车加速度为输入、摆杆角度为输出,令,进行拉普拉斯变换得到传递函数:22()()mlGsmlIsmgl(2)倒立摆系统参数值:M=1.096%小车质量,kgm=0.109%摆杆质量,kg0.1%小车摩擦系数g=9.8%重力加速度,l=0.25%摆杆转动轴心到杆质心的长度,mI=0.0034%摆杆转动惯量,以小车加速度为输入、摆杆角度为输出时,倒立摆系统的传递函数模型为:20.02725()0.01021250.26705Gss(3)1.3倒立摆系统状态空间模型以小车加速度为输入,摆杆角度、小车位移为输出,选取状态变量:(,,,)xxx(4)由2()Imlmglmlx得出状态空间模型0010010000000013300044xxxxxggl(5)0001000001xxxy(6)由倒立摆的参数计算出其状态空间模型表达式:(7)0100000001000100029.403xxxxx(8)1000000100xxxy(9)2、PID控制器设计与调节PID整定说明:(1)比例(P作用)增大,系统响应快,对提高稳态精度有益,但过大易引起过度的振荡,降低相对稳定性。(2)微分(D作用)对改善动态性能和抑制超调有利,但过强,即校正装置的零点靠近原点或者使开环的截止频率增大,不仅不能改善动态性能,反而易引入噪声干扰。(3)积分(I作用)主要是消除或减弱稳态误差,但会延长调整时间,参数调整不当会容易振荡。正确选择这三种作用的方法简单地可归纳成:单靠提高P作用不能满足动态指标时,可考虑加入D作用。加入D作用后应适当减小P作用,两者相互配合,在SISODesignTool上极容易观察到这个调整过程所产生的效果。一般来讲,应先满足动态性能,在此基础上,如达不到稳态指标,才考虑加入I作用3、状态空间极点配置已知受控系统状态空间表达式如下xAxByCx(10)其中:1nxxx,1nxxx,1111nnnnaaAaa,1nbBb,1nCcc。第一步:计算受控系统能控性:1nrankAABABr,n为矩阵A的维数,若r=n,则系统能控,能够进行极点配置。第二步:受控系统中引入状态反馈向量K,1nKkk。引入状态反馈向量后系统特征多项式为:111()()nnnnfssIABKsasasa(11)设期望特征根为***12,,,n,则期望特征多项式为:***1111()()()nnnnnfxsssbsbsb(12)由*()()fsfs求得矩阵K。二、实验装置、倒立摆实验平台台式电脑电源及线缆MATLAB软件三、实验过程1、基于MATLAB的SISO平台的PID控制器设计与调节在MATLAB中,提供了单输入单输出系统仿真的图形工具SISODesignTool,可方便的获得系统的根轨迹图和伯德图,以及添加零极点改善系统的性能。1.1PID控制器设计界面在MATLAB命令窗口中输入“sisotool”即可打开设计界面,如下图。图3SISOTOOL界面1.2在MATLAB命令窗口中输入被控对象的模型:其M文件为:clearall;clc;num=[0.02725];den=[0.01021250-0.26705];G=tf(num,den)1.3导入被控对象模型在SISO界面中使用File→Import命令导入被控对象模型。如下图。图4PID控制器参数设计界面1.4PID控制器设计使用SISO界面的添加零点和极点,使补偿器C为PID形式。(13)使用SISO界面的“Analysis”选项框中ResponsetoStepCommand的命令即可查看被控对象阶跃响应曲线。通过调整SISO界面添加的零点,同时观察单位阶跃输入时的闭环响应曲线,寻找合适的P、I、D参数。设合适的补偿器下的根轨迹和参数以及响应曲线如图5和图6:图5根轨迹和波特图图6单位阶跃响应曲线通过MATLAB的SISOTOOL工具箱进行PID控制参数设计,获得了一组单位阶跃响应的较好且能控制住倒立摆的参数,其参数如图7:图7PID控制器设计参数值即对应的PID参数为:KP=109.29KI=218.58KD=11.01641.5倒立摆PID实物控制1.5.1打开直线一级倒立摆PID控制界面界面进入过程如下:MATLAB→Simulink工具箱→GoogolEducationProducts→InvertedPendulum→LinearInvertedPendulum→Linear1-StageIPExperiment→PIDExperiments→PIDControlDemo。其界面如下:图8直线一级倒立摆MATLAB实时控制界面1.5.2参数设置双击“PID”模块进入PID参数设置,把仿真得到的参数输入PID控制器,点击“OK”保存参数。1.5.3编译连接运行点击编译程序,完成后点击使计算机和倒立摆建立连接。点击运行程序,检查电机是否上伺服,上电后缓慢提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开,当小车运动到正负限位的位置时,用工具挡一下摆杆,使小车反向运动。2状态空间极点配置2.1状态空间极点配置仿真2.1.1求解状态反馈增益矩阵已知被控对象状态空间方程为:0100000001000100029.403xxxxx(14)1000000100xxxy(15)期望闭环极点为-8,-8,-2+5j,-2-5j;通过MTLAB求得状态反馈矩阵k,程序如下:A=[0100;0000;0001;0029.40];B=[0;1;0;3];H=[-8-8-2+5j-2-5j];k=acker(A,B,H)得出:k=-63.1293-24.489883.176414.8299所以k=[-63.1293-24.489883.176414.8299]2.2状态空间极点配置实物控制2.2.1实物控制界面进入状态空间极点配置实物控制界面流程如下:MATLAB→Simulink实时控制工具箱→GoogolEducationProducts→InvertedPendulum→LinearInvertedPendulum→Linear1-StageIPSwing-UpControl→Swing-UpControlDemo,其控制界面如下图。图9极点配置实物控制界面2.2.2倒立摆极点配置控制双击“LQRController”,在界面中输入通过仿真测试的4个闭环极点对应的反馈增益:-63.1293-24.489883.176414.8299然后点击OK,点击编译程序,给实验平台上电,完成后点击使计算机和倒立摆建立连接,点击运行程序,倒立摆将自动起摆并达到平衡。四、实验结果及分析1.PID控制器设计和实物控制将PID参数输入,然后运行程序,得出实物控制效果曲线如下:图10PID实物控制曲线结果分析:PID参数的设计很多时候靠经验,MATLAB软件的出现使得我们能够通过仿真进行参数设计,减少了设计时间和对经验的依赖。本次试验中通过很多次调整PID控制器传递函数的零点从而改变PID的三个参数KP、KI、KD,依据PID参数整定中三个参数对系统性能的影响:增大KP可以提高系统响应速度,但会造成使超调增加;KI可以消除静态误差,但会降低系统响应速度;KD可以提高系统响应速度并抑制超调,但过大会造成系统动态性能下降,引入噪声来调整参数使系统的性能更好。最终仿真获得了较好的单位响应曲线,其超调较小且其响应速度较快。在实物控制过程中,控制效果没有预期的好,与仿真的结果有着较大差距,倒立摆振动很大。并且几组仿真单位阶跃响应曲线效果都不错的参数有的几乎不能控制住。我认为造成仿真与实物控制有较大差距的主要原因是系统模型不精确,由于采用的是指导书给的参数,实际中系统模型参数与理论有一定差距,故用理论模型去代替实际模型不能达到理论上的控制效果。其次我发现将摆杆立起来初始位置很重要,离平衡位置越近越容易较快达到平衡,且如果摆杆初始位置离平衡位置较远就不能控制住,需要人为的去改变摆杆位置。2.极点配置仿真和实物控制系统在期望极点为:-8,-8,-2+5j,-2-5j下的反馈增益矩阵为K=[63.1293-24.489883.176414.8299]。在当前反馈增益矩阵下,倒立摆由启动到达到平衡位置后加一个干扰及用手去轻轻拨下摆杆,摆杆能迅速从新达到平衡,其动态曲线如下图所示:图11极点配置实物控制曲线结果分析:由于采用MATLAB计算,很容易计算出了期望极点下的增益矩阵,大大减少了计算量。通过实物控制,在控制过程加入较大干扰系统都能较快的重新达到平衡状态。通过实验,个人觉得通过状态空间极点配置设计控制器较PID控制器具有更好的性能并在采用MATLAB计算的情况下很方便,不像PID控制器设计那样需要较多经验且不停的尝试改进。五、总结通过这次实验,温习了以前学过的经典控制理论和现代控制理论,加深了对于使用MATLAB进行控制器设计流程的印象。同时,在实验室的过程中也学习了一些东西,对PID有了更深的理解,相信以后在设计PID控制器时能够更加娴熟。在PID控制器设计过程中,遇到了很多的问题,在进行仿真时,得到的结果,在实物上运行时老是达不到想要的结果,后来在下午通过与同学们的交流和查看资料,最终得到的结论主要是控制模型不够准确,模型不准确可能是两方面的原因:第一、由于我们采用的都是实验指导书给出的传递函数模型,然而实际中个倒立摆各有不同,与理论上的数据有差异,因此控制模型与实际情况有着一定差距,所以实际控制效果不能达到理论控制效果;第二、二是由于倒立摆是一个复杂的非线性系统,然而我们在系统建模过程是对系统进行了线性化处理,把它转换为一个线性系统来看待,所以设计的控制器在实际控制过程中不能达到理论的效果。第三、SISO工具的使用时,会有很多的随机情况,在调节时,不精确会遇到很多的不好效果,加上平时并没有经常用,所以在实验过程中,出现一些状况也是正常的。最后,通过此次实验,我明白了看似简单的事情也要用心去做,比如这次实验的内容其实都是很简单的,通过matlab软件进行仿真,得出相应的参数,再通过实物验证算法的有效性。这两个实验都很简单,有时候就因为比较简单而自己没有认真分析,就会很久都得不出满
本文标题:倒立摆实验报告
链接地址:https://www.777doc.com/doc-6897124 .html