连续线性二次型最优控制的MATLAB实现

更新时间:2023-11-05 18:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

连续线性二次型最优控制的MATLAB实现

1.绪 论

最优控制问题就是在一切可能的控制方案中寻找一个控制系统的最优控制方案或最优控制规律,使系统能最优地达到预期的目标。随着航海、航天、导航和控制技术不断深入研究,系统的最优化问题已成为一个重要的问题。

本文介绍了最优控制的基本原理,并给定了一个具体的连续线性二次型控制系统,利用MATLAB软件对其最优控制矩阵进行了求解,通过仿真实验,设计得到最优控制效果比较好,达到了设计的目的。

2.最优控制理论介绍

2.1最优控制问题 设系统状态方程为:

x(t)?fx(t),u(t),t?,x(t0)?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)在?t0,tf?上分段连续。所谓最优控制问题,就是要寻求最优控制函数,使得系统状态x(t)从已知初态x转移到要求的终态x(tf),在满足如下约束条件下: (1)控制与状态的不等式约束

g?x(t),u(t),t??0 (2—2)

0(2)终端状态的等式约束

M?x(tf),tf??0 (2—3)

使性能指标

tfJ???x(tf),tf???F?x(t),u(t),t?dt (2—4)

t0达到极值。式中g?x(t),u(t),t?是m维连续可微的向量函数,m?r;M?x(tf),tf?是s维连续可微的向量函数,s?n;??x(tf),tf?和F?x(t),u(t),t?都是x(t)与t的连续可

微向量函数。

2.2最优控制的性能指标

自动控制的性能指标是衡量系统性能好坏的尺度,其内容与形式取决于最优控制所要完成的任务,不同的控制问题应取不同的性能指标,其基本类型如下: (1)积分型性能指标

tfJ??F?x(t),u(t),t?dt (2—5)

t0表示在整个控制过程中,状态x(t)与控制u(t)应达到某些要求。例如: ①最小时间控制

取 F?x(t),u(t),t?=1

tf则 J??dt?t0?tf (2—6)

t0②最小燃料消耗控制

取 F?x(t),u(t),t??u(t)

tf则 J??u(td)t (2—7)

t0③最小能量控制

取 F?x(t),u(t),t??u2(t)

tf则 J??u2(t)td (2—8)

t0④无限时间线性调节器 取tf??,且

F(x,u,t)?1T?x(t)Qx(t)?uT(t)Ru(t)? 2其中,Q?0,R?0,均为加权矩阵,则

1?TJ???x(t)Qx(t)?uT(t)Ru(t)?dt (2—9)

2t0⑤无限时间线性跟踪器

1?J???y(t?z(t))?TQ?y(t)?z(t)??uT(t)Ru(t)dt (2—10)

2t0??其中,y(t)是系统输出向量,z(t)是系统希望输出向量。

在性能指标式(2—8)、(2—9)、(2—10)中,被积函数都是x(t)、y(t)-z(t)

或u(t)的平方项组成,这种性能指标的形式叫做二次型性能指标。 (2)末值型性能指标

J???x(tf),tf? (2—11)

表示系统在控制过程结束后,要求系统的终端状态x(tf)应达到某些要求,在实际工程中,例如要求导弹的脱靶量最小、机床移动的准确停止等。中断时刻可以固定,也可以自由,视最优控制问题的性质而定。 (3)复合型性能指标

tfJ???x(tf),tf???F?x(t),u(t),t?dt (2—12)

t0表示对控制过程及控制过程结束后的终端状态均有要求是最一般的性能指标形式。

2.3 最优控制问题的求解方法

(1)解析法。当性能指标与约束条件为显式解析表达式是,适用解析法。通常是用求导方法或变分方法求出最优控制的必要条件,从而得到一组方程式或不等式,然后求解这组方程或不等式,最后得到最优控制的解析解。

(2)数值计算法。当性能指标比较复杂或不能用变量的显函数表示时,可以采用试探法,即直接搜索逐步逼近,经过若干次迭代,逐步逼近到最优点。 (3)梯度法。这是一种解析和数值计算相结合的方法。 2.4 线性二次型最优控制

对于性能指标是二次型函数的线性系统叫做线性二次型最优控制。线性二次型最优控制方法的对象是以状态空间表达时给出的线性系统,而性能指标是对象状态和控制输入的二次型函数。二次型问题就是在线性系统的约束条件下,选择控制输入使得二次型目标函数达到最小。本文主要介绍连续系统线性二次型最优控制。

设线性连续订场系统的状态方程为:

x(t)?Ax(t)?Bu(t),x(0)?x0 (2—13)

?式中,x(t)x(t)是n维状态向量;u(t)是r维控制向量,且不受约束;A为n×n维常数矩阵,B为n×r维常数矩阵。

系统的性能指标为:

1?TJ??xQx?uTRudt (2—14)

20??式中,终端时间tf无限,Q为n×n维常数矩阵;R为r×r维常数矩阵;R>0,R?RT。若下列条件之一满足:

(1)Q?0,Q?QT,阵对{A,B}完全可控;

(2)Q?0,Q?QT,阵对{A,B}完全可控,阵对{A,D}完全可观,为任意矩阵,则有最优反馈矩阵:

K?R?1BTP 和唯一的最优控制:

u*(t)??Kx(t)??R?1BTPx(t) 以及最优性能指标:

J*?12xT(0)Px(0) 式中,P是常值正定矩阵,它是以下里卡提代数方程的唯一解:

PA?ATP?PBR?1BTP?Q?0 闭环系统:

x(?t)??A?BR?1BTP?x(t),x(0)?x0 是渐近稳定的,其解为最优轨线x*(t)。 2.5 连续系统线性二次型最优控制实例 已知系统动态方程:

??010?x???001??0?x??0?u ?6?11?6?????????1??y??110?x

系统结构如图2—1所示。

DDT?Q,D(2—15)

(2—16)

(2—17) (2—18)

(2—19)

图2—1 系统结构图

由结构图有系统的控制信号:

u?k(r?x)?(kx?kx)?kr?(kx?kx?kx)?kr?Kx

11223311122331式中反馈增益矩阵K: 系统性能指标:

K??kJ?1k2k?

31?TTxQx?uRudt ?02???100000??,R??1?,试计算最优状态反馈矩阵K是J最小并对其闭环010其中Q?????01??0?系统进行单位阶跃给定响应的仿真。 下面是该题目的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 =

本文来源:https://www.bwwdw.com/article/09r2.html

Top