[转]使用gazebo中的building editor创建一个建筑环境并用于仿真
原文链接:https://blog.csdn.net/wilylcyu/article/details/51754495
转载说明:感谢原作者!如有侵权,请联系我删除,谢谢!
说明:此文仅针对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。最终运行即可。
[转]使用gazebo中的building editor创建一个建筑环境并用于仿真相关推荐
- mybatis 动态字段与表中不一样_mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加问题...
创建用户: /** * 创建一个或多个新用户 insert 字段和表名不确定时动态添加 */ @Test public void createAccount() { String lineColumn ...
- html中单选怎么写,创建一个单选框的html代码是
创建一个单选框的 HTML 代码是: A. B. html中单选按钮控件标签用法解析及如单选1单选2单选3单选4/**注意:name值一定要相同才能够单选,要默认选项. 工人 在HTML中用来插入一个 ...
- python中set()函数==》创建一个无序不重复的元素集(创将一个集合)
描述 set顾名思义是集合,里面不能包含重复的元素,接收一个可迭代对象作为参数 set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并集等. 语法 set 语 ...
- java 在面板中加入标签_创建一个JTabbedPane面板,为每一个标签设置一个名称
[java]代码库package three; //这段程序主要是创建一个JTabbedPane面板,为每一个标签设置一个名称 import javax.swing.*; import java.aw ...
- Unity Editor 创建一个精灵
创建一个2D项目 1.打开 unity Hub 2.点击新项目 3.选择2D模版,并修改项目名称 创建场景-Scene 1.点击左上角的File,选择New Scene, 快捷键:Ctrl + N 2 ...
- java中io流如何创建一个文件_,Java中Io流操作-File类的常用操作-创建文件,创建文件夹...
package com.hxzy.IOSer; import java.io.File; import java.io.IOException; public class Demo03 { publi ...
- 在vue中使用three.js创建一个简单的立体图形
安装 npm install three --save 使用 页面直接引入import * as THREE from 'three' <template><div><d ...
- 通过‘PyQt6‘中的QWidget类创建一个含有按钮的窗口 1
1.首先搭建一个基本的窗口 ,代码如下: import sys from PyQt6.QtWidgets import QApplication,QWidgetclass Add_func(QWidg ...
- 如何保证myone在同一进程中最多仅能创建一个实例 java,程序员笔试考试题和案(java).doc...
程序员笔试考试题和案(java) Oracle数据库属于以下哪种数据库类型?B A . 网状数据库 B. 关系数据库 C. 层次数据库 D. 面向对象的关系数据库 转发HTTP请求一般有两种方法,re ...
最新文章
- 皮一皮:现在想想真是幸运...
- leetcode算法题--目标和
- Ancient China Story of Shen-《Kung Fu Panda 2》
- Python爬虫之旅_高性能异步爬虫
- Web应用程序体系结构– Spring MVC – AngularJs堆栈
- Media所有参数汇总
- 新版CSDN中如何快速转载别人的CSDN博客,详细方法与步骤!!!
- WSPSRV.EXE错误导致ISA中断
- 雷电模拟器 脚本_精灵盛典辅助雷电模拟器使用教程
- python apscheduler执行_如何使Python apscheduler在后台运行
- 机器学习—LightGBM的原理、优化以及优缺点
- 编译OpenJDK8:Your cygwin is too old. You are running but at least cygwin 1.7 is required
- Windows 内核会换为 Linux 吗?
- Centos7下载和安装教程
- 大厂面试为什么总考算法?如何避开算法面试?
- CKEditor5系列三:创建一个功能相对完善的插件
- 复旦大学2017--2018学年第一学期(17级)高等代数I期末考试第八大题解答
- 什么是数据资产管理?5个角度帮你参透数据资产管理
- 手把手学STM32(一)
- 大数据时代--风控系统
热门文章
- 启动万维网发布服务(W3SVC)
- fatal error C1083: Cannot open include file: 'ceconfig.h': No such file or directory
- 可爱妈妈对我的\情色\教育
- 子域名查询DNS记录查询
- [Python图像处理] 七.图像阈值化处理及算法对比
- RxSwift之UI控件UIGestureRecognizer扩展的使用
- iOS之从N个数里面取M个数的组合算法
- Uncaught TypeError: Cannot read property ‘getters‘ of undefined
- Python with...as... 语法深入解析
- 使用pytz模块进行时区转换及时间计算