本發(fā)明屬于無人機(jī)技術(shù)領(lǐng)域,尤其涉及一種無人機(jī)避障方法及系統(tǒng)。
背景技術(shù):
無人機(jī)(Unmanned Aerial Vehicle,簡稱UAV)以其重量輕、體積小、飛行靈活、價格便宜等優(yōu)點(diǎn),被廣泛的應(yīng)用于航空拍攝、資源勘探、地圖測繪、貨物運(yùn)輸、城市安全之中。然而,隨著無人機(jī)的普及,一些安全問題也隨之而來,無人機(jī)躲避障礙的能力十分重要,它不僅能保障無人機(jī)飛行的安全,更在一定程度上提高了無人機(jī)的智能化。完善實(shí)用的自主避障系統(tǒng)能夠避免因操作失誤而造成的財產(chǎn)損失和人身安全威脅,是無人機(jī)技術(shù)的重要研究方向之一,一套完善的避障系統(tǒng)是當(dāng)今無人機(jī)的必備能力。
傳統(tǒng)的無人機(jī)避障系統(tǒng)一般采用超聲波、激光以及雷達(dá)等傳感器進(jìn)行障礙物識別。然而,超聲波和激光對障礙物的反射能力要求較高,遇到反射能力弱的障礙物就無法準(zhǔn)確識別,存在一定的安全隱患。另外,雷達(dá)由于體積和重量大,不適合用于小型無人機(jī)。
因此,如何提供一種解決上述問題的無人機(jī)避障方法及系統(tǒng)是本領(lǐng)域技術(shù)人員目前需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
為解決上述問題,本發(fā)明提供一種無人機(jī)避障方法及系統(tǒng),通過兩個攝像頭來對障礙物進(jìn)行識別,對障礙物的反射能力沒有要求,能夠?qū)φ系K物進(jìn)行準(zhǔn)確識別,提高了無人機(jī)的安全性能。
一種基于雙目視覺的無人機(jī)避障方法,包括以下步驟:
步驟1:利用兩個攝像頭采集無人機(jī)前方環(huán)境的信息,得到第一視頻圖像信息和第二視頻圖像信息;
步驟2:分別從第一視頻圖像信息中選取第一圖像以及從第二視頻圖像信息中選取同一時刻的第二圖像,并依據(jù)第一圖像和第二圖像得到前方環(huán)境的三維圖像以及無人機(jī)與前方環(huán)境之間的距離;
步驟3:判斷無人機(jī)與前方環(huán)境之間的距離是否小于避障安全距離,如果小于,則前方環(huán)境中存在障礙物,并進(jìn)入步驟4;否則,前方環(huán)境中無障礙物,并進(jìn)入步驟6;
步驟4:將無人機(jī)投影在三維圖像的視差圖上,并判斷無人機(jī)的投影面積與所述障礙物的面積是否相交,如果是,進(jìn)入步驟5,否則,進(jìn)入步驟6;
步驟5:生成并發(fā)送避障指令至無人機(jī),并進(jìn)入步驟7;
步驟6:生成并發(fā)送正常飛行指令至無人機(jī);
步驟7:依據(jù)正常飛行指令控制無人機(jī)正常飛行或者依據(jù)避障指令控制無人機(jī)進(jìn)行避障。
一種基于雙目視覺的無人機(jī)避障方法,步驟2中依據(jù)第一圖像和第二圖像得到前方環(huán)境的三維圖像以及無人機(jī)與前方環(huán)境之間的距離的具體步驟為:
步驟21:對第一圖像和第二圖像均進(jìn)行濾波預(yù)處理,得到第一預(yù)處理圖像和第二預(yù)處理圖像;
步驟22:依據(jù)兩個攝像頭之間的旋轉(zhuǎn)矩陣、平移向量以及兩個攝像頭的畸變系數(shù)對第一預(yù)處理圖像和第二預(yù)處理圖像進(jìn)行校正,得到視圖像素行對準(zhǔn)的第一校正圖像和第二校正圖像;
其中兩個攝像頭之間的旋轉(zhuǎn)矩陣、平移向量采用標(biāo)準(zhǔn)的2D或3D精密靶標(biāo),通過攝像頭圖像坐標(biāo)與三維世界坐標(biāo)的對應(yīng)關(guān)系計算得到;
同時,視圖像素行對準(zhǔn)為在計算機(jī)的處理過程中,使第一校正圖像和第二校正圖像的對極線恰好在同一水平線上;則對齊后一副圖像上任意點(diǎn)與其在另一幅圖像上的對應(yīng)點(diǎn)必然具有相同的行號,只需在該行進(jìn)行一維搜索即可匹配到對應(yīng)點(diǎn)。整體減小了匹配的難度,減少了處理時間,增加了準(zhǔn)確率;
步驟23:對第一校正圖像和第二校正圖像進(jìn)行基于灰度值的特征匹配,得到前方環(huán)境的第一校正圖像與第二校正圖像之間的視差值;
其中基于灰度值的特征匹配具體為將第一校正圖像和第二校正圖像各點(diǎn)的灰度值做差,得到各點(diǎn)灰度值之差的絕對值之和,使該絕對值之和的最小點(diǎn)為第一校正圖像和第二校正圖像的匹配點(diǎn),對應(yīng)兩個點(diǎn)的坐標(biāo)之差為視差值;
步驟24:依據(jù)第一校正圖像與第二校正圖像之間的視差值以及兩個攝像頭的焦距得到前方環(huán)境的三維圖像以及無人機(jī)與前方環(huán)境之間的距離。
其中距離為無人機(jī)與前方環(huán)境中第一個障礙物的距離。
一種基于雙目視覺的無人機(jī)避障方法,步驟4中將無人機(jī)投影在三維圖像的視差圖上的具體步驟為:
將無人機(jī)按照投影關(guān)系式投影到三維圖像的視差圖上,其中,所述投影關(guān)系式為:
其中α、β分別為攝像頭的水平視場角和垂直視場角;D為避障安全閾值;m、n分別為無人機(jī)的長和高;u、v分別為視差圖的圖像分辨率的長和寬,單位為像素;a、b分別為無人機(jī)在視差圖上的投影長和投影寬。
一種基于雙目視覺的無人機(jī)避障方法,步驟5中生成避障指令的具體步驟為:
步驟51:以障礙物為圓心、預(yù)設(shè)威脅距離為半徑的圓作為威脅圓;
步驟52:以無人機(jī)質(zhì)心為點(diǎn)向威脅圓做切線;
步驟53:生成控制無人機(jī)按照切線作為避障軌跡飛行的避障指令。
一種基于雙目視覺的無人機(jī)避障方法的避障系統(tǒng),包括雙目視覺檢測模塊、通信模塊、處理模塊以及機(jī)載飛行控制模塊;
雙目視覺檢測模塊包括兩個攝像頭,設(shè)置在無人機(jī)的上方,用于采集第一視頻圖像信息和第二視頻圖像信息;
通信模塊將第一視頻圖像信息和第二視頻圖像信息無線傳送至處理模塊;
處理模塊處理第一視頻圖像信息和第二視頻圖像信息并分別得到第一圖像和第二圖像,同時生成并發(fā)送正常飛行控制指令或避障指令至機(jī)載飛行控制模塊;
機(jī)載飛行控制模塊根據(jù)正常飛行指令控制無人機(jī)正常飛行,或者根據(jù)據(jù)避障指令控制無人機(jī)進(jìn)行避障。
一種基于雙目視覺的無人機(jī)避障方法的避障系統(tǒng),處理模塊具體包括基本信息生成單元和指令生成單元;
基本信息生成單元依據(jù)第一圖像和第二圖像得到前方環(huán)境的三維圖像以及無人機(jī)與前方環(huán)境之間的距離;
指令生成單元用于判斷無人機(jī)與前方環(huán)境之間的距離是否小于避障安全距離;同時根據(jù)無人機(jī)的投影面積與障礙物的面積是否相交來生成并發(fā)送正常飛行指令或者避障指令至機(jī)載飛行控制模塊。
一種基于雙目視覺的無人機(jī)避障方法的避障系統(tǒng),兩個攝像頭相互平行設(shè)置在無人機(jī)下方。
一種基于雙目視覺的無人機(jī)避障方法的避障系統(tǒng),兩個攝像頭均為CCD攝像頭。
一種基于雙目視覺的無人機(jī)避障方法的避障系統(tǒng),通信模塊為無線通信模塊。
一種基于雙目視覺的無人機(jī)避障方法的避障系統(tǒng),處理模塊設(shè)置在地面。
有益效果:
1、本發(fā)明提供了一種無人機(jī)避障系統(tǒng)及方法,將無人機(jī)與前方環(huán)境之間的距離是否小于避障安全距離作為一個判斷條件,無人機(jī)在三維圖像的視差圖上的投影面積與障礙物的面積是否相交作為另一個判斷條件,從而確定是否控制無人機(jī)進(jìn)行避障;本發(fā)明通過兩個攝像頭來對障礙物進(jìn)行識別,對障礙物的反射能力沒有要求,能夠?qū)φ系K物進(jìn)行準(zhǔn)確識別,提高了無人機(jī)的安全性能;此外,攝像頭體積小,重量輕,成本低。
2、本發(fā)明的無人機(jī)避障方法通過圖像采集環(huán)境信息,能夠避免無線電、電磁的干擾。
3、本發(fā)明的無人機(jī)避障系統(tǒng)適應(yīng)性強(qiáng),能夠適應(yīng)大部分環(huán)境。
附圖說明
圖1為本發(fā)明的無人機(jī)避障方法過程的流程圖;
圖2為本發(fā)明的無人機(jī)避障系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為本發(fā)明無人機(jī)圖像投影障礙檢測原理圖;
圖4為本發(fā)明威脅圓避障策略示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
圖1為本發(fā)明的一種基于無人機(jī)避障系統(tǒng)的避障方法過程的流程圖,該方法具體步驟包括:
步驟1:雙目視覺檢測模塊采集無人機(jī)的前方環(huán)境的環(huán)境信息,得到第一視頻圖像信息和第二視頻圖像信息,其中,雙目視覺檢測模塊包括兩個攝像頭;
步驟2:通信模塊將第一視頻圖像信息和第二視頻圖像信息無線傳送至處理模塊;
步驟3:處理模塊分別從第一視頻圖像信息中選取第一圖像以及從第二視頻圖像信息中選取同一時刻的第二圖像,并依據(jù)第一圖像和第二圖像得到前方環(huán)境的三維圖像以及無人機(jī)與前方環(huán)境之間的距離;
其中距離為無人機(jī)與前方環(huán)境中第一個障礙物的距離。
作為優(yōu)選地,步驟3中,依據(jù)第一圖像和第二圖像得到前方環(huán)境的三維圖像以及無人機(jī)與前方環(huán)境之間的距離的過程具體為:
對第一圖像和第二圖像均進(jìn)行濾波預(yù)處理,得到第一預(yù)處理圖像和第二預(yù)處理圖像;
依據(jù)兩個攝像頭之間的旋轉(zhuǎn)矩陣、平移向量以及兩個攝像頭的畸變系數(shù)對第一預(yù)處理圖像和第二預(yù)處理圖像進(jìn)行校正,得到視圖像素行對準(zhǔn)的第一校正圖像和第二校正圖像;
其中兩個攝像頭之間的旋轉(zhuǎn)矩陣、平移向量采用標(biāo)準(zhǔn)的2D或3D精密靶標(biāo),通過攝像頭圖像坐標(biāo)與三維世界坐標(biāo)的對應(yīng)關(guān)系計算得到;
同時,視圖像素行對準(zhǔn)為在計算機(jī)的處理過程中,使第一校正圖像和第二校正圖像的對極線恰好在同一水平線上;則對齊后一副圖像上任意點(diǎn)與其在另一幅圖像上的對應(yīng)點(diǎn)必然具有相同的行號,只需在該行進(jìn)行一維搜索即可匹配到對應(yīng)點(diǎn)。整體減小了匹配的難度,減少了處理時間,增加了準(zhǔn)確率。
對第一校正圖像和第二校正圖像進(jìn)行基于灰度值的特征匹配,得到前方環(huán)境的第一校正圖像和第二校正圖像的視差值;
其中基于灰度值的特征匹配具體為將第一校正圖像和第二校正圖像各點(diǎn)的灰度值做差,得到各點(diǎn)灰度值之差的絕對值之和,使該絕對值之和的最小點(diǎn)為第一校正圖像和第二校正圖像的匹配點(diǎn),對應(yīng)兩個點(diǎn)的坐標(biāo)之差為視差值;
依據(jù)第一校正圖像和第二校正圖像的視差值以及兩個攝像頭的焦距得到前方環(huán)境的三維圖像以及無人機(jī)與前方環(huán)境之間的距離。
步驟4:處理模塊判斷距離是否小于避障安全距離,如果是,則前方環(huán)境中存在障礙物,并進(jìn)入步驟5;否則,前方環(huán)境中無障礙物,并進(jìn)入步驟7;其中安全距離是根據(jù)無人機(jī)的飛行速度與反應(yīng)時間而人為設(shè)定的經(jīng)驗(yàn)距離;
步驟5:將無人機(jī)投影在三維圖像的視差圖上,并判斷無人機(jī)的投影面積與障礙物的面積是否相交,如果是,進(jìn)入步驟6,否則,進(jìn)入步驟7;
作為優(yōu)選地,步驟5中,將無人機(jī)投影在三維圖像的視差圖上的過程具體為:
將無人機(jī)按照投影關(guān)系式投影到三維圖像的視差圖上,其中,投影關(guān)系式為:
其中:
α、β:攝像頭的水平視場角和垂直視場角;以光學(xué)儀器的鏡頭為頂點(diǎn),以被測目標(biāo)的物像可通過鏡頭的最大范圍的兩條邊緣構(gòu)成的夾角,稱為視場角。水平視場角和垂直視場角分別是指兩個方向上的最大拍攝角度。相同的攝像頭,其視場角相同。
D:避障安全閾值;
m、n:無人機(jī)的長和高;
u、v:視差圖的圖像分辨率的長和寬,單位為像素;
a、b:無人機(jī)在視差圖上的投影長和投影寬。
本方法將復(fù)雜的障礙物判斷簡化為二維面積的比較,在圖3中給出兩種可能出現(xiàn)的情況,其中以左下角為坐標(biāo)原點(diǎn)建立對應(yīng)坐標(biāo)軸,圓形代表障礙物,其在視差圖上的位置坐標(biāo)是計算機(jī)將拍攝得到的圖像物體直接處理得到,同時圓形面積為拍攝得到圖像上障礙物的大致面積;小矩形即為無人機(jī)在圖像平面投影大小,值得注意的是,無人機(jī)在視差圖上的投影中心坐標(biāo)是固定的,與攝像頭與無人機(jī)放置的相對位置有關(guān),根據(jù)投影關(guān)系式計算得到的a和b,即確定無人機(jī)在視差圖上矩形投影的四個頂點(diǎn)的位置坐標(biāo)。如圖3中左圖所示,障礙物與無人機(jī)投影沒有相交,沒有造成威脅,不用進(jìn)行障礙躲避。如圖3中右圖,障礙物與無人機(jī)投影面積相交,即為威脅,需要進(jìn)行避障。
步驟6:生成并發(fā)送避障指令至機(jī)載飛行控制模塊,并進(jìn)入步驟8;
作為優(yōu)選地,步驟6中,生成避障指令的過程具體為:
將以障礙物為圓心、預(yù)設(shè)威脅距離為半徑的圓作為威脅圓;
以無人機(jī)為點(diǎn)向威脅圓做切線;
處理模塊生成控制無人機(jī)按照切線作為避障軌跡飛行的避障指令。
以圖4為例,A點(diǎn)為無人機(jī)當(dāng)前位置,在飛行前方有一障礙物B,A點(diǎn)與其威脅圓相切于兩點(diǎn)C、E。當(dāng)無人機(jī)與障礙物距離低于安全閾值D時,就需要做出避障行為,將C或者E作為新的航跡點(diǎn),無人機(jī)改變反向飛向新航跡點(diǎn),避開障礙物。
步驟7:處理模塊生成并發(fā)送正常飛行指令至機(jī)載飛行控制模塊;
步驟8:機(jī)載飛行控制模塊依據(jù)正常飛行指令控制無人機(jī)正常飛行或者依據(jù)避障指令控制無人機(jī)進(jìn)行避障。
如圖2所示,為本發(fā)明提供的一種無人機(jī)避障系統(tǒng)的結(jié)構(gòu)示意圖;該系統(tǒng)包括雙目視覺檢測模塊、通信模塊、處理模塊以及機(jī)載飛行控制模塊;
雙目視覺檢測模塊設(shè)置在無人機(jī)上方,用于采集無人機(jī)的前方環(huán)境的環(huán)境信息,得到第一視頻圖像信息和第二視頻圖像信息,其中,雙目視覺檢測模塊包括兩個攝像頭;
作為優(yōu)選地,兩個攝像頭以其中心軸向相互平行的設(shè)置在無人機(jī)下方。
作為優(yōu)選地,兩個攝像頭均為CCD攝像頭,且屏幕像素尺寸為320:240。
可以理解的是,兩個攝像頭也可以不平行設(shè)置,例如可以豎直設(shè)置,另外,這里的攝像頭還可以為其他類型的攝像頭,本發(fā)明在此不作特別的限定,能實(shí)現(xiàn)本發(fā)明的目的即可。
通信模塊,用于將第一視頻圖像信息和第二視頻圖像信息無線傳送至處理模塊;
作為優(yōu)選地,通信模塊為無線通信模塊。
處理模塊,用于分別從第一視頻圖像信息中選取第一圖像以及從第二視頻圖像信息中選取同一時刻的第二圖像,并依據(jù)第一圖像和第二圖像得到前方環(huán)境的三維圖像以及無人機(jī)與前方環(huán)境之間的距離;判斷如果距離小于避障安全距離,則前方環(huán)境中存在障礙物,則將無人機(jī)投影在三維圖像的視差圖上,并判斷無人機(jī)的投影面積與障礙物的面積是否相交,如果是,則生成并發(fā)送避障指令至機(jī)載飛行控制模塊,否則,生成并發(fā)送正常飛行指令至機(jī)載飛行控制模塊;如果距離不小于避障安全距離,則生成并發(fā)送正常飛行指令至機(jī)載飛行控制模塊;
作為優(yōu)選地,處理模塊具體包括:
基本信息生成單元,用于分別從第一視頻圖像信息中選取第一圖像以及從第二視頻圖像信息中選取同一時刻的第二圖像,并對第一圖像和第二圖像均進(jìn)行濾波預(yù)處理,得到第一預(yù)處理圖像和第二預(yù)處理圖像;依據(jù)兩個攝像頭之間的旋轉(zhuǎn)矩陣、平移向量以及兩個攝像頭的畸變系數(shù)對第一預(yù)處理圖像和第二預(yù)處理圖像進(jìn)行校正,得到視圖像素行對準(zhǔn)的第一校正圖像和第二校正圖像;對第一校正圖像和第二校正圖像進(jìn)行基于灰度值的特征匹配,得到前方環(huán)境的第一校正圖像和第二校正圖像的視差值;依據(jù)第一校正圖像和第二校正圖像的視差值以及兩個攝像頭的焦距得到前方環(huán)境的三維圖像以及無人機(jī)與前方環(huán)境之間的距離;
指令生成單元,用于判斷如果距離小于避障安全距離,則前方環(huán)境中存在障礙物,將無人機(jī)按照投影關(guān)系式投影到三維圖像的視差圖上,并判斷無人機(jī)的投影面積與障礙物的面積是否相交,如果是,則生成并發(fā)送避障指令至機(jī)載飛行控制模塊,否則,生成并發(fā)送正常飛行指令至機(jī)載飛行控制模塊;如果距離不小于避障安全距離,則生成并發(fā)送正常飛行指令至機(jī)載飛行控制模塊;其中,避障指令用于控制無人機(jī)按照切線作為避障軌跡飛行,切線為以無人機(jī)為點(diǎn)與威脅圓之間的切線,威脅圓為以障礙物為圓心、預(yù)設(shè)威脅距離為半徑所做的圓。其中安全距離是根據(jù)無人機(jī)的飛行速度與反應(yīng)時間而人為設(shè)定的經(jīng)驗(yàn)距離。
作為優(yōu)選地,處理模塊為地面處理模塊,并設(shè)置在地面。
機(jī)載飛行控制模塊,用于依據(jù)正常飛行指令控制無人機(jī)正常飛行,或者依據(jù)避障指令控制無人機(jī)進(jìn)行避障。
本發(fā)明提供的一種無人機(jī)避障方法,包括通過雙目視覺檢測模塊對無人機(jī)前方環(huán)境的環(huán)境信息采集得到的第一視頻圖像信息和第二視頻圖像信息得到前方環(huán)境的三維圖像以及無人機(jī)與前方環(huán)境之間的距離,然后再將該距離是否小于避障安全距離作為一個判斷條件,將無人機(jī)在三維圖像的視差圖上的投影面積與障礙物的面積是否相交作為另一個判斷條件,從而確定是否控制無人機(jī)進(jìn)行避障,與現(xiàn)有技術(shù)相比,本發(fā)明通過兩個攝像頭來對障礙物進(jìn)行識別,對障礙物的反射能力沒有要求,如果不止一個障礙物,則首先對最近的那個障礙物進(jìn)行判斷,依次往后,能夠?qū)φ系K物進(jìn)行準(zhǔn)確識別,提高了無人機(jī)的安全性能;另外,攝像頭體積小,重量輕,成本低。
需要說明的是,在本說明書中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。