
前言:在先前的博客中,我们分别使用了Gazebo的模型编辑器(可视化方法)和SDF文件实现了对于机器人模型的建模,并简单添加了传感器进行仿真分析,想要进一步地进行实际仿真,就需要对于场景进行建模,创造出机器人所在的环境,本文从场景编辑器出发,介绍如何创建机器人的活动空间。
(1)启动Gazebo,选择
Edit,Building Editor;
(2)启动Gazebo,快捷键Ctrl+B;


\qquad 1. 调色板
左边绿色的是调色板,可以选择建筑物的特征和材质
\qquad 2. 2D视图
右上黄色的是2D视角,可以导入要描出的楼层平面图(可选),并插入墙,窗,门和台阶
\qquad 3. 3D视图
右下红色的是3D视角,可以预览你的建筑物,你也可以在这里为建筑的不同部分分配颜色和纹理

- 点击调色板下方的
Import按钮。然后将会弹出Import Image对话框;- 选择平面图所在路径,然后单击
Next;

【目的:确保图像上的墙以正确比例显示,用像素/米设置图像分辨率,自行计算分辨率的方法如下;】
- 选择一段你知道真实世界长度的线,比如顶壁红框的距离为7.5米;
- 鼠标在墙的一端单击,水平移动鼠标至另一端,再点击一次(显示橙色线);
- 设置
Distance为真实世界距离,输入对话框,自动重新计算分辨率;- 单击
OK完成设置

- 在调色板上单击
Wall;- 在2D视图上,在任意墙角
单击开始绘制墙体,随鼠标移动,墙的长度会自动显示;- 再次单击取消绘制,进入相邻墙体绘制,使用
Esc/双左击/右击完成取消绘制

- 门窗会在后续步骤中添加,故墙壁绘制可以相对随意,还会进行细致的编辑处理;
- 默认情况下,墙体会以15°和0.25 m递增,并且还会捕捉到现有墙的端点。如果不希望自动补抓,可在绘图时按住Shift进行自由绘画。
- 没有使用调色板内特征时,可以点击2D视图内的特征并拖动进行微调;
- 选中某堵墙,2D视图中会橘黄色高亮该墙壁,继续左键双击,可以打开墙壁检查器Wall Inspector,对数据进行准确操作(修改墙的厚度、长、高等数据)
+添加楼层,并在2D视图中选中view指定楼层,其中当前选中楼层会在3D视图中呈半透明状,低层不透明,高层隐藏,效果如下;
- 创建流程:在2D视图的顶部,单击
+添加一个级别。或者,右键单击2D视图,然后选择Add a level- 添加新层后,将自动插入地板。如果下面的台阶上有楼梯,则在保存建筑物时,将从地面上挖一个台阶
- 建立新层时复制上一层的所有墙体,并且使用默认材质。没有其他特征被复制。可以手动删除不需要的墙。
(1)门窗
- 在调色板上,点击
Window或Door;- 在2D视图中移动鼠标时,要插入的特征会随之移动,在3D视图中其对应物也会随之移动
- 单击所需位置以放置特征。

- 目前,门窗视为墙上的简单孔/洞;
- 将鼠标悬停在门上时,门窗会自动与墙壁对齐。移动时会显示到墙的末端的距离。
- 在墙壁上添加了相关特征之后,可能很难看到其在平面图中的位置。为了简化操作,可以在2D视图的顶部选择查看或隐藏当前级别的平面图或特征。还可以使用热键来切换可见性,F对应floor和G对应特征;
(2)楼梯
- 在调色面板上,单击
Stairs;- 在2D视图中移动鼠标时,要插入的特征会随之移动,在3D视图中其对应物也会随之移动
- 单击所需位置以放置特征,在2D视图内放置后,双击打开台阶检查器
Stairs Inspector可以更改属性。

1. 从Wall Inspector、Stairs Inspector和Level Inspector分别为墙壁,楼梯和地板添加颜色和纹理,随后打开检查器,选择材料,然后选择Apply完成

2. 从调色板中选择颜色和纹理,点击调色板内的任一特征,鼠标会变成对应特征,再移动鼠标至3D视图内进行编辑既可。添加完成之后,鼠标右键可以退出当前特征的选中:
- 单击调色板中的颜色或纹理
- 在3D视图中移动鼠标时,悬停的功能将突出显示,显示所选材质的预览
- 单击突出显示的功能会为其分配选定的材料,根据需要单击任意数量的功能
- 完成所选材质的操作后,右键单击3D视图,或在任何要素外部单击以退出材质模式
【注意:在高版本的Gazebo中可以通过点击调色板内的More可完成自定义颜色,但要注意目前不支持自定义材质,每个特征只能有一种颜色,和一种材质】
- 变更楼层:通过2D视图顶部的下拉列表选择对应楼层
- 编辑楼层:双击2D视图以打开带有层配置选项的检查器。或者,右键单击并选择
Open Level Inspector- 删除楼层:按2D视图顶部的-按钮删除当前层,或右键单击并选择
Delete Level

- 选中墙体:在2D视图中,单击要编辑的墙;
- 平移和旋转:通过将墙拖动到新位置来平移墙,通过拖动墙的端点之一来调整墙的大小或旋转墙;
- 编辑墙体:在2D视图中双击墙以打开带有配置选项的检查器。或者,右键单击并选择
Open Wall Inspector。编辑你想要修改的内容,然后按Apply预览更改- 删除墙体:选中你想要删除的墙体,按下
Delete键,或在2D视图中右键单击墙体,选择Delete。

Model Name中
- 顶部工具栏点击
File -> Save As(或者Ctrl + S)- 保存时,会新建一个目录,该目录下存有
.sdf和配置文件- 在
Advanced Options里,可以添加名称和描述

File ->Exit Building Editor,可以通过Insert标签中找到该场景并添加完成仿真;