徐 進(jìn) 陳姚節(jié)
(武漢科技大學(xué)計算機科學(xué)與技術(shù)學(xué)院 湖北 武漢 430081)
近些年海洋爭端越發(fā)激烈,水炮因其殺傷性較低、不容易造成傷亡的特點,成為海警船以及消防船必備的防護(hù)打擊和救援裝置。現(xiàn)有的水炮主要通過手動控制,其操作緩慢、人工強度大、且打擊準(zhǔn)確率低。因此實現(xiàn)水炮的智能打擊對于進(jìn)一步維護(hù)國家海洋權(quán)益至關(guān)重要。智能打擊的主要方法是通過光電系統(tǒng)對目標(biāo)進(jìn)行跟蹤[1-3]、提供圖像坐標(biāo)信息并根據(jù)坐標(biāo)系轉(zhuǎn)換獲得實際環(huán)境中目標(biāo)的位置信息,水炮根據(jù)目標(biāo)在水炮坐標(biāo)系中的位置信息來調(diào)整水炮的水平角和俯仰角,實現(xiàn)對目標(biāo)的持續(xù)打擊。水炮水平方位角易通過幾何模型運算實現(xiàn),但俯仰角受到水炮內(nèi)部參數(shù)和多種外部因素影響,最主要的是水炮的壓力,彈道截面積、安裝位置、風(fēng)向、空氣密度等影響因素。目前實現(xiàn)水炮準(zhǔn)確打擊主要有兩種方式:基于質(zhì)點運動規(guī)律的射流軌跡定位方式、基于計算機視覺的調(diào)整方式。
基于質(zhì)點運動規(guī)律的射流軌跡定位方式是根據(jù)物理質(zhì)點運動學(xué)和彈道學(xué)等理論,對射流影響因素進(jìn)行分析模擬,根據(jù)質(zhì)點做拋物運動的軌跡來推測射流的運動軌跡。閔永林等[4]提出了一種根據(jù)不同俯仰角來建立射流軌跡模型,并根據(jù)目標(biāo)位置反推俯仰角的方法來提升定位精度。廖小東等[5]通過對射流微元體進(jìn)行受力分析,建立了參數(shù)化的射流軌跡運動化方程。朱蓓麗等[6]對射流微元體的受力情況和水炮的結(jié)構(gòu)參數(shù)、工作壓力和工作流量進(jìn)行分析,通過Simulink平臺實現(xiàn)對射流軌跡仿真。陳學(xué)軍等[7]在僅考慮空氣阻力下建立射流運動軌跡模型,并提出一種定位補償方法來調(diào)整射流角度。但現(xiàn)實中這些影響因素很難獲取到,難以通過單純地質(zhì)點運動規(guī)律和數(shù)學(xué)計算來實現(xiàn)對射流軌跡的定位,且大多數(shù)都是單純地進(jìn)行定點打擊,定位準(zhǔn)確性不高,打擊效果不好。
基于計算機視覺的調(diào)整方式則可以在圖像中提取射流并確定射流軌跡落點,通過落點位置與目標(biāo)位置差來判斷是否準(zhǔn)確打中目標(biāo),若沒有準(zhǔn)確打中目標(biāo)則根據(jù)位置偏差來調(diào)整水炮的角度參數(shù),實現(xiàn)水炮閉環(huán)控制。該方法受到越來越多學(xué)者的關(guān)注。陳靜[8]提出了一種對初次射流識別結(jié)果建立模板,結(jié)合射流軌跡的運動特點使用模板匹配射流起始點,從起始點開始單向依次搜索后續(xù)射流軌跡的方法。孫維祿等[9]提出一種在彩色圖像中,利用RGB三色法,對射流軌跡進(jìn)行提取并確定射流落點位置的方法。蘇浩等[10]提出了一種分步對篩選后的射流軌跡進(jìn)行擇優(yōu)選擇方法,該方法具有一定的穩(wěn)定性。
本文將質(zhì)點運動規(guī)律的射流軌跡定位方式與計算機視覺的調(diào)整方式結(jié)合在一起,在僅考慮重力和空氣阻力對射流軌跡的影響下,建立射流軌跡模型,并通過圖像處理技術(shù)計算射流落點和目標(biāo)之間的位置差,來進(jìn)行判斷是否命中目標(biāo),再進(jìn)一步調(diào)整打擊角度,實現(xiàn)閉環(huán)控制。
系統(tǒng)主要原理為通過已標(biāo)定的攝像頭[11-12]來采集圖像信息,并對目標(biāo)進(jìn)行實時跟蹤。在跟蹤過程中,攝像頭中心始終瞄準(zhǔn)目標(biāo)中心(即矩形框的中心位置)。通過空間坐標(biāo)轉(zhuǎn)換,計算目標(biāo)位置信息;同時根據(jù)水炮和攝像頭的相對位置,來計算水炮的水平偏轉(zhuǎn)角。通過質(zhì)點運動規(guī)律來建立射流軌跡模型,計算射流俯仰角,對目標(biāo)進(jìn)行打擊。通過圖像處理技術(shù)來對射流落點進(jìn)行識別,計算射流落點與目標(biāo)矩形框的偏差,判斷是否打中目標(biāo)。若未擊中目標(biāo),則根據(jù)落點位置設(shè)置提前運動角度來對射流的水平角和俯仰角進(jìn)行二次調(diào)整,實現(xiàn)對射流的閉環(huán)控制,對目標(biāo)進(jìn)行打擊。若擊中目標(biāo),則去下一幀視頻繼續(xù)。系統(tǒng)流程如圖1所示。
圖1 系統(tǒng)流程
首先調(diào)整水平回轉(zhuǎn)角,然后再調(diào)整俯仰角。以攝像頭與地面的垂直投影作為坐標(biāo)原點,建立空間坐標(biāo)系,如圖2所示。其中:A(x1,y1,z1)、B(x2,y2,z2)、C(x3,y3,z3)分別表示攝像頭、射流起始點、目標(biāo)在空間坐標(biāo)系中位置;α和γ分別為攝像頭對準(zhǔn)目標(biāo)中心位置需要的水平偏移角和豎直俯仰角;θ和β分別為水炮打擊目標(biāo)的初始水平偏移角和水炮垂直定位目標(biāo)與y軸方向的夾角。
圖2 空間坐標(biāo)系
攝像頭與射流起始點之間的水平偏移量為:
已知攝像頭的相對目標(biāo)的高度AD和水炮相對目標(biāo)的高度BB′。根據(jù)三角幾何原理,可得:
可知目標(biāo)與水炮之間的距離在x軸、y軸上面的分量為:
根據(jù)三角幾何原理可得:
故水炮打擊目標(biāo)需要的回轉(zhuǎn)角為:
為了研究射流軌跡,這里將射流分割成單位體積流量的水微團。射流軌跡主要受壓力、流量、高度、空氣密度以及水炮射流俯仰角的影響[13],因為空氣密度遠(yuǎn)遠(yuǎn)小于水密度,故空氣浮力相對于水的重力顯得非常微小。水炮的壓力、流量、高度等因素在穩(wěn)定情況下對射流的影響也可忽略不計,因此主要考慮重力和空氣阻力對射流軌跡的影響,其受力分析如圖3所示。
圖3 射流水微團在空中受力分析圖
根據(jù)牛頓第二運動定律對某一時刻t進(jìn)行受力分解,分別建立射流水微團在x軸方向和y軸方向的動力學(xué)方程。
式中:k為空氣阻力系數(shù);ω為水微團運動速度與x軸方向的夾角;vx和vy分別為水微團運動速度在x軸和y軸上的速度分量,vx=v·cosω,vy=v·sinω。根據(jù)式(6)消去變量vx和vy可得式(7)。
假設(shè)射流水微團初始俯仰角為ω0,初始高度為z1,初始速度為v0;根據(jù)分離變量求解式(7),可得:
消去時間變量t,可得射流軌跡方程:
(9)
(10)
即可求出θ的近似解為:
圖4 水炮垂直定位目標(biāo)示意圖
同時根據(jù)式(2)和式(3)可得:
即可求得水炮打擊需要的俯仰角為:
(13)
通過以上方法對水炮水平角和俯仰角進(jìn)行調(diào)整,可以使水炮較為準(zhǔn)確地對準(zhǔn)目標(biāo)。但考慮到現(xiàn)實環(huán)境的復(fù)雜性、目標(biāo)的運動速度以及光電本身存在的穩(wěn)定誤差等因素,使得水炮的實際打擊點與射流模型得到的水炮俯仰角和水平角存在一定誤差,因而必須對水炮打擊角度進(jìn)行二次調(diào)整。
由于射流軌跡識別技術(shù)[14-15]以及目標(biāo)檢測[16-17]的算法已經(jīng)比較成熟,通過圖像處理技術(shù)檢測出射流的落點(xl,yl)以及目標(biāo)中心點位置(xr,yr),二者之間的位置之差為
圖5 落點檢測圖片
在圖像坐標(biāo)系中,圖像左上角為坐標(biāo)原點,水平向右為x方向,垂直向下為y軸方向。對于圖5而言,Δx>0,Δy>0,水炮此刻的轉(zhuǎn)動方向應(yīng)為:水平逆時針轉(zhuǎn)動,垂直向下轉(zhuǎn)動。根據(jù)Δx和Δy的正負(fù)來對水炮的轉(zhuǎn)動方向進(jìn)行調(diào)整,如表1所示。
表1 水炮與攝像頭的位置差異及水炮轉(zhuǎn)動方向的對應(yīng)關(guān)系
對水炮角度進(jìn)行二次調(diào)整,設(shè)置調(diào)整像素的臨界值ε1、ε2。若像素位置差小于ε1,則默認(rèn)水炮打中目標(biāo),不進(jìn)行調(diào)整。若像素位置差在[ε1,ε2]中,則在原有的角度轉(zhuǎn)動角度上增加二次調(diào)整角度偏差值。若像素位置差大于ε2,則給予一個恒定的二次調(diào)整角度。以此不斷迭代調(diào)整,直至將像素位置差控制在ε1內(nèi),使得水炮的打擊相對準(zhǔn)確。位置差與水炮角加速度λ的關(guān)系如圖6所示。
圖6 位置差與水炮角速度關(guān)系圖
結(jié)合式(5)可得二次調(diào)整后水炮水平角為:
同理,結(jié)合式(13),最終的水炮俯仰角為:
水炮采取的是步進(jìn)式電機進(jìn)行控制,水平方向和垂直方向細(xì)分?jǐn)?shù)都為32加速度為32 000,射流速度為恒定值v0=4.2 m/s。水炮與攝像頭之間的x軸相對距離為0.40 m,y軸相對距離為0.35 m,z軸相對距離為1.10 m。攝像頭高度z1=2.09 m,水炮高度z2=0.99 m,本文選擇1 600×900的分辨率,即目標(biāo)中心點坐標(biāo)為(800,450)。
如圖7所示,在第12幀時,目標(biāo)中心點坐標(biāo)為(799,450),落點坐標(biāo)為(885,514),Δx=86,Δy=64,故判斷目標(biāo)未打中,即從垂直向下、水平逆時針方向運動。在后續(xù)幀中不斷對水炮角度進(jìn)行調(diào)整,一次次靠近向目標(biāo)靠近。第19幀時,目標(biāo)中心點坐標(biāo)為(802,464),檢測到的落點坐標(biāo)(845,463),此時系統(tǒng)判斷打中目標(biāo)。在后續(xù)的第23幀、38幀、52幀、73幀持續(xù)對目標(biāo)進(jìn)行打擊,打擊效果良好。
圖7 閉環(huán)控制打擊效果圖
本文提出了一種基于圖像視覺處理的射流閉環(huán)控制方法,對水炮的俯仰角和水平角進(jìn)行二次調(diào)整對目標(biāo)進(jìn)行準(zhǔn)確且持續(xù)性打擊。主要有以下貢獻(xiàn):1) 根據(jù)目標(biāo)測距和攝像頭轉(zhuǎn)動的角度,建立了一種幾何模型,對水炮回轉(zhuǎn)角進(jìn)行計算。2) 在受壓力、流量、高度等都固定的情況下,建立了一種基于射流運動的俯仰角偏轉(zhuǎn)模型,對水炮偏轉(zhuǎn)角進(jìn)行計算。3) 將射流檢測、光電轉(zhuǎn)動角度和水炮控制結(jié)合起來,提出一種水炮閉環(huán)控制方式,持續(xù)對目標(biāo)進(jìn)行打擊。
由于時間、經(jīng)歷以及實驗條件上的限制,本文的研究仍然存在可以完善和改進(jìn)的空間,以下幾個方面可以進(jìn)一步完善。1) 主要考慮重力和空氣阻力的因素,沒有綜合考慮對壓力、流量、高度、空氣密度以及風(fēng)力等因素對射流運動軌跡模型的影響。2) 水炮射流末端存在明顯的發(fā)散等問題,對射流落點的檢測和打擊的準(zhǔn)確性造成一定的干擾。3) 當(dāng)前水炮架設(shè)高度低且流量小。