无人机是一个宽泛的概念,从美国高空高速的U2军用无人机,到中国最新声名鹊起的"猛龙",再到淘宝网上随处可见的四轴飞行器,无论是外形,性能,还是价格,应用场景,都可谓是天差地别,不可同日而语。军用无人机自诞生之日起,从外形还是发动机,都是直接从有人飞机发展而来;而民用无人机很多都是从航空模型发展而来,因此这完全是不同的产品。本文中的无人机,从民用航空模型出发,仅仅讨论多轴无人机这么一个细分领域。
无论军用还是民用无人机,飞行控制系统都是其中的重中之重。由于飞行动力学和飞机的外形和气动布局息息相关,飞控系统也根据不同的飞机外形设计开发。我们在这里讨论的飞控系统,主要是针对固定翼飞机,直升机以及多轴飞行器应用的飞行控制系统。由于这几类经典的飞行器在数学建模和工程应用上已经非常成熟,行业内对应的开源飞控系统也十分成熟,所以后来者需要做的创新不多。大多二次开发的飞控系统,都是基于一个成熟的飞控,然后添加不同的传感器,并提供一个标准的控制接口,可以让一个高性能的伴随计算机实时分析计算飞行姿态,并根据经典模型,或者人工智能的方式实时下达控制命令。无人机开源飞控系统,也经过十多年的发展,从之前的百花齐放,变成了最后几家的剩者为王。
- PX4 官网:https://px4.io/,源代码:https://github.com/PX4
PX4是业内领先的开源飞控,提供各种接口和外部的高性能计算单元通信,是便于进行二次开发的高性能飞控平台;而PX4社区也是目前为止能够持续保持更新的无人机社区之一。
无人机爱好者容易把PX4和PIXHAWK混在一起。PX4是开源飞控软件,而PIXHAWK是开源硬件,PIXHAWK硬件飞控板可以使用PX4以及配套的软件工具QGroundControl进行调试飞行,也可以使用其他的飞控软件和配套工具,比如APM飞控和Misson Planner。不过目前的PIXHAWK基本已经闭源,毕竟硬件公司和软件公司不同,任何开源的硬件公司都无法和深圳众多的山寨厂抗衡,因此最终选择闭源,基本上是命中注定的。目前淘宝网上能买到的比较便宜的PIXHAWK2.4.8,基本上是开源的硬件的最后的绝唱。
- APM,也即Ardupilot, 官网:https://ardupilot.org/, 源代码:https://github.com/ArduPilot/ardupilot.git
APM和PX4在开源飞控系统中并驾齐驱,APM基于Arduino开源硬件,拥有广大的粉丝群,容易上手是APM的特点。
- BetaFlight 官网:https://betaflight.com/, 源代码:https://github.com/betaflight
和上面两种飞控强调扩展性,自主导航不同,BetaFlight成名于穿越机领域,强调操作性和易用性,软件相对比较简单易学。在国内经常用F4飞控或者F7飞控来指代,主要指飞控系统采用的是STM32F4或者STM32F7 MCU作为主控芯片。因此BetaFlight一般很少用在二次开发或者自主导航的产品上。