发展历程:APM-->PX4FMU/IO-->Pixhawk:
1、Arduino简介
Arduino就是主要以以AVR单片机为核心控制器的单片机应用开发板(当然也有其他核心的例如STM32版本的但是不是官方的,还有intel的伽利略),或者是学习板啥的,Arduino开发人员开发了简单的函数,还有许多应用库,这样就不用直接去操作寄存器了,使得没有很好的单片机基础的人员也可以使用Arduino做出自己想要的东西。Arduino的开发人员还开发了一个简洁的IDE(集成开发环境)也就是写代码,编译,调试,下载的上位机软件。Arduino只是一个开源的开发平台,它可以支持多种MCU,包括atmel公司的AtmelTiny系列、avr8、ARM Cortex M0、ARM Cortex M3、ST公司的ARM Cortex M3,TI公司的energia平台也采用了Arduino的平台结构,可以用于开发MSP430、C2000等。从原理上,Arduino平台不受MCU限制,但是当前只是支持有限的MCU。当前已经支持有名的ESP8266,ESP32等ARM内核板开发。但是Arduino核心板大部分使用的是AVR单片机作为核心。Arduino有一个硬件抽象层,实现了硬件无关层和硬件相关层的分离。Arduino采用C和C++混合编程,采用成熟的开源gnu来编译。 Arduino有大量的类库支持,同时从简到繁有大量的应用例子,可以很快地基于类库和例子实现用户的应用。但是如果想了解底层的实现,也可以看到底层实现的源码。Arduino主要用于前端的以控制为主的环境,如机器人控制前端,四轴飞行器前端控制,3D打印机前端控制等。对简单的控制系统,只用Arduino开发就可以了。
2、APM简介(官网地址:http://ardupilot.org/)
APM(ArduPilotMega) 是在2007年由DIY无人机社区(DIY Drones)推出的飞控产品,是当今最为成熟的开源硬件项目。APM基于Arduino的开源平台,对多处硬件做出了改进,包括加速度计、陀螺仪和磁力计组合惯性测量单元(IMU)。由于APM良好的可定制性,通过开源软件Mission Planner,开发者可以配置APM的设置,接受并显示传感器的数据。目前APM飞控已经成为开源飞控成熟的标杆,可支持多旋翼、固定翼、直升机和无人驾驶车等无人设备。APM以Atmega2560微处理器为主要架构,硬件包括:三轴陀螺仪、三轴加速度计、测量高度的空气压力传感器、10Hz GPS 模块、监视电池状态的电压传感器、4Mb板上数据记录存储器(任务数据自动记录,并可以导出为 KML 格式)、内建硬件失效处理器(在失控时可以返回出发点)、(可选) 三轴磁力计、(可选) 空速传感器、(可选) 电流传感器。建立在Arduino平台上的APM飞控板,等同于一个Arduino单片机,可以直接在Arduino的开发环境下进行开发。
3、PX4FMU/IO与Pixhawk(官网地址:http://www.pixhawk.com/)
Pixhawk世界上最出名的开源飞控的硬件厂商3DR最新推出了最新一代飞控系统。它的前世就是大名鼎鼎的APM,由于APM的处理器已经接近满负荷(APM使用8位的处理器),没有办法满足更复杂的运算处理,所以硬件厂商采用了目前最新标准的32位ARM处理器,第一代产品是PX4系列,它分为飞控处理器PX4FMU和输入输出接口板PX4IO。PX4系列可以单独使用PX4FMU(但是接线很复杂),也可以配合输入输出接口板PX4IO来使用,但是因为没有统一的外壳,不好固定,再加上使用复杂,所以基本上属于一代实验版本。通过PX4系列的经验,厂商终于简化了结构,把PX4FMU和PX4IO整合到一块板子上,并加上了骨头形状的外壳,优化了硬件和走线,也就是这款第二代产品Pixhawk。Pixhawk的特点如下:
1)硬件透明: