Gazebo Harmonic 和 ROS2 jazzy 安装和测试

devtools/2025/1/15 8:12:08/

之前,提及使用CoppeliaSim_Edu_V4_7_0,那么备选Gazebo一定不能缺席!

使用大模型撰写移动机器人模拟器(CoppeliaSim、Gazebo、MORSE和Webots)的定量比较研究报告-CSDN博客


CoppeliaSim + Gazebo + ROS2 Jazzy


安装:

简洁:

  179  sudo apt-get install lsb-release gnupg180  sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg181  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/null182  sudo apt-get update183  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) 的详细指导。

安装步骤
  1. 安装必要的工具

    首先,确保你的系统是最新的,并安装必要的工具:

    bash

    sudo apt-get update
    sudo apt-get install lsb-release gnupg
  2. 添加 Gazebo 仓库的 GPG 密钥

    从 OSRF 的服务器下载 GPG 密钥,并将其添加到系统的密钥环中:

    bash

    sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
  3. 配置 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
  4. 更新包列表并安装 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 RollingROS 2 IronROS 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发行版名称(如humblerollingfoxynoetic等):

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.0gz-sim7_7.1.0gz-sim7_7.0.1等),它们就是二进制兼容的,可以在给定的ROS发行版中互换使用。

5. 在Ubuntu上安装Gazebo

使用二进制包安装

在Ubuntu上安装Gazebo的最简单方法是使用二进制包。主要有两个仓库提供Gazebo模拟器和库:packages.ros.orgpackages.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版本是最简单且推荐的方法。

 



http://www.ppmy.cn/devtools/100325.html

相关文章

NET引用依赖、NuGet

我使用的VS是版本2022&#xff0c;如果低版本没有的话&#xff0c;需要自己找下。 1&#xff0c;普通程序集或者项目添加&#xff1a; 2&#xff0c;NuGet包模式的添加

Python知识点:如何使用Flask与AWS Lambda构建无服务器应用

使用Flask与AWS Lambda构建无服务器应用可以让你在无需管理服务器的情况下运行Python Web应用。AWS Lambda 是一个无服务器计算服务&#xff0c;它可以按需运行代码&#xff0c;而 AWS API Gateway 则可用于管理和路由 HTTP 请求到 Lambda 函数。为了将 Flask 应用部署到 AWS L…

一元四次方程求解-【附MATLAB代码】

目录 前言 求解方法 MATLAB验证 附&#xff1a;一元四次方程的故事 前言 最近在研究机器人的干涉&#xff08;碰撞&#xff09;检测&#xff0c;遇到了一个问题&#xff0c;就是在求椭圆到原点的最短距离时&#xff0c;构建的方程是一个一元四次方程。无论是高中的初等数学…

Delphi5实现主要——明细型数据库应用

文章目录 效果图主要——明细型数据库特点 数据库实现方式完整代码 效果图 主要——明细型数据库 在Delphi中&#xff0c;主要——明细型数据库是一种数据库应用程序的设计模式&#xff0c;它涉及到多个数据库表之间的关联操作&#xff0c;以实现对复杂数据结构的有效管理。这…

HarmonyOS NEXT 地图服务中‘我的位置’功能全解析

1 前言 “我的位置”功能在表象上或许给人以简单之感&#xff0c;但从专业角度深入剖析&#xff0c;其蕴含着极为可观的信息量与巨大潜力。此功能绝非仅仅局限于作为一个单纯显示用户当前所处地点的标识&#xff0c;而确切地说是连接用户与周边世界、实现个性化服务的关键纽带…

Python(Falsk) + React Golang(Gin) + Vue 全栈开发的最佳实践

前面分别讲了 Python(Falsk) 、 React 、 Golang(Gin) 、 Vue(Element)&#xff0c;现在整体的给大家汇报一下&#xff0c;这个是简单搭建的demo&#xff0c;后面的添砖加瓦需要自己动手咯&#xff0c;有不明白的可以参考一下小编前面的文章&#xff0c;也许会给大家有答疑解惑…

Java:计算两个时间相差几天几小时并求和

我们在平时会遇到计算两个时间差换算成多少天多少小时&#xff0c;我们今天就来看看一个简单例子统计查询出的列表中两个时间差&#xff0c;换算成多少天多少小时 package com.kingbal.king.dmp;import lombok.extern.slf4j.Slf4j;/*** <b>Function: </b> todo** …

Spring Cloud全解析:网关之zuul过滤器

zuul过滤器 zuul有四种类型的过滤器 pre 请求被路由之前执行&#xff0c;可以进行限流、身份验证、鉴权、参数检验、请求转发&#xff0c;用于设置RequestContext中的数据&#xff0c;以供下游的过滤器使用route 路由后&#xff0c;微服务调用前执行&#xff0c;用来发送请求…