本發(fā)明涉及無人機(jī)控制技術(shù)領(lǐng)域,更具體地,本發(fā)明涉及一種無人機(jī)的避障控制方法、一種無人機(jī)的避障控制裝置、及一種無人機(jī)。
背景技術(shù):
近幾年,無人機(jī)技術(shù)迅速發(fā)展,越來越多的企業(yè)開始投入到無人機(jī)的市場,消費(fèi)級無人機(jī)逐漸進(jìn)入到大眾視野中。目前,市場上的消費(fèi)級無人機(jī)功能豐富,自動避障、視覺追蹤、指點(diǎn)飛行、自動返航、熱點(diǎn)跟隨等功能使得更多的消費(fèi)者參與到無人機(jī)的體驗之中,其中,自動避障功能尤為重要,當(dāng)無人機(jī)在飛行過程中,檢測到前方有障礙物時,會自動避開障礙物,繼續(xù)繞行或懸停。由于消費(fèi)級無人機(jī)價格較高,如果無人機(jī)缺少自動避障功能,或者該功能不穩(wěn)定,則會提高撞墻、撞樹、撞山的概率,會給消費(fèi)者帶來很大的損失,因此,自動避障技術(shù)對于無人機(jī)而言至關(guān)重要。
目前,無人機(jī)采用的避障技術(shù)包括:超聲波避障、tof(激光雷達(dá)測距)、單目加結(jié)構(gòu)光避障、及雙目視覺避障。
超聲波避障采用多普勒效應(yīng)原理檢測指定方向上是否存在障礙物。超聲波避障的不足之處在于:只能檢測到飛行前方是否存在障礙物,但無法確定障礙物的尺寸及具體位置,因此無法進(jìn)行3d建模和繞行處理。
tof(激光雷達(dá)測距)是通過給目標(biāo)連續(xù)發(fā)送光脈沖,然后用傳感器接收從物體返回的光,通過探測光脈沖的飛行(往返)時間來得到目標(biāo)物距離。tof的不足之處在于:光波容易受到干擾,必須避開太陽光的主要能量波段,而且需要專用處理芯片進(jìn)行非常精準(zhǔn)的時間測量,成本較高。
單目加結(jié)構(gòu)光避障,即單個攝像頭結(jié)合結(jié)構(gòu)光發(fā)射器構(gòu)成深度攝像頭,以下簡稱為單目結(jié)構(gòu)光避障,其采用“主動立體成像原理”進(jìn)行障礙物檢測,具體為:通過結(jié)構(gòu)光發(fā)射器打出結(jié)構(gòu)光,并對攝像頭拍到的反射回來的圖像與已知的結(jié)構(gòu)光圖像進(jìn)行對比分析,然后利用三角定位原理計算出3d圖像中的“深度”信息。該種避障方法的不足之處在于:受強(qiáng)光環(huán)境影響比較大,在強(qiáng)光環(huán)境下的避障效果較差。
雙目視覺避障,其是采用兩個攝像頭,基于視差原理并利用成像設(shè)備從不同位置獲取被測物體的兩幅圖像,通過計算圖像對應(yīng)點(diǎn)間的位置偏差,來獲取物體三維幾何信息的方法。該種避障方法的不足之處:對光照強(qiáng)度有嚴(yán)格的要求,在昏暗的環(huán)境下,雙目視覺避障失效。
由此可見,現(xiàn)有避障方案均有各自的局限性,因此,非常有必要提供一種適應(yīng)性更強(qiáng)的避障方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的一個目的是提供一種無人機(jī)避障的新的技術(shù)方案,以降低避障可靠性對于光照強(qiáng)度的要求。
為了解決上述技術(shù)問題,本發(fā)明提供了一種無人機(jī)的避障控制方法,其包括:
獲取當(dāng)前環(huán)境亮度;
比較所述當(dāng)前環(huán)境亮度與設(shè)定的亮度閾值之間的大??;
檢測當(dāng)前避障模式;
如果所述當(dāng)前環(huán)境亮度大于或者等于所述亮度閾值,且所述當(dāng)前避障模式為單目結(jié)構(gòu)光避障,則將所述當(dāng)前避障模式切換為雙目視覺避障;
如果所述當(dāng)前環(huán)境亮度小于所述亮度閾值,且所述當(dāng)前避障模式為雙目視覺避障,則將所述當(dāng)前避障模式切換為單目結(jié)構(gòu)光避障。
可選的是,所述避障控制方法還包括:
計算所述當(dāng)前環(huán)境亮度連續(xù)滿足大于或者等于所述亮度閾值條件的第一次數(shù);
計算所述當(dāng)前環(huán)境亮度連續(xù)滿足小于所述亮度閾值的第二次數(shù);
如果所述第一次數(shù)達(dá)到設(shè)定次數(shù),且所述當(dāng)前避障模式為單目結(jié)構(gòu)光避障,則再將所述當(dāng)前避障模式切換為雙目視覺避障;
如果所述第二次數(shù)達(dá)到設(shè)定次數(shù),且所述當(dāng)前避障模式為雙目視覺避障,則再將所述當(dāng)前避障模式切換為單目結(jié)構(gòu)光避障。
可選的是,所述獲取當(dāng)前環(huán)境亮度進(jìn)一步為:
按照設(shè)定的采樣間隔獲取當(dāng)前環(huán)境亮度。
可選的是,所述獲取當(dāng)前環(huán)境亮度包括:
分別讀取至少兩個光照度傳感器提供的當(dāng)前照度值;
計算讀取到的所有當(dāng)前照度值的平均值作為所述當(dāng)前環(huán)境亮度。
可選的是,所述避障控制方法還包括:
在所述當(dāng)前避障模式為雙目視覺避障時,控制結(jié)構(gòu)光發(fā)射器關(guān)閉,并控制兩個攝像頭開啟;
在所述當(dāng)前避障模式為單目結(jié)構(gòu)光避障時,控制結(jié)構(gòu)光發(fā)射器和其中一個攝像頭開啟,并控制另一個攝像頭關(guān)閉。
根據(jù)本發(fā)明的第二方面,提供了一種無人機(jī)的避障控制裝置,其包括:
確定模塊,用于確定當(dāng)前環(huán)境亮度;
比較模塊,用于比較所述當(dāng)前環(huán)境亮度與設(shè)定的亮度閾值之間的大??;
檢測模塊,用于檢測當(dāng)前避障模式;
雙目避障控制模塊,用于在所述當(dāng)前環(huán)境亮度大于或者等于所述亮度閾值,且所述當(dāng)前避障模式為單目結(jié)構(gòu)光避障的情況下,將所述當(dāng)前避障模式切換為雙目視覺避障;以及,
單目避障控制模塊,用于在所述當(dāng)前環(huán)境亮度小于所述亮度閾值,且所述當(dāng)前避障模式為雙目視覺避障的情況下,將所述當(dāng)前避障模式切換為單目結(jié)構(gòu)光避障。
可選的是,所述避障控制裝置還包括:
第一計算模塊,用于計算所述當(dāng)前環(huán)境亮度連續(xù)滿足大于或者等于所述亮度閾值條件的第一次數(shù);以及,
第二計算模塊,用于計算所述當(dāng)前環(huán)境亮度連續(xù)滿足小于所述亮度閾值的第二次數(shù);
所述雙目避障控制模塊用于在所述第一次數(shù)達(dá)到設(shè)定次數(shù),且所述當(dāng)前避障模式為單目結(jié)構(gòu)光避障的情況下,再將所述當(dāng)前避障模式切換為雙目視覺避障;
所述單目避障控制模塊用于在所述第二次數(shù)達(dá)到設(shè)定次數(shù),且所述當(dāng)前避障模式為雙目視覺避障的情況下,再將所述當(dāng)前避障模式切換為單目結(jié)構(gòu)光避障。
可選的是,所述確定模塊進(jìn)一步用于按照設(shè)定的采樣間隔確定當(dāng)前環(huán)境亮度。
可選的是,所述確定模塊包括:
讀取模塊,用于分別讀取至少兩個光照度傳感器提供的當(dāng)前照度值;以及,
計算模塊,用于計算讀取到的所有當(dāng)前照度值的平均值作為所述當(dāng)前環(huán)境亮度。
可選的是,所述雙目避障控制模塊還用于在所述當(dāng)前避障模式為雙目視覺避障時,控制結(jié)構(gòu)光發(fā)射器關(guān)閉,并控制兩個攝像頭開啟;
所述單目避障控制模塊還用于在所述當(dāng)前避障模式為單目結(jié)構(gòu)光避障時,控制結(jié)構(gòu)光發(fā)射器和其中一個攝像頭開啟,并控制另一個攝像頭關(guān)閉。
根據(jù)本發(fā)明的第三方面,提供了一種無人機(jī)的避障控制裝置,包括存儲器和處理器,所述存儲器用于存儲指令,所述指令用于控制所述處理器進(jìn)行操作以執(zhí)行根據(jù)本發(fā)明的第一方面所述的避障控制方法。
根據(jù)本發(fā)明的第四方面,提供了一種無人機(jī),其包括根據(jù)本發(fā)明的第二方面或者第三方面所述的避障控制裝置,所述無人機(jī)還包括光照度傳感器、結(jié)構(gòu)光發(fā)射器、第一攝像頭、第二攝像頭、及圖像處理裝置,其中,至少所述光照度傳感器、結(jié)構(gòu)光發(fā)射器、第一攝像頭和第二攝像頭安裝在所述無人機(jī)的機(jī)體上;
所述光照度傳感器用于采集當(dāng)前光照度提供給所述避障控制裝置的獲取裝置,以供所述獲取裝置確定當(dāng)前環(huán)境亮度;
所述結(jié)構(gòu)光發(fā)射器用于發(fā)出結(jié)構(gòu)光;
所述第一攝像頭和所述第二攝像頭用于采集圖像提供給所述圖像處理器;
所述圖像處理裝置用于根據(jù)當(dāng)前避障模式對接收到的圖像進(jìn)行相應(yīng)的圖像處理,得到障礙物的三維幾何信息。
本發(fā)明的一個有益效果在于,本發(fā)明無人機(jī)具有能夠進(jìn)行單目結(jié)構(gòu)光避障和雙目視覺避障的結(jié)構(gòu)配置,在此基礎(chǔ)上,本發(fā)明避障控制方法根據(jù)當(dāng)前環(huán)境亮度進(jìn)行避障模式的切換,進(jìn)而實(shí)現(xiàn)了在任何環(huán)境亮度下都能獲得可靠的避障效果的目的,有效降低了避障可靠性對于光照強(qiáng)度的要求。
通過以下參照附圖對本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會變得清楚。
附圖說明
被結(jié)合在說明書中并構(gòu)成說明書的一部分的附圖示出了本發(fā)明的實(shí)施例,并且連同其說明一起用于解釋本發(fā)明的原理。
圖1為根據(jù)本發(fā)明避障控制方法的一種實(shí)施方式的流程示意圖;
圖2為根據(jù)本發(fā)明避障控制方法的另一種實(shí)施方式的流程示意圖;
圖3為圖2所示避障控制方法的一種具體實(shí)施例的流程示意圖;
圖4為根據(jù)本發(fā)明避障控制裝置的一種實(shí)施方式的方框原理圖;
圖5為根據(jù)本發(fā)明避障控制裝置的另一種實(shí)施方式的方框原理圖;
圖6為根據(jù)本發(fā)明避障控制裝置的一種硬件結(jié)構(gòu)的方框原理圖;
圖7為根據(jù)本發(fā)明無人機(jī)的一種實(shí)施方式的方框原理圖。
具體實(shí)施方式
現(xiàn)在將參照附圖來詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。
以下對至少一個示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對本發(fā)明及其應(yīng)用或使用的任何限制。
對于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為說明書的一部分。
在這里示出和討論的所有例子中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它例子可以具有不同的值。
應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步討論。
根據(jù)本發(fā)明的無人機(jī)兼具兩種避障模式,一種是雙目視覺避障,另一種是單目結(jié)構(gòu)光避障,因此,本發(fā)明的無人機(jī)配置有第一攝像頭、第二攝像頭、結(jié)構(gòu)光發(fā)射器和圖像處理裝置,其中,第一攝像頭與結(jié)構(gòu)光發(fā)射器一起進(jìn)行單目結(jié)構(gòu)光避障,第一攝像頭與第二攝像頭一起進(jìn)行雙目視覺避障。
該圖像處理裝置在單目結(jié)構(gòu)光避障模式下,將第一攝像頭采集到的圖像與已知的結(jié)構(gòu)光圖像進(jìn)行對比分析,并利用三角定位原理計算出障礙物的三維幾何信息。
該圖像處理裝置在雙目視覺避障模式下,根據(jù)第一攝像頭采集到的第一圖像和第二攝像頭采集到的第二圖像,基于視差原理計算出第一圖像與第二圖像在對應(yīng)點(diǎn)間的位置偏差,進(jìn)而計算出障礙物的三維幾何信息。
為此,本發(fā)明還提供了一種避障控制方法,以根據(jù)當(dāng)前環(huán)境亮度選擇合適的避障模式,使得無人機(jī)在任何環(huán)境亮度下都能獲得可靠的避障效果,進(jìn)而有效降低了避障可靠性對于光照強(qiáng)度的要求。
圖1是根據(jù)本發(fā)明的無人機(jī)的避障控制方法的一種實(shí)施方式的流程示意圖。
根據(jù)圖1所示,本發(fā)明避障控制方法可以包括:
步驟s110,確定當(dāng)前環(huán)境亮度。
對應(yīng)該步驟,可以在無人機(jī)的機(jī)體上安裝光照度傳感器,以通過光照度傳感器采集外界環(huán)境的當(dāng)前光照度,以在該步驟根據(jù)光照度傳感器提供的當(dāng)前光照度確定當(dāng)前環(huán)境亮度。
無人機(jī)的機(jī)體上可以設(shè)置一個光照度傳感器,對應(yīng)地,該步驟s110可以進(jìn)一步為確定當(dāng)前環(huán)境亮度等于當(dāng)前光照度。
無人機(jī)的機(jī)體上也可以設(shè)置兩個以上光照度傳感器,對應(yīng)地,該步驟s110可以進(jìn)一步為確定當(dāng)前環(huán)境亮度等于所有光照度傳感器提供的當(dāng)前光照度的平均值,以提高確定當(dāng)前環(huán)境亮度的準(zhǔn)確性。
該平均值可以是算術(shù)平均值、幾何平均值、均方根平均值、或者加權(quán)平均值等。
在該步驟,可以進(jìn)一步按照設(shè)定的采樣間隔確定當(dāng)前環(huán)境亮度,即間隔固定時間讀取光照度傳感器提供的當(dāng)前照度值,并根據(jù)當(dāng)前照度值確定當(dāng)前環(huán)境亮度。
本發(fā)明避障控制方法可以支持對設(shè)定的采樣間隔的修改。
因此,該避障控制方法可以進(jìn)一步包括:接收輸入的采樣間隔,并將當(dāng)前的采樣間隔修改為接收到的采樣間隔。
步驟s120,比較當(dāng)前環(huán)境亮度與設(shè)定的亮度閾值之間的大小。
該亮度閾值可以根據(jù)雙目視覺避障對光照強(qiáng)度的要求確定,使得當(dāng)前環(huán)境亮度大于或者等于該亮度閾值時,適于進(jìn)行雙目視覺避障。
該亮度閾值例如可以設(shè)置為大于或者等于5lux,小于或者等于50lux。
本發(fā)明避障控制方法可以支持對亮度閾值的修改。
因此,該避障控制方法可以進(jìn)一步包括:接收輸入的亮度閾值,并將當(dāng)前的亮度閾值修改為接收到的亮度閾值。
步驟s130,檢測當(dāng)前避障模式。
在該步驟s130中,可以根據(jù)設(shè)置的模式標(biāo)志位的值檢測當(dāng)前避障模式,例如,設(shè)置模式標(biāo)志位等于1代表當(dāng)前避障模式為雙目視覺避障,等于0代表當(dāng)前避障模式為單目結(jié)構(gòu)光避障。
進(jìn)一步地,可在開機(jī)后設(shè)置模式標(biāo)志位等于1,即默認(rèn)開機(jī)時采用雙目視覺避障。而在當(dāng)前避障模式由雙目視覺避障切換為單目結(jié)構(gòu)光避障時,將模式標(biāo)志位由1修改為0,及在當(dāng)前避障模式由單目結(jié)構(gòu)光避障切換為雙目視覺避障時,將模式標(biāo)記位由0修改為1。
步驟s140,如果當(dāng)前環(huán)境亮度大于或者等于設(shè)定的亮度閾值,且當(dāng)前避障模式為單目結(jié)構(gòu)光避障,則將當(dāng)前避障模式切換為雙目視覺避障。
而在當(dāng)前環(huán)境亮度大于或者等于設(shè)定的亮度閾值,且當(dāng)前避障模式為雙目視覺避障的情況下,保持當(dāng)前避障模式不變。
步驟s150,如果當(dāng)前環(huán)境亮度小于設(shè)定的亮度閾值,且當(dāng)前避障模式為雙目視覺避障,則將當(dāng)前避障模式切換為單目結(jié)構(gòu)光避障。
而在當(dāng)前環(huán)境亮度小于設(shè)定的亮度閾值,且當(dāng)前避障模式為單目結(jié)構(gòu)光避障的情況下,保持當(dāng)前避障模式不變。
在本發(fā)明的一個具體實(shí)施例中,本發(fā)明避障控制方法還可以進(jìn)一步包括向圖像處理裝置輸出表示當(dāng)前避障模式的信號的步驟,以使圖像處理裝置根據(jù)當(dāng)前避障模式進(jìn)行相應(yīng)的圖像處理。
在本發(fā)明的另外的具體實(shí)施例中,該圖像處理裝置也可以主動檢測當(dāng)前避障模式。
根據(jù)本發(fā)明的避障控制方法,由于單目結(jié)構(gòu)光避障能夠在低照度下進(jìn)行更可靠的避障,因此,其能夠在雙目視覺避障失效的光照環(huán)境下提供可靠的避障支持,進(jìn)而實(shí)現(xiàn)了在任何環(huán)境亮度下都能進(jìn)行可靠避障的目的,有效降低了避障可靠性對于光照強(qiáng)度的要求。
圖2是根據(jù)本發(fā)明避障控制方法的另一種實(shí)施方式的流程示意圖。
根據(jù)圖2所示,本發(fā)明避障控制方法可以包括:
步驟s210,確定當(dāng)前環(huán)境亮度。
步驟s220,比較當(dāng)前環(huán)境亮度與設(shè)定的亮度閾值之間的大小。
步驟s230,檢測當(dāng)前避障模式。
步驟s240,計算當(dāng)前環(huán)境亮度連續(xù)滿足大于或者等于亮度閾值條件的第一次數(shù)。
對應(yīng)該步驟,可以設(shè)置用于計數(shù)第一次數(shù)的變量i,并設(shè)置變量i的初始值等于0,當(dāng)根據(jù)步驟s220得出當(dāng)前環(huán)境亮度大于或者等于亮度閾值時,設(shè)置i=i+1;當(dāng)根據(jù)步驟s220得出當(dāng)前環(huán)境亮度小于亮度閾值時,重置i=0。
步驟s250,計算當(dāng)前環(huán)境亮度連續(xù)滿足小于所述亮度閾值的第二次數(shù)。
對應(yīng)該步驟,可以設(shè)置用于計數(shù)第二次數(shù)的變量j,并設(shè)置變量j的初始值等于0,當(dāng)根據(jù)步驟s220得出當(dāng)前環(huán)境亮度小于亮度閾值時,設(shè)置j=j(luò)+1;當(dāng)根據(jù)步驟s220得出當(dāng)前環(huán)境亮度大于或者等于亮度閾值時,重置j=0。
步驟s260,如果第一次數(shù)達(dá)到設(shè)定次數(shù),且當(dāng)前避障模式為單目結(jié)構(gòu)光避障,則再將當(dāng)前避障模式切換為雙目視覺避障。
而在當(dāng)前環(huán)境亮度大于或者等于亮度閾值,但第一次數(shù)未達(dá)到設(shè)定次數(shù)時,保持當(dāng)前避障模式不變。
該設(shè)定次數(shù)可以根據(jù)需要設(shè)置,以提高對當(dāng)前環(huán)境亮度檢測的準(zhǔn)確性,例如可以設(shè)置為2次至5次。
本發(fā)明避障控制方法可以支持對設(shè)定次數(shù)的修改。
因此,該避障控制方法可以進(jìn)一步包括:接收輸入的設(shè)定次數(shù),并將當(dāng)前的設(shè)定次數(shù)修改為接收到的設(shè)定次數(shù)。
在第一次數(shù)達(dá)到設(shè)定次數(shù)時,可以將第一次數(shù)清0,以重新計算連續(xù)滿足大于或者等于亮度閾值條件的第一次數(shù)。對于設(shè)置變量i的實(shí)施例,即在第一次數(shù)達(dá)到設(shè)定次數(shù)時,重置變量i=0。
步驟s270,如果所第二次數(shù)達(dá)到設(shè)定次數(shù),且當(dāng)前避障模式為雙目視覺避障,則再將所述當(dāng)前避障模式切換為單目結(jié)構(gòu)光避障。
而在當(dāng)前環(huán)境亮度小于亮度閾值,但第二次數(shù)未達(dá)到設(shè)定次數(shù)時,保持當(dāng)前避障模式不變。
在第二次數(shù)達(dá)到設(shè)定次數(shù)時,可以將第二次數(shù)清0,以重新計算連續(xù)滿足小于亮度閾值條件的第二次數(shù)。對于設(shè)置變量j的實(shí)施例,即在第二次數(shù)達(dá)到設(shè)定次數(shù)時,重置變量j=0。
圖3示出了根據(jù)圖2所示實(shí)施方式的一種具體實(shí)施例的流程示意圖。
根據(jù)圖3所示,本發(fā)明避障控制方法可以具體包括:
步驟s310:根據(jù)設(shè)定的采樣間隔確定當(dāng)前環(huán)境亮度,之后執(zhí)行步驟s320。
步驟s320,比較當(dāng)前環(huán)境亮度與亮度閾值之間的大小,如果當(dāng)前環(huán)境亮度大于或者等于亮度閾值,則執(zhí)行步驟s3311,如果當(dāng)前環(huán)境亮度小于亮度閾值,則執(zhí)行步驟s3321。
步驟s3311,將第一次數(shù)加1,并將第二次數(shù)清0,之后執(zhí)行步驟s3312。
步驟s3312,判斷第一次數(shù)是否大于或者等于設(shè)定次數(shù),如是,則執(zhí)行步驟s3313,如否,則回到步驟s310等待下一次采樣確定當(dāng)前環(huán)境亮度。
步驟s3313,檢測當(dāng)前避障模式是否為雙目視覺避障,如是,則保持當(dāng)前避障模式不變,并將第一次數(shù)清0,再回到步驟s310等待下一次采樣確定當(dāng)前環(huán)境亮度;如否,則將當(dāng)前避障模式由單目結(jié)構(gòu)光避障切換為雙目視覺避障,并將第一次數(shù)清0,再回到步驟s310等待下一次采樣確定當(dāng)前環(huán)境亮度。
步驟s3321,將第二次數(shù)加1,并將第一次數(shù)清0,之后執(zhí)行步驟s3322。
步驟s3322,判斷第二次數(shù)是否大于或者等于設(shè)定次數(shù),如是,則執(zhí)行步驟s3323,如否,則回到步驟s310等待下一次采樣確定當(dāng)前環(huán)境亮度。
步驟s3323,檢測當(dāng)前避障模式是否為單目結(jié)構(gòu)光避障,如是,則保持當(dāng)前避障模式不變,并可以將第二次數(shù)清0,再回到步驟s310等待下一次采樣確定當(dāng)前環(huán)境亮度;如否,則將當(dāng)前避障模式由雙目視覺避障切換為單目結(jié)構(gòu)光避障,并可以將第二次數(shù)清0,再回到步驟s310等待下一次采樣確定當(dāng)前環(huán)境亮度。
在本發(fā)明的一個具體實(shí)施例中,該避障控制方法還可以包括:在當(dāng)前避障模式為雙目視覺避障時,控制結(jié)構(gòu)光發(fā)射器關(guān)閉,并控制兩個攝像頭開啟;在當(dāng)前避障模式為單目結(jié)構(gòu)光避障時,控制結(jié)構(gòu)光發(fā)射器和其中一個攝像頭開啟,并控制另一個攝像頭關(guān)閉,以減少耗電,延長無人機(jī)的續(xù)航時間。
圖4是根據(jù)本發(fā)明無人機(jī)的避障控制裝置的一種實(shí)施方式的方框原理圖。
根據(jù)圖4所示,該避障控制裝置可以包括確定模塊410、比較模塊420、檢測模塊430、雙目避障控制模塊440、單目避障控制模塊450。
該確定模塊410用于確定當(dāng)前環(huán)境亮度。
該比較模塊420用于比較所述當(dāng)前環(huán)境亮度與設(shè)定的亮度閾值之間的大小。
該檢測模塊430用于檢測當(dāng)前避障模式。
該雙目避障控制模塊440用于在所述當(dāng)前環(huán)境亮度大于或者等于所述亮度閾值,且所述當(dāng)前避障模式為單目結(jié)構(gòu)光避障的情況下,將所述當(dāng)前避障模式切換為雙目視覺避障。
該雙目避障控制模塊440進(jìn)一步用于在所述當(dāng)前環(huán)境亮度大于或者等于所述亮度閾值,且所述當(dāng)前避障模式為雙目視覺避障的情況下,保持當(dāng)前避障模式不變。
該單目避障控制模塊450用于在當(dāng)前環(huán)境亮度小于所述亮度閾值,且當(dāng)前避障模式為雙目視覺避障的情況下,將當(dāng)前避障模式切換為單目結(jié)構(gòu)光避障。
該單目避障控制模塊450進(jìn)一步用于在當(dāng)前環(huán)境亮度小于所述亮度閾值,且當(dāng)前避障模式為單目結(jié)構(gòu)光避障的情況下,保持當(dāng)前避障模式不變。
該確定模塊410可以進(jìn)一步用于按照設(shè)定的采樣間隔確定當(dāng)前環(huán)境亮度。
該確定模塊410可以進(jìn)一步包括讀取單元和計算單元(圖中未示出)。該讀取單元用于分別讀取至少兩個光照度傳感器提供的當(dāng)前照度值。該計算單元用于計算讀取到的所有當(dāng)前照度值的平均值作為所述當(dāng)前環(huán)境亮度。
該雙目避障控制模塊440還可以用于在當(dāng)前避障模式為雙目視覺避障時,控制結(jié)構(gòu)光發(fā)射器關(guān)閉,并控制兩個攝像頭開啟。
該單目避障控制模塊450還可以用于在所述當(dāng)前避障模式為單目結(jié)構(gòu)光避障時,控制結(jié)構(gòu)光發(fā)射器和其中一個攝像頭開啟,并控制另一個攝像頭關(guān)閉。
圖5是根據(jù)本發(fā)明無人機(jī)的避障控制裝置的另一種實(shí)施方式的方框原理圖。
根據(jù)圖5所示,該避障控制裝置包括確定模塊510、比較模塊520、檢測模塊530、雙目避障控制模塊540、單目避障控制模塊550、第一計算模塊560、第二計算模塊570。
該確定模塊510用于確定當(dāng)前環(huán)境亮度。
該比較模塊520用于比較所述當(dāng)前環(huán)境亮度與設(shè)定的亮度閾值之間的大小。
該檢測模塊530用于檢測當(dāng)前避障模式。
該檢測模塊530可以進(jìn)一步根據(jù)模式標(biāo)志位的值檢測當(dāng)前避障模式,其中,設(shè)置模式標(biāo)志位等于1代表當(dāng)前避障模式為雙目視覺避障,等于0代表當(dāng)前避障模式為單目結(jié)構(gòu)光避障。
該第一計算模塊540用于計算所述當(dāng)前環(huán)境亮度連續(xù)滿足大于或者等于所述亮度閾值條件的第一次數(shù)。
該第一計算模塊540可以進(jìn)一步用于設(shè)置變量i表示第一次數(shù),并在當(dāng)前環(huán)境亮度大于或者等于亮度閾值時,設(shè)置i=i+1,及在當(dāng)前環(huán)境亮度小于亮度閾值時重置i=0,其中設(shè)置i的初始值等于0。
該第二計算模塊550用于計算所述當(dāng)前環(huán)境亮度連續(xù)滿足小于所述亮度閾值的第二次數(shù)。
該第二計算模塊550可以進(jìn)一步用于設(shè)置變量j表示第二次數(shù),并在當(dāng)前環(huán)境亮度小于亮度閾值時,設(shè)置j=j(luò)+1,及在當(dāng)前環(huán)境亮度大于或者等于亮度閾值時重置j=0,其中設(shè)置j的初始值等于0。
該雙目避障控制模塊540用于在第一次數(shù)達(dá)到設(shè)定次數(shù),且所述當(dāng)前避障模式為單目結(jié)構(gòu)光避障的情況下,再將所述當(dāng)前避障模式切換為雙目視覺避障。
該單目避障控制模塊550用于在第二次數(shù)達(dá)到設(shè)定次數(shù),且所述當(dāng)前避障模式為雙目視覺避障的情況下,再將所述當(dāng)前避障模式切換為單目結(jié)構(gòu)光避障。
本發(fā)明避障控制裝置還可以包括參數(shù)設(shè)置模塊(圖中未示出),該參數(shù)設(shè)置模塊可以用于接收輸入的亮度閾值,并將當(dāng)前的亮度閾值修改為接收到的亮度閾值。
該參數(shù)設(shè)置模塊也可以用于接收輸入的采樣間隔,并將當(dāng)前的采樣間隔修改為接收到的采樣間隔。
該參數(shù)設(shè)置模塊也可以用于接收輸入的設(shè)定次數(shù),并將當(dāng)前的設(shè)定次數(shù)修改為接收到的設(shè)定次數(shù)。
圖6是根據(jù)本發(fā)明避障控制裝置的一種硬件結(jié)構(gòu)的方框原理圖。
根據(jù)圖6所示,該避障控制裝置600包括至少一個存儲器601和至少一個處理器602,各存儲器601用于存儲指令,該指令用于控制各處理器602進(jìn)行操作以執(zhí)行根據(jù)本發(fā)明的避障控制方法。
除此之外,根據(jù)圖6所示,該避障控制裝置600還可以包括接口裝置603、輸入裝置604、通信裝置606、輸出裝置605等等。
上述通信裝置606例如能夠進(jìn)行有有線或無線通信。
上述接口裝置603例如包括usb接口等。
上述輸入裝置604例如可以包括觸摸屏、按鍵等。
上述輸出裝置605例如包括顯示器、揚(yáng)聲器、指示燈等等。
圖7是根據(jù)本發(fā)明無人機(jī)的一種實(shí)施方式的方框原理圖。
根據(jù)圖7所示,本發(fā)明無人機(jī)包括以上任一種避障控制裝置,在圖7中被標(biāo)記為710。除此之外,本發(fā)明無人機(jī)還包括光照度傳感器750、結(jié)構(gòu)光發(fā)射器740、第一攝像頭720、第二攝像頭730、及圖像處理裝置760。
以上光照度傳感器750、結(jié)構(gòu)光發(fā)射器740、第一攝像頭720和第二攝像頭730均安裝在無人機(jī)的機(jī)體上。
光照度傳感器750用于采集當(dāng)前光照度提供給避障控制裝置710的獲取裝置,以供獲取裝置確定當(dāng)前環(huán)境亮度。
結(jié)構(gòu)光發(fā)射器740用于發(fā)出結(jié)構(gòu)光。
第一攝像頭720和第二攝像頭730用于采集圖像提供給圖像處理器760。
圖像處理裝置用于根據(jù)當(dāng)前避障模式對接收到的圖像進(jìn)行相應(yīng)的圖像處理,得到障礙物的三維幾何信息。
以上避障控制裝置710可以安裝在無人機(jī)的機(jī)體上,也可以安裝在遙控器一端。
本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,各個實(shí)施例之間相同相似的部分相互參見即可,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚的是,上述各實(shí)施例可以根據(jù)需要單獨(dú)使用或者相互結(jié)合使用。另外,對于裝置實(shí)施例而言,由于其是與方法實(shí)施例相對應(yīng),所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的對應(yīng)部分的說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中作為分離部件說明的模塊可以是或者也可以不是物理上分開的。
本發(fā)明可以是裝置、方法和/或計算機(jī)程序產(chǎn)品。計算機(jī)程序產(chǎn)品可以包括計算機(jī)可讀存儲介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本發(fā)明的各個方面的計算機(jī)可讀程序指令。
計算機(jī)可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計算機(jī)可讀存儲介質(zhì)例如可以是――但不限于――電存儲設(shè)備、磁存儲設(shè)備、光存儲設(shè)備、電磁存儲設(shè)備、半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計算機(jī)盤、硬盤、隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、靜態(tài)隨機(jī)存取存儲器(sram)、便攜式壓縮盤只讀存儲器(cd-rom)、數(shù)字多功能盤(dvd)、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計算機(jī)可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘枴?/p>
這里所描述的計算機(jī)可讀程序指令可以從計算機(jī)可讀存儲介質(zhì)下載到各個計算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機(jī)或外部存儲設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計算機(jī)和/或邊緣服務(wù)器。每個計算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計算機(jī)可讀程序指令,以供存儲在各個計算/處理設(shè)備中的計算機(jī)可讀存儲介質(zhì)中。
用于執(zhí)行本發(fā)明操作的計算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(isa)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言-諸如smalltalk、c++等,以及常規(guī)的過程式編程語言-諸如“c”語言或類似的編程語言。計算機(jī)可讀程序指令可以完全地在用戶計算機(jī)上執(zhí)行、部分地在用戶計算機(jī)上執(zhí)行、作為一個獨(dú)立的軟件包執(zhí)行、部分在用戶計算機(jī)上部分在遠(yuǎn)程計算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機(jī)的情形中,遠(yuǎn)程計算機(jī)可以通過任意種類的網(wǎng)絡(luò)-包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)-連接到用戶計算機(jī),或者,可以連接到外部計算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實(shí)施例中,通過利用計算機(jī)可讀程序指令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計算機(jī)可讀程序指令,從而實(shí)現(xiàn)本發(fā)明的各個方面。
這里參照根據(jù)本發(fā)明實(shí)施例的方法、裝置和計算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各個方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機(jī)可讀程序指令實(shí)現(xiàn)。
這些計算機(jī)可讀程序指令可以提供給通用計算機(jī)、專用計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機(jī)可讀程序指令存儲在計算機(jī)可讀存儲介質(zhì)中,這些指令使得計算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲有指令的計算機(jī)可讀介質(zhì)則包括一個制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的各個方面的指令。
也可以把計算機(jī)可讀程序指令加載到計算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機(jī)實(shí)現(xiàn)的過程,從而使得在計算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實(shí)施例的裝置、方法和計算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實(shí)現(xiàn)。對于本領(lǐng)域技術(shù)人員來說公知的是,通過硬件方式實(shí)現(xiàn)、通過軟件方式實(shí)現(xiàn)以及通過軟件和硬件結(jié)合的方式實(shí)現(xiàn)都是等價的。
以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說明的各實(shí)施例的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌鲋械募夹g(shù)的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。本發(fā)明的范圍由所附權(quán)利要求來限定。