張海勝 ,董早鵬 * ,楊 蓮 ,張錚淇 ,齊詩杰 ,李家康
(1.武漢理工大學 高性能艦船技術教育部重點實驗室,湖北 武漢,430063;2.武漢理工大學 船海與能源動力工程學院,湖北 武漢,430063;3.中國船舶集團有限公司 綜合技術經濟研究院,北京,100081)
無人艇具備船型輕巧、操縱靈活、智能化等優良特點,在軍事和民用領域都發揮著強大的作用,一直是近年來各國研究的熱點[1]。在復雜的海洋環境中,準確的運動模型是實現無人艇精確控制的前提和保障,常見的無人艇操縱運動模型主要有整體型模型、分離型模型以及操縱響應模型[2],其中操縱響應模型結構相對比較簡單,可辨識性強,對其操縱性研究具有重要意義。目前,獲取無人艇運動模型參數的方法主要有經驗公式法、約束模實驗法及數值計算法等[3],這些方法普遍存在著一定的局限性: 經驗公式法的精度難以保證;約束模實驗法和數值計算法雖然精度較高,但是會耗費大量的實驗成本[4]。系統參數辨識能夠以較低的試驗成本獲得較好的辨識建模精度,具有廣闊的應用前景。
近年來,傳統的船舶模型參數辨識方法主要有最小二乘類算法[5-9]、極大似然法[10-11]以及卡爾曼濾波法[12-14]等。從船舶運動系統辨識方法的發展趨勢來看,由于噪聲敏感性、參數漂移等傳統辨識方法存在的問題,機器學習辨識方法和各種改進算法是當前的研究熱點[15],許多新算法已被成功應用,包括支持向量機(support vector machine,SVM)及其改進算法[16-21]。
文獻[16]基于SVM 和最小二乘支持向量機(least squares SVM,LSSVM)對船舶操縱與橫搖運動的耦合響應模型進行了辨識,經過仿真驗證,所得響應模型和辨識方法具有良好的預測能力和泛化性能;文獻[17]提出了一種v-SVM 系統辨識建模方法,該方法能夠自動控制支持向量的個數,從而保證解的稀疏性,同時可以緩解噪聲引起的參數漂移或過擬合等問題對模型可靠性的影響;文獻[18]提出了一種最優截斷LSSVM,并對船舶分離型模型進行了辨識,通過降低核矩陣的維數成功地減小了參數的不確定性,且計算量小;文獻[19]使用最優截斷LSSVM 對船舶操縱響應模型的參數進行辨識,并在此基礎上討論了淺水對船舶操縱模型參數的影響;文獻[20]采用人工蜂群算法對SVM 的結構參數進行了優化和分配,提高了SVM 辨識方法的全局尋優能力;文獻[21]提出一種多新息在線的 LSSVM 辨識建模方法,可準確擬合船舶操縱運動的2 階非線性響應模型。
作為SVM 的一種改進方法,LSSVM 具有算法簡單、求解速度快等優勢[22]。在LSSVM 的結構中,偏置b是產生回歸誤差的主要原因,針對這一問題,文獻[22]對偏置b進行了約束,文獻[23]推導出了無偏置的LSSVM,改進后LSSVM 的建模精度均得到了提升。文中研究了LSSVM 及無人艇2 階響應模型的結構,提出了一種新的解決思路,在辨識模型的輸入和輸出上添加相同的余弦信號,在不改變原有參數對應關系的同時,將模型中的常數項轉化為新模型的系數;加權最小二乘支持向量機(weighted least square SVM,WLSSVM)權值函數的系數 ψ對其參數辨識建模精度有著直接的影響。一般可以通過對SVM 類算法的懲罰因子進行尋優[24-26],以達到最佳的辨識效果。由于WLSSVM 的特性,除了可以對其懲罰因子進行尋優外,還可通過改變其權值來影響其辨識建模精度,為了進一步提升辨識建模精度,文中提出了一種變異自適應粒子群(adaptive particle swarm optimization,APSO)算法對WLSSVM 的權值進行尋優,并進行了無人艇20°/20°Z 形仿真實驗和15°/15°實船操舵試驗;以20°/20°Z 形仿真實驗獲得的數據作為訓練集和測試集進行參數辨識建模,將10°/10°Z 形操縱仿真實驗和10°回轉運動仿真實驗獲得的數據作為驗證集對所建立模型的泛化能力進行檢驗,通過將艏向角和艏向角速度的預報值與數據采集得到的值進行對比,驗證了文中方法的有效性。按同樣的思路,以實船試驗數據作為訓練集和測試集,對所提算法進行了驗證。
無人艇操縱響應模型的實質是操舵與艏搖之間的響應關系,其2 階非線性響應模型的形式為
式中:K、T1、T2和T3為操縱性指數;β為非線性項系數;r為艏向角速度;δ為舵角;δr為壓舵角,是為保持無人艇直航對舵角進行的修正。為了方便求解,需要對式(1)進行離散化。采用前向歐拉差分法對、以及進行離散差分,將差分過程代入式(1),移項得到
式中,h為歐拉差分的步長。
將式(2)寫成矩陣形式,即可得到結構為Y=θH的辨識模型,具體表達式為
LSSVM 在SVM 的基礎上利用最小二乘誤差對所有數據進行擬合,把非線性建模過程轉化為求解線性方程組,使得求解過程更加簡便高效。使用線性回歸函數對式(3)的辨識模型進行擬合,可得
式中:w為權值向量;φ(x)為非線性映射函數;b為偏置;i=1,2,···,l,l為數據長度。
LSSVM 對應的優化問題可以表示為
式中,C為懲罰因子。根據代價函數(5)及其約束條件,應用凸二次規劃理論,可以推導出其Lagrange函數為
式中:I1=[1,···,1]1×lT;I2=diag(I1);Y=[Y(1),···,Y(l)]T;α=[α(1),···,α(l)]T;?為LSSVM 的核函數,使用線性核進行LSSVM 的參數辨識,可得
解方程組(7),可以得到Lagrange 乘子 α和偏置b的值,最終得到新的輸出模型
當偏置b→0時,有
由式(3)和式(11)可以解出
在使用LSSVM 算法進行辨識建模時,雖然理論上假設b→0,但是在實際情況下偏置b并不會為零;當LSSVM 算法用于帶常數項模型的參數辨識時,偏置b的存在會對常數項的辨識精度造成顯著影響,這是LSSVM 算法對模型參數 δr的辨識不精確的原因。針對這一問題,在辨識模型,即式(3)中添加周期性的附加信號g(·)對模型進行重新構造,新辨識模型在不改變原有辨識模型參數對應關系的情況下,消除了模型中的常數項,即
式中:g(·)設計為g(t)=Acos(t)+p,A為余弦信號的幅值,p為非常小的正數,取A=10,p=10-20。
2.3.1 WLSSVM 辨識建模
在實際中可以通過權值大小來體現不同數據點的重要程度,這種引入加權思想的LSSVM 算法即為WLSSVM,其優化問題可以表示為
式中,μ(i)∈[0,1]為針對不同樣本的權值,μ(i)越大說明樣本越重要。數據點的Lagrange 乘子 α(i)越大,對模型的影響越大,故采用下式確定權重
式中,η ∈[0,1]為權值系數,可以看出,當 η=1時WLSSVM 與LSSVM 等價。
類似的,WLSSVM 模型對應的KKT 系統可以描述為線性方程組的形式,即
求解式(16),可得WLSSVM 的Lagrange 乘子和偏置的值,按同樣的思路,可以解得WLSSVM的參數辨識結果
2.3.2 基于變異APSO 的WLSSVM 權值尋優
在APSO 算法中,每個粒子位置和速度根據如下方程進行更新[27]
式中: ω為慣性權重;v為粒子速度;t為當前迭代次數;Pbest為個體最優位置;Gbest為種群最優位置;c1,c2為常數,取c1=1.8,c2=1.2;r1,r2∈[0,1]為隨機數。
慣性權重的自適應更新方程為
式中:N為最大迭代次數;ωmin和 ωmax分別為慣性權重的最小值和最大值,取 ωmin=0.4,ωmax=0.8。
文中粒子的位置x即為η的取值,適應度函數設計為WLSSVM 的擬合誤差,當粒子群收斂到使得擬合誤差最小的位置x,即得到最優的η。
若粒子在尋優初始狀態就處于較優位置,那么粒子在尋優時大概率會陷于局部最優狀態。針對這一問題,引入變異策略對APSO 算法進行優化:在每次迭代時,每一個粒子都有概率變異,當Rrand1≥k時,即對該粒子進行變異處理,于是式(19)優化為
式中:xmin和xmax分別為粒子取值范圍的最小值和最大值,取xmin=0,xmax=1,k=0.9;Rrand1,Rrand2∈[0,1]為隨機數。
變異APSO 算法尋優的主要步驟如下:
1) 初始化。在迭代開始前,選擇合適的種群數量(設為20)以及迭代次數(取N=50),然后根據η的取值范圍隨機選取各粒子的位置和速度,限制vmin=-1,vmax=1;
2) 計算各粒子的適應度值;
3) 對各粒子的適應度值與個體歷史最優位置Pbest的適應度值進行比較,Pbest將更新為適應度值更小者當前所在位置;
4) 找出當前種群的最優位置與種群歷史最優位置Gbest,對比兩者的適應度值,Gbest更新為適應度值更小者的位置;
5) 粒子的速度信息按式(18)進行更新,慣性權重變化方式依照式(20),位置則依照式(21)迭代;
6) 在迭代次數未超過N=50時,返回步驟2);超過之后則跳出循環,輸出Gbest和其對應的適應度值。
當權值系數 η=Gbest時,WLSSVM 的辨識建模達到最高精度。
3.1.1 仿真實驗數據采集
采用了文獻[6]中某船舶的2 階非線性響應模型參數,如表1 所示。由于Z 形操縱運動更能夠體現無人艇的操縱性,故基于Matlab 平臺,采用4 階龍格-庫塔法進行了20°/20°Z 形操縱運動仿真實驗,仿真總時間為50 s,采樣步長為0.05 s;艏向角 ψ、舵角 δ以及艏向角速度r數據見圖1。

圖1 20°/20°Z 形操縱運動仿真實驗數據Fig.1 Simulation experimental data of 20°/20° zigzag maneuvering motion

表1 船舶模型參數Table 1 Ship model parameters
3.1.2 基于仿真實驗數據的參數辨識結果
基于20°/20°Z 形仿真實驗數據對所提出的算法進行了驗證。仿真數據中,取懲罰因子C=108。圖2(a)和圖2(b)分別為辨識模型重構前后變異APSO 對WLSSVM 權值系數 η的尋優過程。辨識模型重構前后基于LSSVM 的參數辨識結果,以及辨識模型重構前后基于變異APSO 尋優權值的WLSSVM 參數辨識結果見表2。

圖2 基于仿真數據的變異APSO 尋優Fig.2 Optimization of mutation APSO based on simulation data

表2 基于仿真數據的參數辨識結果Table 2 Parameter identification results based on simulation data
可以看到,應用變異APSO 的WLSSVM 算法能夠快速收斂至最優的權值系數η,使得其辨識效果達到最佳。由于對原始辨識模型尋優的WLSSVM權值系數 η為1,所以原始模型+LSSVM與原始模型+變異APSO-WLSSVM 的效果是等價的,參數辨識結果相同。通過上述基于20°/20°Z 仿真數據的辨識結果可以看出,LSSVM 算法對參數 δr的辨識是不準確的,參數相對誤差達到了100%;辨識模型經過余弦信號重構之后,δr的估計誤差降至0,參數 α的辨識誤差也大大降低,由8.64%降至0.81%。由模型重構+變異APSO-WLSSVM 與模型重構+LSSVM 的參數辨識結果可以看出,結合變異APSO 算法尋優的WLSSVM與LSSVM 相比,參數的辨識誤差整體上有一定程度的降低,參數辨識精度提高。
基于表2 的參數辨識結果,使用4 階龍格庫塔法對參數辨識所建立的各個模型進行艏向角及艏向角速度預報。模型改進前后LSSVM 的預報結果如圖3 所示。

圖3 基于LSSVM 的艏向角及艏向角速度預報Fig.3 Prediction of bow angle and bow angular velocity based on LSSVM
均方根誤差(root mean square error,RMSE)是衡量數據預測誤差的常用指標,能夠很好地體現數據的離散程度。其計算公式為
式中:yi為測量值;為預測值;n為數據個數。
各模型艏向角及艏向角速度預報誤差見表3。

表3 基于仿真實驗數據的辨識建模預報誤差Table 3 Prediction error of identification modeling based on simulation experimental data
3.1.3 模型泛化性能驗證
為驗證模型的泛化能力,基于仿真模型以及辨識建模進行了10°/10°Z 形操縱運動仿真實驗和10°回轉運動仿真實驗,仿真條件與上文一致,對應的艏向角速度仿真結果分別見圖4 和圖5。仿真預報誤差見表4。

圖4 10°/10°Z 形操縱運動艏向角速度仿真Fig.4 Simulation of bow angular velocity of 10°/10° zigzag maneuvering motion

圖5 10°回轉運動艏向角速度仿真Fig.5 Simulation of bow angular velocity of 10° rotary motion

表4 10°/10°Z 形操縱運動及10°回轉運動預報誤差Table 4 Prediction error of 10°/10° zigzag maneuvering motion and 10° rotary motion
通過上述各辨識建模的預報結果可以看到:辨識模型經過重構之后,艏向角及艏向角速度的RMSE 大大降低;對于基于變異APSO 算法進行權值尋優的WLSSVM,其艏向角及艏向角速度的RMSE 相較于LSSVM 得到了進一步降低,但是提升效果并不明顯,這是因為文中仿真實驗數據中,測量值即為真實值,相當于“優質數據”,算法的優越性得不到充分體現。無人艇在實際運動時會受到各種干擾,數據的測量值相對于真實值會有偏差,故仿真數據不能完全代表無人艇實際的運動狀態,考慮到這一點,采集實船試驗數據對所提出算法的魯棒性進行驗證。
3.2.1 實船試驗數據采集
為了驗證所提算法,文中對1 艘噴水推進無人艇開展了實船試驗。辨識建模所需數據為艏向角、艏向角速度以及舵角,艏向角速度由慣性測量單元測得,艏向角由艏向角速度積分得到,舵角由舵機反饋得到。實艇試驗工況為15°/15°操舵試驗,具體試驗方案為: 無人艇在額定航速下,以15°的舵角行駛50 s,然后再以-15°舵角行駛相同的時間,為了避免偶然現象,試驗重復進行4 次,傳感器采樣頻率為0.05 s。在試驗數據中選取了第0~150 s 的數據用于無人艇運動模型參數辨識建模。無人艇部分參數如表5 所示。

表5 無人艇部分參數Table 5 Parameters of the USV
3.2.2 基于實船數據的參數辨識結果
對于實船數據,取懲罰因子C=1010。參數辨識結果見表6。變異APSO 算法的尋優過程如圖6 所示。

圖6 基于實船試驗數據的變異APSO 尋優Fig.6 Optimization of mutation APSO based on actual ship test data

表6 基于實船數據的參數辨識結果Table 6 Parameter identification results based on actual ship data
實船的舵角數據見圖7,以其作為輸入,基于表6 的參數辨識結果,對無人艇艏向角及艏向角速度進行預報,預報結果如圖8 所示,相對于實船試驗數據的預報誤差如表7 所示。

圖7 實船舵角數據Fig.7 Rudder angle data of an actual ship

圖8 基于實船數據的艏向角及艏向角速度預報Fig.8 Prediction of bow angle and bow angular velocity based on actual ship data

表7 基于實船試驗數據的辨識建模預報誤差Table 7 Prediction error of identification modeling based on actual ship experimental data
從圖8 可以看出,對于實船試驗數據,辨識模型余弦重構措施同樣非常有效;不同于仿真數據,基于變異APSO 尋優權值的WLSSVM 預報精度相對于LSSVM 則有較大提升,表7 中艏向角和艏向角速度預報誤差也證明了這一點,所提算法的魯棒性得到了檢驗。
基于LSSVM 對無人艇2 階非線性響應模型進行了研究,提出的辨識模型余弦重構方法,有效解決了LSSVM 對模型中常數項 δr辨識不準的問題,同時其他參數的辨識精度也得到了提升,可以為LSSVM 辨識此類模型提供參照;在辨識模型重構的基礎上,結合變異APSO 尋優權值的WLSSVM算法,可以快速尋找到最佳的權值系數,能夠進一步提升LSSVM 算法的辨識建模精度,且更具魯棒性。研究結果可為通過參數辨識方法建立高精度的無人艇運動模型提供參考。