【Gazebo入门教程】第四讲 场景建模/建筑编辑器

【Gazebo入门教程】第四讲 场景建模/建筑编辑器

在这里插入图片描述

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

一、场景编辑器

1.1 打开方式:


(1)启动Gazebo,选择EditBuilding Editor
(2)启动Gazebo,快捷键Ctrl+B

在这里插入图片描述

1.2 UI界面分析:


在这里插入图片描述

\qquad 1. 调色板

左边绿色的是调色板,可以选择建筑物的特征和材质

\qquad 2. 2D视图

右上黄色的是2D视角,可以导入要描出的楼层平面图(可选),并插入墙,窗,门和台阶

\qquad 3. 3D视图

右下红色的是3D视角,可以预览你的建筑物,你也可以在这里为建筑的不同部分分配颜色和纹理


二、导入平面图

2.1 导入图片

  • 场景建造:创建建筑有两种方法,即通过现有的图像作为模板进行设计,或者完全从零开始手动创建建筑场景,注意:此处的模板图像应尽量为激光扫描等清晰图像,此处以前者为例,图片如下:

在这里插入图片描述

  • 导入图像:
  1. 点击调色板下方的Import按钮。然后将会弹出Import Image对话框;
  2. 选择平面图所在路径,然后单击Next

在这里插入图片描述

2.2 设置分辨率

  • 设置分辨率:

【目的:确保图像上的墙以正确比例显示,用像素/米设置图像分辨率,自行计算分辨率的方法如下;】

  1. 选择一段你知道真实世界长度的线,比如顶壁红框的距离为7.5米;
  2. 鼠标在墙的一端单击,水平移动鼠标至另一端,再点击一次(显示橙色线);
  3. 设置Distance为真实世界距离,输入对话框,自动重新计算分辨率;
  4. 单击OK完成设置

在这里插入图片描述

三、添加特征

1. 创建墙壁

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

在这里插入图片描述

  • 注意事项:
  1. 门窗会在后续步骤中添加,故墙壁绘制可以相对随意,还会进行细致的编辑处理;
  2. 默认情况下,墙体会以15°和0.25 m递增,并且还会捕捉到现有墙的端点。如果不希望自动补抓,可在绘图时按住Shift进行自由绘画。
  3. 没有使用调色板内特征时,可以点击2D视图内的特征并拖动进行微调;
  4. 选中某堵墙,2D视图中会橘黄色高亮该墙壁,继续左键双击,可以打开墙壁检查器Wall Inspector,对数据进行准确操作(修改墙的厚度、长、高等数据)

2. 创建楼层

  • 前提:继续添加高层楼层的前提是前一层的墙壁必须创建完毕,通过+添加楼层,并在2D视图中选中view指定楼层,其中当前选中楼层会在3D视图中呈半透明状,低层不透明,高层隐藏,效果如下;

在这里插入图片描述

  • 注意事项:
  1. 创建流程:在2D视图的顶部,单击+添加一个级别。或者,右键单击2D视图,然后选择Add a level
  2. 添加新层后,将自动插入地板。如果下面的台阶上有楼梯,则在保存建筑物时,将从地面上挖一个台阶
  3. 建立新层时复制上一层的所有墙体,并且使用默认材质。没有其他特征被复制。可以手动删除不需要的墙。

3. 添加门窗和台阶


(1)门窗

  • 绘制步骤:
  1. 在调色板上,点击WindowDoor;
  2. 在2D视图中移动鼠标时,要插入的特征会随之移动,在3D视图中其对应物也会随之移动
  3. 单击所需位置以放置特征。

在这里插入图片描述

  • 注意事项:
  1. 目前,门窗视为墙上的简单孔/洞;
  2. 将鼠标悬停在门上时,门窗会自动与墙壁对齐。移动时会显示到墙的末端的距离。
  3. 在墙壁上添加了相关特征之后,可能很难看到其在平面图中的位置。为了简化操作,可以在2D视图的顶部选择查看或隐藏当前级别的平面图或特征。还可以使用热键来切换可见性,F对应floor和G对应特征;

(2)楼梯

  • 绘制步骤:
  1. 在调色面板上,单击Stairs
  2. 在2D视图中移动鼠标时,要插入的特征会随之移动,在3D视图中其对应物也会随之移动
  3. 单击所需位置以放置特征,在2D视图内放置后,双击打开台阶检查器Stairs Inspector可以更改属性。

在这里插入图片描述


4. 添加颜色和质地

  • 添加方法:两种方法,分别如下:

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

在这里插入图片描述

2. 从调色板中选择颜色和纹理,点击调色板内的任一特征,鼠标会变成对应特征,再移动鼠标至3D视图内进行编辑既可。添加完成之后,鼠标右键可以退出当前特征的选中:

  1. 单击调色板中的颜色或纹理
  2. 在3D视图中移动鼠标时,悬停的功能将突出显示,显示所选材质的预览
  3. 单击突出显示的功能会为其分配选定的材料,根据需要单击任意数量的功能
  4. 完成所选材质的操作后,右键单击3D视图,或在任何要素外部单击以退出材质模式

注意:在高版本的Gazebo中可以通过点击调色板内的More可完成自定义颜色,但要注意目前不支持自定义材质,每个特征只能有一种颜色,和一种材质】


四、编辑与保存建筑

1. 编辑建筑

  • 楼层:
  1. 变更楼层:通过2D视图顶部的下拉列表选择对应楼层
  2. 编辑楼层:双击2D视图以打开带有层配置选项的检查器。或者,右键单击并选择Open Level Inspector
  3. 删除楼层:按2D视图顶部的-按钮删除当前层,或右键单击并选择Delete Level

在这里插入图片描述

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

在这里插入图片描述


2. 保存建筑

  • 修改模型名称:在左上方的Model Name
  • 保存步骤:
  1. 顶部工具栏点击File -> Save As(或者Ctrl + S)
  2. 保存时,会新建一个目录,该目录下存有.sdf和配置文件
  3. Advanced Options里,可以添加名称和描述

在这里插入图片描述

  • 后续操作:退出建筑编辑器后,进入模型编辑器,File ->Exit Building Editor,可以通过Insert标签中找到该场景并添加完成仿真;

总结

  • 内容分析:本篇博客主要介绍了在Gazebo中如何进行场景的建模,通过使用建筑编辑器,导入外部图像文件并手动创建墙体、门窗、楼层等结构,通过对建筑的编辑和创建完成机器人工作环境的设立,采用图文并盛的方式进行细致讲解,完成了创建机器人仿真环境的完整过程。

在这里插入图片描述

  • 注意:本文参考了Gazebo官方网站以及古月居中的Gazebo有关教程,主要目的是方便自行查询知识,巩固学习经验,无任何商业用途。

猜你喜欢

转载自blog.csdn.net/lc1852109/article/details/126435858
今日推荐