说明:此文仅针对Learning ROS for Robotics Programming - Second Edition这本书中的第八章的内容。
一、使用gazebo创建建筑
1 . 打开building editor
(1) . 开启gazebo
$ gazebo
(2). 按Ctrl+B打开编辑器
2. 图形用户接口
编辑器由三部分组成:
(1) Palette,在这里可以选择建筑的特征和材料。
(2) 2D View,可以导入floor计划嵌入墙,窗,门和台阶。
(3) 3D View,建筑物的预览,能够设计建筑物不同部分的颜色和纹理。
3. 导入floor计划
导入一个用来创建建筑的模板。
点击here获得floor计划,然后按一下步骤进行:
(1) 点击Import按钮。导入图像目录会出现。
(2)step1:选择之前保存在电脑中的图片,此图片放在文件夹内。
(3) step2:确定图像中墙的正确的尺度。
(4)图像会出现在2D View中。
4. 添加墙、窗和门
5. 编辑建筑
编辑墙、门和窗过程,双击相应要编辑的内容,即可出现参数框,按自己的要求编辑即可。
可以按需要对墙等增加纹理。
6. 保存建筑
保存会创建一个建筑的目录,SDF和配置文件。在保存前,在Palette中给建筑一个名字。
在顶部菜单,选择File,然后Save As(或者Ctrl+S)。一个目录将会出现提供来选择模型存储的位置。
Note:保存位置要在.gazebo/models目录下。
保存后,即可退出,一旦退出后,此建筑便不可编辑。
二、将编辑完成的建筑用于仿真使用
1. 在/usr/share/gazebo-6.6/worlds目录下创建filename1.world文件,添加以下文本:
<?xml version="1.0" ?>
<sdf version="1.5">
<world name="default">
<include>
<uri>model://ground_plane</uri>
</include>
<include>
<uri>model://sun</uri>
</include>
<include>
<uri>model://Robot_house</uri>
</include>
</world>
</sdf>
这里可能需要更改worlds文件夹的权限:
$ sudo su
$ chmod -R 777 文件夹路径
**2. 在gazebo_ros/launch 目录下创建名为
filename2.launch的文件,添加如下文本:**
<?xml version="1.0"?>
<launch>
<!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="worlds/filename2.world"/> <!-- Note: the world_name is with respect to GAZEBO_RESOURCE_PATH environmental variable -->
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>
<arg name="gui" value="true"/>
<arg name="headless" value="false"/>
<arg name="debug" value="false"/>
</include>
</launch>
3. 最后在gazebo_mapping_robot.launch文件中,将willowgarage_world.launch替换为filename2.launch。最终运行即可。