在前面两节最优控制理论 二、哈密尔顿函数法,我们利用Hamilton函数法讨论了终端等式约束的非线性控制系统的最优控制,它所解决的是
x˙=f[x(t),u(t),t];x(to)=x0to≤t≤tfu(t)minJ=φ[x(tf),tf]+∫totfL[x(t),u(t),t]dtψ(x(tf),tf)=0
这样的问题。
我们下面来讨论,更特殊一些的,连续线性系统、线性反馈、二次型性能指标、无约束问题的最优控制。事实上,前面两章的方法由于解析解不易推导及BVP问题难以直接求解,所以基本只能用来进行离线的轨迹规划;而LQR方法简单到调用一个命令就可以给出反馈增益矩阵,能在工程应用中实现实时在线控制。
线性时变系统的二次型最优控制
对于这样一个性能指标为二次型函数的线性时变系统:
x˙=A(t)x+B(t)u,x(0)=x0=00≤t≤tfu(t)minJ=21xT(tf)Sfx(tf)+21∫0tf(xTQ(t)x+uTR(t)u)dt(问题1)
其中
x0,tf给定,
x∈Rn,u(t)∈Rm,S=ST≽0,Q=QT≽0,R=RT≻0,(正定对称矩阵)状态方程中的
A(t),B(t)、以及性能指标中的
Q(t),R(t)均为时变矩阵。
终端控制器问题(LQ Terminal Controller)的要求是,求出一个控制器使得从不为0的初始状态,经过一段时间后转移到接近零状态
x(tf)≈0=0。显然若终端状态彻底为0,则性能指标就没有存在第一项的必要了。
Riccati方程
问题的一阶必要条件按照Hamilton函数法建立问题描述:
- 构建Hamiltonian
H=21(xTQx+uTRu)+λT(Ax+Bu)
- Euler方程
x˙=Ax+Buλ˙=−Hx=−Qx−ATλ
- 控制方程
∂u∂H=Ru+BTλ=0⟹u=−R−1BTλ
- 边界条件
x(0)=x0λ(tf)=∂xT∂φ⟹λ(tf)=Sfx(tf)
假设协态变量始终和状态变量成线性关系
λ(t)=S(t)x(t)(1)
其中
S(t)未知。这个假设的合理性可以考虑Hamilton系统状态转移矩阵的线性性:
[x(tf)λ(tf)]=Φ(tf;t)[x(t)λ(t)]=[Φ11Φ12Φ21Φ22][x(t)λ(t)]
Φ21x+Φ22λ=λ(tf)=Sfx(tf)=Sf[Φ11x+Φ12λ]⇓λ(t)=[Φ22−SfΦ12]−1[SfΦ11−Φ21]x(t)≡S(t)x(t)
由上述假设,可得到最优的控制器是反馈控制器,且它的形式为
u∗(t)=−R−1BTS(t)x(t)=−K(t)x(t)(2)
式中的
K(t)为未知的反馈增益矩阵。把控制代入状态方程和协态变量,构成两点边值问题为
x˙λ˙=Ax−BR−1BTS(t)x=(A−BR−1BTS(t))x=S˙x+S(t)x˙=S˙(t)x+S(t)(A−BR−1BTS(t))x=−Qx−ATS(t)x(3)
将最优控制
(3)代入状态方程,即可得到闭环系统的动态方程:
[x˙λ˙]=[A−Q−BR−1BT−AT][xλ](3*)
这个TPBVP问题的未知变量数2n,初始状态提供n个边界条件,终端时刻
λ(tf)=Sx(tf)提供n个横截条件。
公式
(3)中
S(t)是一个与时间相关的函数矩阵,它在终端时刻的值就是性能指标中我们设定的值。考虑公式
(3)最后一个等式关系,可以求解出
S(t):
−S˙(t)=ATS+SA−SBR−1BTS+Q,S(tf)=Sf(4)
这个公式
(4)称为矩阵黎卡提Riccati方程,可以证明
S(t)是半正定对称矩阵。已知
S(tf),按照时间逆向积分,可以得到
S(t),最终得到
S(t0);然后考虑到
λ(t0)=S(t0)x0可以得到问题
(3∗)的初值,然后再正向积分一次即可得到所有的结果。
非对角阵的性能指标
如果遇到下面这种形式的性能指标
J=21xT(tf)Sfx(tf)+21∫0tf(xTQx+uTRu+2xTNu)dt=21xT(tf)Sfx(tf)+21∫t0tf[XU]T[QNTNR][XU]dt(问题1*)
其中
Q≽0,R≻0 且 Q−NR−1NT≽0,这个情况可以通过配方法转换成对角阵的形式[2]:
[XU]T[QNTNR][XU]=XTQX+2XTNU+UTRU=XTQX+UTRU+XTNU+UTNTX+XTNR−1NTX−XTNR−1NTX=XT(Q−NR−1NT)X+(U+R−1NTX)TR(U+R−1NTX)
令
{Q~=Q−Q1R−1NTU~=U+R−1NTX(5)
可把原系统化成新的形式
x˙=Ax+B(u~−R−1NTx)=(A−BR−1NT)x+Bu~
这个新系统可以套用前面所述的方法,
(问题1∗)等价于求解
(问题1):
J=21xT(tf)Sfx(tf)+21∫0tf(xTQ~x+u~TRu~)dt
总结
把非线性系统在标称状态附近线性化,就可得到线性时变系统。在这个意义上,上面讨论的问题很宽泛。此外,问题还在于只能采用数值计算方法,要计算
x(t),λ(t),S(t0),以及反馈控制采用的是时变增益
K(t)。在工程上使用更多的是线性定常系统、无穷时域的相关问题。也就是我们下面要讨论的LQR问题。
tf=∞的线性二次型调节器
线性系统(定常或时变)、二次型指标的状态调节器问题一般称为线性二次型调节器(Linear Quadratic Regulator,LQR),其任务通常为
- 有限时间内,把状态调节到接近0
- 无穷时域,使状态在干扰下保持在0附近,以上两种都是状态调节器问题
- 无穷时域,使状态保持在参考轨迹
xref(t)附近,等价于使跟踪误差
δx=x−xref维持在0附近,也就是状态跟踪器问题
- 输出调节器和输出跟踪器问题,都是增加了一项观测方程
y=Cx,控制的对象是
y(t)
无限时域、线性定常系统的LQR问题是
(问题1)的特殊形式,其中时变矩阵为常值矩阵
A(t)=A,B(t)=B,Q(t)=Q,R(t)=R,且
Sf=0,即
x˙=Ax+Bu,x(0)=x00≤t<∞u(t)=−Kx(t)minJ=21∫t0∞[x(t)TQx(t)+u(t)TRu(t)]dt(问题2)
采用线性反馈控制器. 控制回路如下图:
要满足线性反馈,即
u∗(t)=−Kx(t),考虑最优控制
u∗(t)=−R−1BTλ(t),可以导出协态变量与状态变量成线性关系:
λ(t)=S∗x(t),即公式
(1)中的
S(t)=S∗⟹S˙(t)=0。考虑到矩阵Riccati方程的终端条件
S(tf)=Sf=0,可得稳态状态的Riccati方程:
0=ATS+SA−SBR−1BTS+Q(6)
方程
(6)中唯一需要求解的矩阵是
S=ST≽0。需要注意的是,虽然
limtf→∞S(tf)=0,S˙(t)=0,但似乎不能直接假设
S=0。对这个矩阵的求解方法,可以参考文献[3]中的描述。知道它,就可以得到我们所关心的增益矩阵K:
K=R−1BTS(7)
此时闭环系统的状态方程为:
x˙=Ax+Bu=(A−BR−1BTS)x(8)
调用MATLAB中的函数
[K,S,e] = LQR(A,B,Q,R,N),我们的任务只有设置合适的权重
Q,R,对于这一点,目前还只能靠经验。Q越大,相当于越强调状态迅速归零;对于轨迹跟踪控制,则跟踪误差越小。这种情况对控制的需求较大,控制带宽和饱和幅值较小的执行机构可能无法做出有效的响应。R越大,越强调最小能量消耗,即控制最少,此时状态误差可能在较大范围内抖动。这两者之间是一个协调关系。进一步的介绍可以参看知乎文章 - 21. LQR控制器— 线性二次型调节器 Linear Quadratic Regulator。
渐近稳定性证明
由以下两个常用的定理:
定理1:闭环系统
x˙=Acx渐进稳定等价于对
∀Q=QT≻0,Lyapunov方程
AcTP+PAc=−Q存在唯一对称正定解
P。
定理2:闭环系统
Ac渐进稳定的充分条件是:存在正定的Lyapunov函数
V(x),沿闭环系统的状态方程满足
dtdV<0。
最优线性反馈的闭环系统满足公式
(8),闭环状态矩阵
Ac=A−BR−1BTS,则Lyapunov方程要求解正定矩阵P:
AcTP+PAc≺0
把Riccati方程两边同时减去
2SBR−1BTS=2KTRK,可得
ATS+SA+Q(A−BR−1BTS)TS+S(A−BR−1BTS)AcTS+SAc=SBR−1BTS=−SBR−1BTS−Q<−Q≺0
则闭环系统渐进稳定。
最优性证明
Riccati方程
(4)和
(6)是按照最优控制的必要条件推导得到的,可以证明它是唯一的充分条件。证明这一点可以运用连续系统最优性的充要条件,即求解连续系统动态规划法的
Hamilton-Jacobi-Bellman方程可以证明,请参考文献[3]。
参考文献
[1]. Wikipedia En不能用。。。Linear-quadratic regulator-The free Dictionary
[2]. 邢继祥. 最优控制应用基础. 第四章 线性系统二次型最优控制[M]. 科学出版社, 2003.
[3]. Bryson A E , Ho Y C ,Applied optimal control : optimization, estimation, and control. Ch.5 Linear system with quadratic criteria: linear feedback[J]. IEEE Transactions on Systems Man & Cybernetics, 1975
[4]. 知乎专栏 - 21. LQR控制器— 线性二次型调节器 Linear Quadratic Regulator
[5]. 知乎专栏 - 最优控制理论(七)LQR伺服跟踪控制器设计