MPC算法


MPC算法

一.    引言

在工程技術方面,MPC全稱可指Model Predictive Control模型預測控制(又稱RHC, Receding Horizon  )。

 

 模型預測控制算法

一種進階過程控制方法,自1980年以來開始在化工煉油等過程工業得到應用,並在經濟領域開始得到應用。

MPC是一種多變量控制策略,其中涉及了:

過程內環動態模型;控制量的歷史數值;在預測區間上的一個最優值方程J。最優控制量可由以上各量求出。

MPC最大的特點在於,相對於LQR控制而言,MPC可以考慮空間狀態變量的各種約束,而LQR,PID等控制只能夠考慮輸入輸出變量的各種約束。

MPC可應用於線性和非線性系統

在當今過程控制中,PID當然是用的最多的控制方法,但MPC也超過了10%的占有率。MPC是一個總稱,有着各種各樣的算法。其動態矩陣控制(DMC)是代表作。DMC采用的是系統的階躍響應曲線,其突出的特點是解決了約束控制問題。那么是DMC是怎么解決約束的呢?在這里只給出宏觀的解釋,而不做詳細的說明。DMC把線性規划和控制問題結合起來,用線性規划解決輸出約束的問題,同時解決了靜態最優的問題,一石二鳥,在工業界取得了極大的成功。

如下圖所示為一個MIMO系統u1,u2輸入與y1,y2輸出相互影響。如果使用PID控制的話,每一個子系統單獨設計一個PID控制器,兩個相互影響的子系統沒有任何的交聯,使得系統難以設計,如果像圖二一樣設計一個較大的系統,則參數較多難以實現,而使用MPC控制器的話可以較好的解決兩種問題,綜合相互間的影響來設計參數。

 

 二.    作用機理

MPC作用機理描述為:在每一個采用時刻,根據獲得的當前測量信息,在線求解一個有限時間開環優化問題,並將得到的控制序列的第一個元素作用於被控對象。在下一個采樣時刻,重復上述過程:用新的測量值作為此時預測系統未來動態的初始條件,刷新優化問題並重新求解 。

MPC算法包括三個步驟:

1)預測系統未來動態;

2)(數值)求解開環優化問題;

3)將優化解的第一個元素(或者說第一部分)作用於系統

這三步是在每個采樣時刻重復進行的,且無論采用什么樣的模型,每個采樣時刻得到的測量值都作為當前時刻預測系統未來動態的初始條件

在線求解開環優化問題獲得開環優化序列是MPC和傳統控制方法的主要區別,因為后者通常是離線求解一個反饋控制律,並將得到的反饋控制律一直作用於系統。

在這里給出兩點說明:

1.MPC是一個反饋控制策略,但是之前不是說將得到的控制序列中的第一個元素作用於被控對象,求解開環問題。那么哪來的反饋呢?

實際上在下一個采樣周期,下一時刻的測量值又被使用上了,用下一時刻的測量值求解下一時刻的控制值。故這是一個反饋控制策略

2.傳統的控制方法為什么被稱為離線控制?

設計變阻器應有的級數來達到控制並勵直流電動機啟動的例子,那么如何看的出來是離線控制呢?其實很簡單,在起始的時候就已經把每級電阻值就給定出來了,但是實際上是否能如理論計算的這樣呢?比如我電壓突然受到了擾動了怎么辦?那么這個計算的每級電阻值肯定不對了啦,但是傳統的控制方法對此確是無能為力的,因為每級啟動電阻在最早的時候已經計算好了的。

三.    MPC的基本特點

不管是何種算法,他們的基本特點都是:基於模型的預測、滾動優化和前饋-反饋的控制結構。

1.基於模型的預測

MPC算法中,需要一個描述對象動態行為的模型,這個模型的作用是預測系統未來的動態。即能夠根據系統k時刻的狀態和k時刻的控制輸入,預測到k+1時刻的輸出。在這里k時刻的輸入正是用來控制系統k+1時間的輸出,使其最大限度的接近k+1時刻的期望值。故我們強調的是該模型的預測作用,而不是模型的形式。

在這里我重點講解一下狀態空間模型。那么什么是狀態?輸出是不是也是狀態的一種?對的,輸出也是一種狀態,只不過我們賦予了這個狀態特殊的意義。舉個例子來說,舞龍,假設是只能通過龍尾的人A指揮前面一個人B動作,然后B指揮他前面的一個人C動作….依次如此,達到控制龍頭的人F叼住綉球的動作。如果只關注龍頭的人(輸出)和龍尾的人(輸入),而忽略龍身子的動態,那就是所謂的輸入—輸出系統。經典控制理論就是建立在輸入—輸出系統的基礎上面的。 但是我如果不管要管龍尾和龍頭的人,我連龍身子上面的人也要要求在固定的位置,那么這就是狀態空間的概念,即我對系統中的每一個狀態都要控制到。龍頭位置的人也是一個狀態,故輸出本身就是一個狀態,或者說是狀態的一個組合。

2.滾動優化

因為外部干擾和模型失配的影響,系統的預測輸出和實際輸出存在着偏差,如果測量值能測到這個偏差,那么在下一時刻能根據這個測量到偏差的測量值在線求解下一時刻的控制輸入,即優化掉了這個偏差值。若將求解的控制輸出的全部序列作用於系統,那么k+1時刻的測量值不能影響控制動作,也就是說測量值所包括的外部干擾或模型誤差信息得不到有效利用。故我們將每個采樣時刻的優化解的第一個分量作用於系統,在下一個采用時刻,根據新得到的測量值為初始條件重新預測系統的未來輸出並求解優化解,繼續講這個時刻的優化解的第一個分量作用於系統,這樣重復至無窮。

故預測控制不是采用一個不變的全局優化目標,而是采用時間向前滾動式的有限時域優化策略。這也就是意味着優化過程不是一次離線進行,而是反復在線進行的。

3.前饋-反饋的控制結構

這個在前面給出的兩點說明中的第一點就已經給出了。

四. MPC參數選擇

選擇一個好的參數不僅影響MPC控制的性能,而且還會影響到MPC每一個timestep內進行在線優化的計算復雜度。這里將會給出關於控制器采樣周期、預測及控制范圍(prediction and control)、約束及權重。

采樣周期的選擇

采樣周期過大,則系統反應過慢導致難以及時進行修正控制,而采樣周期過小,則會導致系統產生大量的在線優化計算,給系統帶來較大的開銷。因而建議采樣周期設計采用開環響應時間(10~90%上升時間)的十分之一或二十分之一:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM