王勇, 李聰, 黃漢橋,2, 周歡
(1.空軍工程大學 航空航天工程學院, 陜西 西安 710038; 2.西北工業大學, 陜西 西安 710072)
無論是建模不夠精確的傳統控制還是規則來源于專家經驗的模糊控制都是對現實世界的近似逼近[1],而模糊控制在解決復雜非線性系統、難以建立數學模型的系統以及不確定內部擾動的多輸入多輸出系統的控制問題上可取得相比經典控制理論和現代控制理論難以達到的效果,已經成為實現智能控制中最重要、最有效和應用最廣泛的一種形式。
為了推動模糊控制在工程界中的實際應用,研究者針對模糊控制器設計過程中的各個因素進行了廣泛而深入的研究。文獻[2-4]討論研究了比例因子和量化因子對模糊控制器控制性能的影響,并提出了一定的選取準則;文獻[5-8]則利用遺傳算法或粒子群算法等智能算法在適應度函數的引導下對模糊控制規則進行了優化,以減少控制規則數目,降低模糊控制器的設計難度。但現階段關于隸屬度函數的研究成果卻極其有限。模糊控制的輸入輸出論域是由它的隸屬度函數來表征的,模糊規則之間的運算也是通過其隸屬度函數的相應運算來實現的,隸屬度函數的重要性可見一斑。文獻[9]提出了模糊統計方法,即通過模糊統計實驗來選定相應模糊集合的隸屬度函數;文獻[10]通過關專家評分直接給出隸屬度函數;文獻[11]采用了二元對比排序法,即將論域中所有變量屬于某一模糊集合的優先程度進行兩兩比較,構建優先程度矩陣,然后基于矩陣通過取小法或加權平均法求得各變量的隸屬度;文獻[12]中提出的利用偏小型、對稱型和偏大型3類模糊分布確定隸屬度函數的作法則為現階段廣為接受的方法。此外,隸屬度函數的確定方法還有范例法(Zadeh,1972)、范形變形法(Bremermann,1976)、隱分析法(Kochen和Badre,1976)、濾波函數法(Mac Vicar-Whelan,1978)以及模糊測度法(管道野夫,1998)等,但上述方法多是因研究對象不同而最終采取的方法不同,尚未出現一個統一的方法,如何精確確定一個模糊控制器的隸屬度函數已經成為模糊控制應用的瓶頸。針對上述問題,本文在云模型理論的基礎上,結合高斯云和概念含混度,提出了自適應高斯云變換算法對工程實踐中的樣本數據進行概念層次劃分,利用最終所得高斯云的分布情況進而推斷出模糊控制器中隸屬度函數的數目、形狀以及覆蓋范圍。最后,基于simulink仿真平臺搭建的俯仰角模糊控制器設計了對比性數值仿真實驗,驗證了基于自適應高斯云變換算法所確定的具有特定數目、形狀和覆蓋范圍的隸屬度函數嵌套于模糊控制器之后可實現預期的控制性能。
隸屬度函數對模糊控制器控制性能的影響主要體現在3個方面:①隸屬度函數的數目;②隸屬度函數的形狀;③隸屬度函數的覆蓋范圍。現階段關于模糊控制器的設計多是在未考慮實際數據分布的情況下依據專家經驗人為預先給定隸屬度函數的數目、形狀以及覆蓋范圍,主觀性強,難以量化。為了解決此問題,本文則利用自適應高斯云變換算法對工程實踐中的相關數據進行概念層次劃分,最終所得到的成熟概念即對應于模糊控制論域中模糊子集的語言變量,成熟概念的數目便為隸屬度函數的數目。文獻[13]針對現有6種形態的隸屬度函數,驗證了高斯型隸屬度函數的普適性,據此,本文的隸屬度函數便選為高斯型。從而,本文可基于自適應高斯云變換對概念進行劃分,利用概念劃分后得出的高斯云的數字特征指導模糊控制中高斯型隸屬度函數的構建,并得出覆蓋范圍。
基于高斯分布的云模型稱之為高斯云,其定義如下:
設U是一個用精確數值表示的定量論域,C(Ex,En,He)是U上的定性概念,若定性值x(x∈U)是定性概念C的一次隨機實現,且En′~(Ex,He2),x~(Ex,En′2),x對C的確定度滿足
(1)
稱x在U的分布為高斯云,如圖1所示。

圖1 云模型數字特征示意圖
期望Ex為最能夠代表定性概念的點;熵En為標準差的期望,反映了云滴的離散程度;超熵He是熵的不確定性度量。
正向高斯云算法實現了從數字特征表示的定性概念到定量的數據集合的轉換,具體算法如下:
Input:數字特征(Ex,En,He),云滴個數N;
Output:云滴drop(xi,ui),i=1,2,…,N;


ui);
Step4重復進行Step1~3生成N個云滴。
逆向高斯云算法企圖實現從一組樣本數據集合去獲取表示定性概念的數字特征,具體算法如下:
Input:樣本點xi,i=1,2,…,N;
Step1計算樣本點xi的期望值
(2)
計算樣本一階絕對中心矩
(3)
計算樣本二階中心距
(4)
(5)
Step3計算超熵
(6)
云模型正是利用上述正、逆向高斯云算法實行了定性概念數字特征(Ex,En,He)和數據樣本之間的相互轉換。
隸屬度函數的數目增多,控制性能顯著提升的同時也會導致控制規則過多而增控制器的設計難度,但若隸屬度函數數目過少,則難以對控制性能進行精心調整。如何在滿足控制性能的條件下選擇合理的隸屬度函數數目便是一個很有意義的問題。為了確定原始樣本數據對應的概念數目,本文引入概念含混度[14]以衡量概念劃分過程中達成共識的程度并進一步指導概念層次劃分。概念含混度的定義如下:
CD=3He/En
(7)

圖2 概念共識云圖
含混度為0,則概念外延匯聚,形成共識,是一個成熟的概念,如圖2a)所示;含混度為1,則概念外延發散,難以形成共識,概念霧化如圖2b)所示。表1闡明了概念含混度和概念解釋之間的關系。
根據實際問題設定合理的概念含混度閾值便可引導原始樣本數據生成合適的概念數目,從未可確定隸屬度函數的數目。

表1 概念含混度對概念劃分結果的度量標準
自適應高斯云變換即將任意給定的數據樣本集合轉換成多個用高斯云表征的定性概念以實現概念的劃分,且可通過計算出的概念含混度值與預設的概念含混度閾值β之間的比較來指導優化生成概念的數目。模糊控制中確定模糊子集的過程實質便為一個基于數據樣本的概念辨識過程,將定量的數據轉化到定性的自然語言域。因此,利用自適應高斯云變換算法最后輸出的M個高斯云所對應的M個成熟概念即為模糊控制中M個模糊子集的語言變量,如NL,PL等。
本文以正、逆向高斯云算法為基礎設計自適應高斯云變換算法如下所示:
Input:數據樣本集X{xi|i=1,2,…,N},概念含混度閾值β;
Output:M個高斯云C(Exk,Enk,Hek),k=1,2,…,M;
Step1統計數據樣本集X{xi|i=1,2,…,N}頻度分布p(xi)的波峰數量m,作為概念數量的初始值;
Step2基于概念數量的初始值m,利用高斯云混合模型算法將樣本集X{xi|i=1,2,…,N}轉換為m個高斯分布;
Step3對第k個高斯分布G(uk,σk),根據
uk-1+3α1σk-1=uk-3α1σk
(8)
計算左側2個相鄰概念之間不交疊的縮放比α1;根據
uk+3α2σk=uk+1-3α2σk+1
(9)
計算右側2個相鄰概念之間不交疊的縮放比α2;最終取α=min(α1,α2);
Step4計算表征第k個概念的高斯云參數:
期望
Exk=uk
(10)
熵
Enk=(1+α)×σk/2
(11)
超熵
Hek=(1-α)×σk/6
(12)
至此,則將原始樣本X{xi|i=1,2,…,N}聚類為m個高斯云C(Exk,Enk,Hek),k=1,2,…,m
Step5計算概念含混度并排序
CDk=3×Hek/Enk=(1-α)/(1+α)
(13)
如果CDk>β,k=1,2,…,m,則概念數目m=m-1,跳轉至Step2;否則,輸出M個含混度小于β的高斯云C(Exk,Enk,Hek),k=1,2,…,M。
以某型無人機在一定高度和速度下的平飛狀態為基準運動,在基本假設之下,借助小擾動法將飛機一般運動方程線性化以得到相互獨立的縱向通道小擾動線性方程和橫側向通道小擾動線性方程。因無人機縱向通道和橫側向通道控制系統相似,故本文僅給出飛機縱向通道的小擾動狀態方程,如(14)式和(15)式所示。
(14)
(15)
本文選取俯仰角?為控制量,設計其控制模型如圖3所示。

圖3 俯仰角控制模型
將無人機當前俯仰角和俯仰角指令的差值作為舵機的輸入量,從而控制升降舵的偏轉。根據無人機動力學模型可得到俯仰角速度變化值Δ?,經過積分環節之后即可得到俯仰角的變化值。模型中引入了微分環節,其作用是借助俯仰角速度的反饋以增加短周期模態阻尼。舵機近似于一個慣性環節,傳遞函數可表示為
(16)
式中,kδ為靜態增益;Tδ為時間常數。


圖4 模糊控制simulink仿真圖
本文采用如(17)式和(18)式所示方法將輸入量和輸出量映射到所需范圍。
(17)
(18)



表2 俯仰角模糊控制規則表
模糊蘊含是指確定模糊規則的前提部分對結論部分產生的影響的一種措施,本文設置為And Method=min, Or Method=max, Implication Method=min, Aggregation Method=max。
清晰化計算是指將模糊推理得到的模糊量利用算法轉化為控制所需的實際量。本文采用適應于輸出隸屬度函數為對稱函數的面積重心法,其計算公式為:
(19)
式中,ej和μcj(ej)分別代表隸屬度函數的質心和隸屬度函數數值。
根據無人機控制的工程實踐樣本數據,對實際控制過程中出現的俯仰角誤差值進行800次提取后其所得的數值頻度分布如圖5所示。

圖5 俯仰角角度誤差數據頻度分布圖
由圖5可知原始數據峰值高達23個之多,數據頻度曲線抖動嚴重。利用高斯云變換對俯仰角誤差數據進行高斯云變換之后,初步可得到12個模糊概念,如圖6所示。從中可看出,由高斯云變換得到的與初始概念相對應的12個高斯云的疊加基本上反映了實際數據的分布情況。

圖6 12個初始概念的高斯云圖
由圖6可知12個初始概念存在骨干區交疊的情況,由表1可知,概念含混度較高,概念劃分混亂,需要進一步減少概念數目。設定概念含混度上限為β=0.17以指導自適應高斯云變換,得到包含7個概念的高斯云圖如表3和圖7所示。

表3 7個概念的數字特征
語言變量NM的概念含混度β=0.178 6>0.17,大于閾值,概念劃分仍不夠明確,需進一步減少概念數目。在滿足含混度閾值β=0.17的情況下最終得到如表4和圖8所示的包含5個概念的高斯云圖。

圖7 7個概念的高斯云圖

概念期望熵超熵含混度 NB2.5810.4670.0160.102 8 NS3.7500.5190.0220.127 2 ZO4.7570.1860.0100.161 3 PS5.6000.3230.0130.120 7 PB7.2000.6500.0350.161 5

圖8 5個成熟概念的高斯云圖
上述通過自適應高斯云變換對俯仰角角度誤差進行聚類的過程是從23個初始概念(原始數據的峰值數)到5個成熟概念的提升過程,從概念含混度較高,高斯云交疊嚴重到滿足概念含混度閾值形成成熟概念。
以某型無人機在高度1 000 m,速度40 m/s下配平可得到(15)式中的Ax矩陣和Bx矩陣如下:
Ax=


圖9 俯仰角誤差隸屬度函數


圖10 隸屬度函數數目不同的俯仰角模糊控制圖
由圖10可知,利用自適應高斯云變換所提取的隸屬度函數可有效實現無人機俯仰角的控制,達到預期的角度值,驗證了此種方法選取的隸屬度函數的有效性。仿真進行10次,分別求取5個隸屬度函數和7個隸屬度函數情況下所對應的上升時間的均值,結果如表5所示。

表5 隸屬度函數數目不同下的性能比較
由表5可知5個隸屬度函數下的控制效果稍遜于7個隸屬度函數下的控制效果,結論符合模糊控制規則越多,其體現的專家經驗越豐富,則控制器的性能越優越的直觀思想。但是模糊控制器若選取5個隸屬度函數,在控制性能相差不大的情況下,控制規則將會從49條減少為25條,極大簡化了模糊控制器的設計。由此可知,合理的選擇概念含混度上限 可在最簡化模糊控制規則數目的同時保持良好的控制性能。
以表4數據所得的5個隸屬度函數為基準,改變每條隸屬度函數的覆蓋范圍。“覆蓋范圍不變”是指每條隸屬度函數的覆蓋范圍均與表4數據所代表的相一致,“覆蓋范圍收縮”是指每條隸屬度函數的覆蓋范圍在表4數據的基礎上左右各收縮0.25,論域下界和上界的隸屬度函數僅單方向收縮0.25;“覆蓋范圍延伸”是指每條隸屬度函數的覆蓋范圍在表4數據的基礎上左右各擴大0.25,論域下界和上界的隸屬度函數僅單方向擴大0.25,最終所得無人機俯仰角在模糊控制器下變化曲線如圖11所示。

圖11 隸屬度函數覆蓋范圍不同的俯仰角模糊控制圖
由圖11可知,隸屬度函數的覆蓋范圍變化之后,仍可有效實現無人機俯仰角的控制,最終達到預期的角度值,但是不同覆蓋范圍的隸屬度函數所對應的控制性能卻不同。將上述仿真進行10次,分別求取在隸屬度函數數目為5但覆蓋范圍不同的情況下所對應的上升時間的均值,結果如表6所示。

表6 覆蓋范圍不同下的性能比較
由表6可知,利用自適應高斯云變換算法所確定的隸屬度函數的覆蓋范圍相比于隨意設定的情況,可有效提高模糊控制器的控制性能。
本文為了推動模糊控制在工程實踐中的應用,針對模糊控制器設計過程中隸屬度函數的選取問題,基于自適應高斯云變換算法提出了一種通用型隸屬度函數的選取方法以確定模糊控制器中隸屬度函數的數目、形狀及覆蓋范圍。隸屬度函數形狀選為高斯型,利用自適應高斯云變換算法對原始數據進行概念層次劃分后最終所得到的成熟概念即對應于模糊控制論域中模糊子集的語言變量,成熟概念的數目便為隸屬度函數的數目,高斯云的分布情況即可確定出隸屬度函數的覆蓋范圍。仿真結果表明利用自適應高斯云變換算法所確定的隸屬度函數嵌套于模糊控制器之后可實現良好的控制性能,具有較好的動態特性。