之前,提及使用CoppeliaSim_Edu_V4_7_0,那么备选Gazebo一定不能缺席!
使用大模型撰写移动机器人模拟器(CoppeliaSim、Gazebo、MORSE和Webots)的定量比较研究报告-CSDN博客
CoppeliaSim + Gazebo + ROS2 Jazzy
安装:
简洁:
179 sudo apt-get install lsb-release gnupg
180 sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
181 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
182 sudo apt-get update
183 sudo apt-get install gz-harmonic
sudo apt-get install 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] http://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
参考179-183行即可。
详细:
Ubuntu 上 Gazebo Harmonic 的二进制安装
Gazebo Harmonic 是为 Ubuntu Jammy (22.04) 和 Ubuntu Noble (24.04) 提供的二进制版本。这些二进制文件托管在 packages.osrfoundation.org
仓库中。为了方便安装,提供了一个名为 gz-harmonic
的元包,该包包含了 Gazebo Harmonic 所需的所有依赖和库。
警告
对于使用 gazebo-classic
(如 gazebo11
)的用户,请注意 gz-harmonic
默认不能与 gazebo11
并存。若需要同时安装,请参考[与 Gazebo11 并行安装 Gazebo](Installing Gazebo11 side by side with new Gazebo) 的详细指导。
安装步骤
-
安装必要的工具
首先,确保你的系统是最新的,并安装必要的工具:
bash
sudo apt-get update
sudo apt-get install lsb-release gnupg
-
添加 Gazebo 仓库的 GPG 密钥
从 OSRF 的服务器下载 GPG 密钥,并将其添加到系统的密钥环中:
bash
sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
-
配置 Gazebo 的 APT 仓库
将 Gazebo 的仓库地址添加到你的
sources.list
文件中,并指定使用前面下载的 GPG 密钥进行签名验证:bash
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
-
更新包列表并安装 Gazebo Harmonic
更新你的包列表,并安装
gz-harmonic
元包:bash
sudo apt-get update
sudo apt-get install gz-harmonic
安装完成后,所有相关的库和应用程序都应该已经就绪,你可以开始使用 Gazebo Harmonic 了。
卸载二进制安装
如果你需要卸载 Gazebo Harmonic 或切换到基于源代码的安装方式,可以使用以下命令:
bash
sudo apt remove gz-harmonic && sudo apt autoremove |
这条命令会移除 gz-harmonic
包及其所有依赖项(如果有的话),并清理不再需要的软件包。
回到开始
完成安装后,你可以回到[开始页面](Getting started page)来进一步学习如何使用 Gazebo Harmonic。该页面提供了关于如何启动 Gazebo、加载世界文件、添加模型等的基本指导。
使用说明
简洁:
gz sim shapes.sdf # Fortress and Citadel use "ign gazebo" instead of "gz sim"
加入光源对比差异,注意蓝球的阴影部分:
未添加:
添加后:
全部:
详细:
Gazebo 入门指南中文详细总结
第一步:安装
重要提示:
- 如果你是ROS用户,请先阅读ROS/Gazebo安装教程。
推荐安装:
- 新用户建议使用平台提供的二进制包进行安装。
不同平台支持的Gazebo版本:
- Ubuntu 24.04 Noble:推荐使用Gazebo Harmonic(如果使用ROS 2 Jazzy则更推荐)。
- Ubuntu 22.04 Jammy:推荐使用Gazebo Harmonic,同时支持Gazebo Garden和Gazebo Fortress(如果使用ROS 2 Humble或Iron则推荐后者)。
- Ubuntu 20.04 Focal:推荐Gazebo Garden,也支持Gazebo Fortress和Gazebo Citadel。
- Ubuntu 18.04 Bionic:仅支持Gazebo Citadel。
- Mac Ventura/Monterey:推荐Gazebo Harmonic,也支持Gazebo Garden、Gazebo Fortress和Gazebo Citadel。
- Windows:通过Conda-Forge的支持尚不完全,存在运行时问题,建议查看相关issue获取详情。
其他安装选项:
- 如果所需平台不在列表中或需要特定版本的Gazebo功能,可访问各版本的安装页面获取更多安装选项。
第二步:运行Gazebo
在Linux/macOS上:
- 安装完成后,可以从终端启动Gazebo Sim,一个3D机器人仿真器。
- 使用命令
gz sim shapes.sdf
(对于Fortress和Citadel版本,使用ign gazebo
代替gz sim
)来启动仿真服务器和GUI,并加载一个包含三个简单形状的世界。 - 可以添加
-v 4
参数来生成错误、警告、信息和调试消息。 - 可以使用
-s
(仅服务器)或-g
(仅GUI)参数来分别运行服务器或GUI。
在macOS上的特别说明:
- 由于GUI在macOS上可能不稳定,建议分别在不同终端中启动服务器和GUI。
- 如果遇到GUI问题,请在
gazebosim/gz-sim
仓库中提交issue。
第三步:创建自己的世界
- SDF(Simulation Description Format) 用于指定仿真的内容。
- 可以查看SDF教程或修改Gazebo自带的示例SDF文件来开始。
- 示例SDF文件通常包含如何运行仿真以体验特定功能的说明。
- 可以在Gazebo Fuel(https://app.gazebosim.org/fuel)上找到各种仿真资源,点击模型描述页中的<>图标可复制SDF代码片段,然后粘贴到自己的SDF文件中。
第四步:探索和学习
- 本教程涵盖了Gazebo入门的基本知识。
- 从Citadel版本开始,有更多分版本的教程,涵盖GUI基础、创建世界和机器人等内容。
- 每个Gazebo库都包含一套教程和示例,建议深入探索这些资源。
- 遇到问题时,可以在answers.gazebosim.org上提问并寻找解决方案。
通过以上步骤,你可以开始使用Gazebo进行机器人仿真了。
ROS2 Jazzy
以下是一个包含当前支持版本的ROS和Gazebo组合的中文表格概述。请注意,所有其他版本的ROS和Gazebo都已被视为生命周期结束,我们不建议继续使用它们。
Gazebo版本 | ROS 2 Jazzy (LTS) | ROS 2 Rolling | ROS 2 Iron | ROS 2 Humble (LTS) | ROS 2 Foxy (LTS) | ROS 1 Noetic (LTS) |
---|---|---|---|---|---|---|
GZ Citadel (LTS) | ❌ | ❌ | ⚡ | ⚡ | ✅ | ❌ |
GZ Fortress (LTS) | ❌ | ❌ | ✅ | ⚡ | ❌ | ⚡ |
GZ Garden | ⚡ | ⚡ | ⚡ | ❌ | ❌ | ❌ |
GZ Harmonic (LTS) | ✅ | ✅ | ⚡ | ⚡ | ❌ | ❌ |
说明:
- ✅ - 推荐组合:这些ROS和Gazebo版本的组合是推荐的,因为它们经过了充分的测试和支持。
- ❌ - 不兼容/不可能:这些ROS和Gazebo版本之间不兼容,无法一起使用。
- ⚡ - 可用但需谨慎:这些ROS和Gazebo版本可以组合使用,但需要额外的努力或配置,并且可能面临一些不稳定因素。
请注意,随着ROS和Gazebo的发展,这些兼容性信息可能会发生变化。建议查阅最新的官方文档或社区资源以获取最新信息。
安装
接口
sudo apt install ros-jazzy-ros-gz ros-jazzy-ros-gz-sim-demos ros-jazzy-ros-gz-bridge ros-jazzy-ros-gz-image ros-jazzy-ros-gz-interfaces ros-jazzy-ros-gz-sim
空环境
ros2 launch ros_gz_sim gz_sim.launch.py gz_args:=empty.sdf
图像管道
ros2 launch ros_gz_sim_demos image_bridge.launch.py
详细介绍
以下是关于安装ROS与Gazebo默认配对的中文详细总结:
1. 使用ROS仓库中的默认Gazebo版本
当您计划使用特定版本的ROS,且没有特定理由需要特定版本的Gazebo时,我们推荐从ROS仓库安装与该ROS版本兼容的默认Gazebo版本。这可以确保您获得的是经过测试且稳定的组合。
安装命令
在Linux系统上,您可以使用以下命令来安装与您的ROS发行版相匹配的Gazebo版本。请将${ROS_DISTRO}
替换为您的ROS发行版名称(如humble
、rolling
、foxy
、noetic
等):
bash
sudo apt-get install ros-${ROS_DISTRO}-ros-gz |
这个命令将安装与您的ROS安装相匹配的Gazebo库。
2. ROS 2中的Gazebo Vendor包
从ROS 2 Jazzy开始,Gazebo通过vendor包的形式在ROS包仓库中可用。如果您的包直接依赖于Gazebo库,而不是仅依赖于ros_gz
,请参考相关文档学习如何使用Gazebo vendor包。
3. 特定ROS和Gazebo的配对
Gazebo是一个独立的项目,类似于Boost、Ogre等ROS使用的其他项目。在每个ROS发布周期的开始,通常会有最新版本的Gazebo与之配套(例如ROS 2 Humble与Gazebo Fortress)。这个版本被选为该ROS发行版的官方Gazebo版本,并且在其生命周期内得到全面集成、测试和支持。
4. Gazebo的语义版本控制和兼容性
Gazebo的所有库都遵循语义版本控制(Semantic Versioning)的原则来保证ABI(Application Binary Interface)的稳定性。这意味着只要Gazebo版本号的主要数字相同(例如gz-sim7_7.0.0
、gz-sim7_7.1.0
、gz-sim7_7.0.1
等),它们就是二进制兼容的,可以在给定的ROS发行版中互换使用。
5. 在Ubuntu上安装Gazebo
使用二进制包安装
在Ubuntu上安装Gazebo的最简单方法是使用二进制包。主要有两个仓库提供Gazebo模拟器和库:packages.ros.org
和packages.osrfoundation.org
。
- packages.ros.org:
- ROS1 Noetic:Gazebo Citadel
- ROS2 Foxy:Gazebo Citadel
- ROS2 Humble:Gazebo Fortress
- ROS2 Iron:Gazebo Fortress
- ROS2 Rolling:Gazebo Fortress(经常变化)
- packages.osrfoundation.org:
- Gazebo Citadel
- Gazebo Fortress
- Gazebo Garden
- Gazebo Harmonic
由于您可以从ROS仓库安装Gazebo,因此通常不需要特别添加osrfoundation.org
仓库。
结论
选择与您的ROS发行版相匹配的Gazebo版本可以确保稳定性和兼容性。对于大多数用户来说,使用ROS仓库中的默认Gazebo版本是最简单且推荐的方法。