張勛,馬豪伯,徐博,李權明,楊慧影,周佳加
1. 哈爾濱工程大學 自動化學院,黑龍江 哈爾濱 150001 2. 西安衛(wèi)星測控中心,陜西 西安 710043
水下無人航行器(UUV)由于其能夠出色地完成自主規(guī)劃航行而備受軍民領域廣泛關注,并且由于海洋資源開發(fā)要求的逐步提高,UUV 的高速化成為研究方向之一[1]。實驗室中搭載高速推進器的UUV 的航速能夠達到12 kn,推進器電流60 A。由于大功率電動機的使用,UUV 內部空間中的電磁環(huán)境較為復雜,在缺少科學應對措施的情況下,會對其電子裝備造成不同程度的影響[2]。多普勒計程儀(DVL)是水下無人航行器用于自身速度測量、航位推算、定位[3]、導航[4]等方面的重要測量傳感器,一旦出現故障將嚴重影響UUV 的正常航行以至于偏離規(guī)劃航線、速度失控甚至撞毀、沉底。故而研究DVL 失真重構以保障其正常工作具有重要意義,是UUV 安全可靠航行的重要影響因素。
傳感器故障診斷可以分為基于信號處理、基于解析模型、基于數據驅動這3 大類。其中神經網絡擁有強大非線性辨識能力,被廣泛應用于各個工程領域,同樣的適用于復雜的非線性UUV 系統(tǒng),是其故障診斷的重要方法之一。廣義回歸神經 網 絡(general regression neural network,GRNN)是徑向基神經網絡的一種特殊形式,具有非常強大的非線性映射能力以及訓練速度快、只需設置一個參數的特性,被廣泛應用于各種類型的故障診斷工程中,如航空發(fā)動機[5]、變壓器[6]、無人機[7]、離心泵[8]、超外差接收器[9]、伺服閥[10]、航空故障診斷專家系統(tǒng)[11]等。
傳統(tǒng)果蠅優(yōu)化算法(FOA)是一種簡單,有效,應用廣泛的GRNN 參數尋優(yōu)方法,但由于使用UUV 航行數據訓練GRNN,增加了FOA 尋優(yōu)的復雜性,使果蠅尋優(yōu)過程中容易陷入局部極值點,極大地影響了尋優(yōu)時間和收斂精度。為了取得更好的GRNN 參數優(yōu)化效果,需要對果蠅算法進行優(yōu)化。如文獻[12]中針對果蠅搜索方式優(yōu)化的問題,提出了使用向優(yōu)先群組中的各個果蠅位置靠近的全局化更新方式和記憶空間中挑選特定位置搜索的跳出局部極值的方法;文獻[13]中提出群體分割策略,對精英子群引入混沌變量以提升局部搜索能力,對普通子群引入權重因子改進隨機搜索方式以提升全局搜索能力。這些對FOA 的優(yōu)化改進各有利弊,而本文中的改進果蠅優(yōu)化算法(IFOA)引入了雞群優(yōu)化算法(CSO)中的求解高維優(yōu)化問題的思想[14],將果蠅分為3 類分工搜索覓食,根據果蠅子群之間和果蠅個體之間的味道濃度關系,動態(tài)調整果蠅個體的位置更新,使其能夠在優(yōu)化全局搜索的同時兼顧局部搜索,提高算法收斂速度。
UUV 平臺的傳感器檢測與診斷中常見的方法是灰色預測模型法,這是一種根據原始數據序列進行微分擬合的建模方法。文獻[15]中提出使用GM(2,1)預測模型對光纖羅經實現故障檢測,同時使用UUV 數據訓練的GA-BP 神經網絡輸出光纖羅經的重構航向角,雖然這種方法能夠檢測出光纖羅經短時間內故障的發(fā)生并重構光纖羅經信號,但并不一定適合UUV 長時間航行、傳感器復雜變化的故障檢測。而文獻[16]中提出使用傳感器輸出序列的樣本熵(sample entropy,SE)和峭度作為支持向量機的故障分類輸入量,雖然這種方法能夠準確地分辨?zhèn)鞲衅鞴收戏N類,但由于DVL 輸出數據的形式與UUV 的采樣頻率,并不適合直接用于檢測UUV 平臺DVL 信號失真。樣本熵展現出了度量時間序列的復雜性的強大能力,被廣泛應用于振動信號的故障診斷中[17?18],而本文使用樣本熵和IFOA-GRNN 的方法,將神經網絡的強大非線性映射能力和樣本熵對傳感器信號失真實時檢測的優(yōu)勢相結合,對UUV 平臺的DVL 信號失真進行重構,并使用檢測后的DVL信號解算出海流干擾誤差,修正重構信號。
本文研究對象UUV 的執(zhí)行機構主要為一個垂直舵、一對水平舵以及左右主推進器,主要傳感器為多普勒計程儀、慣性導航儀、舵機的編碼器、推進器轉速反饋傳感器以及GPS 接收機。
本文針對搭載高速推進器的水下無人航行器內部電磁場復雜易產生電磁干擾,而造成DVL 信號失真的問題,提出了使用樣本熵和IFOA-GRNN的DVL 失真重構方法。首先使用DVL 正常工作下的UUV 航行歷史數據,訓練IFOA-GRNN 以構建DVL 輸入輸出模型,并通過計算航行時的DVL信號樣本熵,以檢測DVL 信號的失真;其次通過使用DVL 正常工作下的速度信號與IFOA-GRNN的估計速度完成DVL 失真重構的海流干擾修正,最終通過對比GPS 數據,實現DVL 失真下的UUV應急導航如圖1 所示。
圖1 樣本熵和IFOA-GRNN 的重構方法
雞群優(yōu)化算法CSO 是模仿雞群覓食過程的群體智能算法。雞群優(yōu)化算法將雞群分為覓食能力強但適應能力差的公雞、覓食能力與適應能力一般的母雞以及覓食能力差但適應能力強的小雞。其中雞群劃分為公雞主導雞群的覓食搜索方向的若干子群,為全局搜索,其位置更新為
式中: n,g ∈[1,rsize], 且 n ≠g,rsize為子群總數; Xt,j為公雞i在 第t次 迭代過程中的第 j 維值; Rand(0,σ2)表示高斯分布; fi表 示公雞 i當前位置的適應度值;ε為極小數。
而若干母雞則伴隨所在子群的公雞進行覓食搜索,同時還受到其他子群的影響,其位置更新為
式中: r1為 母雞i所 在子群中的公雞索引; r2為其他子群中適應度值優(yōu)于母雞i的所有公雞、母雞的索引; Rand ∈[0,1],為隨機數。
小雞則伴隨母雞覓食搜索,局部搜索能力強,其位置更新為
式中: m為 小雞 i所 屬的母雞索引; η表示小雞跟隨母雞覓食搜索的跟隨系數。
廣義回歸神經網絡在1991 年由Specht D F 提出,是一種特殊形式的徑向基神經網絡,逼近能力更強。其結構分為輸入層、模式層、求和層、輸出層。GRNN 本質上是參數的最大似然估計,并且網絡最后收斂于樣本量積聚最多的優(yōu)化回歸面。
使用最廣泛的GRNN 的參數優(yōu)化算法為果蠅優(yōu)化算法,具體步驟可以參考文獻[13]。作為群體智能算法,盡管其具有實現簡單、涉及參數少以及計算速度快的優(yōu)點,但仍然存在問題需要解決,比如跳出局部最優(yōu)解和提高解空間的遍歷能力。為此引入魯棒性強、準確性高的雞群算法思想,提高FOA 的防止早熟而陷入局部極值的能力,使融合后的算法能夠彌補傳統(tǒng)FOA 的缺陷。
改進后的FOA 需要按照CSO 的劃分方法將果蠅分為3 類A、B、C。其中A 類果蠅不做出改變,在覓食過程中將引導B、C 類果蠅。本文提出的IFOA 的步驟如下。
1)初始化A、B 和C 這3 類果蠅的種群規(guī)模SizepopA 、 SizepopB和 SizepopC,3 類果蠅的隨機初始位置為,迭代的最大次數 MaxGen。
2) A 類果蠅個體利用嗅覺覓食搜索,賦予其搜索方向隨機以及搜索距離:
3) B 類果蠅則分為相應組跟隨A 類果蠅展開搜索:
4) C 類果蠅則圍繞B 類果蠅搜索:
式中 η為C 類果蠅 k對所屬B 類果蠅的跟隨系數。
5)計算3 類果蠅各自與原點的距離 Di以及各自的味道濃度判定值 Si:
6)將3 類果蠅的 Si代入均方根誤差判定函數,計算味道濃度判定值。
7)找出A、B、C 這3 類果蠅群體中味道濃度最優(yōu)的個體,并記錄最佳味道濃度值 bestSmelln和相應位置。
8) A 類果蠅飛向最佳味道濃度對應的位置處開始覓食搜索,迭代次數 n增加,并返回步驟2),直到達到迭代的最大次數 MaxGen,執(zhí)行步驟9)。
9) A、B、C 這3 類果蠅全體的味道濃度最優(yōu)值 bestSmelln對 應的 Si值即為GRNN 的參數。
針對UUV 的運動控制方式及DVL 傳感器的輸出,建立GRNN 輸入量為:左主推轉速反饋 n1、右主推轉速反饋 n2、 左主推電流反饋 I1、右主推電流反饋 I2、 垂直舵舵角反饋 δ1、 水平舵舵角反饋 δ2;輸出量為:UUV 航速u、橫移速度v。訓練樣本選擇UUV 無DVL 失真故障下的正常任務航行數據,并且剔除原始數據中的野值,使用平滑處理后的數據訓練GRNN 神經網絡。
訓練結果如圖2、3 所示??梢钥闯鍪褂脗鹘y(tǒng)的FOA 算法優(yōu)化GRNN 參數的收斂精度略低于使用IFOA,且傳統(tǒng)的果蠅群體易陷入局部極值點而使搜索進度停滯、搜索時間延長。而使用IFOA優(yōu)化GRNN 參數收斂速度快、收斂精度高,算法整體性能優(yōu)于FOA。算法的收斂時間約為傳統(tǒng)果蠅優(yōu)化算法的1/3,精確度略高,搜索路徑更平穩(wěn),提高收斂速度的同時增強了跳出局部極值點的能力。
圖2 IFOA 的搜索軌跡
圖3 IFOA 的RMSE 收斂情況
使用DVL 受到外部磁場的輕微干擾、UUV仍能夠正常航行的一次湖上任務航行數據作為DVL 失真重構的研究數據,如圖4 所示。其中,在0~1 500 拍為DVL 輸出的原始航行數據;在1 500~3 000 拍時,引入DVL 信號失真,此時DVL輸出速度保持不變。
圖4 UUV 速度與估計速度
速度殘差曲線如圖5 所示,GRNN 輸出速度與實際航行速度之差在0.1 m/s,且最大不超過0.2 m/s。由此證明可以使用GRNN 輸出UUV 速度的方法進行DVL 失真重構,并設定失真的殘差閾值為0.2 m/s。
圖5 速度殘差
圖5 中的速度殘差曲線可看到殘差值迅速改變?yōu)樵?.2 m/s 上下波動。這是由于UUV 在任務航行中已經加速至3.2 m/s 并且不停地做出轉向動作,以至于UUV 實際航行速度不停地出現波動,如圖6 所示。
圖6 UUV 任務航行的航向角
由于UUV 實際航行過程中航速變化的復雜性,在引入DVL 信號失真后,不可避免地存在小于設定閾值的速度殘差,直接使用神經網絡與DVL 原始數據的殘差作為診斷依據是不充足的,因此引入樣本熵對DVL 失真進行進一步的故障診斷。
Chman 等于2000 年提出一種用于度量時間序列復雜性的方法?樣本熵(sample entropy)。樣本熵可以度量系統(tǒng)產生新模式的概率大小,定量衡量系統(tǒng)復雜程度和規(guī)則程度,其熵值越大,時間序列復雜程度越大,系統(tǒng)越容易產生新模式;熵值越小,時間序列越簡單,系統(tǒng)產生新模式的概率越小[19]。
當傳感器從正常狀態(tài)過渡到某種故障狀態(tài),故障因素的影響使得傳感器輸出時間序列發(fā)生改變,導致復雜度及規(guī)則度也隨之改變,意味著系統(tǒng)正以某種概率生成新模式。因此,根據樣本熵的定義以及樣本熵與傳感器故障產生形式的一致性,可將樣本熵應用于傳感器的故障特征提取[16]。樣本熵計算步驟可以參考文獻[19?21]。
DVL 傳感器由于受到外部復雜磁場干擾,而產生輸出信號失真,具體表現為傳感器輸出數據無變化,如圖7 所示。
圖7 正常與失真DVL 信號曲線
DVL 傳感器輸出數據頻率與UUV 采集速度信號的頻率不同:DVL 每隔1 s 輸出一次速度信號;UUV 內部每隔0.2 s 采集一次速度信號。為使UUV 與DVL 的信號輸出與采集能夠正常工作,對于DVL 傳感器無輸出的節(jié)拍,使用最近一次DVL 輸出的數據作為采集到的數據。
由于DVL 傳感器輸出數據的特殊形式,使用采集到的DVL 輸出信號前5 拍數據,對圖5 中的DVL 輸出數據計算當前節(jié)拍的樣本熵,如圖8 所示。DVL 輸出的原始數據在正常狀態(tài)下是一組復雜度與規(guī)則度均具有特定規(guī)律的時間序列,有較大的概率產生新模式,其樣本熵值序列呈現出周期變化的三角波形,并且所有樣本熵值都在0.5~0.8。
圖8 DVL 信號的樣本熵
當DVL 發(fā)生輕微失真故障后,UUV 采集到的速度信號將產生新模式的概率將會變小,同時DVL 輸出數據的復雜度和規(guī)則度會相應改變,其樣本熵值迅速變小,如圖8 中的局部放大圖所示。DVL 輸出的速度序列在0~1 500 拍內有多次發(fā)生輕微的失真故障,但由于每次故障狀態(tài)下的節(jié)拍數非常少,引起的速度信號失真并不明顯,因此UUV 仍能夠正常航行。在1 500 拍引入嚴重的失真故障后,DVL 輸出數據不再產生新模式,其樣本熵值迅速減為0,同時可以看到速度殘差發(fā)生較大跳躍,大于設定的閾值0.2 m/s,并且維持了大約200 拍,由此可以斷定DVL 失真故障。
考慮外界海流的干擾后,通過神經網絡得到的UUV 航速將發(fā)生偏差,UUV 航跡將發(fā)生偏離,為此需要對DVL 的信號重構進行相應修正。在一般情況下,試驗水域的海流信息并不會在短時間內發(fā)生大的變化,所以可以將海流信息當作未知的定常值進行估計[22]:
利用文獻[22]中的方法獲取實驗水域的海流信息,以校正DVL 重構的信號,需要在DVL 傳感器正常狀態(tài)下獲取UUV 正確的航行信息。在DVL正常工作的情況下,是直接測得的,而不考慮外界干擾的DVL 重構信號即為,因此可以得出圖9 所示的基于DVL 信號重構的海流估計方法。使用上述方法對圖10、11 中的航行數據進行DVL 失真檢測和DVL 重構修正。
圖9 基于DVL 信號重構的海流估計方法
圖10、11 所示的UUV 航行試驗數據,由于DVL 失真故障,縱向速度U的失真嚴重,對UUV的任務航行的準確性造成了極大影響。根據圖12可以看出DVL 在大部分時間的輸出為失真狀態(tài),只有任務航行開始的1 700 拍左右的一段時間和2 000 拍左右的一段時間的輸出狀態(tài)是正常的。因此選擇UUV 航行過程中這2 段時間的DVL 輸出數據對DVL 重構信號進行海流干擾修正,如圖11 中實線所示。
圖10 前向速度的DVL 失真重構及修正
圖11 橫向速度的DVL 失真重構及修正
圖12 DVL 信號樣本熵
利用修正后的DVL 信號重構輸出數據,來仿真驗證DVL 失真后的UUV 水下航行應急導航。由于UUV 潛入水中,GPS 在航行過程中無法接收數據,只有任務航行開始前和任務航行結束后,UUV 浮出水面的時間能夠接收到數據,因此用這2 段時間的GPS 數據驗證應急導航的準確性,如圖13 所示。其中GPS 數據為只保留小數點一位之后的航行數據。
圖13 GPS 數據
UUV 的航行任務為根據設定的航路使用相應算法進行自動航行,航跡如圖14 所示。但是由于DVL 失真故障而使用錯誤航速數據進行水下航位推算,UUV 水下航行過程中的推算航跡將嚴重偏離規(guī)劃航路。
圖14 UUV 航位推算航跡
為了驗證DVL 重構及修正信號的應急導航可行性,使用航位推算算法對DVL 失真數據進行仿真實驗、對DVL 僅進行重構而無修正的數據進行仿真實驗并對DVL 重構與修正的數據進行仿真實驗,如圖14 所示。未考慮海流干擾的DVL重構信號在進行應急導航仿真實驗時,UUV 大幅偏離了規(guī)劃航路,經過修正后的信號則能夠保證UUV 較好地通過航路。
推算航跡誤差如圖15 所示,UUV 經過規(guī)劃航路的時間約為860 拍。其中考慮海流干擾的航位推算航行軌跡與UUV 規(guī)劃航路的誤差距離約為1×10?4(°),能 夠 滿 足UUV 任 務 航 行 的 精 度 要求;而不考慮海流干擾的航位推算航行軌跡與UUV規(guī)劃航路的誤差約為1×10?3(°),偏離規(guī)劃航路;在DVL 失真情況下的UUV 推算航行軌跡誤差距離約為2.7×10?3(°)。
圖15 推算航跡的誤差距離
1)本文提出的改進果蠅優(yōu)化算法,引入了雞群優(yōu)化算法中的求解高維優(yōu)化問題的思想,將果蠅分為3 類分工搜索覓食。動態(tài)調整果蠅個體的位置更新,使其能夠在優(yōu)化全局搜索的同時兼顧局部搜索,能夠較好地完成GRNN 的參數優(yōu)化。算法的收斂時間約為傳統(tǒng)果蠅優(yōu)化算法的1/3,精確度略高,搜索路徑更平穩(wěn),提高收斂速度的同時增強了跳出局部極值點的能力。
2)而基于樣本熵和IFOA-GRNN 的DVL 信號失真重構方法,將廣義回歸神經網絡的強大非線性映射能力和樣本熵對傳感器信號失真實時檢測的優(yōu)勢相結合,在只有DVL 失真故障情況下能夠較好地重構UUV 航速信息,在DVL 正常工作情況下能更進一步修正DVL 失真故障下的海流干擾誤差,極大提高了修正海流干擾后的DVL 失真重構精度,能夠應用于DVL 失真情況下的UUV應急導航,保障了UUV 安全航行的魯棒性。