楊 曉,王 敏
深海集礦機工作在富積礦產的深海海底,由于作業環境的影響,無法由駕駛員直接操作和控制,面對如此復雜的海底環境,為保證系統高效快速安全的工作,機器必須具備完成其自身運行路徑的實時、有效判斷和智能控制,主要包括行走過程中發現障礙物后實施避障行為和繞開障礙物后回到預定開采路徑繼續進行采礦兩大部分[1]。集礦機前端數據采集模型應具備自主避障導航的功能,使得機構能快速高效的實現避障和導航功能。因此,對避障導航機構進行軟硬件設計研究,具有重要意義。
國內外學者取得了一定的成果:文獻[2]從單幅圖像中提取已知的障礙物,實現沿障礙物邊緣行走;文獻[3]采用遺傳算法對機器人進行設計,實現機構的避障;文獻[4]基于在環試驗系統,利用海底模型對試驗樣機進行避障導航分析,已驗證控制系統的有效性。
根據系統要求,設計前端采集系統,給出了集礦機導航避障所需的下位機前端硬件采集系統,根據實際情況給出了導航避障控制系統的詳細設計流程,并以此為基礎,采用LabVIEW和Matlab混合編程的方法,設計了實現軟件和硬件相連的LabVIEW上位機控制程序;將BP神經網絡成功地導入了LabVIEW的編程界面;同時,經過圖形化編程實現了網絡輸入模式識別,對控制系統進行可靠性驗證。
目前,集礦機方向導航中應用較多的為磁羅經羅盤、電位機羅盤和數字羅盤[5-6],特別適合測弱磁,基本滿足集礦機行走航向角給定和航向修正要求。
假定檢測頭用正弦波電流勵磁[7],其總磁場強度為:

由于激勵繞組阻抗較小,探測線圈中的感應電壓U0為:

感應電壓為:

上式按Fourier級數展開有:

經過推導,式中系數為:

進行計算處理出航向角α1[9]:

根據實際地域按下述公式進行適當修正:
地理方位角α=磁場夾角α1+磁偏角Δα。
目標回波信號在時間上比發射信號滯后t時間:

而實際工作時回波信號與發射信號之間出現的頻差Δf[10],則:

式中:f′2—f2的回波。
將式(7)代入式(6)中,則可得到目標距離與頻差的關系:

集礦機短基線定位系統,如圖1所示。

圖1 集礦機短基線定位系統Fig.1 Short-Line Positioning System for Ore Collector
根據圖1,基于簡單三角推導得到:

可得:

式(10)就是集礦機短基線定位測量系統完成定位導航目的數學模型。
BP神經網絡是多層前饋網絡,分為輸入層、隱含層和輸出層,層與層之間神經元采用全互聯方式,同一層神經元不存在相互連接。
其中,X1到Xn為訓練樣本,從左至右的神經元層依次為輸入層、隱含層和輸出層。令輸入層到隱含層的權值為wji(即神經元i到神經元j的連接權值),閾值為θj;隱含層到輸出層的權值為wkj(即神經元j到神經元k的連接權值),閾值為θk;uj為隱含層輸入,oj為隱含層輸出,yk為輸出層輸入,ok為輸出層輸出,即神經網絡最終輸出,f(g)是Sigmoidal函數(實際上,連續可微單調上升即可),對于BP網絡的各計算節點,有:

顯然,BP網絡將完成輸入層到輸出層不同維數空間矢量的映射。
在LabVIEW的Matlab Script節點中訓練BP神經網絡,需要調用已經訓練好的網絡對輸入輸出加以控制。對于給定的輸入模式,用sim()函數就可以得到網絡的輸出。另行創建一個新的Matlab Script節點,將調用程序放入其中,就可以實現LabVIEW與Matlab的接口設計。具體程序流程,如圖2所示。

圖2 BP網絡輸入模式識別流程圖Fig.2 BP Network Input Pattern Recognition Flow Chart
由圖2可知,LabVIEW與Matlab的輸入模式識別接口設計共用到三個Matlab Script節點,第一個節點用于BP神經網絡的創建和學習訓練;第二個節點用于已訓練好神經網絡與待處理數據的連接,以及網絡結果的輸出;第三個的節點則用于輸出向量的分離,用于硬件電路的獨立并行控制。
集礦機在行進過程中,若檢測到障礙物,則執行避障程序;反之,檢測不到障礙物時,即避障神經網絡模型輸出轉向角為“0”時,檢測集礦機此時對應的方位坐標和航向角,轉入導航模糊控制過程。對于集礦機前方(包括左前方和右前方)、左方和右方同時檢測障礙物的情況,集礦機需要后退出障礙物區域,再由轉向系統完成避障繞行,無法直接通過轉向系統實現,因此需單獨處理。
對于集礦機前方、左方和右方都存在障礙物而無法通過直接轉向完成避障的情況,執行后退操作,其中,操作指示指標通過神經網絡避障模型的注視向量輸出來完成,即當注視向量m=-1時,集礦機后退,并通過程序設置,使得集礦機在后退至左右兩邊都無障礙物之前m始終為-1,以避免集礦機剛開始執行后退操作,使得m=1,而按原始操作繼續向前行進,從而導致其陷入前后晃動的死循環狀態。而后退至左右兩邊都無障礙后,則轉入由模糊控制技術實現的導航路徑跟蹤程序。
為了進一步驗證嵌入LabVIEW界面的神經網絡模型的工作效果,以圖3所示障礙物區域為例,隨機選取具有代表性的路徑點A、B、C、D、E和F。以上述各點的網絡輸出矢量為代表說明模擬集礦機的行進狀況。將模擬集礦機行進過程中5路傳感器采集到的連續信號以(5×120)的數組形式輸入“網絡輸入”控件,在Matlab中描述“網絡輸出”控件顯示結果。則對應神經網絡輸出“速度”、“轉向角”曲線,如圖4所示。

圖3 避障行進路線及隨機路徑點選取Fig.3 Obstacle Avoidance Route and Random Path Point Selection

圖4 網絡輸出曲線Fig.4 Network Output Curve
在本次障礙物繞行中,模擬集礦機不存在前方、左方和右方同時檢測到障礙物后退的情況,因此注視向量始終為正方向,即為“1”,為了清楚地說明仿真實驗中集礦機的行進狀況,將其連續的運行軌跡進行離散化和擬人化處理,即取每隔0.2s取其中心點組成避障路徑,并假設連續兩個中心點之間的距離為一步。實際集礦機行走控制中,將傳感器采集信號通過DAQ技術處理接入網絡輸入接口,通過神經網絡避障模型進行模式識別,通過LabVIEW、Matlab混合編程,結合串口通信、信號處理及電液控制等相關技術給出下一步的操作指令,即可實時控制集礦機的避障轉向行為。
根據實際控制需求,對深海集礦機避障導航控制系統進行設計,采用LabVIEW和Matlab實現軟硬件的連接,分析結果可知:
(1)考慮到三維海底環境中可能遇到的無法通過水平固定聲納系統完成檢測的緩坡和壕溝型障礙,結合實際海底車控制策略,提出了測障聲納的俯瞰式布置來解決壕溝檢測問題,同時利用聲學和光學儀器結合使用的信息融合技術來完成緩坡檢測問題,并結合上述設計方案給出實現完整避障導航的硬件系統組成;
(2)應用LabVIEW中的Matlab Script節點技術,將在Matlab環境下建立并仿真確保無誤的避障模型,導入LabVIEW上位機控制程序,建立軟件和硬件的連接,用于實際控制,從而使得集礦機在真實作業環境下可以實現準確的障礙物繞行。