MPC算法
MPC算法
一. 引言
在工程技術方面,MPC全稱可指Model Predictive Control模型預測控制(又稱RHC, Receding Horizon )。
模型預測控制算法
一種進階過程控制方法,自1980年以來開始在化工煉油等過程工業(yè)得到應用,并在經(jīng)濟領域開始得到應用。
MPC是一種多變量控制策略,其中涉及了:
過程內(nèi)環(huán)動態(tài)模型;控制量的歷史數(shù)值;在預測區(qū)間上的一個最優(yōu)值方程J。最優(yōu)控制量可由以上各量求出。
MPC最大的特點在于,相對于LQR控制而言,MPC可以考慮空間狀態(tài)變量的各種約束,而LQR,PID等控制只能夠考慮輸入輸出變量的各種約束。
MPC可應用于線性和非線性系統(tǒng)。
在當今過程控制中,PID當然是用的最多的控制方法,但MPC也超過了10%的占有率。MPC是一個總稱,有著各種各樣的算法。其動態(tài)矩陣控制(DMC)是代表作。DMC采用的是系統(tǒng)的階躍響應曲線,其突出的特點是解決了約束控制問題。那么是DMC是怎么解決約束的呢?在這里只給出宏觀的解釋,而不做詳細的說明。DMC把線性規(guī)劃和控制問題結(jié)合起來,用線性規(guī)劃解決輸出約束的問題,同時解決了靜態(tài)最優(yōu)的問題,一石二鳥,在工業(yè)界取得了極大的成功。
如下圖所示為一個MIMO系統(tǒng)u1,u2輸入與y1,y2輸出相互影響。如果使用PID控制的話,每一個子系統(tǒng)單獨設計一個PID控制器,兩個相互影響的子系統(tǒng)沒有任何的交聯(lián),使得系統(tǒng)難以設計,如果像圖二一樣設計一個較大的系統(tǒng),則參數(shù)較多難以實現(xiàn),而使用MPC控制器的話可以較好的解決兩種問題,綜合相互間的影響來設計參數(shù)。
二. 作用機理
MPC作用機理描述為:在每一個采用時刻,根據(jù)獲得的當前測量信息,在線求解一個有限時間開環(huán)優(yōu)化問題,并將得到的控制序列的第一個元素作用于被控對象。在下一個采樣時刻,重復上述過程:用新的測量值作為此時預測系統(tǒng)未來動態(tài)的初始條件,刷新優(yōu)化問題并重新求解
。
即MPC算法包括三個步驟:
(1)預測系統(tǒng)未來動態(tài);
(2)(數(shù)值)求解開環(huán)優(yōu)化問題;
(3)將優(yōu)化解的第一個元素(或者說第一部分)作用于系統(tǒng)
這三步是在每個采樣時刻重復進行的,且無論采用什么樣的模型,每個采樣時刻得到的測量值都作為當前時刻預測系統(tǒng)未來動態(tài)的初始條件
在線求解開環(huán)優(yōu)化問題獲得開環(huán)優(yōu)化序列是MPC和傳統(tǒng)控制方法的主要區(qū)別,因為后者通常是離線求解一個反饋控制律,并將得到的反饋控制律一直作用于系統(tǒng)。
在這里給出兩點說明:
1.MPC是一個反饋控制策略,但是之前不是說將得到的控制序列中的第一個元素作用于被控對象,求解開環(huán)問題。那么哪來的反饋呢?
實際上在下一個采樣周期,下一時刻的測量值又被使用上了,用下一時刻的測量值求解下一時刻的控制值。故這是一個反饋控制策略
2.傳統(tǒng)的控制方法為什么被稱為離線控制?
設計變阻器應有的級數(shù)來達到控制并勵直流電動機啟動的例子,那么如何看的出來是離線控制呢?其實很簡單,在起始的時候就已經(jīng)把每級電阻值就給定出來了,但是實際上是否能如理論計算的這樣呢?比如我電壓突然受到了擾動了怎么辦?那么這個計算的每級電阻值肯定不對了啦,但是傳統(tǒng)的控制方法對此確是無能為力的,因為每級啟動電阻在最早的時候已經(jīng)計算好了的。
三. MPC的基本特點
不管是何種算法,他們的基本特點都是:基于模型的預測、滾動優(yōu)化和前饋-反饋的控制結(jié)構(gòu)。
1.基于模型的預測
在MPC算法中,需要一個描述對象動態(tài)行為的模型,這個模型的作用是預測系統(tǒng)未來的動態(tài)。即能夠根據(jù)系統(tǒng)k時刻的狀態(tài)和k時刻的控制輸入,預測到k+1時刻的輸出。在這里k時刻的輸入正是用來控制系統(tǒng)k+1時間的輸出,使其最大限度的接近k+1時刻的期望值。故我們強調(diào)的是該模型的預測作用,而不是模型的形式。
在這里我重點講解一下狀態(tài)空間模型。那么什么是狀態(tài)?輸出是不是也是狀態(tài)的一種?對的,輸出也是一種狀態(tài),只不過我們賦予了這個狀態(tài)特殊的意義。舉個例子來說,舞龍,假設是只能通過龍尾的人A指揮前面一個人B動作,然后B指揮他前面的一個人C動作….依次如此,達到控制龍頭的人F叼住繡球的動作。如果只關注龍頭的人(輸出)和龍尾的人(輸入),而忽略龍身子的動態(tài),那就是所謂的輸入—輸出系統(tǒng)。經(jīng)典控制理論就是建立在輸入—輸出系統(tǒng)的基礎上面的。
但是我如果不管要管龍尾和龍頭的人,我連龍身子上面的人也要要求在固定的位置,那么這就是狀態(tài)空間的概念,即我對系統(tǒng)中的每一個狀態(tài)都要控制到。龍頭位置的人也是一個狀態(tài),故輸出本身就是一個狀態(tài),或者說是狀態(tài)的一個組合。
2.滾動優(yōu)化
因為外部干擾和模型失配的影響,系統(tǒng)的預測輸出和實際輸出存在著偏差,如果測量值能測到這個偏差,那么在下一時刻能根據(jù)這個測量到偏差的測量值在線求解下一時刻的控制輸入,即優(yōu)化掉了這個偏差值。若將求解的控制輸出的全部序列作用于系統(tǒng),那么k+1時刻的測量值不能影響控制動作,也就是說測量值所包括的外部干擾或模型誤差信息得不到有效利用。故我們將每個采樣時刻的優(yōu)化解的第一個分量作用于系統(tǒng),在下一個采用時刻,根據(jù)新得到的測量值為初始條件重新預測系統(tǒng)的未來輸出并求解優(yōu)化解,繼續(xù)講這個時刻的優(yōu)化解的第一個分量作用于系統(tǒng),這樣重復至無窮。
故預測控制不是采用一個不變的全局優(yōu)化目標,而是采用時間向前滾動式的有限時域優(yōu)化策略。這也就是意味著優(yōu)化過程不是一次離線進行,而是反復在線進行的。
3.前饋-反饋的控制結(jié)構(gòu)
這個在前面給出的兩點說明中的第一點就已經(jīng)給出了。
四. MPC參數(shù)選擇
選擇一個好的參數(shù)不僅影響MPC控制的性能,而且還會影響到MPC每一個timestep內(nèi)進行在線優(yōu)化的計算復雜度。這里將會給出關于控制器采樣周期、預測及控制范圍(prediction and control)、約束及權重。
采樣周期的選擇
采樣周期過大,則系統(tǒng)反應過慢導致難以及時進行修正控制,而采樣周期過小,則會導致系統(tǒng)產(chǎn)生大量的在線優(yōu)化計算,給系統(tǒng)帶來較大的開銷。因而建議采樣周期設計采用開環(huán)響應時間(10~90%上升時間)的十分之一或二十分之一:
總結(jié)
- 上一篇: 关于工业相机
- 下一篇: 汽车HUD(Head-up Displa