(清華大學(xué)天津電子信息研究院,天津 300467)
無人機(jī)在偵查、監(jiān)控、搜救等領(lǐng)域都有著廣泛的應(yīng)用前景,相比較其它無人機(jī),四旋翼無人機(jī)具備垂直起降、靈活性高、可以保持低速飛行的優(yōu)點(diǎn),因此成為當(dāng)前研究的熱點(diǎn)課題。目前人們對四旋翼無人機(jī)提出了更高的要求,指出無人機(jī)要向更加智能、更加實(shí)用的方向發(fā)展,若想達(dá)到這一要求必須要實(shí)現(xiàn)全自主飛行,無人機(jī)要具備自主定位的能力[1]。對于控制無人機(jī)自主飛行這一問題上,傳感器和處理器發(fā)揮著重要作用,無人機(jī)需要利用傳感器和處理器來估計(jì)位姿,構(gòu)建環(huán)境地圖。早期使用的雷達(dá)為激光雷達(dá),但是激光雷達(dá)成本過高、體積過大,隨著分析的深入,科學(xué)家發(fā)現(xiàn)攝像機(jī)具備重量輕、功耗低等優(yōu)點(diǎn),可以很好地取代激光雷達(dá)識別圖像幾何結(jié)構(gòu),在執(zhí)行更高級別的任務(wù)時(shí),無人機(jī)還需要引入視覺信息技術(shù)[2]。
SLAM指的是一種新的緊耦合視覺慣導(dǎo)即時(shí)定位與地圖重建系統(tǒng),該系統(tǒng)能夠利用地圖實(shí)現(xiàn)閉環(huán),從而有效減少由于定位產(chǎn)生的漂移誤差,當(dāng)前SLAM還加入了閉環(huán)檢測線程技術(shù),確保無人機(jī)可以實(shí)現(xiàn)閉環(huán)檢測和重定位,該系統(tǒng)具有很好的穩(wěn)健性,且定位精準(zhǔn)度高[3]。雖然SLAM具備上述優(yōu)點(diǎn),但是該系統(tǒng)僅能構(gòu)建稀疏特征地圖,在優(yōu)化方面計(jì)算量過大。
本文基于VI-SLAM系統(tǒng)設(shè)計(jì)了一種新的四旋翼無人機(jī)多目標(biāo)視覺定位技術(shù),加入立體攝像機(jī)進(jìn)行地圖重構(gòu),通過四旋翼自主飛行平臺(tái)實(shí)現(xiàn)精準(zhǔn)定位。該方法通過多個(gè)標(biāo)定相機(jī)進(jìn)行標(biāo)定,利用軟觸發(fā)同步采集圖像,同時(shí)加入背景差分、連通域分析、沖投影等技術(shù)進(jìn)行自動(dòng)檢測和定位。
通過空對地定位技術(shù)求取地面目標(biāo)所在的三維坐標(biāo),借助機(jī)載光電測量平臺(tái)、北斗衛(wèi)星導(dǎo)航系統(tǒng)和無人機(jī)空中姿態(tài)測量系統(tǒng)實(shí)現(xiàn)多目標(biāo)視覺定位[4]。基于VI-SLAM的四翼無人機(jī)多目標(biāo)視覺定位技術(shù)的工作原理如圖1所示。
分析圖1可知,在進(jìn)行定位時(shí),導(dǎo)航定位系統(tǒng)、航空姿態(tài)測量系統(tǒng)、機(jī)載光電測量平臺(tái)共同工作,從而降低誤差,確保無人機(jī)可以實(shí)現(xiàn)自主定位。當(dāng)無人機(jī)接收到定位命令后,機(jī)載光電平臺(tái)內(nèi)部的攝像機(jī)就開始主動(dòng)搜索地面的目標(biāo),在相機(jī)市場中心內(nèi)部鎖定目標(biāo),鎖定目標(biāo)后,航定位系統(tǒng)和航空姿態(tài)測量系統(tǒng)會(huì)對檢測實(shí)時(shí)數(shù)據(jù),借助無人機(jī)獲得目標(biāo)的三維坐標(biāo)、三姿態(tài)角,處理出數(shù)據(jù)后,將空中坐標(biāo)轉(zhuǎn)換成大地坐標(biāo),建立幾何模型,從而得到精準(zhǔn)的大地坐標(biāo)值[5]。
機(jī)載光電測量平臺(tái)在進(jìn)行標(biāo)定時(shí),需要確定內(nèi)方位元素、畸變參數(shù)、外方位元素,通過控制場檢測得到內(nèi)方位元素和畸變參數(shù),利用輔助標(biāo)志點(diǎn)過渡法獲取外方位元素[6]。在相機(jī)外殼上標(biāo)定8個(gè)控制點(diǎn),如圖2所示,根據(jù)這8個(gè)標(biāo)志點(diǎn)建立一個(gè)局部坐標(biāo)系,在該局部坐標(biāo)系中確定出相機(jī)中心所在位置,相機(jī)在局部坐標(biāo)系中所在位置保持不變,相機(jī)對應(yīng)的主光軸朝向始終沖著一個(gè)方向。
根據(jù)標(biāo)識點(diǎn)設(shè)計(jì)矩陣,在矩陣內(nèi)部標(biāo)定多目標(biāo)所在的各個(gè)位置[7]。
攝像機(jī)在鎖定目標(biāo)后,拍攝目標(biāo)圖像,對圖像進(jìn)行背景差分,尋找圖像序列的當(dāng)前幀和背景幀,設(shè)定參考模型,檢測目標(biāo)的運(yùn)動(dòng)速度,使用背景差分檢測目標(biāo)時(shí),即使目標(biāo)的行駛速度很快,也能夠?qū)崿F(xiàn)精準(zhǔn)檢測。相機(jī)采集影像的第一張圖片被設(shè)定成初始背景圖,利用該初始背景圖建立高斯函數(shù)模型,分析權(quán)值變化,改變函數(shù)的灰度值,確保背景圖像的灰度值滿足高斯分布,對比所得圖片的灰度值與背景灰度值的差異,分析檢測概率。在這種條件下,即使相機(jī)采集到的初始背景存在無人機(jī),也不會(huì)影響后續(xù)的定位工作進(jìn)行[8]。背景差分法鎖定的目標(biāo)圖像經(jīng)過處理得到差分二值圖,對比圖如圖3所示。
圖3 鎖定目標(biāo)背景差分結(jié)果示意圖
確定機(jī)載目標(biāo)位置后,建立坐標(biāo)系,分析航拍圖像像點(diǎn)在坐標(biāo)系上的位置,將攝像機(jī)坐標(biāo)系轉(zhuǎn)換成載機(jī)機(jī)體坐標(biāo)系,明確載機(jī)機(jī)體坐標(biāo)系與大地坐標(biāo)系之間的關(guān)系,然后再將載機(jī)機(jī)體坐標(biāo)系轉(zhuǎn)換成大地坐標(biāo)系,實(shí)現(xiàn)坐標(biāo)系的轉(zhuǎn)換問題。得到的大地坐標(biāo)系如圖4所示。
圖4 大地坐標(biāo)系示意圖
通過上述轉(zhuǎn)換過程確定大地坐標(biāo)系,從而確定出目標(biāo)在大地坐標(biāo)系中的坐標(biāo)。為了使得到的定位結(jié)果更加準(zhǔn)確,建立幾何關(guān)系模型,對主目標(biāo)和次目標(biāo)之間的幾何關(guān)系進(jìn)行分析,通過計(jì)算分析確定次目標(biāo)像點(diǎn)在攝像機(jī)坐標(biāo)系下的三維坐標(biāo),根據(jù)坐標(biāo)轉(zhuǎn)換法對次目標(biāo)的大地坐標(biāo)進(jìn)行計(jì)算[9]。多目標(biāo)幾何定位圖形如圖5所示。
圖5 多目標(biāo)幾何定位模型
在四旋翼無人機(jī)上,通過激光測距儀分析光電平臺(tái)與主目標(biāo)、次目標(biāo)之間的距離,四旋翼無人機(jī)光電平臺(tái)如下圖6所示。圖中,P代表主目標(biāo),Q代表次目標(biāo),無人機(jī)多目標(biāo)幾何定位模型主要是由無人機(jī)、主目標(biāo)、次目標(biāo)組成,根據(jù)映射原理,得到沿?zé)o人機(jī)攝像機(jī)的攝像向量的投影,判斷向量與向量之間的夾角。
圖6 四旋翼無人機(jī)光電平臺(tái)
調(diào)節(jié)攝像機(jī)的焦距,在四旋翼無人機(jī)上得到主目標(biāo)和次目標(biāo)在載機(jī)地理坐標(biāo)系上的坐標(biāo)點(diǎn),判斷坐標(biāo)系之間的夾角。將主目標(biāo)和次目標(biāo)在載機(jī)地理坐標(biāo)系上的坐標(biāo)點(diǎn)代入到映射函數(shù)關(guān)系式中,通過分析主目標(biāo)到光電平臺(tái)之間的距離、次目標(biāo)到光電平臺(tái)之間的距離、平臺(tái)與目標(biāo)之間的相對關(guān)系,得到目標(biāo)在攝像機(jī)坐標(biāo)系的相對位置[10]。主目標(biāo)和此目標(biāo)在進(jìn)行定位時(shí)的坐標(biāo)轉(zhuǎn)換過程如圖7所示。
圖7 坐標(biāo)轉(zhuǎn)換過程
根據(jù)上述分析可知,通過主次目標(biāo)的幾何關(guān)系確定主次目標(biāo)在攝像機(jī)坐標(biāo)系中的坐標(biāo)點(diǎn),利用映射關(guān)系得到多目標(biāo)在大地坐標(biāo)系的坐標(biāo)點(diǎn)。
通過轉(zhuǎn)換坐標(biāo)系定位的目標(biāo)坐標(biāo)值并非準(zhǔn)確坐標(biāo)值,必須要分析定位結(jié)果的精度,實(shí)現(xiàn)厘米級精準(zhǔn)定位。在基于VI-SLAM的四翼無人機(jī)多目標(biāo)定位技術(shù)中,多目標(biāo)的定位精度是最重要的指標(biāo),是定位技術(shù)的重要環(huán)節(jié)。造成目標(biāo)定位誤差的主要原因有如下幾種:(1)無人機(jī)在空中定位時(shí)產(chǎn)生的誤差;(2)無人機(jī)在定位姿態(tài)角時(shí)產(chǎn)生的誤差;(3)無人機(jī)激光測距儀測距過程產(chǎn)生的誤差。通過衛(wèi)星導(dǎo)航系統(tǒng)改善無人機(jī)定位產(chǎn)生的誤差,目前主要是應(yīng)用全球?qū)Ш较到y(tǒng),即GPS系統(tǒng)實(shí)現(xiàn)誤差改善,但是由于GPS為國外系統(tǒng),所以本文定位精度實(shí)現(xiàn)引用的系統(tǒng)為我國研發(fā)的北斗衛(wèi)星導(dǎo)航系統(tǒng)。相較于GPS系統(tǒng),北斗衛(wèi)星導(dǎo)航系統(tǒng)多加入了3顆中軌道衛(wèi)星,分別在傾角為55°的3個(gè)平面上,多顆衛(wèi)星同步工作使北斗衛(wèi)星導(dǎo)航系統(tǒng)具備更強(qiáng)的通信能力。
三頻北斗導(dǎo)航信號具有很強(qiáng)的定位能力,可以實(shí)現(xiàn)厘米級多目標(biāo)精度定位,三頻北斗導(dǎo)航信號中的加密信號需要確定得到授權(quán)后才可以使用。在經(jīng)過一段時(shí)間的測量后,三頻北斗導(dǎo)航信號可以測得載波相位整周模糊度的初始值,這種求值算法的準(zhǔn)確度更高,與真實(shí)值更加接近,并縮小整周模糊度的搜索空間,使求解時(shí)間更短,求解效率更高。
通過最小二乘算法降低最小誤差,最小二乘算法通過計(jì)算最小化誤差的平方,得到新的數(shù)據(jù),尋找數(shù)據(jù)最佳匹配方法。最小二乘法的計(jì)算過程簡單,在處理誤差值后,數(shù)據(jù)會(huì)更加趨近真實(shí)值。本文使用的算法為遞歸最小二乘算法,該算法能夠很好地處理濾波,提高目標(biāo)的定位準(zhǔn)確性。遞歸最小二乘算法的定位誤差均在期望誤差范圍之內(nèi),比較主目標(biāo)和次目標(biāo)之間的定位誤差,可以發(fā)現(xiàn)主目標(biāo)的定位誤差會(huì)小于次目標(biāo)的定位誤差,次目標(biāo)的定位誤差與主目標(biāo)定位誤差相差較大,造成這種現(xiàn)象的原因有如下幾個(gè):(1)無人機(jī)光電平臺(tái)與各個(gè)目標(biāo)之間存在的斜距不同,二者之間斜距越大,定位時(shí)得到的誤差就越大;(2)多個(gè)坐標(biāo)轉(zhuǎn)換時(shí),有可能因?yàn)檗D(zhuǎn)換不準(zhǔn)確而產(chǎn)生誤差;(3)圖像在不同的流程中,有可能出現(xiàn)畸變,這種畸變也很容易引起坐標(biāo)誤差。引入遞歸最小濾波處理方法處理誤差濾波,能夠大大減小定位誤差。
為了進(jìn)一步研究本文基于VI-SLAM的四旋翼無人機(jī)提出了一種新的多目標(biāo)視覺定位技術(shù)的實(shí)際效果,與傳統(tǒng)定位技術(shù)進(jìn)行對比,設(shè)置了驗(yàn)證實(shí)驗(yàn)。分別使用“北斗二代”衛(wèi)星和蒙特卡洛法對傳統(tǒng)技術(shù)和本文技術(shù)的定位誤差進(jìn)行檢測。
設(shè)置實(shí)驗(yàn)參數(shù)如表1。
表1 實(shí)驗(yàn)參數(shù)
4.3.1 北斗二代星座誤差檢測實(shí)驗(yàn)
北斗衛(wèi)星的載波相位觀測值測量精度很高,可以精確到±11 mm,因此用來檢測目標(biāo)精度的定位誤差具有很高的實(shí)用性。北斗MEO衛(wèi)星示意圖如圖8所示。
圖8 北斗MEO衛(wèi)星示意圖
無人機(jī)與地面之間的相對高度為1 500 m,設(shè)定的無人機(jī)經(jīng)度為122.668 826°,緯度為52.142 185°。將航拍圖像數(shù)據(jù)設(shè)定成實(shí)驗(yàn)對象,在這一時(shí)刻,無人機(jī)內(nèi)部的光電平臺(tái)俯仰軸在水平方向的角度為0°,垂直向下的方向?yàn)?90°,檢測傳統(tǒng)技術(shù)和本文技術(shù)的測量精度,得到的定位誤差結(jié)果如圖9所示。
圖9 北斗衛(wèi)星檢測傳統(tǒng)技術(shù)定位誤差結(jié)果
圖10 北斗衛(wèi)星檢測本文技術(shù)定位誤差結(jié)果
對比上圖定位誤差結(jié)果可知,在使用傳統(tǒng)技術(shù)對多目標(biāo)進(jìn)行視覺定位時(shí),高低角和方位角都會(huì)產(chǎn)生很大的測量誤差,高低角的測量誤差為0.8 mrad,方位角的測量誤差為1.25 mrad,無人機(jī)內(nèi)部的激光平臺(tái)激光測距精度為15 m。在使用本文研究的基于VI-SLAM的四旋翼無人機(jī)的多目標(biāo)視覺定位技術(shù)進(jìn)行定位時(shí),雖然也會(huì)產(chǎn)生一定的測量誤差,但是測量誤差大大減小,高低角的測量誤差為0.25 mrad,方位角的測量誤差為0.37mrad,無人機(jī)內(nèi)部的激光平臺(tái)激光測距精度為5m。與傳統(tǒng)技術(shù)相比,本文的定位技術(shù)顯現(xiàn)出極大的優(yōu)勢。
4.3.2 蒙特卡洛法誤差檢測實(shí)驗(yàn)
蒙特卡洛法是根據(jù)計(jì)算結(jié)果來檢驗(yàn)誤差大小的方法,該方法會(huì)對大量數(shù)據(jù)進(jìn)行計(jì)算,以隨機(jī)模擬的方式,分析數(shù)據(jù)的概率,主要利用的技術(shù)為隨機(jī)抽樣技術(shù)。根據(jù)蒙特卡洛法對傳統(tǒng)定位技術(shù)定位3個(gè)目標(biāo)(1個(gè)主目標(biāo),2個(gè)次目標(biāo))誤差進(jìn)行計(jì)算,得到的定位誤差結(jié)果如表2所示。
表2 傳統(tǒng)技術(shù)的多目標(biāo)定位誤差
在完成傳統(tǒng)的技術(shù)的定位誤差計(jì)算后,使用蒙特卡洛法對本文研究的技術(shù)對相同的3個(gè)目標(biāo)的定位誤差進(jìn)行檢測,得到的定位誤差結(jié)果如表3所示。
表3 本文技術(shù)的多目標(biāo)定位誤差表2本文技術(shù)的多目標(biāo)定位誤差
針對上表進(jìn)行對比分析,可以發(fā)現(xiàn)本文研究的定位算法在對主目標(biāo)、次目標(biāo)進(jìn)行定位時(shí),經(jīng)度定位誤差、緯度定位誤差、大地高定位誤差、平面定位誤差都要低于傳統(tǒng)定位技術(shù)的定位誤差。
本文同時(shí)使用了“北斗二代”衛(wèi)星和蒙特卡洛法檢測了傳統(tǒng)技術(shù)和本文技術(shù)的定位效果,兩種檢測實(shí)驗(yàn)結(jié)果均表明,本文研究的基于VI-SLAM的四旋翼無人機(jī)提出的多目標(biāo)視覺定位技術(shù)在對不同目標(biāo)進(jìn)行定位時(shí),精準(zhǔn)度要更高。本文眼睛就得方法即使在GPS失效的情況下,也可以很好地對目標(biāo)進(jìn)行定位,內(nèi)部的采集器和傳感器緊密配合,有效地處理攝像機(jī)采集到的各種數(shù)據(jù),通過多個(gè)坐標(biāo)轉(zhuǎn)換,逐步提高定位的精度和穩(wěn)健性。
本文基于VI-SLAM的四旋翼無人機(jī)提出了一種新的多目標(biāo)視覺定位技術(shù),該技術(shù)操作過程簡單,無人機(jī)內(nèi)部的激光測距機(jī)只需要對主目標(biāo)進(jìn)行一次測距,就可以根據(jù)攝像機(jī)焦距得到目標(biāo)圖像在攝像機(jī)坐標(biāo)系中的坐標(biāo)值,然后再通過坐標(biāo)轉(zhuǎn)換,求解出該目標(biāo)圖像在大地上的坐標(biāo)。通過北斗導(dǎo)航系統(tǒng)對無人機(jī)所在的位置進(jìn)行空中定位,能夠有效提高定位的精準(zhǔn)性。定位技術(shù)使用的算法為遞歸最小二乘算法,能夠達(dá)到減少定位過程的誤差率,相對于傳統(tǒng)算法,遞歸最小二乘算法的定位精度可以提高10 m左右,基于VI-SLAM的四旋翼無人機(jī)提出的多目標(biāo)視覺定位技術(shù)在躲避障礙物、路徑規(guī)劃、導(dǎo)航等領(lǐng)域都可以發(fā)揮出關(guān)鍵性的作用。本文研究的定位技術(shù)雖然具備上述優(yōu)點(diǎn),但是面對復(fù)雜地形,該技術(shù)仍然顯現(xiàn)出很大的局限性,未來要在這一方面進(jìn)行更加深入的研究。