商品描述
本書對無人機系統的基本理論、仿真技術以及實踐應用中的主要問題展開了詳細闡述。介紹在低空經濟背景下,無人機的應用場景及發展趨勢等;其次,從導航與飛行控制的角度出發,闡述導航、姿態和控制等方面的理論知識,並結合開源飛控軟件,展示部分理論知識的實現方法;再次,探討模擬飛行與數字仿真技術,作為理論知識向實踐應用過渡的橋梁;講解數據鏈和通信協議、開發地面控制站、圖像載荷數據處理等應用層面的重點研發技術,並以組裝和試飛六旋翼無人機作為全書的總結。全書內容緊湊,理論推導翔實,實踐內容來自作者主導過的項目,例程的實用價值高、趣味性強。
作者簡介
劉波:2018-2021年在順豐豐鳥科技有限公司任*研發經理,帶領團隊從事大型貨運無人機的地面控制站、飛行模擬器、數字塔臺等關鍵項目的研發工作。2023年加入京東物流的無人機部門,擔任項目負責人,職級P8。設計過無人機半物理仿真模型,並組建團隊主導指揮控制系統的建設。
目錄大綱
第 1章 低空經濟下的無人機1
1.1 無人機的部分低空應用場景 1
1.1.1 測繪 1
1.1.2 農林植保和環境監測 2
1.1.3 線路巡檢 3
1.2 無人機的發展趨勢 3
1.2.1 無人化試飛 3
1.2.2 混合編隊 4
1.2.3 無人機空戰 5
1.3 理解無人機系統 5
1.3.1 無人機的主要子系統 6
1.3.2 從理論到仿真再到應用 7
第 2章 無人機的導航 9
2.1 導航的概念 10
2.1.1 導航子系統常用的坐標系 10
2.1.2 常見的導航設備 10
2.2 常用的輔助導航技術 11
2.2.1 天文導航 11
2.2.2 GNSS 13
2.2.3 地形匹配導航 14
2.2.4 機器視覺 15
2.3 慣性導航的原理 22
2.3.1 遞推姿態和位置 23
2.3.2 描述載體姿態的數學工具 24
2.3.3 萬向鎖問題 26
2.3.4 四元數和歐拉角、旋轉矩陣
之間的轉換 27
2.4 載體的姿態變換 30
2.4.1 四元數的定義和運算規則 30
2.4.2 用四元數求解向量的旋轉變換 32
2.4.3 內旋和外旋 39
2.4.4 旋轉變換與繞轉向量本身的變換 42
2.5 慣導系統的姿態解算 46
2.5.1 四元數微分方程 47
2.5.2 畢卡解算 48
2.5.3 龍格庫塔解算 50
第3章 無人機的飛行控制 53
3.1 飛機的飛行和姿態控制原理 54
3.1.1 常規布局的固定翼飛機 54
3.1.2 飛翼布局的固定翼飛機 59
3.1.3 直升機 61
3.1.4 多旋翼飛行器 63
3.2 飛行控制子系統 65
3.2.1 飛控系統的功能 65
3.2.2 基礎概念和坐標系定義 66
3.2.3 飛控系統的構成 66
3.3 飛控系統的設計 69
3.3.1 建立飛機的動力學模型 69
3.3.2 設計姿態控制律 74
3.3.3 設計制導控制律 75
3.3.4 設計編隊控制算法 80
3.4 設計控制律的理論基礎:*控制理論 84
3.4.1 控制模型和數學工具 84
3.4.2 反饋與多重閉環 85
3.4.3 系統性能分析 87
3.4.4 串聯校正和頻域分析 91
3.5 PID控制 98
3.5.1 PID控制器的結構 98
3.5.2 PID控制和串聯校正的關系 99
3.5.3 參數整定 101
第4章 開源飛控軟件PX4 102
4.1 PX4的系統架構 103
4.2 模塊化設計 105
4.2.1 模板類ModuleBase 107
4.2.2 加載調用 108
4.3 uORB消息總線 108
4.3.1 塊設備與uORB消息主題 109
4.3.2 uORB的接口函數和異步回調 112
4.3.3 DeviceNode管理消息主題 114
4.3.4 uORB消息的流轉過程 115
4.3.5 消息隊列 119
4.4 實現導航和飛控功能的模塊 125
4.4.1 姿態估計模塊 126
4.4.2 多旋翼姿態控制模塊 133
4.4.3 制導控制模塊 139
第5章 模擬飛行與數字仿真 141
5.1 模擬飛行 142
5.1.1 基於FlightGear的固定翼飛機模擬器 142
5.1.2 FlightGear和MATLAB聯合仿真 146
5.1.3 用AirSim構建四旋翼飛機的模擬訓練環境 149
5.2 多旋翼飛機的仿真建模 150
5.2.1 推導動力學方程組 151
5.2.2 搭建Simulink仿真模型 153
5.2.3 容器化部署 155
5.3 固定翼飛機自動駕駛仿真系統 158
5.3.1 建立動力學仿真模型 159
5.3.2 設計多個通道的控制器 160
5.3.3 坐標變換 162
5.3.4 仿真效果評估 165
5.4 重構模型與聯合仿真 167
5.4.1 重構C++程序實現並行仿真 167
5.4.2 C++仿真程序驅動FlightGear 169
5.4.3 用Python編寫數據分析程序 170
5.5 仿真軟件FlightGear的二次開發 173
第6章 數據鏈和通信協議 176
6.1 數據鏈 177
6.2 MAVLink協議 178
6.2.1 幀結構 178
6.2.2 微服務框架與路由規則 180
6.3 STANAG 4586協議 181
6.3.1 幀結構 181
6.3.2 多態數據幀 182
第7章 開發地面控制站軟件 183
7.1 解構地面站軟件的功能 184
7.1.1 發布-訂閱通信 184
7.1.2 使用Qt Quick編寫前端窗口 187
7.1.3 數字地圖和三維地理信息 187
7.1.4 多窗口層疊顯示 190
7.1.5 應用程序劃分 191
7.2 任務規劃程序 192
7.2.1 編輯航路點 192
7.2.2 操作狀態的切換 194
7.2.3 多態化的事件響應 195
7.2.4 輔助功能 196
7.3 飛行監控程序 198
7.3.1 聯通前後端 199
7.3.2 分區管理各種控件 201
7.3.3 信息記錄列表 205
7.3.4 多窗口布局 207
7.4 HUD屏顯程序 208
7.4.1 文本和圖標 209
7.4.2 數值標尺 209
7.4.3 姿態標尺 211
7.4.4 控制屏顯標尺的渲染時間 213
7.5 通信服務 214
7.5.1 通信協議庫 214
7.5.2 發布訂閱庫 215
7.5.3 數據管理 217
7.5.4 服務程序 218
第8章 圖像載荷數據處理 220
8.1 使用FFmpeg處理圖像編解碼 221
8.1.1 YUV420和流媒體 222
8.1.2 FFmpeg初始化 223
8.1.3 壓縮圖像 224
8.1.4 解碼和渲染圖像幀 227
8.2 存取視頻數據 233
8.2.1 將碼流轉儲為視頻文件 233
8.2.2 提取MP4文件的圖像幀 236
8.2.3 對象存儲 239
8.3 圖像處理技術 241
8.3.1 平移和鏡像變換 241
8.3.2 旋轉變換 244
8.3.3 多路視頻的拼接融合 247
8.3.4 動態目標檢測 249
第9章 組裝和試飛六旋翼無人機 251
9.1 試飛過程中的*措施 252
9.1.1 人員*防護 252
9.1.2 保護機架和設備 252
9.2 元器件選型 253
9.2.1 主要配件清單 253
9.2.2 機架安裝 254
9.2.3 旋翼編號圖 255
9.2.4 Pixhawk的接口 256
9.3 元器件的地面調試 257
9.3.1 連接機載元器件 257
9.3.2 刷固件庫和校準調參 258
9.3.3 數據鏈和攝像雲臺 259
9.3.4 電調校準 260
9.4 裝機調試 260
9.4.1 為機架裝配電子元器件 260
9.4.2 遙控飛行訓練 263
9.4.3 離線分析飛行數據 264
9.5 飛行試驗 264
9.5.1 航前檢查 265
9.5.2 任務實施 266
9.5.3 航後檢查 266
參考文獻 268
