顏承昊 林遠山 李 然 于 紅 王 芳
(大連海洋大學信息工程學院 大連 116000)
隨著海洋牧場的發展,深海養殖規模越來越大,深水網箱養殖已成為一種重要的養殖模式[1]。在網箱養殖過程中,存在網衣破損[2]、魚類生長狀態監控[3]等問題,因此十分有必要對網箱開展定期巡檢。
目前,養殖網箱的監測方法主要有:
1)人工潛水法。該方法由潛水員潛入水下對網箱及養殖魚類生長狀態進行查看。水下壓強較大,會對人體心肺等器官造成傷害。
2)定點監測法。該方法在水下安裝攝像頭等定點傳感器,以實現對網箱的觀測[4~7]。定點傳感器長時間處于水下環境,容易被海水腐蝕以及海生物附著,維護成本高。若需維護維修,需要人工潛水拆卸取回,將面臨人工成本高、安全性低等問題。在AUV 巡檢法中,AUV 無需長時間持續在水下運行,即檢即收。這樣降低了故障率,減少維護成本。
3)ROV 巡檢法。該方法通過遙控ROV 執行巡檢任務[8]。ROV 為有纜設備,需要母船支持且需要工作人員長時間的監控屏幕[9~12],人力物力成代價較高。
4)AUV巡檢法。使用AUV對網箱自主巡檢[13],該類方法主要基于慣性導航系統(INS)、全球定位系統(GPS)、多普勒速度儀(DVL)等多傳感器集成[14~18]實現AUV 的導航。這些傳感器要么受限于水下信號衰減的約束,要么本身成本較高,難以大規模推廣應用。
側掃聲吶工作頻率通常為幾十千赫到幾百千赫。在水下環境中,作用距離一般為300m以上,相較于攝像頭等傳感器,信號衰減相對較弱,適合作為水下環境獲取信息的傳感器。在水下難以得到機器人的精確動力學模型。深度強化學習無需建立動力學模型,通過與環境的交互以試錯方式完成策略的學習,適合應用于水下機器人的控制。
基于以上,本文將網箱巡檢問題建模成馬爾可夫決策過程,利用深度強化學習算法PPO訓練得到網箱巡檢控制策略。該方法根據側掃聲吶的感知信息和機器人的速度信息生成觀測狀態,以神經網絡構建控制策略。在獎勵函數設計方面考慮了路徑長度、航向、距離等因素,設計了多約束獎勵函數。基于gym、ros、uuv_simulator 搭建了一個水下網箱養殖仿真環境。在該環境下的仿真結果表明,在學習到的策略的控制下,AUV 能夠實現網箱的自主繞行巡檢,軌跡穩定平滑,驗證了本文方法的有效性。
圖1 所示為養殖網箱模型,網箱巡檢指的是通過控制AUV 環繞網箱運行。AUV 可搭載攝像頭、水質檢測儀等傳感器實現對網箱的監測。使用側掃聲吶作為控制AUV 運動的感知器,由于網箱具有空隙,導致感知數據不能真實反應水下機器人與網箱的關系。為簡化問題,本文做以下兩個假設:

圖1 網箱結構模型
1)假設側掃聲吶不受任何噪聲干擾。
2)假設網箱上有環形帶,使得聲吶所獲取的原始數據皆是關于AUV與網箱關系的有效信息。
本節給出網箱巡檢任務的馬爾可夫決策過程(Markov Decision Process,MDP)形式化表示,包括狀態表示、動作表示、獎勵函數設計和策略網絡設計。網箱巡檢任務即尋找一個累計獎勵函數最大化的策略。
側掃聲吶的側掃范圍為180°,每間隔1°記錄一個感知數據,即側掃聲吶感知的原始數據為一個180 維數據。但原始數據極為單一,不利于機器人學到有效控制策略。狀態信息被設計為一個四元組(min,abs,v,ω),其中min 為180 維數據中最小值,該數值能夠反映出機器人與網箱的距離信息;abs為中軸線左10°、右10°數值差的絕對值,該絕對值能夠反映出機器人與網箱之間的方向關系,選取中軸線的左右角度各為10°,因為在以往實驗中發現這個角度中的聲吶在規定的距離范圍內,始終覆蓋網箱;v 為機器人當前的線速度;ω為機器人當前的角速度。
本文采用連續動作來驅動機器人運動。AUV的控制動作由線速度v 和角速度ω構成,連續動作空間為
作用是為了防止機器人過快或過慢以及瞬間航向偏轉過大。
獎勵函數會直接影響動作的選擇。本文獎勵函數的設計基于以下因素考慮:機器人的巡檢路徑最短、機器人與網箱的距離保持在一定范圍、機器人與網箱的夾角保持在一定范圍。針對上述因素,本文設計了多約束獎勵函數,如式(1)和(2)所示。
當AUV在有效范圍內時:
當AUV超出有效范圍時:
式(1)中,w為權重,控制各獎勵的比例。rforward為對AUV持續前進的獎勵,其值為線速度v;rdirection為對AUV 航向偏離的懲罰,其值為負abs。當abs 值為0 時,機器人航向與網箱圓周平行。當abs 值不為0 時,表示機器人航向偏離網箱。因此采用負abs作為對偏離懲罰;roffset為對AUV與網箱距離的懲罰,AUV 與網箱距離存在一個理想距離,當二者距離小于或大于理想距離時,對其進行懲罰。具體地,以二者實際距離與理想距離的差值的負絕對值作為懲罰;roff為對AUV 脫離有效范圍的懲罰,取值為一個負常數。
本文中,將提取組合后的數組數據作為神經網絡的輸入,因此并不需要卷積神經網絡,所以為減少網絡計算量,縮短訓練時間,文中使用多層感知機神經網絡作為策略網絡。神經網絡圖如圖2 所示,其結構為輸入層1 個神經元;2 個隱藏層,每個隱藏層64個神經元;輸出層2個神經元。輸出層為value值和策略。

圖2 策略網絡圖
網箱巡檢策略學習算法偽代碼如圖3 所示。在每個輪次中,首先初始化策略參數、價值函數參數、裁剪參數。然后開始迭代訓練。使用當前策略控制AUV 運行,得到聲吶的原始感知數據后,對其計算、提取、組合得到輸入觀測狀態;每輪迭代中執行T 個批次采樣,每步交互后獲得經驗數據,其中s't為t時刻AUV 的觀測狀態,at為使用當前策略πθ執行的動作,rt為所執行動作依照多約束獎勵函數獲得的當前獎勵,v(st)為狀態價值,dt表示回合是否結束的標志。采集到的經驗數據存入經驗緩沖池中。最后調用優化算法學習得到最優策略πθ。
算法基于PPO的網箱巡檢
輸入:初始化策略參數θ0,價值函數φ0,裁剪參數?,優化輪次Κ,批次采樣步數Τ,訓練迭代次數Ν
輸出:最優策略πθ
1 forn=0,1,2,…,Νdo
2 初始化環境:得到st
3 對st進行計算、提取、組合:
4 fort=0,1,2,…,Τdo
6st+1,rt,dt← Εnv(at)
8 計算優勢估計Αt
9 end for
10 forκ=0,1,2,…,Κdo
11 通過優化損失函數更新策略參數θ、價值函數參數φ:
13 end for
14 end for
基于gym、ros、uuv_simulator 搭建了一個水下網箱養殖環境。該環境包含水體模型、網箱模型和機器人模型。其中水體模型包含海床、海面、水三個部分,機器人搭載側掃聲吶,側掃聲吶置于機器人側面,如圖3所示。

圖3 水下養殖網箱環境場景
實驗中,機器人距離網箱有效范圍設為[5.5,7.5],當超出這個范圍就結束回合并重置機器人到初始位置。機器人與網箱的理想位置設為6.5。獎勵函數中設置權重w1=w2=w3=w4=1,裁剪參數?設為0.2,批次采樣步數Τ設為1024,輪次Κ設為10。
平均回合獎勵如圖4 所示。隨著回合次數增加,平均獎勵呈增大趨勢。這說明,機器人學習過程中策略得到不斷優化。

圖4 平均回合獎勵
回合長度如圖5所示。在100回合時回合長度呈增加趨勢,隨后下跌,最后在140 回合時,機器人學習到了有效的控制策略。該策略可完成網箱巡檢任務,運行軌跡穩定平滑,由Rviz 繪制的運行軌跡如圖6所示。

圖5 回合長度

圖6 測試案例AUV軌跡
在上述實驗的基礎上,再次進行完善,去掉了網箱的環形帶,對網箱進行加密處理,使其更接近魚網的密度,如圖7所示。

圖7 具有空隙的網箱模型
平均回合獎勵如圖8 所示。隨著回合次數增加,平均獎勵在170回合之前呈上升趨勢,在170回合時達到峰值。這說明,機器人學習過程中策略得到不斷優化。

圖8 平均回合獎勵
回合長度如圖9所示。在170回合時回合長度呈增加趨勢,隨后下跌,最后在170 回合時,機器人學習到了有效的控制策略。該策略可完成網箱巡檢任務,運行軌跡穩定平滑,由Rviz 繪制的運行軌跡如圖10所示。

圖9 回合長度
實驗結果顯示,在具有空隙的情況時,聲吶獲取的感知數據會有輕微誤差,對原始數據中的誤差值進行平均數替換后,機器人可以得到有效的控制策略。
本文針對水下養殖網箱的巡檢問題開展了研究。提出以聲吶作為傳感器,利用深度強化學習算法PPO 解決網箱巡檢問題的思路。根據聲吶的原始感知數據和機器人的速度信息組合生成觀測狀態。策略網絡采用多層感知機模型,獎勵函數的設計綜合考慮了路徑長度、偏移、距離等因素。仿真實驗表明本文方法的有效性,能夠學到有效的控制策略,完成網箱巡檢任務。