线性二次型最优控制应用举例与仿真

线性二次型最优控制应用举例与仿真

ID:39623224

大小:191.00 KB

页数:5页

时间:2019-07-07

线性二次型最优控制应用举例与仿真_第1页
线性二次型最优控制应用举例与仿真_第2页
线性二次型最优控制应用举例与仿真_第3页
线性二次型最优控制应用举例与仿真_第4页
线性二次型最优控制应用举例与仿真_第5页
资源描述:

《线性二次型最优控制应用举例与仿真》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、线性二次型最优控制一、最优控制概述最优控制,又称无穷维最优化或动态最优化,是现代控制理论的最基本,最核心的部分。它所研究的中心问题是:如何根据受控系统的动态特性,去选择控制规律,才能使得系统按照一定的技术要求进行运转,并使得描述系统性能或品质的某个“指标”在一定的意义下达到最优值。最优控制问题有四个关键点:受控对象为动态系统;初始与终端条件(时间和状态);性能指标以及容许控制。一个典型的最优控制问题描述如下:被控系统的状态方程和初始条件给定,同时给定目标函数。然后寻找一个可行的控制方法使系统从输出状态过渡到目标状态,并达到最优的性能指

2、标。系统最优性能指标和品质在特定条件下的最优值是以泛函极值的形式来表示。因此求解最优控制问题归结为求具有约束条件的泛函极值问题,属于变分学范畴。变分法、最大值原理(最小值原理)和动态规划是最优控制理论的基本内容和常用方法。庞特里亚金极大值原理、贝尔曼动态规划以及卡尔曼线性二次型最优控制是在约束条件下获得最优解的三个强有力的工具,应用于大部分最优控制问题。尤其是线性二次型最优控制,因为其在数学上和工程上实现简单,故其有很大的工程实用价值。二、线性二次型最优控制2.1线性二次型问题概述线性二次型最优控制问题,也叫LQ问题。它是指线性系统具

3、有二次型性能指标的最优控制问题。线性二次型问题所得到的最优控制规律是状态变量的反馈形式,便于计算和工程实现。它能兼顾系统性能指标的多方面因素。例如快速性、能量消耗、终端准确性、灵敏度和稳定性等。线性二次型最优控制目标是使性能指标J取得极小值,其实质是用不大的控制来保持比较小的误差,从而达到所用能量和误差综合最优的目的。2.2线性二次型问题的提法给定线性时变系统的状态方程和输出方程如下:(2.1)是维状态变量,是维控制变量,是维输出变量,是时变矩阵,是时变矩阵。假设,不受约束。若表示预期输出变量,它是维向量,则有称为误差向量。现在的问题

4、是,选择最优控制使下列二次型性能指标(2.2)为最小,这就是线性二次型最优控制问题。(其中是半正定对称常数矩阵,是半正定对称时变矩阵,是正定对称时变矩阵,终端时间是固定的,终端状态自由。2.3二次型性能指标及其涵义(1)终端代价(限制终端误差):(2)过程代价(限制控制过程误差):(3)控制代价(限制控制U(t)的幅值及平滑性):三、基于MATLAB的线性二次型最优控制举例无限时间跟踪问题的最优控制及MATLAB仿真1)内容描述性能指标为:2)结果及分析:(1)结果:依题意可得矩阵,,,首先检查一下系统的可观性和可控性。运行程序可得:

5、n=2systemiscontrolledsystemisnoobservable系统可控但是不可观。知道了系统可控之后我们就可以放心的作下一步工作了,即解Riccati方程。运行A=[01;00];B=[0;1];C=[10];D=0;Q=[10;01]R=1;[K,P,E]=lqr(A,B,Q,R)得到K=1.01.7321把矩阵Q改为同样的可以得到K=10.00004.5826仿真图形如下图3.1图3.2结果分析:A.图3.1表示的是保持R不变,改变Q值。上图的Q值较小,其响应时间更慢。所以可以看出——权值越大对系统的控制作用就

6、越强。B.图3.2表示的是保持Q值不变,改变R值。上图的R值较大。可以得出结论:R较大时,系统响应比较慢,而且超调量大,这是因为R对控制律U的作用是限制作用,当它越大时,输出受限制也就多,输出响应就比较慢。小结本文介绍了线性二次型最优控制的基本原理,并给定了一个具体的控制系统,利用MATLAB软件对其最优控制进行了求解,并对所求解的系统进行了仿真。通过仿真实验,设计所得到的线性二次型最优控制效果比较好,达到了设计的目的。A=[01;00];B=[0;1];C=[10];D=0;Q=[10;01];R=1;K=[1.00001.7321

7、];sys=ss(A-B*K,eye(2),eye(2),eye(2));t=0:0.01:8;x=initial(sys,[1;0],t);x1=[10]*x';x2=[01]*x';subplot(2,1,1);plot(t,x1)gridxlabel('t(sec)');ylabel('x1')subplot(2,1,2);plot(t,x2)gridxlabel('t(sec)');ylabel('x2')>>

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。