学习MWC飞控程序有一段时间了,略有所得,现整理一下学习思路,略作记录。

大三开始老师让我看飞控程序,就给了一块飞控板(如下图),Cirus AIOP(All In One Pro),也就是一块集成了处理器和各种传感器的单片机。当然,要是精通嵌入式硬件设计,也可以按照官方文档自行搭建,只是对于新学者来说,尤其对于只想涉及软件算法层面,实在无此必要。这块AIOP板子已经足够了,或者也可以淘宝买一些类似的集成板子,例如mwcSE v2.5之类,都很便宜,便宜的只需几十块钱,足够学习之用了。

对于初学者,很大一个问题就是面对一个全新的领域,不知何从下手,想学但是不知道从哪开始学起。首先,要明确自己所研究学习的平台是什么,各个平台的飞控程序算法都有不同。现在主流的飞控主要有以下几种:

1. MWC
MWC是MultiWii Copter的缩写,它并不是指硬件产品,而是开源固件。此固件的原创作者是来自法国的Alex,他为了打造自己的Y3飞行器而开发了最初的MWC固件(原创交流帖与官网的链接在最下方)。
几年来经过许多高手的参与及共同努力,开发进度越来越快。现在MWC已经基本成熟,可以支持更广泛的硬件平台、外围设备及更多飞行模式,让运行MWC的飞控硬件成为国外开源飞控市场上占有率最高之一的产品。
MWC固件是用Arduino IDE来编写,支持Arduino发布的几种主要的AVR开发板Pro Mini/Pro Micro/Mega等,也可支持使用STM32的Arduino兼容平台,但STM32目前无法体现出任何性能与端口上的优势,所以仍以AVR为主流,成熟、够用且稳定。我是用的AIOP就是基于Arduino Mega2560,已经集成了大多数传感器,接口丰富的一个平台。
个人认为较为适合初学者。官方网站为:http://www.multiwii.com/,http://www.multiwii.cn/

2. APM

APM(ArduPilotMega)是在2007年由DIY无人机社区(DIY Drones)推出的飞控产品,是当今最为成熟的开源硬件项目。APM基于Arduino的开源平台,对多处硬件做出了改进,包括加速度计、陀螺仪和磁力计组合惯性测量单元(IMU)。
由于APM良好的可定制性,APM在全球航模爱好者范围内迅速传播开来。通过开源软件Mission Planner,开发者可以配置APM的设置,接受并显示传感器的数据,使用Google Map完成自动驾驶等功能。

官方网站为:http://ardupilot.org/

3.  PX4 & PIXHawk PX4

PX4 & PIXHawk PX4是一个软硬件开源项目(遵守BSD协议),目的在于为学术、爱好和工业团体提供一款低成本、高性能的高端自驾仪。
由3D Robotics联合APM小组与PX4小组于2014年推出的PIXHawk飞控是PX4飞控的升级版本,拥有PX4和APM两套固件和相应的地面站软件。该飞控是目前全世界飞控产品中硬件规格最高的产品,也是当前爱好者手中最炙手可热的产品。

这个飞控价格较高一些,单单一个板子一般要500左右。

官方网站:http://px4.io/

我个人至今一直在看在学的就是MWC。对于一个初学者而言,为了继续你的学习步伐,你需要一些如下基础知识:

  1. C语言基础
  2. 学习一下Arduino语言,主要要了解它的编程方法,结构如下
    void setup() {// put your setup code here, to run once:// 初始化部分,只运行一次}void loop() {// put your main code here, to run repeatedly:// 程序入口,且不断在此循环
    }

    不要担心得学一门新的编程语言,arduino是基于c语言的,格式基本相同。

然后,你就是还需要一块飞控板,无论是自己买的集成的,还是自己画自己搭的,这样不断学习不断有些小结果,才能不断激励自己进步。

MWC(1) Multiwii 飞控程序初学者概要相关推荐

  1. MWC(2) Multiwii初学者详细准备

    1.1 软件准备 Arduino IDE  官方下载链接:https://www.arduino.cc/download_handler.php  或者Arduino社区资源:http://www.a ...

  2. 使用C#编写17种Hello World程序(初学者C#测试石)

    使用C#编写17种Hello World程序(初学者C#测试石) 1. A Beginners Hello World   初学者 代码 public class HelloWorld {    pu ...

  3. Mixly图形化编程四轴飞行器飞控程序

    Mixly图形化编程四轴飞行器飞控程序 四轴飞行器的飞控程序采用Mixly_JL开发环境编程,整个程序如下图所示.

  4. STC15单片机 固定翼无人机/航模 飞控程序

    stc15单片机 固定翼无人机 飞控程序 硬件 stcf2k60s2 2.4g无线通信模块nrf24l01 mg90s数字舵机 摇杆 无刷电机 电调 用到的单片机资源 pwm ad转换 程序结构 利用 ...

  5. 程序初学者推荐学习的三种热门编程语言

    那一种编程语言都要求精通才能吃编程程序这碗饭,所以以我的角度,谈一谈程序初学者应该推荐选哪种编程语言更好选择. 前言:学技术,贵在坚持与积累 在当前的社会需求中,市场上运用最多的.最为广泛的.最热门的 ...

  6. 在c语言中pwm的作用,详细注解的PWM c程序初学者适用

    #include "stc2052.h" unsigned int pulse_width_MAX = 0xF0; // ;PWM 脉宽最大值, 占空比 = 93.75% unsi ...

  7. 微信小程序学习DEMO,微信小程序初学者可以参考

    这是一套微信初学者学习DEMO源码,有需要的同学可到下载频道下载~ 这个微信小程序包含了以下几个功能,非常适合微信小程序开发小白,公司实习生,毕业设计参考. 1.朋友圈功能,可以发布朋友圈,九官格图片 ...

  8. java web初级面试题_Java Web应用程序初学者教程

    java web初级面试题 Java Web Application is used to create dynamic websites. Java provides support for web ...

  9. 微信小程序初学者常见错误

    1.小程序中json文件为空会导致 index.json 文件解析错误  SyntaxError: Unexpected end of JSON input 为json文件格式错误导致的该错误.

最新文章

  1. 执行startx后Ubuntupassword正确进不去的问题
  2. 智能车竞赛技术报告 | 智能车视觉 - 首都师范大学 - 首师智能视觉
  3. realloc,malloc,calloc的区别
  4. [JSOI2007]文本生成器
  5. git push代码出现push rejected错误
  6. 虚拟机连接网络_Parallels Desktop 16教程PD16虚拟机共享网络和桥接网络设置方法
  7. qt显示rgba8888 如何改 frame_Qt开源作品17-IP地址输入控件
  8. boost序列化(Serialization)
  9. django 通过路径传参 视图获取get请求
  10. ICE学习之C# Java之间通讯
  11. HTML-DOM零碎
  12. oracle怎么使用包,oracle包(package)入门——应用实例
  13. Open vSwitch实践——VLAN
  14. 网易云Api,轻松获取音乐数据
  15. 百问 FreeSwitch(整理版)
  16. win10系统下计算器界面变成英文的解决方法
  17. 论起凡尔赛文学,还是比不过数据分析师!
  18. 十年,一个黑客的轮回经历
  19. 司普沃浅谈蓝莓种植技术与管理
  20. 华为重度渗透的欧洲,美国如何清剿?

热门文章

  1. Python+Opencv身份证号码区域提取及识别实现
  2. 中心校计算机故障维修登记表,淮阴工学院校园网故障报修维护管理办法
  3. 递归,就这样被wo征服^_^
  4. Spring Boot + Vue + Shiro 实现前后端分离、权限控制 (附源码)
  5. keyshot9怎么导入材质_keyshot9场景渲染白色加湿器产品教程
  6. 1020【编程入门】猴子吃桃的问题
  7. android wear无需谷歌,新版Android Wear 2.0智能回复不需联网?谷歌说这是最新的离线AI技术...
  8. java门禁系统面向对象程序设计
  9. js请求结果拦截机器_写了个chrome插件:拦截ajax请求并修改返回结果!
  10. 服务器怎么设置程序自动开启,服务器安全狗 定时任务设置图文教程