蘭建雄,焦興華,潘 勇,韓俊杰
(1.廣東省南粵交通仁新高速公路管理處,廣東 韶關(guān) 512600;2.廣州天勤數(shù)字科技有限公司,廣州 510620)
隨著我國高速公路網(wǎng)里程的不斷增加,高速公路養(yǎng)護(hù)巡檢工作量也隨之增大。傳統(tǒng)的人工巡檢方式,效率低,成本高,視角受限,已逐漸被新技術(shù)所取代。近年來,無人機(jī)技術(shù)因其體積小、高空視角、飛行靈活、機(jī)動性強等優(yōu)點已經(jīng)逐漸被深入應(yīng)用到高速公路養(yǎng)護(hù)巡檢工作中。但由于無人機(jī)巡檢過程中存在諸多不可預(yù)測的障礙物,如樹木、建筑物等,給無人機(jī)操作帶來了巨大的困難。時常因環(huán)境復(fù)雜,巡檢過程中無法及時識別和躲避障礙物,而造成無法完成巡檢任務(wù),甚至出現(xiàn)墜機(jī)現(xiàn)象,造成生命財產(chǎn)損失。因此,研究如何實現(xiàn)無人機(jī)在高速公路養(yǎng)護(hù)巡檢過程中自主避障能力非常必要。
目前,深度學(xué)習(xí)已經(jīng)被廣泛應(yīng)用到自然語言處理、車輛自動駕駛、人臉識別、虛擬助手及地震預(yù)報等方面。深度學(xué)習(xí)采用數(shù)據(jù)驅(qū)動方式進(jìn)行特征提取,通過對大量圖像目標(biāo)樣本的訓(xùn)練,獲得數(shù)據(jù)集特定的特征表示,其對數(shù)據(jù)集的表達(dá)更加高效和準(zhǔn)確,是實現(xiàn)無人機(jī)在復(fù)雜環(huán)境下對障礙物進(jìn)行快速精準(zhǔn)識別的重要技術(shù)手段[1]。郭潤蘭等人[2],結(jié)合機(jī)器人的工作原理以及卷積神經(jīng)網(wǎng)絡(luò)(CNN)在圖像分類中的應(yīng)用,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的壁面障礙物檢測識別算法。張崟等人[3],針對因霧霾、夜間等視線不佳環(huán)境下難以識別行人、車輛、涵洞和隧道等各類障礙物的難題,提出了一種基于神經(jīng)網(wǎng)絡(luò)的車輔系統(tǒng)障礙物識別技術(shù)。陳成坤等人[4],針對果園自動駕駛車輛中的障礙物檢測問題,設(shè)計了一種雙目視覺結(jié)合YOLOv4的果園障礙物檢測與定位系統(tǒng)。毛先胤等人[5],采用了雙目視覺的方法,實現(xiàn)了電力線路上障礙物的定位測距。白麗娟等人[6],構(gòu)建了障礙物檢測與車輛視覺定位的一體化系統(tǒng),實現(xiàn)了對立體匹配結(jié)果的雙重利用??梢?在障礙物識別和定位方面,深度學(xué)習(xí)和雙目視覺技術(shù)已日漸成熟,成為了三維場景視覺識別和定位領(lǐng)域中極具代表性的技術(shù)方法。但目前主要應(yīng)用還是在車輛自動駕駛方面,在無人機(jī)自主飛行方面相對較少,特別是在高速公路養(yǎng)護(hù)無人機(jī)自動巡檢方面。
結(jié)合高速公路養(yǎng)護(hù)巡檢管理的特點和管理要求,本文以YOLOv5算法為核心,構(gòu)建障礙物識別模型。YOLO是單階段目標(biāo)檢測的算法[7],其模型由Input(輸入端)、Backbone(主干網(wǎng)絡(luò))、Neck(網(wǎng)絡(luò))、Prediction(輸出預(yù)測端)四個部分組成。
首先將無人機(jī)采集到的視覺圖像進(jìn)行標(biāo)注。將標(biāo)注完成的數(shù)據(jù)集作為樣本數(shù)據(jù),輸入到障礙物識別模型中進(jìn)行訓(xùn)練,不斷優(yōu)化模型參數(shù),最終識別出典型障礙物(樹木、建筑物)的類型。接著以無人機(jī)為原點,構(gòu)建獨立坐標(biāo)系,通過RTK/INS技術(shù)和雙目視覺技術(shù)分別對無人機(jī)空間位置和障礙物空間位置進(jìn)行計算,得出障礙物距無人機(jī)的長度和方位。并根據(jù)長度量和方位量制定無人機(jī)避障策略。最后將一整套算法部署于機(jī)載的高性能邊緣計算平臺中。詳細(xì)的技術(shù)思路如下。
首先通過人工對無人機(jī)視覺圖像樣本數(shù)據(jù)進(jìn)行采集,主要的障礙物圖像包括樹木(道路兩旁的樹木、橋底兩旁的樹木)、建筑物(房屋、橋梁等)。接著對采集到的無人機(jī)視覺圖像進(jìn)行標(biāo)注,使用labelme工具對無人機(jī)視覺圖像中待識別的物體予以標(biāo)注,標(biāo)注文件以.“json”格式保存,并將無人機(jī)視覺圖像劃分為訓(xùn)練集和驗證集,為接下來的障礙物識別做準(zhǔn)備。
構(gòu)建基于YOLOv5的障礙物識別模型,將標(biāo)注好的障礙物樣本圖像作為輸入數(shù)據(jù),輸入到Y(jié)OLOv5網(wǎng)絡(luò)中進(jìn)行目標(biāo)識別,并根據(jù)識別結(jié)果,對模型的參數(shù)和結(jié)構(gòu)進(jìn)行調(diào)整,不斷地優(yōu)化模型,提高障礙物的識別精度。
(1)坐標(biāo)系建立
為了確定障礙物與無人機(jī)之間的相對位置,首先需建立空間坐標(biāo)系,將無人機(jī)和障礙物的空間位置轉(zhuǎn)化到同一坐標(biāo)系中。以無人機(jī)中心作為空間坐標(biāo)系原點O,無人機(jī)前端方向作為y軸正方向,無人機(jī)右側(cè)作為s軸正方向,垂直于機(jī)體朝上作為z軸正方向建立空間坐標(biāo)系。如圖1所示。
圖1 空間坐標(biāo)系建立
(2)基于RTK/INS技術(shù)的無人機(jī)定位
無人機(jī)定位則通過安裝在無人機(jī)機(jī)身中心位置的RTK模組實現(xiàn)精準(zhǔn)定位。RTK定位技術(shù)是一種實時接收觀測衛(wèi)星載波相位值的動態(tài)相對定位技術(shù)[8],定位精度可達(dá)厘米級,其基本原理是設(shè)置基準(zhǔn)站和移動站,將基準(zhǔn)站架設(shè)在已知或未知坐標(biāo)的參考點上,動態(tài)接收所有可視GNSS衛(wèi)星信號,并將相關(guān)信息傳輸給移動站。移動站接收來自基準(zhǔn)站的數(shù)據(jù)時,同步觀測采集GNSS衛(wèi)星載波相位數(shù)據(jù),以差分的方式剔除誤差,最終得出移動站的坐標(biāo)(x,y,z)。而安裝在無人機(jī)上的RTK模組就相當(dāng)于一個移動站。
為了獲得無人機(jī)的高精度的動態(tài)信息,除了通過RTK技術(shù)獲得具有高精度的速度和位置信息外,還需通過INS慣性導(dǎo)航系統(tǒng),獲取無人機(jī)的姿態(tài)角等信息。利用慣性導(dǎo)航系統(tǒng)對加速度計和陀螺儀數(shù)據(jù)積分可獲得無人機(jī)的速度和姿態(tài)角等信息[9]。慣性導(dǎo)航系統(tǒng)不需要外部信息即可獲得位姿信息。但其誤差與時間相關(guān),短時間內(nèi)可獲得高精度的位姿信息,隨著時間推移,INS誤差也隨之越來越大。
(3)障礙物定位
障礙物的位置則是基于雙目視覺技術(shù)進(jìn)行求解。雙目視覺技術(shù)通過模擬人眼從兩個不同的方向拍攝同一物點,而該物點在左右兩相機(jī)成像時會形成視覺差異,根據(jù)這一差異,利用三角測量法[10],可以計算出障礙物的三維坐標(biāo)(x,y,z)。具體原理如圖2所示。
圖2 雙目立體視覺成像原理
障礙物的準(zhǔn)確識別與定位是制定避障策略的關(guān)鍵。本文根據(jù)障礙物的種類、大小、方位、距離等信息,設(shè)計了一套復(fù)雜環(huán)境下無人機(jī)的避障策略。根據(jù)飛行路徑上障礙物與無人機(jī)之間的相對距離,將二者之間的區(qū)域劃分為安全區(qū)、預(yù)警減速區(qū)和避障區(qū)。
具體情況主要分以下幾種。
當(dāng)無人機(jī)處于安全區(qū)(即無碰撞風(fēng)險或碰撞風(fēng)險極低的區(qū)域),無人機(jī)正常執(zhí)行飛行任務(wù)。
當(dāng)障礙物與無人機(jī)距離達(dá)到設(shè)定閾值,則進(jìn)入預(yù)警減速區(qū),無人機(jī)根據(jù)障礙物類別與屬性,做出減速飛行并進(jìn)行拉升避障、下降越障、繞飛越障的飛行策略判斷。具體分以下幾種情況。
(1)當(dāng)無人機(jī)識別出障礙物左右兩邊一定范圍內(nèi)有一邊無其他障礙物時,便會優(yōu)先向無障礙物的一邊執(zhí)行繞飛越障策略。左右兩邊一定范圍內(nèi)都無障礙物時,便會隨機(jī)選擇一邊執(zhí)行繞飛越障策略。
(2)當(dāng)無人機(jī)識別出障礙物左右兩邊一定范圍內(nèi)都有其他障礙物,但上方無其他障礙物(如樹木)時,便會執(zhí)行拉升避讓。拉升越障時,始終與障礙物保持一定距離。
(3)當(dāng)無人機(jī)識別出障礙物左右兩邊一定范圍內(nèi)都有障礙物,且上方有其他障礙物,而障礙物下方無其他障礙物時,便會執(zhí)行下降避障,下降避讓時,始終與障礙物保持一定距離。
(4)當(dāng)無人機(jī)遇到上下左右都有障礙物時,無人機(jī)會嘗試原地上升一定高度,再重新判斷障礙物分布情況。若原地抬升三次,上下左右仍有障礙物,則會向后臺發(fā)送請求,遠(yuǎn)程人工進(jìn)行輔助避障。
當(dāng)減速到安全飛行速度并進(jìn)入避障區(qū),無人機(jī)執(zhí)行相應(yīng)避障策略,避障飛行期間,根據(jù)深度信息持續(xù)判斷碰撞風(fēng)險,當(dāng)觸發(fā)高風(fēng)險碰撞警報,則懸停請求人工接管,降低撞機(jī)造成的無人機(jī)損壞和人員傷害風(fēng)險。最后通過仿真和試驗,對整個系統(tǒng)進(jìn)行優(yōu)化,提升無人機(jī)在復(fù)雜環(huán)境下的感知與避障能力。
當(dāng)巡查任務(wù)下達(dá)時,無人機(jī)飛控系統(tǒng)接到任務(wù)信息后便會執(zhí)行相應(yīng)的巡查任務(wù)。當(dāng)無人機(jī)在執(zhí)行飛行任務(wù)時,可通過邊緣計算進(jìn)行障礙物障礙物識別,制定相應(yīng)的避障策略。遇到復(fù)雜環(huán)境時,若無人機(jī)無法連續(xù)3次通過避障動作完成避障,則可以通過5G網(wǎng)絡(luò)向后臺發(fā)送信息,進(jìn)行遠(yuǎn)程人工輔助飛行。
將基于Python語言的障礙物識別、定位和避障算法部署在機(jī)載邊緣計算平臺上進(jìn)行測試。
邊緣計算平臺相關(guān)參數(shù)見表1。
表1 邊緣計算平臺相關(guān)參數(shù)
通過損失函數(shù)可以清晰看出,訓(xùn)練過程中,模型的預(yù)測偏差的降低。隨著訓(xùn)練過程的進(jìn)行,其預(yù)測能力與實際結(jié)果的偏差降低到一定程度不再降低。說明障礙物的識別準(zhǔn)確率在不斷提高,見圖3。
圖3 損失函數(shù)
2021年12月~2022年7月,先后利用基于邊緣計算的無人機(jī)自主巡檢系統(tǒng)對仁新(武深高速公路仁化至新豐段)高速公路的85處重點邊坡和92座橋梁進(jìn)行了巡查,共計發(fā)現(xiàn)邊坡沖刷31處,排水溝堵塞19處,橋梁地基沖刷70處,并及時處置了這些病害。
為了提升高速公路養(yǎng)護(hù)無人機(jī)自主巡檢能力,本文以多旋翼無人機(jī)為研究對象,結(jié)合實際高速公路養(yǎng)護(hù)巡檢場景,基于機(jī)載高性能邊緣計算平臺,研發(fā)了一套高速公路養(yǎng)護(hù)無人機(jī)自主巡檢系統(tǒng),有效節(jié)約了人力成本,提高了高速公路養(yǎng)護(hù)巡檢效率。
真實場景下測試表明,本系統(tǒng)的避障能力具有較高的成功率,但目前對一些較為茂密的樹冠識別準(zhǔn)確率有待提高,且對某些特殊的障礙物(如飛鳥等)仍無法實現(xiàn)準(zhǔn)確識別和避障,需通過遠(yuǎn)程人工輔助完成避障。