2020-04-03 开源飞控APM/PX4的发展史(转)

开源(Open Source)的概念最早被应用于软件,开放源代码促进会(Open Source Initiative)用其描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。

每一个开源项目均拥有自己的论坛,由团队或个人进行管理,论坛定期发布代码,比如px4bbs.com, ardupilotbbs.com,而对此感兴趣的程序员都可以下载这些代码,并对其进行修改,然后上传自己的成果,管理者从众多的修改中选择合适的代码改进程序并再次发布新版本。如此循环,形成“共同开发、共同分享”的良性循环。

开源软件的发展逐渐与硬件相结合,产生了开源硬件。硬件与软件不同之处是实物资源应该始终致力于创造实物商品。因此,生产在开源硬件(OSHW)许可下的产品的人和公司有义务明确该产品没有在原设计者核准前被生产,销售和授权,并且没有使用任何原设计者拥有的商标。硬件设计的源代码的特定格式可以被其他人获取,以便对其进行修改。在实现技术自由的同时,开源硬件提供知识共享并鼓励硬件设计开放交流贸易。

开源硬件(OSHW)定义1.0是在软件开源定义基础上定义的。该定义是由Bruce Perens和Debian的开发者作为Debian自由软件方针而创建的。开源飞控就是建立在开源思想基础上的自动飞行控制器项目,同时包含开源软件和开源硬件,而软件则包含飞控硬件中的固件和地面站软件两部分。爱好者不但可以参与软件的研发,也可以参与硬件的研发,不但可以购买硬件来开发软件,也可以自制硬件,这样便可让更多人自由享受该项目的开发成果。

开源飞控的发展可分为三代,第一代开源飞控系统使用Arduino或其他类似的开源电子平台为基础,扩展连接各种MEMS传感器,其主要特点是模块化和可扩展能力。
第二代开源飞控系统大多拥有自己的开源硬件、采用全集成的硬件架构,使用数字三轴MEMS传感器组成的IMU,能够控制飞行器完成自主航线飞行,能加装电台与地面站进行通信,能支持多种无人设备,能以多种模式飞行,它们集成度高,可靠性高,已经接近商业自动驾驶仪标准。
第三代开源飞控系统将会在软件和人工智能方面进行革新。它加入了集群飞行、图像识别、自主避障、自动跟踪飞行等高级飞行功能,向机器视觉、集群化、开发过程平台化的方向发展。

接下来我们以时间轴来看看无人机飞控的发展历史史,重点介绍开源飞控,商业飞控及大疆相关产品仅给出发布时间,作为时间点参考。
开源飞控由四轴飞行器而兴起,我们先来看看前辈们对四轴飞行器的研发尝试。
1907 年,法国Breguet兄弟制造了第一架四旋翼式直升机,这次飞行中没有用到任何旋翼式直升机,这次飞行中没有用到任何的控制,所以飞行稳定性是很差。

1921年,George De Bothezat在美国俄亥俄州西南部城市代顿的美国空军部建造了另架大型的四旋翼直升机先后进行了一架大型的四旋翼直升机,先后进行了100多次的飞行试验但是仍然无法很好的控制其飞行,并且没有达到美国空军标准。

1924 年,出现了一种叫做Oemichen的四旋翼直升机,直升机首次实现了1km 的垂直飞行。

1956 年,Convertawing造了一架四旋翼直升机,该飞行器的螺旋桨在直径上超过了19 英尺,用到了两个发动机,并且通过改变每个螺旋桨提供的推力了来控制飞行器。

美国陆军研制的VZ-7,被称做Flying Jeep,有效载荷250KG,425马力涡轮发动机驱动,容易起飞,但不能满足军方速度和高度要求,1960年被退还给发明人,美国航空事业先驱-柯蒂斯。

在此之后的数十年中,四旋翼垂直起降机没有什么大的进展。近十几年来,随着微系统、传感器以及控制理论等技术的发展四旋翼垂直起降机制理论等技术的发展,四旋翼垂直起降机又引起人们极大的兴趣。研究集中在小型或微型四旋翼飞行器的结构、飞行控制以及能源动力等方面。

最先出现的是商业级飞控,笔者知晓的有Micropilot MP2128和2028, 加拿大MicroPilot公司成立于1994年,只生产行业应用所用到的工业级无人机飞控,久经市场考验有着很高的声誉,不过其价格超过消费级飞控价格一个数量级,曾经安华农业技术研究所花费数万元邀请加拿大技术员来华技术支持,商业飞控怎一个贵了得。

随着linux和git的发展为无人机行业带来了成熟的开源协作平台如github、gitbook使零散的无人机软硬件开发资源得到整理,开发者和用户得以迅速实现飞控系统的开发。开源平台的共享机制促使无人机产品更快速地走进了寻常用户中,促进了无人机行业整体的发展。

始于2003年的Paparazzi(PPZ)是一个软硬件全开源的项目。它是一套包含飞行器和地面站在内的完整解决方案,传说大疆飞控的前身就是ppz,真实性有待考证。

Arduino 开源飞控,2005年由Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis 和 Nicholas Zambetti于2005年在意大利交互设计学院合作开发而成。他们为电子开发爱好者搭建了一个灵活的开源硬件平台和开发环境,用户可以取得硬件的设计文档,调整电路板及元件,满足自己需要,也可以通过配套的Arduino IDE软件查看源代码并上传自己修改的代码。随着该平台逐渐被爱好者所接受,各种功能的电子扩展模块层出不穷,其中最为复杂的便是集成了MEMS传感器的飞行控制器。为了得到更好的飞控设计源代码,Arduino公司决定开放其飞控源代码,他们开启了开源飞控的发展道路。著名的开源飞控WMC和APM都是Arduino飞控的直接衍生产品。

2009年OpenPilot由OpenPilot社区推出,官方发布了CC、CC3D、ATOM、Revolution、Revolution nano等硬件。

Multi Wii Copter(MWC)飞控是一款典型的Arduino衍生产品,是专为多旋翼开发的低成本飞控,它完整地保留了Arduino IDE开发和Arduino设备升级和使用的方法。由于成本低、架构简单、固件比较成熟,因此该飞控在国内外拥有大量爱好者。该飞控支持飞行器类型众多趣味性很强,比如四轴、六轴、八轴、三旋翼、阿凡达飞行器、Y4型等。

MikroKopter始于2006年10月24号,Holger Buss和Ingo Busker创造了它, 在2007年中,Mikrokopter便像一个“ 空中的钉子”,像一只鸟一样,稳步的停留在空中。这对于开源四轴飞行器是一个很大的里程碑,它来自德国。
之后便是大名鼎鼎的ardupilot,由3D Robotics创始人是克里斯·安德森(Chris Anderson)推动实现,他是前《连线》主编,《长尾理论》的作者。
2007年,他给女儿带了一套乐高的无人机套件。可是这套软件并不是很强大,于是他希望借助网络的力量能和大家一起改进下,于是建立了网络社区DIY Drones 。
2008年,一个叫Jordi Munoz的小伙子凭借自己开发的直升机飞控赢得了第一届Sparkfun AVC大赛,他随后把自己的代码放到了DIY Drones上。Chris看到之后,非常赞赏。
2009年,二人成立了知名无人机公司3D Robotics。
2009年5月 – Jordi/3DRobotics 发布了第一款红色的Ardupilot板子。
2009年年末,Chris从著名杂志《连线》的主编位置辞职,专心搞起了无人机事业。
2010年 – 3d Robotics 推出了APM1。
2011年 – 3D Robotics发布了APM2。2011年2月大疆发布了风火轮F550和F330
2012年 – 3D Robotics发布了APM2.5/2.6。2012年1月精灵1携带gopro问世,点燃了大众热情,2012年2月推出风火轮F450;2012年12月推出精灵2;
凭借一年一款飞控硬件的发布,围绕着3DR公司的飞控产品,形成了一个活跃的无人机爱好者社区,ardupilot飞控功能很强大,能飞固定翼、旋翼、直升机。不过此时芯片界已经有了STM32系列计算能力非常强的芯片,开发群体也日益壮大,APM2.5/2.6采用的avr atmeg8单片机也到了被淘汰的时刻,传统的ardupilot到此结束,全新的飞控操作系统时代开始了。

在ardupilot风靡世界的同时,苏黎世联邦理工学院 计算机视觉与几何实验组 的 Lorenz Meier于2009年发布了Mavlink协议,并遵循LGPL开源协议。Mavlink协议是在串口通讯基础上的一种更高层的开源通讯协议,主要应用在微型飞行器(micro aerial vehicle)的通讯上。Mavlink是为小型飞行器和地面站(或者其他飞行器)通讯时常常用到的那些数据制定一种发送和接收的规则并加入了校验(checksum)功能。
ETH Zurich (苏黎世联邦理工大学)的计算机视觉与几何实验室有个项目叫PIXHAWK, 后演变为PX4,它是瑞士苏黎世联邦理工大学(Lorenz Meier,MikeS) 的一个软、硬件开源项目(遵守BSD协议),目的在于为学术、爱好和工业团体提供一款低成本高性能的高端的自驾仪。此时他们重要的成果就是PX4FMU/PX4IO硬件,它是双处理器,一个擅长于强大运算的32 bit STM32F427 Cortex M4 核心 168 MHz/256 KB RAM/2 MB Flash处理器,还有一个主要定位于工业用途的协处理器32 bit STM32F103它的特点就是安全稳定。所以就算主处理器死机了,还有一个协处理器来保障安全。
它分为飞控处理器PX4FMU和输入输出接口板PX4IO。它可以单独使用PX4FMU,也可以配合输入输出接口板PX4IO来使用,但是因为没有统一的外壳,不好固定,再加上使用复杂,所以基本上属于一代实验版本。
随着历史演进,APM的处理器已经接近满负荷(APM使用8位的处理器),没有办法满足更复杂的运算处理。3DR找到了PX4团队,有了PX4FMU/PX4IO系列的经验,3DR/ETH很快将PX4FMU和PX4IO整合到一块板子上,并加上了骨头形状的外壳,优化了硬件和走线,他们一起在2013年11月发布了Pixhawk硬件。 pixhawk硬件的发布开启了飞控操作系统新时代,传统的ardupilot被移植过来,叫做apm for pixhawk,另外一套则是px4团队专门为pixhawk开发的固件系统。 2013年11月大疆发布了"悟’。2014年4月发布了精灵3标准版,2015年1月发布了精灵34k版。

早在PIXHAWK推出前,大疆就已经凭借精灵系列迅速占领了消费级航拍市场,无人机投资热潮此时正风起云涌。

一直专注于无人机飞控等技术的 3D Robotics 才意识到,要让自己的产品走出发烧友的圈子,必须做消费级航拍机。于是,为航拍而生的 Solo 问世了。在接下来的消费型无人机交锋中,3DR遭遇了滑铁卢。2015年4月,3DR烧掉了从风险投资哪里获得的1000万美元投资推出的solo惨败,裁掉了150名员工,并且决定不再涉足硬件市场,专心致力于商用无人机软件系统的开发。

Dronecode项目于2014年由Linux Foundation推出,容纳APM、PX4量大飞控平台,3DRobotics、高通、英特尔、昊翔Yuneec等都是其核心会员。Dronecode基金会采用了会员制,使用Dronecode代码的且为项目贡献比较大的(包括代码和资金支持),会按贡献级别成为会员。Dronecode所得赞助资金均为两个项目共有,用于开源项目的开发、维护和提升。一开始看似和和睦睦,不过分歧一直存在,一个GPL协议更偏向于个人用户,一个是BSD协议更偏向于商业和实验用途,因此商业公司更喜欢PX4,比如高通和英特尔。

BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以为所欲为,它鼓励代码共享,但需要尊重代码作者的著作权。由于允许使用者修改和重新发布代码,也允许使用或在源代码上开发商业软件发布和销售,因此BSD对 商业集成很友好。很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。GPL协议和BSD等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。简单说,使用GPL V3协议的开发者必须将自己的代码公开,而BSD则不需要公开代码。

根据ArduPilot官方的公告表示,Dronecode目前的规章制度和发展方向都是围绕更重要的客户来搭建的,他们认为这些“大客户”虽然为Dronecode带来了很多的资金支持(会员赞助费),但也一定程度上影响了整个基金会的发展方向,Dronecode的发展战略会越来越倾向于PX4,这对于ArduPilot是不能接受的。
2016年Dronecode方面发布了一封内部公开信,信中说想要每半年做一个发行版提供给组织成员时,但这对于GPL协议的ArduPilot来说,没有实际意义,研发成本有些高也高。8月,ArduPilot负责人Philip Rowse向Dronecode内部发送了一封邮件,公布了ArduPilot即将离开Dronecode的决定。
而对产业界来说,PX4的项目获得了英特尔、高通等巨头的支持,在资金和资源上会有更多的富余,发展可能更加顺畅,更加有利于推动开源无人机产业的发展。对于想要长远发展的中小企业,PX4看上去会更有前景。
唯一让人遗憾的是,以后可能看不到ArduPilot和PX4的合作了,客观来说,这两个开源项目都各有利弊,一直以来都是互相合作,取彼之长补己之短,让开源项目更具活力,此次如若ArduPilot脱离之后即中断与PX4的合作,难免让人有些遗憾。
2016年9月大疆发布了御
2016年10月大疆发布精灵4pro
2016年11月大疆发布MG-1S农业植保机
2017年3月大疆发布MG-1S RTK版农业植保机
2017年5月大疆发布了晓
2017年10月22日,由赫星科技有限公司和Ardupilot社区联合主办,由台湾无人机应用发展协会,深圳无人机协会,北京高博特传媒有限公司协办,首届Ardupilot全球无人机开发者大会在厦门国际会展酒店顺利举办。
2017年12月11日起,PX4创始人在上海深圳北京 举办Dronecode Meetup见面会,宣告了Auterion的创立,Auterion总部位于瑞士苏黎世,由PX4和Pixhawk的创始人Lorenz Meier和35岁以下的麻省理工学院创新者以及硅谷加州大学伯克利分校MBA和无人机专家Kevin Sartori共同创立。Auterion希望将专业化水平提高一个非常好的水平,就像Red Hat对于Linux的意义一样。
2018年10月15日,ArduPilot全球无人机开发者大会在苏州举办。来自开源无人机社区大神们,就无GPS环境下的无人机导航、水下机器人、无人机集群、无人机硬件开发、固定翼控制系统调试、Ardupilot的使用LUA脚本、无人机生态系统、人工智能导航、无人机教育等方面进行了深入的分享,并在现场进行答疑互动。

时间走的很快,开源飞控行业迎来了更多优秀的飞控硬件,赫星开发的pixhawk2.1,Cube外壳是金属的,板载电源设计的冗余度很高, IMU,FMU,底板分离、三套IMU,两套气压计,IMU恒温;PX4团队与Holybro共同开发了Pixhawk4;CUAV发布了PIXHAWK5, V5 AutoPilot在处理器和传感器方面都做了提升,处理器采用STM32F765处理器,其主频高达216MHZ并且含有2MB FLASH/512K RAM,传感器选用了ICM-20602/ICM-20689/BMI055/IST8310,并且做三度冗余。

2018年12月18日,总部位于瑞士苏黎世的Auterion 为其开源商用无人机操作系统筹集了1000万美元的资金,并推出了无人机操作系统,作为PX4开源标准的企业版。

Auterion是PX4生态系统的最大贡献者,并将继续投资开源社区。构建于PX4之上的企业操作系统,以。通过利用开源标准,最大限度地提高互操作性,实现安全,网络安全和合规的操作,并为客户的投资提供未来保障。操作系统使制造商能够使用通用基础设施在全球和安全标准上构建他们的产品,以便他们能够专注于核心差异化,并在将新产品推向市场时节省时间和资源。同样,组件,软件,模块和服务供应商有权快速创建独特且具有竞争力的解决方案,确保兼容的生态系统允许开发人员集成其产品。
同样,Auterion云使无人机服务提供商能够放心地飞行,监控设备,并为关键任务应用支持各种无人机和无人机技术。无人机操作从手动ad-hoc流程转变为大规模操作。
px4正在成为下一个Android系统,ardupilot已经在多种无人设备的应用上越走越远。 很难说未来哪一个做的更好,让我们拭目以待吧!

参考资料:蓬莱道人 :https://blog.csdn.net/MOU_IT/article/details/80352234
楼竞扬:https://www.jianshu.com/p/0045b02502d7

你可能感兴趣的