趙蕊,許建,王淼,向先波,徐國華
1 中國艦船研究設計中心,湖北 武漢 430064
2 華中科技大學 船舶與海洋工程學院,湖北 武漢 430074
近年來,自主式水下機器人(AUV)在海洋資源勘探、設備檢修、水下搜救等領域發(fā)揮著重要作用。AUV已成為國內外研究學者廣泛關注的焦點,尤其是對其操縱性方面的研究。水下航行器具有六自由度耦合、非線性等控制模型的特點[1-2],其優(yōu)劣直接關系到AUV航行的安全,是評價AUV性能的一個重要指標。但水下航行器在水下航行過程中所受干擾較復雜,航向和深度控制相互耦合,使得自動控制實現(xiàn)較困難,因此多采用水平面運動和垂直面運動解耦的方法[3]。
為了實現(xiàn)AUV按設定的航向自動航行,需要采用自動舵控制裝置來修正因水下復雜環(huán)境干擾引起的航向偏差。目前,許多國內外研究學者針對水下航行器自動舵轉舵控制進行了不同嘗試。傳統(tǒng)的航向控制裝置為PID自動舵,Lee等[4-6]對PID自動舵均進行了應用研究。但由于PID自動舵對高頻干擾比較敏感,容易引起頻繁操舵。此外,由于AUV運動控制模型復雜,并且水下環(huán)境多變,而傳統(tǒng)的PID模型過于簡單,只能控制小范圍內的控制點,具體表現(xiàn)為控制器魯棒性差,難以達到理想的控制效果。
傳統(tǒng)PID本質上是整數(shù)階PID(Integer Order PID,IOPID)控制方法。為了解決上述問題,薛定宇 等[7-8]提出了分數(shù)階PIλDμ(Fractional Order PID,F(xiàn)OPID)控制器。同IOPID控制器相比,由于FOPID控制器增加了積分階次和微分階次這2個參數(shù),適度增加了模型復雜度,使之對復雜的運動模型和水下環(huán)境的適應力更強,從而提高了控制系統(tǒng)的魯棒性和靈活性。但與此同時,也增加了FOPID控制器參數(shù)整定的難度。IOPID參數(shù)整定的經(jīng)驗方法此時已不再適用,因此,本文考慮使用智能算法對參數(shù)進行自動尋優(yōu)。
近年來,智能仿真算法在參數(shù)尋優(yōu)方面可謂碩果累累,這些算法通常引入“群體智能”的思想來避免目標函數(shù)陷入局部極值,使結果更加接近全局最優(yōu)。因此,通過使用智能算法來對控制參數(shù)進行整定,可以有效地使模型實現(xiàn)參數(shù)自由,避免傳統(tǒng)試湊參數(shù)帶來的誤差,從而提高航向控制精度。例如,F(xiàn)an等[9]提出了一種有效的模糊自適應PID方法對水面船舶航向進行控制,仿真試驗表明,該方法改善了系統(tǒng)對風、浪、流的響應,具有較好的魯棒性。王芳榮等[10]將神經(jīng)網(wǎng)絡應用于無人水下航行器的控制,采用PID神經(jīng)網(wǎng)絡解耦控制算法來實現(xiàn)獨立控制。
本文將結合以上思想,針對AUV航向自動舵提出一種基于遺傳算法(GA)整定參數(shù)的分數(shù)階PIλDμ控制器[11]。并對傳統(tǒng)的試湊法整定IOPID、遺傳算法整定IOPID(簡稱GAIOPID)、遺傳算法整定FOPID(簡稱GAFOPID)這3種控制器進行仿真對比實驗,以驗證本文提出的遺傳算法整定FOPID控制器的動態(tài)性能。
由于水下機器人的運動具有六自由度耦合、非線性等特點,而且模型存在不確定性,使其操縱性變得較為復雜,所以在實際操縱過程中,常將其運動方程解耦后采用三自由度方程進行控制,這樣不僅能夠簡化運動模型,而且還能便于控制器的實現(xiàn),降低成本。本文將只對其水平面航向進行控制研究,所以不考慮垂直面的影響。對標準運動方程[12]進行解耦后可得到航向角動力學模型和運動學模型。
分數(shù)階微積分與整數(shù)階微積分是統(tǒng)一的,是任意階微分和積分的理論,它實際上是整數(shù)階微積分的推廣。目前,研究領域常用的分數(shù)階微積分定義有4種形式:由整數(shù)階直接擴展而來的分數(shù)階Cauchy積分定義、Grunwald-Letnikov定義、Caputo定義和Riemann-Liouville定義[13]。
分數(shù)階Cauchy積分定義直接由整數(shù)階擴展而來。對于很多物理或實際工程應用中的函數(shù)來說,Grunwald-Letnikov分數(shù)階微積分定義與Riemann-Liouville分數(shù)階微積分定義是等效的。Caputo定義[14](式(1))對常數(shù)的求導是有界的,而Riemann-Liouville定義對常數(shù)的求導是無界的,因此,Caputo定義更適用于分數(shù)階微分方程初值問題的描述。
式中:Dtα為分數(shù)階微積分的基本操作算子,其中α和t分別為操作算子的上、下限,α為微積分階次,p-1<α<p,p∈N;Γ為伽瑪函數(shù)。
當函數(shù)f(t)已知時,分數(shù)階微積分的計算可以利用Fourier級數(shù)計算周期函數(shù)的分數(shù)階微積分和Grunwald-Letnikov分數(shù)階微積分定義等求解。但在實際應用時,由于分數(shù)階控制器中的f(t)常不可預知,不能直接求取分數(shù)階微分,因此常采用近似法替代求取,如濾波算法和Oustaloup近似法[15]。本文采用Oustaloup近似法,將sα轉化為整數(shù)階微積分,階次取N,擬合頻率范圍(ωb,ωh),則轉化為整數(shù)階傳遞函數(shù)[16]。
式中:0<α<1;b>0;d>0;s=jω。將上式表示成有理傳遞函數(shù)零點和極點形式:
第k個零點、極點為
構造出分數(shù)階微積分算子的連續(xù)有理傳遞函數(shù)模型:
分數(shù)階PID是基于傳統(tǒng)的整數(shù)階PID控制算法[17],引入微分階次λ和積分階次μ得到的分數(shù)階PIλDμ控制器[7]。由于無法直接計算分數(shù)階函數(shù),因此需要將分數(shù)階PIλDμ控制器傳遞函數(shù)采用Oustaloup近似法進行有理化處理,得到分數(shù)階PIλDμ控制器的有理化表達式為
式中,kp,ki,kd分別為PID的比例、積分、微分系數(shù)。
對于一般的單輸入單輸出的系統(tǒng)傳遞函數(shù),可表示為
采用零階保持器,取采樣周期為0.001 s,將傳遞函數(shù)采用Matlab進行離散化,得到
再將G(z)轉化為差分方程
式中:e(s)為輸入值;u(s)為控制器輸出值;a0,…,均為實數(shù)。
將s-λ和sμ的有理整數(shù)傳遞函數(shù)模型分別進行離散化,可得到離散化的PID控制器表達式:
式中,e(k),e(k-1),…,e(k-m)分別為k,k-1,…,k-m時刻的航向角誤差值;u(k),u(k-1),…,u(k-n)分別為k,k-1,…,k-n時刻的控制器輸出舵角值;aλ1,…,aλn,bλ0,…,bλm,aμ1,…,aμn,bμ0,…,bμm均為實數(shù),這些系數(shù)與λ,μ,b,d,N,ωb,ωh相關。
分數(shù)階PIλDμ(FOPID)控制器是整數(shù)階PID(IOPID)控制器的一般形式,由于其積分和微分階次可以在一定范圍內任意取值,所以FOPID較IOPID控制器更具靈活性。然而,由于FOPID在原來IOPID的3個增益參數(shù)的基礎上,又額外引入了2個微積分階次參數(shù),因此增加了控制器參數(shù)的選擇難度。本文采用遺傳算法對分數(shù)階PIλDμ的相關參數(shù)進行尋優(yōu)[11]。
遺傳算法是模擬現(xiàn)實世界中基因種群優(yōu)勝劣汰的過程。通過對劣質解進行淘汰變異,對優(yōu)質解進行交叉遺傳,從而搜索到全局最優(yōu)解。該方法在文獻[18-20]中均有應用,是一種不需要任何初始信息并可以尋求全局最優(yōu)解的、高效的優(yōu)化組合方法,避免了由人為經(jīng)驗指定參數(shù)給控制器引入的誤差。
遺傳算法整定FOPID控制器參數(shù)的基本流程(圖1)為:
1)確定待優(yōu)化參數(shù)范圍。根據(jù)相關約束條件和工程經(jīng)驗,為每一個待優(yōu)化的參數(shù)(本文中為3個增益參數(shù)加上2個微積分階數(shù)參數(shù))確定取值范圍,根據(jù)取值范圍和需要的精度確定解的編碼長度,并對每個待求解進行編碼。
2)初始化種群。為了避免人為指定初始化種群而帶來的誤差,一般由計算機隨機產(chǎn)生初始種群,即隨機產(chǎn)生一批初始參數(shù)解。種群的大小由計算的復雜度確定。
3)確定目標函數(shù)。對于任何一個系統(tǒng),衡量其控制性能的指標有3個方面,即穩(wěn)定性、準確性和快速性。穩(wěn)態(tài)誤差反映了系統(tǒng)的準確性,穩(wěn)態(tài)誤差越小,系統(tǒng)越準確,反之,系統(tǒng)的準確性越差。上升時間反映了整個系統(tǒng)的快速性,上升時間越短,表示控制系統(tǒng)的快速性越好。然而如果單純?yōu)榱俗非笙到y(tǒng)的快速性,很可能會導致控制量過大,使得系統(tǒng)受限于固有飽和特性而出現(xiàn)不穩(wěn)定,因此需要在目標函數(shù)中加入控制量;另一方面,過快的系統(tǒng)往往伴隨著過大的超調量,因此本目標函數(shù)中采用懲罰機制,將超調量作為最優(yōu)指標的一項。
為了使控制效果更好,本文將控制量、穩(wěn)態(tài)誤差和上升時間作為約束條件。則參數(shù)選取的最優(yōu)目標函數(shù)表達式為
式中:e(t)為系統(tǒng)穩(wěn)態(tài)誤差;u(t)為控制量輸出;tu為上升時間;w1,w2,w3,w4為權值,且w3?w1;ey(t)=y(t)-y(t-1),其中y(t)為被控對象輸出。
4)遺傳算法的操作。在遺傳算法的每一次循環(huán)迭代中,當前種群通過復制、交叉及變異得到新一代種群,新一代種群代入目標函數(shù)中計算適配值。觀察新一代種群是否滿足預設條件,若不滿足,則將新一代種群作為當前種群重復以上遺傳操作(復制、交叉及變異),進入下一次循環(huán)迭代,直到滿足預設條件為止。
5)解碼得到最優(yōu)解。遺傳算法循環(huán)迭代結束后,將最終種群對應的編碼信息進行解碼,從而得到各參數(shù)的最優(yōu)解,遺傳算法參數(shù)尋優(yōu)結束。
為了證明遺傳算法整定FOPID控制器的優(yōu)越性,本文分別在AUV樣機上對傳統(tǒng)的試湊法整定IOPID,GAIOPID和GAFOPID進行了模擬仿真。并對3個控制器的穩(wěn)態(tài)誤差、上升時間和超調量進行了對比分析。
仿真使用的AUV樣機外形為流線型,長4.2 m,直徑0.48 m,設計巡航時速4 kn。動力學模型的水動力系數(shù)由拖曳水池試驗所得。仿真過程中,周期為1 s,總時間100 s,航速4 kn,最大舵角限定為±30°。分數(shù)階控制器設計過程中,Oustaloup濾波方法擬合頻率(ωb,ωh)取[0.01,1 000],階次為5。遺傳算法中,樣本總數(shù)為20,交叉概率為0.9,變異概率最大為0.05。依據(jù)工程經(jīng)驗,選取參數(shù)kp的取值范圍為[0,3],ki取值范圍為[0,2],kd取值范圍為[0,1],λ取值范圍為[0,1],μ取值范圍為[0,1],權 值w1=0.999,w2=0.001,w3=200,w4=1,采用實數(shù)編碼方式,最大進化代數(shù)N為200。
試湊法整定IOPID的參數(shù)為:kp=2.5,ki=1.6,kd=0.02。經(jīng)遺傳算法尋優(yōu)后,獲得的最優(yōu)參數(shù)為:GAIOPID整定參數(shù)kp=1.883 6,ki=1.578 8,kd=0.023 2;GAFOPID整定參數(shù)kp=2.057 5,ki=1.318 8,kd=0.014 4,λ=0.048 7,μ=0.004 3。遺傳算法對IOPID和FOPID尋優(yōu)過程中的目標函數(shù)J的取值(即適配值)隨進化代數(shù)的變化如圖2所示。由圖可見,遺傳算法對2種控制模型的參數(shù)尋優(yōu)過程均能在較少迭代步數(shù)內達到穩(wěn)定(約50步時收斂,約100步時穩(wěn)定),且2種控制模型的適配值在尋優(yōu)結束后非常接近,說明了遺傳算法對參數(shù)尋優(yōu)的有效性和穩(wěn)定性。
隨后,將3個整定好參數(shù)的控制器代入控制模型中,分別以10°,20°,30°和40°航向角為控制目標進行控制仿真。在每種控制目標情況中,3種控制器下的AUV實際航向角變化如圖3~圖6所示。其中黑色虛線為控制目標,紅色點劃線為試湊法整定PID控制器下的AUV實際航向角,藍色虛線為GAIOPID控制器下的AUV實際航向角,綠色實線為GAFOPID控制器下的AUV實際航向角。
根據(jù)仿真結果,從航向變化圖曲線來看,3種控制器下的AUV實際航向角均能收斂至目標值附近,而遺傳算法整定的FOPID的超調量顯著小于其它2個控制器。因此,采用遺傳算法整定的FOPID控制器得到的效果最好,其次為采用遺傳算法整定的IOPID,最后為試湊法整定的IOPID。
此外,本文還計算了4種仿真情況下3個控制器的上升時間、超調量、超調量百分比、穩(wěn)態(tài)誤差和穩(wěn)態(tài)誤差百分比,相應結果在表1中列出。
由表1可知,遺傳算法整定的FOPID控制器得到的航向曲線的超調量和穩(wěn)態(tài)誤差值均比遺傳算法和試湊法整定IOPID控制器的小,而上升時間幾乎一致。雖然試湊法整定的IOPID控制器得到的航向曲線具有穩(wěn)態(tài)誤差較小的特點,但其超調量較大。考慮到在航行器的控制上,超調量過大會直接導致控制性能變差甚至是失控,因此,超調量對控制性能的影響應當擺在首要考慮位置。此外,以上結論在定向10°~40°的多組仿真實驗中均成立,說明遺傳算法整定FOPID在航向控制上普遍優(yōu)于遺傳算法和試湊法整定的IOPID。綜合以上分析,遺傳算法整定的FOPID具有更好的性能。

表1 航向變化曲線的性能指標Table 1 Performance of the three controllers
本文針對AUV航向自動控制的問題,提出了一種基于遺傳算法的分數(shù)階PIλDμ控制器的設計方案。仿真表明,基于遺傳算法得到的分數(shù)階PIλDμ控制器在航向控制過程中比基于遺傳算法的整數(shù)階PID控制器和常規(guī)試湊法PID控制器具有更好的動態(tài)性能。該方法可以對常規(guī)的航向自動舵進行改進,不僅減少了參數(shù)整定的工作量,還提高了控制器性能,具有較高的應用價值。