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