您不能不知道的几大无人机飞控系统
一、开源Ardupilot / APM 系列APM 是在2007年由DIY无人机社区(DIY Drones)推出的飞控系统。也是迄今为止最为成熟的开源自动导航系统,可支持多旋翼、固定翼、直升机和无人驾驶车等无人设备。
APM 基于Arduino的开源平台,对多处硬件做出了改进,包括加速度计、陀螺仪和磁力计组合惯性测量单元(IMU)。由于APM良好的可定制性,APM在全球航模爱好者范围内迅速传播开来。通过开源软件Mission Planner,开发者可以配置APM的设置,接受并显示传感器的数据,使用Google map 完成自动驾驶等功能,但是Mission Planner仅支持windows操作系统。
目前,APM飞控已经成为开源飞控成熟的标杆,针对多旋翼 APM飞控支持各种四、六、八轴产品,并且连接外置GPS传感器以后能够增稳,并完成自主起降、自主航线飞行、回家、定高、定点等丰富的飞行模式。APM能够连接外置的超声波传感器和光流传感器,在室内实现定高和定点飞行。
APM系列发展至今,APM2.5 和 APM2.6已经是ardupilot飞控最终版本,APM给我们带来非常强大的功能,非常的成熟可靠,潜能被充分挖掘出来,功能也非常的丰富。但源于APM系列8位CPU计算与存储的能力已经远远不能够满足未来的运用需求了,APM系列产品的终结也是势在必行。
APM 系列支持如下自动导航板
· PX4 – 一款32位基于ARM的自动导航仪,支持很多高级特性,使用NuttX实时操作系统
· APM2 – 一款受欢迎的AVR2560 8位自动导航仪
· APM1(已终止开发) – 一款基于AVR2560的自动导航仪,使用分离式结构
由于 ArduPilot/APM 源码基于 AP-HAL 硬件抽象层编写,使代码能支持更多自动导航板变为可能。
APM 开发语言与工具:
用于ArduPilot/APM的主要飞行代码使用C++编写。支持工具使用多语言编写,最常用的是python。
目前,主要载具代码编写为“.pde”文件,由 Arduino 构建系统得来。pde文件是预处理为.cpp文件构建的一部分。pde文件中包含的声明也能提供构建规则,说明需要包含与连接到哪些库。
地面站:
ArduPilot/APM支持多种地面站用于计划与控制飞行。飞行固件使用MAVLink协议,它允许飞机被任何MAVLink兼容设备控制。
· 使用最广泛的地面站就是 Mission Planner,使用用于 Windows 的C#语言编写。Mission Planner 的源码可以在github上查看。Mission Planner 也能通过 mono 运行在 Linux 与 MacOS 上。
· QGroundControl 也是地面站的一个选择,使用C++的Qt库编写
· 对于面相命令行与可编脚本地面站,你可以使用 MAVProxy
· 对于 android 平板,你可以使用 ArdroPilot 或者 DroidPlanner
其他特征:
主控芯片:AvrAtmega1280/2560
主要传感器:Atmega168/328.双轴陀螺,IMU(单轴陀螺,三轴加速度计。三轴磁力计模块)。气压计.AD芯片
编译环境:Arduino IDE
开发语言:arduino
开发软件:Arduino IDE界面友好简单,Arduino语言类似于C语言
采用算法:两级PID控制方式,第一级是导航级,第二级是控制级
硬件平台:APM2.5: 板载电子罗盘;APM2.6:电子罗盘外置和GPS融合了
优缺点:
优势:
1. APM使用人数多,资料丰富齐全,特别是经典款APM2.5,上手快
2. 功能完全满足使用
3. apm固件相对PX4成熟
4. 有震动,姿态的日志记录,出现问题有据可查
劣势:
1. 处理器相比F407落后,但是够用
2. 传感器分散,集成度不高
二、开源 PX4 / PIXHAWK 系列
PX4 系列:
PIXHAWK 是根据飞控设计需求,结合PX4系列飞控发展而来的PX4飞控单块电路板版本, PX4 系列最初有两个版本:PX4FMU与PX4IO。
PX4是一个由Lorenz Meier所在的瑞士小组所开发的学校项目,其拥有一个32位处理器,提供更多内存、运用分布处理方式并且包含一个浮点运算协处理器。相比APM,PX4 具有相对于前者10倍以上的CPU性能及其他更多方面的改进,Diydrones和3DRobotics把PX4系统视作他们下一代飞控的基础。
PIXHAWK 系列:
由3DR联合APM小组与PX4小组于2014年推出的PIXHAWK飞控是PX4飞控的升级版本,拥有PX4和APM两套固件和相应的地面站软件。该飞控是目前全世界飞控产品中硬件规格最高的产品,也是当前爱好者手中最炙手可热的产品。
PIXHAWK拥有168MHz的运算频率,并突破性地采用了整合硬件浮点运算核心的Cortex-M4的单片机作为主控芯片,内置两套陀螺和加速度计MEMS传感器,互为补充矫正,内置三轴磁场传感器并可以外接一个三轴磁场传感器,同时可外接一主一备两个GPS传感器,在故障时自动切换。
基于其高速运算的核心和浮点算法,PIXHAWK使用最先进的定高算法,可以仅凭气压高度计便将飞行器高度固定在1米以内。它支持目前几乎所有的多旋翼类型,甚至包括三旋翼和H4这样结构不规则的产品。它使飞行器拥有多种飞行模式,支持全自主航线、关键点围绕、鼠标引导、“FollowMe”、对尾飞行等高级的飞行模式,并能够完成自主调参。
PIXHAWK飞控的开放性非常好,几百项参数全部开放给玩家调整,靠基础模式简单调试后亦可飞行。PIXHAWK集成多种电子地图,爱好者们可以根据当地情况进行选择。PIXHAWK被定位为下一代无人机飞控,系统具备的所有特征,均符合未来无人机飞控系统未来发展的基础需求,未来将会有更大的发展空间。
技术规格
处理器
32位 STM32F427 ARM Cortex M4 核心外加 FPU(浮点运算单元)
168 Mhz/256 KB RAM/2 MB 闪存
32位 STM32F103 故障保护协处理器
传感器
Invensense MPU6000 三轴加速度计/陀螺仪
ST Micro L3GD20 16位陀螺仪
ST Micro LSM303D 14位加速度计/磁力计
MS5611 MEAS 气压计
电源
良好的二极管控制器,带有自动故障切换
舵机端口7V高压与高电流输出
所有的外围设备输出都有过流保护,所有的输入都有防静电保护
接口
5个UART串口,1个支持大功率,两个有硬件流量控制
Spektrum DSM/DSM2/DSM-X 卫星输入
Futaba SBUS输入(输出正在完善中)
PPM sum 信号
RSSI(PWM或者电压)输入
I2C, SPI, 2个CAN, USB
3.3 与 6.6 ADC 输入
尺寸
重量 38g
长 81.5 mm x 宽 50 mm x 高 15.5 mm
Pixhawk 的接口分配
PWM,PPM-SUM和SBUS模式下的舵机与电调的连接方法
Pixhawk 接口图
* 备注:上图中针脚1在右边
串口 1 (Telem 1),串口 2 (Telem 2) ,串口 (GPS) 针脚: 6 = GND, 5 = RTS, 4 = CTS, 3 = RX, 2 = TX, 1 = 5V.
三、开源 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已经是300mm以下轴距穿越机和超小室内航模的首选飞控,而DiscoveryF4被大量用于爱好者研究飞控,Quanton更是成为了Taulabs的首选硬件。
下面我们来说说Openpilot旗下最流行的硬件CC3D。
此飞控板只采用一颗72MHz的32位STM32单片机和一颗MPU6000就能够完成四旋翼、固定翼、直升机的姿态控制飞行(注意,该硬件可进行的是三自由度姿态控制,而不是增稳),电路板大小只有35mm×35mm。
与所有开源飞控不同,它不需要GPS融合或者磁场传感器参与修正,就能保持长时间的姿态控制。以上所有功能全部使用一个固件,通过设置便可更改飞机种类、飞行模式、支持云台增稳等功能。
其编译完的固件所需容量只有大约100KB,代码效率令人惊叹,是所有飞控程序员学习的楷模。其地面站软件集成了完整的电子地图,可以通过电台实时监测飞机状态。
TauLabs飞控是OpenPilot飞控的衍生产品。当前TauLabs最流行的硬件叫做Quanton,由原OpenPilot飞控小组成员独立完成。
它继承了OpenPilot简单高效的特点,并扩展了气压高度计和三轴磁场传感器,将主控单片机升级为带有硬件浮点运算的Cortex-M4核心。该飞控是最早支持自动调参的开源飞控产品,带有模型辨识算法,能够在飞行中进行自整定姿态PID控制参数。TauLabs能够完成许多高级飞行模式,连接外置GPS后可使多旋翼具备定高、定点、回家等功能。飞控集成了电子地图,且界面非常友好,使用向导模式进行初始化,初学者可以简单上手。
Multi Wii Copter(MWC)飞控是一款典型的Arduino衍生产品,是专为多旋翼开发的低成本飞控,它完整地保留了Arduino IDE开发和Arduino设备升级和使用的方法。由于成本低、架构简单、固件比较成熟,因此该飞控在国内外拥有大量爱好者。除了支持常见的四、六、八旋翼以外,该飞控的最大特点是支持很多奇特的飞行器类型,比如三旋翼、阿凡达飞行器(BIcopter avatar style)、Y4型多旋翼(其中两轴为上下对置)等,使得该飞控的开发趣味性较强.
页:
[1]