课程介绍


预计完成时间:5分钟

1.2   Gazebo Sim、Ignition Gazebo 与 Gazebo Classic 对比

什么是 Gazebo Sim?

Gazebo Sim 是一个 3D 动态模拟器,能够在复杂的室内和室外环境中准确高效地模拟机器人群体。虽然与游戏引擎类似,但 Gazebo Sim 提供了更高保真度的物理模拟、一套完整的传感器系统,以及面向用户和程序的接口。

开源机器人基金会(OSRF) 开发并维护 Gazebo Sim

什么是 Ignition Gazebo?

Gazebo Sim 前身被称为 Ignition Gazebo。2022年4月,Open Robotics 团队宣布他们将弃用 Ignition Gazebo 这个名称,改用 Gazebo Sim,即 Ignition Gazebo 已经演变为 Gazebo Sim。实际上,从名为 Garden 的版本开始,Ignition Gazebo 已经重新品牌化为 Gazebo Sim。本课程基于 Garden 版本构建,采用新的 Gazebo Sim 品牌方案。因此,本课程教授以命令 gz 开头的命令行工具。例如:gz model --listgz topic -t /chatter "Hello!"。如果你计划使用之前的 Fortress 版本(第6版),则需要将 gz 命令改为 ign 命令。例如,gz model --list 命令必须更改为 ign model --list 才能在 Ignition Gazebo 中工作,而 gz topic -t /chatter "Hello!" 命令则需要更改为 ign topic -t /chatter "Hello!" 才能在 Ignition Gazebo 中使用。

参考资料: https://www.openrobotics.org/blog/2022/4/6/a-new-era-for-gazebo

Gazebo Sim 对机器人开发者有什么帮助?

Gazebo Sim 允许你在真实环境的动态模拟中测试机器人和算法。你可以选择多种物理引擎、高级3D图形、传感器及噪声模型、机器人插件以及现成的机器人模型库。此外,它运行在 TCP/IP 传输层之上,这使得网络集成变得简单,就像 ROS2 一样。

虽然 Gazebo Classic(版本11)是机器人操作系统(ROS)的默认模拟器,但它已达到最终发布阶段,Noetic 是 ROS1 的最终版本。因此,Gazebo Classic 不适用于 Humble 之后的新版 ROS2。新的 Gazebo Sim 将取代 Gazebo Classic

可视化和调试

运行模拟可以提供你所需的关于环境和机器人的所有信息。你甚至可以调试你的软件和模拟,查看哪个部分出了问题。如果你想测试特定情况,可以强制设定某种场景,反复运行软件直到获得必要的信息。

"快速失败,更快学习"

你不需要在真实机器人上测试软件来发现问题和调整参数。在模拟机器人上失败的速度更快、成本更低。它能比在真实机器人上尝试更快地改进你的软件。

构建机器人太昂贵了!

每个人都想在真实机器人上测试算法,但现实是拥有一台真实机器人太昂贵了!不仅购买构建机器人所需的所有组件很昂贵,而且将所有部件组装并协调工作也非常耗时。此外,你还需要处理机械、电子和软件等多个方面的问题。

社区支持

Gazebo Sim 是开源软件,由 OSRF 维护。它拥有一个充满活力的社区,鼓励用户使用、改进并为彼此提供支持。

Gazebo Sim 与 Gazebo Classic 的比较

Gazebo Sim 为模拟带来了全新的方法,提供了一整套开发库和云服务工具来简化模拟工作流程。

帮助你利用高保真的传感器数据流,在真实环境中快速迭代新的物理设计。你可以在安全的环境下测试控制策略,并在持续集成测试中充分利用模拟的优势。

虽然 Gazebo Classic 中的大多数功能已在 Gazebo Sim 中实现,但仍有一些功能尚待解决相关问题。这些问题将在 Gazebo Sim 的后续版本和更新中修复。

其中一个众所周知的问题是 Gazebo Sim 中没有"缩放模式"。因此模型无法调整大小或缩放。该功能目前存在问题,将在后续版本中整合进来。

参考资料: https://gazebosim.org/docs/fortress/comparison

在场景渲染方面可以看到显著的差异。Gazebo Classic 显示效果要暗得多,在相同光照条件下阴影不明显。相比之下,Gazebo Sim 能够以合适的亮度更好地渲染光照和场景,物体的阴影也清晰可见。

Gazebo Classic


Gazebo Sim