《连续线性二次型最优控制的MATLAB实现.doc》由会员分享,可在线阅读,更多相关《连续线性二次型最优控制的MATLAB实现.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除连续线性二次型最优控制的MATLAB实现1.绪 论最优控制问题就是在一切可能的控制方案中寻找一个控制系统的最优控制方案或最优控制规律,使系统能最优地达到预期的目标。随着航海、航天、导航和控制技术不断深入研究,系统的最优化问题已成为一个重要的问题。本文介绍了最优控制的基本原理,并给定了一个具体的连续线性二次型控制系统,利用MATLAB软件对其最优控制矩阵进行了求解,通过仿真实验,设计得到最优控制效果比较好,达到了设计的目的。2.最优控制理论介绍2.1最优控制问题设系统状态方程为: (21)式中,x(t)是n维状态向量;u(t)是r维控制向量;n维向
2、量函数是x(t)、u(t)和t的连续函数,且对x(t)与t连续可微;u(t)在上分段连续。所谓最优控制问题,就是要寻求最优控制函数,使得系统状态x(t)从已知初态转移到要求的终态,在满足如下约束条件下:(1) 控制与状态的不等式约束 (22)(2) 终端状态的等式约束 (23)使性能指标 (24)达到极值。式中是m维连续可微的向量函数,;是s维连续可微的向量函数,;和都是x(t)与t的连续可微向量函数。2.2最优控制的性能指标自动控制的性能指标是衡量系统性能好坏的尺度,其内容与形式取决于最优控制所要完成的任务,不同的控制问题应取不同的性能指标,其基本类型如下:(1)积分型性能指标 (25)表示
3、在整个控制过程中,状态x(t)与控制u(t)应达到某些要求。例如:最小时间控制取 =1则 (26)最小燃料消耗控制取 则 (27)最小能量控制取 则 (28)无限时间线性调节器取,且其中,均为加权矩阵,则 (29)无限时间线性跟踪器 (210)其中,y(t)是系统输出向量,z(t)是系统希望输出向量。在性能指标式(28)、(29)、(210)中,被积函数都是x(t)、y(t)-z(t)或u(t)的平方项组成,这种性能指标的形式叫做二次型性能指标。(2) 末值型性能指标 (211)表示系统在控制过程结束后,要求系统的终端状态应达到某些要求,在实际工程中,例如要求导弹的脱靶量最小、机床移动的准确停
4、止等。中断时刻可以固定,也可以自由,视最优控制问题的性质而定。(3) 复合型性能指标 (212)表示对控制过程及控制过程结束后的终端状态均有要求是最一般的性能指标形式。2.3 最优控制问题的求解方法(1) 解析法。当性能指标与约束条件为显式解析表达式是,适用解析法。通常是用求导方法或变分方法求出最优控制的必要条件,从而得到一组方程式或不等式,然后求解这组方程或不等式,最后得到最优控制的解析解。(2) 数值计算法。当性能指标比较复杂或不能用变量的显函数表示时,可以采用试探法,即直接搜索逐步逼近,经过若干次迭代,逐步逼近到最优点。(3) 梯度法。这是一种解析和数值计算相结合的方法。2.4 线性二次
5、型最优控制对于性能指标是二次型函数的线性系统叫做线性二次型最优控制。线性二次型最优控制方法的对象是以状态空间表达时给出的线性系统,而性能指标是对象状态和控制输入的二次型函数。二次型问题就是在线性系统的约束条件下,选择控制输入使得二次型目标函数达到最小。本文主要介绍连续系统线性二次型最优控制。设线性连续订场系统的状态方程为: (213)式中,x(t)x(t)是n维状态向量;u(t)是r维控制向量,且不受约束;A为nn维常数矩阵,B为nr维常数矩阵。系统的性能指标为: (214)式中,终端时间无限,Q为nn维常数矩阵;R为rr维常数矩阵;R0,。若下列条件之一满足:(1) 阵对A,B完全可控;(2
6、) 阵对A,B完全可控,阵对A,D完全可观,D为任意矩阵,则有最优反馈矩阵: (215)和唯一的最优控制: (216)以及最优性能指标: (217)式中,P是常值正定矩阵,它是以下里卡提代数方程的唯一解: (218)闭环系统: (219)是渐近稳定的,其解为最优轨线。2.5 连续系统线性二次型最优控制实例已知系统动态方程:系统结构如图21所示。图21 系统结构图由结构图有系统的控制信号:式中反馈增益矩阵K: 系统性能指标:其中,试计算最优状态反馈矩阵K是J最小并对其闭环系统进行单位阶跃给定响应的仿真。下面是该题目的MATLAB程序及运行结果: a=0 1 0;0 0 1;-6 -11 -6;b
7、=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*k1bc = 0 0 26.1870 cc=c;dc=d; step(ac,bc,cc,dc)得到闭环系统单位阶跃给定响应的仿真曲线如图22所示。图22闭环系统单位阶跃给定响应曲线经状态最优反馈后,闭环系统单位阶跃给定响应曲线略微超调后立即单调衰减,这样的仿真曲线是很理想的,确实反映了最优控制的效果。若本题要求采用输出反馈,即使性能指标为:其中 ,计算最优反馈矩阵使J最小并对
8、其闭环系统进行单位阶跃给定响应的仿真。此时该题目的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)得到闭环系统单位阶跃给定响应的仿真曲线如图23所示。图23闭环系统单位阶跃给定响应曲线对比图22和图23可见,经最有输出反馈后,闭环系统阶跃给定响应曲线与经状态反馈后的阶跃响应曲线相差无几。3. 小 结 本文主要介绍了连续线性二次型最优控制的MATLAB实现,在本文写作过程中,我不仅巩固了所学的最优控制理论的相关知识,同时学习了用MATLAB进行连续线性二次型最优控制的实现方法,这些都会对我以后的学习和工作有很多帮助,感觉很有收获。【精品文档】第 6 页