任艷霞,屈科科
(濟源職業(yè)技術學院 機電工程系,河南 濟源 459000)
隨著無線通信、嵌入式和圖像處理等技術的迅猛發(fā)展,無人機的應用領域迅速擴展。我國是一個農業(yè)大國,隨著時代的發(fā)展,小農戶的農機經營模式和農耕方法不再適用,農業(yè)現(xiàn)代的步伐正在加快。無人機這一曾經僅僅應用于軍事領域的科學技術,如今正在結合農業(yè)生產,讓無數(shù)的農民朋友有了新的農耕方式。為此,結合雙目視覺、圖像處理和嵌入式控制等技術,設計了一套農用無人機視覺導航算法,能夠實現(xiàn)農業(yè)無人機路徑規(guī)劃和導航策略。
攝像機成像是將空間三維世界轉換成二維平面的一種映射,成像模型有線性模型和非線性模型之分,而針孔成像就是最簡單的線性模型。令投影的中心與歐式坐標系原點疊加在一起,則三維空間中任何一點到成像二維平面都有對應的投影。針孔成像原理示意如圖1所示。
圖1 針孔成像原理示意圖Fig.1 The schematic diagram of pinhole imaging principle
圖1中,cZc為攝像機的光軸坐標,成像二維平面的點X′為三維坐標點X(X,Y,Z)T的映射。采用相似三角形的原理,可以求出X′的坐標點為(fX/Z, fY/Z)T。從三維空間坐標系到成像二維平面的中心投影為
(X,Y,Z)T→(fX/Z,fY/Z)T
(1)
將三維空間坐標系中點X寫成齊次向量(X,Y,Z,1)T,那么成像二維平面的點X′則可以表示為(u,v,1)T,式(1)可以改寫為
X′=PX
(2)
其中,P為攝像機從三維平面到二維平面的投影矩陣。
P=diag(f,f,1) [I|0)]
(3)
雙目視覺模型原理是利用兩臺攝像機從不同角度獲取目標物體的圖像,并計算出目標物體的三維坐標信息等。通常情況下,立體視覺要求雙目攝像機稱光軸平行,標準雙目視覺模型如圖2所示。
圖2 標準雙目視覺模型Fig.2 The standard binocular vision model
圖2中,左右兩個攝像機成像的光心為Cl和Cr,且與光軸互相平行;兩個攝像機的圖像原點都與圖像左上角重合,三維空間坐標點P在左右成像平面成像的點為(ul,vl)和(ur,vr);光軸與成像平面交點到攝像機的中心的距離為該攝像機的焦距f;兩個攝像機的基線距離為b;景深為Z。
為了實現(xiàn)目標物體的雙目視覺定位,引入了pl和pr間水平視差dx(pl,pr),表達式為
(4)
根據(jù)雙目攝像頭成像原理,可以得出其基礎成像矩陣,即
(5)
其中,c為成像常系數(shù)。
使用雙目視覺相機對目標物體進行定位前,首先需要對其進行標定,主要目的是獲取攝像頭的內外參數(shù)及校正透鏡給攝像頭成像帶來的誤差等。在相機標定過程中,需要建立合適的雙目相機幾何模型,將其與透鏡畸變模型結合起來,求出相機內部參數(shù)。相機外參數(shù)則與三維空間和二維成像坐標轉換有關,其參數(shù)主要包括旋轉矩陣R(3×3)和平移向量t(1×3)。完成左右相機的內參數(shù)標定后,還需要對外部參數(shù)進行標定,主要是計算兩個相機的相對位置,以及R和t之間的計算和轉換等。雙目立體相機標定過程如圖3所示。
圖3 雙目立體相機標定過程Fig.3 The calibration process of binocular stereo camera
本文使用SURF(Speeded Up Robust Features)對農用無人機獲取到的視覺圖像進行特征提取與識別。SURF可以對整張圖像的像素點進行特征提取,可以得到一個特征向量,其反映了周邊圖像的強度樣式。假設兩個特征點比較相似,說明其特征向量靠近,若左右兩個相機拍攝到圖像的特征向量相似,則說明很有可能同時對應三維空間上的一點。在幾何空間上,SURF可以對圖像中每個像素點進行計算,得到Hessian矩陣,其數(shù)學表達式為
(6)
Hessian矩陣的數(shù)學表達式可以確定圖像點局部曲率的強度。為了讓圖像像素特征點具有尺度無關性,需要對圖像進行高斯濾波,則
(7)
其中,σ為高斯濾波的方差,表示高斯濾波核的大小。
結合Hessian矩陣和高斯濾波處理之后,能夠獲得圖像局部的最大特征值,再對其進行插值處理,可以得到像素特征點和其尺度值,即可實現(xiàn)目標物體的定位,實現(xiàn)農用無人機的視覺導航。
農用無人機硬件設計是完成農用無人機實現(xiàn)直升機模式、傾轉螺旋機的操縱策略的基礎。本系統(tǒng)采用美國德州儀器(TI)公司Delfino C2000系列的TMS320F2837D實時控制微控制器作為控制計算機,采用微慣性測量元件和雙目相機實現(xiàn)對農用無人機飛行狀態(tài)進行測量,采用精度氣壓計MS5611實現(xiàn)無人機在Z軸方向的自主懸停,采用嵌入式Linux作為無人機的操作系統(tǒng),實現(xiàn)農用無人機的飛行控制。
本文采用了四路PWM的輸出控制,晶體管選用SI2303 MOSFET管,其導通電壓Vgs<4V。當其完全導通時,源漏極電阻是mΩ級別的,自身功耗非常低,滿足對電機的驅動控制。電機驅動電路如圖4所示。
圖4 電機驅動電路Fig.4 The Motor Driving Circuit
陀螺儀成為追蹤物體移動方位與旋轉動作的必要運動傳感器;加速度計可以感知任意方向上的加速度,可以實現(xiàn)對空間運動的判斷。MPU6050傳感器原理圖如圖5所示。
圖5 MPU6050傳感器原理圖Fig.5 The sensor schematic diagram of MPU6050
MHC5883傳感器是一個三軸數(shù)字羅盤,帶有數(shù)字接口的弱磁傳感器芯片,內部采用高精度的磁阻傳感器,可以將羅盤精度控制在1°~2°之間。與MPU6050的聯(lián)合使用,可以更加精準地實現(xiàn)農業(yè)無人機導航。MHC5883傳感器原理圖如圖6所示。
圖6 MHC5883傳感器原理圖Fig.6 The sensor schematic diagram of MHC5883
農用無人機軟件設計采用分層次和模塊化設計思想,可以方便軟件的升級和管理。軟件設計主要包括底層驅動、HAC層和應用開發(fā)層,結構如圖7所示。
圖7 農用無人機軟件結構Fig.7 The Software Architecture of Agricultural UAV
為了驗證農用無人機飛行導航的有效性,進行了無人機導航系統(tǒng)的整機實驗,采用圖像技術和IMU數(shù)據(jù)融合的方法,利用卡爾曼數(shù)據(jù)融合技術實現(xiàn)多傳感器的數(shù)據(jù)融合。農用無人機卡爾曼數(shù)據(jù)融合框架如圖8所示。
圖8 農用無人機卡爾曼數(shù)據(jù)融合框架圖Fig.8 The Kalman Data Fusion Framework of Agricultural UAV
圖9 農用無人機導航飛行軌跡Fig.9 The Navigation Trajectory of Agricultural UAV
由圖9可以看出:農用無人機可以準確地從起點(0,0)飛至目標點(-20,-20,50),且路徑為一條曲線,路徑規(guī)劃和導航能力較強。這說明,農用無人機在飛行中具備足夠的穩(wěn)定性能,證實了農用無人機導航算法的有效性。
結合雙目視覺、圖像處理和嵌入式控制技術等技術,設計了一套農用無人機導航算法,可為無人機提供準確的導航策略。農用無人機飛行實驗表明:農用無人機可以準確的從起點(0,0)飛至目標點(-20,-20,50),且路徑為一條曲線,路徑規(guī)劃和導航能力較強。這說明,農用無人機在飛行中具備足夠的穩(wěn)定性能,證實了農用無人機導航算法的有效性。