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

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

一、使用gazebo创建建筑

1 . 打开building editor

(1) . 开启gazebo

$ gazebo

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

使用gazebo中的building editor创建一个建筑环境并用于仿真_第1张图片

2. 图形用户接口

编辑器由三部分组成:
(1) Palette,在这里可以选择建筑的特征和材料。
(2) 2D View,可以导入floor计划嵌入墙,窗,门和台阶。
(3) 3D View,建筑物的预览,能够设计建筑物不同部分的颜色和纹理。
使用gazebo中的building editor创建一个建筑环境并用于仿真_第2张图片

3. 导入floor计划

导入一个用来创建建筑的模板。
点击here获得floor计划,然后按一下步骤进行:
(1) 点击Import按钮。导入图像目录会出现。
(2)step1:选择之前保存在电脑中的图片,此图片放在文件夹内。
使用gazebo中的building editor创建一个建筑环境并用于仿真_第3张图片
(3) step2:确定图像中墙的正确的尺度。
使用gazebo中的building editor创建一个建筑环境并用于仿真_第4张图片
(4)图像会出现在2D View中。

4. 添加墙、窗和门

使用gazebo中的building editor创建一个建筑环境并用于仿真_第5张图片
使用gazebo中的building editor创建一个建筑环境并用于仿真_第6张图片
使用gazebo中的building editor创建一个建筑环境并用于仿真_第7张图片

5. 编辑建筑

编辑墙、门和窗过程,双击相应要编辑的内容,即可出现参数框,按自己的要求编辑即可。
使用gazebo中的building editor创建一个建筑环境并用于仿真_第8张图片
使用gazebo中的building editor创建一个建筑环境并用于仿真_第9张图片

可以按需要对墙等增加纹理。
使用gazebo中的building editor创建一个建筑环境并用于仿真_第10张图片

6. 保存建筑

保存会创建一个建筑的目录,SDF和配置文件。在保存前,在Palette中给建筑一个名字。
使用gazebo中的building editor创建一个建筑环境并用于仿真_第11张图片
在顶部菜单,选择File,然后Save As(或者Ctrl+S)。一个目录将会出现提供来选择模型存储的位置。
使用gazebo中的building editor创建一个建筑环境并用于仿真_第12张图片

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

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

1. 在/usr/share/gazebo-6.6/worlds目录下创建filename1.world文件,添加以下文本:


<sdf version="1.5">
  <world name="default">
    <include>
      <uri>model://ground_planeuri>
    include>
    <include>
      <uri>model://sunuri>
    include>
    <include>
      <uri>model://Robot_houseuri>
    include>
  world>
sdf>

这里可能需要更改worlds文件夹的权限:

$ sudo su
$ chmod -R 777 文件夹路径

**2. 在gazebo_ros/launch 目录下创建名为
filename2.launch的文件,添加如下文本:**


<launch>

  
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="worlds/filename2.world"/> 
    <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。最终运行即可。

你可能感兴趣的:(ROS学习)