教程文档

开源飞控的前世今生

2019-07-08 08:34:36 3

前言

想必对无人机感兴趣的朋友都听说过ardupilot、px4、Dronecode这些名词,ardupilot和px4作为目前无人机行业最受欢迎、也是最为先进和全面的飞控软件,他们又是如何诞生并一路走来的呢,他们跟Dronecode基金会又有什么千丝万缕的联系呢,下面由笔者给大家一一揭晓。


1.jpg

起源

无人机的开源飞控是由多种因素形成的,比如昂贵的商业飞控系统、互联网的普及、开源软件概念的兴起以及linux、git的发展为无人机开源飞控行业带来了诸如github的成熟开源平台。Ardupilot的前身Arduino开源飞控是在2005年由Massimo Banzi、David Cuartielles等人在意大利交互设计学院合作开发而成,之后他们公开了其硬件设计文档,开放了飞控源代码,从此拉开了开源飞控的序幕,往后的WMC和Ardupilot都是基于Arduino飞控的衍生产品。


发展

WMC专为多旋翼开发,完整地保留了Arduino IDE开发和Arduino设备升级和使用的方法,是一款低成本飞控,有很多爱好者现在还在使用。而Ardupilot则是由3D Robotics的创始人Chris Anderson推动建立,他在07年创立了DIY Drones网络社区,08年Jordi Munoz将其获得第一届Sparkfun AVC大奖的直升机飞控源码放到社区上,随后在09年Anderson与他一同成立了3D Robotics公司,并在同年发布了一款adupilot的红色飞控板,之后几年陆续更新了APM1、APM2、APM2.5/2.6三款开源飞控硬件系统,然而APM的硬件系统也因为其8位的处理器系统高负荷运行而走下神坛。

2.jpg

PX4是由苏黎世理工的计算机视觉与几何实验室的一个软硬件项目PIXHAWK演变而来,目的在于为学术、爱好和工业团体提供一款低成本高性能的高端的自驾仪。PIXHAWK的硬件由PX4FMU/PX4IO两部分构成,它是双处理器结构,一个擅长于强大运算的32 bit STM32F427 Cortex M4 核心 168 MHz/256 KB RAM/2 MB Flash处理器,还有一个主要定位于工业用途的协处理器32 bit STM32F103,它的特点就是安全稳定,在主处理器宕机后保障安全。在APM硬件不能满足使用需求后,3DR和PX4团队进行了合作,在2013年11月共同发布了Pixhawk,而原来的ardupilot也被移植到pixhawk上进行运行,也叫apm for pixhawk,而PX4团队为pixhawk设计的飞控软件叫PX4,从此之后,ardupilot和px4在硬件以及底层系统上基本实现了统一。


转承

Dronecode基金会在2014年10月开始启动,其同时对Ardupilot和PX4两大开源飞控进行支持和运行,虽然两者都共同使用pixhawk作为硬件平台,但是由于Ardupilot发展历史比较悠久,对各类型的机型以及水下航行器、小车都具有非常好的支持,而px4因为发展时间短暂,在2016年以前都只能支持部分机型。然而2016年8月,Dronecode的董事会成员,ArduPilot的团队领袖之一Philip Rowse向Dronecode会员公司发送了一封内部邮件,公布了Ardupilot即将离开Dronecode的决定。至于为何要离开,应该是跟Dronecode的会员制度有关,另外一个也跟两大开源飞控不同的开源协议有关,PX4的是BSD协议,而Ardupilot的是GPL协议,两者最大的区别在于BSD协议可以将开源软件二次开发后用作商业用途,而GPL协议不允许修改后和衍生的代码做为闭源的商业软件发布和销售,所以如果是公司要使用开源飞控作为产品开发的话应该选取PX4更为合理。

3.png


     自此,PX4作为Dronecode基金会唯一支持的开源飞控项目,也得到了更好的发展,但作为PX4和Ardupilot两款开源飞控的使用者和开发者来说,Ardupilot的功能更为全面,稳定性也要更好一些,软件中存在的逻辑问题也要少一些,而PX4中存在更多的问题,比如对于着陆的判断条件、航线航段的切换中都存在一些问题,需要后续优化,但是在软件的架构上PX4要明显优于Ardupilot,模块更加独立,架构更加清晰,模块之间数据的传递也更加明确。


未来

开源飞控的发展集合了数百上千个优秀开发者的智慧,这才能在短短的几年时间内开发出功能如此强大的产品,虽然往后Ardupilot和PX4会以不同的方式推动开源飞控的发展,但是我相信会有更好的明天在等待着我们去探索,这是许许多多飞控爱好者们的共同愿景。在人工智能技术、图像识别技术飞快发展的今天,开源飞控也会很快出现视觉导航、视觉避障、多机协同、目标跟踪等先进方向的开发者,这是一个有期待的时代。