单级倒立摆的智能控制及其GUI动画演示_第1页
单级倒立摆的智能控制及其GUI动画演示_第2页
单级倒立摆的智能控制及其GUI动画演示_第3页
单级倒立摆的智能控制及其GUI动画演示_第4页
单级倒立摆的智能控制及其GUI动画演示_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1存档日期:存档日期: 存档编号:存档编号: 论论 文文 题题 目:目: 单级倒立摆的智能控制及 GUI 动画演示 姓姓 名:名: XX 系系 别:别: 机电工程系 专专 业:业: 电气工程及其自动化 班班 级级 、 学学 号号: 指指 导导 教教 师:师: xxx 摘摘 要要倒立摆系统是一个典型的快速、多变量、非线性、动态系统,对于倒立摆的控制研究无论在理论上和方法上都有深远的意义。本文主要研究内容是:首先概述自动控制的开展和倒立摆系统研究的现状;介绍倒立摆系统硬件组成,对单级倒立摆模型进行建模,并分析其稳定性如何构成;研究倒立摆系统的几种控制方式,并设计出对应的控制器,以 MATLAB软件

2、为平台为,经行大量的模拟仿真实验,对不同控制方法的效果及优缺点作出总结;利用 MATLAB 软件中的 GUI 组件设计出模拟的倒立摆系统演示系统,让大家能直观的了解控制方法的作用。关键词:关键词:倒立摆, PID 控制器, MATLAB,GUI IAbstractInverted Pendulum System is a typical multivariable, nonlinear, fast, dynamic system.On inverted pendulum control both in theory and methodology will have far-reaching

3、significance. The main research content of this article : Roughly describe the current situation of research of automatic control and Inverted Pendulum System, introduce the hardware components of Inverted Pendulum System, model the Single Inverted Pendulum System and analyze the formation of the st

4、ability. Research on several types of Inverted Pendulum System controlling, and design the dedicated controller for corresponding type. Based on mass test result on Malatb platform, summarize the advantages and disadvantages of different type of controlling. Using the GUI component of Malatb Softwar

5、e design the mimetic demo system of Inverted Pendulum System. In order to let everyone can intuitive understand the role of control method.Keywords: Inverted Pendulum, PIDController , Malatb , GUIII目 录摘 要.IAbstract.II1 绪论.11.1 课题研究背景及意义.11.2 倒立摆系统介绍及其研究意义.11.3 本论文的主要工作.22 单级倒立摆的数学模型.32.1 模型的推导原理.32.

6、2 单级倒立摆系统描述.32.3 单级倒立摆系统数学建模.42.4 本章小结.53 最优控制方法设计.63.1 最优控制概述.63.2 最优控制器的设计.73.3 最优控制 MATLAB 仿真.103.4 本章小结.144 单级倒立摆的 PID 控制系统设计.154.1 PID 控制概述 .154.2 PID 控制系统设计的原理 .164.3 摆杆角度控制.174.4 小车位置控制.184.5 PID 控制算法的 MATLAB 仿真.194.6 本章小结.235 基于 GUI 的倒立摆 LQR 控制动画演示.245.1 GUI 介绍.24III5.2 演示程序的构成.245.3 主程序的实现.

7、245.4 演示界面的设计.255.5 演示过程.265.6 本章小结.276 结论.28致 谢.29参考文献.30附录.32 单级倒立摆的智能控制及 GUI 动画演示01 绪论1.1 课题研究背景及意义控制理论的开展,起于“经典控制理论。早期最有代表性的自动控制系统是 18 世纪的蒸汽机调速器。20 世纪前,主要集中在温度、压力、液位、转速等控制。20 世纪起,应用范围 扩大到电压、电流的反响控制,频率调节,锅炉控制,电机转速控制等。二战期间,为设计和制造飞机及船用自动驾驶仪、火炮定位系统、雷达跟踪系统及其他基于反响原理的军用装备,促进了自动控制理论的开展。至二战结束时,经典控制理论形成以传

8、递函数为根底的理论体系,主要研究单输入-单输出、线性定常系统的分 析问题。经典控制理论的研究对象是线性单输入单输出系统,用常系数微分方程来描述。它包含利用各种曲线图的频率响应法和利用拉普拉斯变换求解微分方程的时域分析法。这些方法现在仍是人们学习控制理论的入门之道156。1.2 倒立摆系统介绍及其研究意义倒立摆控制系统2是一个非线性动态系统, 是作为理论教学及开展各种控制实验的理想平台。许多抽象的控制概念如控制系统的稳定性、可控性、系统收敛速度和系统抗干扰能力等,都可以利用倒立摆系统直接的展现出来。除了用于教学,在自动控制领域中,倒立摆系统的高阶次、不稳定、多变量、非线性和强耦合等特性使得许多现

9、代控制理论的研究人员一直将它作为研究对象。他们通过对倒立摆系统的研究出新的控制方法,并将其应用于航天科技和机器人学等各种高新科技领域。倒立摆仿真或实物控制实验,已成为检验一个新的控制理论是否有效的试金石,同时也是产生一个新的控制方法必须依据的根底实验平台3。 常见的倒立摆系统一般由小车和摆杆两局部构成,其中摆杆可能是一级、两级甚至多级。在复杂的倒立摆系统中,摆杆长度和质量均可变化。据研究的目的和方法不同,又有悬挂式倒立摆、球平衡系统和平行式倒立摆等倒立摆的研究具有重要的工程背景。机器人行走倒立摆系统。从日常生活中所见到的任何重心在上、也是支点在下的控制问题,到空间飞行器和各类伺服云台的 稳定,

10、都和倒立摆系统的稳定控制有很大相似性,故对其稳定控制在 单级倒立摆的智能控制及 GUI 动画演示1实际中有很多用场,如海上钻井平台的稳定控制、卫星发射架的稳定控制、火箭姿态控制、飞机 平安着陆、化工过程控制等4。1.3 本论文的主要工作1、为了对被控对象有一个充分的认识,文中首先建立了倒立摆系统的数学模型,并线性化处理了在平衡点的系统,得到了倒立摆系统的线性化模型;在此模型的根底上,对系统的稳定性、能控性和能观性进行分析,阐述了倒立摆系统的运动规律和各个变量之间的相互关系。2、目前有多种方法可以稳定控制倒立摆系统,本文主要简述了两种常见的控制器,包括 PID 控制和最优 LQR 控制,基于上述

11、理论方法设计了控制器,并实现了对倒立摆的 MATLAB 仿真,分析了它们的特点。3、通过 MATLAB 中的 GUI 工具设计出倒立摆最优 LQR 控制的模拟效果动画。 单级倒立摆的智能控制及 GUI 动画演示22 单级倒立摆的数学模型2.1 模型的推导原理推导控制系统的数学模型有两种根本方法。方法一,对系统各局部的运动机理进行分析,根据它们所依据的物理规律建立对应的运动方程,整合后即成为描述整个系统的方程。方法二,通过给系统施加某种测试参数,记录其输出,并用适当的数学模型去逼近,这种方法适用于系统运动过程复杂因而难以分析或不可能分析的情况。 系统的建模原那么: (1)建模之前,要对系统的特征

12、和运动机理进行一个全面细致的了解,确定研究的目标以及系统对于准确性要求,分析时选用正确的方法。 (2)按照确定的分析法,确定建立何种数学模型; (3)系统规定的误差范围内,对分析方法的准确性进行考量,然后建立简洁正确的数学模型。因为倒立摆有比拟规那么的形状,并且是一个极不稳定的动态系统,且不能利用通过测量其频率特性来获取数学模型,因此非常适合利用数学工具对其进行进行理论推导。2.2 单级倒立摆系统描述在控制理论研究中经常把小车倒立摆系统作为研究对象,研究过程中只要认定是小车倒立摆系统,即认为数学模型已经定型。并且小车倒立摆的数学模型与驱动系统有关, 因此此模型只适用于执行机构是直流电机的情况下

13、,并不适用于交流电机驱动的倒立摆系统。本文分析的倒立摆系统即为直流电机作为动力核心。小车倒立摆系统是检验控制方式好坏的一个典型对象,其特点是高阶次、不稳定、非线性、强耦合,只有采取有效的控制方式才能稳定控制。 1Lux小车M 2.1 单级倒立摆系统的原理图 单级倒立摆的智能控制及 GUI 动画演示3图中 u 是施加于小车的水平方向的作用力,x 是小车的位移,是摆的倾斜角。假设不给小车施加控制力,倒摆会向左或向右倾斜,控制的目的是当倒摆出现偏角时,在 水平方向上给小车以作用力,通过小车的水平运动,使倒摆保持在垂直的位置。即控制系统的状态参数,以保持摆的倒立稳定。2.3 单级倒立摆系统数学建模为了

14、建立倒立摆系统的数学模型,先作如下假设:(1)倒立摆与摆杆均为匀质刚体。(2)忽略倒立摆运动过程中的摩擦。2.3.1 结构参数倒立摆是不稳定的,如果没有适当的控制力作用在它的上面,它将随时可能向任何方向倾倒。这里只考虑二维问题,即认为倒立摆只在平面内运动。控制力 u 作用于小车上。摆杆长度为 L,质量为 m,小车的质量为 M,小车瞬时位移为 x,摆杆瞬时位置为,在外力的作用下,系统产生运动。假 ()sin+lx设摆杆的重心位于其几何中心。设输入为作用力 u,输出为摆角 。2.3.2 系统的运动方程图 2-2 是系统中小车和摆杆的受力分析图。其中,和为小车与摆杆相NP互作用力的水平和垂直方向的分

15、量。注意:在实际倒立摆系统中监测和执行机构的正负方向已经事先确定,因此得到如下矢量方向定义图,图中箭头所指方向即为倒立摆系统的矢量正方向。应用 Newton 方法来建立系统的动力学方程过程如下:分析小车水平方向所受的合力,可以得到方程: NxbFxM 小车Mxx bx NFP 1LNmgP a)小车隔离受力图 b摆杆隔离受力图图 2-2 小车和摆杆的受力分析图 单级倒立摆的智能控制及 GUI 动画演示4通过对摆杆水平方向的受力进行分析可以得到下面等式: 2-122(sin )dNmxldt即:2cossinNmxmlml把这个等式代入上式中,就得到系统的第一个运动方程: 2-2 Fmlmlxb

16、xmMsincos)(2 接下来推出系统的第二运动方程,我们对摆杆垂直方向上的合力进行了分析,得到下面方程: 2-22( cos )dPmgmldt 3即: 2-2sincosPmgmlml4力矩平衡方程如下: 2- INlPlcossin5注:上式中力矩的方向,由于,故等sinsin,coscos,式前面有负号。合并这两个方程,经过处理,得到第二个运动方程: 2-cossin)(2xmlmglmlI 62.4 本章小结因为倒立摆系统具有非常典型的非线性、变量多以及不稳定性,以倒立摆系统作为被控对象的控制系统可以直观的表现许多抽象的控制概念。因此这一章的目的是建立单级倒立摆的数学模型,通过对倒

17、立摆数学模型的推导,加深对系统建模和模型线性化问题的了解,同时对系统建立数学模型也是一个系统 单级倒立摆的智能控制及 GUI 动画演示5分析、设计的前提,一个准确又简练的数学模型可以极大的减少后期的工作量,降低解决问题的难度。3 最优控制方法设计3.1 最优控制概述控制系统的最优控制问题一般提法为:对于通过动态方程来描述的系统,在特定的初始和最终状态条件下,在系统所规定的控制系统集合中寻找一个控制,令测试系统的性能目标函数最优化。最优控制问题的完整描述要包括以下个方面。(1)系统的动态方程,大多数情况下只需要有系统的状态方程。对于连续的系统,其状态方程为 3- ttutxftx,1对于离散系统

18、,其状态方程为 3- kkukxfkx,1 2系统状态方程指出了系统内部状态由于系统控制输入的改变而变化,或者说是内部状态的一种约束关系。(2)系统状态的始端和终端条件。系统的状态方程定义了系统状态在整个控制过程中的约束关系,始端和终端条件却给出了系统状态在系统控制开始和结束时刻的约束条件。端点条件包括以下三种类型:固定端、自由端、和可变端。固定端就是指时间和状态值都确定的端点。例如,初始时间及其初始状0t态都固定就是称初始固定条件,而终端时间及其终端状态都固定 0tXft ftX就称终端固定条件。一般来说,最简单的状态就是始、终端都确定的状态。自由端是指端点时间固定,但端点的状态值不受任何限

19、制。分为始端或终端自由两种。可变端就是端点时间及其状态值都不确定的端点。但它一般都有一定的约 单级倒立摆的智能控制及 GUI 动画演示6束条件,例如,或。 0ftC 0,ffttXN(3)系统控制域。在实际控制系统中,控制输入通常是无法任意取值tu的,例如作为伺服电机,其输出力矩就有最大力矩的限制。因此多数最优控制问题中,必须给定一个允许的控制域。(4)系统目标泛函,即系统的性能指标。因为最优控制问题中的性能指标一般都是一个函数的函数,即泛函,所以称系统目标泛函。对于连续时间系统,目标泛函一般为 3- fttfdtttutxLtxJ0,3对于离散时间系统,目标泛函一般为 3- 10,lkkku

20、kxLlxJ4以上泛函称为综合型,其第一局部表示对系统的终端状态的要求,而第二局部表示对系统的整个控制过程的要求。如果系统目标泛函只取以上指标中的第一项,即 3- ftxJ5或 3-lxJ6那么称为终端型性能指标。反之假设只取其中第二局部,即 3- fttdtttutxLJ0,7或 3- 10,lkkkukxLJ 单级倒立摆的智能控制及 GUI 动画演示78那么称为积分型性能指标。最优控制问题就是在上述1 , 2 , 3点所定义的问题空间内找到一个控制,使得系统目标泛函 J 到达最大或最小。这样的控制就称为系统tUtU的最优控制,将代入系统方程就可以解得系统的状态轨迹。tUtUtX3.2 最优

21、控制器的设计我们的输入是脉冲量,并且在设计控制器时,只能对摆杆的角度进行控制,而对小车的位移并不做考量。但是,对一个倒立摆系统来说,把它作为单输出系统是不严谨也不够科学,因此如果将倒立摆系统作为多输出系统来设计,用状态空间法分析要相对简单一些,在这一节我们将设计一个对摆杆角度和小车位移都进行控制的系统。下面的公式即倒立摆系统的状态方程: 3-DuCXYBuAXX9设定倒立摆的相关参数为: 小车质量 0.5 KgM 摆杆质量 0.2 Kgm 小车摩擦系数 0.1 N/m/secb 摆杆转动轴心到杆质心的长度 0.3 ml 摆杆惯量 0.006 kg*m*mI 采样时间 0.005 秒T根据以上的

22、条件,可建立如下的状态方程系数矩阵:;01818.314545. 00100006727. 21818. 000010A5455. 408182. 10B01000001C00D最优控制的前提条件是系统是能控的,下面来判断一下系统的能控能观性。 单级倒立摆的智能控制及 GUI 动画演示8系统的能控矩阵的秩 。234rank BABA BA B 系统的能观矩阵的秩 。234rank C CA CACA故系统是能控能观的。因此通过给系统加上最优控制器可以使得系统闭环稳定,同时符合暂态性能指标。采用 LQR 最优控制算法进行控制器设计时,关键就是取得反响向量的值,而通过上节推导可知,设计系统状态反响

23、控制器K时,主要的问题同样是二次型性能指标泛函中加权矩阵和的取值。如何才QR能使问题思路清晰并且加权矩阵具有比拟明确的物理意义是设计关键。在这里我们令取为对角阵。假设Q ;44332211000000000000QQQQQrR 这样得到的性能指标泛函为 3-022444233322222111dtruxQxQxQxQJ10由上式可以看出,是对的平方的加权,的相对增加就代表了对iiQixiiQ的要求更加严格,占据了更大比重的性能指标,也就是减小了的偏差状态。ixix是对控制量的平方加权,当 相对较大时,代表了控制费用增加,此时rur控制能量较小,反响减弱,系统动态反响缓慢,但是当 值变小时,系统

24、的控r制费用也相应减小,此时反响增加,系统动态响应更加迅速。由于一阶倒立摆系统在运行过程中,系统的输出量和作为主要的被控x量,由于代表小车位置的权重,而是摆杆角度的权重,因此在选取加权11Q33Q对角阵的各元素值时,只选取了、,而。Q11Q33Q04422 QQ但是在选取和时需要注意以下几点:QR1我们采用的系统模型是线 单级倒立摆的智能控制及 GUI 动画演示9性化的结果,所以要求系统能够在线性范围内工作,此时各状态量不应过大。2为了克服系统的非线性摩擦,闭环系统需要一对共轭复数极点,但系统对噪声过于敏感,因此需要控制系统主导极点的模在一定范围内防止系统频带过宽,导致系统不能正常工作。3加权

25、矩阵的减小,会导致大的控制能量,应注意控制的大小,将RU系统执行机构的能力控制在额定范围内,防止放大器处于过饱和状态。控制系统如图 3-1 所示,图中 R 是施加在小车上的阶跃输入,四个状态量分别是小车位移、小车速度、摆杆位置和摆杆角速度,输出包xx , xy括小车位置和摆杆角度。我们要设计的目标是,当给系统施加一个阶跃输入时,摆杆会摆动,但通过控制器的调整然后回到垂直位置,并且小车到达新的命令位置。xAxByyCxKRyyx+图 3-1 控制系统图3.3 最优控制 MATLAB 仿真最优控制仿真程序如下:% - lqr1.m -% 最优控制% 确定开环极点的程序如下M = 0.5;m = 0

26、.2;b = 0.1;I = 0.006;g = 9.8;l = 0.3;p = I*(M+m)+M*m*l2;A = 0 1 0 0;0 -(I+m*l2)*b/p (m2*g*l2)/p 0; 0 0 0 1;0 -(m*l*b)/p m*g*l*(M+m)/p 0;B = 0; (I+m*l2)/p; 0; m*l/p ;C = 1 0 0 0;0 0 1 0;D = 0; 0;p = eig(A)% 求向量Kx = 1;y = 1;Q = x 0 0 0;0 0 0 0; 单级倒立摆的智能控制及 GUI 动画演示10 0 0 y 0 0 0 0 0;R = 1; K = lqr(A,B

27、,Q,R)% 计算LQR控制的阶跃响应并画出曲线Ac = (A-B*K);Bc = B;Cc = C Dc = D;T = 0:0.005:5;U = 0.2*ones(size(T);% 求阶跃响应并显示,小车位置为虚线,摆杆角度为实线Y,X = lsim(Ac,Bc,Cc,Dc,U,T); plot(T,Y(:,1),:,T,Y(:,2),-)legend(Cart Position,Pendulum Angle)grid% - end -1运行 LQR1.M,可以确定系统的开环极点为 0、5.5651、-0.1428、-5.6041,可以看出有一个极点位于 S 平面的右半局部,这说明开环

28、系统不稳定。2在取的条件下,得到反响控制向101144222211RQQQQ,量4594. 36854.186567. 10000. 1K3LQR 控制的阶跃响应如图 3-2 所示。其中,实线表示摆杆角度,虚线表示小车位置。从图中可以看出,系统响应的超调量很小,而且摆杆的稳定和上升所消耗的时间偏长,小车向相反的方向移动是像预计的跟随摆杆移动。 单级倒立摆的智能控制及 GUI 动画演示1100.511.522.533.544.55-0.25-0.2-0.15-0.1-0.0500.050.1 Cart PositionPendulum Angle图 3-2 系统响应曲线 可以发现,在矩阵中,增加

29、降低摆杆稳定所消耗的时间和上升时间,Q11Q并且使摆杆的摆动幅度减小。在这里取,在,那么 450011Q15033Q 20.226102.340536.2547-67.082-=K响应曲线如图 3-3 所示。 单级倒立摆的智能控制及 GUI 动画演示1200.511.522.533.544.55-3-2-10123x 10-3 Cart PositionPendulum Angle 图 3-3 系统响应曲线此时,如果再增加和值,系统的响应还会改善。但在保证和11Q33Q11Q足够小的情况下,系统响应已经满足要求了。33Q上述的设计中,是在输出信号得到反响之后与系数矩阵 K 相乘,然后再减去输入

30、量,即可得到控制信号。但是,这样会导致输入和反响的量纲相异,因此为了不发生这样的矛盾,我们可以给输入乘以一个增益 NBar,如图 3-4 所示xAxByyCxKRyyx+arNB 图 3-4 控制系统框图此时具有量纲匹配的最优控制 LQR 仿真文件 LQR2.m 如下:% 最优控制量纲匹配 % 确定开环极点的程序如下M = 0.5;m = 0.2;b = 0.1;I = 0.006;g = 9.8; 单级倒立摆的智能控制及 GUI 动画演示13l = 0.3; I*(M+m)+M*m*l2;A = 0 1 0 0; 0 -(I+m*l2)*b/p (m2*g*l2)/p 0; 0 0 0 1;

31、0 -(m*l*b)/p m*g*l*(M+m)/p 0;B = 0; (I+m*l2)/p; 0;m*l/p ;C = 1 0 0 0;0 0 1 0;D = 0;0; p = eig(A);% 求向量 Kx = 5000;y = 100;Q = x 0 0 0;0 0 0 0;0 0 y 00 0 0 0;R = 1; K = lqr(A,B,Q,R)% 计算 LQR 控制矩阵Ac = (A-B*K);Bc = B;Cc = C;Dc = D;% 计算增益 NbarCn = 1 0 0 0;Nbar = rscale(A,B,Cn,0,K);Bcn = Nbar*B;% 求阶跃响应并显示,

32、小车位置为虚线,摆杆角度为实线T = 0:0.005:5;U = 0.2*ones(size(T);Y,X = Lsim(Ac,Bcn,Cc,Dc,U,T);plot(T,Y(:,1),:,T,Y(:,2),-)legend(Cart Position,Pendulum Angle)grid% - end -在仿真的过程中需要用到输入/输出匹配系数函数 rscale,由于它不是 Matlab工具,因此需要将其拷贝到 rscale.m 文件中,并将其与源文件 LQR2.m 一起复制到 Matlab 工作区内,方可正常仿真,rscale.m 如下:% - rscale.m -% 求取输入输出匹配系

33、数functionNbar = rscale(A,B,C,D,K) s = size(A,1);Z = zeros(1,s) 1;N = inv(A,B;C,D)*Z;Nx = N(1:s); 单级倒立摆的智能控制及 GUI 动画演示14Nu = N(1+s);Nbar = Nu + K*Nx;% - end -利用函数 recale 来计算,运行程序,计算出:NK = -70.7107 -37.8345 105.5298 20.9238即 Nbar=rscale-70.7107 ,可以看出,事实()=0=nKCBArscaleNbar上 Nbar 和 K 向量中与小车位置对应的那一项相等。此

34、时系统的响应曲线如图x3-5 所示:00.511.522.533.544.55-0.2-0.15-0.1-0.0500.050.10.150.20.25 Cart PositionPendulum Angle图 3-5 系统响应曲线从系统曲线上反映出,小车位置跟踪输入信号,并且摆杆超调足够小,稳态误差满足要求,上升时间和稳定时间也符合了设计指标。3.4 本章小结最优控制理论是现代控制理论中的重要内容,过去因为许多复杂的计算难以实现,但随着计算机技术的不断进步,复杂的计算可以通过计算机进行处理,因此最优控制在工程技术应用的越来越广泛。而最用控制算法LQR的目的是在一定性能指标下,使系统获得最正确

35、的控制效果,到达最小的状态误差。在仿真的过程中我首先对倒立摆系统如何缩短稳定时间和上升时间进行了仿真,通过不断的调试,使得系统的响应时间满足了设计要求。然后为了使系 单级倒立摆的智能控制及 GUI 动画演示15统输入和反响的量纲相互匹配,给输入乘以了增益 Nbar,然后进行仿真之后使得小车位置跟踪输入信号,而且摆杆超调最够小,稳态误差满足了要求,上升时间和稳定时间也满足设计指标。 单级倒立摆的智能控制及 GUI 动画演示164 单级倒立摆的 PID 控制系统设计4.1 PID 控制概述在工业自动化设备中,常采用由比例、积分、微分控制策略形成的校正装置作为系统的控制器。 自从计算机进入控制领域以

36、来,用数字计算机代替模拟计算机调节器组成计算机控制系统,可以用软件编写实现 PID 控制算法,并且运用计算机的逻辑功能,更加灵活的控制工业中的自动化设备。在生产过程中数字 PID 控制器是一种比拟常见的控制器,它通过将偏差的比例、积分、和微分进行线性组合由此构成控制量,对被控对象进行控制,因此被称为 PID 控制器。PID 控制器至今依旧是应用最广泛的工业控制器。PID 控制简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。当今的自动控制技术都是基于反响的概念。反响理论包括三个要素:测量、比拟和执行。反响的过程就是测量关心的变量,和期望值进行比对,得到误差后调节控制系

37、统的响应。PID 控制由比例单元P 、积分单元I和微分单元D组成。其输入e (t)与输出 u (t)的关系为 01( )tpDde tu tKe te t dtTTdt 4-1 因此它的传递函数为: 4-2( )( )( )()sTsTKsEsUsGDIp+1+1=需设定三个参数Kp, Ki 和 Kd即可。在很多情况下,并不一定需要全部三个单元,可以取其中的一到两个单元,但比例控制单元是必不可少的。PID 控制之所以广泛使用:首先,PID 应用范围广。虽然很多工业过程是非线性或时变的,但通过简化可以变成根本线性和动态特性不随时间变化的系统,这样 PID 就可控制了。其次,PID 参数较易整定。

38、也就是,PID 参数 Kp,Ki 和 Kd 可以根据过程的动态特性及时整定。如果过程的动态特性变化,例如可能由负载的变化引起 单级倒立摆的智能控制及 GUI 动画演示17系统动态特性变化,PID 参数就可重新整定。第三,PID 控制在实践中也不断的得到改良。在一些情况下针对特定的系统设计的 PID 控制控制得很好,但它们仍存在一些问题需要解决。比方:在以模型为根底的自整定中,如何替 PID 参数的重新整定实时寻找并保持好过程模型是比拟困难的。闭环工作时,如果控制过程中插入一个测试信号。此时 PID 控制器就会产生扰动,所以基于模型的 PID 参数自整定在工业应用不是太好。在基于控制律的自整定中

39、,难以区分干扰是由负载变化还是由过程动态特性变化引起的,因此在干扰的影响下控制器会发生超调,造成系统产生一个多余的自适应转换。另外,目前还没有一个比拟成熟的方法来对基于控制律的系统进行稳定分析,所以参数整定并不是完全可靠,因此,许多系统本身整定参数的 PID 控制经常工作在自动整定模式而不是连续的自身整定模式。自动整定通常是指根据开环状态确定的简单过程模型自动计算 PID 参数。但 PID 依旧存在不可弥补的缺点:PID 在控制非线性、时变、耦合或者当参数和结构呈现动态的复杂过程中,发挥地不是太好。最重要的是,如果 PID 控制器控制的过程过于复杂,此时无论如何调整参数 PID 工作的效率都不

40、太尽如人意。即便存在这些缺点,PID 却依旧是最简单最高效的控制方法。4.2 PID 控制系统设计的原理在模拟控制系统中,控制器中最常用的控制规律是 PID 控制。模拟 PID 控制系原理框图如图 4-1 所示。系统由模拟 PID 控制器和被控对象组成。 =0R s E s Y s U s F sF 1Gs KD sPID图 4.1 模拟 PID 控制系统原理图PID 控制器是一种线性控制器, 单级倒立摆的智能控制及 GUI 动画演示18它根据给定值与实际输出值构 成控制偏差 trintyout 4-3tyouttrinterrorPID 控制规律为 4-4tDpdttderrorTdtter

41、rorTterrorktu011或者写成传递函数的形式为 4-5 sTsTksEsUsGDp111式中,为比例系数;为积分时间常数;为微分时间常数。pkiTDT简单来说,PID 控制各校正环节的作用如下。(1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,terror控制器立即产生控制作用,以减少偏差。(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之那么越强。iTiT(3)微分环节:反响偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,使系统的动作速度加快,减少调节时间。4.3 摆杆角度控

42、制摆杆角度控制问题区别于其他标准控制问题,在这里输出来是摆杆的位置,它的初始位置为垂直向上,我们通过给系统施加一个扰动,来观察摆杆的响应。系统框图如图 4-2 所示。 R s E s Y s U s F sF 1Gs KD sPID 图 4-2 倒立摆系统控制结构 单级倒立摆的智能控制及 GUI 动画演示19图中KDs是控制器传递函数,Gs是被控对象传递函数。考虑到输入rS=0,结构图可以很容易的变换成: F sF U s Y s 1Gs KD sPID图 4-3 倒立摆系统控制结构被控对象的传递函数是: 4- dennumsqbmglsqmglMmsqmlIbssqmlsUs232426 其

43、中, 22mlmlIMmqPID 控制器的传递函数为: 4- 22sKsKsKsKKsKsKDIpDIPD74.4 小车位置控制 前面的讨论只考虑了摆杆角度,那么,在我们施加控制的过程中,小车位置如何变化呢考虑小车位置,得到改良的系统框图如下: F sF U s E s =0R s 1Gs KD s 2GsPIDx 单级倒立摆的智能控制及 GUI 动画演示20图 4-4 改良后系统结构图其中,是摆杆的传递函数,是小车的传递函数。1G2G由于有信号输入,可以将系统结构变成: F sF U s X s 1Gs KD sPID图 4-5 改良后系统结构图其中,反响环表示我们之前设计的控制器。 根据之

44、前的推导: 4- ssgmlmlIsX228可以推出小车位置的传递函数为: 4-9 sqbmglsqmglmMsqmlIbsqmglsqmlIsUsXsG2324222其中, 22mlmlIMmq4.5 PID 控制算法的 MATLAB 仿真PID 控制仿真程序如下:% - pid1.m -% 摆杆角度PID控制% 输入倒立摆传递函数 G1(S)=num1/den1M = 1;m = 0.1;b = 0.1;I = 0.0034;g = 9.8;l = 0.3;q = (M+m)*(I+m*l2)-(m*l)2; num1 = m*l/q 0 0;den1 = 1 b*(I+m*l2)/q -

45、(M+m)*m*g*l/q -b*m*g*l/q 0;% 输入控制器PID数学模型 Gc(s)=numPID/denPIDKp = 2;Ki = 2; Kd = 2; 单级倒立摆的智能控制及 GUI 动画演示21numPID = Kd Kp Ki;denPID = 1 0;% 计算闭环系统传递函数G(s)=num/den% 多项式相乘num = conv(num1,denPID);% 多项式相加den = polyadd(conv(denPID,den1),conv(numPID,num1 );% 求整个系统传递函数的极点r,p,k = residue(num,den);% 显示极点s = p

46、 % 求取多项式传递函数的脉冲响应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 -% 求两个多项式之和 functionpoly = polyadd(poly1,poly2)if length(poly1) 0 poly = ze

47、ros(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秒。 单级倒立摆的智能控制及 GUI 动画演示22PID 控制器系数取,闭环系统极点为:2PK2IK2DK 002333. 07635. 12695.11-=s脉冲响应曲线如图4-6所示 00.511.522.533.544.550123456

48、78910Impulse ResponseTime (sec)Amplitude图 4-6 脉冲响应曲线有两个闭环极点位于 S 平面右半部,所以系统不稳定。从系统响应曲线也可以看出,系统响应是不稳定的不能满足要求,需要不断调整系数,pKIK,直到获得满意的控制结果。我们先增加了比例系数,观察它对响应的DKpK影响,取,闭环极点为:150pK2DK2IK()000.0071-25.0820i- 4.6328-25.0820i+ 4.6328-=s系统脉冲响应曲线如图 4-7 所示 单级倒立摆的智能控制及 GUI 动画演示230.20.40.60.811.21.4-0.15-0.1-0.0500.

49、050.10.15Impulse ResponseTime (sec)Amplitude图 4-7 系统脉冲响应曲线系统闭环极点均位于 S 平面左半部,系统稳定。系统稳定时间约 2s,满足要求由于此时稳态误差为 0,所以不需要改变积分环节;系统响应的超调量较大,为了减小超调,增加微分系数,取,响应曲线如图 4-8 所示:DK10DK00.050.10.150.20.250.30.350.40.45-0.08-0.06-0.04-0.0200.020.040.060.08Impulse ResponseTime (sec)Amplitude图 4-8 增加后系统响应曲线DK 单级倒立摆的智能控制

50、及 GUI 动画演示24系统响应满足指标要求。4.6 本章小结在这一章节中,我采用了控制器最常用的控制方式 PID 控制方法对倒立摆进行控制,因为 PID 控制是将比例偏差P 、积分I 、和微分D通过线性组合构成了控制量,以此来对被控对象进行控制,所以在设计的过程中,必须要非常了解控制参数、对系统性能的影响,然后按照所要求的控pKIKDK制指标综合实际响应结果适当的调节参数。在利用 MATLAB 进行仿真的过程中可以进行屡次调试,可以选取多组数据,取得最好的输出仿真效果。 单级倒立摆的智能控制及 GUI 动画演示255 基于 GUI 的倒立摆 LQR 控制动画演示5.1 GUI 介绍GUI 即

51、图形用户界面Graphical User Interface的简称,又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。GUI 是借鉴并结合了计算机科学、美学、心理学、行为动作学及商业领域分析学的人机系统工程,将人机环境三者作为一个整体系统总体设计。与以往的计算机命令界面相比,GUI 更容易让用户在视觉上得到接受,并获得很好的用户体验。此次演示采用了 GUI 技术,采用了论文第三章中的倒立摆模型的介绍和最优 LQR 控制算法,实现了倒立摆控制的动画演示。5.2 演示程序的构成演示程序主要包括以下几个局部。1、主程序:DLB.M。2、演示界面程序:DLB.fig,利用 GUI 来实现,在

52、 matlab 命令框内输入“open DLB.fig即可翻开演示界面。3、倒立摆示意图:MODEL.jpg,采用画图软件设计。5.3 主程序的实现(1)采用最优 LQR 控制算法来实现倒立摆和小车的控制,主程序 DLB.m包括以下几个局部。(2)模型参数的设定:采用 mc_CreateFcn()、mc_Ca33back()实现小车质量的设定,采用同样的方式可以实现对摆杆长度和质量的设定。(3)LQR 参数设定:采用 qi_CreateFcn()和 qi_Callback()实现。4321, iqi采用 r_CreateFcn()和 r_Callback()实现 R。(4)利用 LQR 计算

53、K:由 lqrok_Callback(完成。(5)K 的设定:采用 ki_CreateFcn()和 ki_Callbak()实现。4 , 3 , 2 , 1iKi,(6)摆杆角度和小车位置初始值设定:实现小车水平位置设定与回调 、小车水平拖动条设定与回调,摆杆角度设定与回调、摆杆角度拖动条的创立与回调。 单级倒立摆的智能控制及 GUI 动画演示26(7)干扰的输入:干扰主要包括有冲击、阶跃和正弦等三种。(8)仿真时间和步长的设定:主要利用 Tedit_CreateFcn()和Step_CreateFcn()来实现。(9)仿真启动的设定。(10)重置按钮:利用 reset_Callback(),

54、实现倒立摆模型参数和 LQR 参数的重置。(11)退出按钮:exit_callback()。5.4 演示界面的设计首先在 MATLAB 环境命令框内输入“guide便可进入 GUI 设计界面。此次设计的 GUI 界面文件为 DLB.fig,创立并保存该文件的同时,系统会自动生成主程序框架 DLB.m。在主程序 DLB.m 框架下,通过相应的 GUI 组建回调函数中描述模型和编写控制算法。通过 MATLAB 环境下执行“guide DLB.fig即可翻开 GUI 编辑界面。此次演示设计中,采用了 GUI 开发环境的触控按钮、静态文本、可编辑文本、滑动条、坐标轴等系统组件。以小车的水平位置的界面设

55、计为例,首先建立小车水平位置的 Edit text,将其属性 tag 标签定义“in_po。基于 GUI 的倒立摆 LQR 控制演示主界面如图 5-1 所示。 单级倒立摆的智能控制及 GUI 动画演示27图 5-1倒立摆 LQR 控制演示主界面5.5 演示过程1、通过一下 4 个步骤即可实现对倒立摆的动画演示。2、输入倒立摆的参数:包括倒立摆摆杆质量 m 和长度 L,还有小车质量M。3、通过“初始值下的“水平位置和“摆杆角度可设定倒立摆和小车的初始角度及位置;选择一种干扰输入正弦、冲击、阶跃 ,并设定干扰输入的幅值。4、根据控制系统要求的性能输入控制器设计参数和 R,点击4321qqqq、“确

56、定即可得到控制器增益“K。5、点击“启动仿真便可以实现倒立摆的动态仿真演示。6、模拟仿真实例:取 m=1.5,l=1.5,M=1.5,令小车初始时刻的水平位置为 0.5,摆杆的角度为 0.15。控制器的参数设定为,61q62q63q和,利用 LQR 方法求长,计算可得控制器增益63q4R7、。6207. 32247. 14387.208494.75K8、设定仿真时间为 5 秒,步长 0.1。9、点击“启动仿真图标,可得到如下仿真结果如图 5-2 所示。 单级倒立摆的智能控制及 GUI 动画演示28图 5-2倒立摆 GUI 动画演示效果图5.6 本章小结在这一章中我主要设计了一个以 LQR 最优

57、控制为根底的 GUI 倒立摆仿真动画。GUI 是包含了图形窗口,如窗口、图标、菜单和文本的用户界面,让使用者可以通过点击按钮来激活程序,计算时机输出一些比拟精致的动画和一些必须的数据波形图。因为 GUI 各个局部都需要单独设计程序但是各局部又需要相互联系,所以设计的过程需要仔细核对,然后进行不断的调试以此获得最好的显示效果。 单级倒立摆的智能控制及 GUI 动画演示296 结论此次论文设计主要包括了倒立摆系统数学模型的建立,利用Matlab/simnlink 对不同控制方式下的倒立摆系统进行仿真,最后利用图形界面GUI 工具设计倒立摆的仿真效果动画演示。在设计的过程中我得到了以下几点结论:(1

58、)建立一阶倒立摆系统的数学模型,通过实际的数学模型的推导,加深对系统建模和模型线性化问题的理解,另外给系统参加输入信号,进行 Matlab仿真,理解不稳定极点对系统稳定性的影响。(2)通过利用不同的控制方法对倒立摆系统进行控制,比拟两种控制方法的优缺点及各自适用的实际环境。但由于实际系统的物理特性难以获取,因此光凭理论上获取的数据难以得到满意的仿真结果,因此需要屡次取样,屡次实验,最终获得比拟满意的结果。(3)对于倒立摆控制的动画演示,因为 GUI 是一项结合了计算机科学、美学、行为学及商业领域需求分析的人机系统工程,强调人机环境三者作为一个系统进行总体设计,因此需要对细节和用户体验方面做出不

59、断的改良,到达最正确的显示效果。最后对未来的工作做出一些展望:(1)完善倒立摆系统的模型建立,不仅仅局限于 PID 算法。(2)在最优控制或 PID 控制的根底上结合其他控制方法,例如模糊控制、自适应鲁棒控制等,来到达改善控制效果的目的,实现倒立摆的实时控制。(3)通过对倒立摆系统的控制方法的研究,熟悉控制方法的原理,能够发散运用在今后的工作中。 单级倒立摆的智能控制及 GUI 动画演示30致 谢本文从选题到完成的整个过程,得到指导老师 XXX 的悉心指导。XXX 老师渊博的学识,谦虚、严谨的治学态度、灵活的思维方式、认真的工作作风和对学生的关心都令我佩服不已,谆谆教诲使我受益匪浅,这必将在今

60、后的学习和工作中给我鼓励和鞭策,为以后步入社会、适应工作奠定良好的根底。在此,本人由衷的表示的感谢!感谢徐州师范大学电气工程及自动化学院的老师们在这四年里不仅在专业的学习上给予我的帮助,更感谢他们在我的为人处事上给予的教诲。在论文的完成过程中,还得到其他学院多位老师和同学的热情帮助,在此表示感谢!感谢评审论文的各位专家、老师为本文提出的珍贵的意见。最后,向所有曾给予我关心和帮助的师长、朋友及家人表示感谢! 单级倒立摆的智能控制及 GUI 动画演示31参考文献1 张静.MATLAB 在控制系统中的应用M.北京:电子工业出版社,20072 于子松,那文鹏.单级倒立摆建模及其控制方法设计J.电脑知识与技术2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论