1、1存档日期: 存档编号: 论 文 题 目: 单级倒立摆的智能控制及 GUI 动画演示 姓 名: XX 系 别: 机电工程系 专 业: 电气工程及其自动化 班 级 、 学 号 : 指 导 教 师: xxx 摘 要倒立摆系统是一个典型的快速、多变量、非线性、动态系统,对于倒立摆的控制研究无论在理论上和方法上都有深远的意义。本文主要研究内容是:首先概述自动控制的发展和倒立摆系统研究的现状;介绍倒立摆系统硬件组成,对单级倒立摆模型进行建模,并分析其稳定性如何构成;研究倒立摆系统的几种控制方式,并设计出对应的控制器,以 MATLAB软件为平台为,经行大量的模拟仿真实验,对不同控制方法的效果及优缺点作出总
2、结;利用 MATLAB 软件中的 GUI 组件设计出模拟的倒立摆系统演示系统,让大家能直观的了解控制方法的作用。关键词:倒立摆, PID 控制器, MATLAB,GUIIAbstractInverted Pendulum System is a typical multivariable, nonlinear, fast, dynamic system.On inverted pendulum control both in theory and methodology will have far-reaching significance.The main research content
3、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 stability. Research on several types of In
4、verted 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 Software design the mimetic demo system of Inve
5、rted Pendulum System. In order to let everyone can intuitive understand the role of control method.Keywords: Inverted Pendulum, PIDController , Malatb , GUIII目 录摘 要 .IAbstractII1 绪论 11.1 课题研究背景及意义 .11.2 倒立摆系统介绍及其研究意义 .11.3 本论文的主要工作 .22 单级倒立摆的数学模型 32.1 模型的推导原理 .32.2 单级倒立摆系统描述 32.3 单级倒立摆系统数学建模 .42.4 本
6、章小结 .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 主程序的实现 .245.4 演示界面的设计 .255.5 演示过程 .
7、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小 车 M2.1 单级倒立摆系统的原理图 单级倒立摆的智能控制及 GUI 动画演示3图中 u 是施加于小车的水平方向的作用力,x 是小车的位移, 是摆的倾斜角。若不给小车施加控制力,倒摆会向左或向右倾斜,控制的目的是当倒摆出现偏角时,在 水平方向上给小车以作用力,通过小车的水平运动,使倒摆保持在垂直的位置。即控制系统的状态参数,以保持摆的倒立稳定。2.3 单级倒立摆系统数学建模为了建立倒立摆系统的数学模型,先作如下假设:(1)倒
14、立摆与摆杆均为匀质刚体。(2)忽略倒立摆运动过程中的摩擦。2.3.1 结构参数倒立摆是不稳定的,如果没有适当的控制力作用在它的上面,它将随时可能向任何方向倾倒。这里只考虑二维问题,即认为倒立摆只在平面内运动。控制力 u 作用于小车上。摆杆长度为 L,质量为 m,小车的质量为 M,小车瞬时位移为 x,摆杆瞬时位置为 ,在外力的作用下,系统产生运动。假 ()sin+lx设摆杆的重心位于其几何中心。设输入为作用力 u,输出为摆角 。2.3.2 系统的运动方程图 2-2 是系统中小车和摆杆的受力分析图。其中, 和 为小车与摆杆相NP互作用力的水平和垂直方向的分量。注意:在实际倒立摆系统中监测和执行机构
15、的正负方向已经事先确定,因此得到如下矢量方向定义图,图中箭头所指方向即为倒立摆系统的矢量正方向。应用 Newton 方法来建立系统的动力学方程过程如下:分析小车水平方向所受的合力,可以得到方程: NxbFM小 车 MxbNFP1LNmgP(a)小车隔离受力图 (b)摆杆隔离受力图图 2-2 小车和摆 杆的受力分析图单级倒立摆的智能控制及 GUI 动画演示4通过对摆杆水平方向的受力进行分析可以得到下面等式:(2-1)2(sin)dNmxlt即: 2cosiNmxll把这个等式代入上式中,就得到系统的第一个运动方程:(2-2) FmllxbMsincos)( 2接下来推出系统的第二运动方程,我们对
16、摆杆垂直方向上的合力进行了分析,得到下面方程:(2-2(cos)dPglt3)即: (2-2sincosPmgll4)力矩平衡方程如下:(2-INlPlcossin5)注:上式中力矩的方向,由于 ,故等sini,s, 式前面有负号。合并这两个方程,经过处理,得到第二个运动方程:(2-cossin)(2xmlglmlI 6)2.4 本章小结因为倒立摆系统具有非常典型的非线性、变量多以及不稳定性,以倒立摆系统作为被控对象的控制系统可以直观的表现许多抽象的控制概念。因此这一章的目的是建立单级倒立摆的数学模型,通过对倒立摆数学模型的推导,加深对系统建模和模型线性化问题的了解,同时对系统建立数学模型也是
17、一个系统单级倒立摆的智能控制及 GUI 动画演示5分析、设计的前提,一个准确又简练的数学模型可以极大的减少后期的工作量,降低解决问题的难度。3 最优控制方法设计3.1 最优控制概述控制系统的最优控制问题一般提法为:对于通过动态方程来描述的系统,在特定的初始和最终状态条件下,在系统所规定的控制系统集合中寻找一个控制,令测试系统的性能目标函数最优化。最优控制问题的完整描述要包括以下个方面。(1)系统的动态方程,大多数情况下只需要有系统的状态方程。对于连续的系统,其状态方程为(3-tuxft,1)对于离散系统,其状态方程为(3-kuxfkx,12)系统状态方程指出了系统内部状态由于系统控制输入的改变
18、而变化,或者说是内部状态的一种约束关系。(2)系统状态的始端和终端条件。系统的状态方程定义了系统状态在整个控制过程中的约束关系,始端和终端条件却给出了系统状态在系统控制开始和结束时刻的约束条件。端点条件包括以下三种类型:固定端、自由端、和可变端。固定端就是指时间和状态值都确定的端点。例如,初始时间 及其初始状0t态 都固定就是称初始固定条件,而终端时间 及其终端状态 都固定0tX ftfX就称终端固定条件。一般来说,最简单的状态就是始、终端都确定的状态。自由端是指端点时间固定,但端点的状态值不受任何限制。分为始端或终端自由两种。可变端就是端点时间及其状态值都不确定的端点。但它一般都有一定的约单
19、级倒立摆的智能控制及 GUI 动画演示6束条件,例如 ,或 。0ftC0,ftXN(3)系统控制域。在实际控制系统中,控制输入 通常是无法任意取值tu的,例如作为伺服电机,其输出力矩就有最大力矩的限制。因此多数最优控制问题中,必须给定一个允许的控制域。(4)系统目标泛函,即系统的性能指标。因为最优控制问题中的性能指标一般都是一个函数的函数,即泛函,所以称系统目标泛函。对于连续时间系统,目标泛函一般为(3-ftf dtuxLxJ0,3)对于离散时间系统,目标泛函一般为(3-10,lkkuxLJ4)以上泛函称为综合型,其第一部分表示对系统的终端状态的要求,而第二部分表示对系统的整个控制过程的要求。
20、如果系统目标泛函只取以上指标中的第一项,即(3-ftxJ5)或(3-lxJ6)那么称为终端型性能指标。反之若只取其中第二部分,即(3-ft dtuxLJ0,7)或(3-10,lkkuxLJ单级倒立摆的智能控制及 GUI 动画演示78)则称为积分型性能指标。最优控制问题就是在上述(1) , (2) , (3)点所定义的问题空间内找到一个控制 ,使得系统目标泛函 J 达到最大或最小。这样的控制 就称为系统tU tU的最优控制 ,将 代入系统方程就可以解得系统的状态轨迹 。tt tX3.2 最优控制器的设计我们的输入是脉冲量,并且在设计控制器时,只能对摆杆的角度进行控制,而对小车的位移并不做考量。但
21、是,对一个倒立摆系统来说,把它作为单输出系统是不严谨也不够科学,因此如果将倒立摆系统作为多输出系统来设计,用状态空间法分析要相对简单一些,在这一节我们将设计一个对摆杆角度和小车位移都进行控制的系统。下面的公式即倒立摆系统的状态方程:(3-DuCXYBA9)设定倒立摆的相关参数为:小车质量 0.5 KgM摆杆质量 0.2 Kgm小车摩擦系数 0.1 N/m/secb摆杆转动轴心到杆质心的长度 0.3 ml摆杆惯量 0.006 kg*m*mI采样时间 0.005 秒T根据以上的条件,可建立如下的状态方程系数矩阵:; ; ;018.345.0672A 54.0812.B01CD最优控制的前提条件是系
22、统是能控的,下面来判断一下系统的能控能观性。单级倒立摆的智能控制及 GUI 动画演示8系统的能控矩阵的秩 。234rankBAB系统的能观矩阵的秩 。C故系统是能控能观的。因此通过给系统加上最优控制器可以使得系统闭环稳定,同时符合暂态性能指标。采用 LQR 最优控制算法进行控制器设计时,关键就是取得反馈向量 的值,而通过上节推导可知,设计系统状态反馈控制器K时,主要的问题同样是二次型性能指标泛函中加权矩阵 和 的取值。如何才QR能使问题思路清晰并且加权矩阵具有比较明确的物理意义是设计关键。在这里我们令 取为对角阵。假设Q;43210QrR这样得到的性能指标泛函为(3- 0 2423221 dt
23、ruxxQJ10)由上式可以看出, 是对 的平方的加权, 的相对增加就代表了对iixiQ的要求更加严格,占据了更大比重的性能指标,也就是减小了 的偏差状态。ix ix是对控制量 的平方加权,当 相对较大时,代表了控制费用增加,此时rur控制能量较小,反馈减弱,系统动态反应迟缓,但是当 值变小时,系统的控r制费用也相应减小,此时反馈增加,系统动态响应更加迅速。由于一阶倒立摆系统在运行过程中,系统的输出量 和 作为主要的被控x量,由于 代表小车位置的权重,而 是摆杆角度的权重,因此在选取加权1Q3Q对角阵 的各元素值时,只选取了 、 ,而 。1 042但是在选取 和 时需要注意以下几点:R(1)我
24、们采用的系统模型是线性化的结果,所以要求系统能够在线性范围单级倒立摆的智能控制及 GUI 动画演示9内工作,此时各状态量不应过大。(2)为了克服系统的非线性摩擦,闭环系统需要一对共轭复数极点,但系统对噪声过于敏感,因此需要控制系统主导极点的模在一定范围内避免系统频带过宽,导致系统不能正常工作。(3)加权矩阵 的减小,会导致大的控制能量,应注意控制 的大小,将R U系统执行机构的能力控制在额定范围内,避免放大器处于过饱和状态。控制系统如图 3-1 所示,图中 R 是施加在小车上的阶跃输入,四个状态量分别是小车位移 、小车速度 、摆杆位置 和摆杆角速度 ,输出 包xx,xy括小车位置和摆杆角度。我
25、们要设计的目标是,当给系统施加一个阶跃输入时,摆杆会摆动,但通过控制器的调整然后回到垂直位置,并且小车到达新的命令位置。xAByCKRy+图 3-1 控制系统图3.3 最优控制 MATLAB 仿真最优控制仿真程序如下:% - lqr1.m -% 最优控制% 确定开环极点的程序如下M = 0.5;m = 0.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*
26、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;0 0 y 0单级倒立摆的智能控制及 GUI 动画演示100 0 0 0;R = 1; K = lqr(A,B,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); p
27、lot(T,Y(:,1),:,T,Y(:,2),-)legend(Cart Position,Pendulum Angle)grid% - end -(1)运行 LQR1.M,可以确定系统的开环极点为 0、5.5651、-0.1428 、-5.6041,可以看出有一个极点位于 S 平面的右半部分,这说明开环系统不稳定。(2)在取 的条件下,得到反馈控制向1014221 RQQ,量 459.368.57.0.K(3)LQR 控制的阶跃响应如图 3-2 所示。其中,实线表示摆杆角度,虚线表示小车位置。从图中可以看出,系统响应的超调量很小,而且摆杆的稳定和上升所消耗的时间偏长,小车向相反的方向移动是
28、像预计的跟随摆杆移动。单级倒立摆的智能控制及 GUI 动画演示110 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.25-0.2-0.15-0.1-0.0500.050.1Cart PositionPendulum Angle图 3-2 系统响应曲线 可以发现,在 矩阵中,增加 降低摆杆稳定所消耗的时间和上升时间,Q1并且使摆杆的摆动幅度减小。在这里取 ,在 ,则 450Q1503 2.6.36.27-7.08-=K响应曲线如图 3-3 所示。单级倒立摆的智能控制及 GUI 动画演示120 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-3-2-10123x 10
29、-3Cart PositionPendulum Angle图 3-3 系统响应曲线此时,如果再增加 和 值,系统的响应还会改善。但在保证 和1Q3 1Q足够小的情况下,系统响应已经满足要求了。3Q上述的设计中,是在输出信号得到反馈之后与系数矩阵 K 相乘,然后再减去输入量,即可得到控制信号。但是,这样会导致输入和反馈的量纲相异,因此为了不发生这样的矛盾,我们可以给输入乘以一个增益 NBar,如图 3-4 所示xAByCKRy+arNB图 3-4 控制系统框图此时具有量纲匹配的最优控制 LQR 仿真文件 LQR2.m 如下:% 最优控制(量纲匹配) % 确定开环极点的程序如下M = 0.5;m
30、= 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;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
31、,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;% 求阶跃响应并显示,小车位置为虚线,摆杆角度为实线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 -在仿真的过程中需要用到输入/输出匹
32、配系数函数 rscale,由于它不是 Matlab工具,因此需要将其拷贝到 rscale.m 文件中,并将其与源文件 LQR2.m 一起复制到 Matlab 工作区内,方可正常仿真,rscale.m 如下:% - rscale.m -% 求取输入输出匹配系数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 来计算
33、,运行程序,计算出:NK = -70.7107 -37.8345 105.5298 20.9238即 Nbar=rscale -70.7107 ,可以看出,事实()=0nKCBArscaleb上 Nbar 和 K 向量中与小车位置 对应的那一项相等。此时系统的响应曲线如图x3-5 所示:0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.2-0.15-0.1-0.0500.050.10.150.20.25Cart PositionPendulum Angle图 3-5 系统响应曲线从系统曲线上反映出,小车位置跟踪输入信号,并且摆杆超调足够小,稳态误差满足要求,上升时间和稳定时间
34、也符合了设计指标。3.4 本章小结最优控制理论是现代控制理论中的重要内容,过去因为许多复杂的计算难以实现,但随着计算机技术的不断进步,复杂的计算可以通过计算机进行处理,因此最优控制在工程技术应用的越来越广泛。而最用控制算法(LQR)的目的是在一定性能指标下,使系统获得最佳的控制效果,达到最小的状态误差。在仿真的过程中我首先对倒立摆系统如何缩短稳定时间和上升时间进行了仿真,通过不断的调试,使得系统的响应时间满足了设计要求。然后为了使系单级倒立摆的智能控制及 GUI 动画演示15统输入和反馈的量纲相互匹配,给输入乘以了增益 Nbar,然后进行仿真之后使得小车位置跟踪输入信号,而且摆杆超调最够小,稳
35、态误差满足了要求,上升时间和稳定时间也满足设计指标。单级倒立摆的智能控制及 GUI 动画演示164 单级倒立摆的 PID 控制系统设计4.1 PID 控制概述在工业自动化设备中,常采用由比例、积分、微分控制策略形成的校正装置作为系统的控制器。 自从计算机进入控制领域以来,用数字计算机代替模拟计算机调节器组成计算机控制系统,可以用软件编写实现 PID 控制算法,并且运用计算机的逻辑功能,更加灵活的控制工业中的自动化设备。在生产过程中数字 PID 控制器是一种比较常见的控制器,它通过将偏差的比例、积分、和微分进行线性组合由此构成控制量,对被控对象进行控制,因此被称为 PID 控制器。PID 控制器
36、至今依旧是应用最广泛的工业控制器。PID 控制简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。当今的自动控制技术都是基于反馈的概念。反馈理论包括三个要素:测量、比较和执行。反馈的过程就是测量关心的变量,和期望值进行比对,得到误差后调节控制系统的响应。PID 控制由比例单元(P ) 、积分单元(I)和微分单元( D)组成。其输入e (t)与输出 u (t)的关系为 01()tp DdetutKetT(4-1) 因此它的传递函数为:(4-2)()()sTsEUGDIp+1=需设定三个参数(Kp, Ki 和 Kd)即可。在很多情况下,并不一定需要全部三个单元,可以取其中的
37、一到两个单元,但比例控制单元是必不可少的。PID 控制之所以广泛使用:首先,PID 应用范围广。虽然很多工业过程是非线性或时变的,但通过简化可以变成基本线性和动态特性不随时间变化的系统,这样 PID 就可控制了。其次,PID 参数较易整定。也就是,PID 参数 Kp,Ki 和 Kd 可以根据过程的动态特性及时整定。如果过程的动态特性变化,例如可能由负载的变化引起单级倒立摆的智能控制及 GUI 动画演示17系统动态特性变化,PID 参数就可重新整定。第三,PID 控制在实践中也不断的得到改进。在一些情况下针对特定的系统设计的 PID 控制控制得很好,但它们仍存在一些问题需要解决。比如:在以模型为
38、基础的自整定中,如何替 PID 参数的重新整定实时寻找并保持好过程模型是比较困难的。闭环工作时,如果控制过程中插入一个测试信号。此时 PID 控制器就会产生扰动,所以基于模型的 PID 参数自整定在工业应用不是太好。在基于控制律的自整定中,难以区分干扰是由负载变化还是由过程动态特性变化引起的,因此在干扰的影响下控制器会发生超调,造成系统产生一个多余的自适应转换。另外,目前还没有一个比较成熟的方法来对基于控制律的系统进行稳定分析,所以参数整定并不是完全可靠,因此,许多系统本身整定参数的 PID 控制经常工作在自动整定模式而不是连续的自身整定模式。自动整定通常是指根据开环状态确定的简单过程模型自动
39、计算 PID 参数。但 PID 依旧存在不可弥补的缺点:PID 在控制非线性、时变、耦合或者当参数和结构呈现动态的复杂过程中,发挥地不是太好。最重要的是,如果 PID 控制器控制的过程过于复杂,此时无论如何调整参数 PID 工作的效率都不太尽如人意。即便存在这些缺点,PID 却依旧是最简单最高效的控制方法。4.2 PID 控制系统设计的原理在模拟控制系统中,控制器中最常用的控制规律是 PID 控制。模拟 PID 控制系原理框图如图 4-1 所示。系统由模拟 PID 控制器和被控对象组成。=0RsEs YsUsF1GKDsPI图 4.1 模拟 PID 控制系统原理图PID 控制器是一种线性控制器
40、,单级倒立摆的智能控制及 GUI 动画演示18它根据给定值 与实际输出值 构 成控制偏差 trintyou(4-3)tyoutrinePID 控制规律为(4-4)t Dp dterTterTteroktu01或者写成传递函数的形式为(4-5)sksEUGDp1式中, 为比例系数; 为积分时间常数; 为微分时间常数。pkiTT简单来说,PID 控制各校正环节的作用如下。(1)比例环节:成比例地反映控制系统的偏差信号 ,偏差一旦产生,tero控制器立即产生控制作用,以减少偏差。(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数 , 越大,积分作用越弱,反之则越强。
41、iTi(3)微分环节:反应偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,使系统的动作速度加快,减少调节时间。4.3 摆杆角度控制摆杆角度控制问题区别于其他标准控制问题,在这里输出来是摆杆的位置,它的初始位置为垂直向上,我们通过给系统施加一个扰动,来观察摆杆的响应。系统框图如图 4-2 所示。RsEs YsUsF1GKDsPI图 4-2 倒立摆系统控制结构单级倒立摆的智能控制及 GUI 动画演示19图中KD(s)是控制器传递函数,G(s)是被控对象传递函数。考虑到输入r(S)=0,结构图可以很容易的变换成: FsUsYs1GKDs PI图 4-3 倒立摆系统
42、控制结构被控对象的传递函数是: (4-denumsqbglsqmlMsqlIbslU232426) 其中, 22llImPID 控制器的传递函数为:(4-2sKsKsKDIpDIP7)4.4 小车位置控制 前面的讨论只考虑了摆杆角度,那么,在我们施加控制的过程中,小车位置如何变化呢考虑小车位置,得到改进的系统框图如下:FsUEs=0Rs 1GsKD2sPI x单级倒立摆的智能控制及 GUI 动画演示20图 4-4 改进后系统结构图其中, 是摆杆的传递函数, 是小车的传递函数。1G2G由于有信号输入,可以将系统结构变成:FsUsXs1GsKDsPI图 4-5 改进后系统结构图其中,反馈环表示我们
43、之前设计的控制器。 根据之前的推导:(4-sgmlIsX28)可以推出小车位置的传递函数为:(4-9)sqbmglqlMsqmlIbsUXsG232422其中, 22llIMmq4.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 -(M+m)*m*g
44、*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 % 求取多项式传递
45、函数的脉冲响 应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) 0poly = zeros(1,mz),
46、short + long;elsepoly = 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 控制器系数取 , , ,闭环系统极点为:2PKI2DK03.765.19.-=s脉冲响应曲线如图4-6所示 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5012345678910Impulse
47、ResponseTime (sec)Amplitude图 4-6 脉冲响应曲线有两个闭环极点位于 S 平面右半部,所以系统不稳定。从系统响应曲线也可以看出,系统响应是不稳定的不能满足要求,需要不断调整系数 , ,pKI,直到获得满意的控制结果。我们先增加了比例系数 ,观察它对响应的DK p影响,取 , , ,闭环极点为:150p2DKI( )0.71-25.08i- 4.63.8i+ 4.63-=s系统脉冲响应曲线如图 4-7 所示单级倒立摆的智能控制及 GUI 动画演示230.2 0.4 0.6 0.8 1 1.2 1.4-0.15-0.1-0.0500.050.10.15Impulse ResponseTime (sec)Amplitude图 4-7 系统脉冲响应曲线系统闭环极点均位于 S 平面左半部,系统稳定。系统稳定时间约 2s,满足要求由于此时稳态误差为 0,所以不需要改变积分环节;系统响