1、专 业 实 验 报 告 实验名称 倒立摆实验 实验时间 姓名 学号一、实验内容1、直线一级倒立摆建模1.1 受力分析针对直线一级倒立摆,在实际的模型建立过程中,可忽略空气流动阻力和其它次要的摩擦阻力,则倒立摆系统抽象成小车和匀质刚性杆组成的系统,如图所示。xFMM , l , I图 1 小车系统各参数定义:M:小车质量 m:摆杆质量 :小车摩擦系数 l: 摆杆转动轴心到杆质心的长度I:摆杆惯量 F:加在小车上的力 X:小车位置 :摆杆与垂直向上方向的夹角:摆杆与垂直向下方向的夹角摆杆受力和力矩分析m gVHXV XH 图 2 摆杆系统摆杆水平方向受力为:H摆杆竖直方向受力为:V由摆杆力矩平衡得
2、方程:(1)cosinHlVlI代入 V、H,得到摆杆运动方程。当 时, , ,线性化运动方程:0cos1in2()Imlglx1.2 传递函数模型以小车加速度为输入、摆杆角度为输出,令 ,进行拉普拉斯变换得到=传递函数:(2)2()lGsmIsg倒立摆系统参数值:M=1.096 % 小车质量 ,kgm=0.109 % 摆杆质量 ,kg% 小车摩擦系数0.1g=9.8 % 重力加速度, /2l=0.25 % 摆杆转动轴心到杆质心的长度,mI= 0.0034 % 摆杆转动惯量, /2以小车加速度为输入、摆杆角度为输出时,倒立摆系统的传递函数模型为:(3)20.75().1.6Gss1.3 倒立摆
3、系统状态空间模型以小车加速度为输入,摆杆角度、小车位移为输出,选取状态变量:(4)(,)x由 得出状态空间模型2()Imlgl(5)00113344xxggl (6)010xxy由倒立摆的参数计算出其状态空间模型表达式:(7)=x 3014.290x(8)110029.43xx(9)100xxy2 、PID 控制器设计与调节PID 整定说明:(1)比例(P 作用)增大,系统响应快,对提高稳态精度有益,但过大易引起过度的振荡,降低相对稳定性。(2)微分(D 作用)对改善动态性能和抑制超调有利,但过强,即校正装置的零点靠近原点或者使开环的截止频率增大,不仅不能改善动态性能,反而易引入噪声干扰。(3
4、)积分(I 作用)主要是消除或减弱稳态误差,但会延长调整时间,参数调整不当会容易振荡。正确选择这三种作用的方法简单地可归纳成:单靠提高 P 作用不能满 足动态指标时,可考虑加入 D 作用。加入 D 作用后应适当减小 P 作用,两者相互配合,在 SISO Design Tool 上极容易观察到这个调整过程所产生的效果。一般来讲,应先满足动态性能,在此基础上,如达不到稳态指标,才考虑加入 I作用3、状态空间极点配置已知受控系统状态空间表达式如下(10)xAByC其中: , , , ,1nx1n11nna 1nb。1Cc第一步:计算受控系统能控性: ,n 为矩阵1nrakABrA 的维数,若 r=n
5、,则系统能控,能够进行极点配置。第二步:受控系统中引入状态反馈向量 K, 。引入状态反1nk馈向量后系统特征多项式为:(11)11()()nnfsIABKsasa设期望特征根为 ,则期望特征多项式为:*12,n(12)*11 1()()nnfxssbsb 由 求得矩阵 K。*()fs二、实验装置、倒立摆实验平台台式电脑电源及线缆MATLAB 软件三、实验过程1、基于 MATLAB 的 SISO 平台的 PID 控制器设计与调节在 MATLAB 中,提供了单输入单输出系统仿真的图形工具 SISO Design Tool,可方便的获得系统的根轨迹图和伯德图,以及添加零极点改善系统的性能。1.1 P
6、ID 控制器设计界面在 MATLAB 命令窗口中输入“sisotool”即可打开设计界面,如下图。图 3 SISOTOOL 界面1.2 在 MATLAB 命令窗口中输入被控对象的模型 :其 M 文件为:clear all;clc;num=0.02725;den= 0.0102125 0 -0.26705;G=tf(num,den)1.3 导入被控对象模型在 SISO 界面中使用 File Import 命令导入被控对象模型。如下图。图 4 PID 控制器参数设计界面1.4 PID 控制器设计使用 SISO 界面的 添加零点和极点,使补偿器 C 为 PID 形式。(13)=+1+=2+ =(1+
7、)(1+)使用 SISO 界面的 “Analysis”选项框中 Response to Step Command 的命令即可查看被控对象阶跃响应曲线。通过调整 SISO 界面添加的零点,同时观察单位阶跃输入时的闭环响应曲线,寻找合适的 P、I、 D 参数。设合适的补偿器下的根轨迹和参数以及响应曲线如图 5 和图 6:图 5 根轨迹和波特图图 6 单位阶跃响应曲线通过 MATLAB 的 SISOTOOL 工具箱进行 PID 控制参数设计,获得了一组单位阶跃响应的较好且能控制住倒立摆的参数,其参数如图 7:图 7 PID 控制器设计参数值即对应的PID参数为:KP=109.29 KI=218.58
8、KD=11.01641.5 倒立摆 PID 实物控制1.5.1 打开直线一级倒立摆 PID 控制界面界面进入过程如下: MATLAB Simulink工具箱Googol Education ProductsInverted Pendulum Linear Inverted Pendulum Linear 1-Stage IP Experiment PID ExperimentsPID Control Demo 。其界面如下:图 8 直线一级倒立摆 MATLAB 实时控制界面1.5.2 参数设置双击“PID”模块进入 PID 参数设置,把仿真得到的参数输入 PID 控制器,点击“OK”保存参数。
9、1.5.3 编译连接运行点 击 编 译 程 序 , 完 成 后 点 击 使 计 算 机 和 倒 立 摆 建 立 连 接 。 点击 运行程序,检查电机是否上伺服,上电后缓慢提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开,当小车运动到正负限位的位置时,用工具挡一下摆杆,使小车反向运动。2 状态空间极点配置2.1 状态空间极点配置仿真2.1.1 求解状态反馈增益矩阵已知被控对象状态空间方程为:(14)010129.43xx(15)100xxy期望闭环极点为-8,-8 ,-2+5j,-2-5j;通过 MTLAB 求得状态反馈矩阵 k,程序如下:A=0 1 0 0;0 0 0 0;0 0 0
10、 1;0 0 29.4 0;B=0;1;0;3;H=-8 -8 -2+5j -2-5j;k=acker(A,B,H)得出:k = -63.1293 -24.4898 83.1764 14.8299所以 k=-63.1293 -24.4898 83.1764 14.82992.2 状态空间极点配置实物控制2.2.1 实物控制界面进入状态空间极点配置实物控制界面流程如下:MATLAB Simulink 实时控制工具箱Googol Education ProductsInverted PendulumLinear Inverted PendulumLinear 1-Stage IP Swing-Up
11、 ControlSwing-Up Control Demo,其控制界面如下图。图 9 极点配置实物控制界面2.2.2 倒立摆极点配置控制双击“LQR Controller”,在界面中输入通过仿真测试的4个闭环极点对应的反馈增益:-63.1293 -24.4898 83.1764 14.8299然后点击 OK,点 击 编 译 程 序 , 给 实 验 平 台 上 电 , 完 成 后 点 击 使 计 算机 和 倒 立 摆 建 立 连 接 , 点击运行 程序, 倒 立 摆 将 自 动 起 摆 并 达 到 平 衡 。四、实验结果及分析1.PID 控制器设计和实物控制将PID参数输入,然后运行程序,得出实
12、物控制效果曲线如下:图10 PID实物控制曲线结果分析:PID参数的设计很多时候靠经验,MATLAB软件的出现使得我们能够通过仿真进行参数设计,减少了设计时间和对经验的依赖。本次试验中通过很多次调整PID控制器传递函数的零点从而改变PID的三个参数K P、 KI、K D,依据 PID参数整定中三个参数对系统性能的影响:增大K P可以提高系统响应速度,但会造成使超调增加;K I可以消除静态误差,但会降低系统响应速度;K D可以提高系统响应速度并抑制超调,但过大会造成系统动态性能下降,引入噪声来调整参数使系统的性能更好。最终仿真获得了较好的单位响应曲线,其超调较小且其响应速度较快。在实物控制过程中
13、,控制效果没有预期的好,与仿真的结果有着较大差距,倒立摆振动很大。并且几组仿真单位阶跃响应曲线效果都不错的参数有的几乎不能控制住。我认为造成仿真与实物控制有较大差距的主要原因是系统模型不精确,由于采用的是指导书给的参数,实际中系统模型参数与理论有一定差距,故用理论模型去代替实际模型不能达到理论上的控制效果。其次我发现将摆杆立起来初始位置很重要,离平衡位置越近越容易较快达到平衡,且如果摆杆初始位置离平衡位置较远就不能控制住,需要人为的去改变摆杆位置。2.极点配置仿真和实物控制系统在期望极点为:-8 ,-8 ,-2 +5j ,-2-5j下的反馈增益矩阵为K=63.1293 -24.4898 83.
14、1764 14.8299。在当前反馈增益矩阵下,倒立摆由启动到达到平衡位置后加一个干扰及用手去轻轻拨下摆杆,摆杆能迅速从新达到平衡,其动态曲线如下图所示: 图11 极点配置实物控制曲线结果分析:由于采用MATLAB计算,很容易计算出了期望极点下的增益矩阵,大大减少了计算量。通过实物控制,在控制过程加入较大干扰系统都能较快的重新达到平衡状态。通过实验,个人觉得通过状态空间极点配置设计控制器较PID 控制器具有更好的性能并在采用MATLAB 计算的情况下很方便,不像PID控制器设计那样需要较多经验且不停的尝试改进。五、总结通过这次实验,温习了以前学过的经典控制理论和现代控制理论,加深了对于使用MA
15、TLAB进行控制器设计流程的印象。同时,在实验室的过程中也学习了一些东西,对PID有了更深的理解,相信以后在设计PID控制器时能够更加娴熟。在PID控制器设计过程中,遇到了很多的问题,在进行仿真时,得到的结果,在实物上运行时老是达不到想要的结果,后来在下午通过与同学们的交流和查看资料,最终得到的结论主要是控制模型不够准确,模型不准确可能是两方面的原因:第一、 由于我们采用的都是实验指导书给出的传递函数模型,然而实际中个倒立摆各有不同,与理论上的数据有差异,因此控制模型与实际情况有着一定差距,所以实际控制效果不能达到理论控制效果;第二、 二是由于倒立摆是一个复杂的非线性系统,然而我们在系统建模过
16、程是对系统进行了线性化处理,把它转换为一个线性系统来看待,所以设计的控制器在实际控制过程中不能达到理论的效果。第三、 SISO工具的使用时,会有很多的随机情况,在调节时,不精确会遇到很多的不好效果,加上平时并没有经常用,所以在实验过程中,出现一些状况也是正常的。最后,通过此次实验,我明白了看似简单的事情也要用心去做,比如这次实验的内容其实都是很简单的,通过matlab 软件进行仿真,得出相应的参数,再通过实物验证算法的有效性。这两个实验都很简单,有时候就因为比较简单而自己没有认真分析,就会很久都得不出满意的结果。在以后的学习和生活中,都应该谨记把每件简单的事情做好也是件不简单的事。实验指导教师评语:考查成绩(5级计分)学分0.5教师签名:年 月 日(此表在授位前请放入硕士学位申请书中相应位置)