如何能够较好掌握飞控系统设计？有没有比较好的书籍推荐？
下面这个回答出自我专栏文章《 》 =================================================== 我觉得学工程技术，很重要的是先从大的整体概念入手，然后再钻进细节。 我假定题主说的是想自己调一个小的四轴飞行器，然后比较清楚地掌握这个过程中的各项技术。希望我这篇回答能够帮到你。不巧的是，目前我没有发现什么比较好的书籍推荐，已有的一些关于四旋翼系统的书要么太浅（上来就教你焊电路），要么太深（上来就教你state estimation），听说 的exbot小组在写一个教材，我是非常期待的。 第一步：自己调一个小四轴飞起来 现在开源社区的人言必pixhawk，其实我觉得从学习的角度来说，pixhawk太贵，而且不适合学习，我比较推荐的是 这家淘宝店卖的STM32F405飞控，买回来以后自己再随便买个机架（比如DJI F450）、接收机和遥控，就能按照飞控板附带的学习资料、调试软件飞起来。这家店目前好似不公开出售这款飞控了，但是万能的淘宝满满都是业界良心， ，这家店看起来也非常棒 第二步：看硬件图、读代码 chiplab7的飞控板附带一大堆学习资料，对加速度计、陀螺和磁感计都有很仔细的解释，硬件链路图也很详细。看完就可以学会怎么给stm32单片机开发程序，当然如果题主自己去另外单独花时间学学stm32单片机开发也是很好的。chiplab7淘宝掌柜的又很认真负责，我学用的时候，发现代码有bug和看不懂的地方，都可以直接找掌柜的问…… 看完代码以后，对一个飞控系统的基本模块：姿态解算、控制解算、混控输出、遥控器处理、嵌入式处理就很明白了。然而这里面有很多技术是需要另外学习的。除了基本的嵌入式编程以外，最重要的是要理解姿态解算和控制解算这两块知识。这个代码采用的是最简单的互补滤波算法做为姿态解算模块，然后控制解算是对欧拉角的三个角度做闭环PID控制，基本都是基础的基础了。 第三步：理解核心的数学和控制知识 姿态解算和控制解算涉及的知识有： 1. 刚体姿态的表示、运动学方程和动力学方程。主要是对牛顿-欧拉方程的认识和理解、刚体姿态的欧拉角表示法、姿态与角速度的关系等等。 这部分说复杂不复杂，说简单也不简单，我同样是没有找到一本完整的书全都介绍过的，是学了好几个不同的书和论文以后搞明白的。现在看起来是从维基百科入手比较靠谱。 2. 自动控制原理。讲PID的书和文章就多了去了，没有太多复杂的书。 3. 线性估计基本原理。其实就是互补滤波： 。拿这个关键词百度各种搜就会了。 第四步：小修小改加深理解 chiplab7的飞控是靠气压计定高的，飞行效果非常奔放。这时候可以淘宝买个20块钱的超声波模块，然后自己写个高度环去稳定飞控的定高表现。 我觉得这个过程至关重要，因为高度控制相对来说是个比较直观理解PID控制的方式，而且chiplab7的飞控加高度控制非常好加。工作量不大，因为改善效果很显著，所以可以让人很有成就感，加深继续学习的乐趣。 第五步：重头开始造轮子 知乎著名网友vczh曾经说过，学习要抱着勇于造轮子的心态才能进步。所以在熟悉了别人飞控基础上，可以自己重头造一个飞控的轮子。 首先可以自己从芯片开始重新画一个飞控板，读读stm32的芯片手册、读读各种传感器的芯片手册，自己手画一个飞控的原理图、做PCB layout、制板自己焊元件，全套花不了1000块钱，能够加深很多对硬件的理解。 其次可以重新写一个飞控系统。这个时候基本也到了职业分化的阶段，可能你和你的基友想一起创业造四轴飞行器，在知乎上搜到了YY硕的文章，买了chiplab7的飞控板走完了一二三四步觉得两个人学得挺好，都不含糊，可以开公司造飞机了。这此后两个人就需要做出谁搞观测（IMU、GPS等传感器）谁搞控制（更好的控制器设计）的选择，因为任何一个都是大坑，需要付出相当深入的努力才能做好做稳定。甚至要付出一个博士时间的努力。 另外很可能你和你的基友各自努力搞了搞发现飞机还是有很多异常情况下会炸鸡的问题，而为了解决这些异常情况需要使用非常昂贵的实验设备、花非常大量的时间去做实验才能搞定。这个时候我建议大家还是加入大疆吧……