Ardupilot -- APM源码笔记(重制)~序言

首先,本篇不会涉及到源码方面的解读跟指导,只是为了后续章节做一些说明,并讲讲写下这些博文的原因
说起无人机的话,应该很多人会想到大疆、亿航这些商业巨头,这样的产业能发展起来也跟无人机代码开源有关。从微型四轴,到中大型的多旋翼、固定翼直升机无人车,国内的研究团队也是日渐增多,像中小型四轴研发的烈火、无穷等团队在某宝也都有自己的研发产品在售卖以及相应的技术交流群,还有像匿名做自己的飞控跟地面站的也有,可见无人机的发展趋向及社会需求性。对于想要入行这一领域的研发者,少不了对开源代码的解读跟磨合理解
从笔者接触无人机开始到现在也就一年时间,实际上对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
广大读者如果对笔者博文哪些地方不理解或者是说明有误的地方,欢迎在讨论区提出来,共同学习,共同进步。

猜你喜欢

转载自blog.csdn.net/qq_36955622/article/details/72957376
今日推荐