?

基于數據融合的無人帆船真風計算方法

2024-03-14 03:42何成龍遲書凱宇文國樸胡新遙魏鵬飛
水下無人系統學報 2024年1期
關鍵詞:帆船風向卡爾曼濾波

何成龍,遲書凱,宇文國樸,胡新遙,魏鵬飛,黎 明

(中國海洋大學 工程學院,山東 青島,266500)

0 引言

風是無人帆船移動海洋觀測平臺的唯一動力來源,在帆船航行過程中,根據真風風向劃分出若干個航行區域,帆船需要通過真風風向和航向的關系來判斷帆船目前所處區域,從而采取相應控制策略。如當真風風向和航向相反時,即帆船處于逆風區域,則帆船應采用Z 字搶風航行策略,避開該區域[1]。然而,真風在無人帆船等運動平臺上無法直接測量,只能依靠航行風和相對風速度矢量計算來獲取。航行風是帆船航行時所產生的風,其大小與帆船航速相等,方向與帆船航速相反(航速一般由全球定位系統(global positioning system,GPS)提供)。相對風是船載風傳感器測量的風,目前海洋運動平臺上風向風速測量采用的是機械式風速儀、超聲波風速儀和紅外線風速儀等[2]。然而,這些風速儀測量不僅受自身精度影響,還受各種海流、平臺姿態以及安裝位置的影響,特別是超聲波風速儀對姿態的依賴性較高。帆船航行時的橫滾和俯仰等運動、風傳感器自身精度以及環境噪聲等因素對相對風的準確測量會產生極大影響[3],因此,深入研究真風計算的方法和技術,進一步提高風帆控制系統的穩定性,對推動無人帆船技術的發展有重要意義。

目前,針對海洋運動平臺上的真風測算和風向風速測量問題已有諸多研究成果。文獻[4]基于相對風-船運動復合的測量方法,提出了船舶風向風速測量系統的總體測量方案,搭建的船舶真風風向風速測量系統適用于船舶風速風向的準確測量。文獻[5]通過橫向和縱向搖擺標定模塊聯動模擬船舶在風浪流擾動下的船體空間運動,形成了以搖擺角度和搖擺速度為變量的船舶真風風向風速標定數據庫。文獻[6]提出了基于多變量的非線性擬合補償算法,實現船舶不同搖擺角度和搖擺速度下的風速風向高準確度動態測量。文獻[7]提出一種基于空間模型的風速風向測量誤差補償算法,分析了傳感器橫滾和俯仰的角度變化對風向風速測量結果的影響,并通過實驗驗證了補償算法的有效性。文獻[8]設計了一種船舶風速風向動態測量及誤差補償的數字仿真系統,對船舶橫滾、俯仰狀態下的風速風向動態測量進行了誤差補償。仿真結果表明,所提方法能夠消除運動姿態帶來的風速風向測量影響。文獻[9]提出了一種基于動態權值的數據融合算法,解決了船舶氣象儀風傳感器相對風融合計算的問題。文獻[10]提出了基于改進卡爾曼濾波的空氣溫度數據融合算法,并通過仿真實驗證明改進的算法在抗干擾和穩定性方面有良好的表現。

綜上所述,目前針對船舶姿態變化引起真風測算存在誤差的問題,現有的研究方法大多集中于研究船舶姿態和風向風速之間的關系,引入修正量或者利用擬合算法進行補償,但是這些方法并未涉及利用姿態信息通過空間坐標旋轉變換矯正提高風傳感器相對風的測量精度。在真風計算時,也未涉及利用融合算法增加真風測算的準確性和可靠性。因此,文中提出一種基于數據融合的真風計算方法。首先,利用空間坐標旋轉變換方法實現平臺姿態對風向風速的矯正;其次,針對由于傳感器精度以及安裝位置影響等所產生的誤差進行卡爾曼濾波;最后,利用相對風、航行風以及姿態等信息通過擴展卡爾曼濾波算法進行真風融合計算,實現滿足無人帆船應用需求的真風風向風速測量。

1 基本原理

無人帆船航行時需要根據真風數據進行風帆控制,以滿足帆船的控制需求,但帆船在海上航行時無法通過傳感器直接測得真風數據,需要根據帆船速度矢量三角形計算。帆船平穩航行時,船載風傳感器在船上感知的風為相對風(也稱表觀風速),其風向記為WAWD,風速記為VAWS。自然界真正的風為真風,其方向記為WTWD,風速記為VTWS。由帆船航行所產生的風為航行風,其方向記為WSWD,與帆船航行方向相反,風速記為VSWS,與船速相等。圖1 顯示了航行風、相對風和真風三者的速度矢量三角形,在航行風和相對風已知的情況下,可通過速度矢量三角形計算出真風[11-12]。

圖1 速度三角形Fig.1 Velocity triangle

建立大地平面直角坐標系,風向和航向均以大地正北為0°,以順時針旋轉角度增加到360°,如圖1所示。在進行無人帆船風帆控制時,其控制器的輸入為真風風向和風速,通過余弦定理可得

然而,帆船在海上航行時,船體由于風、浪、流等作用,姿態變化大,使得超聲波風向風速儀所測相對風數據誤差較大。因此,首先針對由于無人帆船姿態改變所引起的相對風風向風速測量產生的誤差,采用基于空間旋轉坐標系變換的方法進行風向風速矯正。同時針對傳感器精度、安裝位置等產生的誤差利用卡爾曼濾波方法進行濾波,計算出真風風向,最后通過擴展卡爾曼濾波將相對風和航行風數據融合計算出真風。設計系統如圖2 所示。

圖2 設計系統整體框圖Fig.2 Overall block diagram of the designed system

2 姿態矯正與數據濾波

針對船載風傳感器所測風速風向數據存在較大誤差問題,進行真風風速融合計算之前,需要對該數據進行姿態矯正和濾波,為風速融合做好數據準備工作。

2.1 姿態矯正

利用空間坐標旋轉變換方法實現帆船姿態對風向風速的矯正??臻g坐標旋轉是指將一個坐標系通過坐標旋轉矩陣轉換到另一個坐標系下,實現坐標變換[13],如圖3 所示,其中坐標系O-XYZ和O′-X′Y′Z′坐標系分別定義為帆船姿態發生變換前后所在的坐標系。在坐標系O-XYZ中,OX軸為船頭方向,OY軸垂直于帆船左舷向外,O-XY平面位于海平面,OZ軸垂直于O-XY平面指向地心的相反方向。

圖3 空間坐標旋轉Fig.3 Space coordinate rotation

帆船姿態位置變化包括艏偏運動、橫滾運動和俯仰運動等,其中繞OX軸旋轉的運動為橫滾運動,旋轉角為橫滾角,記為α;繞OY軸旋轉的運動為俯仰運動,旋轉角為俯仰角,記為β ;繞OZ軸旋轉的運動為艏偏運動,旋轉角為偏航角,記為γ。對于因帆船姿態位置發生變換而引起的測量誤差,可利用旋轉坐標轉換思想把相對風數據矯正到帆船水平姿態時的狀態。

對于在大地坐標系下的任意向量P=(x,y,z),可通過旋轉矩陣R獲得隨船坐標系下的P′=(x′,y′,z′),即P=RP′,其中R為旋轉正交矩陣,即RT=R-1。R的值可通過坐標軸下3 個旋轉矩陣的疊加來獲取,即

因此,當帆船姿態發生變化時,風傳感器的空間位置發生變化,此時在隨船坐標系下測得的風向量為P′,則可通過旋轉矩陣求出大地坐標系下的P為

通過矯正后的向量P可以計算出風速V和風向θ分別為

2.2 自適應卡爾曼濾波

帆船在航行時,風傳感器所測風向風速波動復雜,在進行卡爾曼濾波時要判斷風向和風速的變化原因。如果變化是由噪聲引起的,則需要進行濾波抑制;如果是由風向風速本身的變化引起的,則需要進行跟隨。文中選取2 種不同參數進行卡爾曼濾波。

卡爾曼濾波算法分為時間更新方程和狀態更新方程[14]。

時間更新方程為

狀態更新方程為

式中:N為觀測噪聲協方差矩陣,代表傳感器的不準確性,與傳感器的特性有關,一般為定值,文中取N=0.03;Q為測量噪聲協方差矩陣,是由各種不確定的噪聲引起的;K為卡爾曼增益。N和Q分別代表對預測值和測量值的置信度,通過影響K的值,進而影響預測值和測量值的權重。文中Q越大,表明對于預測值更信任,對風向風速的變化越敏感,反之則對觀測值更信任,對噪聲的反應越遲鈍。文中分別采用Q1=0.000 1,N1=0.03,Q2=0.1,R2=0.03這2 組不同的參數進行卡爾曼濾波。對于不同的參數,在判斷風向和風速本身發生變化時卡爾曼濾波能夠很好地跟隨,而對由帆船搖擺和測量噪聲等產生的波動則會進行抑制。圖4 和圖5為以風向為例,選用不同參數的卡爾曼濾波效果,綠色線代表此時風向風速發生了突變。

圖4 第1 組參數濾波效果Fig.4 Filter effect of group 1 parameters

圖5 第2 組參數濾波效果Fig.5 Filter effect of group 1 parameters

由圖可知,選用第1 組參數對噪聲的抑制效果較好,對風向的跟隨效果較差;選用第2 組參數對風向的跟隨效果較好,對噪聲的抑制效果較差。為同時保證噪聲抑制效果和跟隨效果,設計參數自適應卡爾曼濾波算法,參數選用判定如圖6 所示,可實現不同情況下參數的自動切換。其原理是: 開始進行卡爾曼濾波時,保存風向數據的第1個值即 Temp=X(k),k=1,與下一時刻的風向數據作差取絕對值,即E=abs[Temp-X(k+1)],如果E>Th(Th為設定閾值,根據判定不同航行區域的死區時間來確定)則標志位 flag加1,否則卡爾曼濾波就采用第1 組參數,flag置 0;當flag=SetValue(S etValue根據風帆電機從執行命令到命令執行結束的時間(即1 個控制周期)來規定)時采用第2 組參數,同時更新 Temp=X(k),flag置 0,如果flag ≠SetValue則繼續采用第1 組參數,如此往復直到程序運行結束。

圖6 參數選用判定流程圖Fig.6 Flow chart of parameter selection judgment

圖7為使用上述算法的卡爾曼濾波結果圖,可以從圖中看出,濾波之后的風向數據不僅可以較好地抑制噪聲,還能對風向發生變化時的數據進行快速跟隨,效果良好。

圖7 參數自適應卡爾曼濾波效果Fig.7 Effect of parameter adaptive Kalman filter

3 基于擴展卡爾曼濾波的真風數據融合方法

真風數據可通過相對風和航行風計算模型得到,針對相對風和航行風的測量存在較大誤差的問題,文中利用擴展卡爾曼對相對風和航行風進行融合計算[15-16],從而得到滿足風帆控制需求的真風風向和風速。

3.1 系統描述方程

離散非線性系統的狀態方程可描述為

式中:X(k)為狀態向量;Z(k)為觀測向量;f(·)和h(·)分 別為系統非線性狀態函數和觀測函數;W(k)和V(k)分別為過程噪聲和觀測噪聲,假定兩者都為均值為零的高斯白噪聲且是相互獨立的序列。

3.2 速度融合

建立速度融合[17]數學模型,其系統狀態方程為

將式中的X(k)取為x1=VSWS,x2=VAWS;狀態轉移方程Φ (k)取為

其系統觀測方程為

將真風計算模型

作為系統觀測方程,則有

由上述系統模型可以看出,系統狀態方程是線性的,對 Φ(k)的求解不用進行線性化處理,但觀測方程是非線性的,因此,對真風風速的計算是一個非線性估計問題,可采用擴展卡爾曼濾波器進行濾波估計。根據式(15)給出的線性化方法可將該非線性方程線性化,可以求出其雅克比矩陣為

4 實驗與結果分析

4.1 實驗平臺搭建

為驗證文中所提方法,搭建了帆船運動狀態的風速風向測量模擬平臺,如圖8 所示。該平臺包括轉臺、風扇、超聲波風速風向傳感器、姿態儀以及計算機等。其中: 轉臺為機械式三自由度轉臺,用于模擬帆船的橫滾和俯仰狀態;風扇用于產生固定風向和風速;風傳感器共2 臺,1 臺用于固定測量風扇的風速風向以作為真風標準值,1 臺搭載在轉臺上用于模擬帆船搭載傳感器運動過程中的測量狀態;姿態儀用于采集風傳感器的橫滾角和俯仰角;計算機用于處理采集數據。

圖8 實驗平臺Fig.8 Experiment platform

實際航行過程中,航行風風向風速通過帆船搭載的GPS 提供,相對風數據則是由風傳感器測量所得。實驗中,將風扇產生的固定風向風速作為相對風數據,通過風傳感器實時測量,分別給定航行風向為0°和45°,航行風速利用基準值加白噪聲的方法模擬給出,分別為0、0.5、1 和2 m/s。利用轉臺模擬帆船的搖擺動作,并分別固定橫滾角和俯仰角為-15°、-10°、-5°、5°、10°和15°。首先利用空間坐標旋轉對風向和風速進行矯正,以驗證風數據矯正方法的有效性;其次,利用卡爾曼算法進行濾波;最后將相對風和航行風通過擴展卡爾曼濾波進行融合計算,再與理論值計算進行比較,驗證所提方法的有效性。實驗框圖如圖9 所示。

圖9 實驗框圖Fig.9 Experiment block diagram

4.2 實驗結果分析

4.2.1 風向風速矯正結果

當俯仰角為0°時,橫滾角分別為-15°、-10°、-5°、15°、10°和5°時風向風速測量及矯正濾波結果如圖10 所示,共有6 組圖,每個橫滾角下有2 組結果圖,左圖為姿態矯正之后的結果圖,其中藍色表示平穩狀態下的標準值,綠色是風傳感器測量值,紅色是對測量值的矯正結果;右圖為卡爾曼濾波之后的結果圖,其中藍色代表對測量值的矯正結果,紅色代表濾波之后的結果,為了能夠明顯看出矯正前和矯正后的區別,對風傳感器測量值也進行了濾波,圖中用綠色表示。由圖可知,風傳感器在橫滾角發生變化時其測量結果與基準值有明顯誤差,并且橫滾角偏移越大風傳感器測量數據的誤差越大。經文中所提方法矯正濾波之后,其風向誤差控制在±3°左右,風速誤差小于0.1 m/s,效果良好。圖11為橫滾角為0°時,俯仰角分別為-15°、-10°、-5°、15°、10°和5°時測量及矯正濾波結果。

圖11 橫滾角0°時不同俯仰角風向風速矯正結果Fig.11 Correction results of wind direction and speed for different pitch angles with a roll angle of 0°

由圖可知,俯仰角發生變化時也會出現俯仰角偏移越大風傳感器測量數據誤差越大的情況,通過矯正濾波后風向誤差控制在±3°左右,風速誤差小于0.1 m/s,效果良好,滿足控制系統所要求的精度。

4.2.2 真風融合計算結果

設定相對風為恒定值,風速2.1 m/s,風向185°,設定航行風速分別為0、0.5、1 和2 m/s,風向分別為0°和45°,進行真風融合實驗,得到結果如圖12 所示。

圖12 真風融合結果Fig.12 True wind fusion results

當相對風向為185°,相對風速為2.1 m/s,航行風向為0°,航行風速分別為0、0.5、1 和2 m/s 時,通過真風計算公式(無噪聲干擾的理想情況下)可以算出其對應真風風向和風速分別為185°,2.1 m/s;186°,2.6 m/s;186.7°,3.1 m/s;187.5°,4.1 m/s。如圖12 所示,其中圖12 中每組圖的上圖為擴展卡爾曼濾波融合后的真風風速結果,下圖為真風風向結果,可以看出結果跟理想情況下的結果非常接近。由圖13(a)可知,真風風速收斂之后誤差小于0.1 m/s,真風風向誤差小于2°,融合效果良好。其他條件不變,當航行風向設為45°,理想情況下通過真風計算公式可以算出其對應真風風向和風速分別為185°,2.1 m/s;192.4°,2.5 m/s;198°,3.0 m/s;204.5°,3.9 m/s。通過圖12(b)可以看出,融合結果跟理想情況下的理論結果非常接近,并由圖13(b)可知,真風風速收斂之后誤差小于0.1 m/s,真風風向計算誤差收斂之后小于2°,融合效果良好。

圖13 真風融合結果誤差Fig.13 True wind fusion result error

5 結論

針對真風獲取困難的問題和無人帆船運動對風傳感器所測相對風的影響,文中提出了一種基于數據融合的真風計算方法。該方法通過姿態儀獲得的俯仰角和橫滾角,利用空間坐標旋轉變換方法對相對風進行矯正,并將航行風和矯正后的相對風進行卡爾曼濾波。矯正濾波之后的風向和標準風向誤差控制在±3°,風速誤差絕對值小于0.1 m/s。最后通過擴展卡爾曼濾波進行真風融合計算。結果表明,通過擴展卡爾曼濾波真風融合計算所得的真風風向誤差在±2°,風速誤差絕對值小于0.1 m/s,滿足無人帆船風帆控制系統的要求。文中方法已通過實驗驗證了其有效性,但還未進行海上實航試驗,后續將利用帆船海上試驗進行進一步驗證。

猜你喜歡
帆船風向卡爾曼濾波
帆船
基于遞推更新卡爾曼濾波的磁偶極子目標跟蹤
自然與風Feeling Nature
環保小帆船
找帆船
行業統計帶來哪些風向?
基于模糊卡爾曼濾波算法的動力電池SOC估計
帆船
基于擴展卡爾曼濾波的PMSM無位置傳感器控制
風向
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合