使用gazebo中的building editor建立一个建筑环境并用于仿真

说明:此文仅针对Learning ROS for Robotics Programming - Second Edition这本书中的第八章的内容。web

1、使用gazebo建立建筑ruby

1 . 打开building editorapp

(1) . 开启gazeboless

$ gazebo

(2). 按Ctrl+B打开编辑器编辑器

这里写图片描述

2. 图形用户接口svg

编辑器由三部分组成:
(1) Palette,在这里能够选择建筑的特征和材料。
(2) 2D View,能够导入floor计划嵌入墙,窗,门和台阶。
(3) 3D View,建筑物的预览,可以设计建筑物不一样部分的颜色和纹理。
这里写图片描述ui

3. 导入floor计划spa

导入一个用来建立建筑的模板。
点击here得到floor计划,而后按一下步骤进行:
(1) 点击Import按钮。导入图像目录会出现。
(2)step1:选择以前保存在电脑中的图片,此图片放在文件夹内。
这里写图片描述
(3) step2:肯定图像中墙的正确的尺度。
这里写图片描述
(4)图像会出如今2D View中。debug

4. 添加墙、窗和门设计

这里写图片描述
这里写图片描述
这里写图片描述

5. 编辑建筑

编辑墙、门和窗过程,双击相应要编辑的内容,便可出现参数框,按本身的要求编辑便可。
这里写图片描述
这里写图片描述

能够按须要对墙等增长纹理。
这里写图片描述

6. 保存建筑

保存会建立一个建筑的目录,SDF和配置文件。在保存前,在Palette中给建筑一个名字。
这里写图片描述
在顶部菜单,选择File,而后Save As(或者Ctrl+S)。一个目录将会出现提供来选择模型存储的位置。
这里写图片描述

Note:保存位置要在.gazebo/models目录下。
保存后,便可退出,一旦退出后,此建筑便不可编辑。

2、将编辑完成的建筑用于仿真使用

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。最终运行便可。