首先,本篇不会涉及到源码方面的解读跟指导,只是为了后续章节做一些说明,并讲讲写下这些博文的原因
说起无人机的话,应该很多人会想到大疆、亿航这些商业巨头,这样的产业能发展起来也跟无人机代码开源有关。从微型四轴,到中大型的多旋翼、固定翼直升机无人车,国内的研究团队也是日渐增多,像中小型四轴研发的烈火、无穷等团队在某宝也都有自己的研发产品在售卖以及相应的技术交流群,还有像匿名做自己的飞控跟地面站的也有,可见无人机的发展趋向及社会需求性。对于想要入行这一领域的研发者,少不了对开源代码的解读跟磨合理解
从笔者接触无人机开始到现在也就一年时间,实际上对apm源码的阅读也就三四个月,所以还是有很多不懂的地方在一边学习。曾经刚拿到源码的时候心理是奔溃的,比较少接触这么大型的代码,编译完后1G左右1w来个文件,不过大部分是中间文件实际也就2600吧,还是感觉无从下手。网上搜源码解析能找到的有些用的是在apm官网的代码库引导翻译过来的,距今也有两三年时间了,有其他博主写的学习文档多数也是转载拷贝过来的。对于源码是共享在github上的版本持续更新,连官网的代码块引导路径都跟现有的版本路径对不上号,这也是笔者阅读源码的时候苦恼的地方,也是想写这些博文的动力。
标题的命名也是有考虑过的,以前的参考文档标题开头如下《Pixhawk源码笔记###》,也不是说内容写的不好,都是官网的代码引导翻译。但是光一个标题就产生了错误引导,首先pixhawk多数玩家一看就知道是说的PX4的飞控,apm源码自3.2.1版本之后,因apm飞控内存运行不了,都是烧写在pixhawk飞控上运行的,可以兼容。pixhawk源码的话就是飞控本身搭配的源码,也就是pixhawk的原生代码,跟apm源码是两套不同的飞控源码。所以对于标题命名的不严谨也是容易混淆想寻找源码入口的新手,甚至自己手上的源码跟博文上讲的是不是同一套都不知道,为了让读者明确博文内容,笔者很清楚在标题上只写明是APM源码,源码解析或者是讲解,还有很多地方不清楚的,只能是一边学习一边记录写成笔记,也是照着官网的代码库讲解步骤跟着走。重制的意思是根据当前源码的实际路径进行编写,参考官网给的路径及时作出更新。目前笔者手上的apm源码版本是3.4的,github最新可下载的已经更新到了3.6了,但是因为编译出了各种问题没解决还是只是用回3.4的。
其实网上的相关源码文档对于编译源码失败的原因没有人做过统一解决及整理一篇文档分享,这个也是蛮头痛的问题,连官网也是说明在哪些平台搭建编译环境,跟代码引导,搭建出现的错误一概没有谈及。希望有这方面的技术大牛能有空整理一下一些编译问题的解决方法造福一下同行,哈哈哈。虽说现在有很多pixhawk二次开发培训班,所以很多有用的信息为了培训赚钱也是不对外公开的。
最后分享一下apm官网源码引导链接,除了代码说明,还有其他相关信息,可能对你有用
http://ardupilot.org/dev/docs/learning-the-ardupilot-codebase.html
广大读者如果对笔者博文哪些地方不理解或者是说明有误的地方,欢迎在讨论区提出来,共同学习,共同进步。

Ardupilot -- APM源码笔记(重制)~序言相关推荐

  1. Ardupilot -- APM源码笔记四(重制)~ 线程机制

    认识Ardupilot线程 在了解过Ardupilot的链接库之后,是时候来认识一下Ardupilot是怎么处理线程了,对于从arduino继承过来的setup()/loop()架构,会让我们认为Ar ...

  2. Kafka 3.0 源码笔记(3)-Kafka 消费者的核心流程源码分析

    文章目录 前言 1. 消费者负载均衡的实现 2. 源码分析 2.1 KafkaConsumer 的初始化 2.2 KafkaConsumer 的消息拉取 2.2.1 消息拉取的准备及入口 2.2.2 ...

  3. 《〈XNova/OGame〉源码笔记》(1-2)

    <〈XNova/OGame〉源码笔记> 作者:赖勇浩(http://blog.csdn.net/lanphaday) 一.      引言 <OGame>中文名<银河帝国 ...

  4. Lua源码笔记--字符串连接

    Lua源码笔记–字符串连接 文章目录 Lua源码笔记--字符串连接 1 Lua语法糖 \.\. 2 table.concat 3 string.format 4 string.rep 5. 总结 Lu ...

  5. angularjs源码笔记(3)--injector

    2019独角兽企业重金招聘Python工程师标准>>> 简介 injector是用来做参数自动注入的,例如 function fn ($http, $scope, aService) ...

  6. spring aop原理_Spring知识点总结!已整理成142页离线文档(源码笔记+思维导图)...

    写在前面 由于Spring家族的东西很多,一次性写完也不太现实.所以这一次先更新Spring[最核心]的知识点:AOP和IOC 无论是入门还是面试,理解AOP和IOC都是非常重要的.在面试的时候,我没 ...

  7. 数据结构源码笔记(C语言描述)汇总

    数据结构源码笔记(C语言):英文单词按字典序排序的基数排序 数据结构源码笔记(C语言):直接插入排序 数据结构源码笔记(C语言):直接选择排序 数据结构源码笔记(C语言):置换-选择算法 数据结构源码 ...

  8. 数据结构源码笔记(C语言):英文单词按字典序排序的基数排序

    //实现英文单词按字典序排序的基数排序算法#include<stdio.h> #include<malloc.h> #include<string.h>#defin ...

  9. 数据结构源码笔记(C语言):索引文件建立和查找

    //实现索引文件建立和查找算法#include<stdio.h> #include<malloc.h> #include<string.h> #include< ...

最新文章

  1. 企业项目开发--分布式缓存memcached(3)
  2. 一文带你深入拆解Java虚拟机
  3. Python学习汇总,做数据采集的一些小技巧,收获满满
  4. 热式气体质量流量计检定规程_热式气体质量流量计基于热扩散原理
  5. MyBatis框架学习笔记02:利用MyBatis实现CRUD操作
  6. 【HDU - 4345 】Permutation(DP)
  7. PaaS平台OpenShift企业部署的“脑图”
  8. 经典病毒:熊猫烧香函数全分析
  9. android开发下载文件损坏解决方法,Android中已下载的.apk文件已损坏
  10. 怎么把java程序打包?java源代码打包方法
  11. ftp客户端安装,六款可以安装的ftp客户端
  12. springboot 集成 grpc 和 protobuf(二) | 在实际项目中使用 grpc 和 protobuf
  13. bcprov-jdk15on 简介、中文文档、中英对照文档 下载
  14. picker插件 vue 移动端_基于 vue 的 picker 组件 vue-awesome-picker
  15. android fragment实现翻书效果,viewpager实现翻页效果(fragment)
  16. SINS/GNSS组合导航仿真应用详细版(基于PSINS工具箱 )
  17. 在 Linux 上烧录 CD
  18. JS数组正数转为负数
  19. 10G服务器网卡:Intel vs Nvidia
  20. kafka副本机制学习

热门文章

  1. kaggle往期赛 | 海星目标检测比赛银牌经验分享
  2. 简单抽样技术——简单随机样本方差是总体方差的无偏估计
  3. 下载安装 gSoap
  4. 阿里云中间件推出全新开发者服务
  5. LCD断码屏显示应用框架
  6. 应用回归分析(知识点整理)(三)——SPSS处理异方差
  7. 存储介质(2)FLASH
  8. 办理充电宝移动电源GB/T35590-2017费用多少钱
  9. 解析 cifar10 的压缩包到图片
  10. WebGoat部署到Intellij IDEA