天天看點

線性二次型最優控制器LQR設計原理以及matlab實作

這次我們分以下幾部分來講解LQR及其應用:

線性二次型最優控制器概述

連續系統線性二次型最優控制

離散系統線性二次型最優控制

線性二次型Gauss最優控制

應用經典控制理論設計控制系統,能夠解決很多簡單、确定系統的實際設計問題。但是對于諸多新型而複雜的控制系統,例如多輸入多輸出系統與階次較高的系統,往往得不到滿意的結果。這時就需要有在狀态空間模型下建立的最優控制政策。

最優控制是現代控制理論的核心。所謂最優控制,就是在一定條件下,在完成所要求的控制任務時,使系統的某種性能名額具有最優值。根據系統不同的用途,可提出各種不用的性能名額。最優控制的設計,就是選擇最優控制,以使某一種性能名額為最小。

線性二次型最優控制設計是基于狀态空間技術來設計一個優化的動态控制器。系統模型是用狀态空間形式給出的線性系統,其目标函數是狀态和控制輸入的二次型函數。二次型問題就是線上性系統限制條件下選擇控制輸入使二次型目标函數達到最小。

線性二次型最優控制一般包括兩個方面:線性二次型最優控制問題(LQ問題),具有狀态回報的線性最優控制系統;線性二次型Gauss最優控制問題,一般是針對具體系統噪聲和量測噪聲的系統,用卡爾曼濾波器觀測系統狀态。

  • 連續系統線性二次型最優控制

    這部分的原理有很多文獻,我推薦一個大家了解一下,我會把連結上傳在最後。

  • 連續系統二次型最優控制的MATLAB函數

    在MATLAB工具箱中,提供了求解連續系統二次型最優控制的函數:lqr()、 lqr2()、 lqry()。其調用格式為:

    [ K,S,E] = lqr(A,B,Q,R,N)

其中,A為系統的狀态矩陣;B為系統的輸出矩陣;Q為給定的半正定實對稱常數矩陣;R為給定的正定實對稱常數矩陣;N代表更一般化性能名額中交叉乘積項的權重矩陣;K為最優回報增益矩陣;S為對應Riccati方程的唯一正定解P(若矩陣A-BK是穩定矩陣,則總有正定解P存在);E為矩陣A-BK的特征值。

A,B,Q,R大家都應該很清楚,或者通過文獻去了解一下,就知道什麼意思了。這裡的N很少用,就如上文解釋的: 這個是一個交叉乘積,意思是是狀态和輸入的乘積,這一項因素就是耦合狀态和輸入兩部分而産生的cost, 一般情況下我們也不會使用。

此外,上述問題要有解,必須滿足三個條件:

(1) (A,B)是穩定的;stable

(2) R>0且Q-N*inverse®*transpose(N)≥0;

(3)(Q-NR-1NT,A-BR-1NT)在虛軸上是能觀的。observable

當上述條件不滿足時,則二次型最優控制無解,函數會顯示警告信号。這個會線性理論中給出的結論是相同的。

  • 離散系統線性二次型最優控制

同樣,離散系統的原理也很相似,參見我給出的文獻了解原理

  • 線性二次型Gauss最優控制

考慮系統随機輸入噪聲與随機量測噪聲的線性二次型的最優控制叫做線性二次Gauss(LQG)最優控制。這是一種輸出回報控制,對解決線性二次型最優控制問題更具有實用性。

根據LQG問題的分離原理,典型的線性二次型Gauss最優控制的解可以分解為下面兩個問題:

  • LQ最優狀态回報控制問題;
  • 帶有擾動的狀态估計問題。

設計LQG控制器的一般步驟如下。

(1)根據二次型的性能名額J,尋求最優狀态回報增益矩陣K。

(2)設計一個卡爾曼濾波器來估計系統狀态。

(3)建構LQG控制器。

下面介紹Kalman濾波器和LQG控制器設計的MATLAB實作。

  • Kalman濾波器:

    在實際應用中,若系統存在随機擾動,通常系統的狀态需要由狀态方程Kalman濾波器的形式給出。Kalman濾波器就是最優觀測器,能夠抑制或濾掉噪聲對系統的幹擾和影響。利用Kalman濾波器對系統進行最優控制是非常有效的。在MATLAB的工具箱中提供Kalman()函數來求解系統的Kalman濾波器。

  • LQG最優控制器的MATLAB實作

    我們已經知道,LQG最優控制器是由系統的最優回報增益K和Kalman濾波器構成:

線性二次型最優控制器LQR設計原理以及matlab實作

在系統最優回報K和Kalman濾波器設計已經完成的情況下,可借助MATLAB工具箱函數reg()來實作LQG最優控制。函數調用格式為:

rlqg=reg(sys,K,L)

其中,sys為系統狀态空間模型,K為用函數lqr()等設計的最優回報增益,L為濾波器回報增益,rlqg為LQG調節器。

參考文獻

https://download.csdn.net/download/gophae/11831909

繼續閱讀