第1章 概述 1
1.1 四旋翼飞行器简介 1
1.1.1 四旋翼飞行器的概念 1
1.1.2 四旋翼飞行器的发展史 1
1.2 四旋翼飞行器的主要优缺点和技术难点 3
1.2.1 四旋翼飞行器的主要优缺点 3
1.2.2 四旋翼飞行器的技术难点 4
思考题 5
第2章 Arduino的原理及应用 6
2.1 开源飞控 6
2.2 初识Arduino 7
2.2.1 Arduino简介 8
2.2.2 Arduino的不同版本 10
2.3 Arduino开发环境搭建 14
2.3.1 IDE环境介绍 14
2.3.2 Arduino驱动安装 17
2.3.3 实现Hello Arduino 19
2.4 Arduino编程基础 22
2.4.1 程序结构 22
2.4.2 控制语句 23
2.4.3 相关语法 30
2.4.4 算术运算 32
2.4.5 比较运算 34
2.4.6 布尔运算 35
2.4.7 指针运算 36
2.4.8 位运算 36
2.4.9 复合运算符 40
2.4.10 常量与变量 41
2.5 Arduino的基本函数 56
2.5.1 数字I/O函数 57
2.5.2 模拟I/O函数 59
2.5.3 高级I/O函数 61
2.5.4 时间函数 65
2.5.5 几个基本的数学运算函数 67
2.5.6 三角函数 70
2.5.7 随机数函数 71
2.5.8 位操作函数 72
2.5.9 设置中断函数 74
2.5.10 开关中断函数 75
2.6 Arduino硬件平台 76
2.6.1 Arduino Uno R3的硬件原理 76
2.6.2 数字输入 79
2.6.3 数字输出 81
2.6.4 模拟输入 82
2.6.5 模拟输出 84
2.6.6 串口输入 87
2.6.7 串口输出 88
2.6.8 Arduino Pro Mini 90
思考题 93
第3章 四旋翼飞行器的飞行原理、飞行姿态及滤波算法 94
3.1 四旋翼飞行器的结构和飞行原理 94
3.1.1 结构形式 94
3.1.2 飞行原理 94
3.2 四旋翼飞行器姿态的表示和运算 97
3.2.1 坐标系统的建立 97
3.2.2 四旋翼飞行器飞行姿态的表示和换算 99
3.3 滤波算法以及修正融合 101
3.3.1 互补滤波和梯度下降算法 102
3.3.2 卡尔曼滤波 110
3.4 PID控制算法 113
3.4.1 四旋翼飞行器的控制原理 113
3.4.2 PID控制理论 114
3.4.3 四轴PID控制——单环 116
3.4.4 四轴PID控制——串级 118
思考题 119
第4章 四旋翼飞行器的硬件选择 120
4.1 四旋翼飞行器的类型 120
4.2 主要部件的选择 121
4.2.1 遥控器 121
4.2.2 飞行控制器 123
4.2.3 机架 125
4.2.4 电机 126
4.2.5 桨叶 126
4.2.6 电调 127
4.2.7 电池 127
4.2.8 充电器 128
思考题 129
第5章 基于Arduino Uno的四旋翼飞行器的制作 130
5.1 选用的核心硬件介绍 130
5.2 硬件主要的组装步骤 132
5.3 软件源代码 137
5.3.1 Arduino四旋翼飞行器初始化源代码 137
5.3.2 Arduino四旋翼飞行器的飞控源代码 160
5.3.3 Arduino四旋翼飞行器的ESC校正源代码 176
思考题 181
第6章 四旋翼飞行器未来的发展与展望 182
思考题 183
参考文献 184