一種直接自適應控制方法及裝置與流程
2023-10-28 03:36:32 1
本發明涉及自動控制技術領域,尤其涉及一種直接自適應控制方法及裝置。
背景技術:
自適應控制是現代控制理論中最具前景的一個分支,並在航天航空、電子通信、能源供給、交通運輸、環境保護、武器裝備、過程控制、電力電子、機器製造、輕工建材等領域獲得了廣泛的應用。
隨著科技的發展和進步,生產工藝和作業程序變得越來越複雜,人們對系統的精度和穩定性要求越來越高,從而致使控制器設計的難度也變得越來越大。對於這一情況,簡單的針對定常系統的反饋控制已經遠遠滿足不了高難度的控制要求,因此「自適應控制」的思想也由此產生,也就是通過量測系統輸入和輸出信息,實時地掌握被控對象和系統誤差的動態特性,並根據其變化情況及時調節控制量,使系統的控制性能最優或達到滿意的要求。
世界進入20世紀80年代以後,伴隨著現代控制理論的成熟,微電子技術和計算機技術的發展,以及廉價微型計算機和處理器的出現,自適應控制技術的應用更加廣泛。至今,自適應控制不僅在工業領域取得較大成功,在社會、經濟、和醫學等非工業領域也開展了有益的探索。在工業領域,自適應控制主要運用於:智能化高精度機電或電液系統控制,主要是針對機器人、不間斷電源、電機或液壓伺服系統等的控制;工業過程控制,主要包括化工過程、冶金過程、食品加工過程、造紙過程、鋼鐵製造過程、機械加工過程等應用領域;如今熱門的航天航空、航海和汽車無人駕駛領域;柔性結構與振動和噪聲的控制和電力系統的控制等等。而在非工業領域,自適應控制的應用雖然並不廣泛,但已有成功實例。顯示出良好的前景,比如在社會、經濟和管理領域中自適應控制的思想能夠用來擬定商品供應量,以獲取最大利潤;在環境和生物醫學領域中運用自適應控制來控制藥劑劑量或者食物供給, 使環境和生物系統保持平衡。
自適應控制的運用是針對於參數不確定系統模型。我們都知道,任何一個動態系統,通常都具有程度不同的不確定性,如:系統輸入包含的隨機擾動,系統的測量傳感器具有測量噪聲,系統數學模型的參數甚至結構具有不確定性。在這些不確定性中,常見的存在於系統中的非線性有遲滯、死區、間隙、摩擦、故障等等,無論何種非線性存在於系統中,都將對系統的穩定性造成影響,最終導致系統的不穩定的技術問題。
技術實現要素:
本發明實施例提供的一種直接自適應控制方法及裝置,解決了非線性系統中存在的死區和故障非線性的技術問題,對存在非線性實現有效補償,最終保證了系統運行的穩定性和良好的跟蹤性能。
本發明實施例提供的一種直接自適應控制方法,包括:
根據控制系統中存在的死區和故障非線性,建立死區和故障非線性的動態模型;
通過構造死區的逆函數,對死區非線性的動態模型進行逆補償;
對所述逆補償所產生的補償誤差和存在於死區執行器中的故障非線性動力學模型進行補償。
優選地,根據控制系統中存在的死區和故障非線性,建立死區和故障非線性的動態模型前還包括:
根據帶有未知控制係數的非線性系統定義執行器輸入τj(j=1,2,...,q)和執行器輸出uj(j=1,2,...,q);
其中x∈Rn是狀態變量,y∈R是系統輸出,uj(j=1,2,...,q)表示系統的第j個控制輸入,fi(x)∈Rn(i=1,2,...,p)和gj(x)∈Rn(j=1,2,...,q)是未知的光滑函數,θi(i=1,2,...,p)和bj(j=1,2,...,q)是未知控制係數。
優選地,根據控制系統中存在的死區和故障非線性,建立死區和故障非線性的動態模型具體包括:
據獲取到的控制系統中非線性,對存在於第j個執行器中的死區非線性, 確定執行器的動態模型為uj=D(τj),j=1,2,...,q;
其中其中d-<0,d+>0,mr,ml是未知常數,[d-,d+]表示死區區間,死區的參數滿足mr≥mr0,ml≥ml0,其中mr.ml是兩個正常數。
優選地,通過構造死區的逆函數,對死區非線性的動態模型進行逆補償具體包括:
通過構造死區的逆函數得到
根據所述逆函數確定所述死區非線性的所述動態模型為其中,執行器輸入τj為
計算出虛擬控制器輸入vj和設計逆模塊輸入vdj之間的誤差為 其中DNj為有界值,為
優選地,對所述逆補償所產生的補償誤差和存在於死區執行器中的故障非線性動力學模型進行補償具體包括:
根據控制系統中存在的故障非線性,建立故障非線性的動態模型為為 ρjvsj=0,j=1,2,...,q,其中ρj∈[0,1),vsj和tiF是未知常數;
根據故障非線性的動態模型對存在於控制系統中的死區逆補償誤差和故障非線性進行自適應補償。
本發明實施例提供的一種直接自適應控制裝置,包括:
確定單元,用於根據控制系統中存在的死區和故障非線性,建立死區和故障非線性的動態模型;
死區補償單元,用於通過構造死區的逆函數,對死區非線性的動態模型 進行逆補償;
逆補償誤差和故障消除單元,用於對所述逆補償所產生的補償誤差和存在於死區執行器中的故障非線性動力學模型進行補償。
優選地,直接自適應控制裝置還包括:
定義單元,用於根據帶有未知控制係數的非線性系統 定義執行器輸入τj(j=1,2,...,q)和執行器輸出uj(j=1,2,...,q);
其中x∈Rn是狀態變量,y∈R是系統輸出,uj(j=1,2,...,q)表示系統的第j個控制輸入,fi(x)∈Rn(i=1,2,...,p)和gj(x)∈Rn(j=1,2,...,q)是未知的光滑函數,θi(i=1,2,...,p)和bj(j=1,2,...,q)是未知控制係數。
優選地,確定單元,具體用於據獲取到的控制系統中非線性,對存在於第j個執行器中的死區非線性,確定執行器的動態模型為uj=D(τj),j=1,2,...,q;
其中其中d_<0,d+>0,mr,ml是未知常數,[d_,d+]表示死區區間,死區的參數滿足mr≥mr0,ml≥ml0,其中mr.ml是兩個正常數。
優選地,死區補償單元包括:
逆函數子單元,用於通過構造死區的逆函數 得到
動態模型子單元,用於根據所述逆函數確定所述死區非線性的所述動態模型為其中,執行器輸入τj為
計算子單元,用於計算出虛擬控制器輸入vj和設計逆模塊輸入vdj之間的誤差為其中DNj為有界值,為
優選地,逆補償誤差和故障消除單元包括:
動力學模型子單元,用於根據控制系統中存在的故障非線性,建立故障非線性的動態模型為為ρjvsj=0,j=1,2,...,q,其中ρj∈[0,1),vsj和tiF是未知常數;
逆補償誤差和故障消除子單元,用於根據故障非線性的動態模型對存在於控制系統中的死區逆補償誤差和故障非線性進行自適應補償。
從以上技術方案可以看出,本發明實施例具有以下優點:
本發明實施例提供的一種直接自適應控制方法及裝置,其中,直接自適應控制方法包括:根據控制系統中存在的死區和故障非線性,建立死區和故障非線性的動態模型;通過構造死區的逆函數,對死區非線性的動態模型進行逆補償;對逆補償所產生的補償誤差和存在於死區執行器中的故障非線性動力學模型進行補償。本實施例中,通過根據控制系統中存在的死區和故障非線性,建立死區和故障非線性的動態模型,通過構造死區的逆函數,對死區非線性的動態模型進行逆補償,對逆補償所產生的補償誤差和存在於死區執行器中的故障非線性動力學模型進行補償,解決了非線性系統中存在的死區和故障非線性的技術問題,對存在非線性實現有效補償,最終保證了系統運行的穩定性和良好的跟蹤性能。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其它的附圖。
圖1為本發明實施例提供的一種直接自適應控制方法的一個實施例的流程示意圖;
圖2為本發明實施例提供的一種直接自適應控制裝置的一個實施例的結構示意圖;
圖3為含有死區和失效非線性的系統控制示意圖;
圖4為死區非線性圖;
圖5為死區逆補償系統示意圖。
具體實施方式
本發明實施例提供的一種直接自適應控制方法及裝置,解決了非線性系統中存在的死區和故障非線性的技術問題,對存在非線性實現有效補償,最終保證了系統運行的穩定性和良好的跟蹤性能。
為使得本發明的發明目的、特徵、優點能夠更加的明顯和易懂,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發明一部分實施例,而非全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。
請參閱圖1,本發明實施例提供的一種直接自適應控制方法的一個實施例包括:
101、根據帶有未知控制係數的非線性系統定義執行器輸入τj(j=1,2,...,q)和執行器輸出uj(j=1,2,...,q);
當需要解決執行器死區和故障時,首先需要根據帶有未知控制係數的非線性系統定義執行器輸入τj(j=1,2,...,q)和執行器輸出uj(j=1,2,...,q)。
其中x∈Rn是狀態變量,y∈R是系統輸出,uj(j=1,2,...,q)表示系統的第j個控制輸入,fi(x)∈Rn(i=1,2,...,p)和gj(x)∈Rn(j=1,2,...,q)是未知的光滑函數,θi(i=1,2,...,p)和bj(j=1,2,...,q)是未知控制係數。
102、根據控制系統中存在的死區和故障非線性,建立死區和故障非線性的動態模型;
需要根據控制系統中存在的死區和故障非線性,建立死區和故障非線性的動態模型。
具體地,據獲取到的控制系統中非線性,對存在於第j個執行器中的死區非線性,確定執行器的動態模型為uj=D(τj),j=1,2,...,q;
其中其中d_<0,d+>0,mr,ml是未知常數, [d_,d+]表示死區區間,死區的參數滿足mr≥mr0,ml≥ml0,其中mr.ml是兩個正常數。
103、通過構造死區的逆函數,對死區非線性的動態模型進行逆補償;
需要通過構造死區的逆函數,對死區非線性的動態模型進行逆補償。
具體如下:
通過構造死區的逆函數得到
根據逆函數確定死區非線性的動態模型為其中,執行器輸入τj為
計算出虛擬控制器輸入vj和設計逆模塊輸入vdj之間的誤差為 其中DNj為有界值,為
104、對所述逆補償所產生的補償誤差和存在於死區執行器中的故障非線性動力學模型進行補償。
對所述逆補償所產生的補償誤差和存在於死區執行器中的故障非線性動力學模型進行補償,具體如下:
根據控制系統中存在的故障非線性,建立故障非線性的動態模型為為 ρjvsj=0,j=1,2,...,q,其中ρj∈[0,1),vsj和tiF是未知常數;
根據故障非線性的動態模型對存在於控制系統中的死區逆補償誤差和故障非線性進行自適應補償。
下面以一具體應用場景進行描述,如圖3至5應用例包括:
本發明基於自適應控制方法提出了一種新的控制器,能夠對非線性系統中存在的執行器死區和故障進行有效補償。
具體步驟如下:
1)針對帶有未知參數的非線性系統:
y=h(x) (2)
其中x∈Rn是狀態變量,y∈R是系統輸出,uj(j=1,2,...,q)表示系統的第j個控制輸入,fi(x)∈Rn(i=1,2,...,p)和gj(x)∈Rn(j=1,2,...,q)是未知的光滑函數,θi(i=1,2,...,p)和bj(j=1,2,...,q)是未知控制係數。
假設①:(1)-(2)在控制系統中是極其通用的模型,對於任意q-1個執行器遭遇非線性,剩餘的執行器仍然能夠得到控制命令。
2)定義執行器輸入為τj(j=1,2,...,q),執行器輸出為uj(j=1,2,...,q),則無擾動的執行器動態模型為:τj=uj。然而在實際控制系統中,理想的無擾動狀態是幾乎不可能的,各類非線性廣泛存在於控制系統中。因此,要確保系統的穩定運行,需要找到對控制系統中存在的非線性進行相應補償的方法。
3)針對存在於第j個執行器中的死區非線性,執行器的動態模型可以表示為
uj=D(τj),j=1,2,...,q (3)
其中
其中d_<0,d+>0,mr,ml是未知常數,[d_,d+]表示死區區間。
假設②:假設系統執行器發生了死區非線性,死區的參數滿足mr≥mr0,ml≥ml0,其中mr.ml是兩個正常數。
4)通過構造死區的逆函數,我們可以設計一個逆模塊對死區非線性進行 補償,並由此得到死區輸出和設計逆模塊輸入之間的誤差,該誤差可以在後續步驟中通過自適應率的設計來消除。為此,我們構造的死區逆函數為
其中
其中e0>0是自行設定的參數。為了敘述方便,死區非線性動態模型(4)可以表述為
vj=-θjTwj (7)
其中
由於θj(j=1,2,...,q)是未知的,wj(j=1,2,...,q)在實際系統中無法測量得知,因此vj需要設計為
其中為θj的估計值,為4×1的定義矩陣。
由此我們可以得到執行器輸入τj為
由(7)和(11)可以得到虛擬控制器輸入vj和設計逆模塊輸入vdj之間的誤差為
在現有技術中可知,DNj是有界值,可以表示為
表示DNj的上界。該誤差項對系統穩定性會造成影響,因此我們在接下來的控制器設計中,需要運用自適應控制的方法設計相應的自適應率,將該誤差項消除。
5)考慮死區執行器中可能存在的故障現象(如說明書附圖1所示),針對於動態系統(1)-(2),執行器故障的動力學模型可以表示為
ρjvsj=0,j=1,2,...,q (16)
其中ρj∈[0,1),vsj和tiF是未知常數。因此,目標控制器的設計需要滿足以下幾個條件:
①需要設計相應的自適應率,能夠補償由於死區逆補償所產生的誤差項;
②需要設計相應的自適應率和控制器,能夠消除執行器故障對系統的影響,保持系統的穩定性,使得系統輸出能夠跟蹤參考輸入。
本發明基於自適應控制的控制器,目的是對系統中存在的執行器死區和故障非線性進行有效補償,使系統在執行器死區和故障非線性存在的工作環境下仍能保持穩定的工作狀態。
下面對該控制器設計的詳細過程進行說明。
圖3是系統控制框圖,執行器中存在可能出現的死區和故障非線性。
1)目前存在一個微分同胚矩陣[x,η]T=T(x)=[Ts(x)Tc(x)],能夠將系統(1)-(2)轉換為以下形式。
假設③:假設參考信號yr和是已知有界而且連續的,γi(x,η)≠0,且bi的符號函數sign(bi)(i=1,2,...,q)是已知的。
2)基於Tuning Function的方法,我們定義誤差變量為
我們的目標是得到最終的控制器動態模型,為此我們需要分為λ步進行討論。首先我們對(17)中第一個狀態方程(即i=1的情況)進行自適應穩定性分析並假設x2可控。依此,在接下來每一個步驟中,在假設xi+1可控的前提下,第i個狀態方程的穩定性可以通過相應的Lyapunov方程進行分析,設計相應穩定控制函數αi和調節函數進而得到所需的穩定控制器。然而實際上在系統中僅僅只有x1可控,因此相應的系統控制器u和相應的自適應率只能在最後步驟λ中得到。
3)步驟1:我們先選擇分析前兩個誤差變量
由可以表示為
選擇相應的Lyapunov函數為
則Lyapunov函數的導數為
其中假設x2可控,令x2≡0,即x2≡α1。為了滿足選擇控制率為穩定函數α1和調節函數分別為
由於實際上x2不可控,則有x2≠0,不能夠再做為控制率。為此,我們將表示為
步驟i(i=2,3,...,λ-1):第i+1個誤差變量為
由得
穩定函數αi和調節函數分別表示為
其中
我們省略對第i步中對穩定性的分析,相應的系統Lyapunov穩定性分析 將在最後一步進行。
步驟λ:第λ個誤差變量為
由和(13)可得
由上式可以看出,死區逆補償所產生的誤差項包含在誤差變量中,另外式中還包含了執行器故障的動態模型,因此在控制器的設計中,我們應該考慮如何消除死區逆補償誤差項和故障非線性對系統的影響。為此,我們綜合了魯棒控制、參數化和直接自適應控制的思想,提出了一種新型的控制器,能夠有效消除該擾動對系統穩定性的影響。
從(14)可以得到
即該誤差項使有上界的,可以運用魯棒控制的方法實現消除。由(15)-(16)式,我們假設在時間間隔[Tk-1,Tk)內存在pk個執行器發生故障,則定義Pk={j1,j2,...,jpk},表示在某一時間間隔內故障執行器集合,另外,定義 表示個部分故障(0<ρ<1)的執行器集合,定義 表示個完全故障(ρ=1)的執行器集合。另外,我們定義Lyapunov函數為
根據Lyapunov穩定性分析,系統要保持穩定,則必須滿足
根據上述的分析,我們可以設計相應的穩定性函數和調節函數為
相應的自適應率設計為
其中ω=[αλ,γ1,...,γq]。相應的控制器設計為
到了這一步,基於控制率(38)和帶有相應自適應率(37)的控制器已 經設計完成,最終的Lyapunov函數的導數滿足
由Lyapunov函數穩定性分析可知,帶有該控制器的系統在死區和故障非線性存在的情況仍能保持系統的穩定性,且穩態誤差最終收斂到零。
綜上,一種基於執行器死區和故障補償的直接自適應控制方法已經設計完成。
定理:考慮閉環非線性系統(1)-(2)中的執行器存在死區非線性(4),且每個執行器都可能存在故障(15)-(16),在滿足假設①-③的條件下,帶有自適應率(37)和控制器(38)的非線性系統能夠在運行中始終維持穩定,而且保證跟蹤誤差最終能夠收斂於零。
本實施例中,通過根據獲取到的控制系統中非線性,確定控制系統的執行器中的死區非線性的執行器的動態模型,通過構造死區的逆函數,對死區非線性的動態模型進行補償,對根據死區非線性建立執行器故障對應的動力學模型進行執行器故障消除,解決了非線性系統中存在的死區和故障非線性的技術問題,對存在非線性實現有效補償,最終保證了系統運行的穩定性和良好的跟蹤性能。
請參閱圖2,本發明實施例中提供的一種直接自適應控制裝置的一個實施例包括:
定義單元201,用於根據帶有未知控制係數的非線性系統 定義執行器輸入τj(j=1,2,...,q)和執行器輸出uj(j=1,2,...,q);
其中x∈Rn是狀態變量,y∈R是系統輸出,uj(j=1,2,...,q)表示系統的第j個控制輸入,fi(x)∈Rn(i=1,2,...,p)和gj(x)∈Rn(j=1,2,...,q)是未知的光滑函數,θi(i=1,2,...,p)和bj(j=1,2,...,q)是未知控制係數。
確定單元202,用於根據控制系統中存在的死區和故障非線性,建立死區 和故障非線性的動態模型,確定單元202,具體用於據獲取到的控制系統中非線性,對存在於第j個執行器中的死區非線性,確定執行器的動態模型為uj=D(τj),j=1,2,...,q;
其中其中d_<0,d+>0,mr,ml是未知常數,[d_,d+]表示死區區間,死區的參數滿足mr≥mr0,ml≥ml0,其中mr.ml是兩個正常數。
死區補償單元203,用於通過構造死區的逆函數,對死區非線性的動態模型進行逆補償;
死區補償單元203包括:
逆函數子單元2031,用於通過構造死區的逆函數 得到
動態模型子單元2032,用於根據逆函數確定死區非線性的動態模型為 其中,執行器輸入τj為
計算子單元2033,用於計算出虛擬控制器輸入vj和設計逆模塊輸入vdj之間的誤差為其中DNj為有界值,為
逆補償誤差和故障消除單元204,用於對所述逆補償所產生的補償誤差和存在於死區執行器中的故障非線性動力學模型進行補償。
逆補償誤差和故障消除單元204包括:
動力學模型子單元2041,用於根據控制系統中存在的故障非線性,建立故障非線性的動態模型為為ρjvsj=0,j=1,2,...,q,其中ρj∈[0,1),vsj和tiF是未知常數;
逆補償誤差和故障消除子單元2042,用於根據故障非線性的動態模型對存在於控制系統中的死區逆補償誤差和故障非線性進行自適應補償。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描 述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬碟、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光碟等各種可以存儲程序代碼的介質。
以上所述,以上實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其 中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍。