第2章:Gazebo界面与基本操作

说实话,我第一次打开Gazebo的时候,整个人是懵的。

满屏的英文菜单,一堆看不懂的按钮,还有个空荡荡的灰色世界。我当时心想:这玩意儿怎么玩?但别担心,这一章我带你把它摸透。你想想看,搞机器人仿真,界面都搞不明白,后面还怎么玩?

2.1 Gazebo主窗口长什么样?

启动Gazebo后,你会看到一个典型的3D仿真环境。我个人习惯先扫一眼整体布局,心里有个数。主窗口大概分成这么几块:

  • 3D场景视图:中间最大的那块区域,就是你的仿真世界。所有模型、机器人、传感器都在这里显示。
  • 左侧面板:默认显示“世界”和“模型”两个标签。世界标签里能看到光照、重力这些全局参数;模型标签里列出了当前场景中所有的物体。
  • 顶部工具栏:一排小图标,用来添加模型、移动物体、旋转视角等等。我建议你先记住几个常用的,后面操作会快很多。
  • 底部状态栏:显示仿真时间、实时因子(RTF)这些信息。嗯,这里要注意,RTF如果远小于1,说明你的仿真跑不动了。

核心要点:Gazebo的界面设计其实很直观——中间是场景,四周是控制。别被英文吓到,用几次就熟了。

2.2 场景与模型:理解这两个概念

说白了,场景就是你的“舞台”,模型就是舞台上的“演员”。

场景包含了地面、光照、重力这些环境属性。你可以在场景里添加墙壁、障碍物,甚至调整天气效果(虽然Gazebo默认没有雨雪,但可以自己加插件)。

模型则是具体的物体,比如机器人、桌子、箱子。每个模型都有自己的物理属性——质量、摩擦系数、碰撞形状。我在项目中遇到过一个问题:加了一个看起来很结实的箱子,结果仿真一启动它就穿模掉到地底下去了。后来发现是碰撞模型没设置好。

小技巧:添加模型时,记得检查它的“惯性”参数。如果模型飘在空中不动,八成是质量设成了0。

2.3 鼠标控制视角:平移、旋转、缩放

这部分是基本功。你想想看,视角都控制不好,怎么观察机器人的运动?

Gazebo的鼠标操作其实和很多3D软件类似:

操作 鼠标动作 效果
平移视角 按住鼠标滚轮 + 拖动 上下左右移动视野
旋转视角 按住鼠标左键 + 拖动 围绕场景中心旋转
缩放视角 滚动鼠标滚轮 拉近拉远视野

我曾经带过一个实习生,他搞了半天视角都转不动,后来发现他按的是鼠标右键。嗯,这里要记住:左键旋转,滚轮平移,中键缩放——不对,说反了。上面表格才是对的,你照着练两遍就记住了。

避坑指南:如果你发现视角卡住了,或者模型突然消失,别慌。按一下键盘上的 Ctrl + R 重置视角,或者双击场景中的某个模型,视角会自动聚焦到它身上。

2.4 添加一个简单的立方体模型

好,理论讲完了,我们来动手。添加一个立方体模型,这是你第一次在Gazebo里“造东西”。

操作步骤很简单:

  1. 点击顶部工具栏的“添加”按钮(一个带加号的立方体图标)。
  2. 在弹出的模型列表中,找到“cube”或者“box”。
  3. 点击它,然后在场景中任意位置点击一下,立方体就出现了。

如果你找不到“cube”模型,也可以手动创建一个。我个人习惯用这种方法,因为更灵活:

# 在终端中运行
gedit ~/.gazebo/models/my_box/model.sdf

然后把下面的内容粘贴进去:

<?xml version='1.0'?>
<sdf version='1.6'>
  <model name='my_box'>
    <static>false</static>
    <link name='link'>
      <collision name='collision'>
        <geometry>
          <box>
            <size>1 1 1</size>
          </box>
        </geometry>
      </collision>
      <visual name='visual'>
        <geometry>
          <box>
            <size>1 1 1</size>
          </box>
        </geometry>
      </visual>
    </link>
  </model>
</sdf>

保存后,回到Gazebo,点击“添加”,你应该就能在列表里看到“my_box”了。点击它,放到场景里。一个1米见方的立方体就出现了。

为什么这么做?因为Gazebo的模型本质上是SDF文件。你手动创建模型,能更深入理解它的结构。以后做复杂机器人,你肯定要自己写SDF的。

2.5 本章知识体系

下面这张图帮你梳理一下本章的核心逻辑:

第2章:Gazebo界面与基本操作 认识主窗口 场景与模型概念 鼠标控制视角 3D场景视图 左侧面板 顶部工具栏 底部状态栏 场景:环境属性 模型:物理物体 SDF文件结构 左键:旋转 滚轮:平移 滚轮滚动:缩放 实践:添加立方体模型

这张图把本章内容分成了三大块:认识界面、理解概念、动手操作。你跟着这个逻辑走,就不会乱。

2.6 一些个人经验

最后分享几个小经验:

  • 别急着加复杂模型:先从立方体、球体开始,把基本操作练熟。我见过有人一上来就加载UR5机械臂,结果界面卡死,心态崩了。
  • 学会看日志:Gazebo终端会输出很多信息。如果模型加载失败,日志里通常会有提示。我曾经花了一下午找bug,最后发现是SDF文件里少写了一个斜杠。
  • 多按F1:Gazebo有内置帮助文档,按F1就能打开。虽然全是英文,但配合翻译软件也能看懂个七七八八。

额外提示:如果你添加的立方体掉到了地面以下,说明它的初始位置设在了地面下方。选中模型,用工具栏的“移动”工具把它拖上来就行。

好了,这一章的内容就到这里。你学会了认识Gazebo界面,理解了场景和模型的概念,掌握了鼠标控制视角的方法,还亲手添加了一个立方体模型。嗯,基础打牢了,后面才能跑得快。

可可精品资料库