目前市面上飞行控制器分为两种。一种是由商业公司设计生产的,例如DJI的系列飞控,一般都是闭源的,并且经过正规系统的测试,稳定性方面有保障。另外一种就是由爱好者或者公司发起的开源飞控,如APM飞控。这类飞控的硬件设计和软件代码一般都是开放的,如果有更多的人参与,能够快速迭代改进。开源飞控对国内飞控市场也产生了较大的影响。

1、APM & 3D Robotics

3D Robotics公司旗下的飞控有3款,分别是ArduPilot(简称APM),PX4和Pixhawk。
APM是比较古老的版本,处理核心使用的是Arduino,16位mega系列单片机,开发环境为arduino-IDE,基于Arduino这点和MWC飞控是一样的。功能上依然很强大,地面站使用apm-planner和mission-planner。最新版本为APM 2.6,开源。
image.png
APM2.6 飞行控制器

PX4是apm的升级版,使用了很流行的stm32f407单片机,处理速度上了一个大台阶,摆脱了arduino的瓶颈,走向了发烧级的道路。不过PX4实际上是由两部分组成的,PX4FMU和PX4IO板。后来又推出了Pixhawk飞控,其实就是把PX4FMU和PX4IO板结合在了一起,更高的集成度。
image.png
Pixhawk 飞行控制器

围绕着3DR公司的产品,形成了一个活跃的无人机爱好者社区,无人机飞控功能很强大,能飞固定翼、旋翼、直升机等。旗下网站也有好几个:

  • 3DR官网:http://3drobotics.com/。这个网站是3dr卖飞控的官方旗舰店。
  • apm飞控的官网:https://ardupilot.org/。一些开发者资料在http://dev.ardupilot.com
  • Pixhawk飞控的官网:https://pixhawk.org 。PIX4和Pixhawk的资料都在上面,此外上述代码都托管在GitHub上。
  • diydones论坛:http://diydrones.com 。这个是3dr旗下的交流论坛,可以在这里找到很多国外的飞控爱好者。diydrones是现在最活跃的四轴飞行器、无人机论坛。
  • PX4官方网站:https://px4.io/。PX4 是一款用于无人机和其他无人驾驶车辆的开源飞行控制软件。该项目为无人机开发人员提供了一套灵活的工具,可以共享技术,为无人机应用创建量身定制的解决方案。

目前PX4发展很快,从合作项目、行业标准、组织架构、商业支持,到兼容硬件、商业系统等,已经建立起无人机开发者的开源生态系统。我国的广州雷迅创新公司就是PX4的重要合作伙伴。

下面介绍的几个多旋翼飞控的鼻祖,出现的时间大概在2008-2010年间。现在市面上已经比较少用。包括Mikrokopter/KK飞控/Paparazzi/MWC。

2、MikroKopter

在2006年10月24号,Holger Buss和Ingo Busker创造了MK,这对于开源四轴飞行器是一个很大的里程碑。MikroKopter来自德国,其英文官网地址是http://www.mikrokopter.de/en/home。作者在SVN上共享了代码。

3、KK飞控

最经典的多轴飞控,价格十分便宜,很多人就是用它学会飞四轴的。主要问题是没有自稳,更不用说什么定高、GPS之类的高级功能了。因为没有自稳,新手练习起来就比较困难,不过对于从直升机转过来的玩家来说就是小问题了。支持3轴、四轴、6轴、V22的飞行模式。kk飞控.pdf
image.png
KK 飞控

4、Paparazzi

这是国外一个开源的固定翼,多轴飞行器项目。github上的资料,wiki等都挺全面的。项目不仅仅只包括飞控板的软硬件,包括从稳压电源和GPS到卡尔曼滤波代码, 而是一个强大和不断扩大的地面空中软硬件群,包括数传电台,天线和一个高度进化的用户友好的地面控制软件界面。网站地址是http://wiki.paparazziuav.org/wiki/Main_Pagehttps://github.com/paparazzi/

5、MWC & MultiWii

MWC是MultiWii Copter的缩写,是最为经典的开源的多轴飞行器固件。此固件的原创作者是法国的Alex,他为了打造自己的Y3飞行器(一个三轴飞行器),在开源硬件平台Arduino的基础上开发了最初的MWC固件。几年来经过许多高手的参与及共同努力,开发进度越来越快,已经基本成熟,支持三轴,四轴,六轴等多种飞行器。其最大的特点是,其硬件是基于Arduino平台。这为很多熟悉开源硬件平台Arduino的玩家入门提供方便。
image.png
MWC 飞控
MultiWii官网:http://www.multiwii.com/
MultiWii官方在Github上的代码库:https://github.com/multiwii
正是由于MWC使用的是8位单片机做的主控芯片,在后来的发展中受到了性能的限制。很多玩家就把MWC飞控代码移植到32位处理器上(例如STM32),形成了BaseFlight飞控代码,后来从BaseFlight项目又分出来了CleanFlight飞控项目。
下面介绍的是2014年之后穿越机上使用的飞控。包括CC3D/Naze32/F3飞控,同时会介绍飞控固件Cleanflight。

6、CC3D & OpenPilot

从2015年开始,用于穿越机的飞控发展非常迅速,每半年就有一个新设计的飞控脱颖而出,引领整个穿越机的发展。已经经历了CC3D,Naze32,F3、F4飞控4个时期。这类飞控也是现在市面上流行的飞控,他们的固件基本上都是使用Cleanflight。
image.png image.png image.pngimage.png
CC3D 飞控 Naze32 飞控 F3 飞控 F4飞控

CC3D飞控是穿越机飞控的鼻祖,2015年上半年最火。现在使用的人在减少。
Naze32作为后起之秀,和CC3D最大的区别是它有加入气压计MS5611。在2015年下半年超越CC3D,在国外穿越机玩家中非常流行。但到现在2016年上半年,已经被F3飞控取代。
F3飞控是即Naze32飞控之后,在2016年上半年迅速走红。最大的特点是,主控MCU由原来的STM32F101升级到STM32F303,所以命名为F3飞控。
F4飞控的主控MCU升级到STM32F405,目前,市面上主流的穿越机飞控已经过渡到F4飞控了。
Cleanflight并不是一个飞控硬件平台,而是一个飞控固件。也就是飞控的软件代码,它可以移植都不同的飞控硬件平台上,如CC3D/Naze32/F3/F4等。
Cleanflight官网:http://cleanflight.com/
Cleanflight官方在Github上的代码库:https://github.com/cl