我看了apm的代码半年,px4的代码也看了一段时间,把我在这个过程遇到的问题和大家分享一下,我觉得有些人也会遇到同样的问题,给这部分人一点提示。谢谢大家。
首先还是先从apm讲起,它是由一群无人机爱好者开发的一套代码,的到了广泛的普及,但是他的系统很庞大,冗余的部分也很多,对于一开始就看这套代码的人,会很乱。但是随着时间的推进,这套代码在他自己的硬件上运行的效率越来越低,主要是因为硬件的性能跟不上了。这时候市面上有一款硬件叫pixhawk ,他把自己的代码移植到了这个硬件上。开发这个硬件的公司是3dr,他们根据自己开发的硬件,和苏黎世联邦大学合作,开发了一套代码,名字就要px4。因此一款硬件,有两套代码,但是因为硬件叫pixhawk,所以在网上搜集资料的时候,两者的资料都会出现,要仔细分变是哪一套代码的分析文档。两套代码分别叫ardupilot和px4,这两个代码在github上是免费供电大家下载的,直接在github上下载就可以。
首先下载的代码,不能直接编译,要进行环境的搭建,在搭建好的环境上进行编译,然后可以把,编译好的固件上传到pixhawk这个硬件上,经过调试后就可以飞了,搭建环境的发法就参照官网就可以,两套代码的变异环境一样,都可以参照以下的网址http://dev.px4.io/ 至于编译固件的命令是:make px4fmu-v2_default upload
还有提醒大家一下,代码最好在linux下编译,因为代码就是再这个环境下开发的,编译的过程很顺利,时间也很短,有利于后期调试,
还有就是阅读源码,有何多软件都可以,但是我习惯使用QT,大家可以安装一个,具体安装方法可以在网上查一下,在源码的根目录下,输入命令qmake -project 就可以生成相应的工程.pro文件,在qtcreator里面打开.pro就可以阅读了。(qtcreator是随QT一起安装的)。在阅读源码的过程中,点击工程的.pro文件,在里面添加想的路