淡江大學覺生紀念圖書館 (TKU Library)
進階搜尋


下載電子全文限經由淡江IP使用) 
系統識別號 U0002-1908201914273500
中文論文名稱 利用Matlab/Simulink 結合Pixhawk 實現無 人機自主飛行
英文論文名稱 Autonomous Flight of Drones using Pixhawk collaborated with Matlab/Simulink
校院名稱 淡江大學
系所名稱(中) 航空太空工程學系碩士在職專班
系所名稱(英) Department of Aerospace Engineering
學年度 107
學期 2
出版年 108
研究生中文姓名 郭軒煒
研究生英文姓名 Husan-Wei Kuo
學號 706430088
學位類別 碩士
語文別 中文
第二語文別 英文
口試日期 2019-06-20
論文頁數 81頁
口試委員 指導教授-蕭富元
委員-馬德明
委員-蕭照焜
委員-蕭富元
中文關鍵字 Matlab/Simulink  Pixhawk  UAV 
英文關鍵字 Matlab/Simulink  Pixhawk  UAV 
學科別分類
中文摘要 本論文主旨為自行開發無人機的飛控電腦程式架構,
以淡江UAV 實驗室所製作機體為模擬與實際飛行的機體,本文融合開
發環境架設,設計飛控架構,機體PI 設計,模擬飛行,軟硬整合,實
際試飛等項目。開發環境架設以Mathworks 公司為Pixhawk 飛控電腦
所製作的PX4 Toolchain 工具為主,將介紹測試環境安裝架設步驟。
與設計飛控架構過程,並利用Matlab-PID Tuner Tool 功能來求出機
體Gain 值。最後將飛控程式轉Code 燒入Pixhawk 飛控電腦中做實際
飛行測試。本文研究成果可將無人機飛控電腦程式做架構性開發與不
同的導控方式配合圖形化開發環境實際呈現,可有效降低相關開發難
度,提升開發速度。
英文摘要 This thesis studies the implementation of controllers in the Pixhawk by
using the Matlab/Simulink platform to modify the settings. Commercial
products for the realization of autonomous flight of unmanned aerial
vehicles (UAVs) are more and more accessible nowadays. One of those is the
Pixhawk collaborating with mission planner. However, the massive and
sophiscated structure of the mission planner makes it difficult to
implement customized controllers for a specific UAV. This thesis intends
to build the controller with Matlab/Simulink, and implement it on the
mission planner directly by employing the PX4 Toolchain toolbox. Design
and analysis of the controllers, software-in-loop, hardware-in-loop and
flight tests are performed in this research. The work described in this
thesis potentially helps engineers who are not of computer-science
background to design and implement controllers for the UAV autonomous
flight much more easily.
論文目次 目錄
1 緒論1
1.1 研究動機. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 文獻回顧. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 研究方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 章節安排. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 硬體選用3
2.1 Pixhawk 飛控電腦. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 數據傳輸模組. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 測試平台. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 軟體架設8
3.1 Pixhawk 飛控電腦開發模組. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1 安裝Simulink 開發模組架設. . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2 Simulink 開發模組簡介. . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Xplane10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 輸入至Xplane 的通訊協定. . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2 自Xplane 輸出資料的通訊協定. . . . . . . . . . . . . . . . . . . . . . . 20
3.2.3 Matlab/Simulink 對Xplane 的支援. . . . . . . . . . . . . . . . . . . . . 20
3.2.4 Xplane 與Matlab/Simulink 連結模塊設定. . . . . . . . . . . . . . . . . 21
3.2.5 PlaneMarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Datcom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.1 Datcom Input file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 硬體使用方法31
4.1 Pixhawk 飛控電腦啟動方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Matlab/Simulink 平台環境設定. . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 使用Qgroudcontrol 對飛控電腦進行校正. . . . . . . . . . . . . . . . . . . . . 35
4.4 軟體轉Code 燒入Pixhawk 硬體. . . . . . . . . . . . . . . . . . . . . . . . . . 36
5 飛機測試平台控制器設計37
5.1 飛機狀態矩陣計算. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.1 飛機平台外型參數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.2 Datcom 導係數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.1.3 狀態矩陣. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2 飛機特性分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2.1 飛機縱向特性分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2.2 飛機橫向特性分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3 控制器設計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.3.1 飛機縱向控制器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.3.2 飛機橫向控制器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6 導引律與地面監控系統設計48
6.1 飛行導引律. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.2 導引律Simulink 方塊設計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.3 地面監控系統. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.4 導引律驗證. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7 無人機控制系統驗證55
7.1 SIL 與HIL 介紹. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.2 SIL 與HIL 飛機步階測試. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.2.1 滾轉5 度輸入訊號SIL 測試. . . . . . . . . . . . . . . . . . . . . . . . 57
7.2.2 俯仰5 度輸入訊號SIL 測試. . . . . . . . . . . . . . . . . . . . . . . . 60
7.2.3 HIL 自穩測試. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8 實際試飛驗證66
8.1 測試場地狀況. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.2 飛機自穩實際試飛測試. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.2.1 滾轉30 度輸入訊號測試. . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.2.2 俯仰20 度輸入訊號測試. . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.3 飛機自主飛行實際試飛測試. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
9 結論69
附錄70
Datcom 程式碼. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
參考文獻80
圖目錄
2.1 Pixhawk 飛控電腦外觀. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 GPSNEO6H 外觀. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 GPSNEOM8N 外觀. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 數據傳輸模組外觀. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 飛機測試平台外觀. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1 飛控電腦架構簡介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 CMake 路徑設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 PX4 路徑與相關參數設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 PX4SOFTWAREDOWNLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5 console 設定畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6 電源監測模塊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.7 遙控器輸入模塊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.8 遙控器輸出模塊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.9 飛控電腦內部感測器輸出模塊. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.10 GPS 輸出模塊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.11 機體姿態運算模塊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.12 uORB 函式庫數值讀取模塊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.13 記憶卡儲存模塊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.14 數據傳送模塊. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.15 傳送格式結構說明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.16 接收格式結構說明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.17 Xplane 與Maltab UDP 連結模塊. . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.18 Xplane10 資料輸入輸出設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.19 Xplane10 UDP 連接設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.20 UDP 模塊發射(左) 與接收(右) 相關設定. . . . . . . . . . . . . . . . . . . . . 22
3.21 fuselage 設定畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.22 機翼設定畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.23 控制面設定畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.24 馬達設定畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.25 重量與重心設定畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1 開機步驟. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Hardware Implementation 設定畫面. . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Code Generation 設定畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4 Optimization 設定畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5 Pixhawk 校正步驟. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.6 Pixhawk 燒錄步驟. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.1 縱向控制器內迴圈角速度模擬. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 縱向控制器外迴圈速度模擬. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3 Simulink 縱向控制器角度模擬. . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4 橫向控制器內迴圈角速度模擬. . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.5 橫向控制器外迴圈速度模擬. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.6 Simulink 橫向控制器角度模擬. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.1 無人自主飛行演算法概念圖-不同象限情況. . . . . . . . . . . . . . . . . . . . . 49
6.2 無人自主飛行演算法概念圖-同象限情況. . . . . . . . . . . . . . . . . . . . . . 49
6.3 導引律流程圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.4 Simulink 導引律控制與舵面控制方塊. . . . . . . . . . . . . . . . . . . . . . . . 50
6.5 Pixhawk 電腦連接數據傳輸模組圖. . . . . . . . . . . . . . . . . . . . . . . . . 51
6.6 Pixhawk 飛控電腦傳送端設定畫面. . . . . . . . . . . . . . . . . . . . . . . . . 52
6.7 地面站電腦serial 模塊設定畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.8 飛控電腦端連線設計畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.9 地面站端監控設計畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.10 演算法驗證器材畫面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.11 演算法驗證軌跡圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.1 SIL 架構圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.2 HIL 架構圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.3 滾轉SIL 測試Simulink 方塊圖. . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.4 滾轉SIL 測試滾轉角度響應圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.5 滾轉SIL 測試副翼舵量響應圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.6 滾轉SIL 測試俯仰角度響應圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.7 滾轉SIL 測試水平尾舵舵量響應圖. . . . . . . . . . . . . . . . . . . . . . . . . 59
7.8 俯仰SIL 測試Simulink 方塊圖. . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.9 俯仰SIL 測試俯仰角度響應圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.10 俯仰SIL 測試水平尾舵舵量響應圖. . . . . . . . . . . . . . . . . . . . . . . . . 61
7.11 俯仰SIL 測試滾轉角度響應圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.12 俯仰SIL 測試副翼舵量響應圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.13 地面傳輸端Simulink 方塊圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.14 飛控電腦端Simulink 方塊圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.15 滾轉HIL 測試響應圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.16 俯仰HIL 測試響應圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.1 實際試飛輸入滾轉30 度訊號之響應圖. . . . . . . . . . . . . . . . . . . . . . . 67
8.2 實際試飛輸入俯仰20 度訊號之響應圖. . . . . . . . . . . . . . . . . . . . . . . 67
8.3 飛機行進軌跡圖. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
表目錄
2.1 Pixhawk 飛控電腦簡介1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1 UDP 驗證碼列表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Datcom 驗證碼意義表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Datcom 驗證碼意義(續) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1 外型參數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2 無因次導係數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3 有因次導係數. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.4 縱向特徵根. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.5 縱向特性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.6 縱向開迴路響應時間. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.7 橫向特徵根. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.8 橫向特性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.9 角度姿態控制器設計要求時間. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.10 縱向內迴圈控制器增益值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.11 縱向外迴圈控制器增益值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.12 縱向控制器響應時間. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.13 橫向內迴圈控制器增益值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.14 橫向外迴圈控制器增益值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.15 橫向控制器響應時間. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.1 SIL 滾轉5 度橫向控制器響應時間. . . . . . . . . . . . . . . . . . . . . . . . . 60
7.2 SIL 俯仰5 度縱向控制器響應時間. . . . . . . . . . . . . . . . . . . . . . . . . 63
8.1 測試場地天候狀況. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
參考文獻 [1] Steve Kuznicki、Daren LeePixhawk Pilot Support Package (PSP) User
Guide,https://www.mathworks.com/.
[2] 楊憲東,自動飛行控制-原理與實務, 全華圖書股份有限公司,2012.
[3] 張啟勛, 自動控制使用MATLAB-SIMULINK, 儒林圖書有限公司,2008.
[4] Robert C. Nelson,FLIGHT STABILITY AND AUTOMATIC CONTROL,A Divistion
of the McGraw-Hill Companies.,1998.
[5] 司徒秉昇、馬德明, 鴻鵠太陽能飛機-飛控系統與地面站的設計, 淡江大學航空太空
工程學系,2017.
[6] 孫國剛、阮瑞祥, 具成本效益GPS 導航自走車-建構於電動平衡車之可行性研究,
國立聯合大學電子工程學系,2017.
[7] Adriano Bittar、Helosman V. Figuereido、Poliana Avelar Guimaraes、Alessandro
Correa MendesGuidance Software-in-The-Loop Simulation Using X-Plane and
Simulink for UAVs,ICUAS,2014.
[8] 高旖雯、馬德明, 太陽能飛機鴻鵠之設計與實作, 淡江大學航空太空工程學系,2016.
[9] 陳沛仲、馬德明, 手擲無人飛行載具之研究、設計與實現, 淡江大學航空太空工程
學系,2009.
[10] Bill Galbraith,Datcom+ Pro User's Manual,Holy Cows, Inc.,2015.
[11] aeris,Multiplex Easy Star 1.1,https:// forums.x-plane.org/ index.php?/ files/ file/
15586-multiplex-easy-star/,2016.
[12] 試飛影片,https://www.youtube.com/watch?v=QgLF5zEdcGY,2019.
80
[13] Pixhawk 官網,http://pixhawk.org/,2019.
[14] 姜智凱、蕭富元, 以ARM 架構處理器實現太陽能無人飛機的導引控制, 淡江大學
航空太空工程學系,2016.
[15] 小議MIL/SIL/PIL/HIL(一)https://kknews.cc/zh-tw/tech/man2ez2.html,2017.
論文使用權限
  • 同意紙本無償授權給館內讀者為學術之目的重製使用,於2019-08-20公開。
  • 同意授權瀏覽/列印電子全文服務,於2019-08-20起公開。


  • 若您有任何疑問,請與我們聯絡!
    圖書館: 請來電 (02)2621-5656 轉 2486 或 來信