在ubuntu22.04(LTS)上搭建ROS2+PX4+Gazebo的联合仿真环境

这篇具有很好参考价值的文章主要介绍了在ubuntu22.04(LTS)上搭建ROS2+PX4+Gazebo的联合仿真环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明:本案例仅仅是跑通了ROS2+PX4+Gazebo的联合仿真,还没有实现使用键盘控制无人机飞行(以后会补充)。

目录

1.准备工作

2.安装PX4仿真工具链

3.安装ROS2

4.安装ROS2的相关依赖

5.安装XRCE-DDS代理(AGENT)

6.创建ROS2工作空间并生成代码样例

7.运行XRCE代理

8.编译PX4固件并运行


1.准备工作

(1)确保网络能够顺畅连接到github;

(2)确保EmPy库的版本是3.3.4,否则会在colcon build的时候出现问题。现在安装ubuntu22.04更新后的EmPy版本是4.0。EmPy 是一个强大、稳健且成熟的模板系统,用于在模板文本中插入 Python 代码(详细介绍见empy · PyPI)。EmPy库从4.0退回到3.3.4版本的方法就是从ubuntu终端中卸载了重装,使用如下命令:

pip3 uninstall empy
pip3 install empy==3.3.4

在Ubuntu下多种开源软件联合工作,各种版本不匹配而导致问题是最常见的。

(3)已经安装好了git工具,检查方法是在终端输入如下命令:

git --version

如果反馈了git的版本号,则表示已经安装好了,如果反馈“command not found”或类似的错误消息,则表示还未安装git工具,可以使用如下命令安装:

sudo apt update
sudo apt upgrade
sudo apt install git

2.安装PX4仿真工具链

安装PX4仿真工具链使用如下命令:

git clone https://github.com/PX4/PX4-Autopilot.git --recursive
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
sudo reboot

reboot命令是重启电脑,执行该命令之前要做好资料保存工作。

到此,PX4的下载及环境设置工作完成。

3.安装ROS2

ROS2的安装过程详见:ubuntu操作系统下ROS2的安装和卸载-CSDN博客

4.安装ROS2的相关依赖

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
pip3 install --user empy==3.3.4 pyros-genmsg setuptools
sudo apt install python3-colcon-common-extensions
sudo apt install ros-humble-desktop python3-argcomplete
sudo apt install ros-dev-tools

到此,相关依赖安装完成。 

5.安装XRCE-DDS代理(AGENT)

XRCE-DDS是ROS2下节点之间的通信协议,使用如下命令进行安装:

git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
cd Micro-XRCE-DDS-Agent
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig /usr/local/lib/

到此,XRCE-DDS代理安装完成。

6.创建ROS2工作空间并生成代码样例

mkdir -p ~/ws_ros2/src/
cd ~/ws_ros2/src/
git clone https://github.com/PX4/px4_msgs.git

 

git clone https://github.com/PX4/px4_ros_com.git
cd ..
colcon build

到此,工作空间及代码样例创建完成,如果编译出错,可能是网速不好导致中间下载不成功。可以尝试重新编译。

7.运行XRCE代理

MicroXRCEAgent udp4 -p 8888

8.编译PX4固件并运行

仿真用的PX4固件通常称为软在环固件(PX4 firmware for SITL),使用如下命令实现:

cd ~/PX4-Autopilot
make px4_sitl gz_x500

注意:不同的ubuntu操作系统,使用的参数可能不同,比如ubuntu20 下使用: make px4_sitl gazebo-classic。

到此,在ubuntu22.04(LTS)上搭建ROS2+PX4+Gazebo的联合仿真环境的目标实现。最终的界面如下图所示:

ubuntu22.04 px4,PX4,ROS,ubuntu文章来源地址https://www.toymoban.com/news/detail-861795.html

到了这里,关于在ubuntu22.04(LTS)上搭建ROS2+PX4+Gazebo的联合仿真环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ROS2学习(一):Ubuntu 22.04 安装 ROS2(Iron Irwini)

    一、ROS2(Iron Irwini)介绍 官方文档 Iron Irwini版本支持的平台如下: 二、ROS2(Iron Irwini)安装 1.设置编码 2.使能代码库 现在用apt添加带ROS 2 GPG 将存储库添加到源列表中 3.安装ROS2 Iron 三、ROS2测试 在terminal 1 运行下面的指令: 在terminal 2 运行下面的指令: 四、ROS2卸载 删除RO

    2024年02月10日
    浏览(43)
  • 【ROS系统】Ubuntu22.04系统中安装ROS2系统

    参考博客:ROS 安装详细教程 —— Ubuntu22.0.4 LTS 安装 首先,我们需要一个Ubuntu系统。 终端输入指令: 从ubuntu系统界面进行设置: 设置-软件升级-Ubuntu software- source code 为source code选择国内镜像源 确定镜像源可用 通过检查此命令的输出,确保已启用Ubuntu Universe存储库。 apt-ca

    2024年04月27日
    浏览(53)
  • (Ubuntu22.04 Jammy)安装ROS2 Humble

    提示:以下内容是已经安装了ubuntu22.04 下进行安装ros2 请确保区域设置支持UTF-8,我们使用以下设置进行测试。 需要将ROS2 apt存储库添加到您的系统中,首先确保Ubuntu Universe存储库已启用。 接着添加带有apt的ROS 2 GPG密钥 然后将存储库添加到源列表中 设置存储库后,更新您的a

    2024年02月01日
    浏览(50)
  • ubuntu22.04,ros2使用自带opencv读取图片

    从网上找了很久的ros2如何使用自带的opencv库或者自定义安装opencv库的教程,自己看的云里雾里的,跟着配置走下来依旧是不能使用,出现的最多的问题,就是找不到头文件或者undefined reference to \\\'cv::imread(std::cxxll::basic stringchar, std::char traits, std::allocator const, int)\\\'这一类的未定义

    2024年02月10日
    浏览(51)
  • 【PX4&Simulink&Gazebo联合仿真】在Simulink中使用ROS2控制无人机进入Offboard模式起飞悬停并在Gazebo中可视化

    本篇文章介绍如何使用ROS2控制无人机进入Offboard模式起飞悬停并在Gazebo中可视化,提供了Matlab/Simulink源代码,以及演示效果图。 环境: MATLAB : R2022b Ubuntu :20.04 LTS Windows :Windows 10 ROS :ROS2 Foxy Python: 3.8.2 Visual Studio :Visual Studio 2019 PX4 :1.13.0 ROS2的应用程序管道非常简单,这要

    2024年02月22日
    浏览(58)
  • 【PX4&Simulink&Gazebo联合仿真】在Simulink中使用ROS2控制无人机沿自定义圆形轨迹飞行并在Gazebo中可视化

    本篇文章介绍如何使用ROS2控制无人机沿自定义圆形轨迹飞行并在Gazebo中可视化,提供了Matlab/Simulink源代码,以及演示效果图。 环境: MATLAB : R2022b Ubuntu :20.04 LTS Windows :Windows 10 ROS :ROS2 Foxy Python: 3.8.2 Visual Studio :Visual Studio 2019 PX4 :1.13.0 ROS2的应用程序管道非常简单,这要

    2024年02月22日
    浏览(69)
  • 树莓派4B+Ubuntu22.04 Server安装ROS2 Humble

    通过本章学习,了解ROS2相关版本,能够熟练掌握ROS2安装相关操作,最终让 Talker-listener 实例跑起来。 参考网站: ROS2官网:https://www.ros.org/ ROS2 Humble版本:https://docs.ros.org/en/humble/Installation.html 注意:如果对ROS已经有一定的了解,可以忽略此章节。 更多更具体的ROS介绍请查看

    2024年02月11日
    浏览(60)
  • ubuntu22.04一键安装ROS1和ROS2(超简单,亲测可靠)

    这几天在安装ros,然后发现可以一键安装,话不多说,直接终端输入如下指令 回车之后系统会自动安装ros 详见鱼香ROS

    2024年02月11日
    浏览(63)
  • 【2023】Windows11安装Linux子系统(Ubuntu22.04LTS)+安装ROS

    目录 一、准备工作 二、安装Ubuntu 22.04.1 LTS 1. 下载Ubuntu 22.04.1 LTS 2. 移动到非系统盘 三、启动Ubuntu遇到的报错及解决方案 四、换源 五、安装ROS 1. 设置编码 2. 添加源 3. 安装ROS 4. 设置环境变量 5. 测试 控制面板——程序——程序和功能——启动或关闭 Windows 功能   开启如图所

    2024年02月10日
    浏览(73)
  • Ubuntu22.04源码安装ROS-noetic(ROS1非ROS2),编译运行VINS-MONO

    由于22.04默认安装ROS2,但很多仓库都是基于ROS1的,不想重装系统,参考这两个博客安装了ROS-noetic: 博客1. https://blog.csdn.net/Drknown/article/details/128701624 博客2. https://zhuanlan.zhihu.com/p/418227536 我的库版本(实测可行): eigen:3.3.7 ceres:1.14.0(用2.系列版本的编译时需要把C++版本设

    2024年02月02日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包