单级倒立摆的智能控制及其GUI动画演示(6)

2019-05-17 15:55

单级倒立摆的智能控制及GUI动画演示

% 多项式相加

den = polyadd(conv(denPID,den1),conv(numPID,num1 )); % 求整个系统传递函数的极点 [r,p,k] = residue(num,den); % 显示极点 s = p

% 求取多项式传递函数的脉冲响应 t=0:0.005:5;

impulse(num,den,t)

% 显示范围:横坐标0-5,纵坐标0-10,此条语句参数可根据仿真输出曲线调整 axis([0 5 0 10]) grid

% ------ end ------

文件中用到求两个多项式之和的函数polyadd,因为它不是Malatb工具,因此需要将它复制到polyadd.m文件中,并将该文件和源文件一起复制到MATLAB工作区。Polyadd.m文件如下:

% ------ polyadd.m ------ % 求两个多项式之和

function[poly] = polyadd(poly1,poly2) if length(poly1) < length(poly2) short = poly1; long = poly2; else

short = poly2; long = poly1; end

mz = length(long)-length(short); if mz > 0

poly = [zeros(1,mz),short] + long; else

poly = long + short; end

% ------ end ------

仿真中倒立摆的参数为:M 小车质量 1Kg 、m 摆杆质量 0.15 Kg 、b 小车的摩擦系数 0 .1N/m/sec 、l 摆杆转动轴心到杆质心的长度 0.3m 、I 摆杆惯量 0.0034 kg*m*m 、T 采样频率 0.005秒。

PID控制器系数取KP?2,KI?2,KD?2,闭环系统极点为:

s=[-11.26951.76350.233300]

21

单级倒立摆的智能控制及GUI动画演示

脉冲响应曲线如图4-6所示

Impulse Response109876Amplitude54321000.511.522.5Time (sec)33.544.55

图4-6 脉冲响应曲线

有两个闭环极点位于S平面右半部,所以系统不稳定。从系统响应曲线也可以看出,系统响应是不稳定的不能满足要求,需要不断调整系数Kp,KI,KD,直到获得满意的控制结果。我们先增加了比例系数Kp,观察它对响应的影响,取Kp?150,KD?2,KI?2,闭环极点为:

s=(-4.6328 +25.0820i-4.6328 -25.0820i-0.007100)

系统脉冲响应曲线如图4-7所示

22

单级倒立摆的智能控制及GUI动画演示

Impulse Response0.150.10.05Amplitude0-0.05-0.1-0.150.20.40.60.8Time (sec)11.21.4

图4-7 系统脉冲响应曲线

系统闭环极点均位于S平面左半部,系统稳定。系统稳定时间约2s,满足要求由于此时稳态误差为0,所以不需要改变积分环节;系统响应的超调量较大,为了减小超调,增加微分系数KD,取KD?10,响应曲线如图4-8所示:

Impulse Response0.080.060.040.02Amplitude0-0.02-0.04-0.06-0.0800.050.10.150.20.250.30.350.40.45Time (sec)

图4-8 增加KD后系统响应曲线

23

单级倒立摆的智能控制及GUI动画演示

系统响应满足指标要求。

4.6 本章小结

在这一章节中,我采用了控制器最常用的控制方式PID控制方法对倒立摆进行控制,因为PID控制是将比例偏差(P)、积分(I)、和微分(D)通过线性组合构成了控制量,以此来对被控对象进行控制,所以在设计的过程中,必须要非常了解控制参数Kp、KI、KD对系统性能的影响,然后按照所要求的控制指标综合实际响应结果适当的调节参数。

在利用MATLAB进行仿真的过程中可以进行多次调试,可以选取多组数据,取得最好的输出仿真效果。

24

单级倒立摆的智能控制及GUI动画演示

5 基于GUI的倒立摆LQR控制动画演示

5.1 GUI介绍

GUI即图形用户界面(Graphical User Interface)的简称,又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。GUI是借鉴并结合了计算机科学、美学、心理学、行为动作学及商业领域分析学的人机系统工程,将人—机—环境三者作为一个整体系统总体设计。与以往的计算机命令界面相比,GUI更容易让用户在视觉上得到接受,并获得很好的用户体验。

此次演示采用了GUI技术,采用了论文第三章中的倒立摆模型的介绍和最优LQR控制算法,实现了倒立摆控制的动画演示。

5.2 演示程序的构成

演示程序主要包括以下几个部分。 一、主程序:DLB.M。

二、演示界面程序:DLB.fig,利用GUI来实现,在matlab命令框内输入“open DLB.fig”即可打开演示界面。

三、倒立摆示意图:MODEL.jpg,采用画图软件设计。

5.3 主程序的实现

(1)采用最优LQR控制算法来实现倒立摆和小车的控制,主程序DLB.m包括以下几个部分。

(2)模型参数的设定:采用mc_CreateFcn()、mc_Ca33back()实现小车质量的设定,采用同样的方式可以实现对摆杆长度和质量的设定。

,2,3,4。(3)LQR参数设定:采用qi_CreateFcn()和qi_Callback()实现qi,i?1采用r_CreateFcn()和r_Callback()实现R。

(4)利用LQR计算K:由lqrok_Callback()完成。

(5)K的设定:采用ki_CreateFcn()和ki_Callbak()实现Ki,i?1,2,3,4。 (6)摆杆角度和小车位置初始值设定:实现小车水平位置设定与回调 、小车水平拖动条设定与回调,摆杆角度设定与回调、摆杆角度拖动条的创建与回调。

(7)干扰的输入:干扰主要包括有冲击、阶跃和正弦等三种。

25


单级倒立摆的智能控制及其GUI动画演示(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:土木工程材料试卷答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: