GUI 使用入门
本指南介绍 Gazebo 的图形用户界面(GUI)。
开始之前,你应该已经 安装了 Jetty。如果你 从源码安装,则需要 source 工作区;否则,就可以直接开始了!
首先使用一个示例世界启动 Gazebo:
gz sim shapes.sdfgz sim 将运行你已安装的最新版本 Gazebo。
你可以运行 gz sim --versions 检查是否安装了多个版本的 Gazebo。
例如,如果你安装了 Ionic(9.x.x)、Harmonic(8.x.x)、Garden(7.x.x)和 Fortress(6.x.x),--versions 可能会返回:
10.0.09.0.08.0.07.0.0为了确保你使用的是 Jetty,启动时请加上 --force-version 参数:
gz sim --force-version 10 shapes.sdf注意:传给
--force-version的版本可以只写主版本号,也可以写--versions列出的确切版本号。
运行 shapes.sdf 后,你应该会看到以下界面:

界面由几个部分组成:
GUI 顶部的工具栏包含两个按钮:左侧是文件菜单按钮(
),右侧是插件按钮(
)。
文件菜单按钮可以将世界保存到文件、保存和加载界面配置,以及自定义界面样式。
界面配置由你已加载的插件和当前的样式设置组成。

文件菜单按钮下方的左上角工具栏包含形状按钮(box、sphere、cone、cylinder、capsule)以及灯光按钮(point、directional 和 spot)。 形状按钮允许你直接将 box、sphere、cone、cylinder 或 capsule 模型插入到世界中。 点击要插入的形状,然后将其放置到世界中即可。 该形状会自动吸附到地面平面,其属性会显示在 Entity Tree 插件窗口中。
下图展示了添加三个形状(box_0、sphere_0 和 capsule_0)后的场景和 Entity Tree:

第二行中的前五个按钮用于 Transform Control。要了解更多关于该插件的信息,请参阅 Manipulating Models 教程中的 Transform Control 部分。
插件按钮会列出所有可用的插件。向下滚动列表,可查看当前 Gazebo 版本可用的所有插件。选择其中一个后,其界面会出现在右侧面板中。
启动时,GUI 右侧面板中会显示两个插件。顶部是 Component Inspector,其下方是 Entity Tree。
仿真中的一切都被视为一个“实体”(entity)。
在 shapes.sdf 中,列出的实体包括地面平面(ground plane)、每个形状模型和太阳。
Entity Tree 中的实体可以展开,显示其 link、相应的 visual 和 collision,以及(如果存在的话)joint。
你可以通过点击 Entity Tree 中实体的名称来选择仿真中的实体(或直接点击场景中的实体)。
按住 Ctrl 并点击可选择多个实体。

你可以右键点击任何插件,打开基本 Settings(设置)或 Close(关闭)。你可以通过插件菜单(重新)打开插件。
场景是与仿真世界和对象交互的区域。
目前,可通过鼠标在场景中进行多种导航操作:
- 左键点击:选择实体
- 右键点击:打开包含以下选项的菜单:
- Move to:将场景聚焦到某个实体上
- Follow:打开一个子菜单,提供不同选项来选择视图行为(跟随移动还是环绕)
- Track:选择一个视图跟踪的实体
- Remove:从仿真中删除实体
- Copy:将实体复制到虚拟剪贴板
- Paste:从虚拟剪贴板粘贴实体,创建副本
- View:打开一个子菜单,提供不同选项来可视化实体的仿真属性,如碰撞体、质心等
- 左键点击并拖动:平移场景
- 右键点击并拖动:放大和缩小
- 滚轮前后滚动:放大和缩小
- 按住滚轮并拖动:旋转场景
- 或者使用 Shift 键 + 左键点击并拖动
后续教程将深入讲解与场景中实体交互的更复杂方法。
Grid Config
Section titled “Grid Config”场景中的网格可见性可以通过插件调整。 你可以调整世界网格的属性,包括单元格大小、网格位置、单元格数量,甚至颜色。
从工具栏的插件按钮下拉列表中选择 Grid Config 插件,即可打开它。该插件会显示在右侧面板中(Entity Tree 下方,如果屏幕上未显示,请向下滚动)。

World Control
Section titled “World Control”在场景底部边缘,你会注意到几个按钮:

从左到右,选项分别是 Play(播放)、Steps(步进)、Reset(重置)、RTF(实时因子,real time factor)。
按下 Play 启动仿真,再次按下同一按钮可暂停仿真。
Steps 按钮可按步长(即仿真迭代)逐步推进仿真。将鼠标悬停在按钮上可以自定义步长。

按下 Reset 会清除对场景的所有未保存修改。例如,点击后会删除新插入的 box_0、sphere_0 和 capsule_0。
展开场景最右端的 RTF,不仅可以看到实时时间与仿真时间对比的百分比值,还能查看各项单独的数值以及迭代次数。

开始操作实体后,World Control 各项功能的作用就会更加清晰。
现在你已经熟悉了 Gazebo GUI 的导航和术语,接下来通过 Manipulating Models 教程学习更有意义的模型交互。