Windows/Ubuntu操作系统下ArduPilot(APM)固件的编译方法

本文介绍如何在Windows和Ubuntu环境下编译APM(Ardupilot)固件,并将其上传到Pixhawk飞控中。文章详细记录了所需的软件安装、固件下载及编译步骤。

欢迎交流~ 个人 Gitter 交流平台,点击直达:Gitter


长期以来都是站在PX4阵营,由于近来可能的项目需要使用Pixy+IR-LOCK实现精准降落,目前还只有APM固件支持该功能,特此编译了一发APM固件,几乎与原生固件的过程无异。由于博主的原生固件编译通过了,想必环境配置已经没有问题,编译过程也确实一帆风顺。哈哈,还是做一个简单的记录。

2018.7.3更新

最新的APM固件使用waf编译的那叫一个快
只用以下几个步骤
若要编译上传多旋翼的固件到Pixhawk

$cd ~/src/ardupilot
$./waf configure --board px4-v2
$./waf copter
$./waf --target bin/arducopter --upload
$./waf clean

Window 7 64 bit

参照APM官网的Building ArduPilot for Pixhawk/PX4 on Windows with Make教程。

  1. 安装必要的软件
    这个方法把需要的软件安装喽,无非是java(Eclipse需要)、px4-toochain(至关重要的PX4工具链)、Cmake你用会用到的。

  2. 下载并编译固件

从开始菜单栏打开PX4 Console使用git指令下载APM固件

git clone https://github.com/ArduPilot/ardupilot.git

安装依赖项

cd ardupilot
git submodule update --init --recursive

执行编译

指令说明
make px4-v2编译v2版飞控(Pixhawk)的四旋翼固件
make px4-v4编译v4版飞控(Pixracer)的四旋翼固件
make px4-v2-hexa编译v2版飞控的六旋翼固件
make px4同时编译PX4(FMU+IO)和Pixhawk的四旋翼固件
make clean清除ardupilot目录
make px4-clean彻底清除编译
make px4-cleandep清除.d 以及 .o 文件
make px4-v2-upload上传固件到Pixhawk

注意:

  • 编译所需固件需要进入相应的目录下,例如要编译多旋翼的话cd到ArduCopter目录下,其他的还有ArduPlane

  • 与六旋翼相同,其余的飞机类型例如“octa”, “octa-quad, “tri”, “single”以及“heli”,直接把hexa进行替换即可

这里博主编译的是Pixhawk的四旋翼固件,编译成功的话将在ArduCopter目录下生成一个.px4后缀的文件,这就是最终烧录到飞控中的文件,可以使用MissionPlanner手动加载,也可以直接make px4-v2-upload

这里的编译指令为

cd /ardupilot/ArduCopter
make px4-v2

donew

关于Eclipse的配置点我

Target的配置如下图所示

eclipse

注意:

  • 在目标文件夹下添加target
  • 这里博主并没有更改Environment中的CWD、PWD,编译未报错

Ubuntu 14.04 LTS

参照APM官网的Building ArduPilot for Pixhawk/PX4 on Linux with Make教程。

  • 安装git
sudo apt-get -qq -y install git
  • 下载源代码
cd ~/src
git clone https://github.com/ArduPilot/ardupilot.git
cd ardupilot
git submodule update --init --recursive
  • 运行脚本文件
Tools/scripts/install-prereqs-ubuntu.sh -y

这一步比较久,安装了gcc-arm-none-eabi

  • 使配置直接生效
. ~/.profile

相对于各种机型的编译指令,与Windows下无异。

FAQ

  1. gcc版本支持
    gcc

出现上图所示的错误,是gcc版本不对,进行替换即可,Windows下的替换方法在这里,Ubuntu下的替换方法在这里

为了同时使用PX4固件以及ardupilot固件,推荐使用gcc4.9
点我下载

  1. 待续

                                          By Fantasy

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值