gazebo教程(八)场景建模
csdn同步更新,主页
一、介绍
在gazebo中,我们不仅可以对机器人建模,还可以对场景建模(即机器人所在环境),这一节就给大家介绍如何在gazebo中创建一栋房子,作为机器人的活动空间。
1、打开场景编辑器
启动gazebo,依次点击 Edit -> Building Editor
, 或者使用快捷键 Ctrl+B
打开编辑器。界面如下:
UI介绍
该编辑器由以下3个区域组成:
-
调色板,在这里你可以选择你的建筑特征和材料。
-
2D视图,你可以导入楼层平面图,编辑器会根据平面图自动插入插入墙壁,门窗和楼梯。
-
3D视图,在这里你可以看到你的建筑物的预览。您还可以在其中为建筑物的不同部分分配颜色和纹理。
image
二、导入平面图
您可以从零开始创建建筑场景,也可以使用现有图像作为模板进行追溯。该图像可以是例如建筑物的2D激光扫描。
这里给出示例平面图:
image
然后按以下步骤操作:
1、点击调色板下方的Import
按钮。然后将会弹出Import Image
对话框。
2、选择平面图所在路径,然后单击Next
。
3、为确保在图像上绘制的墙以正确的比例显示,必须以像素/米(px/m
)设置图像的分辨率。如果知道分辨率,则可以直接在对话框中输入分辨率,然后单击Ok
。在此示例中,我们不知道分辨率,但是我们知道图像中两点之间的真实距离(例如7.5 m的顶壁),因此我们可以使用它来计算分辨率:
-
点击墙的一端,然后在另一端释放。当您移动鼠标时,将显示橙色线,如下所示。
-
现在,在对话框中输入以米为单位的距离(在这种情况下为7.5 m)。分辨率将根据您绘制的线条自动为您计算。
-
最后,单击
imageOk
。
三、添加特征
墙壁
我们接下来会根据平面图绘制所有的墙壁。值得注意的是,稍后我们会将门窗附加到墙壁上,因此现阶段可以直接忽略门窗位置。如果你觉得墙壁不完美,不用担心,稍后我们将对其进行更加细致的编辑。
-
在调色板上,单击
Wall
。 -
在2D视图上,在任意墙角单击开始绘制墙体。随着鼠标的移动,墙的长度也会跟着显示。
-
再次单击可以结束当前墙体的绘制,转而进入相邻墙体的绘制,如果想要取消绘制可以
imageesc
。(这里跟cad sw的绘制直线有点类似)。
默认情况下,墙体会以15°和0.25 m递增,并且还会捕捉到现有墙的端点。如果不希望自动补抓,可在绘图时按住
Shift
。
添加门窗
注意:目前,门窗是墙上的简单孔。
让我们在平面图上所示的位置插入门窗。
-
在面板上,单击
Window
或Door
。 -
在2D视图中移动鼠标时,要插入的特征会随之移动,在3D视图中其对应物也会随之移动。
-
单击所需位置以放置特征。
image提示:将鼠标悬停在门上时,门窗会自动与墙壁对齐。移动时会显示到墙端的距离。
image提示:在墙壁上添加了相关特征之后,可能很难看到其在平面图中的位置。为了简化操作,您可以在2D视图的顶部选择查看或隐藏当前级别的平面图或特征。您还可以使用热键来切换可见性,
F
对应floor和G
对应特征。
添加楼梯
尽管在这个平面图上没有显示楼梯,但是我们还是要插入一个楼梯。
-
在调色面板上,单击
Stairs
。 -
在2D视图中移动鼠标时,要插入的楼梯也随之移动,在3D视图中也是如此。
-
为您的楼梯选择一个位置,然后单击放置它。
添加层
我们已经完成了第1层的工作。接下来我们要在建筑物中添加另一个层,使得我们的楼梯能够连接到某个地方。
- 在2D视图的顶部,单击+添加一个级别。或者,右键单击2D视图,然后选择
Add a level
- 添加新层后,将自动插入地板。如果下面的台阶上有楼梯,则在保存建筑物时,将从地面上挖一个台阶。
image注意:目前,所有楼层均为矩形。
提示:在添加层之前,请确保要在当前层上建立墙体。
提示:目前,建立新的层时是复制上一层的所有墙体,并且使用默认材质。没有其他特征被复制。您可以手动删除不需要的墙。
编辑建筑物
注意:编辑建筑物时要小心;编辑器目前无法撤消您的操作。
提示:所有度量单位均为米。
变更层数
由于添加一层,因此在2D视图中我们看到的同样是新一层的平面图。您可以通过从2D视图顶部的下拉列表中选择层2返回到层1。
提示:在2D视图中,当前选择的层在3D视图中将显示为半透明,而其下面的所有层将显示为不透明。上面的层将被隐藏,但是依旧存在。
如果有需要,我们还可以编辑一些相关层的配置。
- 双击2D视图以打开带有层配置选项的检查器。或者,右键单击并选择
Open Level Inspector
您可能添加了不需要的级别,或者在当前层中弄乱了,并希望重新绘制,可以
- 按2D视图顶部的
-
按钮删除当前层,或右键单击并选择Delete Level
。
编辑墙体
我们之前画了很多墙,但是也许它们并没有完全按照我们想要的方式绘制。我们有以下方式可以进行修改:
1、在2D视图中,单击要编辑的墙。
-
通过将墙拖动到新位置来平移墙。
-
通过拖动墙的端点之一来调整墙的大小或旋转墙。
2、在2D视图中双击墙以打开带有配置选项的检查器。或者,右键单击并选择Open Wall Inspector
。编辑你想要修改的内容,然后按Apply
预览更改。
3、选中你想要删除的墙体,按下键盘上的Delete
键,或在2D视图中右键单击墙体,选择Delete
。
编辑门窗
现在让我们一起编辑门窗。正如我们编辑墙体那样,也可以通过以下几种不同的方式更精确地控制门窗属性。
1、在2D视图中,单击要编辑的特征。
-
通过将特征拖动到新位置来对其进行变换。
-
拖动特征的旋转手柄来旋转特征。当前,只要将它们附着在墙上,它们的方向就不会改变。
-
通过拖动端点之一来调整特征的宽度。
2、双击2D视图中的特征以打开带有配置选项的检查器。或者,右键单击并选择Open Window/Door Inspector
3、选中想要删除的特征,按下键盘的Delete
键,或在2D视图中右键单击并选择Delete
。
编辑楼梯同样如此,这里就不细说了
image
添加颜色和纹理
现在,一切都已正确放置并确定大小,您可以为墙壁,地板和楼梯分配颜色和纹理。请记住,门窗只是墙上的孔,因此不能有任何材料。
有两种方法可以为建筑物添加颜色和纹理:
-
您可以从
Wall Inspector
、Stairs Inspector
和Level Inspector
分别为墙壁,楼梯和地板添加颜色和纹理。只需打开检查器,选择材料,然后按Apply
-
可以从调色板中选择颜色和纹理,然后通过在3D视图中单击将其分配给建筑物中的项目。
a、单击调色板中的颜色或纹理。
b、在3D视图中移动鼠标时,悬停的功能将突出显示,显示所选材质的预览。
c、单击突出显示的功能会为其分配选定的材料。您可以根据需要单击任意数量的功能。
d、完成所选材质的操作后,右键单击3D视图,或在任何要素外部单击以退出材质模式。
image
凉亭5.1的新增功能:要选择自定义颜色,请在More调色板上单击。将打开一个对话框,您可以在其中指定自定义颜色。
image
保存场景
保存之前,在选用板上给您的建筑物起个名字。
在这里插入图片描述
在顶部菜单上,选择File
,然后Save As
(或按Ctrl+S
)。将出现一个对话框,您可以在其中选择模型保存的位置。
退出
注意:一旦退出场景编辑器后,场景就不能够再次编辑了。
完成创建建筑物并保存之后,请转到File
,然后单击Exit Building Editor
,您的建筑物将显示在主窗口中。您可以在Insert
标签中找到该场景。
,,,