• 一本书看懂多旋翼无人机
  • 一本书看懂多旋翼无人机
  • 一本书看懂多旋翼无人机
  • 一本书看懂多旋翼无人机
  • 一本书看懂多旋翼无人机
  • 一本书看懂多旋翼无人机
  • 一本书看懂多旋翼无人机
  • 一本书看懂多旋翼无人机
21年品牌 40万+商家 超1.5亿件商品

一本书看懂多旋翼无人机

批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!

66.95 4.9折 138 全新

库存18件

江西南昌
认证卖家担保交易快速发货售后保障

作者李德强 著

出版社化学工业出版社

ISBN9787122361172

出版时间2020-08

装帧平装

开本16开

定价138元

货号29113810

上书时间2024-11-02

思源汇书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

2016年,偶然的一次冲动,我想要自己制作一套四旋翼无人机。虽然当时可以购买现成的商业自驾仪和下载开源飞控程序,但是为了深刻体会无人机的控制原理,我还是决定要自己从零开始。我一边到处查找相关资料,一边向相关朋友请教。同时,购买了很多配件和控制板,自己尝试组装四旋翼无人机和编写控制程序。起初,我买了很多竹条,用手钻打洞,做成机架,安装电动机和螺旋桨。当时的我没有任何理论基础,写完程序之后也没有使用任何仿真程序进行飞行模拟,而是直接用一只手举着飞机,另一只手在电脑上调节参数。我在家里一间10m2的房间里进行测试,有几次程序出现错误,失控的螺旋桨将卧室里的地板、门框都打坏了。有一次螺旋桨甚至在我的右胳膊上割开一条一寸多长的伤口。有朋友对我开玩笑说:“这是我听说过一个因为编程而导致的流血事件!”经过不断地修改程序和试飞,不断地分析总结问题并修正,飞机终于在一年之后离开地面飞上了天空。

虽然我自己开发的飞控程序与商业无人机没有可比性,也没有那些开源飞控程序功能强大、稳定,但是对于我个人来说,这架无人机从无到有的整个过程,让我从本质上理解了多旋翼无人机的控制体系和飞行原理,这对我后来学习并理解PX4开源无人机飞控程序有很大的帮助。之后,我开始接触开源自驾仪Pixhawk和开源飞行控制程序PX4,这使得我从实践回归理论,对多旋翼无人机有了更深入的理解。

后来我自己创办了“编程外星人”公众号和“问渠网”,每个星期都会通过公众号和网站发布对多旋翼无人机的学习笔记和心得体会。基于这些笔记与心得,在对多旋翼无人机的理论体系做了梳理与思考后,我补充了大量内容,形成了本书。

本书以四旋翼无人机为例,讲解多旋翼无人机的飞行理论与控制体系。从螺旋桨、电动机、电调、动力电池、机架等角度介绍其硬件结构与原理;讲述多旋翼无人机如何产生飞行动力,如何完成六个自由度的飞行动作。通过开源自驾仪Pixhawk和开源飞行控制程序PX4介绍全自动多旋翼无人机控制系统的整个实现过程,内容涵盖了从硬件组装清单到飞控程序下载编译的整个过程,并对如何使用地面站程序对飞控进行航前校准和参数设定做了说明。

本书将飞行理论与设计实现相互结合,通过对PX4飞控程序的分析、讲解、修改和完善,梳理了多旋翼无人机的相关知识。包括:飞控程序的架构设计、开源操作系统、驱动程序、状态估计、控制算法、导航系统等,以及如何通过对多旋翼无人机的动力系统建模实现半物理仿真和趣味航线飞行等。

本书编写时所参考的PX4源代码的版本号为1.8.2,在此版本下源代码共有329万行之多,其中包括Nuttx操作系统源代码259万行,PX4飞控程序54万行。并且这只包括C/C++源代码,而不包括Xml、Python、Shell脚本等其他工具类代码。PX4飞控程序中参与编译的模块有50多个,代码量庞大而且复杂。因为PX4源代码中很多函数的参数都非常多,变量的命名也参差不齐,代码为了适应多变的条件,处理逻辑非常之复杂。如果将大量这样的代码直接引用到本书当中,会使得读者理解源代码有很大的困难。因此,为了方便读者对源代码进行阅读和理解,本书中所引用的源代码是从PX4程序中部分摘取的,并进行了大量的简化和修改,所以本书中的源代码与PX4飞控程序中的源代码并不完全一致,但是却更便于学习和掌握。

书中内容涉及的知识很多,在编写过程中难免会出现疏漏和不足,敬请广大读者朋友和专家批评指正!

本书的编写几乎花费了我全部的业余时间和精力,如果没有家人的大力支持和很多好朋友的建议和指导,我根本无法做到。在此特别感谢我的家人、朋友为我所做的一切!

李德强

 



导语摘要

本书以四旋翼无人机为例,讲解多旋翼无人机的飞行理论与控制体系,从螺旋桨、电动机、电调、动力电池、机架等角度介绍硬件结构与飞行原理。通过开源自驾仪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

 

 


 



内容摘要

本书以四旋翼无人机为例,讲解多旋翼无人机的飞行理论与控制体系,从螺旋桨、电动机、电调、动力电池、机架等角度介绍硬件结构与飞行原理。通过开源自驾仪Pixhawk和开源飞行控制程序PX4介绍了全自动多旋翼无人机控制系统的整个实现过程。内容涵盖了从硬件组装清单到飞控程序下载编译的整个过程,并对如何使用地面站程序对飞控进行航前校准和参数设定做了说明。

本书将飞行理论与设计实现相互结合,通过对PX4飞控程序的分析、讲解、修改和完善,梳理了多旋翼无人机的相关知识。包括:飞控程序的架构设计、开源操作系统、驱动程序、状态估计、控制算法、自主导航系统等,以及如何通过对多旋翼无人机的动力系统建模实现半物理仿真和趣味航线飞行等。

本书可为从事无人机设计制作的技术人员提供帮助,可供无人机爱好者自学,还可供大学院校相关专业师生学习参考。


 



主编推荐



   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP