查看: 597|回复: 8

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

[复制链接]

341

主题

384

帖子

1064

积分

金牌飞友

Rank: 6Rank: 6

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

47

主题

841

帖子

1666

积分

金牌飞友

Rank: 6Rank: 6

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

313

主题

350

帖子

975

积分

高级飞友

Rank: 4

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

306

主题

350

帖子

968

积分

高级飞友

Rank: 4

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

46

主题

783

帖子

1564

积分

金牌飞友

Rank: 6Rank: 6

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

48

主题

786

帖子

1583

积分

金牌飞友

Rank: 6Rank: 6

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

30

主题

831

帖子

1646

积分

金牌飞友

Rank: 6Rank: 6

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

36

主题

801

帖子

1575

积分

金牌飞友

Rank: 6Rank: 6

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

327

主题

361

帖子

1018

积分

金牌飞友

Rank: 6Rank: 6

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

本版积分规则

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