目前,無人機(jī)的避障技術(shù)中最為常見的是紅外線傳感器、超聲波傳感器、激光傳感器以及視覺傳感器。
近年來無人機(jī)市場(chǎng)飛速增長(zhǎng),避障技術(shù)作為增加無人機(jī)安全飛行的保障也隨著技術(shù)的發(fā)展日新月異。無人機(jī)在飛行過程中,通過其傳感器收集周邊環(huán)境的信息,測(cè)量距離從而做出相對(duì)應(yīng)的動(dòng)作指令,從而達(dá)到「避障」的作用。
目前,無人機(jī)的避障技術(shù)中最為常見的是紅外線傳感器、超聲波傳感器、激光傳感器以及視覺傳感器。那為什么大疆的前視避障首先選擇了雙目視覺呢?這就要從各個(gè)技術(shù)的原理說起了。
紅外避障:
紅外線的應(yīng)用我們并不陌生:從電視、空調(diào)的遙控器,到酒店的自動(dòng)門,都是利用的紅外線的感應(yīng)原理。而具體到無人機(jī)避障上的應(yīng)用,紅外線避障的常見實(shí)現(xiàn)方式就是「三角測(cè)量原理」。
紅外感應(yīng)器包含紅外發(fā)射器與CCD檢測(cè)器,紅外線發(fā)射器會(huì)發(fā)射紅外線,紅外線在物體上會(huì)發(fā)生反射,反射的光線被CCD檢測(cè)器接收之后,由于物體的距離D不同,反射角度也會(huì)不同,不同的反射角度會(huì)產(chǎn)生不同的偏移值L,知道了這些數(shù)據(jù)再經(jīng)過計(jì)算,就能得出物體的距離了,如下圖所示。
超聲波避障:
超聲波其實(shí)就是聲波的一種,因?yàn)轭l率高于20kHz,所以人耳聽不見,并且指向性更強(qiáng)。
超聲波測(cè)距的原理比紅外線更加簡(jiǎn)單,因?yàn)槁暡ㄓ龅秸系K物會(huì)反射,而聲波的速度已知,所以只需要知道發(fā)射到接收的時(shí)間差,就能輕松計(jì)算出測(cè)量距離,再結(jié)合發(fā)射器和接收器的距離,就能算出障礙物的實(shí)際距離,如下圖所示。
超聲波測(cè)距相比紅外測(cè)距,價(jià)格更加便宜,相應(yīng)的感應(yīng)速度和精度也遜色一些。同樣,由于需要主動(dòng)發(fā)射聲波,所以對(duì)于太遠(yuǎn)的障礙物,精度也會(huì)隨著聲波的衰減而降低,此外,對(duì)于海綿等吸收聲波的物體或者在大風(fēng)干擾的情況下,超聲波將無法工作。
激光避障:
激光避障與紅外線類似,也是發(fā)射激光然后接收。不過激光傳感器的測(cè)量方式很多樣,有類似紅外的三角測(cè)量,也有類似于超聲波的時(shí)間差+速度。
但無論是哪種方式,激光避障的精度、反饋速度、抗干擾能力和有效范圍都要明顯優(yōu)于紅外和超聲波。
但這里注意,不管是超聲波還是紅外、亦或是這里的激光測(cè)距,都只是一維傳感器,只能給出一個(gè)距離值,并不能完成對(duì)現(xiàn)實(shí)三維世界的感知。當(dāng)然,由于激光的波束極窄,可以同時(shí)使用多束激光組成陣列雷達(dá),近年來此技術(shù)逐漸成熟,多用于自動(dòng)駕駛車輛上,但由于其體積龐大,價(jià)格昂貴,故不太適用于無人機(jī)。
視覺避障:
解決機(jī)器人如何“看”的問題,也就是大家常聽到的計(jì)算機(jī)視覺(Computer Vision)。其基礎(chǔ)在于如何能夠從二維的圖像中獲取三維信息,從而了解我們身處的這個(gè)三維世界。
視覺識(shí)別系統(tǒng)通常來說可以包括一個(gè)或兩個(gè)攝像頭。單一的照片只具有二維信息,猶如2D電影,并無直接的空間感,只有靠我們自己依靠“物體遮擋、近大遠(yuǎn)小”等生活經(jīng)驗(yàn)?zāi)X補(bǔ)。故單一的攝像頭獲取到的信息及其有限,并不能直接得到我們想要的效果(當(dāng)然能夠通過一些其他手段,輔助獲取,但是此項(xiàng)還不成熟,并沒有大規(guī)模驗(yàn)證)。類比到機(jī)器視覺中,單個(gè)攝像頭的圖片信息無法獲取到場(chǎng)景中每個(gè)物體與鏡頭的距離關(guān)系,即缺少第三個(gè)維度。
如下圖所示,單一的圖片具有很強(qiáng)的迷惑性和不確定性
雙目立體視覺猶如3D電影(左右眼看到的場(chǎng)景略有差異),能夠直接給人帶來強(qiáng)烈的空間臨場(chǎng)感。類比機(jī)器視覺,從單個(gè)攝像頭升級(jí)到兩個(gè)攝像頭,即立體視覺(Stereo Vision)能夠直接提供第三個(gè)維度的信息,即景深(depth),能夠更為簡(jiǎn)單的獲取到三維信息。雙目視覺最常見的例子就是我們的雙眼:我們之所以能夠準(zhǔn)確的拿起面前的杯子、判斷汽車的遠(yuǎn)近,都是因?yàn)殡p眼的雙目立體視覺,而3D電影、VR眼鏡的發(fā)明,也都是雙目視覺的應(yīng)用。
雙目視覺的基本原理是利用兩個(gè)平行的攝像頭進(jìn)行拍攝,然后根據(jù)兩幅圖像之間的差異(視差),利用一系列復(fù)雜的算法計(jì)算出特定點(diǎn)的距離,當(dāng)數(shù)據(jù)足夠時(shí)還能生成深度圖。
為什么雙目視覺能夠在無人機(jī)應(yīng)用中脫穎而出?
其實(shí),各個(gè)避障技術(shù)在無人機(jī)上都有用武之地,只是應(yīng)用場(chǎng)景有所不同,特別對(duì)于前視避障而言,有些技術(shù)就不適用了。
紅外和超聲波技術(shù),因?yàn)槎夹枰鲃?dòng)發(fā)射光線、聲波,所以對(duì)于反射的物體有要求,比如:紅外線會(huì)被黑色物體吸收,會(huì)穿透透明物體,還會(huì)被其他紅外線干擾;而超聲波會(huì)被海綿等物體吸收,也容易被槳葉氣流干擾。
而且,主動(dòng)式測(cè)距還會(huì)產(chǎn)生兩臺(tái)機(jī)器相互干擾的問題。相比之下,雖然雙目視覺也對(duì)光線有要求,但是對(duì)于反射物的要求要低很多,兩臺(tái)機(jī)器同時(shí)使用也不會(huì)互相干擾,普適性更強(qiáng)。
最重要的是,常見的紅外和超聲波目前都是單點(diǎn)測(cè)距,只能獲得特定方向上的距離數(shù)據(jù),而雙目視覺可以在小體積、低功耗的前提下,獲得眼前場(chǎng)景的比較高分辨率的深度圖,這就讓避障功能有了更多的發(fā)展空間,比如避障之后的智能飛行、路徑規(guī)劃等。
激光技術(shù)雖然也能實(shí)現(xiàn)類似雙目視覺的功能,但是受限于技術(shù)發(fā)展,目前的激光元件普遍價(jià)格貴、體積大、功耗高,應(yīng)用在消費(fèi)級(jí)無人機(jī)上既不經(jīng)濟(jì)也不實(shí)用。
所以各方比較之下,性價(jià)比高、原理簡(jiǎn)單、前景廣闊、普遍適用的雙目視覺就這樣脫穎而出了。
精靈4Pro上的五向避障
精靈4Pro上的五向避障可以說是大疆無人機(jī)避障技術(shù)的集中體現(xiàn),因此我們以精靈4Pro舉例說明。P4P前后的避障都采用了雙目視覺系統(tǒng),相比精靈4而言,僅雙目視覺部分的數(shù)據(jù)量就翻了一倍。向下采用雙目視覺+超聲波的組合避障,以提高在不同環(huán)境中飛行的穩(wěn)定性和安全性。而飛行器左右的避障則采用了紅外線避障。
視覺里程計(jì)
值得一提的是,其中下視的雙目運(yùn)用了視覺里程計(jì)(VO)的技術(shù)。
視覺里程計(jì)簡(jiǎn)單來說,就是「通過左右雙目的圖像,反推出視野中物體的三維位置」,所以相比光流+超聲波技術(shù)只能簡(jiǎn)單的測(cè)出速度和高度,視覺里程計(jì)還能構(gòu)建地面的三維模型,并通過連續(xù)的圖像,跟蹤自身與環(huán)境的相對(duì)移動(dòng),估計(jì)出自身的運(yùn)動(dòng)。準(zhǔn)確測(cè)出自身與地面的相對(duì)位置。
雖然視覺里程計(jì)的數(shù)據(jù)處理量是光流法的數(shù)倍不止,但正是因?yàn)樗囊耄沟镁`4和精靈4Pro在無GPS的室內(nèi)也能對(duì)自身位置有清晰的掌控,從而實(shí)現(xiàn)穩(wěn)定的懸停并且不會(huì)出現(xiàn)掉高等現(xiàn)象。
有了視覺里程計(jì),再結(jié)合前后立體視覺的地圖重構(gòu),無人機(jī)就同時(shí)掌握了障礙物的位置和機(jī)器自身的位置,這時(shí)再驅(qū)動(dòng)電機(jī)進(jìn)行繞行就顯得易如反掌了,一個(gè)完整的避障功能就是這么實(shí)現(xiàn)的。
Flight Autonomy系統(tǒng)
精靈4Pro的五向避障并非各自獨(dú)立,前后視的雙目視覺、下視雙目+超聲波和左右紅外避障共同構(gòu)成了大疆的FlightAutonomy系統(tǒng),這個(gè)系統(tǒng)賦予了精靈4Pro對(duì)三維環(huán)境的記憶能力,前后雙目+下視雙目能夠?qū)崟r(shí)對(duì)周圍的地形進(jìn)行構(gòu)建和記錄(Mapping),具體而言分為局部地圖(Local Mapping)和全局地圖(Global Mapping)。
局部地圖讓無人機(jī)能夠構(gòu)建并記住周圍幾十米內(nèi)的三維環(huán)境,從而實(shí)現(xiàn)「指點(diǎn)飛行」等功能,因?yàn)閮H僅知道飛行方向和機(jī)身位置肯定是不夠的,只有對(duì)周圍地形變化有記憶能力,才能完成「在指定方向上規(guī)劃線路并繞行」這樣級(jí)別的任務(wù)。
而全局地圖則是對(duì)整個(gè)飛行過程中經(jīng)過的地形的記錄,雖然精度不如局部地圖,卻能幫助無人機(jī)實(shí)現(xiàn)「智能返航」等功能:當(dāng)無人機(jī)一不小心飛到了建筑物后面導(dǎo)致遙控信號(hào)丟失時(shí),智能返航功能能夠讓無人機(jī)在一分鐘內(nèi)沿原路返航,如果一分鐘內(nèi)不能連上遙控器信號(hào),則會(huì)直線返航。這其中對(duì)飛行路徑周圍環(huán)境的記憶,就是精靈4Pro智能之處的另一個(gè)體現(xiàn)。
實(shí)現(xiàn)的難點(diǎn)
避障功能從構(gòu)思到實(shí)現(xiàn),走的每一步幾乎都便隨著無數(shù)的難題。僅僅是寫出有效的視覺識(shí)別或者地圖重構(gòu)的算法還只是第一步,能讓它在無人機(jī)這樣一個(gè)計(jì)算能力和功耗都有限制的平臺(tái)上流暢穩(wěn)定的跑起來,才是真正困難的地方。特別是在精靈4Pro上,不僅雙目視覺的數(shù)據(jù)量相比精靈4直接翻了一倍,還要保證續(xù)航不受影響,這是非常困難的。
此外,如何處理功能的邊界也是一個(gè)問題,比如雙目視覺在視線良好的情況下可以工作,那么當(dāng)有灰塵遮擋的情況下呢?這就需要不斷的實(shí)驗(yàn)和試錯(cuò),并且持續(xù)的優(yōu)化算法,保證各項(xiàng)功能在各類場(chǎng)景下都能正常工作,不會(huì)給出錯(cuò)誤的指令。
「避障功能」作為近年來無人機(jī)產(chǎn)品的大趨勢(shì),帶來的最直接的好處就是,以往一些人為疏忽造成的撞擊,現(xiàn)在都能經(jīng)由避障功能去避免,既保障了無人機(jī)飛行安全的同時(shí),也避免了對(duì)周圍人員財(cái)產(chǎn)的損害,讓飛無人機(jī)的門檻進(jìn)一步得到了降低。
而長(zhǎng)遠(yuǎn)來看,無人機(jī)想要普及到農(nóng)業(yè)、建筑、運(yùn)輸、媒體等領(lǐng)域,「智能化」肯定是必經(jīng)之路,畢竟只有在飛行功能上做到智能控制,才有余量去滿足不同行業(yè)的需求。如今由「避障功能」而衍生出的一系列「智能飛行」功能,無疑就是「無人機(jī)智能化」的階段性體現(xiàn)之一。