ArduPilot与Pixhawk什么关系?
最近想尝试开源无人机,便在网上搜索了一下早已如雷贯耳的ArduPilot和Pixhawk,没想到一堆名词映入眼帘:PX4、Pixhawk、APM、ArduPilot、Dronecode……费了一番功夫来弄懂他们之间的关系,记录在此,如果有误还请大家指正,拜谢!!![*]1. 开源项目PX4和ArduPilot
[*]2. Dronecode和ArduPilot
[*]3. PX4和ArduPilot区别
1. 开源项目PX4和ArduPilot
这两个其实才是真正的无人机开源项目,其代码均在Github中可以找到(PX4开源代码及ArduPilot开源代码)。
ArduPilot与APM的关系:ArduPilot的“Ardu”部分取自Arduino。最初APM1自动导航板是基于Arduino开发环境的。自从ArduPilot成长的比Arduino环境更快时,就不再使用Arduino运行库了。尽管仍然使用稍加修改的Arduino集成开发环境版本,来支持用于基于AVR的APM1与APM2板的ArduPilot,但是也支持Arduino兼容硬件(如PX4),为表示当前代码的跨平台特性,把“Ardu”前缀从软件项目取消,改为了“APM” 前缀(APM:Copter,APM:Plane,APM:Rover等)。
PX4和APM是两套最成熟先进的无人机软件系统,PX4由苏黎世理工大学(ETH)的科研团队研发并开放,而APM则是累积了几年来众多开发者和发烧玩家的代码贡献,逐渐成熟起来。围绕着这两套系统有一系列的开源硬件:如Pixhawk飞控,APM飞控还有最新的高通骁龙Snap Dragon Flight,PIXHAWK2等等。 所以题目中的两个词,ArduPilot更偏指一套代码,而Pixhawk则偏指一套硬件,不知道我这样理解是否正确。
2. Dronecode和ArduPilot
Dronecode起源:PX4和APM系统吸引了数以千计的开发者参与开发制作。因为开源的性质,所有的代码都在网络上开放,每个人都有机会对代码系统做出贡献。除了DIY玩家,学校的科研机构以及无人机厂商也愿意使用PX4和APM进行科研或者商业用途。两套成熟的飞控系统吸引了大量的开发者,玩家以及公司,一个围绕着开源飞控而聚集的社区慢慢成型了。当聚集的人越来越多,就需要一个组织来管理社区的各种事务,决策社区的发展方向,这时,Dronecode便应运而生。
Dronecode附属于开源基金会Linux Foundation管理模式下,通过借鉴学习开源项目Linux的成功经验,建立国际开源无人机组织。有两大开源系统APM和PX4的支撑,Dronecode在创办之初就聚集了大量的开发者和公司,其中不乏高通、Intel这样有意愿涉足无人机领域的科技大佬,还有众多无人机厂商,特别说明的是目前在Dronecode旗下的中国企业有:Yuneec,赫星等等。就这样,开源无人机总算成立的自己的组织,有了响亮的名头。
所以Dronecode其实是一个社区,他旗下两个最大的项目就是ArduPilot和PX4(当然这只是曾经,因为现在ArduPilot已经从Dronecode脱离了,具体原因看下面)。
3. PX4和ArduPilot区别
Ardupilot带头人Philip和Andrew公开的文中指 出,组织内的高级成员公司更加青睐PX4的原因显而易见:PX4使用的商业执照是 BSD执照,而Ardupilot的执照是GPLv3,两者最大的不同是,如果公司使用BSD执照的代码,他们没有义务将自己对代码的改进和提升公布给开源社区;而使用GPL v3代码的公司,则有义务将自己的代码公开,贡献给开源社区的所有成员。举 个简单的例子,3DRobotics的消费者无人机产品Solo使用的就是衍生版Ardupilot代 码,因此Solo的代码在网上是被公开的。
作为以商业利益为核心的公司,希望开源的代码为自己提供免费的利益,却也不希望自己的核心技术被大众所知道而削弱了自己的竞争力,因此宁愿使用BSD执照的PX4代码。坚守开源精神的Ardupilot阵营认为,只有每个公司都愿意在使用开源成果的同时,也贡献自己的一份力量,才有可能促进开源技术的持续发展。
看到这里就更明白一些了,虽然都是开源,但PX4和ArduPilot还是有很大区别的。Dronecode里那些高级会员为了使用开源代码,同时还不想做贡献,更加青睐PX4。另一个更大的项目Ardupilot就不干了,于是就离开了Droncode。
这里只以一个平民爱好者的角度来看,作为一个硬件平台Pixhawk可以跑PX4代码,也可以跑ArduPilot代码,所以自己玩的时候一定要注意区分,使用诸如MissionPlanner和QGroundContrl升级固件时终于明白是怎么回事了。
最后:如果理解有误请指正,当然也非常欢迎大佬补充。
参考资料:
ArduPilot与Dronecode:开源无人机何去何从
Dronecode的开源理想国
最流行的开源飞控项目ArduPilot Mega(APM)介绍及发展历史
开源自动导航系统 ArduPilot/APM 谢谢分享!作者是从事无人机工作的吗? 感谢分享 谢谢学习了 感谢分享 终于搞清楚pixhawk和px4的区别了 其实Pixhawk代表的不仅仅局限于一套软硬件更多的是一种生态 还是一头雾水。
页:
[1]