基于MATLAB的线性二次型最优控制算法及应用研究_第1页
基于MATLAB的线性二次型最优控制算法及应用研究_第2页
基于MATLAB的线性二次型最优控制算法及应用研究_第3页
基于MATLAB的线性二次型最优控制算法及应用研究_第4页
基于MATLAB的线性二次型最优控制算法及应用研究_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、基于MATLAB的线性二次型最优控制算法及应用研究摘 要早在上世纪50年代,世界上就出现了对于线性二次型最优控制LQ(Linear Quadratic)的研究。随着对LQ的不断深入研究,如今它已经成为了现代控制理论中最经典的最优控制之一。在各种关于对LQ的研究中,基于状态反馈控制器的研究是最为系统且完整的。而直线一级倒立摆系统作为研究控制理论的一种实验平台,它不但结构简单,价格低廉,而且可以反映出控制中的许多典型问题,从而使它在很多领域都得到了应用。MATLAB作为数字仿真领域中所使用的系统软件的代表,且又具有功能强大的函数库,能使研究者们便捷地实现现代控制理论的目标。 本文针对一阶线性系统,

2、以状态变量和控制输入变量构成的二次型函数为目标函数,研究了线性二次型最优控制算法中的三个主要研究方向,具体为状态调节器问题、输出调节器问题以及跟踪器问题,并分别给出数值算例进行了MATLAB仿真。最后以直线一级倒立摆系统作为具体的例子,研究了如何利用线性二次型最优控制实现倒立摆控制器设计,并给出系统模型及MATLAB仿真波形。该论文有图14幅,表2个,参考文献32篇。关键词:线性二次型最优控制 状态调节器 输出调节器 跟踪器 MATLAB 倒立摆系统IThe Algorithm and Application Research of Linear Quadratic Optimal Contr

3、ol based on MATLABAbstractIn early 1950, there appeared for the research of the linear quadratic optimal control LQ (Linear Quadratic) , with the deepening study of LQ, LQ has now become one of the most classical optimal control of the modern control theory. In many of research on LQ, one of them wh

4、ich based on state feedback controller is the most systematic and complete. And the linear inverted pendulum system as an experimental platform which research the control theory, it not only has the advantages of simple structure, low price, but also can reflect many typical control problem, so it h

5、as been applied in many fields.MATLAB, as the representative of the system software used in the field of digital simulation, and has a powerful function library, so it can make the researchers easily achieve the goals of modern control theory.In this paper, for the first-order linear system, the qua

6、dratic function formed by the state variable x and the control input variable U is the objective function,and studies three major issues in the linear quadratic optimal control algorithm,which are the state regulator problem, the output regulator problem and tracker problem, and gives the specific n

7、umerical examples and simulates these problems by MATLAB. Then this paper studies the application of linear quadratic optimal control in the inverted pendulum controller design, gives system model and the MATLAB simulation waveform.Key Words:Linear quadratic optimal control state regulator output re

8、gulator tracker MATLAB inverted pendulum system目 录摘要IAbstractII目录III图清单V表清单V1 绪论11.1 课题的研究背景及意义11.2 课题的研究现状21.3 本文研究工作与内容安排32 MATLAB基础42.1 简述42.2 MATLAB基本功能及特点42.3 M文件的使用52.4 本章小结73 线性二次型理论研究及MATLAB仿真83.1 线性二次型基本理论83.2 状态调节器问题研究93.3 输出调节器问题研究143.4 跟踪器问题研究173.5 本章小结224 线性二次型最优控制在倒立摆系统中的实现234.1 问题简述23

9、4.2 倒立摆系统的数学模型234.3 二次型最优控制器254.4 Simulink仿真274.5 本章小结315 总结与展望32参考文献33致谢35附录36图清单图序号图名称页码图3-1Q=1 0;0 1,R=1时状态调节器的单位阶跃响应仿真曲线13图3-2Q=100 0;0 1,R=0.01时状态调节器的单位阶跃响应仿真曲线14图3-3输出调节器的单位阶跃响应仿真曲线17图3-4Q=1,R=0.1时跟踪器的仿真曲线21图3-5Q=100,R=1时跟踪器的仿真曲线22图4-1一级倒立摆系统示意图23图4-2Q=1 0 0 0;0 0 0 0;0 0 1 0;0 0 0 0 时的仿真结果26图

10、4-3Q=1000 0 0 0;0 0 0 0;0 0 200 0;0 0 0 0 时的仿真结果27图4-4直线一级倒立摆的模型图27图4-5点击“matrix gain K”后的对话框显示28图4-6双击“Linear Stage”后的对话框显示28图4-7K=-1 -1.7855 25.422 4.6849 时的仿真结果29图4-8点击“matrix gain K”后的对话框显示29图4-9K=-31.6228 -20.1507 72.7181 13.1552 时的仿真结果30图4-10直线一级倒立摆加扰动状态下的模型图30图4-11K=-31.6228 -20.1507 72.7181

11、13.1552 时加扰动的仿真结果31表清单表序号表名称页码表4-1直线以及倒立摆中相关量的说明24表4-2实际系统的具体参数25V1 绪论早在1950年,就有人开始对于线性二次型最优控制LQ进行研究,到了现在LQ的研究理论不断成熟,已经成为现代控制理论中最经典的最优控制之一。在各种关于对LQ的研究中,基于状态反馈控制器的研究是最为系统且完整的。随着线性二次型最优控制理论的不断发展,LQ在诸如航空、航天、汽车、制导等多个领域中都实现了广泛的应用。本章主要介绍了线性二次型最优控制的研究背景、研究意义以及研究现状,最后是本文的研究内容和工作安排。1.1 课题的研究背景及意义对于每一个实际的控制系统

12、,都存在着多种控制方案,而最优控制就是指在考虑实际情况中的经济、时间、环境等各种因素的限制后,选择一种最优控制方案,使得系统构成了线性状态反馈。如今系统的最优控制问题越来越被研究者们所关注,这使得最优控制理论得到了迅猛发展,并在现代控制理论占有一个非常大的比重。线性二次型最优控制理论不断发展,研究人员发现线性二次型的最优控制解可以用统一的解析式来表示,即3,例如非线性系统的开环控制会产生较大的误差,但是若将它与所得到的线性二次型最优反馈控制结合在一起,这样就可以大大降低开环控制的误差。由于线性二次型最优控制问题的研究得到了很大的发展,故其在工程实践中应用广泛,不管是在航海、航空、建筑和制导等经

13、典应用方面,还是在社会经济系统和工程系统这种新型应用方面,线性二次型最优控制都发挥着重要的作用。在控制理论和计算机技术不断发展的基础上,研究人员们不断提出新的控制算法和控制技术。而倒立摆系统作为验证控制方法和理论的实验平台,其控制效果取决于控制理论和控制方法是否做得足够好。它的应用背景大多集中在工业控制系统设计和航天业的控制系统,比如火箭飞行、海洋钻井平台及两足机器人行走等等。这对倒立摆系统的研究发展有着极大的理论和实践意义,也在研究者们验证控制方法和理论的过程中成为了必不可少的一个环节。1.2 课题的研究现状研究人员发现,要想解决这类问题主要有两个方向,即基于状态反馈和基于输出反馈。其中第一

14、种方法是将状态反馈用于求解正常系统的LQR(Linear Quadratic regulator)问题,而如今它的理论方法已经较为完整且成熟,甚至可以用来求解广义系统4-5的LQR问题。其中文献6就总结了一个特殊的广义系统即连续线性时不变广义系统的关于LQ的研究成果7-9。在文献10中,作者通过引入广义时变系统脉冲可控和可观的概念,研究了该系统的线性二次型最优控制问题,让其在一定条件下等价转换成标准状态空间系统的线性二次型最优控制问题,并证明解存在且唯一时的充分条件,进而推导出解的表达分析式。在文献11-13中,作者继续深入研究,考虑了奇异系统二次型性能指标的最优控制这一更为特殊的问题,先是建

15、立了该问题与正常系统的最优控制问题的等价关系,再然后给出了实现等价转换的充要条件及最优解是如何具体表示的。后来,马树萍,程兆林在前面的研究基础上又着眼于讨论研究奇异系统的不定号 LQ 问题,同样地,和前面文献6中采用的方法相似,文献15-16根据其方法讨论了非方广义系统奇异二次型指标最优控制问题,和前面不同的是,作者将该问题划分为有限时间和无限时间两种情况,并针对这两种不同的情况给出了该问题在一些常规条件下的解,从而把最优控制问题转化成为最优状态的线性反馈。有了这些研究基础,文献17-18则考虑了非方广义系统LQ问题中带干扰抑制时的特殊情况,且得到了与文献19相似的结论。最近几年,依赖于不断发

16、展的科学技术,遗传算法和神经网络优化方法也渐渐在线性二次型最优控制领域20-22中占据了不小的应用发展空间。具有代表性的就是1990年,Lan和Chand用连续的Hopfield网络来求解线性定常系统的线性二次型最优控制问题23,以及1997年RuanX提出了一种基于离散的网络求解线性时变系统的LQR问题24。如果控制量的输入不是用状态反馈表示,而是采用输出反馈来表示,这时系统所利用的信息是不完整的,不像采用状态反馈时是基于所有的状态信息,这样就造成系统的性能指标达不到最优,此时这样的控制就被称之为次优控制。有关次优控制问题的研究可以追溯到上世纪六七十年代,在那个年代就有人在思考是否可以用其他

17、方法来解决二次型最优控制问题,其中在1987年Makila 和Toivone就如何计算线性二次型最优控制的参数提出了自己研究想法并取得了成功。近年来,人们开始尝试不同的方法来求解次优化问题,比如用线性矩阵不等式的方法28-29,给出了次优问题的解。1.3 本文研究工作与内容安排本文研究了线性二次型最优控制的三个典型问题即状态调节器、输出调节器以及跟踪器问题,并通过具体数值算例说明了三种问题的各种结论,并针对三种问题分别进行MATLAB仿真来验证结论,最后通过研究线性二次型最优控制在倒立摆系统中的应用对其理解得更加透彻。本文的主要内容研究安排如下:第一章 简单介绍了本文研究课题的研究背景和研究意

18、义以及课题的研究现状。 第二章 简单介绍了本文所要用到的MATLAB软件功能特点及其使用方法。 第三章 分析研究了线性二次型定常系统的状态调节器、输出调节器以及跟踪器问题,并举例进行MATLAB仿真。第四章 给出线性二次型最优控制在倒立摆系统中的应用,通过建立一级倒立摆系统的状态方程,依据线性最优控制理论设计了一个控制器,成功控制摆杆位置和小车位置。2 MATLAB基础2.1 简述本文以MATLAB为软件平台,对所研究算法以及控制系统进行仿真,因此本章给出MATLAB的一些基本功能以及下文设计中用到的相关工具。2.2 MATLAB基本功能及特点MATLAB的基本数据单位是无需定义维数的矩阵(M

19、atrix),它的指令表达式相比于数学、工程中常用的形式来讲变化不是很大,因而我们用MATLAB编写命令语句时,可以采用数学上的逻辑来编写解决问题的程序命令,这样的话整个程序会比较简单易懂,不会像使用C、FORTRAN等语言时的繁琐复杂,并且MATLAB也像Maple等软件一样,内置多种数值计算命令和各种工程计算,是一种具有强大数值计算力的数学软件。MATLAB经过多年的扩充和完善,现已具有丰富的函数库,用户不仅可以直接调用函数库中已有的程序,也可以自己编写一些能够完成指定功能的实用程序,然后保存成.m文件导入到MATLAB函数库中,大大扩展了MATLAB的功能范围。MATLAB作为MathW

20、orks一系列产品中的代表产品。其主要特点有:(1)高效方便的矩阵的数组运算矩阵作为MATLAB的基本数据单位,它的所有运算符都是被规定好了的。其中大部分运算符都与数组运算中的对应运算符具有相同的格式,但算术运算符是个例外,它在数组运算的基础上需要增加“.”才能实现运算。另外,矩阵不需要特别去定义维数,且MATLAB的工具箱内提供大量关于矩阵求解的各种函数,这是相对于其他高级语言来说不可比拟的优势。(2)直观灵活的语言MATLAB是一个高级的矩阵语言,用户可以直接在命令窗口中依次输入命令语句,然后按enter执行,同样也可以将复杂的程序写成一个.m文件来执行,这样可以简捷地开发自己的程序导入到

21、函数库中,以便之后要完成相同的功能时直接调用。(3)编程效率高MATLAB语言简洁紧凑,其语法结构比C语言更加符合我们书写计算公式的思维模式,我们编写MATLAB语句命令时可以直接按照数学公式的步骤与求解思路来进行,这就使得非计算机专业的研究人员使用起来同样很方便,易学易懂。MATLAB具有丰富的函数库,用户们可以直接调用函数库里的子程序,不需要自己花费精力再去编写常用的程序。MATLAB语言使用起来灵活方便,且程序书写形式自由,所以编程效率高。(4)出色的图形处理功能MATLAB可以生成多种图形,包括二维图形和三维图形,同时还可以为这些图形进行各种辅助操作如图形标注、坐标控制、坐标网格的添加

22、、图形保持、图形窗口分割等等。这些功能都依仗于MATLAB函数库提供的绘制曲线的各种基本函数。(5)开放性、可扩展性强MATLAB中所有的工具箱函数库都是可读可写的源文件,用户可以对其进行修改补充,从而形成新的库函数。用户也可以通过建立新的M文件来完成指定功能,还可以在已存在的函数中加入新的命令语句,从而成为新的功能算法。2.3 M文件的使用MATLAB有两种方法可以输入命令语句,第一种是直接在MATLAB命令窗口中输入命令语句,这种方法适合于命令语句条数较少的情况,相反,如果语句条数较多,再使用这种方法就会使得程序变得杂乱五章,且比较繁琐,不易保存和修改。为了解决这个问题,我们使用第二种方法

23、,即创建M文件。所谓M文件就是用户把要实现的语句统一写到一个文件扩展名为“.m”的文件中,然后保存运行,在命令窗口中显示出程序运行结果。当命令语句较多时,采用M文件方式可以避免直接在命令窗口中输入命令产生的缺点与隐患。事实上,MATLAB中的许多函数库都是由M文件演变而成的,用户也可以通过新建立一个完成指定功能的M文件来生成属于自己的函数库,还可以修改已存在的函数中的某些命令语句,使其成为新的库函数。这就是MATLAB的可扩展性与开发性的体现。MATLAB7.1版本中正常建立一个M文件的方法如下:(1)在File菜单下选择New,再选择M-File,即可创建M脚本文件或M函数文件。(2)在工具

24、栏中单击新建(New M-File)按钮,即新建了一个M脚本文件。(3)在命令窗口输入edit,并按Enter键,就可以新建一个M脚本文件。此外,在任何一种文本编辑器中依次输入程序语句,然后保存成为文件扩展名为“.m”的形式,也可以成功创建一个M文件。而M文件分为下面两种形式。(1)M脚本文件M脚本文件是一系列语句命令的集合,它不包含输入输出参数,其中的变量在执行过后都成为全局变量,且都一一保留在工作空间中。因此,对于那些原本就存在于工作空间内的变量,所有的M脚本文件都可以进行访问。但反过来,不需要访问时,这种机制就可能会造成不可预知的错误。因此,规范的脚本文件往往以clear、close a

25、ll等命令开头,用来消除不使用的变量以及关闭其他图形窗口。需要注意得是,脚本文件名不要与预定义或用户自定义的函数文件名重复,以免发生错误。执行脚本文件有下列3种方法:(1) 单击M文件窗口中工具栏上的运行按钮;(2) 在MATLAB命令窗口中输入M脚本文件名并按Enter键;(3) 在M文件编辑窗口中按F5键。(2)M函数文件M函数文件与M脚本文件不同的地方是M函数接受输入函数,返回输出函数。而关于执行后的变量,M函数文件会使变量成为局部变量,因此M函数文件只能访问本身工作空间中的变量,而不能访问其他工作区间中的变量。系统是根据文件名来调用M函数,通常情况下,M函数文件名与函数名是一致的,这样

26、在调用该函数时才不会发生混乱,避免出现不可调整的错误。M函数文件有一定的格式。由下列四项组成:(1) 函数定义行:用关键字fuction把M文件定义成一个函数,并对它命名,同时也定义输入/输出变量(2) H1行:用于简单说明函数名和其功能(3) 帮助文本(注释):跟在函数声明行后,详细介绍函数功能(3)函数体:实现函数功能的程序代码,是整个文件的主体部分(4)代码中的注释:以%开头,穿插在函数体中,解释函数代码的意义2.4 本章小结本章对MATLAB仿真软件做了简单说明,为后续利用该平台进行仿真验证做了准备。3 线性二次型理论研究及MATLAB仿真3.1线性二次型基本理论二次型性能指标的一般形

27、式如下31: (3-1)式中,为半正定的状态时变加权矩阵,即满足。 为正定的控制时变加权矩阵,即满足。 为半正定的终端常数加权矩阵,即满足。 是控制作用的初始时间,是控制作用的终止时间。在实际工程应用中,和常取对角阵,这样就自然而然地保证了和两个矩阵的对称性。在动态过程中,不同时刻下对于误差分量有不同程度的重视,此时为了达到控制要求,就要求相应的 就取成时变的32。被积函数中第二项则代表着对系统控制输入代价的约束。换个方式讲,如果把看成电压或电流的话,那么则与功率呈现正比关系,而在这段有限时间内的积分则表示消耗的能量,如此看来,是衡量控制功率大小的代价函数。3.2状态调节器问题研究3.2.1

28、状态调节器问题 假设线性时变系统的状态空间表述: (3-2)式中 分别为维矢量;为维系统矩阵;为 维输入矩阵;为 维输出矩阵。给定的性能指标泛函为: (3-3)为构成哈密尔顿(Hamilton)函数,引入维拉格朗日乘子向量: (3-4)因控制向量不受约束,则有最优控制的控制方程: (3-5) 其中正定,则可证明矩阵是可逆的,即存在。由于,故为使哈密尔顿函数取最小值的控制函数。由正则方程,得: (3-6)将(3-6)转化成矩阵形式: (3-7)其解为: (3-8)根据横截条件可以得出(3-9)的结论: (3-9)为了与(3-9)建立联系,将(3-8)写成向终端转移形式: (3-10)即: (3-

29、11) (3-12)令(3-12)(3-11),可得: (3-13) (3-14)如果令的表达式为: (3-15)则可以得到: (3-16)由此可见与是线性关系,将(3-16)代入到表达式(3-5)中则有: (3-17) 由(3-16)可以看出状态调节器能实现最优线性反馈控制。然而要求得最优控制率,就需要求解,但直接利用(3-15)求解,涉及矩阵求逆,运算量很大,求解过程复杂繁琐。所以改利用其性质求解。 (3-18)将(3-16)对时间求导得: (3-19)由于(3-18)与(3-19)相等,故可得著名的黎卡提(Riccati)方程,即: (3-20)推导出边界条件为: (3-21) 总结得出

30、下面的关于状态调节器的结论:(1)最优控制解为: (2)最优性能指标为: 式中满足下面的Riccati矩阵微分方程: 边界条件: 以上考虑的是有限时间情况下线性时变系统的状态调节器问题,而对于无限时间的情况,经常考虑线性定常系统来研究状态调节器问题。 设线性定常系统的状态空间表述为: (3-22) 假设控制向量不受约束,给定性能指标泛函为: (3-23)当时,必须要求系统完全可控,这样才可以保证使每一个状态都趋于零,从而保证当时性能指标是有限的,同时也可证明得上述系统的最优控制存在且唯一。即:,式中为维正定常数矩阵,满足Riccati矩阵代数方程:。并且最优状态满足线性定常齐次方程,其中的矩阵

31、的所以特征根都必须具有负实部。无论初始时间如何选择,最优控制所对应的最优性能指标为。可以证明:线性定常最优状态调节器组成的闭环反馈控制系统的控制效果是渐进稳定的。根据以上对于无限时间情况下的状态调节器的研究,我们知道它适用于线性定常系统,前提是系统必须是能控的。而只有满足了这个前提,才能保证最优控制率存在且唯一。另外,对于性能指标J,无线时间情况下是不需要考虑终端误差项的。因为在工程实际中只需要考虑有限时间内的系统响应,这样t 时的性能指标中的失去了意义,即。而且对于一个好的控制系统来讲,稳态误差最好趋近于零,即的时候,。3.2.2 数值算例MATLAB 仿真 考虑线性定常系统的状态方程为:

32、(3-24) 要求得,使二次型性能指标指标取最小值。其中,,,。分析如下:由于,故该系统可控。 (3-25) (3-26)性能指标为: (3-27)最优控制为: (3-28)其中的是黎卡提方程 的解,MATLAB软件提供了能迅速求解出Riccati方程的解的一个函数,即lqr函数。它的调用格式为K,P,E=lqr(A,B,Q,R)。具体程序见附录程序1 。运行程序1后得出的答案:黎卡提方程的解P = 0.7321 1.0000 1.0000 1.7321最优控制中的K = 1.0000 1.7321最优轨线其中Z = 0 1.0000 -1.0000 -1.7321 对上述问题通过绘制函数进行

33、仿真验证,仿真程序见附录程序2。 图3-1是当Q=1 0;0 1;R=1时上述线性二次型最优控制状态调节器的单位阶跃响应仿真曲线,可以看到,线性定常系统经过由最优控制状态调节器组成的闭环反馈控制后,系统输出是渐进稳定的。图3-1 Q=1 0;0 1;R=1时状态调节器的单位阶跃响应仿真曲线 由图3-1可知,系统的调整时间为5S,即系统在5S后逐渐稳定。为了减小调整时间,使系统短时间内快速稳定,故改变参数,令Q=100 0;0 1;R=0.01;仿真结果如图3-2:图3-2 Q=100 0;0 1;R=0.01时状态调节器的单位阶跃响应仿真曲线 由图3-2可以看出,系统的调整时间缩减至0.5S,

34、即系统可以快速地达到稳态。相比于图3-1,可以看出这时候的控制效果更为理想。3.3 输出调节器问题研究3.3.1输出调节器问题 相比于状态调节器,输出调节器与其不同的是采用输出量进行反馈。它的控制效果是当系统受到干扰偏离原平衡状态时,系统的输出矢量能最优地恢复到原平衡状态。 设线性时变系统的状态方程为: (3-29) 假设控制向量不受约束,终端时间和都是固定的,且系统完全可观测。求最优控制,使下列二次型性能指标最小 (3-30) 将代入到(3-30)中,得到: (3-31) 其中令,。可以证明,如果系统是完全可观测的,则,是半正定的。若,是半正定的,则系统的输出调节器问题可以等价转化成相应的状

35、态调节器问题,而状态调节器的相关结论也可以推广到输出调节器问题中。总结如下:最优控制为: (3-32)P满足方程: (3-33)终端条件: (3-34)对于输出调节器问题,其最优控制率的表达式并不是的线性函数,而是仍然与呈线性关系,说明构成最优控制系统需要获得全部状态信息。故其仍然属于状态反馈,而不是输出反馈。下面研究线性定常系统的输出调节器问题,设线性定常系统的状态方程为: (3-35)假设控制向量不受约束,其中终端时间,系统完全能控且完全可观测。求最优控制,使下列二次型性能指标最小。 (3-36)与线性定常系统的状态调节器问题类似,最优控制为: (3-37)其中满足方程3.3.2 数值算例

36、MATLAB 仿真 考虑线性定常系统的状态方程为: (3-38)要求得,使二次型性能指标指标取最小值。其中,,,。分析如下:,故系统可控。,故系统可观。将给定的具体数据代入(3-38),则有: (3-39) (3-40)性能指标: (3-41)最优控制: (3-42)其中P满足黎卡提方程 Riccati方程(3-43)的解可以用MATLAB中的lqry函数来求得,其中lqry函数的调用格式为K,P,e=lqry(A,B,C,D,Q,R)。仿真程序见附录程序3。 运行程序3后的结果为:最优控制增益矩阵K = 0.2070 0.4287 0.0374黎卡提方程的解P = 0.1833 0.1671

37、 0.0399 0.1671 0.4679 -0.0393 0.0399 -0.0393 0.0767闭环系统的极点e = -3.1876 + 1.3250i -3.1876 - 1.3250i -1.0910 上述系统的输出调节器阶跃响应仿真曲线如图3-3所示。图3-3 输出调节器的单位阶跃响应仿真曲线 从图3-3可以看出,系统的超调量较小,调整时间约为4.5S。3.4 跟踪器问题研究3.4.1 跟踪器问题最优跟踪问题是指当要求系统在期望输出信号的作用下,实际输出可以最优地跟随期望输出的变化,并使得规定的性能指标最小。 设线性时变系统的状态方程为: (3-43) 假设控制向量不受约束,且被控

38、系统完全可观测。用表示期望输出,则误差向量为: (3-44)求最优控制,使下列二次型性能指标取最小值 (3-45)其中: (3-46)取哈密尔顿函数为: (3-47)根据极小值原理,使得性能指标取极小的必要条件是: (3-48)规范方程组: (3-49)写成矩阵形式: (3-50)式(3-50)为非齐次线性时变微分方程,其解为: (3-51)横截条件给出了终端时刻二者的关系: (3-52)将(3-52)代入(3-51)里,并化简整理,可得到: (3-53) 其中是由引起的向量。 (3-54)接下来是求解,: (3-55)将(3-53)对时间求导,得到: (3-56)由于(3-55)与(3-56

39、)相等,可得: (3-57) (3-58)需满足的边界条件: (3-59) (3-60)对所有的,均成立,推出: (3-61) (3-62) 综上所述,跟踪问题的最优控制规律如下: (1)与期望输出无关; (2)预期输出不影响最优输出调节器反馈结构,它与最优跟踪系统反馈结构完全相同; (3)最优跟踪系统与最优输出调节器系统的本质差异,反映在上。 (3-63) (3-64)可以发现,(3-63)和(3-64)的齐次部分正好互为负的转置矩阵,因此(3-64)称为(3-63)的伴随方程。伴随系统的动态性能与期望输出无关,期望输出可以看作是伴随系统的激励函数,用以激励信号。 (4)由(3-62)可以知

40、道,为了求得,必须在控制过程开始之前知道全部的信息。与有关,则最优控制的现时值也要依赖于预期输出的全部未来值。其关键在于掌握变化规律的方法:预估、随机处理(平均最优)。 设线性定常系统(系统完全可观、可控)的状态方程为: (3-65) 控制向量u(t)不受约束,用(常数)表示期望输出,则误差向量为: (3-66)求最优控制,使下列二次型性能指标最小: (3-67)当足够大且为有限值时,可得出如下近似结果: (是由引起的) (3-68) (3-69) (3-70)3.4.2 数值算例MATLAB 仿真 考虑系统状态方程为: (3-71)假设其完全可观且可控。其中,,其中令,为期望输出,要求得最优

41、控制,使二次型性能指标指标取最小值。 给定:,故系统可控。,故系统可观。代入具体的数值到式(3-71),得到: (3-72) (3-73)性能指标: (3-74)最优控制为: (3-75)其中的P满足黎卡提方程的解。g的表达解析式可以近似表达为: (3-76)假设期望输出z=1,执行仿真程序见附录4,,求得的结果如下:PP = 0.8291 0.5035 0.1377 0.5035 0.6837 0.1161 0.1377 0.1161 0.0267NN = 3.1623其中PP是黎卡提方程的解。NN是 算出来的解。 跟踪器问题的仿真曲线如图3-4所示:图3-4 Q=1,R=0.1时跟踪器的仿

42、真曲线由图3-4可以看出,系统的真实状态反馈慢慢地与期望输出相重合,即达到误差e=0的目的,这说明设计的跟踪器很好地实现了设想的目标。改变Q,R的取值,令Q=100,R=1,可得到仿真结果如图3-5所示。图3-5 Q=100,R=1时跟踪器的仿真曲线 由图3-5以发现相对于,的情况,当,时,系统的超调量不变,但系统的调整时间从5S变成了3S,即控制效果更好。3.5 本章小结本章详细分析了线性二次型最优控制的三个主要问题,分别给出了三种问题的最优控制解表示,并结合MATLAB软件的绘制函数对其进行了仿真验证,正确验证了线性二次最优控制下的系统具有稳态输出,控制效果良好的特点。4 线性二次型最优控

43、制在倒立摆系统中的实现4.1 问题简述本章首先建立了一阶倒立摆的状态空间模型,再利用MATLAB工具进行了计算机仿真验证,仿真结果表明,直线倒立摆系统通过该控制方案可以得到较为满意的控制效果。倒立摆作为验证控制方法和理论的典型实验平台,其控制效果随着其控制算法设计的改变而改变,算法设计得越好,那么其实物系统也就控制得越好。相反,若控制算法不合理,则说明该控制方法不具有好的处理非线性和不稳定性问题的能力。现如今,深度研究倒立摆系统已经渐渐成为一个趋势,具有越来越重要的理论和实际意义,因为其控制方法在各种工业过程领域中都有着丰富的应用舞台。4.2 倒立摆系统的数学模型 图4-1一级倒立摆系统示意图

44、关于直线一级倒立摆中相关量的解释说明如表4-1所示。表4-1 直线一级倒立摆中相关量的说明字母 代表的对象M 小车质量m 摆杆质量 b 小车摩擦系数 l 摆杆转动轴心到杆质心的长度 I 摆杆的转动惯量 F 加在小车上的力 x 小车的位置 摆杆与垂直向上方向的夹角 摆杆与垂直向下方向的夹角 若用u来表示加在小车上的力F。应用牛顿欧拉方法,可得到系统的状态空间方程为: (4-1) 式中,为小车的位移,为小车的速度,为摆杆的角度,为摆杆的角速度,(加在小车上的力F)为输入,为输出。 对于质量分布均匀的摆杆有:,则系统的状态空间方程可表示为: (4-2) 其中,为小车的位移,为小车的速度,为摆杆的角度

45、,为摆杆的角速度,小车的加速度为输入,为输出。4.3 二次型最优控制器若实际系统的模型参数如表4-2所示, 将表4-2中的数据代入(4-1),可得到以外界力F作为系统输入的系统方程(4-3):表4-2 实际系统的具体参数字母 代表的对象 实际数据 M 小车质量 1.096Kg m 摆杆质量 0.109Kg b 小车摩擦系数 0.1N/m/sec l 摆杆转动轴心到杆质心的长度 0.25m I 摆杆惯量 0.0034kg*m*m (4-3) 将表4-2中的数据代入(4-2),可得到以小车加速度为输入的系统状态方程: (4-4)倒立摆系统可以看成线性二次型最优控制中的跟踪器问题,而该问题中的被控系

46、统必须是完全能控的,故在设计前需要进行系统的能控性分析。一般情况下,我们可以根据能控性矩阵来判断系统的能控性,若等于4,则系统是完全能控的。当系统的状态分量很多时,利用能控性矩阵判断会很复杂,而MATLAB中的ctrb函数可以很便捷快速得进行判断,它调用格式为M=ctrb(A,B),再通过,求得M矩阵满秩,即可证明系统可控。详细程序见附录程序5。倒立摆是一个典型的单输入多输出系统,我们需要在最优控制的原理上设计一个控制器,使得控制摆杆保持竖直的同时,也要跟踪小车的位置。根据式(4-3),系统的开环极点可以用MATLAB程序求出。程序见附录程序6。求得开环极点为0,-0.08299,5.273,-5.278。可以看出,有一个极点5.273位于右半S平面,这说明开环系统不稳定。假设系统的4个状态量都可测,即系统完全可观。设计一个倒立摆系统的控制器在一定条件下就是寻找状态反馈控制增益矩阵K。而我们知道用MATLAB中的lqr函数,就可以快速得到系统的状态反馈控制增益矩阵K。lqr函数中的两个参数R和Q,改变它们的值

温馨提示

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

评论

0/150

提交评论