maoxuesong 发表于 2022-10-28 06:57:36

Ardupilot开发环境搭建(Ubuntu18.04,20190407)

最近想通过硬件在环(HIL)的方式构建无人机半实物仿真环境,因为以后想飞混合翼和大六轴所以选择使用Ardupilot开源飞控。第一步就是构建Ardupliot的开发环境,但按照网上教程一路小坑无数,所以把搭建过程梳理一下,希望能为需要搭建开发环境的同志提供点参考。
先说一下我的安装环境。Ubuntu18.04 AMD64版本,Ardupilot开源飞控是20190405更新版本。下载源码的过程都是一样的:
git clone https://github.com/ArduPilot/ardupilot
cd ardupilot
git submodule update --init --recursive若是没有安装git,可以通过apt-get直接安装。之后,大部分网上教程都是运行对应的sh执行脚本开始安装所需的各种依赖包。
Tools/scripts/install-prereqs-ubuntu.sh -y而坑大多集中于此,下面一一说明。

[*]新版本sh文件目录有所改变,现在集中在/ardupilot/Tools/environment_install中,对应ubuntu安装文件依然是install-prereqs-ubuntu.sh。另外需要注意的是这个sh文件默认是没有运行权限的,需要通过chmod +x install-prereqs-ubuntu.sh增加运行权限才可以执行。
[*]脚本中首先通过apt-get安装包,但是在国内由于众所周知的原因,默认的安装源下载较慢或是无法下载,安装前需要将apt-get更换为国内安装源。具体可以参考ubuntu 执行apt-get update报错Failed to fetch
[*]脚本中使用pip2安装需要的包,同样需要更换为国内源,具体可以参考PIP 更换国内安装源
[*]在安装个过程中会安装ARM交叉编译工具链gcc-arm-none-eabi-6-2017-q2-update-linux,在脚本中默认使用wget下载,速度奇慢无比,可以事先下载并且自行解压到/opt目录下,这样安装的时候会跳过下载,节省很多时间。
上述问题都注意到的话,整体安装过程应该是比较顺利的。之后就需要配置路径,
Tools/environment_install/install-prereqs-ubuntu.sh -y
. ~/.profile到此Ardupilot的开发环境就已经安装好,但是使用过程中还是有些小坑。

[*]ardupilot源码已经转向Waf工具编译,所以编译指令有所区别,并且需要注意一定在ardupilot安装的根目录执行,这点与make不同。
[*]waf编译前需要配置飞控运行板卡,但是之前网上教程所提到px4-v1、px4-v3等板卡名称都已经被替换,可以使用./waf list_boards命令查询支持板卡对应的参数。
例子,编译支持pix4飞控板的固定翼飞控的流程
cd ardupilot
./waf configure --board Pixhawk4
./waf plane
./waf --targets bin/arduplane --upload当然直接使用./waf --targets bin/arduplane --upload就可以完成编译和下载。
另外,我按照上述步骤搭建完成后,configure是可以的,但是在编译过程中,生成MAVLink message的时候会找不到future模块,需要重新更新此模块,之后编译就正常了。
sudo -H pip2 install --upgrade future参考文档

[*]Setting up the Build Environment (Linux/Ubuntu)
[*]Building ArduPilot
[*]Adding a new MAVLink Message

loveav 发表于 2022-10-28 07:04:39

非常感谢你的教程,编译终于没有报错了

fantansticma 发表于 2022-10-28 07:14:41

The pleasure is mine.

sunflower2018 发表于 2022-10-28 07:28:17

GREAT! It works, THX!

pmx1225 发表于 2022-10-28 07:34:15

允许脚本时,无法定位软件包是怎么回事

小熊爱飞翔 发表于 2022-10-28 07:39:44

px4 编译环境搭建呢?和这个区别大么

daza110 发表于 2022-10-28 07:47:29

px4有px4的教程,请自行搜索"PX4 User Guide"然后按步骤做

ftdyz 发表于 2022-10-28 07:59:24

运行Ubuntu.sh脚本,安装nuttx依赖项的时候无法定位安装包,请问该怎么解决

frag86@126.com 发表于 2022-10-28 08:08:56

换源科学的上网
页: [1]
查看完整版本: Ardupilot开发环境搭建(Ubuntu18.04,20190407)