细数无人机的幕后功臣:开源飞控流派全揭秘
无人性能被快速科普,很大程度上是得益于开源飞控的发展,由于困扰着无人机发展的症结装备是自动驾驶仪。那末,开源飞控是啥?又是如何发展过来的?在纷纷繁杂的无人机产品中,四旋翼飞行器以其结构简单、使用利便、本钱低廉等优势,最早进入了群众的视野。然而,这类飞行器对飞行节制能力的请求是最高的,因而它刺激了大批基于MEMS传感器的开源飞控的呈现。
如何定义开源
开源(Open Source)的概念最先被利用于开源软件,开放源代码增进会(Open Source Initiative)用其描写那些源码可以被公家使用的软件,并且此软件的使用、修改以及发行也不受许可证的限制。
每个开源项目均具有自我的论坛,由团队或者个人进行管理,论坛按期发布开源代码,而对此感兴致的程序员均可下列载这些代码,并对其进行修改,然后上传自我的成果,管理者从众多的修改当选择适合的代码改良程序并再次发布新版本。如斯循环,构成“共同开发、共同分享”的良性循环。
开源软件的发展逐步与硬件相结合,发生了开源硬件。硬件与软件不同的地方是什物资源应当始终致力于创造什物商品。
因而,出产在开源硬件(OSHW)许可下的品目(产品)的人以及公司有义务明确该产品没有在原设计者核准前被出产,销售以及授权,并且没有使用任何原设计者具有的商标。硬件设计的源代码的特定格式可以被其别人获得,以便对其进行修改。在实现技术自由的同时,开源硬件提供知识同享并激励硬件设计开放交换贸易。
开源硬件(OSHW)定义1.0是在软件开源定义基础上定义的。该定义是由Bruce Perens以及Debian的开发者作为Debian自由软件方针而创立的。
开源飞控是何物?
知道了开源硬件的概念,开源飞控的概念也就对比容易理解了。所谓开源飞控就是树立在开源思想基础上的自动飞行节制器项目(Open Source Auto Pilot),同时包括开源软件以及开源硬件,而软件则包括飞控硬件中的固件以及地面站软件两部份。喜爱者不仅可以介入软件的研发,也能够介入硬件的研发,不仅可以购买硬件来开发软件,也能够自制硬件,这样即可让更多人自由享受该项目的开发成果。
开源项目的使器具有商业性,所以每一个开源飞控项目都会给出官方的法律条款以界定开发者以及使用者权力,不同的开源飞控对其法律界定都有所不同。
开源飞控的发展
开源飞控的发展可分为三代:
第一代开源飞控系统使用Arduino或者其他相似的开源电子平台为基础,扩大连接各种MEMS传感器,能够让无人机安稳地飞起来,其主要特色是模块化以及可扩大能力。
第二代开源飞控系统大多具有自我的开源硬件、开发环境以及社区,采取全集成的硬件架构,将全体10DOF传感器、主控单片机,乃至GPS等装备全体集成在一块电路板上,以提高可靠性。
它使用全数字三轴MEMS传感器组成航姿系统(IMU);能够节制飞行器完成自主航线飞行,同时可加装电台与地面站进行通讯,初步具有完全自动驾驶仪的功能。此类飞控还能够支撑多种无人装备,包括固定翼飞行器、多旋翼飞行器、直升机以及车辆等,并具有多种飞行模式,包括手动飞行、半自主飞行以及全自主飞行。第二代飞控的主要特色是高集成性、高可靠性,其功能已接近商业自动驾驶仪标准。
第三代开源飞控系统将会在软件以及人工智能方面进行革新。它加入了集群飞行、图象辨认、自主避障、自动跟踪飞行等高档飞行功能,向机器视觉、集群化、开发进程平台化的方向发展。
你不该错过的开源飞控传奇
Arduino飞控
要谈开源飞控的发展就必需从著名的开源硬件项目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)类型的环境。例如:printf()、pthreads、/dev/ttyS1、open()、write、poll()、ioctl()等。软件可使用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与Taulabs
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已是300妹妹下列轴距穿越机以及超小室内航模的首选飞控,而DiscoveryF4被大量用于喜爱者钻研飞控,Quanton更是成了Taulabs的首选硬件。
下面咱们来讲说Openpilot旗下最时尚的硬件CC3D。
此飞控板只采取一颗72MHz的32位STM32单片机以及一颗MPU6000就可以完成四旋翼、固定翼、直升机的姿态节制飞行(注意,该硬件可进行的是三自由度姿态节制,而不是增稳),电路板大小只有35妹妹×35妹妹。
与所有开源飞控不同,它不需要GPS融会或磁场传感器介入修正,就可以维持长期的姿态节制。以上所有功能全体使用一个固件,通过设置即可更改飞机种类、飞行模式、支撑云台增稳等功能。
其编译完的固件所需容量只有大约100KB,代码效力使人惊叹,是所有飞控程序员学习的楷模。其地面站软件集成为了完全的电子地图,可以通过电台实时监测飞机状况。
TauLabs飞控是OpenPilot飞控的衍出产品。当前TauLabs最时尚的硬件叫做Quanton,由原OpenPilot飞控小组成员独立完成。
它继承了OpenPilot简单高效的特色,并扩大了气压高度计以及三轴磁场传感器,将主控单片机进级为带有硬件浮点运算的Cortex-M4核心。该飞控是最先支撑自动调参的开源飞控产品,带有模型辨识算法,能够在飞行中进行自整定姿态PID节制参数。TauLabs能够完成很多高档飞行模式,连接外置GPS后可以使多旋翼具有定高、定点、回家等功能。飞控集成为了电子地图,且界面特别友好,使用向导模式进行初始化,初学者可以简单上手。
Multi Wii Copter (MWC)
Multi Wii Copter(MWC)飞控是一款典型的Arduino衍出产品,是专为多旋翼开发的低本钱飞控,它完全地保存了Arduino IDE开发以及Arduino装备进级以及使用的策略。因为本钱低、架构简单、固件对比成熟,因而该飞控在国内外具有大量喜爱者。除支撑常见的四、六、八旋翼之外,该飞控的最大特色是支撑许多奇异的飞行器类型,譬如三旋翼、阿凡达飞行器(BIcopter avatar style)、Y4型多旋翼(其中两轴为上下对置)等,使得该飞控的开发趣味性较强,容易赢得大家的喜欢。
KKMulti Copter
KK飞控是源于韩国的一款开源飞控项目,也是第一种广为群众接受的多旋翼飞控,在开源飞控发展的早期,该飞控的横空降生对全部四旋翼行业是一种震动。
该飞控只使用三个本钱低廉的单轴陀螺,配合一台最简单的四通道遥控装备,就可以节制常见的三、四、六旋翼飞行器,并且支撑“十字”型,X型、H型以及上下对置等多种布局。该飞控使用三个可调电阻调剂感度作为调参策略,保存了初期航模陀螺仪的特点。作为多旋翼飞控起始的首要见证,这款“古董”级经典飞控,仍然具有众多玩家。
Paparazzi(PPZ)
Paparazzi(PPZ)是一个软硬件全开源的项目,它始于2003年,开发目标是树立一个配置灵便且机能强大的开源飞控项目。PPZ的一大特色是,该开源飞控方案中除常见的飞控硬件、飞控软件以及地面站软件以外,还包括地面站硬件,包含各种调制解调器、天线等装备。从功能上讲,PPZ已接近一个小型的无人机系统了。
该开源项目的另外一个特色是采取ubuntu操作系统,它将全体地面站软件以及开发环境集成于该系统下,官方称之为Live CD。一张CD加飞控硬件便可完成从开发到使用的全体工作。
PPZ目前最时尚的硬件版本是Paparazzi(PPZ)Lisa/M v2.0。该硬件具有大量的扩大接口,并且使用可扩大的单独的IMU传感器板。这也是初期开源飞控对比时尚的做法,这样可以像DIY台式计算机那样,跟着传感器进级而不断进级IMU硬件。
Autoquad飞控以及ESC32电调
Autoquad飞控来自德国,作为初期开源飞控,Autoquad功能特别强大,然而受限于当时的传感器产品,它不能不采取大量摹拟MEMS传感器。
所谓摹拟传感器指的是传感器芯片内部不集成数模转换器(ADC)以及运算核心,而直接将微机械传感器的变化通过放大以及硬件滤波后以电压的情势输出,需要主控单片机进行AD收集。
由于传感器在不同温度环境下,输出值会遭到影响,摹拟MEMS传感器给参数校准带来了很多麻烦。许多玩家在第一次使用该飞控时,不能不借助电冰箱来进行传感器校准,而一些厂家为了保证批量产品的不乱性,只能在飞行器上对电路板进行加温,使其维持温度恒定。
然而,这类校准策略却为一些骨灰级玩家带来了额外的乐趣,许多人反而乐此不疲。至于大多数普通喜爱者而言,这实在是一项难度不小的工作。跟着带有出厂校准的数字传感器的科普,Autoquad作为历史的积淀,也完成为了它的使命。
然而,该开源项目的另外一个分支ESC32电调却逐步在玩家中被接受了。该电调是第一个采取数字接口进行节制的电调产品,玩家可以通过串口、I2C接口以及CAN接口来节制机电的转速,这比传统的PWM接口信息速度要快许多倍。常见的PWM电调波形更新速度为每一秒钟四百次,而数字接口的更新速度可到达百万次。特别是至于动力变化特别敏感的多旋翼飞行器来讲,这类高速通讯是特别必要的。该电调还支撑转速闭环,并且能够针对机电进行详细调参,这些功能都是传统航模电调不能比拟的。
固然,Autoquad也在进步,它发布了全新的飞控产品Autoquad M4,对主控单片机以及传感器进行了全面进级,采取常见的STM32F4单片机以及数字传感器。然而面对PIXHawk、APM等已成熟多年的先进飞控产品,它已从先辈沦落为后起之秀。
所以说,开源飞控很大程度上增进了四旋翼飞行器这种的产品飞入寻常百姓家,无人机技术的发展,乃至还能帮你完成飞行的梦想。
页:
[1]