Skip to content

GUI 使用入门

本指南介绍 Gazebo 的图形用户界面(GUI)。

开始之前,你应该已经 安装了 Jetty。如果你 从源码安装,则需要 source 工作区;否则,就可以直接开始了!

首先使用一个示例世界启动 Gazebo:

Terminal window
gz sim shapes.sdf

gz sim 将运行你已安装的最新版本 Gazebo。 你可以运行 gz sim --versions 检查是否安装了多个版本的 Gazebo。 例如,如果你安装了 Ionic(9.x.x)、Harmonic(8.x.x)、Garden(7.x.x)和 Fortress(6.x.x),--versions 可能会返回:

Terminal window
10.0.0
9.0.0
8.0.0
7.0.0

为了确保你使用的是 Jetty,启动时请加上 --force-version 参数:

Terminal window
gz sim --force-version 10 shapes.sdf

注意:传给 --force-version 的版本可以只写主版本号,也可以写 --versions 列出的确切版本号。

运行 shapes.sdf 后,你应该会看到以下界面:

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 插件,即可打开它。该插件会显示在右侧面板中(Entity Tree 下方,如果屏幕上未显示,请向下滚动)。

选择 Grid Config

在场景底部边缘,你会注意到几个按钮:

回放按钮

从左到右,选项分别是 Play(播放)、Steps(步进)、Reset(重置)、RTF(实时因子,real time factor)。

按下 Play 启动仿真,再次按下同一按钮可暂停仿真。

Steps 按钮可按步长(即仿真迭代)逐步推进仿真。将鼠标悬停在按钮上可以自定义步长。

悬停显示步进

按下 Reset 会清除对场景的所有未保存修改。例如,点击后会删除新插入的 box_0、sphere_0 和 capsule_0。

展开场景最右端的 RTF,不仅可以看到实时时间与仿真时间对比的百分比值,还能查看各项单独的数值以及迭代次数。

RTF 展开

开始操作实体后,World Control 各项功能的作用就会更加清晰。

现在你已经熟悉了 Gazebo GUI 的导航和术语,接下来通过 Manipulating Models 教程学习更有意义的模型交互。