周志杰,徐海祥,2
(1.高性能船舶技術(shù)教育部重點實驗室,湖北 武漢 430063;2.武漢理工大學(xué) 交通學(xué)院,湖北 武漢 430063)
水面無人艇自主跟蹤系統(tǒng)設(shè)計
周志杰1,徐海祥1,2
(1.高性能船舶技術(shù)教育部重點實驗室,湖北 武漢 430063;2.武漢理工大學(xué) 交通學(xué)院,湖北 武漢 430063)
基于國內(nèi)的研究主要集中在單艇作業(yè)的系統(tǒng)設(shè)計及控制算法上,為了使無人艇能夠?qū)崿F(xiàn)自主跟蹤領(lǐng)航船,與領(lǐng)航船實現(xiàn)多艇協(xié)同作業(yè)的功能,從系統(tǒng)體系構(gòu)架、控制流程等方面分別對控制系統(tǒng)進(jìn)行設(shè)計。試驗結(jié)果顯示:設(shè)計的跟蹤系統(tǒng)能夠?qū)崿F(xiàn)自主跟蹤的功能。
水面無人艇;自主跟蹤;系統(tǒng)設(shè)計;多艇作業(yè)
水面無人艇是一種小型智能船舶,具有水線以上雷達(dá)反射面積小,智能化程度高,密集搭載多功能傳感器等特點[1-2]。在不同的領(lǐng)域,無人艇可以用于完成不同的任務(wù):民用方面,無人艇可用于實現(xiàn)海事管理、海上搜救、水文探測等功用;軍用方面,水面無人艇可用于實現(xiàn)水面?zhèn)刹?、水面作?zhàn)、反潛作戰(zhàn)等功能[3]。因此,國內(nèi)外學(xué)者對其高度關(guān)注,并開展系列相關(guān)研究。近年來,我國在無人艇方面的研究不斷取得成果,尤其是在無人艇的路徑規(guī)劃、運動控制、建模與仿真等方面已有較多論文發(fā)表[4-6],然而這些研究主要集中在算法及策略上。雖然也有在無人艇體系搭建方面的論文發(fā)表[7],但這些體系主要是針對單艇作業(yè)而設(shè)計的系統(tǒng),鮮有學(xué)者針對多艇作業(yè)設(shè)計相關(guān)系統(tǒng)。
隨著無人艇技術(shù)的發(fā)展,人們對其功能的需求也越來越高,許多任務(wù)依靠單艇很難完成,往往需要多艘艇的合作完成。目前,無人艇編隊的研究同樣受到高度的關(guān)注,其要求主要是編隊中的跟隨艇跟隨領(lǐng)航艇航行[8]。其中領(lǐng)航艇可以為自主航行的無人艇,也可以為手動駕駛的非智能船舶。
本文對無人艇自主跟蹤的功能進(jìn)行簡化以方便研究,即以一艘自主航行的小型無人艇為研究對象,使其實現(xiàn)自主跟蹤一艘手動遙控船舶的功能。其基本思想為通過組建船間網(wǎng)絡(luò),自主跟蹤的無人艇可以從中獲取遙控船每個時刻的位置點,然后以這些位置點為目標(biāo)點航行,同時通過對遙控船的速度進(jìn)行估計,控制航行速度以保持兩船間距相對穩(wěn)定。本文旨在設(shè)計一種能夠?qū)崿F(xiàn)自主跟蹤功能的小型水面無人艇跟蹤系統(tǒng)。
體系結(jié)構(gòu)涵蓋范圍較廣。美國國家標(biāo)準(zhǔn)技術(shù)研究院(National Institute of Standards and Technology,NIST) 對體系結(jié)構(gòu)的定義為:體系結(jié)構(gòu)作為一種架構(gòu),包括對組成部分的標(biāo)識、定義和組織,彼此之間的相互關(guān)系、設(shè)計原理、子系統(tǒng)的任務(wù)功能以及子系統(tǒng)之間的接口協(xié)議規(guī)范[9]。無人艇作為一個復(fù)雜的系統(tǒng)工程,未來更是向著智能化、模塊化和集成化發(fā)展,為了能夠盡快制造出可以實際應(yīng)用的無人艇,對其研究應(yīng)該運用系統(tǒng)工程的研究方法[10-11],然而體系結(jié)構(gòu)的搭建需要了解設(shè)計的體系結(jié)構(gòu)的功能需求。根據(jù)自主跟蹤的需求,將無人艇的體系結(jié)構(gòu)分為硬件體系結(jié)構(gòu)和軟件體系結(jié)構(gòu),而軟件體系的設(shè)計需要根據(jù)制定的控制流程,因此設(shè)計前期體系結(jié)構(gòu)搭建主要集中在硬件體系結(jié)構(gòu)的搭建。
硬件體系結(jié)構(gòu)又稱物理架構(gòu),通俗地說就是為了實現(xiàn)某些功能必需的硬件集合。采用模塊化設(shè)計,可以提高系統(tǒng)的開發(fā)效率,降低開發(fā)成本。根據(jù)無人艇的任務(wù)需求按照即插即用的原則設(shè)計相應(yīng)的任務(wù)模塊,可以實現(xiàn)無人艇功能模塊的快速開發(fā)和調(diào)試[12-13]。
根據(jù)功能需求,可以將水面無人艇的組成硬件分為以下幾個模塊:船體模塊、動力模塊、通信模塊、定位模塊及控制模塊。
(1)船體模塊的設(shè)計影響的是無人艇的水動力性能,船型可以根據(jù)無人艇所需要完成的功能進(jìn)行選取。在跟蹤系統(tǒng)中,船型的選取是根據(jù)母船的航速決定的,即母船為高速船時無人艇的艇型為高速艇艇型;母船為低速船時無人艇的艇型為低速艇型。由于本文被跟蹤的對象為遙控高速船,故搭建的無人艇采用高速艇艇型,其模型圖如圖1所示。
(2)動力模塊主要用于推進(jìn)無人艇航行,其主要包括能源模塊和推進(jìn)模塊。由于無人艇的容量及空間有限,其能源供給不可能采用發(fā)電機(jī)等較大的供電設(shè)備,因此通常的能源模塊主要由蓄電池組構(gòu)成。隨著綠色船舶概念的提出,許多學(xué)者將太陽能風(fēng)能等自然能源引入作為無人艇的動力能源,大大增加了其續(xù)航力。推進(jìn)模塊的選取大多取決于對航速及操縱性的要求。由于跟蹤系統(tǒng)對操縱性的要求與對航速的要求同等重要,因此許多無人艇的設(shè)計采用噴水推進(jìn)模式,然而噴水推進(jìn)成本相對較高[14]。為了方便研究,控制系統(tǒng)采用雙槳雙舵的推進(jìn)模塊,其模塊圖如圖2所示。
(3)在自主跟蹤系統(tǒng)中,通信模塊主要用于母船、無人艇及岸基系統(tǒng)之間的通信。從自主跟蹤的基本思想可知,其功能的前提主要是進(jìn)行船間組網(wǎng),而船間組網(wǎng)主要依靠的是通訊模塊,因此通信模塊的設(shè)計非常重要??紤]到無人艇的工作環(huán)境,設(shè)計采用衛(wèi)星通信、超短波通信和微波通信組合通信的方式[15]。超短波和微波設(shè)備通信距離有限,主要用于視距范圍內(nèi)的通信。超出視距范圍的遠(yuǎn)距離通信采用衛(wèi)星通信。近海覆蓋3G網(wǎng)絡(luò)信號的水域可以利用3G網(wǎng)絡(luò)進(jìn)行通信,也可以通過布設(shè)無線網(wǎng)絡(luò)在近岸水域作為備用的通信方式。本文搭建采用功耗低且安全可靠的ZigBee模塊,其模塊圖見圖3。
(4)定位模塊在自動跟蹤系統(tǒng)中扮演著不可或缺的角色。因為自動跟蹤首先需要獲取母船及無人艇的位置信息方才進(jìn)行控制。通常定位模塊采用的是GPS模塊,然而定位模塊的定位精度很大程度上影響跟蹤的最終效果,因此采用精度較高的定位模塊是非常重要的。而GPS在較小區(qū)域范圍內(nèi)的精度有限,為滿足系統(tǒng)的精度要求,本次搭建采用小區(qū)域范圍定位精度較高的UWB(Ultra Wide Band)模塊,其模塊圖如圖4所示。
(5)控制模塊為整個控制系統(tǒng)的核心,主要包括輸入輸出子模塊、電源子模塊和CPU子模塊。其中CPU子模塊用于控制算法的執(zhí)行,故而控制模塊的設(shè)計主要考慮控制算法的復(fù)雜度。本文搭建采用嵌入式集成系統(tǒng)作為控制系統(tǒng)平臺,其外形圖如圖5所示。
綜上所述,設(shè)計出滿足自動跟蹤功能需求的硬件體系結(jié)構(gòu)如圖6所示。
整個控制流程大致分為三部分:數(shù)據(jù)處理模塊、控制模塊以及執(zhí)行機(jī)構(gòu)模塊??刂撇捎醚h(huán)控制,其中一個周期的控制流程如圖7所示。
自主跟蹤無人艇通過通信模塊獲取母船及自身的位置信息,其中的位置信息為廣義位置信息,包括大地坐標(biāo)系下的坐標(biāo)值以及艏向角。然而獲取得到的信息包含有噪聲項(測量值與真實值之間的誤差),必須進(jìn)行一定的處理,即為數(shù)據(jù)處理模塊。處理后的信息作為控制算法的輸入,得到的結(jié)果為跟蹤所需的推力和力矩。然后將計算得到的值作為執(zhí)行機(jī)構(gòu)的輸入。執(zhí)行機(jī)構(gòu)根據(jù)計算結(jié)果控制自主跟蹤無人艇做出響應(yīng)。
2.1數(shù)據(jù)處理模塊
數(shù)據(jù)處理的目的是對傳感器獲得的數(shù)據(jù)進(jìn)行相關(guān)處理,使其與真實值盡可能的接近,以免產(chǎn)生較大的誤差。數(shù)據(jù)處理模塊的流程圖如圖8所示。
數(shù)據(jù)處理可分為數(shù)據(jù)預(yù)處理及濾波兩部分,而數(shù)據(jù)預(yù)處理包括野值剔除、時間對準(zhǔn)及空間對準(zhǔn)三部分。經(jīng)驗和統(tǒng)計理論告知,即使是高質(zhì)量的原始采樣數(shù)據(jù),由于受多種偶然因素的影響,往往包含有較大的隨機(jī)誤差,有時1%~5%甚至多達(dá)10%~20%的數(shù)據(jù)嚴(yán)重偏離目標(biāo)真值,從而成為野值或稱為異常值[16]。這些野值的存在會影響后續(xù)控制算法的精確性,嚴(yán)重時甚至?xí)?dǎo)致自主跟蹤失敗,因此對于原始測量數(shù)據(jù)首先需要進(jìn)行野值的剔除以保證數(shù)據(jù)的真實性。由于領(lǐng)航艇及跟隨艇上各配備多個(種)傳感器對位置進(jìn)行測量,而各傳感器測量時間及測量周期各不相同,因此需要對所有測量的數(shù)據(jù)進(jìn)行時間對準(zhǔn)處理,否則會導(dǎo)致跟隨艇與領(lǐng)航艇的跟蹤出現(xiàn)時間錯位的現(xiàn)象,同樣會導(dǎo)致跟蹤失敗。除了時間上需要對準(zhǔn)之外,還需要進(jìn)行空間上的對準(zhǔn),以保證母船與無人艇在同一坐標(biāo)系中運動。預(yù)處理之后的數(shù)據(jù)需要進(jìn)行濾波處理,目的是濾除高頻干擾信號,以提高跟蹤精度。
2.2控制子模塊
控制算法模塊的任務(wù)是由獲取的廣義位置信息根據(jù)一定的規(guī)律計算得到所需要的推力和力矩,而在目標(biāo)跟蹤中這種規(guī)律又稱為引導(dǎo)律。Fossen[17]將目標(biāo)跟蹤的引導(dǎo)律分為三類,其分類圖如圖9所示。
第一類又稱為航跡控制,已知目標(biāo)的航跡,要求跟蹤船按照目標(biāo)船的航跡航行,這一類控制目前廣受國內(nèi)學(xué)者關(guān)注。而針對這一類情況國內(nèi)外研究較為成熟的引導(dǎo)律為LOS(Line of Sight)引導(dǎo)律及在其基礎(chǔ)上的改進(jìn)。第二類為定點跟蹤,即已知的信息為目標(biāo)船的位置,要求跟蹤船以目標(biāo)船的位置為目標(biāo)點實時跟蹤,這也是本文設(shè)計的系統(tǒng)需要實現(xiàn)的功能。第三類為跟蹤攔截,需要知道目標(biāo)船的位置及航速等信息,這一類問題更加復(fù)雜,本文不做詳細(xì)分析。
根據(jù)功能需求,控制算法的基本思想采用PID控制的基本思想,即以目標(biāo)船位置與跟蹤船位置的距離作為控制的輸入,輸出即為所需要的推力和力矩大小。然而與傳統(tǒng)的PID算法不同的是,傳統(tǒng)PID旨在以最快的速度減小偏差,而對于跟蹤問題,需要對兩船的間距進(jìn)行控制,即需要對兩船的速度進(jìn)行約束,避免他們之間的距離太近或太遠(yuǎn)。設(shè)計的控制模塊的流程圖如圖10所示。
2.3執(zhí)行機(jī)構(gòu)模塊
由控制子模塊的控制算法計算得到的推力和力矩是無法直接控制螺旋槳和舵的,需要進(jìn)行相應(yīng)的轉(zhuǎn)換。例如將需要的推力轉(zhuǎn)化成螺旋槳所需要的轉(zhuǎn)速;將所需要的力矩進(jìn)行轉(zhuǎn)換得到舵角的大小等。具體流程圖如圖11所示。
無人艇的軟件體系為其控制核心,其設(shè)計的優(yōu)劣直接影響控制效果。為設(shè)計較為優(yōu)良的軟件體系,需根據(jù)前面設(shè)計的控制流程圖對軟件體系進(jìn)行搭建。本文以應(yīng)用較為廣泛的C語言為例,從軟件系統(tǒng)設(shè)計、編譯環(huán)境搭建及體系框架設(shè)計三部分對軟件體系進(jìn)行設(shè)計。
3.1軟件系統(tǒng)設(shè)計
C語言設(shè)計初,都需要對要設(shè)計的程序繪制一個流程圖,又稱框架流程圖。與控制流程圖不同的是,框架流程圖可以直接指導(dǎo)程序的編寫工作,而控制流程圖只能給出整體的控制思路。
水面無人艇編隊系統(tǒng)的軟件系統(tǒng)是為了監(jiān)控硬件系統(tǒng),因此可以將軟件系統(tǒng)分為岸基監(jiān)控系統(tǒng)和艇體控制系統(tǒng)。其中艇體控制軟件程序為跟隨艇控制的核心部分,承擔(dān)著無人艇數(shù)據(jù)的采集和處理、數(shù)據(jù)傳輸和控制無人艇運動等任務(wù)[18]。而岸基監(jiān)控系統(tǒng)主要是輔助軟件,包括無人艇航跡顯示界面、無人艇遙控系統(tǒng)等,無人艇編隊軟件系統(tǒng)結(jié)構(gòu)如圖12 所示。
3.2編譯環(huán)境搭建
為減小ARM板的運算量,ARM板中系統(tǒng)采用較為普遍的Linux系統(tǒng)。然而這樣會導(dǎo)致在Windows平臺下編寫的程序無法運行,因此需要采用交叉編譯器對編寫的程序進(jìn)行編譯。本文采用arm-linux-gcc編譯器對程序進(jìn)行編譯。為了更方便進(jìn)行調(diào)試工作,本文采用Linux系統(tǒng)下的eclipse軟件進(jìn)行程序的編寫并編譯工作,然后將編譯后的可執(zhí)行文件拷貝至開發(fā)板中運行。
3.3體系框架設(shè)計
由于跟蹤控制采用的主體核心硬件為嵌入式集成系統(tǒng),因此軟件框架不能設(shè)計得太過復(fù)雜,避免由于計算量過大而導(dǎo)致開發(fā)板無法運行完程序。由于自動跟蹤控制采用多種傳感器,需要實時接收傳感器發(fā)送來的數(shù)據(jù),而且由于傳感器發(fā)送數(shù)據(jù)的頻率各不相同,因此僅靠一個線程比較難完成,所以采用多線程設(shè)計。
軟件框架大體上分四個線程完成。
(1)監(jiān)控線程:主要負(fù)責(zé)控制監(jiān)測其他線程的運行狀況。
(2)讀數(shù)據(jù)線程:主要負(fù)責(zé)讀取、解包、存儲傳感器的數(shù)據(jù)。然而由于不同的傳感器可能有不同的收發(fā)頻率,用同一個線程完成讀取可能會發(fā)生通訊沖突,因此可以設(shè)計多個讀線程分別處理。本跟蹤系統(tǒng)包含ZigBee讀線程和UWB讀線程。
(3)主線程:類似于一個main函數(shù),主要負(fù)責(zé)主控制算法的計算與執(zhí)行。
(4)寫線程:主要負(fù)責(zé)將指令發(fā)送給執(zhí)行機(jī)構(gòu)。
各線程間可能有公用的變量,因此采用共享資源的方式對這些公用的變量進(jìn)行存儲。為防止對這些變量同時進(jìn)行讀寫時的沖突,可采用互斥變量以保證各線程之間的同步運行。軟件系統(tǒng)框架圖如圖13所示。
為驗證本文所設(shè)計的自主跟蹤系統(tǒng)的跟蹤性能,采用模型試驗的方式進(jìn)行。
模型試驗中的領(lǐng)航艇采用可遙控的高速競速艇艇型,其模型圖如圖14所示。通過遙控領(lǐng)航艇,觀察跟隨艇的航行軌跡,以判斷其跟蹤性能。
為觀察跟隨艇的航行情況,采用其裝備的UWB定位模塊航跡顯示軟件,顯示領(lǐng)航艇和跟隨艇的航跡及它們之間的航跡偏差,其航跡顯示及實際航行如圖15所示。由圖15可以發(fā)現(xiàn),當(dāng)領(lǐng)航艇開始轉(zhuǎn)艏運動時,跟隨艇能夠很好地跟蹤領(lǐng)航艇保持編隊隊形。因此可以驗證本文設(shè)計的跟蹤系統(tǒng)具有較好的跟蹤性能。
本文針對需要實現(xiàn)自主跟蹤功能的無人艇的控制系統(tǒng)進(jìn)行設(shè)計,主要集中在硬件體系、軟件體系及控制流程的設(shè)計,并通過模型試驗驗證系統(tǒng)具有較好的跟蹤性能。由于本系統(tǒng)采用模塊化設(shè)計,可以根據(jù)實際的跟蹤需要改變系統(tǒng)的局部模塊,因此該系統(tǒng)具有較強(qiáng)的普遍適用性。自主跟蹤系統(tǒng)是無人艇編隊控制至關(guān)重要的部分,本文設(shè)計的系統(tǒng)達(dá)到了編隊隊形保持,跟隨艇自主跟蹤的目的,為無人艇編隊控制提供了很好的系統(tǒng)平臺。
[1] CAMPBELL S, NAEEM W, IRWIN G W. A review on improving the autonomy of unmanned surface vehicles through intelligent collisionavoidance manoeuvres[J]. Annual Reviews in Control, 2012, 36(2): 267-283.
[2] 李家良. 水面無人艇發(fā)展與應(yīng)用[J]. 火力與指揮控制, 2012, 37(6):203-207.
[3] 孫柏林. 無人平臺在軍事領(lǐng)域里的應(yīng)用[J]. 自動化博覽, 2003, 20(S1):145-149.
[4] 張玉奎. 水面無人艇路徑規(guī)劃技術(shù)研究[D]. 哈爾濱:哈爾濱工程大學(xué), 2008.
[5] 廖煜雷, 張銘鈞, 董早鵬,等. 無人艇運動控制方法的回顧與展望[J]. 中國造船, 2014,55(4):206-216.
[6] 董慧穎, 段云波. 水面無人艇運動控制系統(tǒng)建模與仿真[J]. 沈陽理工大學(xué)學(xué)報, 2017, 36(1):77-84.
[7] 楊學(xué)斌. 無人艇體系結(jié)構(gòu)研究[D]. 大連:大連海事大學(xué), 2011.
[8] 康曉予, 李偉, 趙曉哲. 多智能體技術(shù)與未來無人艦艇編隊[J]. 飛航導(dǎo)彈, 2006(2):27-29.
[9] ALBUS J,HUANG H,MESSINA E,et a1.4D/RCS:A Reference Model Architecture For Unmanned Vehicle Systems Version 2.0[EB/OL].(2008-11-17)[2017-03-11].https://www.nist.gov/publications/4drcs-version-20-reference-model-architecture-unmanned-vehicle-systems.
[10] 錢學(xué)森, 戴汝為, 何善. 工程控制論[M]. 上海:上海交通大學(xué)出版社, 2007.
[11] 苗東升. 系統(tǒng)科學(xué)精要[M]. 2版. 北京:中國人民大學(xué)出版社, 2006.
[12] 閔紹榮, 黎洪生. 未來艦艇作戰(zhàn)系統(tǒng)總體設(shè)計模式研究[J]. 艦船電子工程, 2004, 24(1):5-8.
[13] 張平.水面艦艇模塊劃分方法[J].中國艦船研究, 2006, 1(4):7-10.
[14] 王立祥.船舶噴水推進(jìn)[J].船舶, 1997(3):45-52.
[15] 楊永康, 毛奇凰.海上無線電通信[M].北京:人民交通出版社, 2009.
[16] 祝轉(zhuǎn)民, 秋宏興, 李濟(jì)生. 動態(tài)測量數(shù)據(jù)野值的辨識與剔除[J]. 系統(tǒng)工程與電子技術(shù), 2004, 26(2):147-149.
[17] FOSSEN T I. Handbook of Marine Craft Hydrodynamics and Motion Control[M]. New York:John Wiley amp; Sons Ltd, 2011.
[18] 鄭烈心.水面無人艇建模與運動控制系統(tǒng)設(shè)計[D].廣州:華南理工大學(xué), 2016.
U664.82
A
2017-03-09
周志杰(1995—),男,碩士研究生,主要從事智能船舶系統(tǒng)設(shè)計、多傳感器融合、傳感器數(shù)據(jù)處理等領(lǐng)域的研究;徐海祥(1975—),男,博士,教授,博士生導(dǎo)師,主要研究領(lǐng)域為海洋動力定位系統(tǒng)開發(fā)、智能船舶系統(tǒng)研發(fā)等。