飞控领域的一些术语有历史渊源,了解两大开源飞控的历史可帮助理清这些术语之间的联系和不同场景下的具体意义。有所省略,只摘录有参考价值的内容。

1、PX4和Pixhawk的历史

2008年源于Lorenz Meier的硕士学位研究课题,想利用机器视觉使得无人机能自动飞行。当他意识到软硬件都得由他自己研制时,他就组建了一个有14名同学的团队。

2009年这个团队在赢得了欧洲微型飞行器竞赛的室内自主飞行类别项目,当时团队的名字就叫做Pixhawk。随后他们开源了代码,被开源社区接纳。社区采用了MAVLink协议,并开发了图形化【地面站应用QGroundControl】。

2011年Lorenz和团队对软硬件设计进行推倒重来。其中【软件】的【第4个重写版】才达到他们的期望,由此命名为【PX4】。

2013年,PX4的第一个稳定的发布版才面世。【硬件】也经历两个版本迭代,同年,全名为Flight Management Unit version 2 / FMUv2的硬件被命名为【Pixhawk】发布,以纪念最初的学生团队。

Pixhawk是PX4团队跟制造商3D Robotics公司合作发布的,从此Pixhawk团队负责制造和售卖硬件,并帮助3D Robotics旗下的ArduPilot项目接入PX4的中间件使得ArduPilot固件也能运行在Pixhawk硬件上。这使得用户对Pixhawk上运行的固件程序多了一个选择。而Pixhawk硬件仍在GitHub上开源。

至此,Pixhawk团队拥有了无人机的全栈技术:机器视觉、飞控软件、自动驾驶硬件、通信协议和地面站软件。

2014年,Dronecode基金会成立,致力于使所有开源无人机项目保持独立,吸引优秀开发者,建立可持续发展的生态。它是Linux基金会的一部分,是一个非营利性组织。这个基金会现在维护4个开源项目:PX4、MAVLink、MAVSDK、QGroundControl。

2017年,Lorenz联合Kevin Sartori成立了Auterion公司以维护开源生态,支持其它公司使用他们的产品。

2020年,Auterion公司推出了Skynode商业平台,硬件上内置了4G、蓝牙、Wifi模块实现无人机空中实时数据传输,搭载NVIDIA芯片实现onboard AI计算。详情请看参考资料。

2、ArduPilot的历史

2007年5月,Chris Anderson开创了DIYDrones网站

2008年9月,Jordi Munoz开发出可自动飞行的传统直升机型无人机,并获得第一届Sparkfun AVC竞赛。

2009年,这两位创始人合作创办了3D Robotics公司(简称3DR)。此年5月,Jordi发布了第一款ArduPilot板子,11月,ArduPilot固件开源。此时,软硬件都称为ArduPilot。

2009年11月~2010年2月,Jason重写了ArduPilot固件,并增加了很多硬件支持和算法。此为v2.5版本,与前面的版本有极大差别。

2010年初,Doug and Jason发布了ArduPilot固件v2.6,改进了油门控制和惯性测量单元的支持。

2010年,3D Robotics公司发布了ArduPilot Mega v1【硬件产品】,简称【APM1】。

2010年8月,Michael Oborne发布了【地面站应用Mission Planner】。

2011年,3D Robotics发布了APM2

2012年,APM2.5/2.6发布。由于APM板子是16位运算的,跟不上时代需要,从此固件的部分ArduPilot开始适配硬件性能更强劲的Pixhawk。

2013年,3D Robotics和PX4合作,在11月共同发布了Pixhawk。

2014年9月,ArduPilot首次运行在Pixhawk上。

2016年3月,3D Robotics公司终止了对ArduPilot社区的资金支持。同月,新的非营利性组织成立,并建立了ardupilot.org新官网。

2016年9月,DroneCode基金会剔除了使用GPLv3协议的ArduPilot项目,从此,ArduPilot项目以由合作伙伴赞助的方式继续。合作伙伴有几十个。由于硬件开源,很多制造商可以生产销售。某些制造商会赞助开源项目而成为合作伙伴。合作伙伴之一的CUAV是广州的公司,售卖硬件,提供培训,包括获取中国民航局颁发的对应等级无人机云执照。

3、术语总结

Pixhawk是硬件,PX4是它的原生固件。这个团队维护的地面站项目是QGroundControl。

APM是硬件,ArduPilot是它的固件,但最新的ArduPilot已经只能运行在Pixhawk上了。有时候为了方便,也有人称呼ArduPilot为APM。这个团队维护的地面站项目是MissionPlanner。

日常沟通的【飞控】一词有多个含义:

  1. 最专业的意思:无人机上的MCU作为板载计算机,连同所有传感器和控制飞行的电机,整体被称为飞控。

  1. 硬件层面的意思:无人机上的一个MCU或其固件,它接收来自陀螺仪、加速计等元器件的数据信息,控制电机使得无人机进行各种动作。

  1. 无人机的远程控制客户端,或客户端的远程控制模块。在飞控软件中,远程控制客户端【都】被称为【地面站】,实际上有远程控制功能的东西还有遥控器和集成了控制模块的App。日常沟通的特定场景下会简称这个模块为飞控。Android上这个控制模块的开源框架为DroneKit https://github.com/dronekit/dronekit-android

  1. 最字面意思的解释:无人机MCU有接收外部信号的模块,允许地面站通过无线电、网络等传输方式来传达控制指令。这个无人机被地面站控制的过程,也就是“飞行控制”。控制指令的数据协议是MAVLink https://mavlink.io/

  1. 最贴近用户的解释:“飞控”暗指各种远程控制客户端。

其实某些歧义是因为英文翻译相同,flight control和flight controller都译为飞控了。flight controller飞行控制器会明显地只等于上述第2种意思。

4、参考资料

Logo

鸿蒙生态一站式服务平台。

更多推荐