曾干敏 唐文琦 明蕊
摘 要:無人機在物流、巡航、航拍等領域有著極大的應用價值。傳統(tǒng)的無人機仍然是由人進行手動控制,但是考慮到人力成本和無人機數(shù)量增大等問題,無人機的自主飛行成為了當下研究的熱點。在無人機的自主飛行技術中,避障技術又是一項十分關鍵的技術。無人機避障技術涉及障礙物識別和路線規(guī)劃,障礙識別通常采用傳感器實現(xiàn),而路線規(guī)劃則通過決策算法實現(xiàn)。本文闡述了基于激光雷達、超聲波、單目色攝像頭的避障系統(tǒng),簡要說明了各個系統(tǒng)信息采集的原理和避障功能的實現(xiàn)。在無人機飛行高度較高的情況下,可以采用地圖導航避障,這種方案可以極大地節(jié)省電池消耗。在實際應用,無人機的避障系統(tǒng)會采用多個傳感器。
關鍵詞:避障系統(tǒng);傳感器;地圖導航
1 激光雷達避障系統(tǒng)
激光雷達向四周發(fā)射激光束,激光束遇到障礙物后被反射,雷達的接受系統(tǒng)接收反射回來的信號,通過信號處理系統(tǒng)的分析后得到與障礙物的距離、方位以及相對速度的信息。激光雷達通過對四周環(huán)境的快速掃描測量,可以建立起完整的環(huán)境模型。開源激光雷達 SLAM 算法有使用了RBP和 Hector算法,[1]可以構建出精確的三維地圖。
在實際的應用中,無人機的避障系統(tǒng)根據(jù)構建后的環(huán)境地圖,對比自身的GPS位置和四周障礙物的信息,調整自身的飛行速度和方向,尋找可行的路徑,選擇合適的路徑規(guī)避障礙物。在成功規(guī)避障礙物后,再次構建環(huán)境三維地圖,并進行替換,然后再次調整飛行狀態(tài)進行避障飛行。重復操作,直到無人機到達目標位置。激光雷達精度高、靈敏度好,配合較好的算法可以構建出高精度的三維地圖模型,同時它的體積和重量都很輕,因此激光雷達特別適合搭載在小型的旋翼無人機上。
2 超聲波避障系統(tǒng)
2.1 系統(tǒng)的信息采集
聲波是一種可以在氣體、液體或者固體中傳播的機械波。一般根據(jù)聲波振動頻率不同,可以將超聲波分為次聲波、聲波、超聲波。超聲波一般具有以下的特點:(1)頻率高,波長短,像光線一樣沿著一定方向傳播,其傳播能量較為集中;(2)幅很小,加速度非常大,因而可以產生較大的力量。(3)穿過兩種不同的介質時,大部分能量會被反射回來。超聲波的傳播速度一般受傳播介質密度、彈性和實時環(huán)境條件等特性的影響。當采用時間差進行測距,碰到障礙物時聲波立即進行被反射,當超聲波接收器接收到反射波時立即停止計時,根據(jù)開始到結束的時間差計算距離。多次采集同一個目標物的發(fā)射信息,可以計算出目標物的方位和速度等信息。
2.2 避障系統(tǒng)
人工勢場算法是一種虛擬力法。人工勢場算法多用于機器人避障,其原理是通過模擬引力和斥力對運動的物體進行牽引,威脅物作為斥力場源產生斥力,目標點作為引力場源產生引力,通過計算運動物體每一位置的合力來計算下一個運動點的坐標。[2]將障礙物作為斥力場,有效的通道作為引力場,無人機作為目標物,以此建立人工勢場模型。通過對各個參數(shù)進行合理的復制,通過計算目標物的合力,可以得到當前較優(yōu)的避障路徑。每完成一次避障飛行操作便要根據(jù)傳感器采集的信息,更新模型中的斥力場和引力場,再次求解模型得到規(guī)避路徑。超聲波傳感器成本較低,靈敏度和精度相對于激光雷達較差。
3 視覺避障系統(tǒng)
3.1 圖像信息采集
通過相機獲得當前幀的景深圖像,通過對景深圖像的分層和分割,獲得障礙物的方向和距離信息,以此達到感知障礙物的目的。在感知到障礙物的空間相對位置后,無人機需要對任務路徑進行重新規(guī)劃,圖像采集和處理設備體積小,非常適合無人機在任務中攜帶。傳統(tǒng)的視覺識別是通過特征提取方法來處理圖像信息。在無人機避障系統(tǒng),只需要得到障礙物的相對位置和速度等信息,無需得到障礙物的詳細特征。
3.2 避障系統(tǒng)
基于深度神經網絡的四旋翼無人機避障方法,通過訓練集對模型進行訓練,使能夠辨認出一定數(shù)量的障礙物,并能識別前方障礙的類型,即具有障礙物分類的功能。通過機載協(xié)同計算機將目標障礙物識別并框選出來,得到目標障礙物在圖像中的位置,進而計算出目標障礙物的圖上尺寸,再利用相似三角形原理估量出目標障礙物到無人機之間的間隔,再由機載協(xié)同計算機判斷是否執(zhí)行避障動作。
4 無人機地圖導航
對于大型或飛行高度較高的無人機,其航行上障礙物較少或只有高樓。在這種情況下,如果沿用上述傳感器避障的方法,將會消耗大量無用的能量。比如在用激光雷達避障時,長時間得開啟雷達系統(tǒng)將會消耗無人機大量的電力,這大大縮減了無人機的航程。在這種情況下,地圖導航將會是一個很好的選擇。考慮到減少無人機的電力消耗,我們可以采用客戶——服務器的方式來搭建這個導航系統(tǒng),無人機作為客戶端,遠程的計算機作為服務器為其提供服務。客戶端和服務器端可以通過4G網絡來傳遞信息。
在無人機主板上搭建linux系統(tǒng),為其插上4G網卡,配置相應文件使其可以連接互聯(lián)網絡。分別在無人機和遠程服務器上運行客戶端和服務器程序,配置必要的IP信息和端口信息,保證兩者之間的正常通信。無人機實時得向服務器發(fā)送自己的位置信息已經飛行狀態(tài),同時實時接收服務器對其給出的指令信息,調整自身的飛行狀態(tài)。在服務器是上調用高德地圖接口,根據(jù)無人機的位置信息,運行相應的路徑決策程序。決策程序根據(jù)無人機的位置和該位置的障礙物信息,對無人機的飛行路徑和飛行狀態(tài)進行規(guī)劃,并將處理的結果信息發(fā)送給無人機。
參考文獻:
[1]萬富華.基于多傳感器的無人機定位和避障技術研究[D].浙江工業(yè)大學,2017.
[2]毛晨悅,吳鵬勇.基于人工勢場法的無人機路徑規(guī)劃避障算法[J].電子科技,2018(31).