胡常青,趙京瑞,孫雪嬌,李清洲,唐軍武
(1.青島海洋科學與技術試點國家實驗室,青島266237;2.北京航天控制儀器研究所,北京100039)
無人水面艇(Unmanned Surface Vehicle,USV)運動數學模型是USV系統分析和設計的基礎,高精度的數學模型不僅可以準確預報USV的運動狀態,同時對設計自主控制器也有著重要的意義。在模型結構方面,目前已有分離型[1]、整體型[2]、響應型[3]、時間序列[4]等多種模型結構形式。為了辨識其中的參數,已經有多種系統辨識方法被提出,如最小二乘法、極大似然估計法、神經網絡法、嶺回歸分析法和遺傳算法等[5]。其中,最小二乘算法以計算簡單、快速、準確性高、在線易辨識等優勢被廣泛使用。
陳霄等[6]針對辨識參數中的相消問題,提出了分布式最小二乘法,減少了辨識參數的相互抵消現象,但該算法并未考慮USV所受外部噪聲對模型參數的影響,因而所辨識的參數仍會產生攝動。孫功武等[7]提出了一種動態遺忘因子遞推的最小二乘方法,抑制了外部噪聲對辨識參數精度的影響,但該方法解決的是大噪聲下的模型參數攝動問題,對小干擾噪聲的影響仍未解決。Zhu等[8]為提高最小二乘算法的魯棒性,使用自適應最小二乘辨識方法,雖然提高了算法在多種環境下的適應性,但USV模型參數辨識時易受噪聲的影響并未改善。為了提高辨識收斂速度,Xu等[9]使用最小二乘支持向量機方法提高了在線辨識速度與參數收斂速度,實驗結果表明該算法在小噪聲干擾下具有更快的收斂速度與收斂性,但該方法僅在流速緩慢的內河流域進行了證明,在復雜海洋環境下的適應性還未進行驗證。
本文以USV的時間序列分析模型為辨識對象,考慮USV在海洋環境下實際運動中所受噪聲為有色噪聲的情況,提出了一種輔助變量最小二乘算法(Recursive Least Squares Algorithm with Auxiliary Variables,RIV)辨識模型參數,并與其他幾種常用的最小二乘算法進行對比,通過仿真與多次實船實驗驗證了在有色噪聲干擾下該辨識算法的有效性。
根據野本謙作的研究,常用Nomoto模型的二階線性方程為[10]

式(1)中,K為回轉性指數,T1、T2、T3為應舵指數,r為USV的轉艏角速度,δ為舵角,δ0為偏差舵角。由于轉艏角速度、角加速度等信息量不易直接獲取,且最小二乘法更適合辨識差分方程形式的模型,因此對式(1)采取后向差分處理,同時對轉艏角速度等物理量進行積分處理,所對應的差分方程為

式(2)中,y(k)=ψ(k)-ψ(k-1),u(k-2)=δ(k-2),c=(b1+b2)δ0。利用方程轉換法[10]將式(1)和式(2)做等價轉換,得到如下等價關系

但是,分析式(2)可以看出,模型中并未加入噪聲對模型輸出的影響,所得到的估計值與實際值之間會存在由于噪聲引起的偏差,影響辨識精度。在式(2)的基礎上加入噪聲量后,得到一種時間序列分析模型

式(4)中,ψ為實際航向角,δ為輸入舵角,e為外部噪聲,d為純延遲步數,ai與bj分別為需要辨識的參數。因此,USV此時的航向角可由之前時刻的航向角與輸入舵角直接計算得出。模型中的相關參數將直接影響模型預測的輸出,因此如何準確獲取其中的模型參數成為了準確構建該模型的關鍵。
最小二乘算法通過尋找一組模型參數估計值,使各次測量的真實值與由估計參數所確定的模型輸出之間誤差的平方和最小。由于最小二乘算法的固有缺陷,當外部噪聲為有色噪聲時,最小二乘算法最終的計算結果是 “有偏的”,即參數辨識值偏離真值,這也將直接影響模型(式(4))的預測輸出。此外,USV所受外部噪聲無法被直接測量,更無法對噪聲模型結構進行構造。因此,本文提出使用輔助變量對最小二乘算法進行改進,在不需要獲取噪聲量的前提下對USV的時間序列模型參數進行辨識,以期獲得參數的無偏一致估計。



為了驗證有色噪聲對辨識參數的影響,同時對比輔助變量對最小二乘算法的改進,本文設計了如下仿真實驗,設定需辨識的模型結構為

式(19)中的噪聲模型為

在設定辨識參數值時,參數值的變化主要影響最大超調量的大小,其最終過程一般都會收斂于所設定的參數值。因此,為了體現辨識參數的變化過程,本文選取小于2的模型參數進行辨識,具體參數設置為:a1=-1.5、a2=0.7、b1=1、b2=0.5、c1=0.5、c2=0.2,v為零均值的隨機噪聲,取計算次數為150次。仿真實驗中,本文分別采用一次計算最小二乘算法(LS)、遞推最小二乘算法(RLS)以及本文所提出的RIV算法,其仿真結果如圖1所示。


圖1 辨識結果對比Fig.1 Comparison of identification results
由于LS屬于一次計算方法,其參數辨識值僅通過一次計算得出,因而無法在圖1中體現可獲取到辨識值的計算變化過程。圖1中,兩條星型橫線分別代表真實參數±10%的誤差帶,設定當辨識值進入到該誤差帶內并且此后參數變化一直在該誤差帶內,即視為參數辨識值辨識收斂,并將最后一次進入誤差帶的計算次數視為收斂次數。此外,為了衡量辨識算法的穩定性,本文使用均方根誤差(RMS)對參數變化較為緩慢的第50~150次時的辨識偏差進行計算,最終計算結果如表1所示。

表1 辨識計算結果Table 1 Results of identification calculation
如表1所示,LS的最小辨識誤差為16.7%(a1),而其余三個參數(a2、b1、b2)的辨識誤差都在20%以上。與其他兩種算法相比,LS的辨識結果較差。同時,由于該算法涉及到高維矩陣的求逆運算,故計算時間也相對較長。對比 RLS與RIV的計算結果,由于受到有色噪聲的影響,RLS容易產生辨識值 “有偏”情況,同時對噪聲干擾也更為敏感,導致RLS的辨識誤差更大,最大誤差可達31.2%。與之相比,RIV的最大辨識誤差僅為4.5%,減小了有色噪聲對辨識參數的影響。對比RLS和RIV的RMS值與收斂次數,并結合圖1所示,有色噪聲對RIV所辨識的參數影響更小,所辨識的參數基本在80次以內實現收斂。并且RLS與RIV的計算時間相差不大,但相比于LS,其計算時間已經有了很大提升。
綜上所述,在仿真階段,RIV可以在不考慮外部有色噪聲模型的前提下快速、準確地完成模型參數的辨識,并完成辨識參數的一致性估計,具有一定的實用價值。
在仿真分析的基礎上,為了驗證本文算法對USV時間序列模型的實際辨識效果,本文在威海某海域一級海況條件下進行了航行實驗。在實驗過程中保持USV以8kn航速勻速航行,航行軌跡為矩形,設定采樣時間間隔為0.5s,采集運行時的舵角與航向角信息。根據式(3)的對應關系,設na=2、nb=2、nd=1、d=1。實驗過程中,采用LS、RLS與RIV分別對模型參數進行辨識,辨識結果如圖2所示。


圖2 實船實驗辨識結果Fig.2 Identification results of real ship experiment
如圖2所示,將RIV與RLS的辨識結果進行對比,可以發現在實際情況下,RIV可以更加快速、準確地到達參數收斂值附近,且整個過程的參數波動性更小,其詳細計算數據如表2所示。

表2 參數辨識結果Table 2 Results of parameter identification
如表2所示,除LS辨識值是一次計算得來的以外,RLS與RIV的辨識值都是通過對第50~150次的辨識結果求和平均得來的,收斂時間則是根據第3章中10%誤差帶方法計算得出的。與RLS相比,RIV的辨識收斂時間減少約50%。而RLS所辨識的參數由于對噪聲較為敏感,容易出現較大的抖動以致無法長時間收斂。在計算RMS時,誤差值的來源是將第50~150次辨識結果與每一次的辨識值做差,代表著參數較穩定時噪聲對辨識結果產生的影響。通過計算結果對比可以看出,在實際情況下,RIV對USV所受噪聲干擾的敏感度更低,其參數收斂性更好。與RLS相比,其整體性能提高約一倍左右,實驗結果符合第3章的仿真結果。
為了驗證所辨識參數的有效性,本文將上述參數辨識結果添加到USV時間序列分析模型中,得到

式(21)中,ψLS、ψRLS、ψRIV為由 USV 之前時刻真實舵角信息與航向信息計算得到的下一時刻的航向預報,ψ為每一時刻真實采集的航向角信息,δ為舵角信息。將USV保持8kn航速在同一海域、同一海況條件下進行Z型航跡跟蹤實驗并采集數據,采集頻率為2Hz。將采集到的數據添加至式(21)中計算出每一時刻信息采集后下一時刻的航向角預報信息,并將預報信息與實際航向角做差,得到航向角的預報曲線與誤差曲線,如圖3所示。

圖3 實際航向角預報曲線Fig.3 Prediction curves of actual heading angle
如圖3(a)所示,LS、RLS與RIV所辨識的參數都可以較為準確地完成對航向角的預報。但在航向角預報誤差方面,通過圖3(b)所示,RIV辨識參數所構造的模型預報誤差更小,預報準確性更高。通過計算三種算法預報航向角誤差的RMS,LS、 RLS 和 RIV 分 別為 1.4314°、 1.3800°和0.8424°,證明了RIV的辨識結果在預報準確性方面有了較大提升,準確度提升約40%。
在實際海上航行時,USV可能會出現一段時間內無法獲取實際定位信息的情況,即導航設備“失效”狀況,進而導致USV無法及時準確獲取自身航向狀態以致控制 “失效”情況的發生。若模型可在一段時間內保持較高準確性的航向預報,則不僅對于USV控制,同時對USV自身安全也有一定的保障。對式(21)進行修改得到

式(22)中的大多數符號含義與式(21)中的保持一致,但與式(21)不同的是,USV下一時刻的航向預報是由上一時刻的航向預報計算得來的,即每次計算下一時刻航向角時不再使用真實導航數據的信息,舵角信息則繼續使用實際采集值,最終的計算結果如圖4所示。


圖4 航向角迭代預報曲線Fig.4 Iterative prediction curves of heading angle
如圖4(a)所示,在5s內,三種辨識算法構造的模型所預報的航向角都較為準確,模型計算結果與實際航向角結果基本保持一致。但由于外部有色噪聲對參數辨識結果產生的影響,導致LS與RLS所辨識的參數值與實際值之間會存在一定的偏差,以致該參數誤差在迭代計算航向角時會出現誤差累積問題,使5s后的模型預報結果開始產生較大的偏差,并在5s后有發散的現象。而RIV可減小外部有色噪聲對辨識參數的影響,使辨識參數更為準確。因此,如圖4(b)所示,RIV最終對航向角的迭代預報在50s內都在±6°的誤差帶內,準確預報時長提升了一個數量級。通過計算三種算法預報航向角誤差的RMS,LS、RLS和RIV分別為 15.7977°、 14.4672°和 2.9827°, 航向角預報整體準確度也有了較大提升。
綜上,實驗證明了通過RIV所辨識的參數在對USV做出航向預報方面,無論是否存在外部信息修正,都可以在更長時間段內以更高的準確度預報USV下一時刻的航向角信息,也為USV保持自身控制提供了保障。
本文通過對USV時間序列分析模型參數辨識方法的研究,提出使用了一種輔助變量遞推最小二乘算法。根據Tally原理對輔助變量進行設計,并對算法的無偏一致性進行推導。通過對算法的理論推導和仿真對比,驗證了RIV在不需要辨識噪聲這一前提下對模型參數辨識的準確性和有效性,最后通過實船數據辨識了USV的模型參數。實驗結果表明:采用RIV所辨識的參數相比一般最小二乘算法更加準確、有效,在實際應用方面具有一定的參考價值。