PX4 v1.13 + Mavros + QGC 仿真环境搭建指南


XTdrone一键安装!选这个最方便。

如果你对无人机开源仿真工具没有特定要求,那么可以选择XTdrone这款国产开源工具,支持PX4,​面向实际应用的无人机全栈仿真平台。XTDrone gitee发布页
面对复杂的环境配置,有大佬开发了一键安装脚本!
XTDrone、ROS、PX4、mavros等等一键安装,非常方便。

一键安装指令发布地址:https://gitee.com/rock3t/xtdrone_Installer
安装及后续教程发布地址:语雀_XTdrone教程文档

如果你需要纯净的PX4环境,那么可以照着下面推荐的其他教程一步步安装。


前言

如果想进行无人机仿真,PX4环境可能是比较好的选择,但是其环境安装过程非常折磨,笔者安装PX4的过程参考多方教程仍很容易出问题。

同时强烈建议参考博主 木心 发布的教程 :【PX4】Ubuntu20.04+ROS Noetic 配置PX4-v1.13和Gazebo11联合仿真环境【教程】,教程十分详细.


一、安装Ubuntu 20.04

网上教程颇多,安装也很简单,此处不再赘述。
建议在系统安装虚拟机安装中选择虚拟机安装,风险小一点…

参考教程:
博主木心发布:虚拟机VMware安装Ubuntu


二、安装PX4

写在前面:先装PX4 还是 ROS ?


笔者被PX4报错搞怕了,因此选择先装PX4再装ROS,但是需要注意, PX4 和 ROS 安装时都会默认安装Gazebo软件,并且版本并不一定一致。
不过先后顺序并不会导致报错或其他问题。
因此如果你先装ROS 后 PX4 ,可以在安装时参考PX4教程跳过安装 sim tool,毕竟ROS时已经装好了。

PX4 v1.13用户官方指导手册
写在前面:在PX4 v1.15官方指导手册(虽然并不是我们要安装的v1.13)中有这样一段提示
在这里插入图片描述
笔者从中提取到关键词 clean ,这告诉我们PX4安装失败可能跟之前装过一些奇怪的东西有关…(笔者也不是很懂,但是老是失败)。
总之,我因此决定抛弃之前安装了不少东西的ubuntu,在虚拟机中创了个新的盘,装上全新的ubuntu20.04系统来安装PX4。

因此建议,如果PX4怎么都装不上,大家可以考虑再创建一个全新的ubuntu系统来安装。
(虚拟机的优势)


安装的两种方法:

1、使用git clone功能(或者下载别人下好的包)安装之后在本地配置环境:**

缺陷:需要科学上网,即便科学上网也有可能下载失败,而但凡漏下载一点文件,你的PX4安装之旅都不会顺利…
如果网络不好始终下不下来也可以下载别人安装好的包,方便很多。
注意:如果要下载特定版本的PX4,那么git clone 的代码有小小改动如下

git clone -b v1.13.3 https://github.com/PX4/PX4-Autopilot.git --recursive

参考教程:
博主HopeWay_Enable发布 :Ubuntu20.04 下 PX4_v1.13.3 以及 MAVROS 安装教程
博主 木心 发布 :【PX4】Ubuntu20.04+ROS Noetic 配置PX4-v1.13和Gazebo11联合仿真环境【教程】

其他参考教程:
b站up主 守诺一生呀 发布的 PX4固件+mavros+QGC地面站安装
指南,另外他在b站的视频教程也可以一看。

笔者主要参考上面的教程进行对比,但是即使在全新的Ubuntu系统下安装PX4,仍然遇到了报错,所幸参考下面这位的教程解决了问题:
博主 Y程序源 发布 : 在配置PX4的时候运行make px4_sitl_default gazebo命令报错:ninja: build stopped: subcommand failed。解决办法


2、使用git clone功能(或者下载别人下好的包)后,使用官方提供的docker容器配置环境,容器集成了开发编译仿真环境。**

参考教程:PX4开源飞控–开发环境搭建 编译仿真及烧录


三、安装ROS

笔者此处并没有选择 小鱼一键ROS,而是跟随官网教程。
具体可见 木心大佬 发布的教程:ubuntu安装ROS1
官网参考步骤:ROSwiki


四、安装Mavros

1、直接下述指令即可,可能需要科学上网。

sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras ros-noetic-mavros-msgs
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo chmod a+x ./install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh

2、在主目录的.bashrc文件中添加如下命令,其代表可以运行PX4固件中的launch文件

source ~/PX4-Autopilot/Tools/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/sitl_gazebo

注意export 开头的环境变量必须放在最下面,source开头的如果放在最下的话,会导致无法使用roslaunch px4 XXX.launch,以及直接启动launch文件是提示找不到路径。

3、打开终端测试 roslaunch:

roslaunch px4 mavros_posix_sitl.launch

五、安装QGC:

教程很多很容易,安装即可。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐