商品描述
本書主要介紹了Ardupilot開源飛控的源碼下載、編譯、仿真、燒錄、二次開發、調試等內容,全書先以四旋翼無人機為例,詳細講解了一位沒有接觸過開源飛控的新手從開發環境配置、代碼下載、二次開發到編譯、燒錄、仿真、調試的全流程,幫助讀者在實踐中學到相關知識。本書共分為9章。第1章介紹無人機和Ardupilot的基礎知識;第2章介紹如何使用Ardupilot實現無人機飛行;第3章介紹了如何配置Ardupilot的編譯環境以及如何下載Ardupilot源碼;第4章對Ardupilot整體代碼框架進行了講解;第5章介紹了多旋翼無人機飛行邏輯的相關代碼;第6章詳細介紹了仿真飛行的相關知識;第7章介紹了Ardupilot源碼二次開發的實際操作;第8章介紹了Ardupilot代碼的調試方法;第9章介紹了如何移植自己的飛控代碼到一個全新的飛控板。 本書的內容設置會更多考慮基礎薄弱的讀者,除了講解Ardupilot開源代碼的相關內容外,還會對開發環境、編譯軟件、下載工具等基礎知識進行詳細介紹,降低開源飛控的學習門檻。 本書適合無人機專業和控制類專業的本科生或研究生、參加無人機相關競賽的學生、無人機行業的從業人員、需要無人機協助工作的其他行業從業人員使用,本書內容淺顯易懂,適合零基礎讀者入門Ardupilot開源飛控。
目錄大綱
第1章 初識Ardupilot…………………………………………………………………… 1
1.1 無人機簡介 ………………………………………………………………………… 1
1.1.1 無人機的基本概念 ……………………………………………………… 2
1.1.2 無人機的組成 …………………………………………………………… 3
1.1.3 無人機的發展現狀 ……………………………………………………… 7
1.1.4 無人機的分類 …………………………………………………………… 8
1.1.5 無人機的飛行原理 ……………………………………………………… 10
1.2 飛控簡介 ………………………………………………………………………… 13
1.2.1 飛控的基本概念 ………………………………………………………… 13
1.2.2 飛控的傳感器 …………………………………………………………… 13
1.2.3 飛控的接口 ……………………………………………………………… 17
1.3 Ardupilot簡介 …………………………………………………………………… 19
1.3.1 Ardupilot的特性 ………………………………………………………… 19
1.3.2 二次開發需要的技能 …………………………………………………… 20
1.3.3 Ardupilot開源社區 ……………………………………………………… 21
1.4 本章小結 ………………………………………………………………………… 22
第2章 Ardupilot飛控的使用 ………………………………………………………… 23
2.1 無人機的選型與組裝 …………………………………………………………… 23
2.1.1 無人機的選型 …………………………………………………………… 24
2.1.2 無人機的組裝 …………………………………………………………… 25
2.2 MissionPlanner簡介 …………………………………………………………… 29
2.3 固件更新與調試 ………………………………………………………………… 34
2.3.1 固件更新 ………………………………………………………………… 34
2.3.2 基礎參數調試 …………………………………………………………… 35
Ⅳ
2.3.3 PID 參數調試 …………………………………………………………… 43
2.4 四旋翼無人機飛行測試 ………………………………………………………… 44
2.4.1 安全飛行規定 …………………………………………………………… 44
2.4.2 飛行操作 ………………………………………………………………… 45
2.5 本章小結 ………………………………………………………………………… 46
第3章 Ardupilot開發環境配置 ……………………………………………………… 48
3.1 Linux開發環境配置 ……………………………………………………………… 49
3.1.1 Linux操作系統簡介 …………………………………………………… 49
3.1.2 虛擬機的安裝與設置 …………………………………………………… 51
3.2 Ardupilot源碼下載編譯 ………………………………………………………… 55
3.2.1 Git簡介 ………………………………………………………………… 55
3.2.2 Ardupilot下載流程 ……………………………………………………… 57
3.2.3 WAF編譯工具 ………………………………………………………… 60
3.3 VSCode簡介……………………………………………………………………… 62
3.4 本章小結 ………………………………………………………………………… 63
第4章 Ardupilot源碼簡介 …………………………………………………………… 64
4.1 開源許可證 ……………………………………………………………………… 64
4.1.1 開源許可證的分類 ……………………………………………………… 65
4.1.2 Ardupilot的開源許可證 ………………………………………………… 66
4.2 軟件框架簡介 …………………………………………………………………… 66
4.2.1 設備代碼 ………………………………………………………………… 66
4.2.2 共享庫 …………………………………………………………………… 68
4.2.3 硬件抽象層 ……………………………………
