目 錄
第1章 無人機開發(fā)基礎 1
1.1 初識無人機 1
1.1.1 無人機發(fā)展和類型 1
1.1.2 無人機飛行原理 5
1.1.3 無人機應用 8
1.2 大疆無人機 11
1.2.1 大疆無人機系列 11
1.2.2 旋翼無人機系統(tǒng) 14
1.2.3 安全飛行 23
1.3 大疆SDK 27
1.3.1 大疆SDK體系 27
1.3.2 Payload SDK 28
1.3.3 Mobile SDK 30
1.4 本章小結 31
1.5 習題 31
第2章 PSDK開發(fā)準備和硬件連接 32
2.1 準備工作 32
2.1.1 申請負載許可 32
2.1.2 硬件準備 35
2.1.3 軟件準備 40
2.2 硬件基礎與連接方式 44
2.2.1 通信協(xié)議基礎 45
2.2.2 接口定義 48
2.2.3 硬件連接 55
2.3 本章小結 60
2.4 習題 61
第3章 PSDK開發(fā)環(huán)境搭建 62
3.1 PSDK開發(fā)環(huán)境搭建(Linux) 62
3.1.1 編譯和運行環(huán)境的搭建 62
3.1.2 運行樣例應用程序 67
3.1.3 通過網絡連接飛行平臺 72
3.1.4 通過USB連接飛行平臺 75
3.2 PSDK開發(fā)環(huán)境搭建(RTOS) 87
3.2.1 配置STM32開發(fā)環(huán)境 88
3.2.2 編譯并運行PSDK樣例程序 91
3.3 本章小結 98
3.4 習題 98
第4章 STM32開發(fā)基礎 99
4.1 C/C++語言基礎 99
4.1.1 基本數(shù)據(jù)類型和枚舉類型 100
4.1.2 結構體 102
4.1.3 指針 104
4.1.4 預處理 109
4.1.5 位操作 113
4.2 STM32開發(fā)基礎 113
4.2.1 存儲器映射和寄存器 114
4.2.2 STM32編程基礎 116
4.2.3 創(chuàng)建STM32工程 118
4.3 FreeRTOS基礎 123
4.3.1 為什么需要FreeRTOS 123
4.3.2 在STM32工程中使用FreeRTOS 125
4.3.3 FreeRTOS任務間通信和同步機制 128
4.3.4 PSDK的移植思路 133
4.4 本章小結 134
4.5 習題 135
第5章 監(jiān)控和操作無人機 136
5.1 開發(fā)屬于自己的PSDK應用程序(RTOS) 136
5.1.1 玩轉PSDK樣例應用程序 136
5.1.2 PSDK應用模板 144
5.2 監(jiān)控無人機 144
5.2.1 控制臺輸出 144
5.2.2 信息獲取 147
5.2.3 消息訂閱 151
5.3 操作無人機 156
5.3.1 飛行控制與參數(shù)設置 156
5.3.2 Joystick飛行控制 161
5.3.3 樣例程序簡介 166
5.4 本章小結 174
5.5 習題 174
第6章 云臺相機與視頻流 175
6.1 視頻流的顯示和處理 175
6.1.1 H.264編解碼 176
6.1.2 獲取視頻流 180
6.1.3 顯示視頻流 182
6.1.4 感知灰度圖 188
6.2 云臺和相機的控制與開發(fā) 192
6.2.1 相機基礎知識 192
6.2.2 相機控制 197
6.2.3 云臺控制 200
6.2.4 開發(fā)相機類負載 202
6.3 本章小結 206
6.4 習題 206
第7章 執(zhí)行飛行任務 207
7.1 航點任務 207
7.1.1 設計航點任務 207
7.1.2 創(chuàng)建航點任務 218
7.1.3 執(zhí)行航點任務 223
7.2 興趣點環(huán)繞任務 227
7.3 本章小結 229
7.4 習題 230
第8章 設計空中氣象站 231
8.1 硬件設計 231
8.1.1 負載設計基本原則 231
8.1.2 電路設計 233
8.1.3 外殼設計 245
8.2 軟件設計 248
8.2.1 自定義控件 249
8.2.2 硬件驅動開發(fā) 255
8.2.3 邏輯功能的實現(xiàn) 267
8.3 本章小結 276
8.4 習題 276
附錄A 常用簡稱 277
附錄B PSDK主要頭文件 278
附錄C PSDK消息訂閱頻率 280