连续线性二次型最优控制的MATLAB实现
- 格式:doc
- 大小:238.00 KB
- 文档页数:8
LQR系统最优控制器设计的MATLAB实现及应⽤LQR 系统最优控制器设计的MATLAB 实现及应⽤LQR( linear quadratic regulator) 即线性⼆次型调节器, 其对象是现代控制理论中以状态空间形式给出的线性系统, ⽽⽬标函数为对象状态和控制输⼊的⼆次型函数。
LQR 最优设计指设计是出的状态反馈控制器K要使⼆次型⽬标函数J 取最⼩值, ⽽K由权矩阵Q 与R 唯⼀决定, 故此Q、R 的选择尤为重要。
LQR理论是现代控制理论中发展最早也最为成熟的⼀种状态空间设计法。
特别可贵的是, LQR可得到状态线性反馈的最优控制规律, 易于构成闭环最优控制。
⽽且Matlab 的应⽤为LQR 理论仿真提供了条件,更为我们实现稳、准、快的控制⽬标提供了⽅便。
⼀、LQR 最优控制器系统设计的Matlab 实现1.1 LQR 最优控制器的系统设计假设线性系统状态空间描述为:x = Ax+ Bu,v= Cx 。
其中x 为n*1状态向量, u为m*1输⼊向量。
不失⼀般性考虑⼀个⼆次型⽬标函数:(1)式( 1) 中, Q 、R 称为加权矩阵, 且Q 为n*n 维正半定阵, R 为m*m 维正定阵。
最优控制即寻求控制作⽤u(图1)使⽬标函数J 最⼩。
应⽤极⼩值原理, 可以得出最优控制作⽤:1T x u kx R B P -=-=-, 其中,P 为代数Riccati ⽅程1():0T T ARE A P PA PBR B P Q -+-+=的正半定解。
Matlab 中的lqr( )函数不仅可以求解ARE 的解P, 还可以同时求出K 。
1.2 Q ,R 的选择原则由原理知, 要求出最优控制作⽤u, 除求解ARE ⽅程外, 加权矩阵的选择也是⾄关重要的。
⽽Q 、R 选择⽆⼀般规律可循, ⼀般取决于设计者的经验, 常⽤的所谓试⾏错误法,即选择不同的Q 、R 代⼊计算⽐较结果⽽确定。
这⾥仅提供⼏个选择的⼀般原则:1) Q 、R 都应是对称矩阵, Q 为正半定矩阵, R 为正定矩阵。
实验七线性二次型指标最优控制系统设计一、实验目的1、学习线性二次型指标最优控制系统设计方法。
2、完成线性二次型指标最优控制系统设计实践。
二、相关知识最优控制系统是指在一定的具体条件下,在完成所要求的控制任务时,系统的某种性能指标具有最优值。
根据系统的不同用途,可提出各种不同的性能指标,最优控制的设计就是选择最优控制以使某一种性能指标为最小(或者最优值)。
在实际工程应用中,最优控制系统的性能指标通常采用二次型指标。
对于状态完全能控的线性连续定常系统,其状态方程为%(/) = A x(t) + B u(t),x(0)=x0。
其输出方程为y(t) = C x(t) + D u(t),式中:x(t)为n维状态变量;u(t)为p维输入控制变量,且不受约束;A为n X n维状态矩阵,常数矩阵;B为n X p维输入矩阵,常数矩阵;C为m X n维输出矩阵,常数矩阵;D为m X p维输入矩阵,常数矩阵。
y(t)为m维输出变量;引入的线性二次型(Linear Quadratic)指标为:1J - j 'x T(t)Q x(t) + u T(t)Ru(t)]d t20式中,积分上限为8,即调节时间tf-B Q和R均为正定的对称常数矩阵,实际上分别是对状态量x(t)和控制量u(t)的加权矩阵。
根据最优控制理论,使线性二次型指标J(式6.66)取最小值的最优控制u*(t) 为:u *( t) = - Kx (t) = - R-1B T Px (t)式中,K = R-1B T P为最优反馈增益矩阵;P矩阵为对称常数矩阵;P矩阵可通过求解代数黎卡提(Riccati)方程PA + A T P - PBR-1B T P + Q = 0这时,最优性能指标为1J * 二一x T(0)Px (0)2可见,设计最优控制系统的重要一步就是求解黎卡提(Riccati)方程。
线性二次型指标状态反馈最优控制系统结构图如图所示。
线性二次型指标J的最优性取决于如何确定加权矩阵Q和R,但这两个矩阵的选择并没有解析方法,只能作定性的选择。
连续线性二次型最优控制的MATLAB 实现1. 绪论最优控制问题就是在一切可能的控制方案中寻找一个控制系统的最优控制方案或最优控制规律,使系统能最优地达到预期的目标。
随着航海、航天、导航和控制技术不断深入研究,系统的最优化问题已成为一个重要的问题。
本文介绍了最优控制的基本原理,并给定了一个具体的连续线性二次型控制系统,利用MATLAB^件对其最优控制矩阵进行了求解,通过仿真实验,设计得到最优控制效果比较好,达到了设计的目的。
2. 最优控制理论介绍2.1 最优控制问题设系统状态方程为:?x(t) f x(t),u(t),t ,x(t 0) x0(2—1)式中,x(t)是n维状态向量;u(t)是r维控制向量;n维向量函数f x(t), u(t),t是x(t)、u(t)和t的连续函数,且对x(t)与t连续可微;u(t)在t o,t f上分段连续。
所谓最优控制问题,就是要寻求最优控制函数,使得系统状态x(t) 从已知初态x0 转移到要求的终态x(t f),在满足如下约束条件下:(1)控制与状态的不等式约束g x(t),u(t),t 0 (2—2)(2)终端状态的等式约束M x(t f),t f 0 (2—3)使性能指标t fJ x(t f),t f t0F x(t),u(t),t dt (2—4)达到极值。
式中g x(t),u(t),t是口维连续可微的向量函数,m r ;M x(tf),tf是s维连续可微的向量函数,s n ;x(t f),t f和F x(t),u(t),t都是x(t)与t的连续可微向量函数2.2最优控制的性能指标自动控制的性能指标是衡量系统性能好坏的尺度, 其内容与形式取决于最优 控制所要完成的任务,不同的控制问题应取不同的性能指标,其基本类型如下: (1) 积分型性能指标;:F x(t),u(t),tdtx(t),u(t),t =1t f t odtto tf② 最小燃料消耗控制③ 最小能量控制F x(t),u(t),t u 2(t)(2—8)④ 无限时间线性调节器 取t f ,且其中,y(t)是系统输出向量,z(t)是系统希望输出向量。
基于MATLAB的线性二次型最优控制算法及应用研究摘要早在上世纪50年代,世界上就出现了对于线性二次型最优控制LQ(Linear Quadratic)的研究。
随着对LQ的不断深入研究,如今它已经成为了现代控制理论中最经典的最优控制之一。
在各种关于对LQ的研究中,基于状态反馈控制器的研究是最为系统且完整的。
而直线一级倒立摆系统作为研究控制理论的一种实验平台,它不但结构简单,价格低廉,而且可以反映出控制中的许多典型问题,从而使它在很多领域都得到了应用。
MATLAB作为数字仿真领域中所使用的系统软件的代表,且又具有功能强大的函数库,能使研究者们便捷地实现现代控制理论的目标。
本文针对一阶线性系统,以状态变量x和控制输入变量u构成的二次型函数为目标函数,研究了线性二次型最优控制算法中的三个主要研究方向,具体为状态调节器问题、输出调节器问题以及跟踪器问题,并分别给出数值算例进行了MATLAB仿真。
最后以直线一级倒立摆系统作为具体的例子,研究了如何利用线性二次型最优控制实现倒立摆控制器设计,并给出系统模型及MATLAB仿真波形。
该论文有图14幅,表2个,参考文献32篇。
关键词:线性二次型最优控制状态调节器输出调节器跟踪器MATLAB 倒立摆系统The Algorithm and Application Research of Linear Quadratic Optimal Control 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 which 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 has 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 quadratic 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 numerical 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 regulator tracker MATLAB inverted pendulum system目录摘要 (I)Abstract ........................................................................................................................ I I 目录 . (III)图清单 (V)表清单 (V)1 绪论 (1)1.1 课题的研究背景及意义 (1)1.2 课题的研究现状 (2)1.3 本文研究工作与内容安排 (3)2 MATLAB基础 (4)2.1 简述 (4)2.2 MATLAB基本功能及特点 (4)2.3 M文件的使用 (5)2.4 本章小结 (7)3 线性二次型理论研究及MATLAB仿真 (8)3.1 线性二次型基本理论 (8)3.2 状态调节器问题研究 (9)3.3 输出调节器问题研究 (14)3.4 跟踪器问题研究 (17)3.5 本章小结 (22)4 线性二次型最优控制在倒立摆系统中的实现 (23)4.1 问题简述 (23)4.2 倒立摆系统的数学模型 (23)4.3 二次型最优控制器 (25)4.4 Simulink仿真 (27)4.5 本章小结 (31)5 总结与展望 (32)参考文献 (33)致谢 (35)附录 (36)图清单表清单1 绪论早在1950年,就有人开始对于线性二次型最优控制LQ 进行研究,到了现在LQ 的研究理论不断成熟,已经成为现代控制理论中最经典的最优控制之一。
实验6 利用MATLAB 设计线性二次型最优控制器6.1 实验设备 同实验1。
6.2 实验目的1、学习线性二次型最优控制理论;2、通过编程、上机调试,掌握线性二次型最优控制器设计方法。
6.3 实验原理说明考虑控制系统的状态空间模型(6.1)⎩⎨⎧=+=Cx y Bu Ax x &其中:x 是维状态向量,u 是维控制向量,y 是r n m 维的输出向量,A 、B 和分别是、和C n n ×维的已知常数矩阵,系统的初始状态是。
0)0(x x =m n ×n r ×系统的性能指标是∫∞+=0T T d ][t J Ru u Qx x (6.2)其中:为对称正定(或半正定)矩阵,Q R 为对称正定矩阵。
性能指标右边的第一项表示对状态的要求,这一项越小,则状态衰减到零的速度越快,振荡越小,因此控制性能就越好。
第二项是对控制能量的限制。
x x 若系统的状态是可以直接测量的,且考虑的控制器是状态反馈控制器,则可以证明,使得性能指标(6.2)最小化的最优控制器具有以下的线性状态反馈形式Kx u −= (6.3)P B R K T1−=是维状态反馈增益矩阵,P 是以下黎卡提矩阵方程n m ×式中的0T 1T =+−+−Q P B PBR P A PA (6.4)的对称正定解矩阵。
此时,性能指标的最小值是,最优闭环系统0T 0x P x =J x BK A x)(−=& (6.4) BK A −的所有特征值均具有负实部。
是渐近稳定的,即矩阵MATLAB 中的函数[K,P,E]=lqr(A,B,Q,R)给出了相应线性二次型最优控制问题的解。
函数输出变量中的K 是最优反馈增益矩阵,P 是黎卡提矩阵方程(6.4)的对称正定解矩阵,E 是最优闭环系统的极点。
6.4 实验步骤1、线性二次型最优控制器设计,采用MATLAB 的m-文件编程;2、在MATLAB 界面下调试程序,并检查是否运行正确。
实验七 线性二次型指标最优控制系统设计一、实验目的1、学习线性二次型指标最优控制系统设计方法。
2、完成线性二次型指标最优控制系统设计实践。
二、相关知识最优控制系统是指在一定的具体条件下,在完成所要求的控制任务时,系统的某种性能指标具有最优值。
根据系统的不同用途,可提出各种不同的性能指标,最优控制的设计就是选择最优控制以使某一种性能指标为最小(或者最优值)。
在实际工程应用中,最优控制系统的性能指标通常采用二次型指标。
对于状态完全能控的线性连续定常系统,其状态方程为()()()x t x t u t =+A B ,x(0)=x0。
其输出方程为()()()y t x t u t =+C D ,式中:x(t)为n 维状态变量; u(t)为p 维输入控制变量,且不受约束;A 为n ×n 维状态矩阵,常数矩阵;B 为n ×p 维输入矩阵,常数矩阵;C 为m ×n 维输出矩阵,常数矩阵;D 为m ×p 维输入矩阵,常数矩阵。
y(t)为m 维输出变量; 引入的线性二次型(Linear Quadratic)指标为:T T 01[()()()()]d 2t x t t t ∞=+⎰J x Q u t Ru 式中,积分上限为∞,即调节时间tf→∞;Q 和R 均为正定的对称常数矩阵,实际上分别是对状态量x(t)和控制量u(t)的加权矩阵。
根据最优控制理论,使线性二次型指标J(式6.66)取最小值的最优控制*()u t 为:*1T ()()()t t t -=-=-u Kx R B Px式中,1T -=K R B P 为最优反馈增益矩阵;P 矩阵为对称常数矩阵;P 矩阵可通过求解代数黎卡提(Riccati)方程T 1T 0-+-+=PA A P PBR B P Q 这时,最优性能指标为*T 1(0)(0)2J =x Px 可见,设计最优控制系统的重要一步就是求解黎卡提(Riccati)方程。
湖北文理学院物理与电子工程学院2014届本科毕业论文论文题目线性二次型最优控制器的matlab实现班级姓名学号指导教师(职称)线性二次型最优控制器的MATLAB实现摘要:本文从线性二次型最优控制器原理出发,对象是现代控制理论中用状态空间形式给出的线性系统,目标函数为状态和控制输入的二次型函数。
通过加权矩阵Q 和R的一些选择规则,利用MATLAB仿真分析参数Q和R的变化对最优控制系统的影响,然后对其最优控制矩阵进行求解。
分别介绍了连续系统线性二次型最优控制的MATLAB实现,离散系统相形二次型最优控制的MATLAB实现和最优观测器的MATLAB实现这三种研究方案,以不同的程序实现其功能。
关键词:MATLAB;线性二次型;最优控制;矩阵Applying MATLAB to the Design of the Linear QuadraticOptimal ControllerAbstract:In this paper, starting from the principle of the linear quadratic optimal controller, the object is given the linear system using the forms of state space in modern control theory , the objective function is the two type of function of state and control input. Through some selection rules of the weighting matrices Q and R, analysis of the changes of parameters Q and R influence on the optimal control system by using MATLAB simulation, and then to solve the optimal control matrix. Respectively introduces the continuous system linear quadratic optimal control MATLAB, Discrete system in quadratic optimal control MATLAB, The optimal observer MATLAB these three research programs. Realize its function in a different program.Key words:MATLAB; Linear quadratic; The optimal control;Matrix目录1引言 (1)1.1概述 (1)1.2课题研究的背景、意义及研究概况 (1)1.3本文研究的主要内容 (3)2最优控制的基本概念 (4)2.1最优控制基本思想 (4)2.2最优控制问题的求解方法 (5)2.3 Q、R的选择原则 (6)2.4加权矩阵的调整 (6)2.4.1廉价控制 (6)2.4.2昂贵控制 (7)2.5问题的阐述 (8)2.6问题的求解 (9)2.7利用仿真给定的控制系统 (9)3最连续系统最优控制的MATLAB实现 (12)3.1连续系统线性二次型最优控制 (12)3.2 连续系统线性二次型最优控制的MATLAB实现 (13)4离散系统线性二次型最优控制的MATLAB实现 (14)4.1 离散系统稳态线性二次型最优控制 (14)4.2 离散系统线性二次型最优控制的MATLAB实现 (15)5最优观测器的MATLAB实现 (16)5.1 连续时不变系统的Kalman滤波 (16)5.2 Kalman滤波的MATLAB实现 (17)4结论 (19)[参考文献] (20)致谢 (21)1引言1.1概述近年来,仿真技术得到广泛的应用与发展,在系统设计、目标与环境模拟、人员培训等方面取得了丰硕成果,随着计算机技术的快速发展,控制系统的计算机辅助设计与分析得到了广泛应用,目前已经达到了相当高的水平。
线性采样系统二次型最优控制器的MATLAB实现
范熙;蒋珉
【期刊名称】《计算机技术与发展》
【年(卷),期】2005(015)009
【摘要】当被控对象具有较大滞后特性时通常运用采样控制方式进行控制,而线性二次型最优控制又以其综合性、灵活性和实用性受到重视和发展.MATLAB软件的Simulink模块可以快速方便地对控制系统进行建模和仿真.文中通过实例给出了完整的线性采样系统二次型最优控制器的设计过程,简述了连续系统离散化以及线性二次型最优控制器的基本原理、设计方法,并提出了一个Sirmulink环境下的仿真模型,通过得到的闭环系统的阶跃响应分析了参数变化对最优控制系统的影响.整个设计表明了运用Simulink对采样系统进行设计和分析是完全可行的.
【总页数】3页(P102-103,107)
【作者】范熙;蒋珉
【作者单位】东南大学,自动化研究所,江苏,南京,210096;东南大学,自动化研究所,江苏,南京,210096
【正文语种】中文
【中图分类】TP271+.81
【相关文献】
1.基于Matlab的液压伺服系统二次型最优控制器设计 [J], 蒙磊;丁问司
2.线性二次型最优控制器的MATLAB实现 [J], 金龙国;王娟
3.利用MATLAB设计线性二次型最优控制器 [J], 张岳;金顺姬
4.基于线性二次型最优控制器的平行双倒立摆系统稳定控制 [J], 戚东东;张春;张传松;谭子良
5.MATLAB在线性二次型最优控制器设计中的应用 [J], 毕玉春
因版权原因,仅展示原文概要,查看原文内容请购买。
基于MATLAB 的线性二次型最优控制设计1. 引 言最优控制问题就是寻找一个控制系统的最优控制方案或最优控制规律,使系统能最优地达到预期的目标。
以状态空间理论为基础的最优控制算法是当前振动控制中采用最为普遍的控制器设计方法。
本文所讨论的系统是完全可观测的,所以可以用线性二次型最优控制。
本实验介绍了线性二次型最优控制的基本原理,并给定了一个具体的控制系统,利用MATLAB 软件对其最优控制矩阵进行了求解,通过仿真实验,设计所得到的线性二次型最优控制效果比较好,达到了设计的目的。
2. 最优控制理论介绍假设线性时不变系统的状态方程模型为x ‘(t)=Ax(t)+Bu(t)y(t)=Cx(t)+Du(t)引入一个最优控制的性能指标,即设计一个输入量u,使得J =为最小。
其中Q 和R 分别为对状态变量和输入变量的加权矩阵; t f 为控制作用的终止时间。
矩阵S 对控制系统的终值也给出某种约束,这样的控制问题称为线性二次型(Linear Quadratic ,简称LQ )最优控制问题。
为了求解LQ 问题,我们取Hamilton 函数其中一种较为简便的解法为:令λ(t)=P(t)x(t)而将对λ(t)的求解转化到对函数矩阵P(t)的求解`,特别的,将λ(t)=P(t)x(t)代入'(,(),(),())0.5(()()()()()())()(()()()());LQ ()(()()()());0(()()()()));()()()()();T T T H t x t u t t x t Q t x t u t R t u t t A t x t B t u t H t Q t x t A t t HQ t x t A t t ux t A t x t B t u t λλδλλδλδλδ=+++=-=-+=+=+并应用变分原理推导出问题解满足的必要条件:上述式子中可得函数矩阵P(t)因满足的微分方程是 1'()()()()()()()()()()();().T T P t P t A t A t P t P t B t R t B t P t Q t P tf S -=--+-= (1)对它的求解可应用成熟的Euler 方法。
最优控制的M A T L A B实现最优控制的MATLAB实现摘要线性二次型最优控制是一种普遍采用的最优控制系统设计方法。
使用MATLAB软件设计的GUI控制界面实现最优控制,有较好的人机交互界面,便于使用。
线性二次型最优控制又叫做LQ最优控制或者称为无限长时间定常系统的状态调节控制器。
本文分别从连续系统线性二次型最优控制的MATLAB实现,离散系统相形二次型最优控制的MATLAB实现,最优观测器的MATLAB实现,线性二次性Guass最优控制的MATLAB实现四个研究方案。
本论文就是从这四个方面分别以不同的性能指标设计不同的GUI界面以及不同的程序实现其功能并说明其各自的应用范围。
关键词:线性二次型,最优控制, GUI控制界面,最优观测器, Guass最优控制The Linear Quadratic Optimal Control of MATLABAbstractLinear quadratic optimal control is a widely used to optimal control system design method. Use of MATLAB software design GUI interface control to realize the optimal control, Have good man-machine interface, easy to use. The linear quadratic optimal control and called LQ optimal control or an infinite long time of the system state regulation and constant controller.This paper respectively from the continuous system linear quadratic optimal control MATLAB, Discrete system in quadratic optimal control MATLAB, The optimal observer MATLAB, sexual Guass linear quadratic optimal control MATLAB four research plan. This paper is from the four aspects of the performance index respectively in different design different GUI interface and Different programs that realize its function and their application scope.Keywords:Linear quadratic, The optimal control, GUI control interface, The best Guass observer, the optimal control目录1 引言 (1)1.1 概述 (1)1.2课题研究的背景、意义及研究概况 (1)1.3本文研究的主要内容 (2)2 最优控制的基本概念 (3)2.1最优控制基本思想 (3)2.2最优控制的性能指标 (4)2.2.1 积分型性能指标 (4)2.2.2 末值型性能指标 (6)2.3最优控制问题的求解方法 (6)3 最连续系统最优控制的MATLAB实现 (7)3.1连续系统线性二次型最优控制 (7)3.2连续系统线性二次型最优控制的MATLAB实现 (9)3.3连续系统线性二次型最优控制的MATLAB实现示例 (9)4 离散系统线性二次型最优控制的MATLAB实现 (20)4.1离散系统稳态线性二次型最优控制 (20)4.2离散系统线性二次型最优控制的MATLAB实现与示例 (22)5 最优观测器的MATLAB实现 (27)5.1 连续时不变系统的KALMAN滤波 (27)5.2K ALMAN滤波的MATLAB实现 (28)5.3K ALMAN滤波的MATLAB实现示例 (29)6 线性二次型GUASS最优控制的MATLAB实现 (36)6.1LQG最优控制的求解 (36)6.2LQG最优控制的MATLAB实现与示例 (38)7 结论 (43)参考文献: (44)致谢 (46)1 引言1.1 概述随着计算机技术的飞速发展,控制系统的计算机辅助设计与分析得到了广泛的应用,目前已达到了相当高的水平。
线性二次型最优控制的MATLAB实现摘要线性二次型最优控制是一种普遍采用的最优控制系统设计方法。
使用MATLAB 软件设计的GUI控制界面实现最优控制,有较好的人机交互界面,便于使用。
线性二次型最优控制又叫做LQ最优控制或者称为无限长时间定常系统的状态调节控制器。
本文分别从连续系统线性二次型最优控制的MATLAB实现,离散系统相形二次型最优控制的MATLAB实现,最优观测器的MATLAB实现,线性二次性Guass 最优控制的MATLAB实现四个研究方案。
本论文就是从这四个方面分别以不同的性能指标设计不同的GUI界面以及不同的程序实现其功能并说明其各自的应用范围。
关键词:线性二次型,最优控制, GUI控制界面,最优观测器,Guass最优控制The Linear Quadratic Optimal Control of MA TLABAbstractLinear quadratic optimal control is a widely used to optimal control system design method. Use of MATLAB software design GUI interface control to realize the optimal control, Have good man-machine interface, easy to use. The linear quadratic optimal control and called LQ optimal control or an infinite long time of the system state regulation and constant controller.This paper respectively from the continuous system linear quadratic optimal control MATLAB, Discrete system in quadratic optimal control MATLAB, The optimal observer MATLAB, sexual Guass linear quadratic optimal control MATLAB four research plan. This paper is from the four aspects of the performance index respectively in different design different GUI interface and Different programs that realize its function and their application scope.Keywords:Linear quadratic, The optimal control, GUI control interface, The best Guass observer, the optimal control目录1 引言 (1)1.1 概述 (1)1.2课题研究的背景、意义及研究概况 (1)1.3本文研究的主要内容 (2)2 最优控制的基本概念 (3)2.1最优控制基本思想 (3)2.2最优控制的性能指标 (3)2.2.1 积分型性能指标 (3)2.2.2 末值型性能指标 (5)2.3最优控制问题的求解方法 (5)3 最连续系统最优控制的MATLAB实现 (7)3.1连续系统线性二次型最优控制 (7)3.2连续系统线性二次型最优控制的MATLAB实现 (8)3.3连续系统线性二次型最优控制的MATLAB实现示例 (8)4 离散系统线性二次型最优控制的MATLAB实现 (17)4.1离散系统稳态线性二次型最优控制 (17)4.2离散系统线性二次型最优控制的MATLAB实现与示例 (18)5 最优观测器的MATLAB实现 (23)5.1 连续时不变系统的KALMAN滤波 (23)5.2K ALMAN滤波的MATLAB实现 (24)5.3K ALMAN滤波的MATLAB实现示例 (25)6 线性二次型GUASS最优控制的MATLAB实现 (31)6.1LQG最优控制的求解 (31)6.2LQG最优控制的MATLAB实现与示例 (32)7 结论 (37)参考文献: (38)致谢 (39)1 引言1.1 概述随着计算机技术的飞速发展,控制系统的计算机辅助设计与分析得到了广泛的应用,目前已达到了相当高的水平。
连续线性二次型最优控制的MATLAB 实现1.绪 论最优控制问题就是在一切可能的控制方案中寻找一个控制系统的最优控制方案或最优控制规律,使系统能最优地达到预期的目标。
随着航海、航天、导航和控制技术不断深入研究,系统的最优化问题已成为一个重要的问题。
本文介绍了最优控制的基本原理,并给定了一个具体的连续线性二次型控制系统,利用MATLAB 软件对其最优控制矩阵进行了求解,通过仿真实验,设计得到最优控制效果比较好,达到了设计的目的。
2.最优控制理论介绍2.1最优控制问题 设系统状态方程为:]00)(,),(),()(x t x t t u t x f t x ==∙(2—1)式中,x(t)是n 维状态向量;u(t)是r 维控制向量;n 维向量函数[]t t u t x f ),(),(是x(t)、u(t)和t 的连续函数,且对x(t)与t 连续可微;u(t)在[]f t t ,0上分段连续。
所谓最优控制问题,就是要寻求最优控制函数,使得系统状态x(t)从已知初态0x 转移到要求的终态)(f t x ,在满足如下约束条件下: (1)控制与状态的不等式约束[]0),(),(≥t t u t x g (2—2)(2)终端状态的等式约束[]0),(=f f t t x M (2—3)使性能指标[][]⎰+Θ=ff t t t t t u t x F t t x J f 0d ),(),(),( (2—4)达到极值。
式中[]t t u t x g ),(),(是m 维连续可微的向量函数,r m ≤;[]f f t t x M ),(是s 维连续可微的向量函数,n s ≤;[]f t t x f ),(Θ和[]t t u t x F ),(),(都是x(t)与t 的连续可微向量函数。
2.2最优控制的性能指标自动控制的性能指标是衡量系统性能好坏的尺度,其内容与形式取决于最优控制所要完成的任务,不同的控制问题应取不同的性能指标,其基本类型如下: (1)积分型性能指标[]⎰=ft t t t t u t x F J 0d ),(),( (2—5)表示在整个控制过程中,状态x(t)与控制u(t)应达到某些要求。
例如: ①最小时间控制取 []t t u t x F ),(),(=1则 f ft t t t t J -==⎰00d (2—6)②最小燃料消耗控制取 [])(),(),(t u t t u t x F =则 ⎰=ft t t J 0d u (t ) (2—7)③最小能量控制取 [])(),(),(2t u t t u t x F =则 ⎰=ft t t u J 02(t )d (2—8)④无限时间线性调节器 取∞→f t ,且[])()()()(21),,(T Tt Ru t u t Qx t x t u x F +=其中,0≥Q ,0>R ,均为加权矩阵,则[]t t t Ru t u t Qx t x J d )()()()(210T T⎰∞+= (2—9)⑤无限时间线性跟踪器[][]{}t t Ru t u t z t y Q t z t y J d t )()()()())((210T T ⎰∞+--= (2—10)其中,y(t)是系统输出向量,z(t)是系统希望输出向量。
在性能指标式(2—8)、(2—9)、(2—10)中,被积函数都是x(t)、y(t)-z(t)或u(t)的平方项组成,这种性能指标的形式叫做二次型性能指标。
(2)末值型性能指标[]f f t t x J ),(Θ= (2—11)表示系统在控制过程结束后,要求系统的终端状态)(f t x 应达到某些要求,在实际工程中,例如要求导弹的脱靶量最小、机床移动的准确停止等。
中断时刻可以固定,也可以自由,视最优控制问题的性质而定。
(3)复合型性能指标[][]t t t t t u t x F t t x J ff f d ),(),(),(0⎰+Θ= (2—12)表示对控制过程及控制过程结束后的终端状态均有要求是最一般的性能指标形式。
2.3 最优控制问题的求解方法(1)解析法。
当性能指标与约束条件为显式解析表达式是,适用解析法。
通常是用求导方法或变分方法求出最优控制的必要条件,从而得到一组方程式或不等式,然后求解这组方程或不等式,最后得到最优控制的解析解。
(2)数值计算法。
当性能指标比较复杂或不能用变量的显函数表示时,可以采用试探法,即直接搜索逐步逼近,经过若干次迭代,逐步逼近到最优点。
(3)梯度法。
这是一种解析和数值计算相结合的方法。
2.4 线性二次型最优控制对于性能指标是二次型函数的线性系统叫做线性二次型最优控制。
线性二次型最优控制方法的对象是以状态空间表达时给出的线性系统,而性能指标是对象状态和控制输入的二次型函数。
二次型问题就是在线性系统的约束条件下,选择控制输入使得二次型目标函数达到最小。
本文主要介绍连续系统线性二次型最优控制。
设线性连续订场系统的状态方程为:0)0(),()()(x x t Bu t Ax t x =+=∙(2—13)式中,x(t)x(t)是n 维状态向量;u(t)是r 维控制向量,且不受约束;A 为n ×n 维常数矩阵,B 为n ×r 维常数矩阵。
系统的性能指标为:()t Ru u Qx x J d 210T T⎰∞+= (2—14)式中,终端时间f t 无限,Q 为n ×n 维常数矩阵;R 为r ×r 维常数矩阵;R>0,T R R =。
若下列条件之一满足:(1),,0T Q Q Q =>阵对{A ,B}完全可控;(2),,0T Q Q Q =≥阵对{A ,B}完全可控,阵对{A ,D}完全可观,Q DD =T ,D 为任意矩阵,则有最优反馈矩阵:P B R K T 1-= (2—15)和唯一的最优控制:)()()(T 1*t Px B R t Kx t u --=-= (2—16)以及最优性能指标:)0()0(21T*Px x J =(2—17) 式中,P 是常值正定矩阵,它是以下里卡提代数方程的唯一解:0T 1T =+-+-Q P B PBR P A PA (2—18)闭环系统:()0T 1)0(),()(x x t x P B BR A t x =-=-∙(2—19)是渐近稳定的,其解为最优轨线)(*t x 。
2.5 连续系统线性二次型最优控制实例 已知系统动态方程:u x x ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=∙1006116100010 []x y 011=系统结构如图2—1所示。
图2—1 系统结构图由结构图有系统的控制信号:Kx r k x k x k x k r k x k x k x r k u -=++-=+--=13322111332211)()()(式中反馈增益矩阵K: []321k kkK =系统性能指标:()t Ru u Qx x J d 210TT ⎰∞+=其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=100010001000Q ,[]1=R ,试计算最优状态反馈矩阵K 是J 最小并对其闭环系统进行单位阶跃给定响应的仿真。
下面是该题目的MATLAB 程序及运行结果: >> a=[0 1 0;0 0 1;-6 -11 -6];b=[0;0;1];>> c=[1 0 0];d=[0];Q=[1000 0 0;0 1 0;0 0 1];R=[1]; >> K=lqr(a,b,Q,R) K =26.1870 12.6189 1.8891>> k1=K(1);ac=a-b*K;bc=b*k1 bc =0 0 26.1870>> cc=c;dc=d; >> step(ac,bc,cc,dc)得到闭环系统单位阶跃给定响应的仿真曲线如图2—2所示。
图2—2闭环系统单位阶跃给定响应曲线经状态最优反馈后,闭环系统单位阶跃给定响应曲线略微超调后立即单调衰减,这样的仿真曲线是很理想的,确实反映了最优控制的效果。
若本题要求采用输出反馈,即)()(t Ky t u -=使性能指标为:()t Ru u Qy y J d 210T T⎰∞+=其中 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=100010001000Q ,[]1=R 计算最优反馈矩阵[]321k kkK =使J 最小并对其闭环系统进行单位阶跃给定响应的仿真。
此时该题目的MATLAB 程序及运行结果: >> a=[0 1 0;0 0 1;-6 -11 -6];b=[0;0;1]; >> c=[1 0 0];d=[0];Q=diag([1000]);R=[1]; >> K=lqry(a,b,c,d,Q,R) K =26.1870 12.4878 1.8087>> k1=K(1);ac=a-b*K;bc=b*k1; >> cc=c;dc=d; >> step(ac,bc,cc,dc)得到闭环系统单位阶跃给定响应的仿真曲线如图2—3所示。
图2—3闭环系统单位阶跃给定响应曲线对比图2—2和图2—3可见,经最有输出反馈后,闭环系统阶跃给定响应曲线与经状态反馈后的阶跃响应曲线相差无几。
3.小结本文主要介绍了连续线性二次型最优控制的MATLAB实现,在本文写作过程中,我不仅巩固了所学的最优控制理论的相关知识,同时学习了用MATLAB 进行连续线性二次型最优控制的实现方法,这些都会对我以后的学习和工作有很多帮助,感觉很有收获。