崔秀芳,石福孝,李培培,陳剛,王宏宇
(上海海洋大學 工程學院,上海 201306)
北斗衛星導航系統(BDS)是我國立足于國家經濟和安全保護戰略,獨立研制運營的衛星導航系統[1],具有高精度的導航定位功能,BDS的導航精度可達10 m,延時低于10 ns,測速精度0.2m/s,還能進行短報文通信,已經具備全球服務能力.BDS還能兼容美國的GPS系統、俄羅斯的GLONASS以及歐盟的Galileo.BDS功能的日趨完善,促進了BDS在工業、氣象、農業、汽車行業以及智能家具等相關行業的大范圍使用[2].
仿生機器魚的設計整體本著安全高效,穩定性好,靈活度高等原則[3].它是一種智能化的產物,可以完成自主游動和集群游動,可以根據使用需求,對各個探測模塊進行自由組合,以實現不同的功能.仿生機器魚作為探測海底世界的機械,能夠在水下環境檢測、海底資源探索及開發利用等方面發揮自身特有的優勢,而且隨著算法、人工智能(AI)以及定位導航技術的快速發展,其技術獲得進一步發展.其中,定位導航技術最為關鍵.BDS具有精準定位,短報文通信等功能,能夠與其他定位導航技術結合,應用于水下仿生機器魚的導航定位中,為仿生機器魚提供精準的導航定位及通信,為路徑規劃、位姿解算等提供技術上的支持.
張鈞凱等[4]提出采用多導航方式組合技術來提升水下機械定位導航的實時性和精確度,本文將文獻[4]中提出的技術運用于水下仿生機器魚,設計實驗驗證其相對于單一慣性導航具有更好的精確性.崔秀芳等[5]論述了BDS在船舶監測領域中的應用,研究了BDS與船舶監測系統的通信方式以及如何通過上位機將檢測信息由BDS衛星發送給船舶控制系統.本文以文獻[5]中BDS與船舶監測系統的通信方式為基礎,設計出BDS與仿生機器魚的通信過程.
機器魚工作在水下,衛星信號很難穿透水面,因此,本文以慣性導航技術和水聲定位技術作為BDS導航定位技術的補充,建立多導航方式組合系統,使BDS導航定位技術成功地應用于水下.該系統通過四顆BDS衛星接收浮標發出的信號,浮標與機器魚通過超聲波通信,然后通過BDS衛星計算出機器魚的方位. 本組合系統中水面以上部分通過BDS收發信息,水面以下部分是水聲定位系統與仿生機器魚通過超聲波通信,仿生機器魚自身還運用了慣性導航定位技術.圖1為多導航方式組合技術圖.通過上述導航方式組合,并用卡爾曼濾波法進行濾波,可以大大提高仿生機器魚定位的精確性與實時性.

圖1 多導航方式組合技術圖
BDS衛星定位原理具體如下:設仿生機器魚的坐標為(X0,Y0,Z0)為未知參數,而用于定位的四顆衛星瞬時位置坐標已知,分別為(Xi,Yi,Zi),i=1,2,3,4,BDS浮標的坐標為(X5,Y5,Z5),以已知的衛星坐標為圓心,以四顆衛星坐標到浮標坐標的距離為半徑,使用三維空間距離交匯的方法,先計算出浮標的三維空間坐標位置,具體計算公式如下:
[(X1-X5)2+(Y1-Y5)2+(Z1-Z5)2]1/2+
C(Vt1-Vt5)=D1,
(1)
[(X2-X5)2+(Y2-Y5)2+(Z2-Z5)2]1/2+
C(Vt2-Vt5)=D2,
(2)
[(X3-X5)2+(Y3-Y5)2+(Z3-Z5)2]1/2+
C(Vt3-Vt5)=D3,
(3)
[(X4-X5)2+(Y4-Y5)2+(Z4-Z5)2]1/2+
C(Vt4-Vt5)=D4,
(4)
Di=CΔti,(i=1,2,3,4).
式中:C為光速;即信號的傳播速度;Di為四顆衛星分別與浮標之間的距離;Δti為衛星信號到達浮標信號接收裝置的時間;Vti為衛星時鐘差,由衛星星歷提供;Vt0為浮標時鐘差.再計算出仿生機器魚相對于浮標的坐標(X6,Y6,Z6)具體計算公式如下:
X=VΔt0,
(5)
X6=Xcosθ,
(6)
Y6=Xsinθ,
(7)
Z6=Xcos(90°-θ),
(8)
式中:X為浮標與仿生機器魚的距離;V為聲波在水中的傳播速度;Δt0為浮標的聲波信號到達機器魚接收裝置的時間;θ為浮標與機器魚連成的直線與水面的夾角.
X0=X5+X6,
(9)
Y0=Y5+Y6,
(10)
Z0=Z5+Z6.
(11)
計算出仿生機器魚相對于浮標的坐標后,再由式(9)~(11)即可計算出仿生機器魚的三維坐標(X0,Y0,Z0).
浮標是實現BDS與水聲定位系統聯合導航定位的關鍵設備,是實現多導航方式組合的關鍵環節.該種浮標稱為BDS智能浮標,其自身帶有控制系統,將BDS衛星應答器連接到控制器上,用來接收BDS衛星信號,將聲吶設備也連接在控制器上,接收機器魚發出的超聲波信號,浮標通過無線藍牙設備與上位機通信.圖2為BDS浮標系統結構圖.浮標為BDS與機器魚起到了通信中繼的作用,該設備是BDS應用于水下必不可少的一環.

圖2 BDS浮標系統結構圖
BDS應用于仿生機器魚主要涉及到導航(路徑規劃)、定位(位姿解算)、傳感器數據融合、運動控制等幾項子技術,本文主要論述了仿生機器魚在前兩方面的具體應用.
本文所述仿生機器魚為本實驗室自主設計,主

圖3 機器魚的總體布局圖
要有三個部分:頭部、身體骨架和尾鰭.整個身體采用流線型,圖3所示為機器魚的總體布局圖.電池、控制元件與導航定位模塊(慣性導航模塊和超聲波接收器)安裝于機器魚身中間的上盒體內,其中,導航定位模塊是整條機器魚的心臟,它負責整個機器魚的通信以及導航定位,浮潛舵機和重塊安裝在機器魚的下盒體內,這樣可以降低整個機器魚的重心,使機器魚在水下保持直立而不傾覆,機器魚尾部采用兩關節骨架,使整個尾部具有柔韌性,提高了仿生效果.
基于BDS的仿生機器魚的一個重要應用是位姿解算,通過BDS快速定位與全球地理信息系統(GIS)結合,再運用相應的算法實時解算出運動中機器魚的實時姿態信息.由于仿生機器魚處于水下,電磁波在水下會慢慢減弱,而聲波不會,所以依靠水為介質,能夠很好地傳遞信息,這點和陸地機器人位姿解算有所區別.針對此特點,本文將尋找一種適用于水下機械通訊的位姿解算算法.文獻[6]中提出了幾種位姿解算的典型算法,比如:四元數法、方向余弦算法等,其中特別適合水下環境的是四元數算法.
本文仿生機器魚位姿解算算法使用的是四元數法,四元數法在水下受到的干擾較小,所以特別適合仿生機器魚.四元數的四個分量與機器魚相對姿態角θ(俯仰)、φ(滾動)、ψ(偏航)的關系表達式如下:
θ=arcsin[2(q0q2-q1q3)],
(12)

(13)
(14)
式中:q0、q1、q2、q3表示四元數的4個分量,其值是由機器魚的定位坐標和四元數微分方程聯合計算所得.通過公式解出θ、φ、ψ,即可得出仿生機器魚的運動姿態.
基于BDS的仿生機器魚另一個重要應用是路徑規劃,該功能在本系統中起著重要作用.BDS能夠計算出機器魚游動路線中特定點的坐標,然后用相應的算法為機器魚制定出最優或者次優路徑,最后由浮標發送給機器魚執行.路徑規劃簡單來講,就是人們預設了路徑,讓機器魚在沿途躲過障礙物而無碰撞地到達終點[7].和陸地機器人相似,仿生機器魚路徑規劃也可以分成兩種,一種是環境已知的情況下,比如投籃機器人投籃的過程均為預先設計的路線,此過程為全局路徑規劃;另一種是環境未知的情況下,例如仿生探索機器魚等在傳感器信息的引導下自主地選擇出最優的探測路徑,此過程為局部路徑規劃.基于BDS的仿生機器魚適合很多路徑規劃算法,比如:模糊法、遺傳算法、數學幾何法等.
本文仿生機器魚路徑規劃功能實現使用的是模糊邏輯算法,其過程為:先利用BDS采集機器魚定位數據,然后將數據模糊化,再按照模糊規則進行解模糊,最終實現運動控制.模糊邏輯算法的流程圖如圖4所示.其工作的主要決定對象是在未知情況下進行的,該算法計算量較小,原理簡單,易實現.

圖4 模糊邏輯算法的流程圖
仿生機器魚在淺海地區的游動過程,涉及到的硬件有通信模塊、失控自救模塊、能源及控制模塊、探測模塊等.只有所有模塊全部正常工作的情形下,機器魚才能完整地完成預設的各項動作,更好地滿足消費者的需求.
基于BDS的仿生機器魚,利用 BDS定位導航模塊來解算其狀態,進而進行姿態解算和控制動力部件——舵機,BDS定位導航模塊將機器魚的位置、姿態等相關數據和參數傳給上位機進行反饋,通過上位機發送指令來協調機器魚當前執行的作業任務,為機器魚規劃出最優航行路線,然后將最優航行路線發送給BDS浮標,BDS浮標將控制信息發送給仿生機器魚控制模塊,控制模塊將信息分析處理后發送給相應的舵機,讓各個舵機實現不同角度的旋轉,從而按照事先規劃好的路徑進行游動.基于BDS的仿生機器魚硬件設計如圖5所示.

圖5 仿生機器魚硬件設計圖
為了驗證本文所述以BDS技術為主,以水聲定位和慣性導航技術為補充的組合導航的定位精度[8],現設計仿真實驗.由于水下物體的深度可以用水深傳感器測出,用此方法測得的深度結果精度較高,而且能夠減小定位系統的計算量[9],因此,用作對比驗證.基于此方法對本文所述仿生機器魚的北向與東向的定位實施仿真.在仿真過程中,設系統噪音和觀察噪音都是高斯白噪音,陀螺時間漂移為0.1°/h,陀螺白噪聲漂移為0.1°/h,加速度計零偏為10-4g.以東北向的地表坐標系為定位坐標系,為了驗證單一慣性導航的發散性,將組合導航誤差和單一慣性導航誤差曲線列出,圖6、7分別示出了兩種導航方式的經度及緯度位置誤差的仿真結果.

圖6 兩種導航方式的緯度位置誤差

圖7 兩種導航方式的經度位置誤差
本文介紹了BDS應用于水下仿生機器魚定位導航的基本原理,及以BDS為主的多導航方式組合技術,重點論述了BDS導航技術在仿生機器魚中的具體應用,包括本實驗室自主設計的仿生機器魚的硬件設計組成、基于BDS來控制仿生機器魚的運動、在自主設計的仿生機器魚身上實現路徑規劃和位姿解算等功能.本文所介紹的以BDS為主的多導航方式組合導航技術可推進水下導航技術的發展,為高精度定位的仿生機器魚定位系統的研究和各種控制算法的實現提供參考.隨著通信以及機器人技術的迅速發展,定位導航方式將會越來越多元化,高精度定位的水下仿生機器魚定位導航系統也將會更加智能化和普及化.