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