劉 豐,于 洋,郭 璇,*,畢衛(wèi)紅,高佳玥
(1. 燕山大學(xué) 信息科學(xué)與工程學(xué)院,河北 秦皇島 066004; 2. 河北省特種光纖與光纖傳感重點實驗室,河北 秦皇島 066004)
隨著我國海洋強(qiáng)國戰(zhàn)略的推進(jìn)實施,構(gòu)建遙感衛(wèi)星、無人機(jī)、無人艇、海面站、岸基站一體的海洋立體生態(tài)監(jiān)控網(wǎng)絡(luò)體系是推進(jìn)我國海洋生態(tài)文明建設(shè)、保護(hù)海洋環(huán)境所急需的關(guān)鍵技術(shù)。特別是隨著我國無人機(jī)技術(shù)的迅速發(fā)展,基于無人機(jī)的近岸海域綠潮、赤潮等生態(tài)災(zāi)害的實時監(jiān)測技術(shù)已經(jīng)成為海洋科學(xué)領(lǐng)域的研究熱點。在海洋災(zāi)害監(jiān)測中可用的無人機(jī)系統(tǒng)資源越來越豐富,搭載的專用設(shè)備的性能和系統(tǒng)智能化程度也在不斷提高[1]。無人機(jī)監(jiān)測作為傳統(tǒng)監(jiān)測手段的重要補充,在災(zāi)情監(jiān)測中表現(xiàn)出了效率高、行動迅速、監(jiān)測細(xì)致等優(yōu)勢[2-3]。
然而,目前無人機(jī)受限于持續(xù)續(xù)航能力不足,導(dǎo)致岸基起飛覆蓋監(jiān)測面積受限,限制了無人機(jī)在海洋環(huán)境監(jiān)測領(lǐng)域的深度應(yīng)用。開展無人機(jī)自主著艦技術(shù)的研究是拓展基于無人機(jī)的海洋藻類災(zāi)害監(jiān)測范圍、保障無人機(jī)飛行安全、甚至實現(xiàn)無人機(jī)著艦電力自動補充的核心技術(shù)之一。GPS導(dǎo)航是目前最為廣泛使用的無人機(jī)定位技術(shù)[4],然而在GPS導(dǎo)航系統(tǒng)精確度不高的情況下,現(xiàn)有的慣性導(dǎo)航系統(tǒng)在誤差補償時不能提供足夠精確的位置信息,難以勝任自主著陸的要求,所以要另外尋求其他的有效手段[5]。
在無人機(jī)自主著陸技術(shù)領(lǐng)域,針對靜態(tài)著陸點降落已有較為完善方案,技術(shù)也趨于成熟。文獻(xiàn)[6]和[7]設(shè)計了一套輔助無人機(jī)自動著陸的機(jī)器視覺系統(tǒng),對水平地面上的著陸點進(jìn)行檢測。而對于隨海面波動實時變化的無人艇著陸平臺來說,平穩(wěn)安全著陸依舊是個未得到良好解決的難題。文獻(xiàn)[8]通過采用地面人工標(biāo)識April Tag與無人機(jī)的視覺引導(dǎo)跟蹤算法相結(jié)合的方案,實現(xiàn)無人機(jī)的懸停和在移動平臺上的著陸,但對于起伏不定的無人艇,無法保證能夠安全著陸。文獻(xiàn)[9]針對無人機(jī)在垂直升降平臺上的自主著陸問題,設(shè)計了由運動估計模塊、軌跡生成模塊和跟蹤模塊組成的控制結(jié)構(gòu),但對于存在傾角的著陸面未進(jìn)行實驗分析。
本文針對無人機(jī)自主著艦技術(shù)的實際工程需求,提出了基于機(jī)載攝像頭與艇載慣性導(dǎo)航裝置相結(jié)合的自主降落方案。通過對降落標(biāo)志的識別,結(jié)合無人艇傳回的姿態(tài)數(shù)據(jù),對著艦的最佳時機(jī)進(jìn)行判定,以實現(xiàn)無人機(jī)的安全著艦。經(jīng)過理論建模分析和實驗研究表明本方案能夠?qū)崿F(xiàn)無人機(jī)在無人艇上的自主安全降落,研究結(jié)果能夠為無人機(jī)自主在無人艇上可靠著陸提供理論支撐,并具有很好的實際工程應(yīng)用價值。
本文研究的四旋翼無人機(jī)自主著艦系統(tǒng)流程如圖1所示。
圖1 無人機(jī)自主著艦策略Fig. 1 Autonomous landing strategy of UAV
在無人機(jī)的著艦過程中,通過能否捕獲降落標(biāo)志來判斷無人機(jī)與無人艇是否在同一水域。若不在同一水域,無人機(jī)通過GPS導(dǎo)航向無人艇方向進(jìn)行移動。
因為無人艇隨海浪的波動會進(jìn)行無規(guī)則的運動,導(dǎo)致無人機(jī)無法直接在無人艇上進(jìn)行降落。影響無人機(jī)降落的兩個主要參數(shù)是滾轉(zhuǎn)角和俯仰角[10]。為了降低無人機(jī)視頻圖像識別處理的難度,本方案通過在無人艇上搭載慣性導(dǎo)航單元來獲取實時滾轉(zhuǎn)角和俯仰角信息,并通過短距無線通信系統(tǒng)實時傳輸?shù)綗o人機(jī)控制系統(tǒng),當(dāng)無人艇的姿態(tài)滿足無人機(jī)降落條件時進(jìn)行著陸操作,否則在當(dāng)前位置進(jìn)行懸停,重新尋找下一次降落的最佳時機(jī)。
本文所設(shè)計的降落平面檢測系統(tǒng)包括兩部分如圖2所示,安裝于降落平面上的為測量發(fā)送設(shè)備,以MPU6050為核心,實時檢測平面的姿態(tài)信息,并利用無線傳輸模塊,將姿態(tài)信息發(fā)送出去。安裝于四旋翼無人機(jī)上的為決策接收設(shè)備,接收到測量設(shè)備傳回來的姿態(tài)信息,對此時降落平面的姿態(tài)進(jìn)行安全性判定。降落平面檢測裝置如圖3所示。
圖2 降落平面檢測系統(tǒng)圖Fig. 2 Landing plane detection system
圖3 降落平面檢測裝置Fig. 3 Landing plane detection device
無人機(jī)降落時,主要依靠機(jī)載攝像頭捕捉無人艇甲板上的降落標(biāo)識,因此一個特征突出并容易識別的降落標(biāo)志尤為重要。在本文中,設(shè)計的專用降落標(biāo)志如圖4所示。標(biāo)志主體由一個圓環(huán)和一個內(nèi)接正三角形構(gòu)成。此三角形分為兩部分,由頂點向下作垂線,左側(cè)為白色右側(cè)為黑色,中間的垂線便于無人機(jī)與無人艇之間朝向校準(zhǔn)。
圖4 降落標(biāo)志Fig. 4 Landing sign
運動中的無人機(jī)在通過機(jī)載攝像頭捕獲圖像時,會受到諸如光子噪聲和暗電流噪聲等因素的干擾,導(dǎo)致圖像中噪聲信息的引入,因此需要在盡量保持圖像細(xì)節(jié)特征的前提下,對圖像的噪點進(jìn)行抑制即圖像濾波[11]。常用的圖像濾波方式有線性濾波和非線性濾波,但對于圖像中存在有效像素值為0噪聲像素值為255的情況下,線性濾波只能將噪聲處理為更柔和的形式,而非線性濾波可以通過邏輯判斷將該噪聲過濾掉[12]。
非線性濾波中常用的濾波方式包括中值濾波和雙邊濾波,二者相比較,中值濾波會使圖像的邊緣信息變?nèi)跎踔料?,而為了對所設(shè)計的降落標(biāo)志進(jìn)行識別,需要對圖像的邊緣進(jìn)行精準(zhǔn)的把握,因此本文選擇了不僅能將圖像中所帶有的噪聲濾除掉,同時也不會變動圖像中有效信息的雙邊濾波算法。雙邊濾波可以使頻率較高的信號變得平滑,還會使變化較大的信號維持原樣,實現(xiàn)對邊緣的平滑處理。雙邊濾波器表達(dá)式為
式中,g(i,j)為被卷積的像素點(i,j)的像素強(qiáng)度,f(k,l)為鄰域像素點(k,l)的像素強(qiáng)度,ω(i,j,k,l)為加權(quán)系數(shù),其等于值域濾波器d(i,j,k,l)與空域濾波器r(i,j,k,l)的乘積。空域濾波器與值域濾波器的表達(dá)式分別為
式中,σd與σr為平滑參數(shù),f(i,j)與f(k,l)分別為鄰域像素點(i,j)和(k,l)的像素強(qiáng)度。
采用上述方法對降落標(biāo)志圖像進(jìn)行預(yù)處理得到的輪廓清晰的二值化圖像如圖5(b)所示。
圖5 捕獲的圖像與二值化后的圖像Fig. 5 Captured image and binarized image
仿真研究和實際測試效果表明:采用雙邊濾波法進(jìn)行圖像預(yù)處理時,主要涉及的參數(shù)包括每個像素鄰域的直徑、顏色空間濾波器的標(biāo)準(zhǔn)差值和空間坐標(biāo)濾波器的標(biāo)準(zhǔn)差值。綜合考慮運行速率與處理效果,濾波器的具體參數(shù)選擇見表1。
表1 雙邊濾波參數(shù)Tab.1 Bilateral filtering parameters
OpenCV提供了圓形檢測算法,最常使用的是霍夫變換[13-14],通過在兩個空間坐標(biāo)系間對像素進(jìn)行變換,可以令在初始空間坐標(biāo)系包含同樣性質(zhì)的曲線變換到另一個空間坐標(biāo)系中并且數(shù)值增大到峰值,如此便可以將檢測邊緣形狀問題轉(zhuǎn)變成峰值捕獲過程。在檢測圓形過程中,將圖像空間xy直角坐標(biāo)系中的像素映射到參數(shù)空間中,并在參數(shù)空間中搜索交點是否存在,圓形的數(shù)學(xué)表達(dá)式為
式中,(a,b)為圓心坐標(biāo),θ為半徑與x軸的夾角。在OpenCV中提供了HoughCircles函數(shù)用來檢測灰度圖像中是否包含有圓形,在此需要合理設(shè)置兩圓心距離的最小值。若最小值太小,除了捕獲到需要的圓形外還會檢測到其余臨近的圓形,給圖像識別帶來干擾;若最小值太大,則有可能會對圖像處理不完全,有所漏失,經(jīng)過仿真和實驗研究,本文選取的各參數(shù)取值見表2。
表2 HoughCircles函數(shù)參數(shù)Tab.2 HoughCircles function parameters
對原圖像進(jìn)行圓形捕獲,并將捕獲結(jié)果顯示在原圖像上,如圖6(b)所示。
圖6 原圖像與圓形捕獲Fig. 6 Original image and circular capture
當(dāng)無人機(jī)降落至距無人艇甲板50 cm左右時,由于高度過低,會存在無法完全捕獲圓環(huán)的可能,因此轉(zhuǎn)為對內(nèi)部小三角形的識別,并通過三角形內(nèi)部的垂線,來判斷無人艇的朝向,使無人機(jī)與無人艇進(jìn)行朝向校準(zhǔn)。對三角形捕獲仿真如圖7(b)所示。
圖7 邊緣檢測與三角形捕獲Fig. 7 Edge detection and triangle capture
在無人機(jī)自主降落的整個系統(tǒng)中,涉及4種不同坐標(biāo)空間的轉(zhuǎn)換,分別是世界坐標(biāo)系、機(jī)體坐標(biāo)系(相機(jī)坐標(biāo)系)、圖像坐標(biāo)系和像素坐標(biāo)系。世界坐標(biāo)系OwXwYwZw以目標(biāo)物體為原點,建立規(guī)則符合右手坐標(biāo)系,通過世界坐標(biāo)系對無人機(jī)位置進(jìn)行定位。由于機(jī)載攝像頭固定在無人機(jī)中心處,可以將機(jī)體坐標(biāo)系與相機(jī)坐標(biāo)系看作是同一個坐標(biāo)空間。相機(jī)坐標(biāo)系的原點Oc為相機(jī)鏡頭的光心,OcZc軸與相機(jī)的光軸重合,OcXc軸平行成像平面并指向右側(cè),OcYc軸垂直O(jiān)cXcZc屏幕并指向下方。像素坐標(biāo)系OpXpYp主要是用來定義相機(jī)所捕獲圖像中每個像素位置之間的關(guān)系,它的原點為圖像左上方的頂點,OpXp軸和OpYp軸分別與圖像坐標(biāo)系中OiXi軸和OiYi軸方向一致。與像素坐標(biāo)系相對應(yīng)的圖像坐標(biāo)系主要是用來定義圖像的真實長度,光軸在感光片上對應(yīng)點為原點Oi,OiXi平行向右,OiYi與OiXi垂直并指向下方。圖像坐標(biāo)系與像素坐標(biāo)系具體如圖8所示。
圖8 圖像坐標(biāo)系與像素坐標(biāo)系Fig. 8 Image coordinate system and pixel coordinate system
圖片中的點P,在圖像坐標(biāo)系中坐標(biāo)為P(xi,yi),在像素坐標(biāo)系中坐標(biāo)為P(xp,yp),兩者之間的關(guān)系為
(1)
式中,xi0和yi0為圖像坐標(biāo)系原點在像素坐標(biāo)系中的位置,通常取值為圖像長度的一半,dxp與dyp分別表示一個像素的物理寬度和高度。
空間中一三維點P(xc,yc,zc)在圖像坐標(biāo)空間中投影點為P′(x′,y′)如圖9所示,為便于分析計算,作圖像平面關(guān)于光心的對稱平面,三維點在此平面投影點為P(x,y),如此便可以得到三維空間的點與圖像中的點之間的轉(zhuǎn)換關(guān)系為
圖9 點到圖像坐標(biāo)系的映射Fig. 9 Mapping of points to image coordinate systems
(2)
式中,f為焦距,即圖像平面到光心的距離。將式(2)代入式(1)并轉(zhuǎn)化為矩陣形式可以得到
式中,K為攝像頭的內(nèi)參矩陣,通過內(nèi)參矩陣可以將相機(jī)坐標(biāo)系下任意的三維坐標(biāo)映射到像素坐標(biāo)系中,構(gòu)建空間點與像素點之間的映射關(guān)系。
依據(jù)四旋翼飛行器飛行控制的特點,建立了姿態(tài)與位置的數(shù)學(xué)模型,并利用Simulink工具對四旋翼飛行器模型進(jìn)行模擬,在建模過程中所需要的四旋翼飛行器的參數(shù)見表3。
表3 四旋翼飛行器參數(shù)表Tab.3 Quadcopter parameter
以“十”字形四旋翼飛行器為例,為不失一般性,假設(shè)四旋翼飛行器為均勻?qū)ΨQ的剛體[15],如圖10所示。
圖10 十字形四旋翼飛行器Fig. 10 Cross-shaped quadcopter
對其進(jìn)行動力學(xué)分析,已知力矩計算公式為
M=L×F,
式中,L是轉(zhuǎn)動軸到受力點的距離,F(xiàn)是作用于物體上的矢量力。對于x軸來說,力矩由電機(jī)2與電機(jī)4產(chǎn)生,電機(jī)2產(chǎn)生正向力矩,電機(jī)4產(chǎn)生負(fù)向力矩,同理對于y軸來說,力矩由電機(jī)1與電機(jī)3產(chǎn)生,電機(jī)3產(chǎn)生正向力矩,電機(jī)1產(chǎn)生負(fù)向力矩。根據(jù)x軸與y軸的方向可知,z軸垂直紙面向上,因此對于z軸,電機(jī)2與電機(jī)4產(chǎn)生正向力矩,電機(jī)1與電機(jī)3產(chǎn)生負(fù)向力矩。可得到各軸上的力矩為
(3)
式中,d為無人機(jī)中心到旋翼的距離,b為系數(shù),f1、f2、f3、f4分別為四個電機(jī)產(chǎn)生的力,其力的大小為
式中,CT為升力系數(shù),ωi為電機(jī)轉(zhuǎn)速,i=1,2,3,4。由式(3)可以得到四旋翼飛行器的合力矩為
M=Jε+w×Jw
(4)
式中,J為慣量矩陣,ε為角加速度,w為角速度,具體表達(dá)式為
(5)
由此即可建立出角加速度與角速度和電機(jī)速度的數(shù)學(xué)模型。
在位移模型建立過程中,需要涉及兩個坐標(biāo)系,分別是地面坐標(biāo)系和機(jī)體坐標(biāo)系,機(jī)體坐標(biāo)系轉(zhuǎn)為地面坐標(biāo)系的轉(zhuǎn)換矩陣為Rbg,
每個電機(jī)在機(jī)體坐標(biāo)系下都會產(chǎn)生一個向上的升力fi,同時四旋翼飛行器也會受到自身垂直向下的重力的作用,受到的合力為
式中,ax、ay和az分別為四旋翼飛行器在各坐標(biāo)軸上的加速度,將之轉(zhuǎn)換到地面坐標(biāo)系
(4)
式中,fall=f1+f2+f3+f4。
在四旋翼飛行器的控制系統(tǒng)中,采用PD控制,外環(huán)為位置控制,對式(5)進(jìn)行變換,可得
式中,Ux、Uy和Uz分別為x、y和z軸的虛擬控制量。四旋翼飛行器的內(nèi)環(huán)為姿態(tài)控制,由式(5)可知,φ受到電機(jī)2與電機(jī)4的影響,θ受到電機(jī)3與電機(jī)1的影響,可以得到電機(jī)轉(zhuǎn)速與控制量之間的關(guān)系式
式中,U1為位置控制量,U2、U3和U4為姿態(tài)控制量,通過轉(zhuǎn)換矩陣將控制量轉(zhuǎn)換為電機(jī)轉(zhuǎn)速,實現(xiàn)對四旋翼飛行器的控制。
本次Simulink仿真設(shè)計了4個任務(wù)目標(biāo)點,四旋翼無人機(jī)由原點(0,0,0)起飛,依次飛向目標(biāo)點(0,0,5),(5,0,5),(5,5,5),(0,5,5),最后垂直降落,仿真結(jié)果如圖11所示??梢钥闯龃四P涂梢杂行椭男盹w行器追蹤目標(biāo)地點。
圖11 實際距離與期望距離Fig. 11 Actual distance and expected distance
四旋翼飛行器能否平穩(wěn)降落在無人艇甲板上,主要需要考慮的因素包括兩點,分別是四旋翼飛行器與甲板之間的摩擦力以及甲板的傾角。而甲板的傾角包括俯仰角θ與滾轉(zhuǎn)角Φ,四旋翼飛行器分別在降落平面俯仰角θ與滾轉(zhuǎn)角Φ的作用下產(chǎn)生沿斜面向下的分力為
Fθ=mgsinθ,
FΦ=mgsinΦ,
結(jié)合兩個分力,可以得到無人機(jī)沿斜面向下的合力為
(6)
四旋翼飛行器與降落平面之間的最大摩擦力為
fmax=mgμsinα,
(7)
式中,μ為摩擦力系數(shù),α為降落平面與水平面之間夾角的極限值。根據(jù)式(6)和(7),使四旋翼飛行器能夠安全著陸,沿斜面向下的合力要小于最大靜摩擦力,因此降落平面的俯仰角θ與滾轉(zhuǎn)角Φ要滿足
sin2θ+sin2Φ≤μ2sin2α,
為確定最大靜摩擦力即確定四旋翼飛行與降落平面間最大夾角,進(jìn)行了十次實驗如圖12所示,確定在本文所設(shè)計的系統(tǒng)方案中安全降落的傾角閾值,具體實驗數(shù)據(jù)見表4。
表4 降落平臺傾角測試Tab.4 Landing platform inclination test
無人機(jī)降落傾角測試實驗如圖12所示。當(dāng)降落平面與水平面夾角處于6°之間時 ,無人機(jī)可以安全著陸于目標(biāo)甲板上,超過此角度則不能確保無人機(jī)著陸的安全性與穩(wěn)定性。
圖12 平臺傾角測試實驗Fig. 12 Platform inclination test experiment
根據(jù)上述對降落平面俯仰角與橫滾角的綜合分析,設(shè)計了降落平面傾角監(jiān)測上位機(jī),可以實時監(jiān)測傾角狀態(tài)并進(jìn)行降落判定,如圖13所示。
圖13 無人艇上降落平面的監(jiān)測Fig. 13 Monitoring of landing planes on USV
分別對是否使用降落平面檢測系統(tǒng)進(jìn)行了十次降落實驗,在實驗過程中,通過人為隨機(jī)晃動降落平面來模擬無人艇在海面上的起伏狀態(tài),如圖14所示。未使用降落平面檢測系統(tǒng)的情況下,無人機(jī)不考慮降落平面的狀態(tài)而持續(xù)降落,在十次實驗中有四次會因平面傾角過大而滑落,降落成功率為60%。在使用降落平面檢測系統(tǒng)后,無人機(jī)在將降落平面傾角過大的情況下,保持懸停狀態(tài),在安全傾角范圍內(nèi)進(jìn)行降落,十次實驗中僅有一次降落失敗,降落成功率為90%。實驗表明:采用文中方法能夠?qū)⒔德涞某晒β侍岣?0%,無人機(jī)在動態(tài)平面上的降落安全性得到了提升。
圖14 降落效果檢測實驗Fig. 14 Landing effect test
本論文在總結(jié)國內(nèi)外無人機(jī)控制與視覺識別技術(shù)的基礎(chǔ)上,結(jié)合動態(tài)降落平面的姿態(tài)變化,針對海面無人艇起伏狀態(tài)下無人機(jī)自主著艦問題,提出了一種基于降落平面姿態(tài)主動反饋的無人機(jī)降落方案。在模擬無人艇狀態(tài)下進(jìn)行無人機(jī)自主降落實驗,結(jié)果表明,在以降落平面與水平夾角為6°的條件下,采用此方案進(jìn)行降落的成功率提升了約30%,因此本方案適用于海上無人艇等動態(tài)平面環(huán)境下的無人機(jī)著陸。