热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开源飞控APM/PX4的发展史

开源(OpenSource)的概念最早被应用于软件,开放源代码促进会(OpenSourceInitiative)用其描述那些源码可以被公众使用的软件,并

开源(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月大疆发布精灵4pro2016年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


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • BashShell作为Linux的指定合作伙伴我们已经再熟悉不过了,使用Bash可以快速编写简单的脚本方便我们的日常比如善用vim,awk和sed三剑客,也可以创建十分复杂的逻辑, ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 文章目录一、awk简介二、awk的两种形式语法格式1options:2command:三、awk工作原理四、记录与字段相关内部变量:五、格式化输出:printf函数六、awk模式和 ... [详细]
  • 微信回应「10 元就能在朋友圈改定位」;谷歌官方首次提及 Android 11;Node 8.16.2 发布 | 极客头条...
    微信回应「10元就能在朋友圈改定位」;谷歌官方首次提及Android11;Node8.16.2发布|极客头条,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
欢不是欢7
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有