当前位置: 代码网 > 科技>人工智能 > (最新)ubuntu搭建PX4无人机仿真环境(4) ——仿真环境搭建(以Ubuntu 18.04,ROS1 Melodic 为例)

(最新)ubuntu搭建PX4无人机仿真环境(4) ——仿真环境搭建(以Ubuntu 18.04,ROS1 Melodic 为例)

2024年07月31日 人工智能 我要评论
此教程,基于Ubuntu18.04、ROS1 Melodic 安装PX4仿真环境。

前言

本教程基于 ros1 ,在搭建之前,需要把 ros、mavros、qgc 等基础环境安装配置完成。大家可以参考我之前的教程

基于 ros1 的 px4 仿真环境搭建系列: 👇👇👇
建议安装之前可以先看看这个 👉 ubuntu搭建px4无人机仿真环境(1) —— 概念介绍

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

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

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

ros2 请看 👇👇👇
ubuntu搭建px4无人机仿真环境(5) —— 仿真环境搭建(以ubuntu 22.04,ros2 humble 为例)

如果想要自己编译 px4 固件可以看 ubuntu编译px4固件 这篇教程

1. 准备

下载源码

方式一:

从 github 上下载,但是比较考验个人网速

sudo apt-get install git
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   # 更新下载子模块
# 比较慢,不行就多执行几次

方式二:

从提供的网盘里下,或者从qq群(961297255)里下载

下载后解压,然后执行下面命令:

cd px4_firmware
wget https://gitee.com/tyx6/mytools/raw/main/px4/set_executable.sh
chmod +x set_executable.sh
./set_executable.sh

在这里插入图片描述

安装依赖

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

重启 ubuntu

安装 gazebo

gazebo是一款强大的3d仿真软件,主要用于机器人学的研究和开发。它提供了高度逼真的物理模拟环境,包括动力学、碰撞检测、传感器模型以及与真实世界相似的物理属性如重力、摩擦力等。gazebo可以模拟各种类型的机器人,从移动机器人、无人机到机械臂,甚至可以模拟整个城市环境。
注:使用之前要检查是否已经安装了 gazebo ,建议使用官方推荐的gazebo版本

gazebo --version

在这里插入图片描述

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

sudo apt-get remove gazebo* 
sudo apt-get remove libgazebo*
sudo apt-get remove ros-$ros_distro-gazebo*

卸载完后,开始安装 (ubuntu 18 会安装 gazebo 9.19,ubuntu 20 会安装 gazebo 11.14)

cd ~/px4_firmware/tools/setup
./ubuntu.sh --no-nuttx
# 这一步会安装仿真环境,包括gazebo
# 脚本执行时间,跟个人网络有关,可能需要一段时间
sudo apt-get install ros-$ros_distro-gazebo-ros-pkgs ros-$ros_distro-gazebo-ros-control

安装好测试一下gazebo

gazebo --version

在这里插入图片描述

再运行一下 gazebo

gazebo

在这里插入图片描述

如果是在虚拟机上,可能出现上图错误,输入以下命令:

echo "export svga_vgpu10=0" >> ~/.bashrc
source ~/.bashrc

再重新运行 gazebo

gazebo

出现下图,表示运行成功:
在这里插入图片描述
注:
运行gazebo仿真,可能会缺模型,这时会自动下载,gazebo模型服务器在国外,自动下载会比较久,所以我们可以先下载到本地。

git clone https://gitee.com/tyx6/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/ 路径下,然后可以看到很多模型文件。

重启 ubuntu

2. 编译

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

出现下图表示编译成功 😄
在这里插入图片描述
注:如果运行后终端有下图报错,这个不影响仿真,不用管也行。这是因为 gazebo 会检查 models 文件夹下是否有 model.config 文件,但是 .git 文件夹不属于 model 文件,那自然也不会有 model.config 文件。如果觉得难受就从其他model.config文件复制修改一个过来,或者删掉 .git 文件夹。
在这里插入图片描述

3. 配置环境

将下面语句添加到 ~/.bashrc(此文件在主目录下,是个隐藏文件) 文件中(前两个source顺序不能颠倒,路径要根据自己的实际路径修改,如果一直按照我的步骤来,应该是不用修改)

gedit ~/.bashrc  # 打开文件
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
  • 更新环境(最好重启一下 ubuntu ):
source ~/.bashrc 

关掉终端,再次打开,会跟下图差不多:
在这里插入图片描述

4. 测试

在终端输入下面命令:

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++)

建了个交流群,方便大家交流学习 😁
在这里插入图片描述

参考

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

px4 documentation

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com