牟光臣,修素樸,閆雷兵
(河南工學(xué)院 電子信息工程學(xué)院,河南 新鄉(xiāng) 453003)
隨著無人機技術(shù)的快速發(fā)展,無人機在各個領(lǐng)域得到了廣泛的應(yīng)用。無人機具有成本低、靈活性好、風(fēng)險小、效率高等特點,將其用于海事監(jiān)管,如海事巡航、調(diào)查取證和應(yīng)急響應(yīng)、搜救救援、船舶油污泄漏監(jiān)測和檢查等,可有效擴大監(jiān)管范圍,減少違法違規(guī)現(xiàn)象,助力海事系統(tǒng)現(xiàn)代化建設(shè),提升海事科學(xué)水平發(fā)展[1],而在海事監(jiān)管中對船舶的跟蹤是需要解決的關(guān)鍵問題之一。
國內(nèi)外研究無人機在海事監(jiān)管中的應(yīng)用成果較多,如固定翼無人機利用航空攝影來實現(xiàn)邊境巡邏,海上污染跟蹤以及海洋和環(huán)境研究,并具有自動著陸和起飛功能[2]。在基于單個或多個無人機平臺利用視覺圖像構(gòu)建真實的3D地理信息,來預(yù)測地質(zhì)災(zāi)害的發(fā)生[3]。無人機在海事巡航和溢油檢測方面的應(yīng)用,以及無人機巡航基地選址與建設(shè)[4]。Royset等[5]使用TSP(Traveling Salesman Problem)模型來規(guī)劃無人機任務(wù),目的是找到爆炸裝置(Improvised Explosive Devices,IED)和放置簡易爆炸裝置的恐怖分子。該任務(wù)規(guī)劃使用預(yù)處理程序、整數(shù)線性程序、IED預(yù)測模型與TSP模型相結(jié)合的方法規(guī)劃出最優(yōu)的無人機路徑。Mufalli等[6]提出了定向運動問題為無人機進行傳感器選擇和路徑規(guī)劃建模。無人機飛行之前可以攜帶不同傳感器,傳感器的選擇取決于采集目標(biāo)信息的要求和目標(biāo)的類型。這樣,特定目標(biāo)值與目標(biāo)和每種傳感器的組合相關(guān)聯(lián)。然而實際上,無人機(Unmanned Aerial Vehicle,UAV)規(guī)劃問題的輸入?yún)?shù)可能是不確定的,由于無人機在不確定的動態(tài)環(huán)境中運行,因此有效的無人機任務(wù)規(guī)劃應(yīng)該能夠應(yīng)對環(huán)境變化和期望變化。Adolf等[7]提出了一種基于概率路線圖與蟻群優(yōu)化算法相結(jié)合的任務(wù)規(guī)劃方法,該方法在無人機低空飛行時具有較好的規(guī)劃效果。
本文基于無人機機載攝像機,依據(jù)相機成像原理,對一定水域內(nèi)的船舶進行跟蹤,并結(jié)合無人機自身性能的約束和船舶的位置、航向和航速,利用聚類優(yōu)化算法對無人機巡航路徑進行規(guī)劃。
如何飛行才能夠?qū)Χ啻斑M行最長時間的跟蹤,這就涉及無人機的巡航路徑規(guī)劃問題。解決怎么飛行的問題,需要從以下三個方面著手:
(1)無人機巡航高度。根據(jù)相機成像原理,無人機飛行高度越高,則機載相機的視場范圍就越大,相機的分辨率就越低。
(2)無人機巡航速度。無人機巡航速度越低,對船舶的跟蹤時間就越長,但對于整個巡航任務(wù)來說就需要更長時間來完成任務(wù)。反之,巡航速度越快,執(zhí)行同樣的巡航任務(wù)所花費的巡航時間就越短。
(3)無人機航向。無人機飛行方向確定了相機視場對船舶的覆蓋方向。
如圖1所示,假設(shè)某一自由航行區(qū)域內(nèi)有多條勻速直線運動的船舶S1,S2…,Sn,且船舶的當(dāng)前位置(x1,y1),(x2,y2),…,(xn,yn)、速度v1,v2,…,vn和航向θ1,θ2,…,θn為已知量,虛線矩形框為無人機在不同高度時的視場范圍。在此基礎(chǔ)上,規(guī)劃無人機的巡航路徑來對該區(qū)域內(nèi)對多條船舶進行跟蹤,使得跟蹤船舶的數(shù)量和時長達到最優(yōu)。
圖1 區(qū)域內(nèi)船舶分布圖
無人機自身性能約束是根據(jù)無人機的模型參數(shù)來對其運動過程中的特定動作進行約束,了解無人機的模型參數(shù)能夠更好地規(guī)劃飛行路徑,避免規(guī)劃出無人機無法完成的動作或超出無人機自身性能的飛行路徑。在任務(wù)規(guī)劃中,飛行高度、速度和航程通常需要作為無人機自身性能約束而被考慮[8]。
(1)飛行高度。在無人機海事巡航中針對不同的飛行任務(wù)對無人機飛行高度也有限制,通過最大和最小飛行高度的限制可以保障無人機的飛行安全。
依據(jù)機載相機成像的基本原理:(l,w)=f(h,θ),其中l(wèi)×w表示機載攝像機的有效視場范圍,h為無人機飛行高度,θ為機載相機視場角。
假設(shè)跟蹤船舶需要連續(xù)測量n幀圖像,且無人機運動速度為Vu,船舶速度為Vv,船長為L,L+n(Vu+Vv)=f(hmin,θ),則hmin為無人機對船舶跟蹤的最低飛行高度。
最大飛行高度hmax需要結(jié)合無人機性能、地理環(huán)境、飛行天氣情況及相機的分辨率來設(shè)定。則無人機每一段飛行航跡的高度hi( 1, 2, 3,…,n)需滿足如下約束:
hmin≤hi≤hmax
(1)
在不同飛行高度下,無人機對長江中不同類型船舶的航跡信息采集如圖2所示。圖2中(a)、(b)分別給出了無人機在66.5m和500m的飛行高度下對航行中船舶的航跡信息采集結(jié)果,可以看出無人機飛行高度在66.5m時航跡清晰,無人機飛行高度在500m時航跡較為模糊,但航拍范圍較廣,由此可見無人機的飛行高度是影響航跡信息采集的因素之一。同時由于無人機螺旋槳旋轉(zhuǎn)會形成氣流旋渦使水面上空氣流絮亂,在距離水面較低飛行時有墜機風(fēng)險。通過多次試驗驗證無人機巡航高度為[50,500]m時,航跡信息采集效果較為理想。
(a)飛行高度66.5m,船長126.4m
(b)飛行高度500m,船長126.4m圖2 無人機不同飛行高度航跡信息采集圖
(2)最大航程。由于受到無人機電池電量的約束,無人機在執(zhí)行巡航任務(wù)中,需要考慮航程問題,設(shè)定無人機飛行極限距離的80%為無人機的最大航程。為了保證巡航任務(wù)的順利執(zhí)行和無人機的安全,其飛行的總距離需要小于最大航程,否則會對無人機的安全性造成嚴重影響。假設(shè)Lmax為無人機最大航程,且某條飛行軌跡上有n個飛行目標(biāo)點,i( 1,2,3,…,n-1) 為第i段的飛行距離,則無人機在沿著該軌跡飛行完成任務(wù)時,無人機總航程L的約束為:
(2)
(3)最大飛行速度。在對船舶進行檢測跟蹤的過程中,需要綜合考慮無人機檢測效率和跟蹤時間的問題。為了提高檢測效率,需要較大的飛行速度對檢測區(qū)域進行巡航檢測,而對檢測到的船舶跟蹤時就需要合適的飛行速度來對船舶進行長時間的跟蹤,故需要對無人機的飛行速度進行約束,圖3為無人機對單船舶跟蹤示意圖。
圖3 無人機對單船舶跟蹤示意圖
假設(shè)無人機在飛行高度一定且滿足無人機對船舶跟蹤最小距離的條件下,無人機對船舶跟蹤的最大飛行速度為:
Vu=((dmin-kL)/t-Vv)/cosθ
(3)
式中,Vu是無人機速度,dmin是船舶中心到視場邊沿的最小距離,dmin=min(dx,dy),L是船舶長度,k是船舶回旋圈船長系數(shù),t是跟蹤船舶的最小時間,Vv是船舶速度,θ是無人機與船舶航向夾角。
無人機飛行高度與所拍攝目標(biāo)的距離越遠,所拍目標(biāo)的成像分辨率越低;反之,無人機飛行高度與所拍攝目標(biāo)的距離越近,所拍目標(biāo)的成像分辨率越高。成像分辨率與攝像頭的性能參數(shù)有關(guān),攝像頭參數(shù)、航拍高度、地面分辨率三者的關(guān)系如下[9]:
H=f·GSD/e
(4)
式中,H表示無人機巡航時的飛行高度,單位 m;e表示相機鏡頭像元尺寸,單位 mm;f表示相機鏡頭焦距,單位 mm;GSD表示地面分辨率,單位 m。
無人機巡航高度與相機視場成正比關(guān)系,即高度越大視場范圍越大,能夠覆蓋到的船舶就越多。由公式(4)可知高度與相機分辨率成反比,為了能夠更好地對船舶進行跟蹤,需要采集到船舶更清晰的圖像信息,故需要根據(jù)船舶的長度和相機分辨率來確定巡航高度。
假設(shè)無人機在最大飛行高度Hmax下,機載相機視場能夠覆蓋m條船舶,在m條船舶中最小船舶的長度為Lmin,則無人機巡航高度可表示為:
H=f{e,k,GSD,Lmin}
(5)
假設(shè)無人機飛行高度一定,在某個時刻,視場范圍內(nèi)有n條船舶,那么該區(qū)域內(nèi)的船舶在時刻t下的軌跡點可表示為:
s={t,xi,yi,vi,θi,li,ri|i∈n}
(6)
式中,(xi,yi)表示船舶的經(jīng)度和緯度,vi表示航速,θi表示航向,li表示船長,ri表示船舶鄰域半徑。
無人機在時刻t下的軌跡點可表示為:
u={t,xu,yu,vu,θu}
(7)
式中,xu,yu表示無人機的經(jīng)度和緯度,vu表示無人機速度,θu表示無人機航向。
在視場范圍內(nèi)的最大時長跟蹤函數(shù):
max(t)=f{t,xu,yu,vu,θu,xi,yi,ri}
(8)
根據(jù)2.1節(jié)中無人機性能的約束條件,可以得出無人機路徑規(guī)劃約束條件為:
(9)
優(yōu)化算法設(shè)計的目的是實現(xiàn)對巡航區(qū)域內(nèi)最多船舶的跟蹤,并且要求對船舶跟蹤時間最長。通過機載AIS獲取無人機附近n條船舶的信息,假設(shè)船舶位置分別為(x1,y1),(x2,y2),…,(xn,yn),其航向分別為θ1,θ2,…,θn,其速度分別為v1,v2,…,vn。假設(shè)無人機在最大飛行高度Hmax下,機載相機的視場為l和w,相機最小分辨率為GSDmin。以m=n,n-1,…,3條船舶位置形成多邊形,如果該多邊形的最大外置矩陣的長度lb和寬度wb,以及最小船舶的分辨率GSD滿足如下公式:
(10)
則無人機的位置坐標(biāo)(xu,yu) 可表示為:
(11)
因此,可得到無人機在飛行高度H下最多能對m條船舶進行跟蹤。
在巡航高度一定情況下,為了使無人機對m條船舶進行最長時間的跟蹤,需要對無人機的飛行速度vu和vθ進行優(yōu)化。
利用余弦相似度聚類方法對區(qū)域內(nèi)的m條船舶進行航速航向的聚類,和向量最大的值即為無人機飛行的航速和航向。
余弦相似度是利用空間中的兩個向量夾角的余弦值來度量向量的差異性。余弦值越趨于1表示其夾角越近似0度,即表示兩個空間向量越相似,通過計算兩個向量夾角的余弦值可衡量向量之間的相似度[10]。余弦相似度推導(dǎo)公式如下:
(12)
旋轉(zhuǎn)矩陣:
(13)
(14)
式中,(φx,φy)為相機視場角。
無人機跟蹤約束條件:
(15)
機載相機在跟蹤船舶時需要考慮相機的視場范圍,由于相機的視場角是固定不變的,故相機視場范圍與無人機飛行高度成正比關(guān)系,如圖4所示,length和width曲線分別表示視場的長度和寬度。
圖4 高度與視場范圍的關(guān)系圖
在高度一定情況下,為了能對船舶進行最長時間的跟蹤,需要對無人機的航向和航速進行優(yōu)化。圖5為自由航行區(qū)船舶航行示意圖,圖中有12條船舶,其航行位置、航向和速度由圖中向量表示,o表示船舶當(dāng)前位置,箭頭方向表示航向,箭頭大小表示航速。
假設(shè)無人機飛行高度h=350m,則視場范圍l=3000m,w=2250m,為了達到對區(qū)域內(nèi)所有船舶最大時間持續(xù)跟蹤的目的,需要對無人機的航速和航向進行優(yōu)化??筛鶕?jù)公式(11)計算出無人機的位置Pu=(-300,-25)m,無人機的航向用余弦相似度來求解,和向量最大的方向即為無人機航向。圖6為航速、航向的和向量示意圖,以原點(0,0)為坐標(biāo)中心,最大向量方向角θ=189.7°。對全部船舶的速度向量進行求和得到無人機的速度Vu=2.83m/s。圖7中向量up表示無人機的運動向量。
根據(jù)無人機對船舶跟蹤的約束條件,用MATLAB對其進行仿真,仿真結(jié)果表示最大連續(xù)跟蹤時間為34s。圖8和圖9分別為在無人機坐標(biāo)系中和大地坐標(biāo)中,無人機跟蹤過程中船舶的運動狀態(tài)。
根據(jù)無人機對船舶跟蹤的約束條件,用MATLAB對其進行仿真,仿真結(jié)果表示最大連續(xù)跟蹤時間為34s。圖8和圖9分別為在無人機坐標(biāo)系中和大地坐標(biāo)中,無人機跟蹤過程中船舶的運動狀態(tài)。
圖5 自由航區(qū)船舶航行示意圖
圖6 船舶航向和航速的和向量示意圖
圖7 無人機位置、航向和航速圖
圖8 無人機跟蹤過程中船舶運動的仿真示意圖(無人機坐標(biāo)系下)
圖9 無人機跟蹤過程中船舶運動仿真示意圖
本文提出的基于船舶最大時長跟蹤的無人機路徑規(guī)劃算法,在無人機飛行高度一定,即視場范圍確定的情況下,采用加權(quán)平均的方法得到無人機的位置,利用余弦相似度聚類方法對無人機航向和航速進行優(yōu)化來完成對多船舶最長時間的跟蹤。仿真實驗表明,該規(guī)劃算法可以對區(qū)域內(nèi)的多條船舶進行時長最優(yōu)的跟蹤。