四旋翼飞行器7——主要开源飞控介绍

四旋翼飞行器7——主要开源飞控介绍

文章目录

一、APM

官网地址:http://ardupilot.org/
四旋翼飞行器7——主要开源飞控介绍

APM(ArduPilotMega) 是在2007年由DIY无人机社区(DIY Drones)推出的飞控产品,是当今最为成熟的开源硬件项目。APM基于Arduino的开源平台,对多处硬件做出了改进,包括加速度计、陀螺仪和磁力计组合惯性测量单元(IMU)。由于APM良好的可定制性,通过开源软件Mission Planner,开发者可以配置APM的设置,接受并显示传感器的数据。目前APM飞控已经成为开源飞控成熟的标杆,可支持多旋翼、固定翼、直升机和无人驾驶车等无人设备。针对多旋翼,APM飞控支持各种四、六、八轴产品,并且连接外置GPS传感器以后能够增稳,并完成自主起降、自主航线飞行、回家、定高、定点等丰富的飞行模式。APM能够连接外置的超声波传感器和光流传感器,在室内实现定高和定点飞行。

特性包括:

  1. 免费开源固件,支持飞机(“ArduPlane”),多旋翼 (四旋翼, 六旋翼, 八旋翼等), 直升机(“ArduCopter”)和地面车辆(“ArduRover”)!
  2. 通过点击式的工具简单设置和上传固件。无须编程!(但是你想搞搞代码的话,可以使用简单的嵌入式编程工具: Arduino)
  3. 通过点击式的桌面程序完全的规划任务脚本
  4. 可以支持上百个三维航点
  5. 使用强大的 MAVLink 协议,支持双向遥测和飞行中控制命令T
  6. 多种免费地面站,包括 HK GCS, 支持任务规划,空中参数调整,视频显示,语音合成和完整的带回放的数据记录
  7. 跨平台。支持Windows, Mac 和 Linux。在 Windows 下使用图形任务规划设置工具 (Mac 下可用模拟器) 或在任何操作系统下使用命令行界面。三种操作系统上都有可用的地面站程序。基于 Arduino 编程环境,也是完全跨系统的。
  8. 自动起飞,降落和特殊的动作命令,例如视频和照相控制
  9. 完整支持 Xplane 和 Flight Gear 半硬件仿真
  10. 包括继电器,可以触发任何设备,可以根据任务脚本控制

硬件包括:

  • 三轴陀螺仪
  • 三轴加速度计
  • 测量高度的空气压力传感器
  • 10Hz GPS 模块
  • 监视电池状态的电压传感器
  • 4Mb板上数据记录存储器。任务数据自动记录,并可以导出为 KML 格式
  • 内建硬件失效处理器,在失控时可以返回出发点
  • (可选) 三轴磁力计
  • (可选) 空速传感器
  • (可选) 电流传感器

二 Pixhawk

官网地址:http://www.pixhawk.com/

PX4是一个软硬件开源项目(遵守BSD协议),目的在于为学术、爱好和工业团体提供一款低成本、高性能的高端自驾仪。这个项目源于苏黎世联邦理工大学的计算机视觉与几何实验室、自主系统实验室和自动控制实验室的PIXHawk项目。PX4FMU自驾仪模块运行高效的实时操作系统(RTOS),Nuttx提供可移植操作系统接口(POSIX)类型的环境。例如:printf()、pthreads、/dev/ttyS1、 open()、write、poll()、ioctl()等。软件可以使用USB bootloader更新。PX4通过MAVLink同地面站通讯,兼容的地面站有QGroundControl和Mission Planner,软件全部开源且遵守BSD协议。

PIXHawk 拥有168MHz的运算频率,并突破性地采用了整合硬件浮点运算核心的Cortex-M4的单片机作为主控芯片,内置两套陀螺和加速度计MEMS传感器,互为补充矫正,内置三轴磁场传感器并可以外接一个三轴磁场传感器,同时可外接一主一备两个GPS传感器,在故障时自动切换。

特性包括:

  • 一颗性能强劲的32位处理器,还有一颗附加故障保护备用控制器,外加超大的储存空间。

  • 主控制器STM32F427 32位微处理器:168 MHz,252 MIPS,Cortex M4核心与浮点单元。

  • 2M闪存储存程序和256K运行内存。

  • 独立供电的32位STM32F103备用故障保护协处理器,在主处理器失效时可实现手动恢复。

  • micro SD储存卡槽,用于数据日志和其他用途。

各种恰到好处的传感器。

  • 三轴16位ST Micro L3GD20H陀螺仪,用于测量旋转速度。

  • 三轴14位加速度计和磁力计,用于确认外部影响和罗盘指向。

  • 可选择外部磁力计,在需要的时候可以自动切换。

  • MEAS MS5611气压计,用来测量高度。

  • 内置电压电流传感器,用于确认电池状况。

  • 可外接UBLOX LEA GPS,用于确认飞机的绝对位置。

各种可扩展I/O接口和专用接口。

  • 14个PWM舵机或电调输出。

  • 5个UART(串口),一个支持大功率,2个有硬件流量控制。

  • 两个CAN I/O接口(一个有内部3.3V收发,一个在扩充接口上)。

  • 兼容Spektrum DSM / DSM2 / DSM-X 卫星接收机输入: 允许使用Specktrum遥控接收机。

  • 兼容Futaba S.BUS输入和输出。

  • PPM sum 信号输入。

  • RSSI(PWM或电压)输入。

  • I2C和SPI串口。

  • 两个3.3V和一个6.6V电压模拟信号输入。

  • 内置microUSB接口以及外置microUSB接口扩展。

  • 包含它自己的板载微控制器和FMU栈。

具有冗余设计和扩展保护的综合供电系统。

  • Pixhawk是由一个集成有电压电流传感器输出的协同系统供电。
  • 良好的二极管控制器,提供自动故障切换和冗余供电输入。
  • 可支持高压(最高10V)大电流(10A+)舵机。
  • 所有的外接输出都有过流保护,所有的输入都有防静电保护。

其他特性。

  • 提供额外的安全按钮可以实现安全的马达激活/关闭。

  • LED状态指示器与驱动可以支持高亮度外接彩色LED指示灯表明飞行状态。

  • 通过高能多种提示音的压电声音指示器可以得知实时飞行状态。

  • 可支持带外壳与内置磁力计的高性能UBLOX GPS。

重量: 38g,宽度: 50mm,厚度: 15.5mm,长度: 81.5mm

三、相关资源

APM地面站MissionPlanner http://firmware.ap.ardupilot.org/Tools/MissionPlanner/

APM源码Ardupilot https://github.com/ArduPilot/ardupilot

Pixhawk地面站QGC http://qgroundcontrol.com/

Pixhawk原生代码PX4 https://github.com/PX4/Firmware

上一篇:【扯淡篇】APM,IT能力的一面镜子


下一篇:APM 传感器驱动解析 --- 前后端分离