书籍详情
《无人机编程实战:基于ArduPilot和Pixhawk》[56M]百度网盘|亲测有效|pdf下载
  • 无人机编程实战:基于ArduPilot和Pixhawk

  • 出版社:机械工业出版社
  • 作者:[墨] 胡里奥阿尔贝托门多萨-门多萨(Julio Alberto Mendoza-Mendoza)等 著,徐坚 张利明 吴文峰 李佳蓓译 译
  • 出版时间:2021-09-01
  • 热度:8457
  • 上架时间:2025-01-04 08:18:29
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介

本书包括三个部分,首先介绍自动驾驶仪和库的特性。然后着重介绍对ArduPilot库的重要部分的理解,其中描述了代码的每个主要组成部分。第三部分是高级特性部分,目的是将获得的知识扩展到实时应用程序。每个部分都详细描述了代码及其组件、应用程序和交互。

目录

译者序
前言
致谢
第一部分 引言
第1章 硬件和软件说明 2
11 自动驾驶仪 2
12 自动驾驶仪的种类:SDK与GUI 3
13 SDK的种类 4
14 Pixhawk自动驾驶仪(硬件) 5
15 克隆版本与原始版本 8
16 商业自动驾驶仪与你自己的设计 8
17 ArduPilot库(软件) 9
18 兼容性和类似项目 9
19 硬件和软件之间的困惑 10
110 本章小结 10
第2章 ArduPilot工作环境 11
21 ArduPilot库的相关文件类型 11
22 特定数据类型 11
23 所用程序的描述和流程 12
231 编码和编译 13
232 连接和加载接口 13
233 物理执行 13
234 显示 13
235 反馈 14
24 上传自定义代码到自动驾驶仪 14
25 使用Eclipse创建新项目 16
26 错误校验 21
27 ArduPilot库中直接使用Arduino是否可行 26
28 本章小结 27
第3章 概念和定义 28
31 辅助组件 28
311 无刷电机 28
312 ESC 29
313 螺旋桨 30
314 框架 30
315 特殊连接器 31
316 遥测模块(无线串行通信) 32
317 锂电池 33
318 电池测试仪或电池监测器 33
319 GPS模块 34
3110 分配器 34
3111 电源模块 35
3112 硅线 36
3113 热电偶 36
3114 紧扣件 36
3115 被动防振模块 36
3116 遥控器 37
3117 嵌入式车载电脑 37
3118 特殊Pixhawk组件 38
32 计算效率与数学等式 38
33 使用变量、函数、模块和对象 39
331 变量 39
332 结构体 39
333 函数 40
334 模块 40
34 getter和setter的概念 42
35 方向和位置的概念 42
36 安装和编码之间的区别 44
37 ArduPilot代码的常用部分 44
38 ArduPilot代码编程的常用模型 45
39 本章小结 46
参考资料和建议网站 47
第二部分 顺序操作模式
第4章 基本输入和输出操作 51
41 头文件 52
42 设置 54
421 写入终端 54
422 读取终端 56
423 读取无线电信号 57
43 辅助通道与状态机简介 62
431 内部传感器读取位置和方向 64
432 外部位置传感器读数(GPS) 68
433 读取模拟传感器 72
434 信号滤波 73
435 读写数字 75
436 电池读数 77
437 通过主LED使用视觉警报 78
44 本章小结 79
第5章 高级操作 80
51 有线和无线串行通信 80
52 通信程序 83
521 发送数据的过程 84
522 数据验证过程 87
523 基本“校验和”方法的描述 87
524 XOR“校验和”方法的描述 87
53 轮询 89
54 通过串行通信和开发板从外部设备读取信息 97
55 写入无刷电机(BLDC电机) 99
551 代码优化 106
552 写入电机的简化函数 106
56 写入标准直流电机(有刷) 110
57 使用步进电机 117
58 使用伺服电机执行辅助任务 118
59 ArduPilot兼容电机总结 121
510 数据的使用与存储 121
511 使用Mission Planner GUI绘制SD数据 126
512 时间管理 133
513 本章小结 135
第6章 控制具有平稳飞行模式的四轴飞行器 136
61 多轴飞行器的基本建模 140
62 第二个例子:双轴飞行器(同轴电机分析) 149
63 速度运动学关系 155
631 动态平移方程 157
632 动态旋转方程 158
64 飞行模式 161
65 解耦的任务 163
66 控制方法 165
67 闭环与开环 165
68 饱和PD控制(飞行的软模式基本控制) 166
69 无人机飞行的实施 175
610 本章小结 180
参考资料 180
第三部分 实 时 模 式
第7章 实时工作环境 184
71 链接器 184
72 调度程序说明 184
73 实时模式/调度程序模式下的ArduPilot常用部件 185
74 测量任务执行时间 186
75 本章小结 190
第8章 应用程序代码 191
81 radiopde模块 194
82 controlpde模块 194
83 datapde模块 197
84 posepde模块 200
85 本章小结 201
参考资料 202
附录1 与其他SDK命令的比较 203
附录2 设置扩展代码 205
附录3 扩展头文件 206
附录4 完整功能代码 210
附录5 有用的关键字 215
附录6 安装ArduPilot库 216
附录7 推力矢量 234
附录8 全向性 236
附录9 扩展功率的方法 239
附录10 四轴飞行器设计总结 241
附录11 使用头文件 245

前言/序言

本书的目的是讲授ArduPilot库的功能以及以四旋翼通用多旋翼飞机为例的Pixhawk自动驾驶仪,同时也提供了其他类型的定制飞行器(参见附录8)、陆地或水上交通工具,以及与上述库兼容的其他自动驾驶仪扩展知识的指南。
本书包括三个部分:第一部分(引言)介绍自动驾驶仪和库的特性;第二部分(顺序操作模式)着重于对ArduPilot库的最重要部分的理解,描述了代码的每个主要组成部分;第三部分(实时模式)介绍高级特性,目的是将获得的知识扩展到实时应用程序。每个部分都详细描述了代码及其组件、应用程序和交互,当然,还有作者建议的参考书目,供那些想要深入学习的读者参考。
应该指出,ArduPilot库的使用并非Pixhawk自动驾驶仪所独有,还可以扩展到许多其他平台。但是,作者喜欢根据其性能来采用这种组合。这意味着,本书提供了基于这些库的实训,并允许最终用户对其工作进行调整以适应广泛的自动驾驶仪和测试平台。
先验知识
本书的读者至少应具有高中学历或技术学士学位。
必需的知识
编程:了解如何使用Arduino是必要的起点。
经济实力:进行自动驾驶研究时,购买各种零部件的成本较高。你应该有能力购买或组装自己的飞行器和相应的零件。
英语:为了解决某些问题,通常需要访问国外的论坛和商店,或观看英语视频,因此有必要具有中等英语水平。
最好有但非必需的知识
数学:你应该了解向量和矩阵的基本推导以及基本运算。
物理和控制:你应该了解阻尼谐振荡器和PD控制的概念、力和扭矩的概念、坐标系的使用以及如何求解运动和力的分量。
预期结果
通过阅读本书,你将能够:
以先进的方式对Pixhawk进行编程。Pixhawk是ETH创建的开源自动驾驶仪,广泛用于自动驾驶仪的研发领域。
使用ArduPilot库,该库是世界上大多数用户进行自动驾驶仪研究和开发的软件开发接口之一。
以一种非常具体的方式利用四轴飞行器模拟和实现任何空中、地面和水上自动驾驶的基本半自动控制。
将理论与实践相结合,开发自动驾驶仪。
在自动驾驶仪的设计过程中选择硬件和软件组件。
使用与本书介绍的技术兼容的其他硬件和软件开发包。
熟悉该领域常用的科学和技术术语。
熟悉该领域相关的文章和书籍。
通过全向飞行器的基本理论,将四轴飞行器应用的知识扩展到三维飞行器上(即可以实现“任意方向”和“任意位置”)。
在构建自己的自动驾驶仪(通过编程微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、嵌入式卡或任何其他方法)时,确定与自动驾驶最相关的复杂事项和操作流程。
许可证
ArduPilot库和Mission Planner软件是GPLv3免许可证软件,可以按照自由软件基金会(www.fsf.org/)所述的GNU GPLv3条款和限制重新分发或修改它们。
发布代码和程序的目的是希望它们有用,但没有任何保证,甚至没有对特定用途的适销性的隐含保证。有关更多详细信息,请参见GNU项目的“通用公共许可证”部分。
ArduPilot库可以从http://ardupilot.org/dev/docs/apmcopter-programming-libraries.html下载。
可以从http://ardupilot.org/planner/下载Mission Planner软件。
Pixhawk自动驾驶仪具有属于Lorenz Meier的CC-BY-SA 3.0许可证(https://creativecommons.org/licenses/bysa/3.0/deed.es)。
其官方文档位于https://dev.px4.io/en/contribute/licenses.html。
PX4库具有修改的BSD许可证(https://opensource.org/licenses/BSD-3-Clause)。
几乎所有终端都是公共领域的软件。我们建议使用terminal.exe、putty或任何其他等效工具。
Java SE开发工具包8u111更新了名为jdk-8u111-windows-i586.exe的可执行文件,它属于Oracle,并且仅在需要正确执行包含在库中的Eclipse版本的情况下才需要从www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html下载。
责任条款
出版商、作者、ArduPilot或Pixhawk项目的开发社区都不对读者使用本书知识设计、编程或操作的任何飞行器或机器人承担任何责任。
每一位读者都有责任做到以下几点:
1.阅读并正确理解这本书的全文。
2.对个人项目有适当的权限和安全措施。
3.为项目使用合适的材料和设备。
无论是出版商、作者,还是ArduPilot或Pixhawk项目的开发社区,都不会回复与每个读者的个人项目相关的问题或看法,无论这些项目有多重要或多紧急。要明白,这本书包含了足够详细的资料,在非常特殊的情况下,也可以访问在线论坛:
http://discuss.px4.io/
https://discuss.ardupilot.org/
http://ardupilot.org/dev/docs/apmcopter-programming-libraries.html的社区版块
无论是出版商、作者,还是ArduPilot或Pixhawk项目的开发社区,都不对读者在软件安装过程中或之后对他们的计算机设备或嵌入式系统造成的损害负责,每个读者都有责任按照所提供的说明进行操作。
无论是出版商还是作者,都不对ArduPilot开发社区或Pixhawk项目所产生的代码和语法变化负责。这是可以理解