查看“LQR控制器”的源代码
←
LQR控制器
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{orphan|time=2018-02-13T21:57:15+00:00}} {{refimprove|time=2018-02-13T21:54:22+00:00}} [[最优控制]]理論主要探討的是讓[[动力系统]]以在最小成本來運作,若系統動態可以用一組[[线性微分方程]]表示,而其成本為[[二次函数|二次]][[泛函]],這類的問題稱為線性二次(LQ)問題。此類問題的解即為'''線性二次調節器'''({{lang-en|linear–quadratic regulator}}),簡稱'''LQR'''。 LQR是回授控制器,方程式在後面會提到。LQR是[[線性二次高斯控制|LQG(線性二次高斯)問題]]解當中重要的一部份。而LQG問題和LQR問題都是[[控制理论]]中最基礎的問題之一。 ==簡介== 控制機器(例如飛機)的控制器,或是控制製程(例如化學反應)的控制器,可以進行[[最佳控制]],方式是先設定[[損失函數|成本函數]],再由工程師設定加權,利用數學[[演算法]]來找到使成本函數最小化的設定值。成本函數一般會定義為主要量測量(例如飛行高度或是制程溫度)和理想值的偏差的和。演算法會設法調整[[参数|參數]],讓這些不希望出現的偏差降到最小。而控制量的大小本身也會包括在成本函數中。 LQR演算法減少了工程師為了讓控制器最佳化,而需付出的心力。不過工程師仍然要列出成本函數的相關參數,並且將結果和理想的設計目標比較。因此控制器的建構常會是[[迭代]]的,工程師在[[模擬]]過程中決定最佳控制器,再去調整參數讓結果更接近設計目標。 在本質上,LQR演算法是找尋合適[[状态空间|狀態回授控制器]]的[[自動化]]方式。因此也常會有[[控制工程]]師用其他替代方式,例如[[全狀態回授]](也稱為極點安置)的作法,此作法對控制器參數和控制器性能之間的關係比較明確。而LQR演算法的困難之處在找合適的[[加權]]因子,這也限制了以LQR控制器合成的相關應用。 ==有限時間長度,連續時間的LQR== 方程式如下的連續時間線性系統,<math>t\in[t_0,t_1]</math>: :<math>\dot{x} = Ax + Bu</math> 其二次成本泛函為 :<math>J = x^T(t_1)F(t_1)x(t_1) + \int\limits_{t_0}^{t_1} \left( x^T Q x + u^T R u + 2 x^T N u \right) dt</math><!-- Q,R,N and other variables are not defined, making the formula useless. --> 其中F、Q和R都是正定[[矩陣]]。 可以讓成本最小化的回授控制律為 :<math>u = -K x \,</math> 其中<math>K</math>為 :<math>K = R^{-1} (B^T P(t) + N^T) \,</math> 而<math>P</math>是連續時間[[Riccati方程]]的解: :<math>A^T P(t) + P(t) A - (P(t) B + N) R^{-1} (B^T P(t) + N^T) + Q = - \dot{P}(t) \,</math> 邊界條件如下 :<math>P(t_1) = F(t_1).</math> J<sub>min</sub>的一階條件如下 '''(i) 狀態方程''' :<math>\dot{x} = Ax + Bu</math> '''(ii) [[協態方程]]''' :<math>-\dot{\lambda} = Qx + Nu + A^T \lambda </math> '''(iii) 靜止方程''' :<math> 0 = Ru + N^Tx + B^T \lambda</math> '''(iv) 邊界條件''' :<math> x(t_0) = x_0</math> 且 <math> \lambda(t_1) = F(t_1) x(t_1)</math> ==無限時間長度,連續時間的LQR== 考慮以下的連續時間線性系統 :<math>\dot{x} = Ax + Bu</math> 其成本泛函為 :<math>J = \int_{0}^\infty \left( x^T Q x + u^T R u + 2 x^T N u \right) dt</math> 可以讓成本最小化的回授控制律為 :<math>u = -K x \,</math> 其中<math>K</math>定義為 :<math>K = R^{-1} (B^T P + N^T) \,</math> 而<math>P</math>是{{le|代數Riccati方程|Algebraic Riccati equation}}的解 :<math>A^T P + P A - (P B + N) R^{-1} (B^T P + N^T) + Q = 0 \,</math> 也可以寫成下式 :<math>\mathcal A^T P + P \mathcal A - P B R^{-1} B^T P + \mathcal Q = 0 \,</math> 其中 :<math>\mathcal A = A - B R^{-1} N^T \qquad \mathcal Q = Q - N R^{-1} N^T \,</math> ==有限時間長度,離散時間的LQR== 考慮離散時間的線性系統,定義如下 <ref>{{cite book |last= Chow |first= Gregory C. |title= Analysis and Control of Dynamic Economic Systems |publisher= Krieger Publ. Co. |year= 1986 |isbn= 0-89874-969-7}}</ref> :<math>x_{k+1} = A x_k + B u_k \,</math> 其性能指標為 :<math>J = x_N^T Q x_N + \sum\limits_{k=0}^{N-1} \left( x_k^T Q x_k + u_k^T R u_k + 2 x_k^T N u_k \right)</math> 可以讓性能指標最小化的最佳控制序列為 :<math>u_k = -F_k x_{k} \,</math> 其中 :<math>F_k = (R + B^T P_{k+1} B)^{-1} (B^T P_{k+1} A + N^T) \,</math> 而<math>P_k</math>是由動態Riccati方程倒退時間佚代計算而得 :<math>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 </math> 從終端條件<math>P_N = Q</math>開始計算。注意<math>u_N</math>沒有定義,因為 <math>x</math> 是由<math>A x_{N-1} + B u_{N-1}</math>推導到其最終狀態 <math>x_N</math>。 ==無限時間長度,離散時間的LQR== 考慮離散時間的線性系統,定義如下 :<math>x_{k+1} = A x_k + B u_k \,</math> 其性能指標為 :<math>J = \sum\limits_{k=0}^{\infty} \left( x_k^T Q x_k + u_k^T R u_k + 2 x_k^T N u_k \right)</math> 可以讓性能指標最小化的最佳控制序列為 :<math>u_k = -F x_k \,</math> 其中 :<math>F = (R + B^T P B)^{-1} (B^T P A + N^T) \,</math> 而<math>P</math>是離散{{le|代數Riccati方程|Algebraic Riccati equation}}(DARE)的唯一正定解。 :<math>P = A^T P A - (A^T P B + N) \left( R + B^T P B \right)^{-1} (B^T P A + N^T) + Q </math>. 可以寫成 :<math>P = \mathcal A^T P \mathcal A - \mathcal A^T P B \left( R + B^T P B \right)^{-1} B^T P \mathcal A + \mathcal Q </math> 其中 :<math> \mathcal A = A - B R^{-1} N^T \qquad \mathcal Q = Q - N R^{-1} N^T </math>. 而求解代數Riccati方程的一個方式是迭代計算有限時間的動態Riccati方程,直到所得的解收斂為止。 ==參考資料== {{reflist}} :*{{cite book |author1=Kwakernaak, Huibert |author2=Sivan, Raphael |lastauthoramp=yes| year = 1972 | title = Linear Optimal Control Systems. First Edition | publisher = Wiley-Interscience | isbn = 0-471-51110-2 }} :*{{cite book | last = Sontag | first = Eduardo | year = 1998 | title = Mathematical Control Theory: Deterministic Finite Dimensional Systems. Second Edition | publisher = Springer | isbn = 0-387-98489-5 }} ==外部連結== * [http://www.mathworks.com/help/toolbox/control/ref/lqr.html MATLAB function for Linear Quadratic Regulator design] * [http://reference.wolfram.com/mathematica/ref/LQRegulatorGains.html Mathematica function for Linear Quadratic Regulator design] {{DEFAULTSORT:Linear-quadratic regulator}} [[Category:最佳控制]]
本页使用的模板:
Template:Cite book
(
查看源代码
)
Template:Lang-en
(
查看源代码
)
Template:Le
(
查看源代码
)
Template:Orphan
(
查看源代码
)
Template:Refimprove
(
查看源代码
)
Template:Reflist
(
查看源代码
)
返回
LQR控制器
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息