您不能不知道的几大无人机飞控系统
扫描二维码
随时随地手机看文章
在上一节无人机飞控方案文章中,小编我为大家讲解了几个工业级、农业植保无人机应用方案例子,那么今天小编我还是为大家带来几个开源无人机平台、软硬件平台、技术特征、使用传感器及其运用优缺点的对比介绍,供大家学习参考。
一、开源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. 传感器分散,集成度不高