转载自:https://blog.csdn.net/weixin_44900096/article/details/103017522

GAZEBOsdf文件详解

木木木一 2019-11-11 20:49:21 2166 收藏 12

分类专栏: gazebo

版权

GAZEBOsdf文件详解

1.model模型

  • 一个模型数据库会拥有的文件

(1)database.config:有关数据库的元数据,从CMakeList自动填充『本地不需要』
(2)model文件夹:

  • 一个模型(model文件夹)会有的文件

1)mdoel.config 模型的元数据  『必需』
2)model.sdf 模型的SDF描述 『必需』
3)plugins 插件源文件和头文件的目录
4)model.sd.erb/meshes/materials

1.1 Model.config格式

固定开头

<?xml version>
<model>
<name>名字
<version>版本
<sdf>描述模型的SDF文件的名字
<author>作者
<name>名字
<email>邮件
<description>介绍模型模型是什么插件干了什么
<depend>
<uri>模型依赖关系的URI
<version>该模型的版本

1.2 Model.sdf格式

<?xml version ?>  xml的版本
<sdf version>  sdf的版本,和config里<sdf>的版本要一样呀
<model name> 模型的名字
<pose> 在世界中的位置 x y z pitch yaw roll
<static> 选择模型是否固定
<link>链接 包含模型的一个主体的物理属性,尽量减少模型中链接数量以提高性能和稳定
<collision>: 用于碰撞检查,一个link可以有多个碰撞元素
<geometry> 物体
<box> | <sphere> | <cylinder>形状名字
<size> x y z长度 | <radius>半径 | <radius> & <length>
<surface> 平面
<friction>设置地面摩擦力
<ode> <mu> <slip>
<visual>: 可视化
<geometry> 几何形状
<box>形状名字
<size> x y z长度
<inertial>: 惯性元素,描述了link的动态特性,例如质量和转动惯量矩阵
<mass> 质量
<inertia> !!!注意这两单词不一样呀
<sensor>: 从world收集数据用于plugin
<light>: 光源
<joint>关节 关节连接两个link,用于旋转轴和关节限制等
<plugin>插件  用于控制模型


1.meta data 元数据:描述数据的数据
2.URI 统一资源标识符:uri

  • URL 统一资源定位符
  • URN 统一资源名称
    3.hg:macurial程序的执行命令【轻量级分布式版本控制系统】
    4.XML的注释格式:
 <!-- 注释内容-->

2 在sdf文件中添加传感器

加入一个激光
1.进入到你模型的文件路径
2.打开sdf文件
3.将下面的程序放置到标签的前面。

    <include><uri>model://hokuyo</uri><pose>0.2 0 0.2 0 0 0</pose></include><joint name="hokuyo_joint" type="fixed"><child>hokuyo::link</child><parent>chassis</parent></joint>

<include>标志是告诉gazebo去寻找一个模型并且把它插入进去到与母体相关给定的<pose>处。在本次当中,我们把hokuyo激光放在机器人的前端,
<uri>模块是告诉gazebo这个模型在数据库当中的位置。

<joint>把激光头与parent连接起来,它的状态为fixed,防止它移动。

joint模块当中的child是从hokuyo激光的sdf文件当中继承的。hokuyo的激光文件开头:

    <?xml version="1.0" ?><sdf version="1.4"><model name="hokuyo"><link name="link">

当hokuyo文件被插入之后,它的links的命名空间就是hokuyo,所以写法是hokuyo::

GAZEBO 中 sdf文件详解相关推荐

  1. Maven中pom文件详解

    在IDE中使用Maven IDE工具 MyEclipse 集成maven插件 Eclipse ​ Eclipse For Java EE IDEA 集成Maven插件 在IDE中 配置Maven 指定 ...

  2. Android 中rc文件详解

    rc文件详解 转载https://www.cnblogs.com/zhougong/p/8889040.html

  3. (转) eclipse项目中.classpath文件详解

    背景:对于java项目中.classpath文件中的相关定义一直不是很了解,有必要进行深入的学习. 1 前言 在使用eclipse或者myeclipse进行Java项目开发的时候,每个project( ...

  4. Linux中service文件详解

    1. 什么是systemd service systemd service是一种以 .service 结尾的配置文件,是一个专用于 Linux 操作系统的系统与服务管理器.简单来说,用于后台以守护精灵 ...

  5. IOS 中 pch 文件详解

    在 Xcode6 之前,创建一个新工程会在 Supporting files 文件夹下面自动创建一个"工程名-Prefix.pch"文件,也是一个头文件,pch 头文件的内容能被项 ...

  6. linux中inittab文件详解

    转载地址:http://www.2cto.com/os/201108/98426.html](http://www.2cto.com/os/201108/98426.html init的进程号是1(p ...

  7. linux中fstab文件详解

    From:http://www.winu.cn/space-14160-do-blog-id-1105.html 我们在linux中常常用mount命令把硬盘分区或者光盘挂载到文件系统中./etc/f ...

  8. Django中.py文件详解

    按着Django的基础的步骤建好项目,建好app之后:可用pycharm打开项目,注意一定要打开项目的根:看到一大堆的.py文件,可能会范蒙,个人做的一些小总结 project根目录下的.py文件(跟 ...

  9. Maven中settings文件详解

    一.自带的settings文件 二.元素说明 三.两种完整的settings文件 一.自带的settings文件 我们下载一个maven,在其config目录下,都会有一个settings.xml文件 ...

最新文章

  1. BAT教程 第三节(FOR命令中的变量)
  2. 第4章 与缓冲区有关的函数
  3. php fopen 错误,php fopen函数失败怎么办
  4. HDFS常用端口及参数释义
  5. 数据结构与算法--查找与排序另类用法-旋转数组中的最小数字
  6. 安装Red Hat Container Development Kit 2.2版本
  7. jSignature签名的用法,一文教会你(二)后台代码
  8. Win32程序设计(Windows程序设计机理)
  9. 学术圈炸了!IEEE限制华为相关专家参与审稿:这操作毁尽三观
  10. 推荐几款国产快速启动工具软件 总有一款适合你的
  11. 频繁gc是什么意思_linux查看是否频繁gc
  12. 三七互娱U3D面试记录
  13. 此图形驱动程序无法找到兼容的图形…
  14. onnx-modifier使用
  15. SAP采购订单控制价格是否可以修改增强 LV69AFZZ
  16. 论文笔记High-Resolution Image Synthesis with Latent Diffusion Models
  17. c++ 回车键无法换行
  18. html5笔迹画图,html5绘图工具canvas模拟笔迹绘画特效
  19. API Promise化
  20. 机器学习笔记 - 使用Keras和深度学习进行乳腺癌分类

热门文章

  1. 别再说自己有强迫症了,强迫症真的是一种疾病
  2. 纳斯达克“乱打”中国牌 请林依轮敲闭市钟
  3. 孙卫琴:我为什么要写《Java面向对象编程》
  4. Matlab 线性规划练习题
  5. 史蒂夫·鲍尔默清华大学演讲实录
  6. 页面的任何位置,按下键盘,获取按键的值
  7. 如何修改C盘里windows\system32\drivers\etc里面的hosts文件并保存
  8. android显示图片部分区域,Android编程实现只显示图片一部分的方法
  9. java函数式编程之Supplier
  10. Win10下设置开机自动挂载虚拟磁盘