直线一级倒立摆PID实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
直线一级倒立摆PID控制实验
实验目的
1.了解倒立摆系统的机械结构及原理,掌握一些控制元件的使用原
理和方法。
2.了解掌握PID控制的原理和方法
3.熟悉matlab中simulink模块对控制系统仿真的应用
4.利用实验的方法学会对系统PID控制器的参数调试设置
实验设备
计算机、Googol直线倒立摆系统试验台(含一台倒立摆装置和上位机控制软件)
实验原理
经典控制理论的研究对象主要是单输入单输出的系统,控制器设计时一般需要有关被控对象的较精确模型。
PID控制器因其结构简单,容易调节,且不需要对系统建立精确的模型,在控制上应用较广。
首先,对于倒立摆系统输出量为摆杆的角度,它的平衡位置为垂直向上的情况。
系统控制结构框图如下:
直线一级倒立摆闭环系统图
图中KD(s)是控制器传递函数,G(s)是被控对象传递函数。
考虑到输入r(s) 0,结构图可以很容易的变换成:
直线一级倒立摆闭环系统简化图
该系统的输出为:
其中:
num——被控对象传递函数的分子项
den——被控对象传递函数的分母项
numPID——PID控制器传递函数的分子项
denPID——PID控制器传递函数的分母项
通过分析上式就可以得到系统的各项性能。
可以得到摆杆角度和小车加速度的传递函数:
PID 控制器的传递函数为:
需仔细调节PID控制器的参数,以得到满意的控制效果。
前面的讨论只考虑了摆杆角度,那么,在控制的过程中,小车位置如何变化呢?
小车位置输出为:
X (s) V (s)s2
通过对控制量v双重积分即可以得到小车位置。
实验步骤
(一)实验仿真
通过对《控制工程基础》的学习,控制系统有其基本的要求:稳定性、准确性和快速性。
性能指标往往用几个特征来表示,可以在时域提出,也可以在频域提出。
时域性能指标比较直观,是以系统对单位阶跃输入信号的时间响应形式给出的,它主要有上升时间tr、峰值时间tp、最大超调量Mp、调整时间ts以及振荡次数N等。
PID控制原理可以参考《控制工程基础》第五章之控制系统的设计和校正。
我们采用以下的方法进行设定。
由实际系统的物理模型:
在Simulink中建立如图所示的直线一级倒立摆模型:
(进入MATLAB Simulink实时控制工具箱"Googol Education Products"打开"Inverted Pendulum\Linear Inverted Pendulum\Linear 1-Stage IP Experiment\ PID Experiments"中的"PID Control Simulink"))。
直线一级倒立摆PID控制MATLAB仿真模型
其中PID Controller 为封装(Mask)后的PID 控制器,双击模块打开参数设置窗口:
PID设置窗口
先设置PID控制器为P控制器,令 Kp=10, Ki=0, Kd=0得到以下仿真结果:
直线一级倒立摆PD 控制仿真结果图(Kp=10,Ki=0,Kd=0)
从图中可以看出,控制曲线不收敛,因此增大控制量,Kp=60, Ki=0, Kd=0得到以下仿真结果:
直线一级倒立摆PD 控制仿真结果图(Kp=60,Ki=0,Kd=0)
从图中可以看出,闭环控制系统持续振荡,周期约为0.8s。
为消除系统的振荡,增加微分控制参数Kd。
令:Kp=60,Ki=0, Kd=6,得到仿真结果如下:
直线一级倒立摆PD 控制仿真结果图(Kp=60,Ki=0,Kd=6)
从图中看出,上升时间tr大约为0.2秒,峰值时间大约为0.3秒,震
荡次数为2次,但是系统超调量很大,在因此需要再增加微分控制参数Kd。
令:Kp=60,Ki=0, Kd=20仿真结果如下图:
直线一级倒立摆PD 控制仿真结果图(Kp=60,Ki=0,Kd=20)
从上图可以看出,系统在3秒后才后才能达到平衡,平衡的值在0.12处,离0.1处偏移了0.02。
存在一定稳态误差,为了消除稳态误差,试着增加积分参数Ki。
令:Kp=60,Ki=20, Kd=20。
得到以下的仿真结果:
直线一级倒立摆PD 控制仿真结果图(Kp=60,Ki=20,Kd=20)
从上面的仿真结果可以明显看出,系统在9秒后达到稳定值,系统的稳态误差得以消除。
但是由于积分因素的影响,稳定的时间明显增大,而且超调量相应的增大了。
由控制理论知识我们知道Ki=Kp*T0 /T I 。
其中T0 为采样周期,T i 为积分时间常数。
又控制理论知识我们知道,在PID控制中,增加积分常数T i ,有利于提高系统的稳定性,但是也加大了系统校区稳定误差的调节时间。
从上图中我们可以明显看出,稳定误差调节的时间过长大约为9秒,也就表明此图中T i 的系数太大,也即Ki系数太小,所以我们下一步减小T i 也即增大Ki。
令:Kp=60,Ki=100, Kd=20。
仿真图如下:
直线一级倒立摆PD 控制仿真结果图(Kp=60,Ki=100,Kd=20)
从以上仿真图中我们可以看出,增加Ki后,系统调整时间ts约为3秒,但是对于倒立摆的调整时间来说还是相对较大,因此我们继
续增加Ki。
令:Kp=60,Ki=700, Kd=20。
仿真图如下:
直线一级倒立摆PD 控制仿真结果图(Kp=60,Ki=700,Kd=20)
从上图看出系统调整时间ts约为2秒,而且最大超调量也相应的减小了,再作一些调整。
令:Kp=100,Ki=700, Kd=20。
仿真图如下:
直线一级倒立摆PD 控制仿真结果图(Kp=100,Ki=700,Kd=20)
响应曲线有所改善,可以再适当增加Kp 、Ki。
令:Kp=200,Ki=700,
Kd=20。
仿真图如下:
直线一级倒立摆PD 控制仿真结果图(Kp=200,Ki=700,Kd=20)
由上图可只系统响应的超调量进一步减少,调节时间控制在了
1s之内,为了进一步改善曲线,可以尝试改变Kd参数。
微分控制的作用是:使系统的动态性能得到很大的改善,调节时间短,超调量小。
进过几次尝试我们确定最后的参数:Kp=200,Ki=700, Kd=15。
仿真图如下:
由上图我们可以通过PID控制,系统的超调量在10%范围内,单位阶跃响应的调节时间在0.7s左右,稳态误差约为零,总体上系统性能良好。
由位置曲线可以看出,由于PID控制器为单输入单输出系统,所以只能控制摆杆的角度,并不能控制小车的位置,所以小车会往一个方向运动。
进入PID Ccontrol M Files 工程,点击debag菜单下的run选项,得出单位脉冲响应的性能指标曲线。
如下图所示:
(二)实验操作
1)打开直线一级倒立摆PID控制界面入下图所示:
(进入MATLAB Simulink实时控制工具箱"Googol Education Products"打开"Inverted Pendulum\Linear Inverted Pendulum\Linear 1-Stage IP Experiment\ PID Experiments"中的"PID Control Demo")。
2)双击"PID"模块进入PID参数设置,如下图所示:
直线一级倒立摆MATLAB 实时控制界面
把仿真得到的参数输入PID控制器,点击"OK"保存参数。
PID参数输入
3)点击编译程序,完成后点击。
使计算机和倒立摆建立连接。
4)点击运行程序,检查电机是否上伺服,如果没有上伺服,请参见直线倒立摆使用手册相关章节。
缓慢提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开,当小车运动到正负限位的位置时,用工具挡一下摆杆,使小车反向运动。
5)实验结果如下图所示:
在实际的倒立摆运行中,倒立摆没有像大多同学的实验一样会向一边行走,而是在一个位置不断的停留摆动。
从图中可以看出,倒立摆的位置曲线像一个波浪形一样,在0.02处波动;摆杆的角度在3.14(弧度)左右,总体还算稳定。
但是同仿真结果相比,PID 控制器并不能对小车的位置进行控制,小车会沿滑杆稍微的移动,这与试验结果有点出入。
在做了初步分析后没有得出比较合理的解释。
如果给倒立摆一定干扰,小车位置和摆杆角度的变化曲线会所有波动。
但是系
统可以较好的抵抗外界干扰,在干扰停止作用后,系统能很快回到平衡位置。
实验总结:
从本次实验中,我们从总体上对PID控制有了一定的认识,了解了相关知识的运用方法和途径。
也对我们以后的工程设计有很大的启发指导意义。
在系统PID算法的应用中,增大比例系数Kp,将加快系统的响应速度,减少系统的稳态误差,但直接影响系统的稳定性。
增加时间常数Ti,有利于提高系统的稳定性,但同时也加大了系统消除稳定误差的调节时间。
微分控制的作用,将改善系统的动态性能。