让开发板飞——四轴飞控开发项目

I have a dream that one day every development board shall fly in the sky....


扯远了。这个项目的目的是编写一个可移植的四轴飞行器控制系统。现在的四轴飞控很多,开源的也不少,但大多数都是只能运行在专用的硬件平台上。因此希望用市售成品模块+普通开发板实现一个飞控系统;另一方面,现在的飞控更多是从传统的航模角度出发,很少设计为自主飞行的模式,这方面也是研究重点。


系统架构

主要分为飞行器和地面站2部分。

飞行器的机械部分为常见的4轴飞行器,控制部分包括2块:单片机负责信号采集和飞行控制,上位机负责任务管理和视觉识别。通信部分使用无线模块+3G网卡,通过不同的线路互为备份,保证可靠性。

地面站也分为2块:单片机负责无线通信和简易遥控器,上位机(手机)负责显示、计算和3G通信。


硬件选择

飞行器的机械部分参考常见F450四轴,都是成熟配件,没什么可说的。

单片机本着有啥用啥的原则,使用一块LPC54102开发板。好处是双核架构,可以把控制和计算分开来,也方便实现应急备份。备选方案是STM32F3 Discovery,好处是板上自带传感器。

传感器部分使用今年刚出的FIS1100(也是有啥用啥)。这个芯片没什么特殊,关键是它附带的XKF3融合算法,是一家专门搞惯导的公司做的,听起来很有吸引力。备选方案是GY-86模块,集成了全部所需的传感器。

传感器部分还包括气压模块(BMP180)、超声模块(SR-04)、GPS模块(NEO-M8N)。这些直接在淘宝买最便宜的。

上位机部分,Pixhawk用了一块Intel Core 2的板子,果然土豪....穷人只好用树莓派2,配套摄像头。

地面站部分,单片机用pcDuino3(有点浪费),上面盖一块Arduino Joystick Shield当遥控器。上位机就是普通智能手机。


软件设计

由于这里面涉及到很多个平台(嵌入式,Linux,Android)的开发,软件比较复杂,想到哪写到哪

飞控部分基本从Pixhawk移植,但是底层会改成CMSIS+LPCopen。LPCopen据说不太好用,但暂时没有替代品,先凑合

树莓派上装OpenCV来做视觉识别,顺便用H.264硬编码能力记录

手机...Android开发还没研究,大概也会移植现有的项目。手机与单片机通过USB连接,软件通信原本想用adb,不过3.1以上的系统新加了一个AOA协议,可以看看



目前只想到这些。以上都是设想阶段,下一步会先做飞控部分,然后是地面控制,装机实飞,最后加入上位机视觉导航

这是个庞大的工程,估计一年半载做不完,多半还要烂尾。不管怎样,现在是开始了,以后有进展会继续更新

欢迎留言讨论,虽然未必能及时回复....



你可能感兴趣的:(uav)