第一章 经典控制理论和现代控制理论
本学期学习了现代控制理论课程的主要内容,现代控制理论建立在状态空间法基础上
的一种控制理论,是自动控制理论的一个主要组成部分。在现代控制理论中,对控制系统的分析和设计主要是通过对系统的状态变量的描述来进行的,基本的方法是时间域方法。现代控制理论比经典控制理论所能处理的控制问题要广泛得多,包括线性系统和非线性系统,定常系统和时变系统,单变量系统和多变量系统。它所采用的方法和算法也更适合于在数字计算机上进行。现代控制理论还为设计和构造具有指定的性能指标的最优控制系统提供了可能性。现代控制理论的名称是在1960年以后开始出现的,用以区别当时已经相当成熟并在后来被称为经典控制理论的那些方法。现代控制理论已在航空航天技术、军事技术、通信系统、生产过程等方面得到广泛的应用。现代控制理论的某些概念和方法,还被应用于人口控制、交通管理、生态系统、经济系统等的研究中。 以下是经典控制理论和现代控制理论的比较: 1、经典控制理论:
(1)理论基础:Evens的根轨迹,Nyquist稳定判据。 (2)研究对象:线性定常SISO系统分析与设计。
(3)分析问题:稳、准、快
(4)采用方法:是以频率域中传递函数为基础的外部描述方法。
(5)数学描述:高阶微分方程、传递函数、频率特性;方块图、信号流图、频率特性曲线。 (6)研究方法:时域法、根轨迹法、频率法。 2、现代控制理论:
(1)理论基础:李雅普诺夫稳定性理论,Bellman动态规划,Понтрягин极值原理,Kalman滤波。
(2)研究对象:MIMO系统分析与设计(复杂系统:多变量、时变、非线性) (3)分析问题:稳、准、快
(4)设计(综合)问题:
1)采用方法:是以时域中(状态变量)描述系统内部特征的状态空间方法为基础的内部描述方法。
2)数学描述:状态方程及输出方程、传递函数阵、频率特性;状态图、信号流图、频率特性曲线。
3)研究方法:状态空间法(时域法)、频率法。多采用计算机软硬件教学辅助设计——MATLAB软件
(5)特点:
1)系统:MIMO、非线性、时变。
2)方法将矩阵理论和方法应用到控制理论中,不仅能描述系统的输入与输出之间的关系,而且在任何初始条件下,都能揭示系统内部的行为。
3)一个复杂系统可能有多个输入和多个输出,并且以某种方式相互关联或耦合。为了分析这样的系统,必须简化其数学表达式,转而借助于计算机来进行各种大量而乏味的分析与计算。从这个观点来看,状态空间法对于系统分析是最适宜的。
第二章 现代控制理论的主要方法
一、变分法
1.1、变分法的基本概念
1.1.1 、泛函的概念
设S为一函数集合,若对于每一个函数x(t)S有一个实数J与之对应,则称J是定义在S上的泛函,记作J(x(t))。S称为J的容许函数集。
例如,在[x0,x1]上光滑曲线y(x)的长度可定义为
J
x1
x0
ydx (2)
2
考虑几个具体曲线,取x00,x11, 若y(x)x,则
J(y(x))J(x)
1
1dx2
若y(x)为悬链线,则
J(e
x
e2
x
)
1
1
(e
x
e4
x
)
2
dx
1
e
x
e2
x
dx
ee2
1
1
对应C[x0,x1]中不同的函数y(x),有不同曲线长度值J,即J依赖于y(x),是定义在1
函数集合C[x0,x1]上的一个泛函,此时我们可以写成
JJ(y(x))
我们称如下形式的泛函为最简泛函
J(x(t))
tf
t0
(t))dt (3) F(t,x(t),x
(t)。上述曲线长度泛函即为一最简泛函。 被积函数F包含自变量t,未知函数x(t)及导数x
1.1.2 、泛函极值问题
考虑上述曲线长度泛函,我们可以提出下面问题:
在所有连接定点A(x0,y0)和B(x1,y1)的平面曲线中,试求长度最小的曲线。 即,求y(x)y(x)y(x)C1[x0,x1],y(x0)y0,y(x1)y1,使 J(y(x))
x1
x0
ydx
2
取最小值。此即为泛函极值问题的一个例子。以极小值为例,一般的泛函极值问题可表述为,
称泛函J(x(t))在x0(t)S取得极小值,如果对于任意一个与x0(t)接近的x(t)S,都有J(x(t))J(x0(t))。所谓接近,可以用距离d(x(t),x0(t))来度量,而距离可以定义为
(t)x0(t)|} d(x(t),x0(t))max{|x(t)x0(t)|,|x
ttt
f
泛函的极大值可以类似地定义。其中x0(t)称为泛函的极值函数或极值曲线。
1.1.3 泛函的变分
如同函数的微分是增量的线性主部一样,泛函的变分是泛函增量的线性主部。作为泛函的自变量,函数x(t)在x0(t)的增量记为
x(t)x(t)x0(t)
也称函数的变分。由它引起的泛函的增量记作
JJ(x0(t)x(t))J(x0(t))
如果J可以表为
JL(x0(t),x(t))r(x0(t),x(t))
其中L为x的线性项,而r是x的高阶项,则称L为泛函在x0(t)的变分,记作 J(x0(t))。用变动的x(t)代替x0(t),就有J(x(t))。
泛函变分的一个重要形式是它可以表为对参数的导数:
J(x(t))
这是因为当变分存在时,增量
JJ(x(t)x)J(x(t))L(x(t),x)r(x(t),x) 根据L和r的性质有
L(x(t),x)L(x(t),x)
lim
r(x(t),x)
lim
r(x(t),x)
J(x(t)x(t))
0
(4)
0
0
x
x0
所以
J(xx)
0lim
J(xx)J(x)
0
lim
L(x,x)r(x,x)
0
L(x,x)J(x)
1.2 泛函极值的相关结论
1.2.1 泛函极值的变分表示 利用变分的表达式(4),可以得到有关泛函极值的重要结论。
泛函极值的变分表示:若J(x(t))在x0(t)达到极值(极大或极小),则
J(x0(t))0 (5)
证明:对任意给定的x,J(x0x)是变量的函数,该函数在0处达到极值。根据函数极值的必要条件知
J(x0x)
0
0
再由(4)式,便可得到(5)式。
变分法的基本引理:(x)C[x1,x2],(x)C1[x1,x2],(x1)(x2)0,有
x2x1
(x)(x)dx0,
则 (x)0, x[x1,x2]。 证明略。
1.2.2 泛函极值的必要条件
考虑最简泛函(3),其中F具有二阶连续偏导数,容许函数类S取为满足端点条件为固定端点(6)的二阶可微函数。
x(t0)x0,x(tf)xf (6)
泛函极值的必要条件:设泛函(3)在x(t)∈S取得极值,则x(t)满足欧拉方程
Fx
ddt
Fx0 (7)
欧拉方程推导:首先计算(3)式的变分:
J
tf
J(x(t)x(t))
0
dt
t0
(t)x(t))F(t,x(t)x(t),x
0
tf
t0
)xFx [Fx(t,x,x(t,x,x)x]dt
对上式右端第二项做分布积分,并利用x(t0)x(tf)0,有
tf
所以
t0
Fx(t,x,x)xdt
tf
tf
ddt
t0
Fx(t,x,x)xdt,
J
t0
[Fx
ddt
Fx]xdt
利用泛函极值的变分表示,得
tf
t0
[Fx
ddt
Fx]xdt0
因为x的任意性,及x(t0)x(tf)0,由基本引理,即得(7)。 (7)式也可写成
Fxx0 (8) FxFtxFxxxx
通常这是关于x(t)的二阶微分方程,通解中的任意常数由端点条件(6)确定。 1. 3 几个经典的例子 1.3.1 最速降线问题
最速降线问题 设A和B是铅直平面上不在同一铅直线上的两点,在所有连结A和B的平面曲线中,求一曲线,使质点仅受重力作用,初速度为零时,沿此曲线从A滑行至B的时间最短。
解 将A点取为坐标原点,B点取为B(x1,y1),如图1。根据能量守恒定律,质点在曲 线y(x)上任一点处的速度
ds满足(dt
s为弧长)
1
2
ds
2mdtmgy
将dsy'2
(x)dx代入上式得 dt
1y'2
2gy
dx 于是质点滑行时间应表为y(x)的泛函
J(y(x))
x2
1y'2
2gy
dx
端点条件为
y(0)0,y(x1)y1
最速降线满足欧拉方程,因为
F(y,y')
1y'2
y
不含自变量x,所以方程(8)可写作
FyFyy'y'Fy'y'y''0
等价于
ddx
(Fy'Fy')0
作一次积分得
y(1y'2
)c1 令 y'ctg
2
,则方程化为
y
c12
c11y'
2
c1sin
2
2
(1cos)又因
图1最速降线问题
dx
dyy'
c1sin
2
cos
2
d
c12
ctg
2
(1cos)d
积分之,得
x
c2
(sin)c2
由边界条件y(0)0,可知c20,故得
c1x(sin)2
cy1(1cos).2
这是摆线(园滚线)的参数方程,其中常数c1可利用另一边界条件y(x1)y1来确定。 1.3.2 最小旋转面问题
最小旋转面问题 对于xy平面上过定点A(x1,y1)和B(x2,y2)的每一条光滑曲线
y(x),绕x轴旋转得一旋转体。旋转体的侧面积是曲线y(x)的泛函J(y(x)),易得
J(y(x))
x2x1
2
2y(x)y'(x) dx
容许函数集可表示为
Sy(x)|y(x)C[x1,x2],y(x1)y1, y(x2)y2
1
解 因Fyy" 不包含x,故有首次积分
Fy'Fy'yy'y'y
2
y'y'
2
c1
化简得 yc1y'
令y'sht,代入上式, yc1sh2tc1cht 由于 dx
dyy'c1shtdtsht
c1dt
2
积分之,得 xc1tc2 消去t,就得到yc1ch
xc2c1
。
这是悬链线方程,适当选择条件(令该悬链线过(0,1/a)点,且该点处的切线是水平的)
就可得到(1)。本例说明,对于平面上过两个定点的所有光滑曲线,其中绕x轴旋转所得旋转体的侧面积最小的是悬链线!
二、最大(小)值原理
2.1、 泛函极值问题
2.1.1、 泛函极值的几个简单推广
(ⅰ)含多个函数的泛函
使泛函
J(y(x),z(x))
x2
xF(x,y,y',z,z')dx
1
取极值且满足固定边界条件
y(x1)y1,y(x2)y2,z(x1)z1,z(x2)z2.
的极值曲线yy(x),zz(x)必满足欧拉方程组
FdyFy'0
dx
FzddxFz'0(ii)含高阶导数的泛函 使泛函 J(y(x))
x2xF(x,y,y',y")dx
1
取极值且满足固定边界条件
y(x1)y1,y(x2)y2,y'(x1)y'1,y'(x2)y'2
的极值曲线yy(x)必满足微分方程
Fdd2ydx
Fy'dx
2
Fy"0
(iii) 含多元函数的泛函
设z(x,y)c2
,(x,y)D,使泛函 J(z(x,y))
F(x,y,z,z
x
,zy)dxdy
D
取极值且在区域D的边界线l上取已知值的极值函数zz(x,y)必满足方程
Fz
x
Fzx
y
Fzy0
上式称为奥式方程。
2.1.2、端点变动的情况(横截条件)
设容许曲线x(t)在t0固定,在另一端点ttf时不固定,是沿着给定的曲线x(t)上变动。于是端点条件表示为
x(t0)x0
x(t)(t)
这里t是变动的,不妨用参数形式表示为 ttfdtf
寻找端点变动情况的泛函极值必要条件,可仿照前面端点固定情况进行推导,即有 0J
tfdt
f
t0
x)dtF(t,xx,x
F
0
tf
t0
(Fx
ddt
Fx)xdtFxx
ttfttf
dtf (9)
再对(9)式做如下分析:
(i)对每一个固定的tf,x(t)都满足欧拉方程,即(9)式右端的第一项积分为零; (ii)为考察(9)式的第二、第三项,建立dtf与x
之间的关系,因为
ttf
x(tfdtf)x(tfdtf)(tfdtf) 对求导并令0得 (tf)dt x
f
x
ttf
(tf)dtf
即
(tf)x(tf)]dtf (10) xtt[
f
把(10)代入(9)并利用dtf的任意性,得
)Fx] [F(x
ttf
0 (11)
(11)式就是确定欧拉方程通解中另一常数的定解条件,称为横截条件。 横截条件有两种常见的特殊情况:
(i)当x(t)是垂直横轴的直线时,tf固定,x(tf)自由,并称x(tf)为自由端点。此时(9)式中dt
f
0及x
ttf
的任意性,便得自由端点的横截条件
Fx
0 (12)
ttf
(ii)当x(t)是平行横轴的直线时,tf自由,x(tf)固定,并称x(tf)为平动端点。
0,此时(11)式的横截条件变为
Fx Fx
ttf
0 * (13)
注意,横截条件与欧拉方程联立才能构成泛函极值的必要条件。
2.2 、有约束条件的泛函极值
在最优控制系统中,常常要涉及到有约束条件泛函的极值问题,其典型形式是对动态系统
x(t)f(t,x(t),u(t)) * (14)
寻求最优性能指标(目标函数)
J(u(t))(tf,x(tf))
tf
t0
F(t,x(t),u(t))dt * (15)
其中u(t)是控制策略,x(t)是轨线,t0固定,tf及x(tf)自由,x(t)Rn,u(t)Rm(不受限,充满Rm空间),f,,F连续可微。
下面推导取得目标函数极值的最优控制策略u*(t)和最优轨线x*(t)的必要条件。 采用拉格朗日乘子法,化条件极值为无条件极值,即考虑
J1(x,u,)(tf,x(tf))
tf
t0
T
)]dt (16) [F(t,x,u)(t)(f(t,x,u)x
的无条件极值,首先定义(14)式和(15)式的哈密顿(Hamilton)函数为
H(t,x,u,)F(t,x,u)T(t)f(t,x,u) (19)(17) 将其代入(16)式,得到泛函
J1(x,u,)(tf,x(tf))
tf
t0
T
]dt (20)(18) [H(t,x,u,)x
下面先对其求变分 J1
{(tfdtf,x(tf)x(tf))
f
tfdt
t0
x)]dt}0 [H(t,xx,uu,)()(x
T
T
T
TT
)(dtf)(x
T
x(tf)x(tf)(dtf)tf(dtf)H(t,x,u,)
ttfttf
tf
t0
TTTT
Tx]dt [(x)Hx(u)Hu()H()x
(dtf)[tfF(t,x,u,t)
T
ttf
][x(tf)]x(tf)
ttf
T
tf
t0
TTTT
]dtT(tf)x[(x)Hx(u)Hu()H()x
tf
t0
T
(x)dt
注意到x
ttf
x(tf),x
T
ttf
(tf)dtf,因而 x(tf)x
][x(tf)](x)
T
J1(dtf)[tH(t,x,u,)
f
ttfttf
tf
t0
T)()T(Hx)(u)THu]dt [(x)(Hx
再令J10,由dtf,x(tf),x,u,的任意性,便得
(i)x,必满足正则方程:
Hf(t,x,u) ① 状态方程 x
*
*
H。 ② 协态方程 x
(ii)哈密顿函数H(t,x*,u,*)作为u的函数,也必满足 Hu0 并由此方程求得u*。
(iii)求x,,u时,必利用边界条件 ① x(t0)x0, (用于确定x*) ② (tf)x(t), (用于确定*) f③ tH(t,x,u,)
f
***
ttf
, (确定tf)
如果受控系统
f(t,x,u),x(t0)x0 x
其控制策略u(t)的全体构成有界集U,求u(t)U,使性能指标 J(u(t))(tf,x(tf))达到最大(小)值。 2.3、最大(小)值原理
*
如果f(t,x,u),(tf,x(tf))和F(t,x,u)都是连续可微的,那么最优控制策略u(t)和
tf
t0
F(t,x,u)dt
相应的最优轨线x(t)由下列的必要条件决定:
(i)最优轨线x(t),协态向量(t)由下列的必要条件决定:
dxdt
f(t,x,u),u(t)U,
*
*
*
ddt
Hx
(ii)哈密顿函数
H(t,x*,u,*)F(t,x*,u)*T(t)f(t,x*,u) 作为u(t)的函数,最优策略u*(t)必须使
H(t,x,u,)maxH(t,x,u,)
uU
*
*
*
*
*
或使
H(t,x,u,)minH(t,x,u,)(最小值原理)
uU
*
*
*
*
*
(iii)满足相应的边界条件
① 若两端点固定,则正则方程的边界条件为 x(0)x0,x(tf)xf。
② 若始端固定,终端tf也固定,而x(tf)自由,则正则方程的边界条件为 x(0)x0,(tf)x(t)(tf,x(tf))。
f
③ 若始端固定,终端tf,x(tf)都自由,则正则方程的边界条件为 x(0)x0,(tf)x(t)(tf,x(tf)),
f
H(tf,x(tf),u(tf),(tf))t(tf,x(tf))0。
f
三、 动态规划
动态规划法是系统分析中一种常用的方法。在水资源规划中,往往涉及到地表水库调度、水资源量的合理分配、优化调度等问题,而这些问题又可概化为多阶段决策过程问题。动态规划法是解决此类问题的有效方法。动态规划法是20世纪50年代由贝尔曼(R. Bellman)等人提出,用来解决多阶段决策过程问题的一种最优化方法。所谓多阶段决策过程,就是把研究问题分成若干个相互联系的阶段,由每个阶段都作出决策,从而使整个过程达到最优化。许多实际问题利用动态规划法处理,常比线性规划法更为有效,特别是对于那些离散型问题。实际上,动态规划法就是分多阶段进行决策,其基本思路是:按时空特点将复杂问题划分为相互联系的若干个阶段,在选定系统行进方向之后,逆着这个行进方向,从终点向始点计算,逐次对每个阶段寻找某种决策,使整个过程达到最优,故又称为逆序决策过程。
动态规划是为了解决一类多阶段决策问题而诞生的。多阶段决策过程,是指这样的一类特殊的活动过程,问题可以按时间顺序分解成若干相互联系的阶段,在每一个阶段都要做出决策,全部过程的决策是一个决策序列。要使整个活动的总体效果达到最优的问题,称为多阶段决策问题
从上述的定义中,我们可以明显地看出,这类问题有两个要素。一个是阶段,一个是决策。 阶段:将所给问题的过程,按时间或空间特征分解成若干相互联系的阶段,以便按次序去求每阶段的解。
状态:各阶段开始时的客观条件叫做状态。描述各阶段状态的变量称为状态变量 应用动态规划的一个重要条件。那就是将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的发展,而只能通过当前的这个状态。换句话说,每个状态都是“过去历史的一个完整总结[1]”。这就是无后效性。
决策:当各段的状态取定以后,就可以做出不同的决定,从而确定下一阶段的状态,这种决定称为决策。 有了决策,我们可以定义状态转移:动态规划中本阶段的状态往往是上一阶段和上一阶段的决策结果,由第k段的状态sk和本阶段的决策uk确定第k+1段的状态sk+1的过程叫状态转移。状态转移规律的形式化表示sk+1=Tk(sk,uk)称为状态转移方程。
动态规划有很多典型的例子,下面剖析一下最简单的例子就可以理解动态规划的基本应用方法了
例:数字三角形 PKU 给出以下的数字三角形:
7 3 8
8 1 0 2 7 4 4 4 5 2 6 5
求出从顶端向下走,每一步只能向左下或右下走,让经过的路程所得到的数字和最大,输出总和。
本例来说走的路程为:7->3->8->7->5 输出就是30
在这个问题中,我们按走过的行数来划分阶段,以走到每一行时所在的位置来作为状态,决策就是向左下走或向右下走。
我们输入的时候可以将整个三角形存到一个2维数组中去: 0 1 2 3 4 5 0 1 7 2 3 8 3 8 1 0
4 2 7 4 4 5 4 5 2 6 5
为方便起见我们忽略0的下标,从1开始储存
对于规模很小的数据来说,例如本题只有5行,当然可以通过枚举所有的情况来解决
这样我们搜索的顺序就是 7-3-8-2-4 7-3-8-2-5 7-3-8-7-2 7-3-1-4-6 7-3-8-7-5
.........
但是,如果数据量增大到1000*1000,我们要搜多少遍?很难想象啊
在用枚举的时候我们发现单纯的对于7-3-8来说,这一阶段当然应该选择7-8的状态,但是枚
举的时候重复搜索了很多次,那么能不能将这个值记录下来以便以后不用搜索了呢?这就用到了动态规划的思想:
如我们建立一个数组DP[6][6];
从7开始:我们将每走一行划分为一个阶段 在第一阶段当然就是 7,于是DP[1][1] = 7
第二阶段,我们有2个选择3或者8,于是DP[2][1] = 7 + 3 = 10, DP[2][2] = 7 + 8 = 15;
第三阶段,我们面临了一种比较大小的选择:DP[3][1]没有选择只能加上DP[2][1] = 8 + 10 = 18;DP[3][2]就有选择了DP[3][2]可以加上DP[2][1]或者DP[2][2],于是我们选择大的即DP[2][2] 所以DP[3][2] = 1 + 15 = 16 这就引出了我们的状态转移方程
DP[i][j] = DP[i-1][j]+num[i][j]; ( j == 1 的情况下 ) DP[i-1][j-1]+num[i][j]; ( j == n 的情况下 )
(DP[i-1][j-1]>DP[i-1][j] ? DP[i-1][j-1] : DP[i-1][j])+num[i][j];
一直到最后我们DP数组的最后一行保存的就是从7一直走到最后的不同路径能得到的最大值,从中再找到最大的值就是整个题目的解了。
四、线性二次型最优控制
对于线性系统的控制器设计问题,如果其性能指标是状态变量和(或)控制变量的二次型函数的积分,则这种动态系统的最优化问题称为线性系统二次型性能指标的最优控制问题,简称为线性二次型最优控制问题或线性二次问题。线性二次型问题的最优解可以写成统一的解析表达式和实现求解过程的规范化,并可简单地采用状态线性反馈控制律构成闭环最优控制系统,能够兼顾多项性能指标,因此得到特别的重视,为现代控制理论中发展较为成熟的一部分。
第三章 单级倒立摆LQR控制
1、问题与建模
在忽略了空气阻力,各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如下图所示。
其中:
M 小车质量 m 摆杆质量 b 小车摩擦系数
l 摆杆转动轴心到杆质心的长度 I 摆杆惯量 F 加在小车上的力 x 小车位置
φ 摆杆与垂直向上方向的夹角
θ 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下) 采用牛顿动力学方法可建立单级倒立摆系统的微分方程如下:
mlcosmlsinF(Mm)xbxmglsinmlxcos(Iml)
2
倒立摆的平衡是使倒立摆的摆杆垂直于水平方向倒立,所以假设,为足够
t
22
小的角度,即可近似处理得:cos1,sin,0。
用u来代表被控对象的输入力F,线性化后两个方程如下:
2(Iml)mglmlx
mluxbx(Mm)
取状态变量:
x1x2x
x3x
x4x
即摆杆的角度和角速度以及小车的位移和速度四个状态变量。则系统的状态方程为:
1x
x23x4x
x2
mgl(Mm)I(Mm)Mmlx4
mgl
2
2
22
x1
ml
I(Mm)Mml
2
22
u
u
I(Mm)Mml
x1
Iml
I(Mm)Mml
将上式写成向量和矩阵的形式,就成为线性系统的状态方程:
AxBux
yCx
x
这里设:
M1.32Kgm0.07Kg
b0.1N/m/s l0.20mI0.0009Kgm
2
将参数带入,有:
0
38.1825A0
0.384702.8037
B
00.74771C
0
00
01
001000
0000
0010
2、LQR控制
线性二次型是指系统的状态方程是线性的,指标函数是状态变量和控制变量的二次型。考虑线性系统的状态方程为:
X(t)Ax(t)Bu(t)y(t)Cx(t)Du(t)
找一状态反馈控制律:u(t)Kx(t),使得二次型性能指标最小化:
J
12
x(tf)Sx(tf)
T
1
2
tft0
[x(t)Q(t)x(t)uR(t)u(t)]dt
Tt
S为终态约束矩阵;tf、其中,x(t)为系统的状态变量;t0为起始时间与终止时间;Q(t)
为运动约束矩阵;R(t)为约束控制矩阵。其中Q(t)、R(t)决定了系统误差与控制能量消耗之间的相对重要性。
为使J最小,由最小值原理得到最优控制为:
u(t)RBP(t)x(t)
*
1
T
式中,矩阵P(t)为微分Riccatti方程:P(t)P(t)AATP(t)P(t)BR1BTP(t)Q
的解。
如果令终止时间tf,P(t)为一个常数矩阵,且P(t)0,因此以上的Riccatti方程简化为P(t)AATP(t)P(t)BR1BTP(t)Q0。
对于最优反馈系数矩阵KR1BTP(t),使用Matlab中专门的求解工具lqr()来求取K。将LQR控制方法用于倒立摆控制的原理如下图所示。
用Matlab求解lqr(A, B, Q, R)可以求出最优反馈系数矩阵K的值。lqr函数需要选择两
个参数R和Q,这两个参数是用来平衡输入量和状态量的权重。其中,Q1,1代表摆杆角度的权重,而Q3,3是小车位置的权重。这里选择:
2500
Q
00R0.1
0000
00100
000 0
通过matlab求得:K = [-82.4246 -10.7034 -10.0000 -11.8512]。
3、仿真 通过matlab仿真,LQR控制倒立摆摆角和小车位移仿真结果如下图所示。
倒立摆摆角:
小车位移:
第四章 现代控制技术前沿简介
目前,自动控制技术已广泛地应用于工农业生产、交通运输和国防建设。经典控制理论至今仍被成功地应用于单变量定常系统的分析和设计中。现代控制技术应用现代控制理论与计算机的最新技术进行系统设计,它适用于系统的综合与解析设计,更适于多输入多输出、多回路的复杂系统设计,也易于计算机实现,因此受到工程界越来越多的重视并得到广泛的应用。近年来,控制理论在非线性系统控制、最优控制理论智能化控制等几个主要方向上取得了重要进展。 1、最优控制理论
最优控制理论是研究和解决从一切可能的控制方案中寻找最优解的一门学科。它是现代控制理论的重要组成部分。这方面的开创性工作主要是由贝尔曼(R.E.Bellman) 提出的动态规划[1]和庞特里雅金(П.с·Понтрягин) 等人提出的极小值原理[2 ]。动态规划、最大值原理和变分法是最优控制理论的基本内容和常用方法。最优化技术是研究和解决如何将最优化问题表示为数学模型以及如何根据数学模型尽快求出其最优解这两大问题。最优化问题,就是寻找一个最优控制方案或最优控制规律,使系统能最优地达到预期的目标。
最优化方式有离线静态优化方式和在线动态优化方式,而最优化问题的求解方法大致可分为四类:(1)解析法;(2)数值解法(直接法);(3)解析与数值相结合的寻优方法;(4)网络最优化方法。
环境的变动、触媒和设备的老化以及原料成分的变动等因素形成了对工业过程的扰动,因此原来设计的工况条件就不是最优的。解决此类问题的常见方法一般归结为在线优化方法包括:(1)局部参数最优化和整体最优化设计方法;(2)预测控制中的滚动优化算法;(3)稳态递阶控制;(4)系统优化和参数估计的集成研究方法。随着工程实际的越来越复杂化,许多实际工程问题是很难或不可能得到其精确的数学模型的。这就限制了上述经典优化方法的实际应用。随着模糊理论、神经网络等智能技术和计算机技术的发展。近年来,智能式的优化方法得到了重视和发展。
2. 非线性系统控制
非线性控制是复杂控制理论中一个重要的基本问题,也是一个难点课题,它的发展几乎与线性系统平行由于非线性系统的研究缺乏系统的、一般性的理论及方法,于是综合方法得到较大的发展,主要有:(1)李雅普诺夫方法:它是迄今为止最完善、最一般的非线性方法,但是由于它的一般性,在用来分析稳定性或用来镇定综合时都欠缺构造性。 (2)变结构控制:由于其滑动模态具有对干扰与摄动的不变性,到80 年代受到重视,是一种实用的非线性控制的综合方法。(3)微分几何法:在过去的的20年中,微分几何法一直是非线性控制系统研究的主流,它对非线性系统的结构分析、分解以及与结构有关的控制设计带来极大方便。用微分几何法研究非线性系统是现代数学发展的必然产物,正如意大利教授Isidori 指出:“用微分几何法研究非线性系统所取得的成绩,就象50 年代用拉氏变换及复变函数理论对单输入单输出系统的研究,或用线性代数对多变量系统的研究。”但这种方法也有它的缺点,体现在它的复杂性、无层次性、准线性控制以及空间测度被破坏等。因此最近又有学者提出引入新的、更深刻的数学工具去开拓新的方向,例如:微分动力学、微分拓扑与代数拓扑。 3. 智能控制技术及应用
智能控制系统可认为是一种能在各种复杂的不确定环境中,以一个或多个常规控制系统为“执行机构”,以这种复杂过程为“控制对象”,面向目标任务的闭环自动控制系统。它具有多层次系统结构,复合型的信息结构,能利用知识进行推理、学习与联想。一个好的智能控制系统应能满足多目标与高性能指标的要求,对环境干扰与不确定因素具有鲁棒性,对故障具有屏蔽和自恢复能力,系统有相当的在线实时响应能力,能适应对象特性,运行条件等变化,并具
有友好的人- 机界面,便于操作与维护。
智能控制IC( Intelligent Control)是人工智能、控制论和运筹学的交叉。人工智能主要包括专家系统、模糊理论和神经网络;控制论主要指古典控制和现代控制;运筹学主要涉及定量优化方法。而模糊逻辑控制、神经网络控制和专家控制则是三种典型的智能控制技术。
第五章 学习现代控制理论的心得体会
通过现代控制理论的学习,我觉得现代控制理论是一门比较难学而又抽象的学科。现代控制理论与经典控制理论都是针对如何更好地实现控制的问题,而提出的理论。它们解决同一控制问题的两种不同的工具和方法。主要区别在于,它们的适用范围、数学描述和研究方法不同。现代控制理论采用状态空间法,用状态方程及输出方程、传递函数阵等数学描述去描述一个控制系统,更适用于多个输入和多个输出系统。而且现代控制理论能实现系统的状态观测与控制,经典控制理论则不能。现代控制理论和经典控制理论是紧密联系、相辅相成的,我们学习现代控制理论时,应和经典控制理论对比着学习。如:我们可以从经典控制理论的传递函数直接写出现代控制理论中的标准状态方程,由状态方程也可以写出传递函数。此外,现代控制理论使用了大量矩阵论的知识,我们在学习前和学习过程中,遇到不懂得矩阵运算问题,要好好的复习有关矩阵论的知识点。要学会用MATLAB软件对矩阵的运算,和控制的仿真。
对一个工程问题,1.我们要进行数学建模,把工程问题转变成数学模型。2.详细分析模型,确定模型的输入输出变量以及状态变量,建立模型的状态空间表达式。3.判断模型的能控性和能观性。4. 判断模型的稳定性(是否稳定,属于什么类型的稳定)5.如模型不稳定就对其进行设计,使之实现稳定(线性定常系统的综合)。6.要实现最优控制,人工智能、模糊控制等就要结合其他的学科的知识区分析研究。
要学好现代控制理论,就要理论和实践结合,多做一些实验,并用现代控制理论知识去分析问题。此外还要多看看有关现代控制理论的论文。现代控制理论给我们提供了一种分析和研究工程控制问题的思路和方法,为我们指明了解决工程控制问题的方向。
参考文献
【1】胡寿松 《自动控制原理》 科学出版社 2001.
【2】张彗平《现代控制理论在过程工业中的应用和发展》 北京石油化工学院学报[J] 2006(14) ,9
【3】褚健,潘江华,苏宏业等 《预测控制技术的现状和展望[J].机电工程》 1999,5:
3-7.
【4】谢克明 《现代控制理论基础 》 北京工业大学出版社 2000.
【5】董欣 《现代控制理论学习心得 》 太原理工大学学报(社会科学版)(19) 2001
【6】樊京,刘叔军,盖晓华,崔世林 《MATLAB控制系统应用及实例》
2008
【7】徐宗本,柳重堪 《信息工程概论》 科学出版社 2002.
清华大学出版社 - 21 -
第一章 经典控制理论和现代控制理论
本学期学习了现代控制理论课程的主要内容,现代控制理论建立在状态空间法基础上
的一种控制理论,是自动控制理论的一个主要组成部分。在现代控制理论中,对控制系统的分析和设计主要是通过对系统的状态变量的描述来进行的,基本的方法是时间域方法。现代控制理论比经典控制理论所能处理的控制问题要广泛得多,包括线性系统和非线性系统,定常系统和时变系统,单变量系统和多变量系统。它所采用的方法和算法也更适合于在数字计算机上进行。现代控制理论还为设计和构造具有指定的性能指标的最优控制系统提供了可能性。现代控制理论的名称是在1960年以后开始出现的,用以区别当时已经相当成熟并在后来被称为经典控制理论的那些方法。现代控制理论已在航空航天技术、军事技术、通信系统、生产过程等方面得到广泛的应用。现代控制理论的某些概念和方法,还被应用于人口控制、交通管理、生态系统、经济系统等的研究中。 以下是经典控制理论和现代控制理论的比较: 1、经典控制理论:
(1)理论基础:Evens的根轨迹,Nyquist稳定判据。 (2)研究对象:线性定常SISO系统分析与设计。
(3)分析问题:稳、准、快
(4)采用方法:是以频率域中传递函数为基础的外部描述方法。
(5)数学描述:高阶微分方程、传递函数、频率特性;方块图、信号流图、频率特性曲线。 (6)研究方法:时域法、根轨迹法、频率法。 2、现代控制理论:
(1)理论基础:李雅普诺夫稳定性理论,Bellman动态规划,Понтрягин极值原理,Kalman滤波。
(2)研究对象:MIMO系统分析与设计(复杂系统:多变量、时变、非线性) (3)分析问题:稳、准、快
(4)设计(综合)问题:
1)采用方法:是以时域中(状态变量)描述系统内部特征的状态空间方法为基础的内部描述方法。
2)数学描述:状态方程及输出方程、传递函数阵、频率特性;状态图、信号流图、频率特性曲线。
3)研究方法:状态空间法(时域法)、频率法。多采用计算机软硬件教学辅助设计——MATLAB软件
(5)特点:
1)系统:MIMO、非线性、时变。
2)方法将矩阵理论和方法应用到控制理论中,不仅能描述系统的输入与输出之间的关系,而且在任何初始条件下,都能揭示系统内部的行为。
3)一个复杂系统可能有多个输入和多个输出,并且以某种方式相互关联或耦合。为了分析这样的系统,必须简化其数学表达式,转而借助于计算机来进行各种大量而乏味的分析与计算。从这个观点来看,状态空间法对于系统分析是最适宜的。
第二章 现代控制理论的主要方法
一、变分法
1.1、变分法的基本概念
1.1.1 、泛函的概念
设S为一函数集合,若对于每一个函数x(t)S有一个实数J与之对应,则称J是定义在S上的泛函,记作J(x(t))。S称为J的容许函数集。
例如,在[x0,x1]上光滑曲线y(x)的长度可定义为
J
x1
x0
ydx (2)
2
考虑几个具体曲线,取x00,x11, 若y(x)x,则
J(y(x))J(x)
1
1dx2
若y(x)为悬链线,则
J(e
x
e2
x
)
1
1
(e
x
e4
x
)
2
dx
1
e
x
e2
x
dx
ee2
1
1
对应C[x0,x1]中不同的函数y(x),有不同曲线长度值J,即J依赖于y(x),是定义在1
函数集合C[x0,x1]上的一个泛函,此时我们可以写成
JJ(y(x))
我们称如下形式的泛函为最简泛函
J(x(t))
tf
t0
(t))dt (3) F(t,x(t),x
(t)。上述曲线长度泛函即为一最简泛函。 被积函数F包含自变量t,未知函数x(t)及导数x
1.1.2 、泛函极值问题
考虑上述曲线长度泛函,我们可以提出下面问题:
在所有连接定点A(x0,y0)和B(x1,y1)的平面曲线中,试求长度最小的曲线。 即,求y(x)y(x)y(x)C1[x0,x1],y(x0)y0,y(x1)y1,使 J(y(x))
x1
x0
ydx
2
取最小值。此即为泛函极值问题的一个例子。以极小值为例,一般的泛函极值问题可表述为,
称泛函J(x(t))在x0(t)S取得极小值,如果对于任意一个与x0(t)接近的x(t)S,都有J(x(t))J(x0(t))。所谓接近,可以用距离d(x(t),x0(t))来度量,而距离可以定义为
(t)x0(t)|} d(x(t),x0(t))max{|x(t)x0(t)|,|x
ttt
f
泛函的极大值可以类似地定义。其中x0(t)称为泛函的极值函数或极值曲线。
1.1.3 泛函的变分
如同函数的微分是增量的线性主部一样,泛函的变分是泛函增量的线性主部。作为泛函的自变量,函数x(t)在x0(t)的增量记为
x(t)x(t)x0(t)
也称函数的变分。由它引起的泛函的增量记作
JJ(x0(t)x(t))J(x0(t))
如果J可以表为
JL(x0(t),x(t))r(x0(t),x(t))
其中L为x的线性项,而r是x的高阶项,则称L为泛函在x0(t)的变分,记作 J(x0(t))。用变动的x(t)代替x0(t),就有J(x(t))。
泛函变分的一个重要形式是它可以表为对参数的导数:
J(x(t))
这是因为当变分存在时,增量
JJ(x(t)x)J(x(t))L(x(t),x)r(x(t),x) 根据L和r的性质有
L(x(t),x)L(x(t),x)
lim
r(x(t),x)
lim
r(x(t),x)
J(x(t)x(t))
0
(4)
0
0
x
x0
所以
J(xx)
0lim
J(xx)J(x)
0
lim
L(x,x)r(x,x)
0
L(x,x)J(x)
1.2 泛函极值的相关结论
1.2.1 泛函极值的变分表示 利用变分的表达式(4),可以得到有关泛函极值的重要结论。
泛函极值的变分表示:若J(x(t))在x0(t)达到极值(极大或极小),则
J(x0(t))0 (5)
证明:对任意给定的x,J(x0x)是变量的函数,该函数在0处达到极值。根据函数极值的必要条件知
J(x0x)
0
0
再由(4)式,便可得到(5)式。
变分法的基本引理:(x)C[x1,x2],(x)C1[x1,x2],(x1)(x2)0,有
x2x1
(x)(x)dx0,
则 (x)0, x[x1,x2]。 证明略。
1.2.2 泛函极值的必要条件
考虑最简泛函(3),其中F具有二阶连续偏导数,容许函数类S取为满足端点条件为固定端点(6)的二阶可微函数。
x(t0)x0,x(tf)xf (6)
泛函极值的必要条件:设泛函(3)在x(t)∈S取得极值,则x(t)满足欧拉方程
Fx
ddt
Fx0 (7)
欧拉方程推导:首先计算(3)式的变分:
J
tf
J(x(t)x(t))
0
dt
t0
(t)x(t))F(t,x(t)x(t),x
0
tf
t0
)xFx [Fx(t,x,x(t,x,x)x]dt
对上式右端第二项做分布积分,并利用x(t0)x(tf)0,有
tf
所以
t0
Fx(t,x,x)xdt
tf
tf
ddt
t0
Fx(t,x,x)xdt,
J
t0
[Fx
ddt
Fx]xdt
利用泛函极值的变分表示,得
tf
t0
[Fx
ddt
Fx]xdt0
因为x的任意性,及x(t0)x(tf)0,由基本引理,即得(7)。 (7)式也可写成
Fxx0 (8) FxFtxFxxxx
通常这是关于x(t)的二阶微分方程,通解中的任意常数由端点条件(6)确定。 1. 3 几个经典的例子 1.3.1 最速降线问题
最速降线问题 设A和B是铅直平面上不在同一铅直线上的两点,在所有连结A和B的平面曲线中,求一曲线,使质点仅受重力作用,初速度为零时,沿此曲线从A滑行至B的时间最短。
解 将A点取为坐标原点,B点取为B(x1,y1),如图1。根据能量守恒定律,质点在曲 线y(x)上任一点处的速度
ds满足(dt
s为弧长)
1
2
ds
2mdtmgy
将dsy'2
(x)dx代入上式得 dt
1y'2
2gy
dx 于是质点滑行时间应表为y(x)的泛函
J(y(x))
x2
1y'2
2gy
dx
端点条件为
y(0)0,y(x1)y1
最速降线满足欧拉方程,因为
F(y,y')
1y'2
y
不含自变量x,所以方程(8)可写作
FyFyy'y'Fy'y'y''0
等价于
ddx
(Fy'Fy')0
作一次积分得
y(1y'2
)c1 令 y'ctg
2
,则方程化为
y
c12
c11y'
2
c1sin
2
2
(1cos)又因
图1最速降线问题
dx
dyy'
c1sin
2
cos
2
d
c12
ctg
2
(1cos)d
积分之,得
x
c2
(sin)c2
由边界条件y(0)0,可知c20,故得
c1x(sin)2
cy1(1cos).2
这是摆线(园滚线)的参数方程,其中常数c1可利用另一边界条件y(x1)y1来确定。 1.3.2 最小旋转面问题
最小旋转面问题 对于xy平面上过定点A(x1,y1)和B(x2,y2)的每一条光滑曲线
y(x),绕x轴旋转得一旋转体。旋转体的侧面积是曲线y(x)的泛函J(y(x)),易得
J(y(x))
x2x1
2
2y(x)y'(x) dx
容许函数集可表示为
Sy(x)|y(x)C[x1,x2],y(x1)y1, y(x2)y2
1
解 因Fyy" 不包含x,故有首次积分
Fy'Fy'yy'y'y
2
y'y'
2
c1
化简得 yc1y'
令y'sht,代入上式, yc1sh2tc1cht 由于 dx
dyy'c1shtdtsht
c1dt
2
积分之,得 xc1tc2 消去t,就得到yc1ch
xc2c1
。
这是悬链线方程,适当选择条件(令该悬链线过(0,1/a)点,且该点处的切线是水平的)
就可得到(1)。本例说明,对于平面上过两个定点的所有光滑曲线,其中绕x轴旋转所得旋转体的侧面积最小的是悬链线!
二、最大(小)值原理
2.1、 泛函极值问题
2.1.1、 泛函极值的几个简单推广
(ⅰ)含多个函数的泛函
使泛函
J(y(x),z(x))
x2
xF(x,y,y',z,z')dx
1
取极值且满足固定边界条件
y(x1)y1,y(x2)y2,z(x1)z1,z(x2)z2.
的极值曲线yy(x),zz(x)必满足欧拉方程组
FdyFy'0
dx
FzddxFz'0(ii)含高阶导数的泛函 使泛函 J(y(x))
x2xF(x,y,y',y")dx
1
取极值且满足固定边界条件
y(x1)y1,y(x2)y2,y'(x1)y'1,y'(x2)y'2
的极值曲线yy(x)必满足微分方程
Fdd2ydx
Fy'dx
2
Fy"0
(iii) 含多元函数的泛函
设z(x,y)c2
,(x,y)D,使泛函 J(z(x,y))
F(x,y,z,z
x
,zy)dxdy
D
取极值且在区域D的边界线l上取已知值的极值函数zz(x,y)必满足方程
Fz
x
Fzx
y
Fzy0
上式称为奥式方程。
2.1.2、端点变动的情况(横截条件)
设容许曲线x(t)在t0固定,在另一端点ttf时不固定,是沿着给定的曲线x(t)上变动。于是端点条件表示为
x(t0)x0
x(t)(t)
这里t是变动的,不妨用参数形式表示为 ttfdtf
寻找端点变动情况的泛函极值必要条件,可仿照前面端点固定情况进行推导,即有 0J
tfdt
f
t0
x)dtF(t,xx,x
F
0
tf
t0
(Fx
ddt
Fx)xdtFxx
ttfttf
dtf (9)
再对(9)式做如下分析:
(i)对每一个固定的tf,x(t)都满足欧拉方程,即(9)式右端的第一项积分为零; (ii)为考察(9)式的第二、第三项,建立dtf与x
之间的关系,因为
ttf
x(tfdtf)x(tfdtf)(tfdtf) 对求导并令0得 (tf)dt x
f
x
ttf
(tf)dtf
即
(tf)x(tf)]dtf (10) xtt[
f
把(10)代入(9)并利用dtf的任意性,得
)Fx] [F(x
ttf
0 (11)
(11)式就是确定欧拉方程通解中另一常数的定解条件,称为横截条件。 横截条件有两种常见的特殊情况:
(i)当x(t)是垂直横轴的直线时,tf固定,x(tf)自由,并称x(tf)为自由端点。此时(9)式中dt
f
0及x
ttf
的任意性,便得自由端点的横截条件
Fx
0 (12)
ttf
(ii)当x(t)是平行横轴的直线时,tf自由,x(tf)固定,并称x(tf)为平动端点。
0,此时(11)式的横截条件变为
Fx Fx
ttf
0 * (13)
注意,横截条件与欧拉方程联立才能构成泛函极值的必要条件。
2.2 、有约束条件的泛函极值
在最优控制系统中,常常要涉及到有约束条件泛函的极值问题,其典型形式是对动态系统
x(t)f(t,x(t),u(t)) * (14)
寻求最优性能指标(目标函数)
J(u(t))(tf,x(tf))
tf
t0
F(t,x(t),u(t))dt * (15)
其中u(t)是控制策略,x(t)是轨线,t0固定,tf及x(tf)自由,x(t)Rn,u(t)Rm(不受限,充满Rm空间),f,,F连续可微。
下面推导取得目标函数极值的最优控制策略u*(t)和最优轨线x*(t)的必要条件。 采用拉格朗日乘子法,化条件极值为无条件极值,即考虑
J1(x,u,)(tf,x(tf))
tf
t0
T
)]dt (16) [F(t,x,u)(t)(f(t,x,u)x
的无条件极值,首先定义(14)式和(15)式的哈密顿(Hamilton)函数为
H(t,x,u,)F(t,x,u)T(t)f(t,x,u) (19)(17) 将其代入(16)式,得到泛函
J1(x,u,)(tf,x(tf))
tf
t0
T
]dt (20)(18) [H(t,x,u,)x
下面先对其求变分 J1
{(tfdtf,x(tf)x(tf))
f
tfdt
t0
x)]dt}0 [H(t,xx,uu,)()(x
T
T
T
TT
)(dtf)(x
T
x(tf)x(tf)(dtf)tf(dtf)H(t,x,u,)
ttfttf
tf
t0
TTTT
Tx]dt [(x)Hx(u)Hu()H()x
(dtf)[tfF(t,x,u,t)
T
ttf
][x(tf)]x(tf)
ttf
T
tf
t0
TTTT
]dtT(tf)x[(x)Hx(u)Hu()H()x
tf
t0
T
(x)dt
注意到x
ttf
x(tf),x
T
ttf
(tf)dtf,因而 x(tf)x
][x(tf)](x)
T
J1(dtf)[tH(t,x,u,)
f
ttfttf
tf
t0
T)()T(Hx)(u)THu]dt [(x)(Hx
再令J10,由dtf,x(tf),x,u,的任意性,便得
(i)x,必满足正则方程:
Hf(t,x,u) ① 状态方程 x
*
*
H。 ② 协态方程 x
(ii)哈密顿函数H(t,x*,u,*)作为u的函数,也必满足 Hu0 并由此方程求得u*。
(iii)求x,,u时,必利用边界条件 ① x(t0)x0, (用于确定x*) ② (tf)x(t), (用于确定*) f③ tH(t,x,u,)
f
***
ttf
, (确定tf)
如果受控系统
f(t,x,u),x(t0)x0 x
其控制策略u(t)的全体构成有界集U,求u(t)U,使性能指标 J(u(t))(tf,x(tf))达到最大(小)值。 2.3、最大(小)值原理
*
如果f(t,x,u),(tf,x(tf))和F(t,x,u)都是连续可微的,那么最优控制策略u(t)和
tf
t0
F(t,x,u)dt
相应的最优轨线x(t)由下列的必要条件决定:
(i)最优轨线x(t),协态向量(t)由下列的必要条件决定:
dxdt
f(t,x,u),u(t)U,
*
*
*
ddt
Hx
(ii)哈密顿函数
H(t,x*,u,*)F(t,x*,u)*T(t)f(t,x*,u) 作为u(t)的函数,最优策略u*(t)必须使
H(t,x,u,)maxH(t,x,u,)
uU
*
*
*
*
*
或使
H(t,x,u,)minH(t,x,u,)(最小值原理)
uU
*
*
*
*
*
(iii)满足相应的边界条件
① 若两端点固定,则正则方程的边界条件为 x(0)x0,x(tf)xf。
② 若始端固定,终端tf也固定,而x(tf)自由,则正则方程的边界条件为 x(0)x0,(tf)x(t)(tf,x(tf))。
f
③ 若始端固定,终端tf,x(tf)都自由,则正则方程的边界条件为 x(0)x0,(tf)x(t)(tf,x(tf)),
f
H(tf,x(tf),u(tf),(tf))t(tf,x(tf))0。
f
三、 动态规划
动态规划法是系统分析中一种常用的方法。在水资源规划中,往往涉及到地表水库调度、水资源量的合理分配、优化调度等问题,而这些问题又可概化为多阶段决策过程问题。动态规划法是解决此类问题的有效方法。动态规划法是20世纪50年代由贝尔曼(R. Bellman)等人提出,用来解决多阶段决策过程问题的一种最优化方法。所谓多阶段决策过程,就是把研究问题分成若干个相互联系的阶段,由每个阶段都作出决策,从而使整个过程达到最优化。许多实际问题利用动态规划法处理,常比线性规划法更为有效,特别是对于那些离散型问题。实际上,动态规划法就是分多阶段进行决策,其基本思路是:按时空特点将复杂问题划分为相互联系的若干个阶段,在选定系统行进方向之后,逆着这个行进方向,从终点向始点计算,逐次对每个阶段寻找某种决策,使整个过程达到最优,故又称为逆序决策过程。
动态规划是为了解决一类多阶段决策问题而诞生的。多阶段决策过程,是指这样的一类特殊的活动过程,问题可以按时间顺序分解成若干相互联系的阶段,在每一个阶段都要做出决策,全部过程的决策是一个决策序列。要使整个活动的总体效果达到最优的问题,称为多阶段决策问题
从上述的定义中,我们可以明显地看出,这类问题有两个要素。一个是阶段,一个是决策。 阶段:将所给问题的过程,按时间或空间特征分解成若干相互联系的阶段,以便按次序去求每阶段的解。
状态:各阶段开始时的客观条件叫做状态。描述各阶段状态的变量称为状态变量 应用动态规划的一个重要条件。那就是将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的发展,而只能通过当前的这个状态。换句话说,每个状态都是“过去历史的一个完整总结[1]”。这就是无后效性。
决策:当各段的状态取定以后,就可以做出不同的决定,从而确定下一阶段的状态,这种决定称为决策。 有了决策,我们可以定义状态转移:动态规划中本阶段的状态往往是上一阶段和上一阶段的决策结果,由第k段的状态sk和本阶段的决策uk确定第k+1段的状态sk+1的过程叫状态转移。状态转移规律的形式化表示sk+1=Tk(sk,uk)称为状态转移方程。
动态规划有很多典型的例子,下面剖析一下最简单的例子就可以理解动态规划的基本应用方法了
例:数字三角形 PKU 给出以下的数字三角形:
7 3 8
8 1 0 2 7 4 4 4 5 2 6 5
求出从顶端向下走,每一步只能向左下或右下走,让经过的路程所得到的数字和最大,输出总和。
本例来说走的路程为:7->3->8->7->5 输出就是30
在这个问题中,我们按走过的行数来划分阶段,以走到每一行时所在的位置来作为状态,决策就是向左下走或向右下走。
我们输入的时候可以将整个三角形存到一个2维数组中去: 0 1 2 3 4 5 0 1 7 2 3 8 3 8 1 0
4 2 7 4 4 5 4 5 2 6 5
为方便起见我们忽略0的下标,从1开始储存
对于规模很小的数据来说,例如本题只有5行,当然可以通过枚举所有的情况来解决
这样我们搜索的顺序就是 7-3-8-2-4 7-3-8-2-5 7-3-8-7-2 7-3-1-4-6 7-3-8-7-5
.........
但是,如果数据量增大到1000*1000,我们要搜多少遍?很难想象啊
在用枚举的时候我们发现单纯的对于7-3-8来说,这一阶段当然应该选择7-8的状态,但是枚
举的时候重复搜索了很多次,那么能不能将这个值记录下来以便以后不用搜索了呢?这就用到了动态规划的思想:
如我们建立一个数组DP[6][6];
从7开始:我们将每走一行划分为一个阶段 在第一阶段当然就是 7,于是DP[1][1] = 7
第二阶段,我们有2个选择3或者8,于是DP[2][1] = 7 + 3 = 10, DP[2][2] = 7 + 8 = 15;
第三阶段,我们面临了一种比较大小的选择:DP[3][1]没有选择只能加上DP[2][1] = 8 + 10 = 18;DP[3][2]就有选择了DP[3][2]可以加上DP[2][1]或者DP[2][2],于是我们选择大的即DP[2][2] 所以DP[3][2] = 1 + 15 = 16 这就引出了我们的状态转移方程
DP[i][j] = DP[i-1][j]+num[i][j]; ( j == 1 的情况下 ) DP[i-1][j-1]+num[i][j]; ( j == n 的情况下 )
(DP[i-1][j-1]>DP[i-1][j] ? DP[i-1][j-1] : DP[i-1][j])+num[i][j];
一直到最后我们DP数组的最后一行保存的就是从7一直走到最后的不同路径能得到的最大值,从中再找到最大的值就是整个题目的解了。
四、线性二次型最优控制
对于线性系统的控制器设计问题,如果其性能指标是状态变量和(或)控制变量的二次型函数的积分,则这种动态系统的最优化问题称为线性系统二次型性能指标的最优控制问题,简称为线性二次型最优控制问题或线性二次问题。线性二次型问题的最优解可以写成统一的解析表达式和实现求解过程的规范化,并可简单地采用状态线性反馈控制律构成闭环最优控制系统,能够兼顾多项性能指标,因此得到特别的重视,为现代控制理论中发展较为成熟的一部分。
第三章 单级倒立摆LQR控制
1、问题与建模
在忽略了空气阻力,各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如下图所示。
其中:
M 小车质量 m 摆杆质量 b 小车摩擦系数
l 摆杆转动轴心到杆质心的长度 I 摆杆惯量 F 加在小车上的力 x 小车位置
φ 摆杆与垂直向上方向的夹角
θ 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下) 采用牛顿动力学方法可建立单级倒立摆系统的微分方程如下:
mlcosmlsinF(Mm)xbxmglsinmlxcos(Iml)
2
倒立摆的平衡是使倒立摆的摆杆垂直于水平方向倒立,所以假设,为足够
t
22
小的角度,即可近似处理得:cos1,sin,0。
用u来代表被控对象的输入力F,线性化后两个方程如下:
2(Iml)mglmlx
mluxbx(Mm)
取状态变量:
x1x2x
x3x
x4x
即摆杆的角度和角速度以及小车的位移和速度四个状态变量。则系统的状态方程为:
1x
x23x4x
x2
mgl(Mm)I(Mm)Mmlx4
mgl
2
2
22
x1
ml
I(Mm)Mml
2
22
u
u
I(Mm)Mml
x1
Iml
I(Mm)Mml
将上式写成向量和矩阵的形式,就成为线性系统的状态方程:
AxBux
yCx
x
这里设:
M1.32Kgm0.07Kg
b0.1N/m/s l0.20mI0.0009Kgm
2
将参数带入,有:
0
38.1825A0
0.384702.8037
B
00.74771C
0
00
01
001000
0000
0010
2、LQR控制
线性二次型是指系统的状态方程是线性的,指标函数是状态变量和控制变量的二次型。考虑线性系统的状态方程为:
X(t)Ax(t)Bu(t)y(t)Cx(t)Du(t)
找一状态反馈控制律:u(t)Kx(t),使得二次型性能指标最小化:
J
12
x(tf)Sx(tf)
T
1
2
tft0
[x(t)Q(t)x(t)uR(t)u(t)]dt
Tt
S为终态约束矩阵;tf、其中,x(t)为系统的状态变量;t0为起始时间与终止时间;Q(t)
为运动约束矩阵;R(t)为约束控制矩阵。其中Q(t)、R(t)决定了系统误差与控制能量消耗之间的相对重要性。
为使J最小,由最小值原理得到最优控制为:
u(t)RBP(t)x(t)
*
1
T
式中,矩阵P(t)为微分Riccatti方程:P(t)P(t)AATP(t)P(t)BR1BTP(t)Q
的解。
如果令终止时间tf,P(t)为一个常数矩阵,且P(t)0,因此以上的Riccatti方程简化为P(t)AATP(t)P(t)BR1BTP(t)Q0。
对于最优反馈系数矩阵KR1BTP(t),使用Matlab中专门的求解工具lqr()来求取K。将LQR控制方法用于倒立摆控制的原理如下图所示。
用Matlab求解lqr(A, B, Q, R)可以求出最优反馈系数矩阵K的值。lqr函数需要选择两
个参数R和Q,这两个参数是用来平衡输入量和状态量的权重。其中,Q1,1代表摆杆角度的权重,而Q3,3是小车位置的权重。这里选择:
2500
Q
00R0.1
0000
00100
000 0
通过matlab求得:K = [-82.4246 -10.7034 -10.0000 -11.8512]。
3、仿真 通过matlab仿真,LQR控制倒立摆摆角和小车位移仿真结果如下图所示。
倒立摆摆角:
小车位移:
第四章 现代控制技术前沿简介
目前,自动控制技术已广泛地应用于工农业生产、交通运输和国防建设。经典控制理论至今仍被成功地应用于单变量定常系统的分析和设计中。现代控制技术应用现代控制理论与计算机的最新技术进行系统设计,它适用于系统的综合与解析设计,更适于多输入多输出、多回路的复杂系统设计,也易于计算机实现,因此受到工程界越来越多的重视并得到广泛的应用。近年来,控制理论在非线性系统控制、最优控制理论智能化控制等几个主要方向上取得了重要进展。 1、最优控制理论
最优控制理论是研究和解决从一切可能的控制方案中寻找最优解的一门学科。它是现代控制理论的重要组成部分。这方面的开创性工作主要是由贝尔曼(R.E.Bellman) 提出的动态规划[1]和庞特里雅金(П.с·Понтрягин) 等人提出的极小值原理[2 ]。动态规划、最大值原理和变分法是最优控制理论的基本内容和常用方法。最优化技术是研究和解决如何将最优化问题表示为数学模型以及如何根据数学模型尽快求出其最优解这两大问题。最优化问题,就是寻找一个最优控制方案或最优控制规律,使系统能最优地达到预期的目标。
最优化方式有离线静态优化方式和在线动态优化方式,而最优化问题的求解方法大致可分为四类:(1)解析法;(2)数值解法(直接法);(3)解析与数值相结合的寻优方法;(4)网络最优化方法。
环境的变动、触媒和设备的老化以及原料成分的变动等因素形成了对工业过程的扰动,因此原来设计的工况条件就不是最优的。解决此类问题的常见方法一般归结为在线优化方法包括:(1)局部参数最优化和整体最优化设计方法;(2)预测控制中的滚动优化算法;(3)稳态递阶控制;(4)系统优化和参数估计的集成研究方法。随着工程实际的越来越复杂化,许多实际工程问题是很难或不可能得到其精确的数学模型的。这就限制了上述经典优化方法的实际应用。随着模糊理论、神经网络等智能技术和计算机技术的发展。近年来,智能式的优化方法得到了重视和发展。
2. 非线性系统控制
非线性控制是复杂控制理论中一个重要的基本问题,也是一个难点课题,它的发展几乎与线性系统平行由于非线性系统的研究缺乏系统的、一般性的理论及方法,于是综合方法得到较大的发展,主要有:(1)李雅普诺夫方法:它是迄今为止最完善、最一般的非线性方法,但是由于它的一般性,在用来分析稳定性或用来镇定综合时都欠缺构造性。 (2)变结构控制:由于其滑动模态具有对干扰与摄动的不变性,到80 年代受到重视,是一种实用的非线性控制的综合方法。(3)微分几何法:在过去的的20年中,微分几何法一直是非线性控制系统研究的主流,它对非线性系统的结构分析、分解以及与结构有关的控制设计带来极大方便。用微分几何法研究非线性系统是现代数学发展的必然产物,正如意大利教授Isidori 指出:“用微分几何法研究非线性系统所取得的成绩,就象50 年代用拉氏变换及复变函数理论对单输入单输出系统的研究,或用线性代数对多变量系统的研究。”但这种方法也有它的缺点,体现在它的复杂性、无层次性、准线性控制以及空间测度被破坏等。因此最近又有学者提出引入新的、更深刻的数学工具去开拓新的方向,例如:微分动力学、微分拓扑与代数拓扑。 3. 智能控制技术及应用
智能控制系统可认为是一种能在各种复杂的不确定环境中,以一个或多个常规控制系统为“执行机构”,以这种复杂过程为“控制对象”,面向目标任务的闭环自动控制系统。它具有多层次系统结构,复合型的信息结构,能利用知识进行推理、学习与联想。一个好的智能控制系统应能满足多目标与高性能指标的要求,对环境干扰与不确定因素具有鲁棒性,对故障具有屏蔽和自恢复能力,系统有相当的在线实时响应能力,能适应对象特性,运行条件等变化,并具
有友好的人- 机界面,便于操作与维护。
智能控制IC( Intelligent Control)是人工智能、控制论和运筹学的交叉。人工智能主要包括专家系统、模糊理论和神经网络;控制论主要指古典控制和现代控制;运筹学主要涉及定量优化方法。而模糊逻辑控制、神经网络控制和专家控制则是三种典型的智能控制技术。
第五章 学习现代控制理论的心得体会
通过现代控制理论的学习,我觉得现代控制理论是一门比较难学而又抽象的学科。现代控制理论与经典控制理论都是针对如何更好地实现控制的问题,而提出的理论。它们解决同一控制问题的两种不同的工具和方法。主要区别在于,它们的适用范围、数学描述和研究方法不同。现代控制理论采用状态空间法,用状态方程及输出方程、传递函数阵等数学描述去描述一个控制系统,更适用于多个输入和多个输出系统。而且现代控制理论能实现系统的状态观测与控制,经典控制理论则不能。现代控制理论和经典控制理论是紧密联系、相辅相成的,我们学习现代控制理论时,应和经典控制理论对比着学习。如:我们可以从经典控制理论的传递函数直接写出现代控制理论中的标准状态方程,由状态方程也可以写出传递函数。此外,现代控制理论使用了大量矩阵论的知识,我们在学习前和学习过程中,遇到不懂得矩阵运算问题,要好好的复习有关矩阵论的知识点。要学会用MATLAB软件对矩阵的运算,和控制的仿真。
对一个工程问题,1.我们要进行数学建模,把工程问题转变成数学模型。2.详细分析模型,确定模型的输入输出变量以及状态变量,建立模型的状态空间表达式。3.判断模型的能控性和能观性。4. 判断模型的稳定性(是否稳定,属于什么类型的稳定)5.如模型不稳定就对其进行设计,使之实现稳定(线性定常系统的综合)。6.要实现最优控制,人工智能、模糊控制等就要结合其他的学科的知识区分析研究。
要学好现代控制理论,就要理论和实践结合,多做一些实验,并用现代控制理论知识去分析问题。此外还要多看看有关现代控制理论的论文。现代控制理论给我们提供了一种分析和研究工程控制问题的思路和方法,为我们指明了解决工程控制问题的方向。
参考文献
【1】胡寿松 《自动控制原理》 科学出版社 2001.
【2】张彗平《现代控制理论在过程工业中的应用和发展》 北京石油化工学院学报[J] 2006(14) ,9
【3】褚健,潘江华,苏宏业等 《预测控制技术的现状和展望[J].机电工程》 1999,5:
3-7.
【4】谢克明 《现代控制理论基础 》 北京工业大学出版社 2000.
【5】董欣 《现代控制理论学习心得 》 太原理工大学学报(社会科学版)(19) 2001
【6】樊京,刘叔军,盖晓华,崔世林 《MATLAB控制系统应用及实例》
2008
【7】徐宗本,柳重堪 《信息工程概论》 科学出版社 2002.
清华大学出版社 - 21 -