《多旋翼无人飞行器嵌入式飞控开发指南》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:林庆峰,谌利,奚海蛟编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302472568
  • 页数:357 页
图书介绍:书中内容首先对无人机的基础知识进行了系统的阐述,作为无人机爱好者或者初学者的入门参考资料。第二章主要阐述了飞控系统的核心硬件系统框架和各部分设计方案。第三章与第四章介绍了飞控系统的软件基础,即实时操作系统和定时器等必备的飞控软件部件。作为无人机系统中重要的部分,传感器系统及设备的基础知识、工作原理、以及数据采集、分析及处理等方面的软硬件知识在第五章中进行了详细的介绍。

第1章 多旋翼无人机基础知识 1

1.1 无人机的介绍 1

1.2 无人机的分类与管理 4

1.3 无人机与航空模型的区别 4

1.4 多旋翼无人机的发展历史 5

1.5 多旋翼无人机的组成 7

1.5.1 机架系统 7

1.5.2 动力系统 8

1.5.3 动力电源与充电系统 11

1.5.4 电子调速器 13

1.5.5 飞行控制系统 14

1.5.6 遥控器和遥控接收机 15

1.5.7 遥测链路数传系统 17

1.5.8 光流定位系统 18

1.5.9 全球卫星导航系统 19

1.5.10 高度计 20

1.5.11 导航系统 20

1.5.12 无线图传系统 22

1.5.13 地面站控制系统 23

1.5.14 任务载荷云台和摄像头 24

1.5.15 避障系统 25

1.5.16 虚拟现实和增强现实系统 28

1.6 多旋翼飞行器的结构和飞行原理 29

1.6.1 多旋翼飞行器的机身布局 29

1.6.2 多旋翼飞行器的旋翼结构 31

1.6.3 多旋翼飞行器的飞行原理 32

1.6.4 多旋翼的优缺点 35

1.7 开源飞控简介 36

第2章 飞行控制系统核心硬件 42

2.1 ARM Cortex-M4架构 42

2.1.1 ARM内核 42

2.1.2 Cortex-M4内核 42

2.1.3 以ARM Cortex-M4为核心的微控制器 49

2.2 STM32F4系列微控制器 50

2.3 飞行控制系统硬件架构设计与原理 52

2.3.1 遥控接收机接口 53

2.3.2 电调输出接口 56

2.3.3 传感器接口 57

2.3.4 GNSS接口 59

2.3.5 SWD调试口 59

2.3.6 超声波接口 61

2.3.7 系统供电 61

2.3.8 遥测数传 62

2.3.9 其他功能和扩展接口 62

2.4 “光标”飞控PCB的布局设计 65

2.5 飞控系统硬件设计注意事项 65

第3章 嵌入式实时操作系统和FreeRTOS 68

3.1 实时操作系统简介 68

3.1.1 实时操作系统的定义 68

3.1.2 实时操作系统的特征 68

3.2 实时操作系统在飞控系统中的重要性 69

3.3 FreeRTOS实时操作系统 69

3.3.1 FreeRTOS简介 69

3.3.2 FreeRTOS的特点 69

3.3.3 FreeRTOS架构概述 70

3.4 调度策略 71

3.4.1 FreeRTOS支持的调度方式 71

3.4.2 调度器简介 71

3.4.3 抢占式调度器 71

3.4.4 时间片调度器 73

3.5 任务及任务优先级 74

3.5.1 任务和协程(Co-routines) 74

3.5.2 任务状态 74

3.5.3 任务优先级 75

3.5.4 任务优先级分配方案 75

3.6 任务间通信——信号量 76

3.6.1 信号量的概念及其作用 76

3.6.2 FreeRTOS任务间计数信号量的实现 77

3.6.3 FreeRTOS中断方式计数信号量的实现 77

3.6.4 计数信号量API函数 78

3.7 任务间通信—消息队列 81

3.7.1 消息队列的概念及其作用 81

3.7.2 FreeRTOS任务间消息队列的实现 81

3.7.3 FreeRTOS中断方式消息队列的实现 82

3.7.4 消息队列API函数 83

3.8 任务间通信——互斥信号量 86

3.8.1 互斥信号量的概念及其作用 86

3.8.2 优先级翻转问题 86

3.8.3 FreeRTOS互斥信号量的实现 87

3.8.4 互斥信号量API函数 88

3.9 飞控系统的任务规划与5环控制 89

第4章 飞行控制系统的定时器 91

4.1 STM32F407的系统时钟配置 91

4.1.1 STM32F4的系统时钟树 91

4.1.2 STM32F4的系统时钟初始化 94

4.1.3 STM32F4的系统时钟使能和配置 98

4.2 ST微控制器的定时器模块 101

4.2.1 高级控制定时器(Advanced-control Timers) 101

4.2.2 通用定时器(General-purpose Timers) 104

4.2.3 基本定时器(Basic Timers) 107

4.3 任务调度定时器 109

4.4 遥控器PWM编码和定时器输入捕获 110

4.5 电子调试器的输出控制PWM和定时器输出比较模式 111

第5章 飞控系统的传感器 113

5.1 飞控系统的传感器 113

5.2 ST微控制器的I2C驱动 114

5.2.1 I2C简介 114

5.2.2 I2C驱动在STM32中的硬件实现 115

5.2.3 I2C驱动在STM32中的软件实现 120

5.3 加速度计的原理和测量信息 123

5.3.1 加速度计的原理 123

5.3.2 加速度计的测量信息 124

5.4 加速度计原始数据采集、校准和滤波 125

5.4.1 加速度计原始数据采集 125

5.4.2 加速度计校准 133

5.5 陀螺仪的原理和测量信息 135

5.5.1 陀螺仪的原理 135

5.5.2 陀螺仪的测量信息 135

5.6 陀螺仪的原始数据采集、校准和滤波 136

5.6.1 陀螺仪原始数据采集 136

5.6.2 陀螺仪校准 136

5.6.3 加速度计与陀螺仪的滤波 137

5.7 磁力计的工作原理和测量信息 137

5.7.1 磁力计的原理 137

5.7.2 磁力计的测量信息 139

5.8 磁力计的原始数据采集、校准和滤波 139

5.8.1 磁力计原始数据采集 140

5.8.2 磁力计校准 145

5.8.3 磁力计的滤波 148

5.9 超声波传感器简介 149

5.9.1 超声波传感器原理 149

5.9.2 超声波传感器简介 149

5.10 超声波传感器的数据采集驱动和滤波 151

5.10.1 超声波传感器数据采集驱动 151

5.10.2 超声波传感器的滤波 153

5.11 气压传感器简介 154

5.12 气压传感器的数据采集驱动 155

5.13 激光测距测高传感器 157

5.14 视觉传感器 158

5.14.1 光流 158

5.14.2 视觉里程计 163

第6章 状态估计 168

6.1 组合导航 168

6.2 飞行器的坐标系 169

6.3 方向余弦矩阵和欧拉角 170

6.3.1 方向余弦矩阵 170

6.3.2 姿态与欧拉角 171

6.3.3 欧拉角的定轴转动表示矩阵 172

6.4 四元数 175

6.4.1 四元数的定义 175

6.4.2 四元数与旋转的关系 176

6.5 四元数的姿态估计 177

6.6 卡尔曼滤波 182

6.7 扩展卡尔曼滤波 186

6.8 几种算法的总结比较 190

第7章 线性控制系统PID控制算法 192

7.1 控制理论与PID线性控制系统原理 192

7.1.1 比例控制 193

7.1.2 积分控制 194

7.1.3 微分控制 194

7.2 飞控算法PID框架设计 194

7.3 飞控算法外环PID实现 195

7.4 飞控算法内环PID实现 197

7.5 信号滤波 198

7.5.1 移动平滑滤波 198

7.5.2 FIR滤波 200

7.5.3 IIR滤波 202

7.6 PID参数的调试 205

7.6.1 飞控的PID参数 205

7.6.2 调试步骤 205

第8章 油门和高度控制 207

8.1 油门输入曲线 207

8.2 油门解锁功能 208

8.3 油门权重分配和电调输出 209

8.4 高度控制 211

第9章 自主导航系统 213

9.1 自主导航概述 213

9.2 室内定位 214

9.2.1 室内定位技术 214

9.2.2 视觉导航 216

9.2.3 SLAM简介 217

9.2.4 视觉SLAM闭环检测与后端优化 217

9.3 室外GPS定位和NEMA实现 218

9.3.1 GPS定位系统的基本工作原理 218

9.3.2 单点定位 219

9.3.3 相对定位 219

9.3.4 差分定位 220

9.3.5 GPS标准协议NEMA 220

9.4 航路规划 230

9.4.1 航线规划 230

9.4.2 轨迹规划 232

9.5 SINS/GPS组合导航的模型和算法 233

9.5.1 SINS和GPS接收机的误差模型 233

9.5.2 SINS/GPS松组合的状态方程和量测方程 234

9.5.3 SINS/GPS紧组合的状态方程和量测方程 235

9.5.4 方程离散化和卡尔曼滤波 237

9.6 避障系统 238

9.6.1 避障使用的传感器 238

9.6.2 避障算法 238

9.6.3 避障过程中存在的问题 241

第10章 遥测数传通信链路 242

10.1 通用数传模块分类及其性能 242

10.1.1 无人机数传模块简介 242

10.1.2 调制方式的划分 242

10.1.3 传输距离及其影响因素 244

10.2 ST微控制器的串口通信和数传模块硬件接口 245

10.2.1 ST微控制器的串口通信 245

10.2.2 数传模块的硬件接口 248

10.3 简单通信信源编码协议及其实现 249

10.3.1 信源编码 249

10.3.2 串口通信协议 249

10.4 MAVLink协议实现 249

10.4.1 MAVLink协议简介 249

10.4.2 MAVLink数据包结构 250

10.4.3 MAVLink消息帧讲解 251

10.4.4 MAVLink消息帧发送与解析 255

10.5 地面站数据接收与数据解析 258

10.5.1 PC端地面站数据采集与存储 258

10.5.2 Android地面站数据接收 260

10.5.3 Android地面站数据存储与分析 262

第11章 其他辅助功能 264

11.1 参数存储、在线更新与加载 264

11.2 调试LED 266

11.3 失控保护功能 271

11.4 手机WiFi控制 274

11.5 手机蓝牙控制 278

11.6 第一人称视角FPV控制 282

11.6.1 FPV的定义 282

11.6.2 FPV的设备组成 282

11.6.3 FPV眼镜与VR眼镜的区别 284

11.7 无人机应用领域 285

11.7.1 拍照摄影 285

11.7.2 植保无人机 287

11.7.3 电力巡检 288

11.7.4 环保领域的应用 290

第12章 基于STM32F4的基础程序开发 292

12.1 处理器STM32F4简介 292

12.1.1 系统总线 292

12.1.2 系统接口 294

12.2 开发环境简介 295

12.2.1 软件安装 295

12.2.2 工程创建 298

12.2.3 软件介绍 300

12.2.4 程序调试 301

12.3 STM32固件库 302

12.3.1 固件库介绍 302

12.3.2 固件库移植 303

12.4 LED显示 307

12.4.1 硬件设计 307

12.4.2 软件设计 308

12.4.3 实验现象 308

12.5 USART串口的使用 309

12.5.1 硬件设计 309

12.5.2 软件设计 309

12.5.3 实验现象 310

12.6 ADC模数转换器 311

12.6.1 软件设计 311

12.6.2 实验现象 313

12.7 定时器中断 313

12.7.1 定时器中断的原理 313

12.7.2 软件设计 314

12.7.3 实验现象 315

12.8 FreeRTOS实时操作系统简介 315

12.8.1 FreeRTOS基础应用 316

12.8.2 FreeRTOS实例 316

12.8.3 实验现象 317

12.9 FreeRTOS操作EEPROM 318

12.9.1 程序设计 318

12.9.2 实验现象 319

12.10 FreeRTOS操作MPU6050 320

12.10.1 软件设计 320

12.10.2 实验现象 321

12.11 FreeRTOS操作磁力计 321

12.11.1 软件设计 322

12.11.2 实验现象 322

12.12 FreeRTOS操作气压计 323

12.12.1 软件设计 323

12.12.2 实验现象 325

附录A F450四旋翼飞行器DIY组装流程 326

A.1 材料清单 326

A.2 焊接电机 329

A.3 机架的安装 329

A.4 飞控模块安装 333

A.5 电调行程校准 334

A.6 电调、遥控接收机、数传模块与飞控的连接 335

A.7 遥控操作说明 336

A.8 图传系统连接 336

附录B 无刷电机与电子调速器介绍 339

B.1 无刷直流电机 339

B.2 电子调速器换相的相关知识 340

B.3 电调启动频率 341

附录C 无人机实验室研发调试设备 343

C.1 FH550四旋翼无人机研发系统 343

C.2 应用级无人机系统 345

C.3 高级航拍数字图传系统 347

C.4 便携式地面测控站系统 348

C.5 高级飞行器3自由度姿态算法验证系统 349

C.6 高级飞行器动力系统扭矩测量系统 349

C.7 高级飞行器动力系统拉力测量系统 350

C.8 微机电传感器测量校准平台 350

C.9 工业级数据处理中心 350

附录D 电子罗盘椭球校准算法代码实例 352

参考文献 357