呂 倩,陶 鵬,吳 宏,胡向陽,張璦涵
(上海工程技術(shù)大學(xué)電子電氣工程學(xué)院,上海 210600)
微型飛行器(Micro Air Vehicle,MAV)與其它空中機器人相比,由于四旋翼飛行器機械和控制的簡單性、高機動性及低入門、低成本的特點,備受學(xué)術(shù)界和工業(yè)界青睞,近年來成為研究熱點。隨著MAV 飛行控制技術(shù)的日趨成熟及GPS 技術(shù)在民用領(lǐng)域的普及,MAV 在空中操縱[1]、智能監(jiān)視和偵察(Intelligent Surveillance and Reconnaissance,ISR)[2]、航空攝影、結(jié)構(gòu)檢測[3]、機器人應(yīng)急[4]、建筑[5]和計算機視覺[6]等領(lǐng)域應(yīng)用廣泛,相關(guān)研究也推動了四旋翼飛行器的進一步發(fā)展。
無人機高度依賴周圍環(huán)境實際測量數(shù)據(jù)的準確性。在室外環(huán)境中可利用良好的GPS 信號,在實驗室環(huán)境中可使用超寬帶(Ultra Wide Band,UWB)技術(shù)[7]或通過適當(dāng)放置的特殊標簽獲悉環(huán)境實況。然而在飛行過程中,實際環(huán)境是動態(tài)的,GPS 信號也可能因建筑物遮擋等因素中斷或處于較弱的信號狀態(tài),而放置標簽又只能在已知環(huán)境下采用。針對以上問題,本文提出一種僅依靠無人機機載計算機在無GPS 的未知環(huán)境中,實現(xiàn)無人機自主飛行、規(guī)避障礙物與穿越特定障礙物的方法。
計算能力有限的純機載傳感平臺地圖構(gòu)建工作可以使用激光測距儀實現(xiàn)[8]。由于激光掃描匹配限制及計算能力有限,該方法僅限于慢速飛行情況,且由無人機攜帶的體積小、重量輕的激光測距儀僅能測量單個平面中的距離,因此該方法需要對環(huán)境進行簡化假設(shè)。
隨著計算能力的增長和更高效算法的提出,將視覺用于無人機狀態(tài)估計成為可能[9]。為了最小化無人機機體重量與飛行過程中的功率消耗,可以僅使用單個向下或向前的攝像機。MAV 中大多數(shù)單目視覺算法[10]依賴于并行跟蹤與建圖(Parallel Tracking and Mapping,PTAM)。然而,PTAM 主要應(yīng)用于增強現(xiàn)實,在大規(guī)模復(fù)雜環(huán)境中操作還需多次修改。隨著視覺算法的改進和小型計算機可用計算能力的增長,相機現(xiàn)已成為無人機檢測與識別環(huán)境障礙物的首選傳感器。
視覺導(dǎo)航的出現(xiàn)解決了無GPS 信號或弱GPS 信號下無法準確獲取無人機位置與姿態(tài)的難題,但僅依賴于相機傳感器識別障礙物準確度不高,而且會由于光線明暗、距離遠近不同等原因?qū)е伦R別錯誤。本文通過融合更多機載傳感器測得的數(shù)據(jù),更真實地反映無人機及其周圍環(huán)境的狀況,從而獲得真實準確的信息,為無人機在室內(nèi)等無GPS 或弱GPS 信號下的飛行與避障提供保障。
硬件平臺設(shè)計的指導(dǎo)原則是保證無人機快速靈活地飛行。為達到20m/s 的速度,要求飛行器必須在大多數(shù)傳感器檢測距離(約20~25m)內(nèi)使無人機速度減為0,這意味著平臺必須能達到10m/s2的加速度。為保證飛行器可在保持高度的同時達到該加速度,飛行器推力重量比約為1.5。為了在高加速階段保證飛行器有一定的控制力,該平臺需具有足夠的推力,故在滿載時提供給飛行器的推重比需超過2.0。
在對現(xiàn)有平臺進行調(diào)研的基礎(chǔ)上,最終選擇DJI M600飛行平臺,包括飛行器、電機、螺旋槳和速度控制器,該組合非常符合硬件平臺性能要求。每個DJI 3510 發(fā)動機和螺旋槳組合具有大約1.6kgf 的額定最大推力,則四旋翼配置總推力約為6.4kgf。
飛行平臺采用DJI Guidance 視覺傳感器導(dǎo)航系統(tǒng),該系統(tǒng)視覺處理模塊為64g,視覺傳感模塊為43g,每根VBUS 線纜為11.6g。該平臺相機采用大疆禪思X4S,型號為ZENMUSE X4S,重量為253g。飛行平臺還使用了加速計,陀螺儀,氣壓計等其它傳感器。板載計算機采用妙算MANIFOLD。基座平臺由DJI M100 飛行器及其飛控系統(tǒng)A1 組成,質(zhì)量約為1.6kg;加上傳感器和計算負載,平臺重量為2.1kg。為達到飛行時間要求,需選擇合適的電池,同時需保證平臺最大總質(zhì)量在3kg 左右。
由于無人機電池是能量和功率密度高的基于鋰聚合物化學(xué)的電池。DJI M100 推進系統(tǒng)需額定電壓約為22.2V。鑒于此,可用的主要設(shè)計選擇是電池容量。典型的鋰聚合物電池比能值在130~140Wh/kg,四旋翼機懸停所需功率約為200W/kg,所以對于總質(zhì)量在3~3.5kg 左右的平臺,功耗為600~700W。假設(shè)電池整體效率約為60%,從電池供電到螺旋槳機械功率輸出,電池5min 飛行時間能量容量約為69.4~83.4Wh。在實踐中,為了保護電池使用壽命,不會消耗電池全部容量,需為不可預(yù)見的情況預(yù)留一些容量。假設(shè)使用電池額定容量的80%,則需要電池能量容量為86.8~104.1Wh。使用135Wh/kg 的平均比能值,期望電池質(zhì)量在0.64~0.77kg 之間,這與整個平臺總質(zhì)量預(yù)算非常吻合。根據(jù)可用電池容量,選擇TB47D 型號電池,以便在性能和續(xù)航能力方面提供一定靈活性。該型號電池容量為4 500mAh,電池整體重量為600g,電池能量為99.9Wh。無人機飛行平臺如圖1 所示。
Fig.1 UAV hardware platform圖1 無人機硬件平臺
在無人機平臺上有多個傳感器,每個傳感器均提供機器人狀態(tài)信息。例如加速計測量無人機加速度,經(jīng)積分運算后可獲得無人機速度與位移;陀螺儀測量角速度,積分運算后可獲得角度;氣壓計與高度傳感器可測量飛行高度等。此外,傳感器以不同速率提供輸出,例如,以40hz 的速度運行單目攝像機,以20hz 的速度運行向下的高度傳感器,以200hz 的速度運行加速計。主要利用卡爾曼濾波器變體完成傳感器融合任務(wù),將這些信息合并成無人機整體狀態(tài)的一致估計。四旋翼飛行器旋轉(zhuǎn)自由度決定了無人機是一個非線性系統(tǒng),需使用擴展卡爾曼濾波器(Extended Kalman Filter,EKF)或無跡卡爾曼濾波器(Unscented Kal?man Filter,UKF)。由于UKF 具有較好的處理系統(tǒng)與非線性的優(yōu)點,且計算量增加較少,所以選擇UKF 執(zhí)行傳感器融合任務(wù)[11]。
圖2 為運行在無人機上的UKF 模塊數(shù)據(jù)輸入和輸出流程。根據(jù)相機傳感器拍攝到的視頻數(shù)據(jù)識別環(huán)境中的障礙物,再根據(jù)加速計、氣壓計、大疆視覺傳感導(dǎo)航系統(tǒng)DJI Guidance、陀螺儀等其它機載傳感器測量得到的數(shù)據(jù),經(jīng)無跡卡爾曼濾波融合數(shù)據(jù)后控制無人機飛行方向、距離與飛行速度,從而避開障礙物。
Fig.2 Data flow of UAV unscented Kalman filter圖2 無人機無跡卡爾曼濾波數(shù)據(jù)流
UKF 使用的狀態(tài)向量為:
其中,p 是無人機在真實世界的位置坐標,p˙為無人機在真實世界的速度,bα是加速度計偏移,bω是陀螺儀偏移。使用ZYX 公約的歐拉角φ、θ 和ψ 表示方向,φ、θ 和ψ分別是橫滾、俯仰和偏航,歐拉角十分簡潔,因此用以表示方向。由于四旋翼無人機橫滾和俯仰角不會大于90°,故在該情況下使用歐拉角時不會受萬向鎖問題影響。
UKF 包括預(yù)測步驟和多個更新步驟。根據(jù)慣性測量單元(Inertial Measurement Unit,IMU)等傳感器測得的數(shù)據(jù)進行預(yù)測,更新步驟用于對預(yù)測值進行修正。由于加速度計與陀螺儀的測量在機體坐標系中,而位置和速度在世界坐標系中,所以預(yù)測步驟是非線性的,需要利用估計的方向?qū)y量從機體坐標系轉(zhuǎn)換到世界坐標系。
假設(shè)迭代狀態(tài)為k,xk(維數(shù)n)具有均值和協(xié)方差Pk,用具有均值和協(xié)方差Qk的過程噪聲(維度p)對其進行擴充,從而創(chuàng)建增廣狀態(tài)與協(xié)方差矩陣。
再將無跡變換應(yīng)用于增廣態(tài),生成一組sigma 點。
其中L=n+p是增強狀態(tài)的維度,λ是縮放參數(shù)。
然后,利用過程模型傳播這些sigma 點,其中輸入為加速度計與陀螺儀測量值。
每當(dāng)新的傳感器測量值Yk+1到達時,即運行濾波器更新步驟。首先,以與預(yù)測步驟相同的方式生成一組新的sigma 點。
除了用于預(yù)測步驟的IMU 之外,對于UKF 的每個傳感器輸入均有一個單獨的測量函數(shù)h(x,n),當(dāng)從任何一個傳感器接收到輸入時,將執(zhí)行完整的更新步驟。
考慮到在跨越障礙物時高度傳感器的跳躍問題,UKF保持了一個內(nèi)部基本高度參數(shù)。如果高度傳感器輸出與期望值相比有跳躍,則UKF 假設(shè)基礎(chǔ)高度已改變,并使用新的基礎(chǔ)高度作為高度傳感器的參考級別,較好地處理了傳感器輸出跳變。該方法局限性在于當(dāng)高度變化緩慢時,機器人只會相對于基礎(chǔ)高度保持所需高度,并且會隨著基礎(chǔ)高度的升降而上下移動。
由機載傳感器獲得的數(shù)據(jù)經(jīng)無跡卡爾曼濾波進行數(shù)據(jù)融合后,可使無人機獲取的環(huán)境信息更詳細,若只依靠單個傳感器片面測量飛行器某方面數(shù)據(jù),則無法感知飛行器與環(huán)境的整體狀態(tài),無人機也無法精確判斷障礙物和控制飛行方向及飛行速度,這將導(dǎo)致無人機無法精準避障,因此需與機載傳感器信息融合。
為測試系統(tǒng)性能,在開源自動駕駛仿真平臺Air?Sim[12-13]上進行仿真實驗,仿真環(huán)境如圖3 所示。該平臺模擬真實世界復(fù)雜未知環(huán)境,無GPS 與全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite System,GNSS)信號,無人機需要避開大型建筑物、密集樹木、廢舊汽車、路障等障礙物,并按照數(shù)字順序依次穿越紅色圓環(huán),保證不碰撞圓環(huán)和其它障礙物,不漏穿錯穿圓環(huán)。
Fig.3 Simulation test environment圖3 仿真測試環(huán)境
機載相機傳感器采集經(jīng)過處理的仿真場景圖像,如圖4—圖6 所示。圖4 為實物圖,圖5 為深度圖,圖6 為分割圖。將相機采集到的視頻數(shù)據(jù)進行分割[14],如圖6 所示,可區(qū)分可供無人機自由飛行的空曠區(qū)域、無人機需穿越的障礙圈與其它必須避開的無關(guān)障礙物。
Fig.4 Simulation platform scene acquired by camera圖4 相機獲取的仿真平臺場景
Fig.5 Depth image圖5 深度圖
無人機避開障礙物、穿越障礙圈的過程為:保證遠離除圓環(huán)之外的障礙物,并且需識別圓環(huán);在開始之后進行4次判斷,首先判斷是否成功起飛,如果失敗則進入起飛失敗策略重新起飛,如果成功,則攝像頭開始啟動;在飛機前行的同時根據(jù)攝像頭拍攝的圖像開始識別與檢測,判斷是否發(fā)現(xiàn)圓環(huán),若未發(fā)現(xiàn)圓環(huán),飛機向左或向右移動,如果發(fā)現(xiàn)圓環(huán),則飛機向圓環(huán)方向移動并開始穿越圓環(huán);最后判斷是否穿越成功,如果穿越成功則記入成功數(shù)目,否則進入穿越圓環(huán)失敗策略。仿真流程圖如圖7 所示。
Fig.6 Segmentated image圖6 分割圖
Fig.7 Simulation test flow圖7 仿真測試流程
為完成該測試,系統(tǒng)不僅需準確避障,還需識別場景中特定紅色障礙圈。在仿真環(huán)境中所有障礙圈的顏色為紅色,并形成一塊特殊標識的連通區(qū)域,采用兩邊掃描法識別并標記圖片中所有連通區(qū)域。利用HSV 顏色空間識別紅色區(qū)域,再使用霍夫變換等方法檢測需要穿越的圓環(huán)位置與半徑,確保無人機盡可能從圓環(huán)中心穿過,避免與障礙物碰撞。圖8 為無人機在仿真平臺中穿越紅色障礙圈時刻。
Fig.8 Moment of UAV successfully crossing red obstacle circle in simulation environment圖8 仿真環(huán)境中無人機成功穿越紅色障礙圈時刻
在現(xiàn)實世界中無人機穿越障礙圈的時刻如圖9 所示。由于現(xiàn)實中有諸多不穩(wěn)定因素,包括光線明暗變化、無人機傳感器精度有限等一系列問題,造成穿越障礙圈的動作不能保證百分之百成功,但在現(xiàn)實世界中若測試參數(shù)設(shè)置合理,光線明暗適中,則可準確識別并成功穿過障礙圈。
Fig.9 Moment of UAV successfully crossing red obstacle circle in reality圖9 現(xiàn)實世界中無人機穿越障礙圈時刻
本文設(shè)計了一種基于單目攝像機與IMU、DJI Guidance 等傳感器的無人機自主飛行及避障系統(tǒng),并使用無跡卡爾曼濾波融合多傳感器信息,實現(xiàn)無人機與周圍環(huán)境信息區(qū)分、識別與檢測。在仿真平臺使用虛擬無人機與傳感器,在現(xiàn)實世界中使用自主搭建的硬件平臺,分別針對自主起飛、避開障礙物、穿越障礙圈等任務(wù)進行實驗。經(jīng)微軟AirSim 仿真平臺實驗與現(xiàn)實世界實驗驗證,該系統(tǒng)可精確避開無關(guān)障礙物,穩(wěn)定完成穿越指定障礙圈、目標識別、場景搜索、自主起飛與降落等飛行任務(wù)。