陳 霄, 劉 忠, 姜曉政, 董 蛟
(海軍工程大學(xué)電子工程學(xué)院,武漢 430000)
無(wú)人水面艇(Unmanned Surface Vehicle,USV,簡(jiǎn)稱(chēng)為無(wú)人艇)作為一類(lèi)在復(fù)雜海洋環(huán)境下自主航行完成各種使命任務(wù)的運(yùn)載平臺(tái),與無(wú)人機(jī)、無(wú)人車(chē)和無(wú)人潛航器組成四大無(wú)人運(yùn)載系統(tǒng)[1],具有機(jī)動(dòng)性好、隱蔽性強(qiáng)、自動(dòng)化程度高、無(wú)人員傷亡等優(yōu)勢(shì),在軍事和民用領(lǐng)域具有廣闊的應(yīng)用前景[2]。無(wú)人艇的自主航行、自動(dòng)避碰等運(yùn)動(dòng)控制問(wèn)題已成為國(guó)內(nèi)外研究的熱點(diǎn)。無(wú)人艇自主航行等效果的好壞不僅依賴(lài)于各種先進(jìn)的控制算法,還取決于被控對(duì)象模型的辨識(shí)精度,因此獲取無(wú)人艇模型是設(shè)計(jì)各類(lèi)運(yùn)動(dòng)控制器的基礎(chǔ),也是研究無(wú)人艇自主控制技術(shù)的核心問(wèn)題之一[3]。系統(tǒng)辨識(shí)的方法通常被用于線性和非線性模型參數(shù)的確定,主要包括最小二乘及擴(kuò)展最小二乘法[4]、極大似然估計(jì)法[5]、擴(kuò)展卡爾曼濾波法[6]、模型參考自適應(yīng)法[7]、梯度校正法[8]及基于人工智能辨識(shí)算法[9]等。其中,最小二乘法是系統(tǒng)辨識(shí)中最常用的方法,具有系統(tǒng)先驗(yàn)知識(shí)少、算法簡(jiǎn)單、計(jì)算量小、收斂性好等優(yōu)點(diǎn)。孫曉界等通過(guò)分析Z形和定常回轉(zhuǎn)實(shí)船操縱性試驗(yàn)數(shù)據(jù),利用遞推最小二乘法辨識(shí)得到無(wú)人艇線性K-T模型,并通過(guò)Z形操舵試驗(yàn)驗(yàn)證了模型的正確性,但并未考慮模型的非線性因素[3];秦余剛等提出了一種快速收斂迭代學(xué)習(xí)最小二乘法并將其用于船舶K-T模型的參數(shù)辨識(shí),仿真結(jié)果表明,該算法具有較高的辨識(shí)精度,但是迭代學(xué)習(xí)的引入導(dǎo)致算法復(fù)雜性和耗時(shí)增加[10]。
本文以某無(wú)人艇為研究對(duì)象,建立響應(yīng)型三自由度非線性數(shù)學(xué)模型,在研究國(guó)內(nèi)外現(xiàn)有無(wú)人艇操縱模型參數(shù)辨識(shí)算法的基礎(chǔ)上,綜合考慮算法的辨識(shí)精度和實(shí)用性,提出了一種基于分步實(shí)艇數(shù)據(jù)處理的模型參數(shù)辨識(shí)算法,詳細(xì)給出了辨識(shí)過(guò)程,并基于Z形操舵試驗(yàn),通過(guò)所辨識(shí)出的模型仿真結(jié)果和實(shí)艇試驗(yàn)數(shù)據(jù)對(duì)比,驗(yàn)證了所辨識(shí)模型的正確性。
通常情況下,設(shè)計(jì)航向控制器時(shí),船舶水平面內(nèi)的運(yùn)動(dòng)數(shù)學(xué)模型常采用Nomoto模型,但是該模型是在低頻小舵角的假設(shè)條件下進(jìn)行推導(dǎo)的,而無(wú)人艇有著更快的航速和更好的機(jī)動(dòng)性,通常需要高頻操舵,因此Nomoto模型不適用于無(wú)人艇[11-12]。本節(jié)在考慮無(wú)人艇特性以及模型非線性的基礎(chǔ)上,采用Norrbin模型來(lái)進(jìn)行航向控制器的設(shè)計(jì),即
(1)
(2)
式中:ψ為航向角;δ為舵角輸入;δr為未操舵時(shí)維持直航的壓舵角;T為追隨性指數(shù);K為回轉(zhuǎn)性指數(shù);HN(ψ)為非線性項(xiàng),用于描述無(wú)人艇的操縱性能;n0,n1,n2,n3為Norrbin系數(shù),當(dāng)無(wú)人艇具有對(duì)稱(chēng)結(jié)構(gòu)時(shí),n0=n2≈0,當(dāng)無(wú)人艇具有直行特性時(shí),n1=1,否則n1=-1。因此式(1)可簡(jiǎn)化為
(3)
當(dāng)n3=0時(shí),式(3)即為Nomoto模型
(4)
由于辨識(shí)技術(shù)的固有缺陷,當(dāng)同時(shí)辨識(shí)的參數(shù)較多時(shí),存在所謂的“參數(shù)相消效應(yīng)”,即所辨識(shí)參數(shù)同時(shí)偏離各自真值。為克服這個(gè)缺陷,本文通過(guò)設(shè)計(jì)不同的試驗(yàn),分步辨識(shí)各參數(shù),確保所辨識(shí)參數(shù)的準(zhǔn)確性。方法步驟如下所述。
(5)
(6)
(7)
最小二乘擬合誤差為
(8)
(9)
由式(9)可得a0和a1,故可求得K和δr。
Step2 將辨識(shí)得到的K和δr視作已知量,利用Z10°/10°試驗(yàn)結(jié)果對(duì)K-T線性模型進(jìn)行最小二乘辨識(shí),得到T。首先將式(4)進(jìn)行前向差分處理,各階前向差分格式為
(10)
(11)
(12)
(13)
式中:ψ(k)為k時(shí)刻艏向角的采樣值;δ(k)為k時(shí)刻舵角的采樣值;h為采樣間隔。則對(duì)式(4)采用前向差分格式離散化得
T[y(k+2)-y(k+1)]=Kh2[δ(k)+δr]-hy(k+1)
(14)
式中,y(k+1)=ψ(k+1)-ψ(k)。
取k=1,2,3,…,M-2,M為采樣總數(shù),令
(15)
(16)
得到TY=A,因此T的最小二乘解為T(mén)=(YTY)-1·(YTA),YT為Y的轉(zhuǎn)置。
Step3 將K,T和δr視作已知量,利用Z20°/20°試驗(yàn)對(duì)非線性模型(3)進(jìn)行最小二乘辨識(shí),得到n3。此時(shí)由于運(yùn)動(dòng)幅度大,非線性嚴(yán)重,n3屬于敏感系數(shù),因而有較高的辨識(shí)精度[8]。首先將式(3)采用前向差分格式離散化得
(17)
式中,y(k+1)=ψ(k+1)-ψ(k)。
取k=1,2,3,…,M-2,M為采樣總數(shù),令
(18)
(19)
則可得到αQ=C,則α的最小二乘解為α=(QTQ)-1·(QTC),QT為Q的轉(zhuǎn)置。
Step4 利用Z15°/15° 的操舵響應(yīng)試驗(yàn),通過(guò)實(shí)艇試驗(yàn)數(shù)據(jù)和所辨識(shí)出的模型仿真結(jié)果對(duì)比,驗(yàn)證了所辨識(shí)模型的正確性。
首先在一級(jí)海況下進(jìn)行δ=5° 定?;剞D(zhuǎn)試驗(yàn),舵角和航速分別穩(wěn)定在5° 和10 kn(1 kn=1.852 km/h)左右,采樣時(shí)間間隔為0.5 s。由于記錄的數(shù)據(jù)較多,只列出回轉(zhuǎn)試驗(yàn)的部分采樣點(diǎn)數(shù)據(jù),如表1所示。對(duì)應(yīng)舵角與艏向角的關(guān)系如圖1所示,由Step1辨識(shí)得K=0.560 0,δr=0.008 2°。
表1 5°回轉(zhuǎn)實(shí)驗(yàn)數(shù)據(jù)
圖1 對(duì)應(yīng)艏向角與舵角的關(guān)系Fig.1 Correspondence between the heading angle and the rudder angle
在相同的海況和航速下,進(jìn)行無(wú)人艇Z10°/10°操舵試驗(yàn),由于各種干擾的存在和無(wú)人艇本身的機(jī)械特性,試驗(yàn)中允許目標(biāo)舵角和實(shí)際舵角存在一定的偏差。部分Z10°/10°試驗(yàn)數(shù)據(jù)如表2所示。由Z形試驗(yàn)得到的舵角和艏向角之間的關(guān)系如圖2所示。由Step2計(jì)算可得T=0.530 8。
表2 Z10°/10°試驗(yàn)數(shù)據(jù)
圖2 實(shí)艇Z10°/10°試驗(yàn)結(jié)果Fig.2 The result of Z10°/10° experiment
同理,在相同的海況和航速下,進(jìn)行無(wú)人艇 Z20°/20°操舵試驗(yàn),部分Z20°/20°試驗(yàn)數(shù)據(jù)如表3所示。由Z形試驗(yàn)得到的舵角和艏向角之間的關(guān)系如圖3所示。由Step3計(jì)算可得n3=0.001 7。
圖3 實(shí)艇Z20°/20°試驗(yàn)結(jié)果Fig.3 The result of Z20°/20° experiment
序號(hào)時(shí)間/s舵角/(°)艏向角/(°)航速/kn10.0-19.394 7183.13710.664 320.5-19.394 7183.20911.500 031.0-19.369 5180.53710.630 441.5-19.394 7176.52810.679 652.0-19.394 7168.68110.088 7?????12964.019.773 1227.1199.456 913064.519.848 8233.4029.662 113165.0-19.394 7242.7868.778 913265.5-19.394 7248.3969.090 913366.0-19.369 5258.6459.894 013466.5-19.369 5266.05510.124 6
利用參數(shù)辨識(shí)結(jié)果建立對(duì)應(yīng)的一階非線性響應(yīng)模型進(jìn)行Z15°/15°仿真試驗(yàn),并利用實(shí)艇進(jìn)行Z15°/15°操縱性試驗(yàn),得到相應(yīng)的艏向角預(yù)報(bào)曲線和實(shí)艇操舵響應(yīng)試驗(yàn)的擬合曲線,如圖4所示??梢钥闯?,模型輸出與實(shí)際輸出性能大體一致,由于實(shí)際試驗(yàn)中的一些干擾等外在因素使得模型輸出不能和實(shí)際情況完全一致,但模型基本上可以滿(mǎn)足要求。
圖4 Z15°/15°試驗(yàn)與仿真結(jié)果對(duì)比Fig.4 The comparison of Z15°/15°experiment result with simulation result
為解決無(wú)人艇操縱模型參數(shù)辨識(shí)過(guò)程中存在的“參數(shù)相消效應(yīng)”,提出了一種基于分步實(shí)艇數(shù)據(jù)處理的模型參數(shù)辨識(shí)算法,通過(guò)設(shè)計(jì)不同的試驗(yàn),分步辨識(shí)各參數(shù),確保參數(shù)辨識(shí)結(jié)果的準(zhǔn)確性。最后,分別利用所辨識(shí)出的無(wú)人艇操縱模型和實(shí)艇進(jìn)行操舵預(yù)報(bào)仿真試驗(yàn)及湖上試驗(yàn),通過(guò)實(shí)艇試驗(yàn)數(shù)據(jù)和仿真結(jié)果對(duì)比,驗(yàn)證了所辨識(shí)模型的正確性。下一步,將研究風(fēng)、浪、流等外界不確定干擾下的無(wú)人艇模型參數(shù)估計(jì)及校正問(wèn)題。