随着无人机行业的发展,无人机在影视航拍、地理勘察、公共安全等领域有着不同程度的发挥。而说起无人机,最为核心的技术之一莫过于飞控技术,它的技术发展,影响着无人机姿态稳定和控制、无人机任务设备管理和应急控制。
目前市场上常用的飞控,包括开源飞控和闭源飞控。由于闭源飞控开发者有限,我们这里就重点为大家介绍一下开源飞控。所谓开源飞控就是建立在开源思想基础上的飞行自主控制器项目(Open Source AutoPilot),同时包含开源软件和开源硬件,而软件则包含飞控硬件中的固件和地面站软件。
一、开源飞控发展
第一代开源飞控系统使用Arduino或其他类似开源电子平台为基础,扩展连接各种MEMS传感器,能够让无人机能平稳地飞起来。主要特点是模块化和可扩展能力。
第二代开源飞控系统大多拥有自己的开源硬件、开发环境和社区,采用全集成的硬件架构。主要特点是高度集成、高可靠,其功能已经接近商业自动驾驶仪。
第三代开源飞控系统将会在软件、人工智能以及云应用方面进行革新。加入集群飞行、图像识别、自主避障、自动跟踪飞行等高级飞行功能,向机器视觉、集群化、开发过程平台化的方向发展。
二、开源飞控介绍
Arduino飞控
Arduino 是最早的开源飞控,由Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis 和 Nicholas Zambetti于2005年在意大利交互设计学院合作开发而成。Arduino公司首先为电子开发爱好者搭建了一个灵活的开源硬件平台和开发环境,用户可以从Arduino官方网站取得硬件的设计文档,调整电路板及元件,以符合自己实际设计的需要。
Arduino可以通过与其配套的Arduino IDE软件查看源代码并上传自己编写的代码,Arduino IDE使用的是基于C语言和C++的Arduino语言,十分容易掌握,并且Arduino IDE可以在Windows、Macintosh OSX和Linux三大主流操作系统上运行。
随着该平台逐渐被爱好者所接受,各种功能的电子扩展模块层出不穷,其中最为复杂的便是集成了MEMS传感器的飞行控制器。为了得到更好的飞控设计源代码,Arduino公司决定开放其飞控源代码,他们开启了开源飞控的发展道路。著名的开源飞控WMC和APM都是Arduino飞控的直接衍生产品,至今仍然使用Arduino开发环境进行开发。
APM飞控
APM(ArduPilotMega)是在2007年由DIY无人机社区(DIY Drones)推出的飞控产品,是当今最为成熟的开源硬件项目。APM基于Arduino的开源平台,对多处硬件做出了改进,包括加速度计、陀螺仪和磁力计组合惯性测量单元(IMU)。由于APM良好的可定制性,APM在全球航模爱好者范围内迅速传播开来。通过开源软件Mission Planner,开发者可以配置APM的设置,接受并显示传感器的数据,使用google map 完成自动驾驶等功能,但是Mission Planner仅支持windows操作系统。
目前APM飞控已经成为开源飞控成熟的标杆,可支持多旋翼、固定翼、直升机和无人驾驶车等无人设备。针对多旋翼,APM飞控支持各种四、六、八轴产品,并且连接外置GPS传感器以后能够增稳,并完成自主起降、自主航线飞行、回家、定高、定点等丰富的飞行模式。APM能够连接外置的超声波传感器和光流传感器,在室内实现定高和定点飞行。
PX4和PIXHAWK
PX4是一个软硬件开源项目(遵守BSD协议),目的在于为学术、爱好和工业团体提供一款低成本、高性能的高端自驾仪。
这个项目源于苏黎世联邦理工大学的计算机视觉与几何实验室、自主系统实验室和自动控制实验室的PIXHawk项目。PX4FMU自驾仪模块运行高效的实时操作系统(RTOS),Nuttx提供可移植操作系统接口(POSIX)类型的环境,软件可以使用USB bootloader更新。
PX4通过MAVlink同地面站通讯,兼容的地面站有QGroundControl和Mission Planner,软件全部开源且遵守BSD协议。
由3DR联合APM小组与PX4小组于2014年推出的PIXHawk飞控是PX4飞控的升级版本,拥有PX4和APM两套固件和相应的地面站软件。该飞控是目前全世界开源飞控产品中硬件规格最高的产品,也是当前爱好者手中最炙手可热的产品。
PIXHawk拥有168MHz的运算频率,并突破性地采用了整合硬件浮点运算核心的Cortex-M4的单片机作为主控芯片,内置两套陀螺和加速度计MEMS传感器,互为补充矫正,内置三轴磁场传感器并可以外接一个三轴磁场传感器,同时可外接一主一备两个GPS传感器,在故障时自动切换。
基于其高速运算的核心和浮点算法,PIXHawk使用最先进的定高算法,可以仅凭气压高度计便将飞行器高度固定在1米以内。它支持目前几乎所有的多旋翼类型,甚至包括三旋翼和H4这样结构不规则的产品。它使飞行器拥有多种飞行模式,支持全自主航线、关键点围绕、鼠标引导、“FollowMe”、等高级的飞行模式,并能够完成自主调参。
PIXHawk飞控的开放性非常好,几百项参数全部开放给玩家调整,靠基础模式简单调试后亦可飞行。PIXHawk集成多种电子地图,爱好者们可以根据当地情况进行选择。
Openpilot
OpenPilot是由OpenPilot社区于2009年推出的自动驾驶仪项目,旨在为社会提供低成本但功能强大的稳定型自动驾驶仪。这个项目由两部分组成,包括OpenPilot自驾仪与其相配套的软件。其中,自驾仪的固件部分由C语言编写,而地面站则用C++编写,并可在Windows、Macintosh OSX和Linux三大主流操作系统上运行。
OpenPilot的最大特点是硬件架构非常简单,从它目前拥有的众多硬件设计就可以看出其与众不同之处。官方发布的飞控硬件包括CC、CC3D、ATOM、Revolution、Revolution nano等,衍生硬件包括Sparky、Quanton、REVOMINI等,甚至包含直接使用STM32开发板扩展而成的FlyingF3、FlyingF4、DescoveryF4等,其中CC3D已经是300mm以下轴距穿越机和超小室内航模的首选飞控,而DiscoveryF4被大量用于爱好者研究飞控,Quanton更是成为了Taulabs的首选硬件。
Multiwiicopter
Multi Wii Copter(MWC)飞控是一款典型的Arduino衍生产品,是专为多旋翼开发的低成本飞控,它完整地保留了Arduino IDE开发和Arduino设备升级和使用的方法。由于成本低、架构简单、固件比较成熟,因此该飞控在国内外拥有大量爱好者。除了支持常见的四、六、八旋翼以外,该飞控的最大特点是支持很多奇特的飞行器类型,比如三旋翼、阿凡达飞行器(BIcopter avatar style)、Y4型多旋翼(其中两轴为上下对置)等,使得该飞控的开发趣味性较强,容易博得大家的喜爱。
KK飞控
KK飞控是源于韩国的一款开源飞控项目,也是第一种广为大众接受的多旋翼飞控,在开源飞控发展的初期,该飞控的横空出世对整个四旋翼行业是一种震撼。
该飞控只使用三个成本低廉的单轴陀螺,配合一台最简单的四通道遥控设备,就能控制常见的三、四、六旋翼飞行器,并且支持“十字”型,X型、H型和上下对置等多种布局。该飞控使用三个可调电阻调整感度作为调参方法,保留了早期航模陀螺仪的特征。作为多旋翼飞控起始的重要见证,这款“古董”级经典飞控,依然拥有众多玩家。
Paparazzi
Paparazzi(PPZ)是一个软硬件全开源的项目,它始于2003年,开发目标是建立一个配置灵活且性能强大的开源飞控项目。PPZ的一大特点是,该开源飞控方案中除了常见的飞控硬件、飞控软件和地面站软件之外,还包含地面站硬件,包括各种调制解调器、天线等设备。从功能上讲,PPZ已经接近一个小型的无人机系统了。
该开源项目的另一个特点是采用ubuntu操作系统,它将全部地面站软件和开发环境集成于该系统下,官方称之为Live CD。一张CD加飞控硬件就可完成从开发到使用的全部工作。
PPZ目前最流行的硬件版本是Paparazzi(PPZ)Lisa/Mv2.0。该硬件拥有大量的扩展接口,并且使用可扩展的单独的IMU传感器板。这也是早期开源飞控比较流行的做法,这样可以像DIY台式计算机那样,随着传感器升级而不断升级IMU硬件。