《一本書看懂多旋翼無人機》是2020年化學工業出版社出版的圖書,作者是李德強。
基本介紹
- 書名:一本書看懂多旋翼無人機
- 作者:李德強
- 出版社:化學工業出版社
- ISBN:9787122361172
內容簡介,圖書目錄,
內容簡介
本書以四旋翼無人機為例,講解多旋翼無人機的飛行理論與控制體系,從螺旋槳、電動機、電調、動力電池、機架等角度介紹硬體結構與飛行原理。通過開源自駕儀Pixhawk和開源飛行控制程式PX4介紹了全自動多旋翼無人機控制系統的整個實現過程。內容涵蓋了從硬體組裝清單到飛控程式下載編譯的整個過程,並對如何使用地面站程式對飛控進行航前校準和參數設定做了說明。
本書將飛行理論與設計實現相互結合,通過對PX4飛控程式的分析、講解、修改和完善,梳理了多旋翼無人機的相關知識。包括:飛控程式的架構設計、開源作業系統、驅動程式、狀態估計、控制算法、自主導航系統等,以及如何通過對多旋翼無人機的動力系統建模實現半物理仿真和趣味航線飛行等。
本書可為從事無人機設計製作的技術人員提供幫助,可供無人機愛好者自學,還可供大學院校相關專業師生學習參考。
圖書目錄
第1章多旋翼無人機簡介
1.1 多旋翼機發展簡史 2
1.1.1 多旋翼機的起源 2
1.1.2 逐漸復甦 4
1.1.3 多旋翼機的春天 5
1.2 無人機與航空模型 6
1.2.1 機型分類 6
1.2.2 航空模型飛機 10
1.2.3 全自動無人機 10
1.3 開源飛控簡介 11
1.3.1 Arduino飛控 12
1.3.2 Crazyflie迷你飛行器 12
1.3.3 APM飛控 12
1.3.4 Pixhawk與PX4 13
第2章飛行原理
2.1 基本姿態 15
2.1.1 動力來源 15
2.1.2 垂向運動 17
2.1.3 飛行姿態 18
2.2 飛行原理 22
2.2.1 滾轉角與定高飛行 22
2.2.2 滾轉角與水平運動 23
2.3 十字形與叉形四旋翼 26
2.3.1 運動方向與姿態 26
2.3.2 混合控制方法 27
第3章硬體結構設計
3.1 螺旋槳 30
3.1.1 製作材料 30
3.1.2 直徑、螺距與弦長 30
3.1.3 多葉螺旋槳 31
3.1.4 靜平衡與動平衡 32
3.2 有刷電機與無刷電機 32
3.2.1 電磁鐵轉動原理 32
3.2.2 有刷電機 34
3.2.3 無刷電機 35
3.2.4 相關參數 37
3.3 電調與PWM信號 37
3.3.1 電調 37
3.3.2 PWM信號 38
3.3.3 直流有刷電調 39
3.3.4 直流無刷電調 39
3.3.5 電調安全保護機制 40
3.3.6 最大和最小行程校準 41
3.4 動力電池 41
3.4.1 電池電壓 41
3.4.2 電池容量與放電倍率 43
3.5 遙控器 44
3.5.1 遙控器與接收機 44
3.5.2 美國手與日本手 45
3.6 機架設計 46
3.6.1 選材 46
3.6.2 布局 47
3.6.3 軸距 48
3.6.4 涵道 49
3.6.5 腳架 49
第4章自駕儀與硬體組裝
4.1 Pixhawk自駕儀 51
4.1.1 概覽 51
4.1.2 接口說明 53
4.2 硬體清單與組裝說明 57
4.2.1 硬體清單 57
4.2.2 組裝說明 58
第5章開源飛控程式
5.1 飛控程式下載與編譯 64
5.1.1 PX4飛控程式下載 64
5.1.2 Fedroa編譯環境搭建 68
5.1.3 Ubuntu編譯環境搭建 71
5.1.4 PX4飛控程式編譯與燒寫 73
5.1.5 QGroundControl下載與編譯 75
5.2 航前準備與航前校準 77
5.2.1 航前準備 78
5.2.2 航前校準 84
5.3 飛行模式 86
5.3.1 Stabilized增穩模式 87
5.3.2 Manual手動模式 87
5.3.3 Altitude高度模式 87
5.3.4 Position位置模式 88
5.3.5 Mission任務模式 89
5.3.6 Hold定點模式 89
5.3.7 Takeoff/Land起飛降落模式 90
5.3.8 Return返航模式 90
5.3.9 Acro/Rattitude特技姿態模式 91
5.3.10 Offboard離線模式 92
5.3.11 Follow Me跟隨模式 92
第6章飛控架構與通信協定
6.1 架構總覽 94
6.1.1 數據存儲 94
6.1.2 內部通信匯流排 95
6.1.3 外部通信匯流排 95
6.1.4 驅動程式 96
6.1.5 飛行控制器 97
6.2 原始碼結構設計 98
6.2.1 編譯目標目錄(build) 99
6.2.2 編譯配置目錄(cmake) 101
6.2.3 外部通信接口(Mavlink) 109
6.2.4 內部通信接口(msg) 116
6.2.5 運行平台(platforms) 120
6.2.6 ROM檔案系統(ROMFS) 124
6.2.7 功能原始碼(src) 127
6.2.8 其他工具(Tools) 130
6.3 uORB 130
6.3.1 基本通信原理 130
6.3.2 uORB設計與實現 132
6.3.3 uORB使用方法 145
6.4 Mavlink 147
6.4.1 整體功能設計 147
6.4.2 Mavlink主程式 148
6.4.3 MavlinkStream傳送器 154
6.4.4 MavlinkReceiver接收器 159
第7章開源作業系統NuttX
7.1 NuttX概述 175
7.1.1 NuttX簡介 175
7.1.2 系統特性 175
7.1.3 支持的平台 178
7.2 用戶接口 183
7.2.1 任務控制接口 183
7.2.2 任務調度接口 188
7.2.3 調度控制接口 190
7.2.4 訊息佇列接口 192
7.2.5 信號量接口 193
7.2.6 環境變數 196
7.2.7 檔案系統接口 197
7.2.8 網路接口 197
7.3 NuttShell(NSH) 199
7.3.1 概覽 199
7.3.2 常用命令 201
第8章進程、執行緒及工作佇列
8.1 任務調度 211
8.1.1 並行任務 211
8.1.2 多級反饋佇列 212
8.1.3 搶占式優先權調度 213
8.2 多進程 214
8.2.1 什麼是進程 214
8.2.2 創建進程 216
8.3 多執行緒 224
8.3.1 什麼是執行緒 224
8.3.2 創建執行緒 225
8.3.3 執行緒與進程的區別 230
8.4 工作佇列 232
8.4.1 什麼是工作佇列 232
8.4.2 加入工作佇列 235
8.5 信號量與鎖 237
8.5.1 互斥信號量 238
8.5.2 同步信號量 244
8.5.3 互斥鎖與條件變數 245
第9章驅動程式
9.1 系統級驅動程式 251
9.1.1 通用接口函式 251
9.1.2 註冊驅動程式 255
9.1.3 編寫驅動程式 258
9.1.4 LED燈驅動程式 266
9.2 SPI驅動程式 268
9.2.1 SPI匯流排協定 268
9.2.2 SPI管腳配置 269
9.2.3 SPI驅動類 275
9.2.4 SPI氣壓計驅動程式 279
9.3 I2C驅動程式 287
9.3.1 I2C匯流排協定 287
9.3.2 I2C驅動類 288
9.4 套用級驅動程式 289
9.4.1 準備工作 289
9.4.2 實現驅動程式 292
第10章遙控器協定
10.1 PWM 297
10.1.1 PWM信號使用 297
10.1.2 PWM信號採集 298
10.2 PPM 302
10.2.1 PPM信號使用 302
10.2.2 PPM信號採集 303
10.3 S.BUS 310
10.3.1 S.BUS接口配置 310
10.3.2 S.BUS協定格式 312
10.3.3 S.BUS協定解析 313
第11章飛控狀態與命令執行
11.1 主狀態與切換 319
11.1.1 主狀態定義與切換條件 319
11.1.2 主狀態切換命令與回響 325
11.2 導航狀態與控制模式 337
11.2.1 導航狀態定義與切換條件 337
11.2.2 控制模式及其開關條件 343
11.3 飛控鎖定與解鎖 347
11.3.1 飛控鎖定保護 347
11.3.2 鎖定與解鎖狀態 347
11.4 其他功能 350
11.4.1 起飛點設定 350
11.4.2 航燈設定 354
11.4.3 安全開關 356
第12章狀態估計
12.1 感測器校準 360
12.1.1 加速度計 360
12.1.2 陀螺儀 366
12.1.3 磁羅盤 369
12.1.4 水平儀 372
12.2 卡爾曼濾波 375
12.2.1 卡爾曼濾波原理 375
12.2.2 公式推導 377
12.3 姿態解算與速度位置估計 380
12.3.1 坐標系變換 380
12.3.2 姿態解算 383
12.3.3 速度位置估計 385
第13章飛行控制方法
13.1 反饋、PID、串級控制 389
13.1.1 反饋控制 389
13.1.2 PID控制 391
13.1.3 串級控制 392
13.2 姿態控制 394
13.2.1 姿態控制原理 394
13.2.2 姿態控制過程 395
13.3 位置控制 400
13.3.1 位置控制原理 400
13.3.2 位置控制過程 403
13.4 混合控制器 408
13.4.1 多旋翼混控原理 408
13.4.2 混控配置檔案 413
13.4.3 PWM輸出 417
第14章航線規劃全自動飛行
14.1 導航基本原理 425
14.1.1 導航目標 425
14.1.2 搜尋算法 426
14.1.3 預設航線 427
14.2 導航模組設計 428
14.2.1 導航引擎 428
14.2.2 自動任務設計 433
14.2.3 自動起飛與降落 438
14.2.4 自動航跡點任務 438
14.2.5 自動返航 440
14.2.6 目標跟隨與其他導航模式 443
第15章動力學建模及半物理仿真
15.1 動力學建模 445
15.1.1 動力模型 445
15.1.2 受力運動 446
15.2 半物理仿真 448
15.2.1 使用jMavSim仿真程式 448
15.2.2 自行編寫仿真程式 450
第16章外部控制與趣味航線
16.1 外部控制系統 458
16.1.1 方案設計 458
16.1.2 功能實現 460
16.2 趣味航線規劃 470
16.2.1 等邊三角形 470
16.2.2 圓形 473
16.2.3 三葉草 474
16.2.4 阿基米德螺旋線 476
參考文獻 478