胡常青,趙京瑞,孫雪嬌,李清洲,唐軍武
(1.青島海洋科學(xué)與技術(shù)試點(diǎn)國家實(shí)驗(yàn)室,青島266237;2.北京航天控制儀器研究所,北京100039)
無人水面艇(Unmanned Surface Vehicle,USV)運(yùn)動(dòng)數(shù)學(xué)模型是USV系統(tǒng)分析和設(shè)計(jì)的基礎(chǔ),高精度的數(shù)學(xué)模型不僅可以準(zhǔn)確預(yù)報(bào)USV的運(yùn)動(dòng)狀態(tài),同時(shí)對(duì)設(shè)計(jì)自主控制器也有著重要的意義。在模型結(jié)構(gòu)方面,目前已有分離型[1]、整體型[2]、響應(yīng)型[3]、時(shí)間序列[4]等多種模型結(jié)構(gòu)形式。為了辨識(shí)其中的參數(shù),已經(jīng)有多種系統(tǒng)辨識(shí)方法被提出,如最小二乘法、極大似然估計(jì)法、神經(jīng)網(wǎng)絡(luò)法、嶺回歸分析法和遺傳算法等[5]。其中,最小二乘算法以計(jì)算簡單、快速、準(zhǔn)確性高、在線易辨識(shí)等優(yōu)勢被廣泛使用。
陳霄等[6]針對(duì)辨識(shí)參數(shù)中的相消問題,提出了分布式最小二乘法,減少了辨識(shí)參數(shù)的相互抵消現(xiàn)象,但該算法并未考慮USV所受外部噪聲對(duì)模型參數(shù)的影響,因而所辨識(shí)的參數(shù)仍會(huì)產(chǎn)生攝動(dòng)。孫功武等[7]提出了一種動(dòng)態(tài)遺忘因子遞推的最小二乘方法,抑制了外部噪聲對(duì)辨識(shí)參數(shù)精度的影響,但該方法解決的是大噪聲下的模型參數(shù)攝動(dòng)問題,對(duì)小干擾噪聲的影響仍未解決。Zhu等[8]為提高最小二乘算法的魯棒性,使用自適應(yīng)最小二乘辨識(shí)方法,雖然提高了算法在多種環(huán)境下的適應(yīng)性,但USV模型參數(shù)辨識(shí)時(shí)易受噪聲的影響并未改善。為了提高辨識(shí)收斂速度,Xu等[9]使用最小二乘支持向量機(jī)方法提高了在線辨識(shí)速度與參數(shù)收斂速度,實(shí)驗(yàn)結(jié)果表明該算法在小噪聲干擾下具有更快的收斂速度與收斂性,但該方法僅在流速緩慢的內(nèi)河流域進(jìn)行了證明,在復(fù)雜海洋環(huán)境下的適應(yīng)性還未進(jìn)行驗(yàn)證。
本文以USV的時(shí)間序列分析模型為辨識(shí)對(duì)象,考慮USV在海洋環(huán)境下實(shí)際運(yùn)動(dòng)中所受噪聲為有色噪聲的情況,提出了一種輔助變量最小二乘算法(Recursive Least Squares Algorithm with Auxiliary Variables,RIV)辨識(shí)模型參數(shù),并與其他幾種常用的最小二乘算法進(jìn)行對(duì)比,通過仿真與多次實(shí)船實(shí)驗(yàn)驗(yàn)證了在有色噪聲干擾下該辨識(shí)算法的有效性。
根據(jù)野本謙作的研究,常用Nomoto模型的二階線性方程為[10]
式(1)中,K為回轉(zhuǎn)性指數(shù),T1、T2、T3為應(yīng)舵指數(shù),r為USV的轉(zhuǎn)艏角速度,δ為舵角,δ0為偏差舵角。由于轉(zhuǎn)艏角速度、角加速度等信息量不易直接獲取,且最小二乘法更適合辨識(shí)差分方程形式的模型,因此對(duì)式(1)采取后向差分處理,同時(shí)對(duì)轉(zhuǎn)艏角速度等物理量進(jìn)行積分處理,所對(duì)應(yīng)的差分方程為
式(2)中,y(k)=ψ(k)-ψ(k-1),u(k-2)=δ(k-2),c=(b1+b2)δ0。利用方程轉(zhuǎn)換法[10]將式(1)和式(2)做等價(jià)轉(zhuǎn)換,得到如下等價(jià)關(guān)系
但是,分析式(2)可以看出,模型中并未加入噪聲對(duì)模型輸出的影響,所得到的估計(jì)值與實(shí)際值之間會(huì)存在由于噪聲引起的偏差,影響辨識(shí)精度。在式(2)的基礎(chǔ)上加入噪聲量后,得到一種時(shí)間序列分析模型
式(4)中,ψ為實(shí)際航向角,δ為輸入舵角,e為外部噪聲,d為純延遲步數(shù),ai與bj分別為需要辨識(shí)的參數(shù)。因此,USV此時(shí)的航向角可由之前時(shí)刻的航向角與輸入舵角直接計(jì)算得出。模型中的相關(guān)參數(shù)將直接影響模型預(yù)測的輸出,因此如何準(zhǔn)確獲取其中的模型參數(shù)成為了準(zhǔn)確構(gòu)建該模型的關(guān)鍵。
最小二乘算法通過尋找一組模型參數(shù)估計(jì)值,使各次測量的真實(shí)值與由估計(jì)參數(shù)所確定的模型輸出之間誤差的平方和最小。由于最小二乘算法的固有缺陷,當(dāng)外部噪聲為有色噪聲時(shí),最小二乘算法最終的計(jì)算結(jié)果是 “有偏的”,即參數(shù)辨識(shí)值偏離真值,這也將直接影響模型(式(4))的預(yù)測輸出。此外,USV所受外部噪聲無法被直接測量,更無法對(duì)噪聲模型結(jié)構(gòu)進(jìn)行構(gòu)造。因此,本文提出使用輔助變量對(duì)最小二乘算法進(jìn)行改進(jìn),在不需要獲取噪聲量的前提下對(duì)USV的時(shí)間序列模型參數(shù)進(jìn)行辨識(shí),以期獲得參數(shù)的無偏一致估計(jì)。
為了驗(yàn)證有色噪聲對(duì)辨識(shí)參數(shù)的影響,同時(shí)對(duì)比輔助變量對(duì)最小二乘算法的改進(jìn),本文設(shè)計(jì)了如下仿真實(shí)驗(yàn),設(shè)定需辨識(shí)的模型結(jié)構(gòu)為
式(19)中的噪聲模型為
在設(shè)定辨識(shí)參數(shù)值時(shí),參數(shù)值的變化主要影響最大超調(diào)量的大小,其最終過程一般都會(huì)收斂于所設(shè)定的參數(shù)值。因此,為了體現(xiàn)辨識(shí)參數(shù)的變化過程,本文選取小于2的模型參數(shù)進(jìn)行辨識(shí),具體參數(shù)設(shè)置為:a1=-1.5、a2=0.7、b1=1、b2=0.5、c1=0.5、c2=0.2,v為零均值的隨機(jī)噪聲,取計(jì)算次數(shù)為150次。仿真實(shí)驗(yàn)中,本文分別采用一次計(jì)算最小二乘算法(LS)、遞推最小二乘算法(RLS)以及本文所提出的RIV算法,其仿真結(jié)果如圖1所示。
圖1 辨識(shí)結(jié)果對(duì)比Fig.1 Comparison of identification results
由于LS屬于一次計(jì)算方法,其參數(shù)辨識(shí)值僅通過一次計(jì)算得出,因而無法在圖1中體現(xiàn)可獲取到辨識(shí)值的計(jì)算變化過程。圖1中,兩條星型橫線分別代表真實(shí)參數(shù)±10%的誤差帶,設(shè)定當(dāng)辨識(shí)值進(jìn)入到該誤差帶內(nèi)并且此后參數(shù)變化一直在該誤差帶內(nèi),即視為參數(shù)辨識(shí)值辨識(shí)收斂,并將最后一次進(jìn)入誤差帶的計(jì)算次數(shù)視為收斂次數(shù)。此外,為了衡量辨識(shí)算法的穩(wěn)定性,本文使用均方根誤差(RMS)對(duì)參數(shù)變化較為緩慢的第50~150次時(shí)的辨識(shí)偏差進(jìn)行計(jì)算,最終計(jì)算結(jié)果如表1所示。
表1 辨識(shí)計(jì)算結(jié)果Table 1 Results of identification calculation
如表1所示,LS的最小辨識(shí)誤差為16.7%(a1),而其余三個(gè)參數(shù)(a2、b1、b2)的辨識(shí)誤差都在20%以上。與其他兩種算法相比,LS的辨識(shí)結(jié)果較差。同時(shí),由于該算法涉及到高維矩陣的求逆運(yùn)算,故計(jì)算時(shí)間也相對(duì)較長。對(duì)比 RLS與RIV的計(jì)算結(jié)果,由于受到有色噪聲的影響,RLS容易產(chǎn)生辨識(shí)值 “有偏”情況,同時(shí)對(duì)噪聲干擾也更為敏感,導(dǎo)致RLS的辨識(shí)誤差更大,最大誤差可達(dá)31.2%。與之相比,RIV的最大辨識(shí)誤差僅為4.5%,減小了有色噪聲對(duì)辨識(shí)參數(shù)的影響。對(duì)比RLS和RIV的RMS值與收斂次數(shù),并結(jié)合圖1所示,有色噪聲對(duì)RIV所辨識(shí)的參數(shù)影響更小,所辨識(shí)的參數(shù)基本在80次以內(nèi)實(shí)現(xiàn)收斂。并且RLS與RIV的計(jì)算時(shí)間相差不大,但相比于LS,其計(jì)算時(shí)間已經(jīng)有了很大提升。
綜上所述,在仿真階段,RIV可以在不考慮外部有色噪聲模型的前提下快速、準(zhǔn)確地完成模型參數(shù)的辨識(shí),并完成辨識(shí)參數(shù)的一致性估計(jì),具有一定的實(shí)用價(jià)值。
在仿真分析的基礎(chǔ)上,為了驗(yàn)證本文算法對(duì)USV時(shí)間序列模型的實(shí)際辨識(shí)效果,本文在威海某海域一級(jí)海況條件下進(jìn)行了航行實(shí)驗(yàn)。在實(shí)驗(yàn)過程中保持USV以8kn航速勻速航行,航行軌跡為矩形,設(shè)定采樣時(shí)間間隔為0.5s,采集運(yùn)行時(shí)的舵角與航向角信息。根據(jù)式(3)的對(duì)應(yīng)關(guān)系,設(shè)na=2、nb=2、nd=1、d=1。實(shí)驗(yàn)過程中,采用LS、RLS與RIV分別對(duì)模型參數(shù)進(jìn)行辨識(shí),辨識(shí)結(jié)果如圖2所示。
圖2 實(shí)船實(shí)驗(yàn)辨識(shí)結(jié)果Fig.2 Identification results of real ship experiment
如圖2所示,將RIV與RLS的辨識(shí)結(jié)果進(jìn)行對(duì)比,可以發(fā)現(xiàn)在實(shí)際情況下,RIV可以更加快速、準(zhǔn)確地到達(dá)參數(shù)收斂值附近,且整個(gè)過程的參數(shù)波動(dòng)性更小,其詳細(xì)計(jì)算數(shù)據(jù)如表2所示。
表2 參數(shù)辨識(shí)結(jié)果Table 2 Results of parameter identification
如表2所示,除LS辨識(shí)值是一次計(jì)算得來的以外,RLS與RIV的辨識(shí)值都是通過對(duì)第50~150次的辨識(shí)結(jié)果求和平均得來的,收斂時(shí)間則是根據(jù)第3章中10%誤差帶方法計(jì)算得出的。與RLS相比,RIV的辨識(shí)收斂時(shí)間減少約50%。而RLS所辨識(shí)的參數(shù)由于對(duì)噪聲較為敏感,容易出現(xiàn)較大的抖動(dòng)以致無法長時(shí)間收斂。在計(jì)算RMS時(shí),誤差值的來源是將第50~150次辨識(shí)結(jié)果與每一次的辨識(shí)值做差,代表著參數(shù)較穩(wěn)定時(shí)噪聲對(duì)辨識(shí)結(jié)果產(chǎn)生的影響。通過計(jì)算結(jié)果對(duì)比可以看出,在實(shí)際情況下,RIV對(duì)USV所受噪聲干擾的敏感度更低,其參數(shù)收斂性更好。與RLS相比,其整體性能提高約一倍左右,實(shí)驗(yàn)結(jié)果符合第3章的仿真結(jié)果。
為了驗(yàn)證所辨識(shí)參數(shù)的有效性,本文將上述參數(shù)辨識(shí)結(jié)果添加到USV時(shí)間序列分析模型中,得到
式(21)中,ψLS、ψR(shí)LS、ψR(shí)IV為由 USV 之前時(shí)刻真實(shí)舵角信息與航向信息計(jì)算得到的下一時(shí)刻的航向預(yù)報(bào),ψ為每一時(shí)刻真實(shí)采集的航向角信息,δ為舵角信息。將USV保持8kn航速在同一海域、同一海況條件下進(jìn)行Z型航跡跟蹤實(shí)驗(yàn)并采集數(shù)據(jù),采集頻率為2Hz。將采集到的數(shù)據(jù)添加至式(21)中計(jì)算出每一時(shí)刻信息采集后下一時(shí)刻的航向角預(yù)報(bào)信息,并將預(yù)報(bào)信息與實(shí)際航向角做差,得到航向角的預(yù)報(bào)曲線與誤差曲線,如圖3所示。
圖3 實(shí)際航向角預(yù)報(bào)曲線Fig.3 Prediction curves of actual heading angle
如圖3(a)所示,LS、RLS與RIV所辨識(shí)的參數(shù)都可以較為準(zhǔn)確地完成對(duì)航向角的預(yù)報(bào)。但在航向角預(yù)報(bào)誤差方面,通過圖3(b)所示,RIV辨識(shí)參數(shù)所構(gòu)造的模型預(yù)報(bào)誤差更小,預(yù)報(bào)準(zhǔn)確性更高。通過計(jì)算三種算法預(yù)報(bào)航向角誤差的RMS,LS、 RLS 和 RIV 分 別為 1.4314°、 1.3800°和0.8424°,證明了RIV的辨識(shí)結(jié)果在預(yù)報(bào)準(zhǔn)確性方面有了較大提升,準(zhǔn)確度提升約40%。
在實(shí)際海上航行時(shí),USV可能會(huì)出現(xiàn)一段時(shí)間內(nèi)無法獲取實(shí)際定位信息的情況,即導(dǎo)航設(shè)備“失效”狀況,進(jìn)而導(dǎo)致USV無法及時(shí)準(zhǔn)確獲取自身航向狀態(tài)以致控制 “失效”情況的發(fā)生。若模型可在一段時(shí)間內(nèi)保持較高準(zhǔn)確性的航向預(yù)報(bào),則不僅對(duì)于USV控制,同時(shí)對(duì)USV自身安全也有一定的保障。對(duì)式(21)進(jìn)行修改得到
式(22)中的大多數(shù)符號(hào)含義與式(21)中的保持一致,但與式(21)不同的是,USV下一時(shí)刻的航向預(yù)報(bào)是由上一時(shí)刻的航向預(yù)報(bào)計(jì)算得來的,即每次計(jì)算下一時(shí)刻航向角時(shí)不再使用真實(shí)導(dǎo)航數(shù)據(jù)的信息,舵角信息則繼續(xù)使用實(shí)際采集值,最終的計(jì)算結(jié)果如圖4所示。
圖4 航向角迭代預(yù)報(bào)曲線Fig.4 Iterative prediction curves of heading angle
如圖4(a)所示,在5s內(nèi),三種辨識(shí)算法構(gòu)造的模型所預(yù)報(bào)的航向角都較為準(zhǔn)確,模型計(jì)算結(jié)果與實(shí)際航向角結(jié)果基本保持一致。但由于外部有色噪聲對(duì)參數(shù)辨識(shí)結(jié)果產(chǎn)生的影響,導(dǎo)致LS與RLS所辨識(shí)的參數(shù)值與實(shí)際值之間會(huì)存在一定的偏差,以致該參數(shù)誤差在迭代計(jì)算航向角時(shí)會(huì)出現(xiàn)誤差累積問題,使5s后的模型預(yù)報(bào)結(jié)果開始產(chǎn)生較大的偏差,并在5s后有發(fā)散的現(xiàn)象。而RIV可減小外部有色噪聲對(duì)辨識(shí)參數(shù)的影響,使辨識(shí)參數(shù)更為準(zhǔn)確。因此,如圖4(b)所示,RIV最終對(duì)航向角的迭代預(yù)報(bào)在50s內(nèi)都在±6°的誤差帶內(nèi),準(zhǔn)確預(yù)報(bào)時(shí)長提升了一個(gè)數(shù)量級(jí)。通過計(jì)算三種算法預(yù)報(bào)航向角誤差的RMS,LS、RLS和RIV分別為 15.7977°、 14.4672°和 2.9827°, 航向角預(yù)報(bào)整體準(zhǔn)確度也有了較大提升。
綜上,實(shí)驗(yàn)證明了通過RIV所辨識(shí)的參數(shù)在對(duì)USV做出航向預(yù)報(bào)方面,無論是否存在外部信息修正,都可以在更長時(shí)間段內(nèi)以更高的準(zhǔn)確度預(yù)報(bào)USV下一時(shí)刻的航向角信息,也為USV保持自身控制提供了保障。
本文通過對(duì)USV時(shí)間序列分析模型參數(shù)辨識(shí)方法的研究,提出使用了一種輔助變量遞推最小二乘算法。根據(jù)Tally原理對(duì)輔助變量進(jìn)行設(shè)計(jì),并對(duì)算法的無偏一致性進(jìn)行推導(dǎo)。通過對(duì)算法的理論推導(dǎo)和仿真對(duì)比,驗(yàn)證了RIV在不需要辨識(shí)噪聲這一前提下對(duì)模型參數(shù)辨識(shí)的準(zhǔn)確性和有效性,最后通過實(shí)船數(shù)據(jù)辨識(shí)了USV的模型參數(shù)。實(shí)驗(yàn)結(jié)果表明:采用RIV所辨識(shí)的參數(shù)相比一般最小二乘算法更加準(zhǔn)確、有效,在實(shí)際應(yīng)用方面具有一定的參考價(jià)值。