Ubuntu24.04系统ROS2jazzy安装gazebo

##         由于课程要求,使用了最新的ubuntu24.04系统,安装的是ros jazzy,从这一版开始和以前的gazebo版本不同,所以网上大部分教程的快速安装指令都不太好使,所以我只能去官网查它的使用说明,下面是一些总结。 ##

ROS安装

ros的安装并不复杂,离不开许多大佬的开源,如果还没有成功安装ros或者感觉自己的ros安装缺了什么东西,打算重新安装的话,可以使用鱼香ros一键安装,

兼容的ROS和Gazebo组合

该表格包含所有当前支持的ROS和Gazebo版本。所有其他ROS和Gazebo版本均已终止支持,官方不建议继续使用。 附上官网链接,也可以自己看一眼:gazebo官网

Ubuntu24.04系统ROS2jazzy安装gazebo

  • ✅ - 推荐组合
  • ❌ - Incompatible / not possible.
  • ⚡ - 可行,但需谨慎使用。这些ROS和Gazebo的组合可以协同工作,但需要做一些额外调试。

可以看见我们需要安装GZ Harmonic (LTS)版本,下面是安装过程。

1. ros-gz的安装指令:

sudo apt update
sudo apt upgrade
sudo apt-get install ros-jazzy-ros-gz
上面是官网的指令,但是实测发现有几个带后缀的包它没有安装,
保险起见,可以再执行下面这个
sudo apt-get install ros-jazzy-ros-gz*

需要注意的是,上面安装的是ros-gz,而不是我们需要的Gazebo(现在叫做GZ Harmonic)

ROS-GZ 是连接这个虚拟实验室与ROS 2系统的桥梁。它负责在Gazebo Gz仿真环境和ROS 2之间建立通信通道,让您用ROS 2编写的控制算法能够操控仿真中的机器人,同时将虚拟传感器采集的数据实时传递回ROS系统进行处理和分析。

Gazebo Gz 则是仿真平台,它就像一个高度逼真的虚拟机器人实验室。在这个虚拟环境中,可以测试机器人的各种行为,包括物理运动、传感器反馈和环境交互,所有这些都是基于真实的物理规律进行计算和模拟的。

2. Gazebo Gz的安装指令:

众所周知,一般安装可以选择二进制安装或者源码安装两种方式,

二进制安装类似于使用预编译的软件包,直接通过包管理器(如apt)一键安装。这种方式简单快捷、依赖自动解决、稳定性有保障,非常适合初学者和快速部署。但缺点是软件版本可能不是最新的,且定制化选项有限。

源码安装则是从源代码 开始编译构建,整个过程更加灵活透明。开发者可以自由选择特定版本、修改源码适配特殊需求、启用或禁用特定功能模块。这种方式虽然能获得最新特性和高度定制性,但过程复杂、耗时较长,且需要自行处理依赖关系和解决编译错误。

所以我们选择二进制安装,但是不排除有的电脑装不了二进制的,那就附上源码安装方式,详见官网页面链接:Gazebo Gz官网安装页面

先安装一些必要的工具:
sudo apt-get update
sudo apt-get install curl lsb-release gnupg

然后开始安装:

sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] https://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update
sudo apt-get install gz-harmonic

再附上几种快速验证方式:

gz sim --version #查看版本
gz sim #打开Gz
gz --help #查看帮助

卸载二进制安装

如果需要卸载 Gazebo 或在安装后切换 到基于源代码的安装 已从二进制文件中安装了库,运行以下命令:

sudo apt remove gz-harmonic && sudo apt autoremove

ok,完事,如果有什么奇怪的问题出现,可以交流一下(在群里或者评论区)

 

上一篇 外网单线路PPPOE-终端上不了网
下一篇 一台设备多个 IP,哪个地址会优先被使用?