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