最優控制理論主要探討的是讓動力系統以在最小成本來運作,若系統動態可以用一組線性微分方程表示,而其成本為二次泛函,這類的問題稱為線性二次(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.
外部連結