查看: 761|回复: 8

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

[复制链接]

418

主题

462

帖子

1296

积分

金牌飞友

Rank: 6Rank: 6

积分
1296
飞币
832
注册时间
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

49

主题

878

帖子

1740

积分

金牌飞友

Rank: 6Rank: 6

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

395

主题

433

帖子

1222

积分

金牌飞友

Rank: 6Rank: 6

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

386

主题

431

帖子

1209

积分

金牌飞友

Rank: 6Rank: 6

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

50

主题

839

帖子

1674

积分

金牌飞友

Rank: 6Rank: 6

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

52

主题

822

帖子

1657

积分

金牌飞友

Rank: 6Rank: 6

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

34

主题

876

帖子

1734

积分

金牌飞友

Rank: 6Rank: 6

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

42

主题

846

帖子

1665

积分

金牌飞友

Rank: 6Rank: 6

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

402

主题

436

帖子

1243

积分

金牌飞友

Rank: 6Rank: 6

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

本版积分规则

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