本文為閱讀筆記,僅供學習交流使用!!!
上一篇中舉了一個無阻尼振蕩器控制模型的例子,當系統控制量飽和時,控制性能顯著下降,為避免這種情況,上例中的核心思想是改變 Δ u ( k ) \Delta{u}(k) Δu(k)以适應當控制變量限制發生的情況。在預測控制中,這個問題是通過優化進行系統的處理。處于這個目的,需要将帶限制的預測控制問題表述成優化問題。
這一篇主要讨論實際應用中常見的幾種限制情況。這些限制都可以表示成控制變量或系統變量的線性不等式。
一、實操中經常使用的限制
在實際應用中,有三種限制類型是經常遇到的。前兩種是施加在控制變量 u ( k ) u(k) u(k)上的限制,第三種是對輸出量y(k)或狀态變量x(k)的限制。為了簡便起見,以單輸入單輸出系統為例進行說明。
1.1控制量增益的限制
這些是控制信号變化大小的硬限制,例如控制變量的變化量 Δ u ( k ) \Delta{u}(k) Δu(k)。假設單輸入系統,控制量變化量的上限是 Δ u m a x \Delta{u}^{max} Δumax,下限是 Δ u m i n \Delta{u}_{min} Δumin,限制可表示成:
注意,上式中使用的是小于等于号,在有限制控制問題中,這裡的等于非常重要。
控制量增益的限制可以用來限制控制量的變化方向,例如使控制量 u ( k ) u(k) u(k)隻能增加,那麼限制可以寫成:
Δ u ( k ) \Delta{u}(k) Δu(k)的限制可用于處理控制振幅變化率受到限制的情況。例如假設在一個實際控制系統中,隻允許控制變量 u ( k ) u(k) u(k)增加或減小的幅值小于0.1,那麼限制為:
1.2控制變量的幅值限制
這是最普遍的一種限制情況。例如,在控制閥門的時候不可能期望閥門的開度超過100%,也不可能期望電壓超過給定範圍。這些都是系統的實體限制,這樣的限制定義為:
需要注意的是 u ( k ) u(k) u(k)是一個增量變量而不是實際實體控制量。實際實體控制量等于增量變量 u ( k ) u(k) u(k)疊加穩态值 u s s u_ss uss。例如,閥門的打開度要控制在15%到80%之間,它的正常工作值為30%,那麼:
1.3輸出量的限制
假設輸出變量 y ( k ) y(k) y(k)有一個上界 y m a x y^max ymax和一個下界 y m i n y_min ymin,那麼輸出量限制可以寫成:
輸出限制通常通過松弛變量 s v > 0 s_v>0 sv>0實作軟限制,例如:
引入松弛變量的主要原因是,當輸出限制被強制執行時,通常會導緻控制變量及其增量發生較大的變化(在後文中稱之為“激活”)。當這種情況發生時,控制量或其增量可能會違反其自身的限制條件,進而出現限制沖突的問題。在有些情況下,對控制量的限制更有必要,通常會選擇一個比較大的松弛變量解決限制沖突的問題。
同樣也可以對狀态變量進行限制,前提是狀态變量可以測量或者是觀測器狀态變量。基于同樣的原因也需要引入松弛變量形成軟限制。
1.4多輸入多輸出的限制
如果輸入變量不止一個,則需要對每個輸入變量進行單獨限制。在多輸入情況下,假設控制量增量的上限為:
下限為:
對每個控制增量的限制可以寫成:
同樣,如果控制量上限為:
下限為:
那麼控制量幅值限制可以寫成:
同樣的在MIMO系統中,如果需要的話,也要對每個輸出量和狀态量進行限制。簡單說就是要對每個輸入或輸出變量進行單獨限制。
二、有限制的最優解
将限制作為設計要求的一部分,下一步是将其轉化為線性不等式,并将其與原始模型預測控制問題聯系起來。這裡的關鍵是使用與預測控制設計中使用的參數向量 Δ U \Delta{U} ΔU相同的參數向量對限制變量進行參數化。是以将限制用一組基于向量 Δ U \Delta{U} ΔU的線性方程表示。在優化問題中變量 Δ U \Delta{U} ΔU通常被稱為決策變量。由于預測控制問題是在滾動時域的架構下制定和解決的,在每個移動視窗都要考慮這些限制。這使我們能夠在每個優化視窗的開始改變限制,也為我們提供了數值處理限制控制問題的方法。基于這種思想,假如在 k i k_i ki施加對控制量增量 Δ u ( k ) \Delta{u}(k) Δu(k)的限制,那麼在 k i k_i ki時刻的限制條件可以表示為:
未來采樣時刻的限制,例如前三個采樣時刻的限制為:
原則上,在預測時域内的所有限制都需要定義。然而,為了減少計算量,有時會選擇一組較小的采樣瞬間來施加限制,而不是所有未來的樣本。以下例子展示了如何用 Δ U \Delta{U} ΔU的函數從設計上表示限制。
例1:
在電機控制系統中,假設輸入電壓範圍是2V到6V,控制信号的穩态是4V。假設控制時域為 N c = 4 N_c=4 Nc=4,用 Δ U \Delta{U} ΔU表示前兩次采樣時刻的限制 Δ u ( k i ) \Delta{u}(k_i) Δu(ki)和 Δ u ( k i + 1 ) \Delta{u}(k_i+1) Δu(ki+1)。