基于視覺的無人機自動著陸定位算法
摘要:本文提出了一種基于HSV直方圖、橢圓擬合和多邊形擬合的著陸目標提取和位姿估計的算法,提出了一種特定顏色、特定形狀的新型地標。充分應用顏色信息和幾何信息,消除了特征點檢測出現(xiàn)錯誤匹配的情況,對光照及目標模型旋轉均有一定魯棒性,有效提高了目標檢測的速度和準確度。本文通過坐標變換以及橢圓的基本特征,將位姿估計轉化為一個一元十二次方程的求解問題,并對坐標轉換進行簡化處理,提高位姿估計的處理速度。最后通過實拍測試,證明本文的方法可靠、目標可識別及降落位置準確。
本文引用地址:http://m.butianyuan.cn/article/201606/293261.htm引言
在機器人研究領域里,無人機系統(tǒng)已經(jīng)成為一個主要趨勢, 在無人機降落過程中,對降落目標的識別以及無人機位姿估計是兩個至關重要的問題。文獻[3]中采用net-Recovery方法,系統(tǒng)整體分為地面系統(tǒng)和無人機搭載系統(tǒng)。無人機搭載系統(tǒng)負責圖像采集以及控制無人機的飛行,通過GPS和IMU收集位置信息;地面系統(tǒng)負責圖像處理,獲取基于視覺的位置和速度評估值。文獻[2]中設計了一種新型降落目標模型,充分應用到幾何特性。由此篇文章的啟發(fā),本文中也自主設計了一種易于識別的模型,在識別之后,先將目標區(qū)域進行分割,然后再進行無人機位姿估計。文獻[5]中的設計是基于文獻[2]中設計的目標識別的改進,考慮到了光線及遮擋問題,提取效果較好,增強了目標識別的魯棒性。文獻[6]提出了一種新型著陸模型,用到同心圓圖形比例關系,但沒有給出側方檢測出橢圓時的處理方法。文獻[1]和文獻[4]中都提出了一種目標分割的方法和流程。文獻[1]中應用到了直方圖均衡、圖像分塊匹配及CamShift算法提取圖像輪廓。而本文應用彩色直方圖分割,先確定圖像中是否有降落目標,再通過橢圓擬合和橢圓分割,將目標圖像分割出來,然后再通過坐標轉換,將位置估計轉化為一個一元十二次方程的求解問題。
本文采用一種新型著陸目標,如圖1所示,本圖形由一個六邊形、三個同心圓和一個等邊三角形組成,每個圖形的邊長如表1所示。每個圖形與其外圍圖形之間有顏色區(qū)分,著陸目標大部分都為紅色,少部分為白色。視覺算法流程圖如圖2所示。
1 基于彩色直方圖及橢圓擬合的目標提取
本文采用HSV顏色模式,通常采集的圖片顏色模式為RGB,但是RGB模式對顏色的失真度較大,所以首先將RGB模式轉為HSV模式,其中H代表色相,通過公式1求取紅色像素個數(shù)。
(1)
其中M為紅色像素個數(shù),N為總像素個數(shù)。當比例滿足一定閾值時,我們認為圖像中有要尋找的著陸目標;否則,直接進行下一幀圖像檢索,如公式(1)所示??紤]到目標遠近及角度問題,其中閾值我們?nèi)?.05。
初步預判圖像中是否有著陸目標后,采用邊緣識別比較優(yōu)秀的Canny邊緣檢測算法進行檢測。為了防止邊界細小并且出現(xiàn)細小的斷續(xù),我們采用膨脹腐蝕方法對圖像進行處理。先做膨脹,使圖形閉合,再做腐蝕,消除膨脹后邊界過粗現(xiàn)象。
邊緣檢測好后,我們采用最小二乘法進行橢圓擬合,橢圓的表達式如公式(2)所示。其中包括六個位置參數(shù),令求出橢圓參數(shù)。求出的橢圓方程滿足所有邊界點與其距離差方和最小。接下來通過橢圓過濾,濾掉不規(guī)則的外部邊界以及著陸目標中非橢圓部分。在擬合出的橢圓中會得到長半軸和短半軸長度m和n,這里我們將m和n的范圍同時擴大或縮小相同的倍數(shù),使得一個橢圓變成一個橢圓簇,橢圓簇中每個橢圓的旋轉角度相同,兩個焦點坐標相同,短半軸與長半軸的比例相同,即滿足公式(2)的關系。本文中設在0.85~1.15之間,同時我們計算滿足公式(2)的點數(shù)占邊緣點數(shù)的比例,比例范圍在一定區(qū)間的橢圓才確定是我們需要檢測出的邊緣,如表達式(3)所示。本文中設為0.95。因為我們所選擇的圖形橢圓比例固定,并且圓映射后其半徑會映射為橢圓的長半軸長度,在檢測出的橢圓中我們需要進行不同橢圓長半軸之間比值判斷,這里我們只判斷外圓和第二層圓的比值,而內(nèi)部圓形用于圓心的定位,比例如公式(4)所示,δ范圍為0.95~1.10。
(2)
(3)
(4)
當橢圓確定后,因為范圍大的橢圓對圓心估計的失真較大,所以我們根據(jù)識別出來的最小橢圓來判定圓心坐標,同時根據(jù)外圓半徑與六邊形的比例關系,可以確定著陸目標的范圍,通過基于Ramer–Douglas–Peucker(RDP)算法多邊形擬合,可以降低曲線中的點數(shù),只保留頂點坐標,通過判定頂點坐標是否全部都在預先確定的著陸目標范圍內(nèi)而排除干擾圖形。其中頂點坐標范圍判別如公式(5)所示,L為六邊形頂點到圓心距離,為閾值,設為1.2。
(5)
通過以上公式,可以提取出六邊形和三角形,并且過濾掉外圍干擾邊緣。
2 位置估計及參數(shù)估計
當我們得到橢圓方程后,根據(jù)外圓的參數(shù),可以得到長短半軸與坐標軸平行時橢圓的橫滾角為、長半軸長為m,短半軸長為n,如公式(6)~(8)所示??臻g位置具有六個自由度,即,其中V是無人機相對于著陸目標原點的空間位置坐標,R是無人機相對于著陸目標原點的角度坐標,ad為俯仰角,gd為偏航角,jd為橫滾角。其中,jd可以通過橢圓參數(shù)求得的j直接得出,而其他五個參數(shù)可以通過坐標轉換得出,各坐標系之間的關系如圖3所示。
(6)
(7)
(8)
在攝像機拍攝的圖像中,設光心與地面交點為原點O,光軸在水平面投影為X軸,水平面上與X軸垂直的為Y軸,與水平面垂直的為Z軸,以O為坐標原點的地面坐標系為OXYZ。以Y軸為旋轉軸,將OXZ平面旋轉α角,使Z'軸與光軸重合,得到O'X'Y'Z'坐標系。在獲取的圖像上,我們以圖像的中心為坐標原點,圖像橫向為U軸,圖像的縱向為V軸,光心為原點Oc,即圖像中心。由于拍攝圖像時攝像機會有一定的橫滾角j,即橢圓與圖像U軸的夾角,讓坐標系OCUV旋轉j角度,使橫滾角為0℃,旋轉后的坐標軸為O'CU'V',坐標系O'CU'V'為坐標系O'X'Y'Z'的投影。令OOC長度為h,圓心在OXYZ中的坐標為(x0,y0),大圓的半徑已知為R。
地面坐標系中,圓的方程如公式(9)所示;坐標系OXYZ與坐標系O'X'Y'Z'的轉換關系如公式(10)所示;坐標系OCUV與坐標系O'CU'V'的轉換關系如公式(11)所示。
(9)
(10)
(11)
從坐標系O'X'Y'Z'到坐標系O'CU'V'的映射滿足小孔成像映射原理,其映射表達式如(12)所示,其中f為攝像機焦距。圖像中橢圓的一般方程表達式如(13)所示,由坐標系OCUV旋轉角得到坐標系O'CU'V'后,橢圓的表達式如(14)所示,由表達式(9)、(10)、(11)、(12)和(14)解得橢圓方程的參數(shù)如(15)所示。已知,角可直接由公式(8)求得,所以由(13)可求得O'CU'V'坐標系中橢圓方程的參數(shù)如公式(17)所示。
(12)
(13)
(14)
(15)
(16)
(17)
聯(lián)立(15)和(17),并令得關于x的一元十二次方程, 將j由公式(8)求得值帶入公式(17)中求的值,橢圓短半軸與長半軸的比值是COSα,將和α值帶入(15)中,可求出的值。
圖3中我們令坐標系OdXdYdZd以圓心為原點,以OdOc軸在水平面投影方向為Xd軸,以Xd軸垂直方向為Yd軸,以垂直水平面方向向上為Zd軸,光心在OdXdYdZd坐標系中的位置為,如公式(18),俯仰角、偏航角和橫滾角可如公式(19)解得。至此無人機的六個自由度都已求出。
(18)
(19)
3 實驗結果
3.1 不同角度和光線下目標提取效果
在室外通過無人機拍攝,將攝像機固定在無人機下方,獲取不同光照條件下地標圖形,圖4是在普通自然光下地標提取效果圖,圖5為在光照較暗的條件下提取的效果。
在自然光和陰暗條件下,通過不同角度拍攝,目標識別效果均比較理想,可以排除噪點的影響。紅色部分為改進的橢圓擬合提取的橢圓圖形,藍色和綠色部分為多邊形擬合提取的結果,多邊形擬合過程中會對三角形和六邊形做不同的處理,以充分識別多邊形的形狀,中間的紅色原點為識別出來的圓心位置。可見本文目標提取算法可以準確提取目標,可以有效排除周圍噪點的干擾,在不同光線和拍攝角度下提取效果均比較理性,可見本文算法具有良好的穩(wěn)定性。
3.2 基于橢圓和多邊形的位姿估計
表2和表3分別是在自然光和光線較暗的條件下的位姿估計結果。拍攝高度在40cm~180cm范圍,水平距離在20cm~200cm范圍內(nèi),橫滾角控制在20°以內(nèi),偏航角在50°以內(nèi),俯仰角30°~80°之間,實驗結果比較準確,但是在俯仰角較小而偏航角較大的情況下誤差會增大,但仍能控制在5cm范圍內(nèi),說明本文能夠滿足無人機定位的要求。
4 總結
本文設計了一個新型著陸模型,利用HSV彩色直方圖排除無目標圖像,通過改善的橢圓擬合和多邊形擬合識別著陸目標,識別結果理想,對光照和旋轉有很高的魯棒性。本文通過坐標變換及橢圓方程的性質求得無人機位姿,誤差控制在5cm范圍內(nèi)。實驗結果充分證明本文方法穩(wěn)定可行。
參考文獻:
[1]Zhao Y, Pei H. An improved vision-based algorithm for unmanned aerial vehicles autonomous landing[J]. Physics Procedia, 2012, 33: 935-941.
[2]Cocchioni F, Mancini A, Longhi S. Autonomous navigation, landing and recharge of a quadrotor using artificial vision[C] Unmanned Aircraft Systems (ICUAS), 2014 International Conference on. IEEE, 2014: 418-429.
[3]Kim H J, Kim M, Lim H, et al. Fully autonomous vision-based net-recovery landing system for a fixed-wing uav[J]. Mechatronics, IEEE/ASME Transactions on, 2013, 18(4): 1320-1333.
[4]Hui C, Yousheng C, Xiaokun L, et al. Autonomous takeoff, tracking and landing of a UAV on a moving UGV using onboard monocular vision[C] Control Conference (CCC), 2013 32nd Chinese. IEEE, 2013: 5895-5901.
[5]Cocchioni F, Frontoni E, Ippoliti G, et al. Visual Based Landing for an Unmanned Quadrotor[J]. Journal of Intelligent & Robotic Systems, 2015: 1-18.
[6]Lange S, Sünderhauf N, Protzel P. Autonomous landing for a multirotor UAV using vision[C] International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR 2008). 2008: 482-491.
本文來源于中國科技期刊《電子產(chǎn)品世界》2016年第6期第48頁,歡迎您寫論文時引用,并注明出處。
評論