最优控制理论主要探讨的是让动力系统以在最小成本来运作,若系统动态可以用一组线性微分方程表示,而其成本为二次泛函,这类的问题称为线性二次(LQ)问题。此类问题的解即为线性二次调节器(英语:linear–quadratic regulator),简称LQR。
LQR是回授控制器,方程式在后面会提到。LQR是LQG(线性二次高斯)问题解当中重要的一部份。而LQG问题和LQR问题都是控制理论中最基础的问题之一。
简介
控制机器(例如飞机)的控制器,或是控制制程(例如化学反应)的控制器,可以进行最佳控制,方式是先设定成本函数,再由工程师设定加权,利用数学演算法来找到使成本函数最小化的设定值。成本函数一般会定义为主要量测量(例如飞行高度或是制程温度)和理想值的偏差的和。演算法会设法调整参数,让这些不希望出现的偏差降到最小。而控制量的大小本身也会包括在成本函数中。
LQR演算法减少了工程师为了让控制器最佳化,而需付出的心力。不过工程师仍然要列出成本函数的相关参数,并且将结果和理想的设计目标比较。因此控制器的建构常会是迭代的,工程师在模拟过程中决定最佳控制器,再去调整参数让结果更接近设计目标。
在本质上,LQR演算法是找寻合适状态回授控制器的自动化方式。因此也常会有控制工程师用其他替代方式,例如全状态回授(也称为极点安置)的作法,此作法对控制器参数和控制器性能之间的关系比较明确。而LQR演算法的困难之处在找合适的加权因子,这也限制了以LQR控制器合成的相关应用。
有限时间长度,连续时间的LQR
方程式如下的连续时间线性系统,
:
![{\displaystyle {\dot {x}}=Ax+Bu}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cfe966c88cbedb70bd3d50450b4d005b3df2c26b)
其二次成本泛函为
![{\displaystyle J=x^{T}(t_{1})F(t_{1})x(t_{1})+\int \limits _{t_{0}}^{t_{1}}\left(x^{T}Qx+u^{T}Ru+2x^{T}Nu\right)dt}](https://wikimedia.org/api/rest_v1/media/math/render/svg/29cc012d31998b3bf9fdf89d0c96c01abd9c8f2a)
其中F、Q和R都是正定矩阵。
可以让成本最小化的回授控制律为
![{\displaystyle u=-Kx\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d388a55cc73bf2539d5048175568d1815b272bd7)
其中
为
![{\displaystyle K=R^{-1}(B^{T}P(t)+N^{T})\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/42c35b5011b453b957a8fc399e67152532bf51b5)
而
是连续时间Riccati方程的解:
![{\displaystyle A^{T}P(t)+P(t)A-(P(t)B+N)R^{-1}(B^{T}P(t)+N^{T})+Q=-{\dot {P}}(t)\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/176a9e494b6c330ee21dcb17b8ea775e224c77d5)
边界条件如下
![{\displaystyle P(t_{1})=F(t_{1}).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5bad3d7e4d3e3402fb0396edc4582b8ac23a30c4)
Jmin的一阶条件如下
(i) 状态方程
![{\displaystyle {\dot {x}}=Ax+Bu}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cfe966c88cbedb70bd3d50450b4d005b3df2c26b)
(ii) 协态方程
![{\displaystyle -{\dot {\lambda }}=Qx+Nu+A^{T}\lambda }](https://wikimedia.org/api/rest_v1/media/math/render/svg/89f8e2ef8571785a948b5a89ff913a40a279e153)
(iii) 静止方程
![{\displaystyle 0=Ru+N^{T}x+B^{T}\lambda }](https://wikimedia.org/api/rest_v1/media/math/render/svg/bd26b0002111e7fbcfda79716a0c3956035a8018)
(iv) 边界条件
![{\displaystyle x(t_{0})=x_{0}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/aabccfdf83c824bd305a2b9d7554bfc7d30e4763)
且
无限时间长度,连续时间的LQR
考虑以下的连续时间线性系统
![{\displaystyle {\dot {x}}=Ax+Bu}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cfe966c88cbedb70bd3d50450b4d005b3df2c26b)
其成本泛函为
![{\displaystyle J=\int _{0}^{\infty }\left(x^{T}Qx+u^{T}Ru+2x^{T}Nu\right)dt}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4593455d8d19b99f195aa53b8f0da1ed9c1ce454)
可以让成本最小化的回授控制律为
![{\displaystyle u=-Kx\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d388a55cc73bf2539d5048175568d1815b272bd7)
其中
定义为
![{\displaystyle K=R^{-1}(B^{T}P+N^{T})\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4b3a83b9f75cee5a61ff1adea5469a8256617dfb)
而
是代数Riccati方程的解
![{\displaystyle A^{T}P+PA-(PB+N)R^{-1}(B^{T}P+N^{T})+Q=0\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5922a930e462aca54defd9bec61b1fba0156c58a)
也可以写成下式
![{\displaystyle {\mathcal {A}}^{T}P+P{\mathcal {A}}-PBR^{-1}B^{T}P+{\mathcal {Q}}=0\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/91a016b0a11b56693678915f7a260037ddaf3c26)
其中
![{\displaystyle {\mathcal {A}}=A-BR^{-1}N^{T}\qquad {\mathcal {Q}}=Q-NR^{-1}N^{T}\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/869dcc18b91b69bd1b8ba5deaa5daf55485b583f)
有限时间长度,离散时间的LQR
考虑离散时间的线性系统,定义如下
[1]
![{\displaystyle x_{k+1}=Ax_{k}+Bu_{k}\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b39e5d27478357543c7dc6606d505164c8c94737)
其性能指标为
![{\displaystyle J=x_{N}^{T}Qx_{N}+\sum \limits _{k=0}^{N-1}\left(x_{k}^{T}Qx_{k}+u_{k}^{T}Ru_{k}+2x_{k}^{T}Nu_{k}\right)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/478aa1f0126cf3caed0a933326d770e68297c1e9)
可以让性能指标最小化的最佳控制序列为
![{\displaystyle u_{k}=-F_{k}x_{k}\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d19eeaab27d00cd7c1c7a2a2c62d1de5c79a6018)
其中
![{\displaystyle F_{k}=(R+B^{T}P_{k+1}B)^{-1}(B^{T}P_{k+1}A+N^{T})\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f2cdfb891406ba41109f34375b4e6192ba381a25)
而
是由动态Riccati方程倒退时间佚代计算而得
![{\displaystyle P_{k-1}=A^{T}P_{k}A-(A^{T}P_{k}B+N)\left(R+B^{T}P_{k}B\right)^{-1}(B^{T}P_{k}A+N^{T})+Q}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7c204a38be1a0aa872df89764f5e7905ebe0c86e)
从终端条件
开始计算。注意
没有定义,因为
是由
推导到其最终状态
。
无限时间长度,离散时间的LQR
考虑离散时间的线性系统,定义如下
![{\displaystyle x_{k+1}=Ax_{k}+Bu_{k}\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b39e5d27478357543c7dc6606d505164c8c94737)
其性能指标为
![{\displaystyle J=\sum \limits _{k=0}^{\infty }\left(x_{k}^{T}Qx_{k}+u_{k}^{T}Ru_{k}+2x_{k}^{T}Nu_{k}\right)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cd86de0f114cb088cb178e0826df022b75cc6d95)
可以让性能指标最小化的最佳控制序列为
![{\displaystyle u_{k}=-Fx_{k}\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/adb286e18608617e2fabbd4bf991d0f6cebdd5df)
其中
![{\displaystyle F=(R+B^{T}PB)^{-1}(B^{T}PA+N^{T})\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e5b42827f59cc9672527091176820da90b2a89f1)
而
是离散代数Riccati方程(DARE)的唯一正定解。
.
可以写成
![{\displaystyle P={\mathcal {A}}^{T}P{\mathcal {A}}-{\mathcal {A}}^{T}PB\left(R+B^{T}PB\right)^{-1}B^{T}P{\mathcal {A}}+{\mathcal {Q}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/71b83b7691b455e6ac085339156961839bf705b8)
其中
.
而求解代数Riccati方程的一个方式是迭代计算有限时间的动态Riccati方程,直到所得的解收敛为止。
参考资料
- Sontag, Eduardo. Mathematical Control Theory: Deterministic Finite Dimensional Systems. Second Edition. Springer. 1998. ISBN 0-387-98489-5.
外部链接