系統識別號 | U0002-2806202212190500 |
---|---|
DOI | 10.6846/TKU.2022.00806 |
論文名稱(中文) | 基於 ROS 之整合 Pixhawk 飛控板與 Jetson TX2 模組之無人機自主飛行控制系統設計 |
論文名稱(英文) | ROS Based Integration of Pixhawk Flight Control Board and Jetson TX2 Module for an Autonomous UAV Flight Control System Design |
第三語言論文名稱 | |
校院名稱 | 淡江大學 |
系所名稱(中文) | 航空太空工程學系碩士班 |
系所名稱(英文) | Department of Aerospace Engineering |
外國學位學校名稱 | |
外國學位學院名稱 | |
外國學位研究所名稱 | |
學年度 | 110 |
學期 | 2 |
出版年 | 111 |
研究生(中文) | 陳謙信 |
研究生(英文) | CIAN-SIN CHEN |
學號 | 609430177 |
學位類別 | 碩士 |
語言別 | 繁體中文 |
第二語言別 | |
口試日期 | 2022-06-23 |
論文頁數 | 81頁 |
口試委員 |
口試委員
-
呂文祺(luwenchi@nfu.edu.tw)
口試委員 - 馬德明 指導教授 - 蕭照焜(Shiauj@mail.tku.edu.tw) |
關鍵字(中) |
ROS MAVROS Gazebo 離線控制 NVIDIA Jetson TX2 |
關鍵字(英) |
ROS MAVROS Gazebo Offboard control NVIDIA Jetson TX2 |
第三語言關鍵字 | |
學科別分類 | |
中文摘要 |
本論文主旨為,建立一雙層硬體整合系統架構,頂層為機載微型電腦,其負責對於飛行任務之決策與命令下達,而底層為飛行控制電腦,其負責對於多旋翼無人機飛行姿態控制與即時狀態資訊回傳,硬體間數據可雙向傳遞,實現兩硬體之完整整合。 系統架構方面,兩硬體透過 UART 通訊協議以線傳方式連接,使用 ROS 系統架構,並配合具 Mavlink 通訊協議之 MAVROS 軟體包,搭建起 NVIDIA Jetson TX2 機載微型電腦與 Pixhawk 飛行控制電腦間通訊橋梁。 應用方面,撰寫離線控制程式並運行於機載微型電腦,藉由機載微型電腦具備高效能數據運算能力優勢,分擔影像辨識之資訊處理工作,再透過離線控制程式,將影像辨識結果轉換為控制指令下達飛行控制電腦,由飛行控制電腦進行無人機姿態控制,並回傳當前無人機運作狀態,供機載微型電腦進行控制指令修正等操作,利用本研究之整合系統架構,實現無人機自主飛行控制。 驗證方面,以離線控制程式運行軟體在環模擬,與軟硬體整合測試驗證,進行本研究整合系統驗證。軟體在環模擬使用 Gazebo 模擬器進行操作。軟硬體整合測試驗證使用六旋翼無人機作為實驗平台,並將其固定至調機架,透過觀察無人機姿態變化,確定是否依照離線控制程式設計流程運作,驗證本研究之雙層硬體整合系統架構可行性。 |
英文摘要 |
The thesis focuses on the development of a ROS based integration of a flight control module and an embedded AI computing device for UAV application. The integrated system is arranged in a two-layer architecture when installed on a multi-rotor UAV. The top layer is the NVIDIA Jetson TX2 embedded AI computing module for decision making and command generation for the flight mission. The bottom layer is the Pixhawk flight control board for controlling the motion of the UAV. With real-time status information feedback, data can be bidirectionally tramsmitted between the two computation modules. The two modules are connected by wire transmission using the UART communication protocol. Based upon the ROS system architecture and the MAVROS package, a communication bridge between the NVIDIA Jetson TX2 module and the Pixhawk flight control board is established to ensure that the two computation modules are completely integrated. In the thesis, offboard control programs are designed to perform an image recognition algorithm on the Jetson TX2 module. Depend on the result of the image recognition, flight control command is generated and transmit to the Pixhawk flight control board to control the motion of the UAV so as to complete the flight mission. The software-in-the-loop simulation and the hardware/software integrated system were tested utilizing the designed offboard control programs to verify the proposed system architecture. The software-in-the-loop simulation was performed using the Gazebo simulator. The hardware/software integrated system was verified by using a Hexacopter mounted on a ground-fixed attitude-movable frame as the experimental platform. Both results of the simulation and hardware/software integration tests show the success of the design and demonstrate the usefulness of the proposed system architecture. |
第三語言摘要 | |
論文目次 |
目錄 1 緒論. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1.1 背景與研究動機. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 文獻回顧. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.1 多旋翼無人機系統整合架構文獻回顧. . . . . . . . . . . . . . . . . . . . . . . . .2 1.2.2 ROS 系統應用文獻回顧. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.3 研究方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 論文架構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 系統設計與架構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 2.1 系統設計與規劃. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.1 雙層硬體整合系統架構設計與規劃. . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.2 ROS 系統架構概念介紹. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 系統組成架構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.1 硬體架構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 軟體架構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3 硬體選用與組成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 3.1 六旋翼無人機實驗載台. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 硬體組成與選用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.1 Pixhawk 飛行控制電腦. . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.2 GPS 羅盤模組. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.3 數據傳輸無線電模組. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.4 電源模組. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2.5 無線電控制系統. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.6 NVIDIA Jetson TX2 機載微型電腦. . . . . . . . . . . . . . . . . . . . . . 23 3.2.7 Auvidea J120 微型電腦擴充板. . . . . . . . . . . . . . . . . . . . . . . . 25 4 軟韌體選用與離線控制程式設計. . . . . . . . . . . . . . . . . . . . . . . . . . .27 4.1 軟韌體選用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.1.1 軟韌體規格. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.1.2 軟韌體參數設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2 離線控制程式設計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2.1 航點控制程式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2.2 YOLO 影像辨識結合航點控制程式. . . . . . . . . . . . . . . . . . . . . . . . . 41 5 模擬與實驗驗證. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 5.1 軟體在環(SITL) 模擬驗證. . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.1.1 航點控制程式模擬. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.1.2 YOLO 影像辨識結合航點控制程式模擬. . . . . . . . . . . . . . . . . . . . . . 53 5.2 軟硬體整合測試驗證. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.2.1 YOLO 影像辨識測試. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.2.2 離線控制程式測試. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6 結論與未來展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 參考文獻. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72 圖目錄 圖2.1 雙層硬體整合系統架構設計圖. . . . . . . . . . . . . . . . . . . . . . . . . . 9 圖2.2 ROS 系統架構示意圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 圖2.3 硬體架構組成圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 圖2.4 雙層硬體整合系統之實際組成圖. . . . . . . . . . . . . . . . . . . . . . . . . 12 圖2.5 軟體架構圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 圖3.1 六旋翼無人機實驗載台正視圖. . . . . . . . . . . . . . . . . . . . . . . . . . 14 圖3.2 六旋翼無人機實驗載台俯視圖. . . . . . . . . . . . . . . . . . . . . . . . . . 15 圖3.3 六旋翼無人機實驗載台側視圖. . . . . . . . . . . . . . . . . . . . . . . . . . 15 圖3.4 電源降壓模組. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 圖3.5 Pixhawk (Holybro pix32) 飛行控制電腦外觀. . . . . . . . . . . . . . . . . . . 17 圖3.6 GPS 羅盤模組外觀. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 圖3.7 數據傳輸無線電模組外觀. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 圖3.8 電源模組外觀. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 圖3.9 Futaba T14SG 遙控器外觀. . . . . . . . . . . . . . . . . . . . . . . . . . . 22 圖3.10 Futaba R7008SB 接收器外觀. . . . . . . . . . . . . . . . . . . . . . . . . . 22 圖3.11 NVIDIA Jetson TX2 電腦及其擴充主板. . . . . . . . . . . . . . . . . . . . . 23 圖3.12 Auvidea J120 微型電腦擴充板外觀. . . . . . . . . . . . . . . . . . . . . . . 25 圖3.13 NVIDIA Jetson TX2 微型電腦安裝於Auvidea J120 微型電腦擴充板. . . . . . . . . 26 圖4.1 NVIDIA SDK Manager 軟體介面圖. . . . . . . . . . . . . . . . . . . . . . . . 28 圖4.2 USB 連接埠失效圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 圖4.3 對應韌體補釘包圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 圖4.4 Gazebo 操作介面圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 圖4.5 對應針腳接線圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 圖4.6 MAVLink 參數設置圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 圖4.7 MAVLink 額外參數設置圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 圖4.8 Serial Port 參數設置圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 圖4.9 ROS 系統座標系與Pixhawk 飛行控制電腦座標系差異. . . . . . . . . . . . . . . . . 36 圖4.10 航點控制程式架構設計圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 圖4.11 航點控制程式之主函式架構設計圖. . . . . . . . . . . . . . . . . . . . . . . . 40 圖4.12 YOLO 影像辨識結合航點控制程式架構設計圖. . . . . . . . . . . . . . . . . . . . 42 圖4.13 YOLO 影像辨識結合航點控制程式之主函式架構設計圖. . . . . . . . . . . . . . . . 44 圖5.1 航點程式模擬啟動流程圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 圖5.2 MAVROS 連線至localhost 啟動指令. . . . . . . . . . . . . . . . . . . . . . . 48 圖5.3 PX4-Autopilot 視窗顯示資訊. . . . . . . . . . . . . . . . . . . . . . . . . . 48 圖5.4 MAVROS 視窗顯示資訊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 圖5.5 鍵入指令查看連線狀態. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 圖5.6 程式視窗顯示提示資訊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 圖5.7 啟動航點控制程式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 圖5.8 無人機抵達初始航點(Pos_0) 位置. . . . . . . . . . . . . . . . . . . . . . . . 51 圖5.9 無人機抵達下一航點(WayPos_1) 位置. . . . . . . . . . . . . . . . . . . . . . 52 圖5.10 影像辨識結合航點程式模擬流程圖. . . . . . . . . . . . . . . . . . . . . . . . 53 圖5.11 darknet_ros 軟體包啟動後出現等待影像之提示訊息. . . . . . . . . . . . . . . . 54 圖5.12 開始擷取自模擬無人機模型之鏡頭影像訊息並進行辨識. . . . . . . . . . . . . . . . 54 圖5.13 辨識判讀無存在人與飛機之狀況. . . . . . . . . . . . . . . . . . . . . . . . . 55 圖5.14 視窗中顯示無辨識到物體並發佈對應航點(WayPos_0) 資訊. . . . . . . . . . . . . . 55 圖5.15 模擬之無人機根據辨識結果,飛行至對應航點(WayPos_0) 位置. . . . . . . . . . . . 56 圖5.16 辨識判讀僅存在飛機之狀況. . . . . . . . . . . . . . . . . . . . . . . . . . . 57 圖5.17 視窗中顯示僅辨識到飛機並發佈對應航點(WayPos_1) 資訊. . . . . . . . . . . . . . 57 圖5.18 模擬之無人機根據辨識結果,飛行至對應航點(WayPos_1) 位置. . . . . . . . . . . . 58 圖5.19 辨識判讀僅存在人之狀況. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 圖5.20 視窗中顯示僅辨識到飛機並發佈對應航點(WayPos_2) 資訊. . . . . . . . . . . . . . 59 圖5.21 模擬之無人機根據辨識結果,飛行至對應航點(WayPos_2) 位置. . . . . . . . . . . . 60 圖5.22 辨識判讀同時存在人與飛機之狀況. . . . . . . . . . . . . . . . . . . . . . . 61 圖5.23 視窗中顯示辨識到人與飛機並發佈對應航點(WayPos_Err) 資訊. . . . . . . . . . . . 61 圖5.24 模擬之無人機根據辨識結果,飛行至對應航點(WayPos_Err) 位置. . . . . . . . . . . 62 圖5.25 六旋翼無人機固定至木製調機平台. . . . . . . . . . . . . . . . . . . . . . . 63 圖5.26 YOLO - tiny v2 成功辨識到人並框選. . . . . . . . . . . . . . . . . . . . . . 64 圖5.27 darknet_ros 視窗顯示辨識物體資訊. . . . . . . . . . . . . . . . . . . . . . . 64 圖5.28 離線控制程式實驗流程圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 圖5.29 發佈航點與解除安全鎖定時方位之相對位置示意圖. . . . . . . . . . . . . . . . . . 66 圖5.30 操作者站定面對無人機之攝像鏡頭開始進行辨識. . . . . . . . . . . . . . . . . . . 67 圖5.31 六旋翼無人機運動姿態朝發佈航點直線方向進行運動. . . . . . . . . . . . . . . . . 68 圖5.32 改變機頭指向後與解除安全鎖定時方位之相對位置示意圖. . . . . . . . . . . . . . . 69 圖5.33 六旋翼無人機改變機頭指向後,仍依發佈航點直線方向進行運動. . . . . . . . . . . . 70 表目錄 表3.1 六旋翼無人機實驗載台硬體規格表. . . . . . . . . . . . . . . . . . . . . . . . 16 表3.2 Pixhawk (Holybro pix32) 飛行控制電腦規格表. . . . . . . . . . . . . . . . . . 18 表3.3 NVIDIA Jetson TX2 電腦規格表. . . . . . . . . . . . . . . . . . . . . . . . . 24 表4.1 NVIDIA Jetson TX2 微型電腦韌體版本表. . . . . . . . . . . . . . . . . . . . . 27 表4.2 Auvidea J120 擴充板韌體補丁包版本表. . . . . . . . . . . . . . . . . . . . . 28 表4.3 ROS 系統版本表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 表4.4 模擬軟體版本表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 表4.5 影像格式轉換軟體包版本表. . . . . . . . . . . . . . . . . . . . . . . . . . . 31 表4.6 影像辨識軟體包版本表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 表4.7 MAVLink 參數設置表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 表4.8 MAVLink 額外參數設置表. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 表4.9 Serial Port 參數設置表. . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 表4.10 辨識結果與對應設置航點訊息表. . . . . . . . . . . . . . . . . . . . . . . . . 43 |
參考文獻 |
[1] D. A. Gandhi and M. Ghosal, “Novel low cost quadcopter for surveillance application,” in 2018 International Conference on Inventive Research in Computing Applications (ICIRCA), pp. 412–414, IEEE, 2018. [2] A. Sehrawat, T. A. Choudhury, and G. Raj, “Surveillance drone for disaster management and military security,” in 2017 International Conference on Computing, Communication and Automation (ICCCA), pp. 470–475, IEEE, 2017. [3] M. E. Yanik, “System design document of sigma ai autonomous smart drone,” Tech. Rep. 18, 2 2018. Prepared for NVIDIA. [4] A. C. Plascencia and V. Beran, “Technical report 2018 experimental flying platform,” 2018. [5] J. Gustave, J. Chahal, and A. Belbachir, “Functional architecture using ros for autonomous uavs.,” in ICINCO, pp. 506–512, 2020. [6] A. Majumdar, N. Gamez, P. Benavidez, and M. Jamshidi, “Development of robot operating system (ros) compatible open source quadcopter flight controller and interface,” in 2017 12th System of Systems Engineering Conference (SoSE), pp. 1–6, IEEE, 2017. [7] C. Baird, F. von Frankenberg, and S. Nokleby, “Design and development of a next generation omni-directional multirotor,” in Proceedings of the 2019 CCToMM symposium on mechanisms, machines, and mechatronics, pp. 1–12, 2019. [8] S. Li, Y. Gu, B. Subedi, C. He, Y. Wan, A. Miyaji, and T. Higashino, “Beyond visual line of sight uav control for remote monitoring using directional antennas,” in 2019 IEEE Globecom Workshops (GC Wkshps), pp. 1–6, IEEE, 2019. [9] M. Cao, W. Chen, and Y. Li, “Research on detection and tracking technology of quad-rotor aircraft based on open source flight control,” in 2020 39th Chinese Control Conference (CCC), pp. 6509–6514, IEEE, 2020. [10] M. F. Hatta and N. S. Widodo, “Robot operating system (ros) in quadcopter flying robot using telemetry system,” International Journal of Robotics and Control Systems, vol. 1, no. 1, pp. 54–65, 2021. [11] R. G. Bragaa, R. C. da Silva, and A. C. Ramosa, “Development of a swarming algorithm based on reynolds rules to control a group of multi-rotor uavs using ros,” [12] K. Xiao, S. Tan, G. Wang, X. An, X. Wang, and X. Wang, “Xtdrone: A customizable multi-rotor uavs simulation platform,” in 2020 4th International Conference on Robotics and Automation Sciences (ICRAS), pp. 55–61, IEEE, 2020. [13] Dronecode Project, “Px4 autopilot user guide (master),” 2021. http://docs .px4.io/master/en/. [14] ROS.org, “Ros wiki,” 2020. http://wiki.ros.org/. |
論文全文使用權限 |
如有問題,歡迎洽詢!
圖書館數位資訊組 (02)2621-5656 轉 2487 或 來信