基于多傳感器融合的室內(nèi)自主飛行器系統(tǒng)*
摘要:設(shè)計了以多旋翼無人機為平臺,基于多傳感器融合、ADRC自抗擾控制、YOLOv5目標(biāo)檢測神經(jīng)網(wǎng)絡(luò)等技術(shù)的室內(nèi)自主飛行器系統(tǒng)。系統(tǒng)以 Jetson NANO為運行平臺,采用ACFLY EDU飛行控制板運行核心控制部分,基于Intel RealSense T265的位置信息,融合飛行控制板IMU、高度氣壓計、TOF等傳感器數(shù)據(jù)對無人機 在室內(nèi)的狀態(tài)進行估計和修正,使用ROS和MAVROS構(gòu)建通信系統(tǒng),以提高無人機在室內(nèi)飛行的平穩(wěn)性。該系統(tǒng)可以根據(jù)控制命令或自主實現(xiàn)無人機一鍵起飛、動態(tài)室內(nèi)定位、飛行姿態(tài)控制、對室內(nèi)目標(biāo)的檢測與精準(zhǔn)識別、航向控制與定點降落等功能。經(jīng)電子設(shè)計競賽實際測試,本系統(tǒng)能夠不依賴傳統(tǒng)的GPS信號和光流傳感器等模塊進行定位,同時具有較高的定位精度,可在室內(nèi)復(fù)雜條件下完成自主飛行器既定的設(shè)計功能。
本文引用地址:http://www.ex-cimer.com/article/202207/436624.htm關(guān)鍵詞:多傳感器融合;室內(nèi)自主飛行;ADRC自抗擾控制;T265;YOLOv5神經(jīng)網(wǎng)絡(luò);ROS
*本項目獲得2021年全國大學(xué)生電子設(shè)計競賽國家二等獎
0 引言
無人機在最近十年內(nèi)在民用領(lǐng)域有了長足的發(fā)展,但由于室內(nèi)全球定位系統(tǒng)(global positioning system, GPS)信號弱或不可用,傳統(tǒng)平臺依賴的慣性導(dǎo)航誤差較大,并且室內(nèi)地面效應(yīng)比較嚴(yán)重,所以室內(nèi)無人機的發(fā)展進度相對緩慢。筆者通過對室內(nèi)無人機飛行器比賽的訓(xùn)練和參與發(fā)現(xiàn)存在著如下問題:室內(nèi)定位常用的光流傳感器受環(huán)境光照強度和參照面特征點數(shù)量的影響;氣壓計高度讀數(shù)隨著樓層的變化,不能正常顯示飛行器相對地板高度;室內(nèi)地面效應(yīng)嚴(yán)重致使飛行器起飛時參數(shù)震蕩,傳統(tǒng)比例積分微分(proportional integral derivative, PID)控制參數(shù)難以調(diào)整等,因此對室內(nèi)自主飛行器系統(tǒng)的研究十分必要。
本系統(tǒng)以多旋翼無人機為平臺,基于多傳感器融合、ADRC(自抗擾控制)等技術(shù),設(shè)計了一款室內(nèi)自主飛行器,在一般室內(nèi)環(huán)境下能夠完成一鍵起飛、動態(tài)室內(nèi)定位、航向姿態(tài)控制、目標(biāo)檢測等功能,拓展了無人飛行器在室內(nèi)環(huán)境下的功能和可用性。
1 系統(tǒng)設(shè)計
1.1 系統(tǒng)組成部分
室內(nèi)自主飛行器系統(tǒng)硬件部分包括:機載主控核心板 NVIDIA Jetson NANO,ACfl y EDU 飛行控制板、Intel RealSense T265 追蹤深度實感攝像頭、RealSense D435i 追蹤深度實感攝像頭、Tiger 動力套裝、地面站等。室內(nèi)自主飛行器系統(tǒng)軟件部分包括:Linux 操作系統(tǒng)、機器人操作系統(tǒng) ROS、通信協(xié)議 MAVLINK、自抗擾控制 ADRC 算法、YOLOv5 目標(biāo)檢測神經(jīng)網(wǎng)絡(luò)等。系統(tǒng)組成結(jié)構(gòu)如圖 1 所示。
1.2 系統(tǒng)工作過程
機載主控核心板 NANO 實時將 T265 采集獲得的深度位置數(shù)據(jù)與飛行控制模塊采集的慣性測量單元(inertial measurement unit, IMU)及氣壓計數(shù)據(jù)進行融合,實現(xiàn)對無人飛行器的當(dāng)前位姿數(shù)據(jù)進行糾正和估計,發(fā)送到飛控板,飛控板獲得位姿數(shù)據(jù)后根據(jù)控制指令對無人飛行器位置和姿態(tài)進行控制。機載 D435i 深度相機可以通過部署在 Jetson NANO 上的 YOLOv5 神經(jīng)網(wǎng)絡(luò)對目標(biāo)進行識別。獲得目標(biāo)的相對位置和坐標(biāo),并將數(shù)據(jù) 上傳到飛控板。
Jetson NANO 與飛行控制板使用 MAVLINK 協(xié)議通過串口實現(xiàn)通信功能;通過 WIFI 連接遠程上位機部署調(diào)試界面 NoMachine 進行非接觸式調(diào)試和任務(wù)布置工作。通過各個模塊的有機結(jié)合,最終實現(xiàn)了基于多傳感器融合的室內(nèi)自主飛行器系統(tǒng),可以借助 NoMachine 完成遠程命令下達實現(xiàn)自主飛行及功能操作。
2 系統(tǒng)功能實現(xiàn)
2.1 硬件部分
系統(tǒng)采用 Nvidia Jetson NANO 作為板載計算機。Jetson NANO 的浮點計算性能達到 472 GFLOPS 的同時,它能并行運行多個神經(jīng)網(wǎng)絡(luò)并同時處理多個高分辨率的傳感器。并且它具有小型化、輕量化和低功耗的特點,適合在無人機環(huán)境中進行部署和開發(fā)。
它作為無人機系統(tǒng)的核心,承擔(dān)著信息處理和數(shù)據(jù)交互等工作,我們在它的系統(tǒng)之上搭建了 ros(實時操作系統(tǒng))平臺,此平臺可以以節(jié)點的方式高效的處理來自各個傳感器的數(shù)據(jù),同時在 ros 平臺上可以很方便的調(diào)用各個模塊廠家發(fā)布的模塊包,簡化,方便我們獲取來自飛行時間(time of flight, ToF),攝像頭,飛控等各個模塊傳遞過來的信息數(shù)據(jù),板載計算機進行綜合處理之后可以通過串口,發(fā)送特定協(xié)議指令與飛控進行通信,從而控制無人的各種姿態(tài)運動。
圖2 NVIDIA Jetson NANO實物圖
系統(tǒng)采用 Intel RealSense T265 作為多傳感器融合的核心模塊,利用其內(nèi)部的魚眼鏡頭、IMU 等模塊獲取環(huán)境中的視覺特征,而其內(nèi)部帶有 Movidius Myriad 2 視覺處理單元(VPU)可以直接在攝像頭內(nèi)部運行 V-SLAM 算法,減輕板材計算機數(shù)據(jù)處理的壓力,可以直接從攝像頭獲得其位姿數(shù)據(jù),在未知空間可精確追蹤其路徑。在預(yù)期使用環(huán)境下它可以達到低于 1% 的閉環(huán)漂移誤差且也具有低功耗、小型化、輕量化等特點,有利于無人機在 GPS 數(shù)據(jù)不可用的位置進行穩(wěn)定飛行操作。
圖3 Intel RealSense T265 實物圖
項目采用 ACFLY EDU 開源飛控做為飛行控制板,其采用 TM4C123GH6PM 作為核心芯片,能夠兼容 MAVLINK 通信協(xié)議,飛控內(nèi)部帶有陀螺儀、磁羅盤、氣壓計等模塊,并支持外部傳感器模塊的拓展,能對多傳感器數(shù)據(jù)進行檢測和融合,得到無人機當(dāng)前自身的姿態(tài),速度等數(shù)據(jù)信息。飛控通過四路 PWM 波控制電調(diào)出力,進而控制各個電機的轉(zhuǎn)速,完成對無人飛行器的位姿和速度控制。
ToF 模塊,通過激光反射時間差獲取距離信息,它具有高精度,小體積,低功耗等特點,其距離分辨率可達到 1 cm,同時模塊通信方式支持串口模式,IIC 模式, modbus 模式,用戶可根據(jù)自身系統(tǒng)配特點對其進行配置,該模塊可以與飛控通信,飛控再將其數(shù)據(jù)與自身帶有的氣壓計等模塊實現(xiàn)無人機飛行高度的控制和穩(wěn)定。
圖5 tof實物圖
2.2 軟件部分
軟件部分主要負責(zé)控制無人機姿態(tài)位置、板際通信實現(xiàn)、傳感器數(shù)據(jù)采集、目標(biāo)檢測、遠程控制等。
為了增加無人機姿態(tài)控制的精度以對抗室內(nèi)環(huán)境的地面效應(yīng),筆者使用 ADRC 自抗擾控制算法代替?zhèn)鹘y(tǒng)的 PID 控制算法以完成室內(nèi)飛行控制的目的。傳統(tǒng) PID 算法是由飛行控制板從 IMU 模塊中獲取四元數(shù),對四元數(shù)濾波后進行轉(zhuǎn)換得到歐拉角來獲取當(dāng)前的姿態(tài)信息,通過構(gòu)建 PID 模型的比例、積分、微分、三個量值來獲得最終輸出。 然而傳統(tǒng) PID 算法的不足在于無法自適應(yīng)外界干擾 來調(diào)整比例、積分、微分 三個量值使其能夠始終控 制姿態(tài)穩(wěn)定,這在室內(nèi)環(huán)境下尤其重要。因此筆者采 用 ADRC 方法即使用跟蹤微分器 TD、擴張狀態(tài)觀測器 ESO 和狀態(tài)誤差反饋控制律(NLSEF)三個模塊對無人機進行控制。
通信方面,系統(tǒng) NANO 主控板環(huán)境中運行 Ubuntu 18.04,并安裝ROS Melodic版本,更新MAVROS擴展包。 MAVROS 通信協(xié)議被廣泛應(yīng)用于無人機通信,其是一種為微形飛行器設(shè)計的非常輕巧的、只由頭文件構(gòu)成的信息編組庫。無人機的控制、狀態(tài)、位置等信息都可編譯為 MAVROS 數(shù)據(jù)包。機載電腦內(nèi)部 ROS 節(jié)點調(diào)用 MAVROS 包進行信息的訂閱和發(fā)布,將 ROS 數(shù)據(jù)與支持 MAVLINK 的飛行控制板進行連接并傳輸相關(guān)數(shù)據(jù)。
目標(biāo)檢測方面,系統(tǒng)依賴于 NANO 的 TensorRT 深度學(xué)習(xí)加速引擎部署 YOLOv5 模型。無人機通過 D435i 深度相機獲取目標(biāo)圖片,并將圖片傳入該模型中進行檢測獲取目標(biāo)中心點位置信息以及目標(biāo)在圖片中的相對坐標(biāo)信息。將這些信息與深度相機獲得的深度點云圖結(jié)合,再通過 opencv 功能包進行一系列的圖形學(xué)形態(tài)學(xué)操作處理,可以得到目標(biāo)物形態(tài)、分類,以及與無人機的距離位置等信息。板載電腦根據(jù)此類信息,結(jié)合當(dāng)前運行的任務(wù)要求,發(fā)送不同的無人機運動控制指令,完成需 要實現(xiàn)的目標(biāo)。
系統(tǒng)任務(wù)下達與遠程調(diào)試依賴于 NoMachine 圖形遠程界面 Linux 版本,通過 Wi-Fi 將地面站上位機與 Jetson NANO 進行連接??梢栽诘孛嬲旧衔粰C觀察 NANO 的輸出值,對其進行實時調(diào)試;也可通過上位機向機載電腦發(fā)送控制命令以控制無人機動作。
圖6 無人機實物圖
3 實際項目設(shè)計
3.1 項目設(shè)計需求
本項目參加了 2021 年全國大學(xué)生電子設(shè)計競賽 G 賽題植保飛行器。賽題要求無人機按以下播撒區(qū)域飛行并做出指示:
圖7 播撒區(qū)域圖
賽題要求飛行器在“十”字起降點垂直起飛,升空至 150±10 cm 巡航高度 , 尋找播撒作業(yè)起點,從“A”所在區(qū)塊開始“撒藥”作業(yè),必須在 360 秒內(nèi)完成對圖 7 中所有綠色區(qū)塊進行全覆蓋播撒,作業(yè)完成后穩(wěn)定準(zhǔn)確降落在起降點;飛行器幾何中心點與起降點中心距離的偏差不大于 ±10 cm。
在作業(yè)區(qū)中放置一只高度為 150 cm、直徑 3.5± 0.5 cm 的黑色桿塔,桿塔上套有圓環(huán)形條形碼(放條碼的高度為 120~140 cm);作業(yè)中或返航途中,飛行器識別條形碼所表征的數(shù)字,用 LED 閃爍次數(shù)顯示數(shù)字,間隔數(shù)秒后再次閃爍顯示。
最后以起降點“十”字中心為圓心,以上述桿塔二維碼中識別的數(shù)字乘 10 cm 為半徑,飛行器在該圓周上穩(wěn)定降落;飛行器幾何中心點與該圓周最近距離的偏差不大于 ±10 cm。
3.2 無人機運動控制邏輯
針對賽題要求,我們采取無人機以固定軌跡路線進行播撒作業(yè)的方案,此方案可以有效的實現(xiàn)所有綠色區(qū)域檢測并避開桿子防止區(qū)域,減少邏輯復(fù)雜度,簡化系統(tǒng)流程。
運行軌跡如圖 8 箭頭所示。
圖8 運動控制邏輯軌跡圖
想要完整實現(xiàn)的場地的遍歷,需要建立在無人機對于自身的精確定位,而在實際測試過程中,無人機由于地面效應(yīng)等原因,在無人機起飛過程中會有不可控的震蕩,這容易造成 T265 數(shù)據(jù)的失效,因此在每次任務(wù)運行前,通過攜帶無人機遍歷場地獲取更多有效的視覺數(shù)據(jù),可以有效減少 T265 自身數(shù)據(jù)出錯的概率。整個過程中無人機使用 ARDC 自抗擾控制進行姿態(tài)自穩(wěn)和位置校正。這一系列過程中系統(tǒng)調(diào)用了無人機姿態(tài)控制接口、位置控制接口、通過 MAVLINK 協(xié)議完成了上述控制。
3.3 無人機功能控制邏輯
無人機在繞場飛行中,通過獲取自身的定位數(shù)據(jù),判斷需要進行的功能模塊,在無人機遍歷綠色區(qū)域塊的過程中,將會調(diào)用無人機下方的攝像頭獲取圖片,再通過顏色閾值判斷等方法對圖片進行檢測,判斷下方作物顏色,以確定是否需要激光筆的閃爍。
而再遍歷完所有綠色區(qū)域的,返航時(即圖六中藍色箭頭所示行進路線),將會打開無人機側(cè)方攝像頭獲取圖片,并通過顏色閾值提取,膨脹腐蝕,霍夫直線檢測等一系列圖形學(xué)處理算法,再結(jié)合 t265 獲取到的深度圖共同判斷,可以有效的獲取桿子的距離以及方位,通過 PID 等算法控制無人機向桿子位置靠近,最后再通過深度學(xué)習(xí)等算法獲取二維碼所在的位置,調(diào)節(jié)無人機姿態(tài)向其靠近,接近一定距離后讀取出相關(guān)條形碼,根據(jù)條形碼上的有效數(shù)據(jù)進行降落操作。
整個系統(tǒng)模塊的流程圖如圖 9 所示。
圖9 功能控制邏輯
4 項目測試
本項目在自行搭建的,全封閉的保護網(wǎng)內(nèi)進行實驗測試,我們分別測試了無人機的失敗播撒(“漏撒”和“誤撒”)的次數(shù),下降位置的準(zhǔn)確度,以及二維碼識別成功率。
經(jīng)過實際測試,此套無人機系統(tǒng)可以實現(xiàn)無人機在室內(nèi)精確定位以及穩(wěn)定飛行。此項目方案流程可以較為 完整的完成題目要求的各個功能,而完成度與無人機穩(wěn)定性及周圍環(huán)境密切相關(guān)。在一個較為寬闊且光線可控的封閉空間中,無人機的穩(wěn)定性和完成度可以得到大幅度的提升。
4 結(jié)語
構(gòu)建了一種基于多傳感器融合的室內(nèi)自主飛行器系統(tǒng),使用 Intel RealSense T265 攝像頭作為室內(nèi)定位傳感器,在 NVIDIA Jetson NANO 上搭載 ROS,采用 ACFLY EDU 飛控進行無人機姿態(tài)和位置控制,基于 MAVROS-MAVLINK 進行通 信,使用 Intel Realsense T265 深度相機在 Jetson NANO 上部署 YOLOv5 進行目標(biāo)識別,通過無人機任務(wù)管理系統(tǒng)實現(xiàn)無人機位置和姿態(tài)控制。通過參加電子設(shè)計競賽無人機賽題試驗測試自主飛行器系統(tǒng)的性能。比賽實驗結(jié)果表明:
該系統(tǒng)實現(xiàn)了無人機在室內(nèi)一鍵起飛、自主懸停、自主飛行、目標(biāo)檢測和自主降落功能。
無人機能夠按照預(yù)定飛行路線自主飛行、傳感器融合達到了室內(nèi)定位所需的精度要求、能夠按照要求完成既定任務(wù)。該系統(tǒng)定位精度高、穩(wěn)定性強、能夠完成識別工作,對于室內(nèi)智能無人機的實現(xiàn)具有很好的借鑒意義。
參考文獻:
[1] 姚光樂,王守雷.Pixhawk飛控系統(tǒng)的四旋翼無人機室內(nèi)飛行技術(shù)研究[J].電子世界,2021(07):86-88.
[2] 藺曉俊,薛濤,孫習(xí)貞.基于視覺慣性里程計的室內(nèi)自主飛行無人機系統(tǒng)設(shè)計[J].機械設(shè)計,2021:99-103.
[3] 李佳佳.四旋翼飛行器一致性控制研究[D].陜西:西安電子科技大學(xué).2018.
[4] 王晶晶,顧得.無人機室內(nèi)自主定位方法研究[J].計算機與數(shù)字工程,2022(01):801-806.
[5] 祁江鑫,吳玲,盧發(fā)興,等.基于改進YOLOv4算法的無人機目標(biāo)檢測[J].兵器裝備工程學(xué)報,2022.
[6] 李健,劉孔宇,任憲盛,等.基于自適應(yīng)閾值的Canny算法在MRI 緣檢測中的應(yīng)用[J].吉林大學(xué)學(xué)報,2021(02):22-25.
[7] MAGNUS LIE HETLAND. Python基礎(chǔ)教程[M].北京:人民郵電出版社,2018.
[8] 葛暢,何振鵬,年哲,等.四旋翼無人機姿態(tài)測試平臺設(shè)計及運動控制研究[J].機械設(shè)計,2019,36(1):136-140.
[9] 林曉華,王茂森,戴勁松.基于ROS的無人機占據(jù)地圖構(gòu)建方案設(shè)計[J].兵器裝備工程學(xué)報,2021,42(5):215-220.
[10] 趙麗榮,楊毅.無人機室內(nèi)定位技術(shù)綜述[C].第十四屆全國信號和智能信息處理與應(yīng)用學(xué)術(shù)會議論文集,北京,2021:270-273.
[11] 張熙恒,張建強.多旋翼飛行器DIY入門與時間[M].西安:西安電子科技大學(xué)出版社,2018:144-146.
(注:本文轉(zhuǎn)載自《電子產(chǎn)品世界》2022年7月期)
評論