四轴飞行器——Building ArduPilot for Pixhawk/PX4 on Linux with Make(使用Make在Linux上构建Pixhawk / PX4的ArduPilot)

在开发一个项目或者造轮子之前,第一步永远是搭建开发环境,而在Linux下搭建Pixhawk时,总是因为各种各样的奇葩错误导致搭建失败,这次趁着硬盘崩了,重新搭建环境并记录下来,如果有错误或者补充可以在评论区提醒我哈~
操作系统:Ubuntu16.04(不建议使用较老版本的Ubuntu系统,后面会提到原因)

一、下载代码(Downloading the conde)

1.1 下载git

Git在所有主要的操作系统平台上均可用,并且有多种工具可帮助你轻松地入门。
Linux/Ubuntu用户可以通过apt下载,在命令行输入:
sudo apt-get update
sudo apt-get install git

1.2 Fork该开源项目

首先,你可以注册一个github的帐号,然后打开网址https://github.com/ArduPilot/ardupilot,点击”Fork”按钮即可。
随后,你便会看到在你的用户下有一个新的项目:
//github.com/your-github-userid/ardupilot

1.3 Clone这个项目到本地(你的电脑)

可以在每个Github仓库主页上的屏幕右侧找到URL,通常URL是:
https://github.com/ArduPilot/ardupilot.git
https://github.com/your-github-account/ardupilot
四轴飞行器——Building ArduPilot for Pixhawk/PX4 on Linux with Make(使用Make在Linux上构建Pixhawk / PX4的ArduPilot)_第1张图片
打开一个终端,并进入你想要存放代码的目录,例如:
cd Downloads //进入Downloads文件夹
输入以下指令clone代码:
git clone https://github.com/your-github-userid/ardupilot
cd ardupilot
git submodule update --init --recursive
到这里将代码下载到本地的部分就完成了,接下来就是

二、构建代码(Building the code)

2.1设置Ubuntu

运行 install-prereqs-ubuntu.sh 脚本,在终端输入:
Tools/scripts/install-prereqs-ubuntu.sh -y
如果出现以下錯誤:
bash: Tools/scripts/install-prereqs-ubuntu.sh: 权限不够
则需要修改文件夹内所有的文件和文件夹及子文件夹属性为可写可读可执行
chmod -R 777 ardupilot
重新加载路径(注销并登录才能生效):
. ~/.profile
现在你应该可以用BUILD.md中描述的waf来构建,Ardupilot逐渐从the make-based build system转移到Waf。BUILD.md中的说明应该足以让你构建Ardupilot,但你也可以阅读关于Waf Book中构建系统的更多信息。其实最基础的the make-based build system也可以实现,以ArduCopter为例,进入到ArduCopter目录下, 输入以下命令即可:
make px4-v2
make px4-v2-upload

编译下载成功后如下图所示:

看到最后一句,“在1-2s后重新插拔USB接口”,即说明环境配置好了!
但是其实在这之前,还要做很多前期准备工作,所以先不要着急编译,先安装一些编译下文将说到的所需的基本工具。

2.2基本的安装和设置

(1)安装gcc交叉编译器,点击跳转到下载链接,下载后你需要使用以下命令解压压缩包:
tar -xjvf gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
然后通过编辑$ HOME / .bashrc文件并在末尾添加下面这一行来将tarball中的bin目录添加到$ PATH中:
export PATH=$PATH:/home/your_username/gcc-arm-none-eabi-4_9-2015q3/bin
注意:这里的路径是你解压的gcc-arm-none-eabi-4_9-2015q3-20150921-linux中的bin目录的路径,也就是说上面给出的路径只是作为参考。

(2)安装gnu make,一般Ubuntu系统自带,故不用下载,但是了解以下
make的构建原理也是很好的。

(3)如果你的系统是64位的,你还需要安装libc6-i386,在终端输入:
sudo apt-get install libc6-i386

(4)你需要让你的用户成为dialout的成员(您需要注销然后重新登录以使组更改生效),在终端输入:
sudo usermod -a -G dialout $USER

(5)代码编辑器可以选择Qt或者Sublime Text3,两者有各自的优缺点,Qt操作简单,但是需要配置交叉编译环境。Sublime Text3无需搭建环境,但是只有长期使用的人才能运用自如。

至此,一次Pixhawk基础的环境搭建就完成了,接下来我们一起探讨飞控代码中的精妙吧!

你可能感兴趣的:(飞行器自学笔记)