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