本發(fā)明屬于無人機(jī)技術(shù)領(lǐng)域,特別是涉及一種無人機(jī)移動(dòng)距離計(jì)算系統(tǒng)及方法。
背景技術(shù):
現(xiàn)有飛行器定位的光流視覺模塊,多數(shù)是采用圖像模塊與測距模塊結(jié)合的設(shè)計(jì),利用圖像模塊計(jì)算x、y(水平)方向的移動(dòng)量,利用測距模塊計(jì)算z(高度)方向的絕對值。
若圖像模塊采用單鏡頭,當(dāng)飛行高度(altitude)較高時(shí),圖像模塊對于x、y方向移動(dòng)量(distance)的辨識(shí)度(pixel)會(huì)下降。通過下述簡易xy移動(dòng)量計(jì)算公式可以看出計(jì)算出的移動(dòng)量會(huì)有誤差。
若圖像模塊采用雙鏡頭,即長焦鏡頭和短焦鏡頭,短焦鏡頭可以得到較多的景物信息,但物距遠(yuǎn)時(shí)辨識(shí)度低,長焦鏡頭可以得到較高的辨識(shí)度,但較缺乏景物信息。現(xiàn)有技術(shù)是以某一個(gè)高度當(dāng)成切換不同鏡頭間判定基準(zhǔn),也即,在某個(gè)高度以下完全采用短焦鏡頭的圖像,在某個(gè)高度以上完全采用長焦鏡頭的圖像,雖然可以稍微改善不同高度間的辨識(shí)度(pixel)下降的問題,但是還是有其局限在,計(jì)算出之移動(dòng)距離精準(zhǔn)度還是會(huì)有誤差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種無人機(jī)移動(dòng)距離計(jì)算系統(tǒng)和方法,解決了無人機(jī)不同飛行高度時(shí)的平移量辨識(shí)度不一致的問題,以便可以準(zhǔn)確計(jì)算出無人機(jī)飛行的距離,達(dá)到無人穩(wěn)定控制之目的。
為解決上述技術(shù)問題,本發(fā)明采用以下技術(shù)方案予以實(shí)現(xiàn):
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)和積極效果是:本發(fā)明利用長焦鏡頭和短焦鏡頭在不同高度時(shí),其圖像在感應(yīng)器(sensor)上的辨識(shí)度的差異,計(jì)算長焦鏡頭和短焦鏡頭合理的權(quán)重,如此無人機(jī)系統(tǒng)就可以依據(jù)不同的飛行高度改變長焦鏡頭和短焦鏡頭的計(jì)算權(quán)重,使得飛行器在不同飛行高度時(shí),對于x、y方向平移量都能保持相當(dāng)高的辨識(shí)度,解決了不同飛行高度時(shí)的平移量辨識(shí)度不一致的問題,以便可以準(zhǔn)確計(jì)算出無人機(jī)飛行的距離,達(dá)到無人穩(wěn)定控制之目的。
結(jié)合附圖閱讀本發(fā)明實(shí)施方式的詳細(xì)描述后,本發(fā)明的其他特點(diǎn)和優(yōu)點(diǎn)將變得更加清楚。
附圖說明
圖1為本發(fā)明具體實(shí)施例的系統(tǒng)結(jié)構(gòu)圖。
圖2為本發(fā)明具體實(shí)施例與現(xiàn)有技術(shù)可工作范圍示意圖。
圖3為本發(fā)明具體實(shí)施例的系統(tǒng)框圖。
圖4為本發(fā)明具體實(shí)施例的流程圖。
具體實(shí)施方式
如圖1、3所示,本實(shí)施例的無人機(jī)移動(dòng)距離計(jì)算系統(tǒng)包括長焦鏡頭模塊1、短焦鏡頭模塊2、測距模塊3、光流控制算法系統(tǒng)模塊(mcu系統(tǒng)模塊)4和陀螺儀5。下面分別對各個(gè)模塊進(jìn)行詳細(xì)說明:
長焦鏡頭模塊1,用于提供長焦鏡頭獲取的圖像至光流控制算法系統(tǒng)模塊4。
在長焦鏡頭確定的情況下,長焦鏡頭的分辨率r1為確定值,長焦鏡頭的視角fov1為確定值。因而,對于長焦鏡頭而言,長焦鏡頭根據(jù)某兩幀圖像計(jì)算的無人機(jī)移動(dòng)距離d1=p1/r1(h*2.0*tan(fov1/2)),p1為物體在長焦鏡頭上后幀圖像與前幀圖像相比所移動(dòng)的像素量,h為測距模塊獲取的無人機(jī)所在高度。
短焦鏡頭模塊2,用于提供短焦鏡頭獲取的圖像至光流控制算法系統(tǒng)模塊4。
在短焦鏡頭確定的情況下,短焦鏡頭的分辨率r2為確定值,短焦鏡頭的視角fov2為確定值。因而,對于短焦鏡頭而言,短焦鏡頭根據(jù)某兩幀圖像計(jì)算的無人機(jī)移動(dòng)距離d2=p2/r2(h*2.0*tan(fov2/2)),p2為物體在短焦鏡頭上后幀圖像與前幀圖像相比所移動(dòng)的像素量,h為測距模塊獲取的無人機(jī)所在高度。
其中,前幀圖像與后幀圖像可以為相鄰圖像,也可以為間隔一幀或幾幀的圖像,取決于mcu系統(tǒng)模塊的運(yùn)算能力。
測距模塊3,用于獲取無人機(jī)所在高度h,并將高度h提供至光流控制算法系統(tǒng)模塊4;
陀螺儀5,用于確認(rèn)無人機(jī)的姿態(tài),以便提供給光流控制算法系統(tǒng)模塊4在進(jìn)行處理時(shí)的輔助參考。
光流控制算法系統(tǒng)模塊4,用于根據(jù)長焦鏡頭模塊1和短焦鏡頭模塊2所提供的圖像進(jìn)行物體(特征點(diǎn))的偵測,以此物體的信息去計(jì)算物體在其感應(yīng)器(sensor)上的移動(dòng)量,并根據(jù)測距模塊所提供之無人機(jī)高度信息計(jì)算權(quán)重,然后再計(jì)算無人機(jī)的移動(dòng)距離。光流控制算法系統(tǒng)模塊4(mcu系統(tǒng)模塊)主要包含三個(gè)部分:
物體偵測模塊,用于偵測長焦鏡頭和短焦鏡頭的圖像上的物體位置及物體移動(dòng)的像素量。其中,物體通過物體特征點(diǎn)來體現(xiàn)。
權(quán)重計(jì)算模塊,用于根據(jù)無人機(jī)所在高度h、長焦鏡頭的視角fov1、短焦鏡頭的視角fov2計(jì)算在不同高度時(shí)的長焦鏡頭權(quán)重w1和短焦鏡頭權(quán)重w2。
長焦鏡頭權(quán)重
短焦鏡頭權(quán)重w2=1-w1;
δh=k(fov2/fov1);k為系數(shù);
hmax:測距模塊可測得的最大高度;
hmin:測距模塊可測得的最小高度;
δ′h:無人機(jī)當(dāng)下高度的權(quán)重系數(shù)。
移動(dòng)距離計(jì)算模塊,用于根據(jù)物體偵測模塊計(jì)算的物體移動(dòng)的像素量和權(quán)重計(jì)算模塊計(jì)算的權(quán)重,計(jì)算無人機(jī)移動(dòng)的距離。
移動(dòng)距離計(jì)算模塊計(jì)算某兩幀圖像的無人機(jī)移動(dòng)距離
移動(dòng)距離計(jì)算模塊計(jì)算無人機(jī)在一定時(shí)間時(shí)無人機(jī)的移動(dòng)距離
其中,n為一定時(shí)間內(nèi)的圖像幀數(shù)。例如,在mcu系統(tǒng)模塊的運(yùn)算能力很高時(shí),無人機(jī)的長焦鏡頭模塊1和短焦鏡頭模塊2分別采集n幀圖像,則分別對n幀圖像的相鄰兩幀圖像的無人機(jī)移動(dòng)距離d進(jìn)行計(jì)算,再計(jì)算dtotal。在mcu系統(tǒng)模塊的運(yùn)算能力不高時(shí),無人機(jī)的長焦鏡頭模塊1和斷交鏡頭模塊2分別采集的圖像幀數(shù)為m,m>n,從m幀圖像中間隔一幀或幾幀抽取一幀圖像,得到n幀圖像,則分別對n幀圖像的相鄰兩幀圖像的無人機(jī)移動(dòng)距離d進(jìn)行計(jì)算,再計(jì)算dtotal。
如圖2所示,本實(shí)施例的無人機(jī),可擴(kuò)展光流控制算法系統(tǒng)模塊的可工作范圍,不再受限于圖像模塊的辨識(shí)度限制。其中,6為現(xiàn)有技術(shù)單鏡頭圖像模塊的可工作范圍。7為本實(shí)施例長短焦雙鏡頭模塊的可工作范圍。通過對比,本實(shí)施例長短焦雙鏡頭模塊的可工作范圍大大提高。
如圖4所示,本實(shí)施例還提出了一種無人機(jī)移動(dòng)距離計(jì)算方法:
獲取長焦鏡頭的圖像,偵測長焦鏡頭的圖像上的物體位置及物體移動(dòng)的像素量。本實(shí)施例中,通過偵測長焦鏡頭的圖像上的物體特征點(diǎn)確認(rèn)物體。物體移動(dòng)的像素量是指某兩幀圖像中物體特征點(diǎn)移動(dòng)的像素量。
獲取短焦鏡頭的圖像,偵測短焦鏡頭的圖像上的物體位置及物體移動(dòng)的像素量。本實(shí)施例中,通過偵測短焦鏡頭的圖像上的物體特征點(diǎn)確認(rèn)物體。物體移動(dòng)的像素量是指某兩幀圖像中物體特征點(diǎn)移動(dòng)的像素量。
獲取無人機(jī)所在高度h。
根據(jù)無人機(jī)所在的高度h、長焦鏡頭的視角fov1、短焦鏡頭的視角fov2計(jì)算在不同高度時(shí)的長焦鏡頭權(quán)重w1和短焦鏡頭權(quán)重w2。
長焦鏡頭權(quán)重
短焦鏡頭權(quán)重w2=1-w1;
δh=k(fov2/fov1);k為系數(shù);
hmax:測距模塊可測得的最大高度;
hmin:測距模塊可測得的最小高度;
δ′h:無人機(jī)當(dāng)下高度的權(quán)重系數(shù)。
根據(jù)物體移動(dòng)的像素量和權(quán)重,計(jì)算無人機(jī)移動(dòng)的距離。
計(jì)算某兩幀圖像的無人機(jī)移動(dòng)距離d的方法為:
d1:長焦鏡頭計(jì)算的無人機(jī)移動(dòng)距離;d1=p1/r1(h*2.0*tan(fov1/2)),p1為物體在長焦鏡頭上后幀圖像與前幀圖像相比所移動(dòng)的像素量;r1為長焦鏡頭的分辨率;
d2:短焦鏡頭計(jì)算的無人機(jī)移動(dòng)距離;d2=p2/r2(h*2.0*tan(fov2/2)),p2為物體在短焦鏡頭上后幀圖像與前幀圖像相比所移動(dòng)的像素量;r2為短焦鏡頭的分辨率。
計(jì)算無人機(jī)在一定時(shí)間時(shí)無人機(jī)的移動(dòng)距離
其中,n為一定時(shí)間內(nèi)的圖像幀數(shù)。例如,在mcu系統(tǒng)模塊的運(yùn)算能力很高時(shí),無人機(jī)的長焦鏡頭模塊1和短焦鏡頭模塊2分別采集n幀圖像,則分別對n幀圖像的相鄰兩幀圖像的無人機(jī)移動(dòng)距離d進(jìn)行計(jì)算,再計(jì)算dtotal。在mcu系統(tǒng)模塊的運(yùn)算能力不高時(shí),無人機(jī)的長焦鏡頭模塊1和斷交鏡頭模塊2分別采集的圖像幀數(shù)為m,m>n,從m幀圖像中間隔一幀或幾幀抽取一幀圖像,得到n幀圖像,則分別對n幀圖像的相鄰兩幀圖像的無人機(jī)移動(dòng)距離d進(jìn)行計(jì)算,再計(jì)算dtotal。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。