(最新)ubuntu搭建PX4无人机仿真环境(4) —— 仿真环境搭建

仿真环境搭建

      • 前言
    • 准备
    • 编译
    • 测试
    • 参考

前言

在搭建之前,需要把 ROS、MAVROS、QGC 等基础环境安装配置完成。大家可以参考我之前的教程

本次安装是以 px4 v1.13.2 为例。
我的配置如下:
虚拟机 Ubuntu 18.04 (运行内存 4G、硬盘内存 80G) 、ROS melodic 、最新版 QGC

建议安装之前可以先看看这个 👉 ubuntu搭建PX4无人机仿真环境(1) —— 概念介绍

ubuntu搭建PX4无人机仿真环境(2) —— MAVROS安装

ubuntu搭建PX4无人机仿真环境(3) —— ubuntu安装QGC地面站

ubuntu安装ROS melodic(最新、超详细图文教程)

准备

  • 下载源码
  git clone https://github.com/PX4/PX4-Autopilot.git
  mv PX4-Autopilot PX4_Firmware
  cd PX4_Firmware
  git checkout -b dev v1.13.2
  git submodule update --init --recursive   # 更新下载子模块

如果下载慢,可以从网盘里下
链接:https://pan.baidu.com/s/1WLnVCUrPoueTfPGrIOvNaA
提取码:82dt

  • 安装依赖

注: 安装依赖之前要检查是否已经安装了 gazebo ,因为安装依赖的时候会帮你安装 官方推荐的gazebo版本

gazebo --version

如果出现 上图内容,说明没有安装,如果出现了 gazebo的版本信息 说明已经安装了,要卸载,命令如下:

sudo apt-get remove gazebo* 
sudo apt-get remove libgazebo*
sudo apt-get remove ros-melodic-gazebo* #kinetic noetic对应修改

卸载完后,开始安装依赖:

cd ~/PX4_Firmware/Tools/setup
./ubuntu.sh --no-nuttx
# 这是官方提供的脚本 有两个可选参数
# --no-sim-tools     只安装交叉编译环境 如果需要自己编译飞控固件,烧录到飞控中,那就需要交叉编译环境
# --no-nuttx         只安装仿真环境
# 脚本执行时间,跟个人网络有关,可能需要一段时间
# 安装好测试一下gazebo
gazebo --version

再运行一下 gazebo

gazebo

如出现上图错误,输入以下命令:

echo "export SVGA_VGPU10=0" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control
#kinetic noetic对应修改

再重新运行 gazebo

gazebo

出现下图,表示运行成功:

注:
运行Gazebo仿真,可能会缺模型,这时会自动下载,Gazebo模型服务器在国外,自动下载会比较久,所以我们可以先下载到本地。

git clone https://github.com/osrf/gazebo_models.git
# 检测文件夹 ~/.gazebo/models 是否存在,如果不存在创建
if [ ! -d "~/.gazebo/models" ]; then mkdir -p ~/.gazebo/models ;fi
mv ./gazebo_models/* ~/.gazebo/models/

或者如果觉得 git clone 有点慢可以直接进入仓库然后下载ZIP压缩包,将该压缩包里的模型文件放在 ~/.gazebo/models/ 路径下,然后可以看到很多模型文件。

如果下载慢,可以从网盘里下
链接:https://pan.baidu.com/s/1tMhGTKfPMB0mcILte7zHVg
提取码:alto

编译

cd PX4_Firmware
make px4_sitl_default gazebo   # 这步可能有点慢,跟 ubuntu 的配置有关

出现下图表示编译成功

  • 添加环境

将下面语句添加到 ~/.bashrc 文件中(前两个source顺序不能颠倒,路径可根据自己的路径修改)

source ~/catkin_ws/devel/setup.bash  # 这个是个人的ROS工作空间,没有的话需要自己创建
source ~/PX4_Firmware/Tools/setup_gazebo.bash ~/PX4_Firmware/ ~/PX4_Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware/Tools/sitl_gazebo

再运行:

source ~/.bashrc

关掉终端,再次打开,会跟下图差不多:

注: 为了方便大家,我做了一个自动添加环境的脚本,效果与手动添加等同,只要有一个成功就行。
首先下载脚本

wget https://gitee.com/tyx6/mytools/raw/main/setenv.sh
# 添加可执行权限
chmod +x setenv.sh

然后将脚本放入你的 PX4 源码目录下,再执行(以我的为例)

mv ./setenv.sh ~/PX4_Firmware/
cd ~/PX4_Firmware
./setenv.sh

执行完后如下所示

测试

在终端输入下面命令:

roslaunch px4 mavros_posix_sitl.launch

还可以运行下面命令,查看MAVROS与仿真无人机通信状况。若connected: True,则通信成功,如果是false,一般是因为 .bashrc 里的路径写的不对,请仔细检查。

rostopic echo /mavros/state | grep connected    # 只查看 connected 信息
rostopic echo /mavros/state                     # 查看全部信息

到这 PX4 无人机基本仿真环境就搭建完成了,大家可以基于此来拓展自己的仿真。
也可以继续看下面教程
👇

带你玩转PX4无人机仿真(1) —— 运行官方案例(C++)

如有其他问题,或者发现文章有错误,请在评论区留言
Keep learning!

参考

仿真平台基础配置(对应PX4 1.13版)

PX4 documentation

版权声明:本文为博主作者:Tfly__原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/weixin_55944949/article/details/130895608

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2024年4月10日
下一篇 2024年4月10日

相关推荐