线性二次型最优控制应用举例与仿真
- 格式:doc
- 大小:191.00 KB
- 文档页数:5
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 为正定矩阵。
线性二次型最优控制问题2. 线性二次型最优控制问题如果所研究系统为线性,所取性能指标为状态变量与控制变 量的二次型函数,称这种动态系统最优化问题为线性二次型最概念优控制问题.问题的提法 设线性时变系统的状态方程为:x ( t ) = A( t ) x ( t ) + B( t )u( t ) y( t ) = C ( t ) x ( t )假设控制向量u(t)不受约束 ,用yr(t)表示期望输出,则误差向量为e( t ) = yr ( t ) − y( t )求最优控制u*(t) ,使下列二次型性能指标极小。
1 T 1 tf e ( t f )Fe ( t f ) + ∫ [e T ( t )Q( t )e( t ) + u( t )T R( t )u( t )]dt 2 2 t0 F —半正定 q × q常数矩阵 , Q ( t ) —半正定 q × q时变矩阵 J ( u) =R ( t ) —正定 p × p时变矩阵 t 0 及 t f 固定NORTHWESTERN POLYTECHNICAL UNIVERSITYNWPU线性二次型最优控制问题2. 线性二次型最优控制问题各项指标物理意义1 T 1 tf T J ( u) = e ( t f )Fe ( t f ) + ∫ [e ( t )Q( t )e( t ) + u( t )T R( t )u( t )]dt 2 2 t0(1) 第一积分过程项 0.5∫ttf0[e T ( t )Q ( t )e( t )]dt 是对动态跟踪误差加权平方和的积分要求,是系统在运动过程中动态跟踪误差的总度量. t (2) 第二积分过程项 0.5∫t [u( t )T R( t )u( t )]dt 表示系统在控制过程中对系统加权f 0后的控制能量消耗的总度量. (3) 末值项 0.5eT (t f )Fe( t f ) 表示末态跟踪误差向量与希望的零向量之间的距 离加权平方和. 整个性能指标物理意义: 使系统在控制过程中的动态误差与能量消耗,以及控制结束时的系统 终端跟踪误差综合最优。
基于线性二次型的单神经元PID最优控制器设计及仿真0.前言由于传统的PID调节器算法简单、鲁棒性好及可靠性高,被广泛应用于过程控制和运动控制中,尤其适用于可建立精确数学模型的确定性系统,然而实际工业生产过程往往具有非线性、时变不确定性,难以建立精确的数学模型,应用常规的PID控制器不能达到理想的控制效果。
计算机技术和智能控制理论的发展为复杂动态不确定系统的控制提供了新的途径。
神经网络技术、模糊控制技术、遗传算法优化技术等智能控制技术发展很迅速。
将智能技术与数字PID控制结合起来,应用于工控现场,将有着广阔的发展前景。
近年来,神经网络由于具有自学习、自组织、联想记忆和并行处理等功能,因而受到了控制界的关注,在系统辨识与控制中得到了应用。
本文在自调整单神经元PID控制器中引入最优控制理论中的二次型性能指标,通过修改神经元控制器的权系数来使性能指标趋于最小,从而实现了对控制器性能的优化。
1.最优化技术及自适应PI D控制算法所谓最优控制问题,就是寻找一个控制系统的最优控制方案或最优控制规律,使系统能最优地达到预期的目标。
线性二次型最优控制系统是一类重要的最优控制系统。
这类系统得到的最优控制规律是状态变量的反馈形式,易于在工程上实现。
一般的自适应控制算法需要对过程进行辨识,然后再设计出自适应控制规律,从而限制了自适应控制算法的应用。
由Marsik和Strejc在1986年提出的无需辨识的自适应控制算法,其机理是根据过程误差的几何特性建立性能指标,这种算法无需辨识过程参数,只要在线检测过程的期望输出和实际输出,即可形成自适应控制器的控制规律。
2.基于二次型性能指标学习算法的单神经元自适应PI D控制算法单神经元自适应控制器是通过对加权系数的调整来实现自适应、自组织功能的,权系数的调整是按照有监督的Hebb学习规则实现的。
单神经元自适应控制PID控制结构如图1所示。
图 1 单神经元自适应PID 控制结构图中:rin 是给定值, yo u t 是输出值, e z rin yout ==-,这里1()x e k =;2()x e k = ;3()2(1)(2)x e k e k e k =--+-。
线性二次型最优控制的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最优控制的性能指标 (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 最优控制问题设系统状态方程为:?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 的研究理论不断成熟,已经成为现代控制理论中最经典的最优控制之一。
线性二次型最优控制的MATLAB实现一理论依据应用经典控制理论设计控制系统,能够解决很多简单、确定系统的实际设计问题。
但对于多输入多输出系统与阶次较高的系统,往往得不到满意的结果,这时就需要有在状态空间模型下建立的最优控制策略。
最优控制是现代控制理论的核心。
最优控制理论的实现,离不开一系列的最优化方法,主要包括两个方面就是如何将最优化问题表示为数学模型,如何根据数学模型尽快求出其最优解。
线性二次型最优控制设计是基于状态空间技术来设计一个优化的动态控制器,其目标函数是状态和控制输入的二次型函数。
二次型问题就是在线性系统约束条件下选择控制输入使二次型目标函数达到最小。
由于线性二次型最优控制问题的性能指标具有鲜明的物理意义,其最优解具有统一的解析表达式,且可导致一个简单的线性状态反馈控制律,易于构成闭环最优反馈控制,便于工程实现,因而在实际工程问题中得到了广泛的应用。
二MATLAB程序>> clear>> syms x1 x2 x3;>> x=[x1;x2;x3];>> A=[0 1 0;0 0 1;0 -2 -3];>> B=[0;0;1];>> R=1;>> Q=[1000 0 0;0 1 0;0 0 1];>> N=0;>> [K,P,E]=lqr(A,B,Q,R)>> u=-inv(R)*B'*P*xK =31.6228 19.0661 3.9377P =666.1690 219.3906 31.6228219.3906 108.5284 19.066131.6228 19.0661 3.9377u =-(5366634056803559*x2)/281474976710656 - (4433500461210591*x3)/1125899906842624 - 10*10^(1/2)*x1三Simulink仿真图及其响应曲线利用simulink仿真,画出系统反馈前后的仿真图、输出图像和性能指标图。
线性二次型最优控制
一、最优控制概述
最优控制,又称无穷维最优化或动态最优化,是现代控制理论的最基本,最核心的部分。
它所研究的中心问题是:如何根据受控系统的动态特性,去选择控制规律,才能使得系统按照一定的技术要求进行运转,并使得描述系统性能或品质的某个“指标”在一定的意义下达到最优值。
最优控制问题有四个关键点:受控对象为动态系统;初始与终端条件(时间和状态);性能指标以及容许控制。
一个典型的最优控制问题描述如下:被控系统的状态方程和初始条件给定,同时给定目标函数。
然后寻找一个可行的控制方法使系统从输出状态过渡到目标状态,并达到最优的性能指标。
系统最优性能指标和品质在特定条件下的最优值是以泛函极值的形式来表示。
因此求解最优控制问题归结为求具有约束条件的泛函极值问题,属于变分学范畴。
变分法、最大值原理(最小值原理)和动态规划是最优控制理论的基本内容和常用方法。
庞特里亚金极大值原理、贝尔曼动态规划以及卡尔曼线性二次型最优控制是在约束条件下获得最优解的三个强有力的工具,应用于大部分最优控制问题。
尤其是线性二次型最优控制,因为其在数学上和工程上实现简单,故其有很大的工程实用价值。
二、线性二次型最优控制
2.1 线性二次型问题概述
线性二次型最优控制问题,也叫LQ 问题。
它是指线性系统具有二次型性能指标的最优控制问题。
线性二次型问题所得到的最优控制规律是状态变量的反馈形式,便于计算和工程实现。
它能兼顾系统性能指标的多方面因素。
例如快速性、能量消耗、终端准确性、灵敏度和稳定性等。
线性二次型最优控制目标是使性能指标J 取得极小值, 其实质是用不大的控制来保持比较小的误差,从而达到所用能量和误差综合最优的目的。
2.2 线性二次型问题的提法
给定线性时变系统的状态方程和输出方程如下:
()()()()()()()()
X t A t X t B t U t Y t C t X t ⎧=+⎨=⎩ (2.1)
)(t X 是n 维状态变量,)(t U 是m 维控制变量,)(t Y 是l 维输出变量,)(t A 是n n ⨯时变矩阵,)(t B 是m n ⨯时变矩阵。
假设n m l ≤≤≤1,)(t U 不受约束。
若)(t Y r 表示预期输出变量,它是l 维向量,则有 )()()(t Y t Y t e r -=称为误差向量。
现在的问题是,选择最优控制)(t U 使下列二次型性能指标
11()()[()()()()()()]22f t T T T f f t J e t Se t e t Q t e t U t R t U t dt =++⎰(2.2) 为最小,这就是线性二次型最优控制问题。
(其中S 是l l ⨯半正定对称常数矩阵,)(t Q 是l l ⨯半正定对称时变矩阵,)(t R 是m m ⨯正定对称时变矩阵,终端时间f t 是固定的,终端状态)(f t X 自由。
2.3 二次型性能指标及其涵义 0
11()()[()()()()()()]22f t T T T f f t J e t Se t e t Q t e t U t R t U t dt =++⎰ (1)终端代价(限制终端误差):1()()2
T f f e t Se t (2)过程代价(限制控制过程误差):01()()()2f t T e t L e t Q t e t =⎰
(3)控制代价(限制控制U (t )的幅值及平滑性):
1()()()2f t T u t L U t R t U t =⎰ 三、基于MATLAB 的线性二次型最优控制举例
无限时间跟踪问题的最优控制及MATLAB 仿真
1)内容描述
⎩⎨⎧==)()(221t u x t x x ⎩⎨⎧==202
101)0()0(x x x x )()(1t x t y = 性能指标为:[]{}
dt t U t Y t Y r ⎰∞+-022)()()(21 2)结果及分析:
(1)结果:
依题意可得矩阵错误!未找到引用源。
,错误!未找到引用源。
,错误!未找到引用源。
,首先检查一下系统的可观性和可控性。
运行程序可得:n = 2
system is controlled
system is no observable
系统可控但是不可观。
知道了系统可控之后我们就可以放心的作下一步工作了,即解Riccati方程。
运行
A=[0 1;0 0];B=[0;1];
C=[1 0];D=0;
Q=[1 0;0 1]R=1;
[K,P,E]=lqr(A,B,Q,R)
得到K =
1.0 1.7321
把矩阵Q改为错误!未找到引用源。
同样的可以得到
K =
10.0000 4.5826
仿真图形如下
图3.1
图3.2
结果分析:
A.图3.1表示的是保持R不变,改变Q值。
上图的Q值较小,其响应时间更慢。
所以可以看出——权值越大对系统的控制作用就越强。
B. 图3.2表示的是保持Q值不变,改变R值。
上图的R值较大。
可以得出结论:R较大时,系统响应比较慢,而且超调量大,这是因为R对控制律U 的作用是限制作用,当它越大时,输出受限制也就多,输出响应就比较慢。
小结
本文介绍了线性二次型最优控制的基本原理,并给定了一个具体的控制系统,利用MATLAB软件对其最优控制进行了求解,并对所求解的系统进行了仿真。
通过仿真实验,设计所得到的线性二次型最优控制效果比较好,达到了设计的目的。
A=[0 1;0 0];B=[0;1];
C=[1 0];D=0;
Q=[1 0;0 1];R=1;
K=[1.0000 1.7321];
sys=ss(A-B*K,eye(2),eye(2),eye(2));
t=0:0.01:8;
x=initial(sys,[1;0],t);
x1=[1 0 ]*x';
x2=[0 1 ]*x';
subplot(2,1,1);plot(t,x1)
grid
xlabel('t(sec)');ylabel('x1') subplot(2,1,2);plot(t,x2)
grid
xlabel('t(sec)');ylabel('x2') >>。