查看: 457|回复: 8

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

[复制链接]

255

主题

290

帖子

798

积分

高级飞友

Rank: 4

积分
798
飞币
506
注册时间
2017-7-17
发表于 2022-10-28 06:57:36 | 显示全部楼层 |阅读模式
最近想通过硬件在环(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

33

主题

675

帖子

1329

积分

金牌飞友

Rank: 6Rank: 6

积分
1329
飞币
650
注册时间
2017-9-11
发表于 2022-10-28 07:04:39 | 显示全部楼层
非常感谢你的教程,编译终于没有报错了

219

主题

252

帖子

689

积分

高级飞友

Rank: 4

积分
689
飞币
435
注册时间
2017-8-2
发表于 2022-10-28 07:14:41 | 显示全部楼层
The pleasure is mine.

209

主题

244

帖子

668

积分

高级飞友

Rank: 4

积分
668
飞币
417
注册时间
2017-7-29
发表于 2022-10-28 07:28:17 | 显示全部楼层
GREAT! It works, THX!

28

主题

644

帖子

1278

积分

金牌飞友

Rank: 6Rank: 6

积分
1278
飞币
627
注册时间
2017-9-14
发表于 2022-10-28 07:34:15 | 显示全部楼层
允许脚本时,无法定位软件包是怎么回事

36

主题

644

帖子

1298

积分

金牌飞友

Rank: 6Rank: 6

积分
1298
飞币
643
注册时间
2017-9-19
发表于 2022-10-28 07:39:44 | 显示全部楼层
px4 编译环境搭建呢?和这个区别大么

23

主题

696

帖子

1378

积分

金牌飞友

Rank: 6Rank: 6

积分
1378
飞币
680
注册时间
2017-8-31
发表于 2022-10-28 07:47:29 | 显示全部楼层
px4有px4的教程,请自行搜索"PX4 User Guide"然后按步骤做

21

主题

676

帖子

1318

积分

金牌飞友

Rank: 6Rank: 6

积分
1318
飞币
640
注册时间
2017-9-25
发表于 2022-10-28 07:59:24 | 显示全部楼层
运行Ubuntu.sh脚本,安装nuttx依赖项的时候无法定位安装包,请问该怎么解决

228

主题

255

帖子

714

积分

高级飞友

Rank: 4

积分
714
飞币
455
注册时间
2017-7-31
发表于 2022-10-28 08:08:56 | 显示全部楼层
换源  科学的上网
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表