一、 前提知识

1.什么是XML?
(xml小白,若下面的理解有误,欢迎前辈们指出)
XML全称为可扩展标记语言(EXtensible Markup Language),类似于HTML,不同的是XML旨于传输数据,而非显示数据。要理解这句话,首先需要明白XML没有预定义的标签,这不像HTML,对于HTML,浏览器会根据预定义的标签读取HTML文件,显示给用户;而XML的标签是由用户自己定义,也就意味着需要用户自己编写解析器,去解析XML文件中的自定义标签。从而我们可以在不同的平台上运行自己的解析器,通过传输XML实现数据的传输,这就体现出了XML旨于传输数据,而非显示数据

2.什么是SDFormat
SDFormat全称为仿真描述格式(Simulation Description Format),是一种用来描述机器人仿真环境和仿真实体的XML格式。最初,SDFormat只是Gazebo机器人仿真的一部分;目前,已经发展为可以描述整个机器人实体、灯光,静态/动态对象等全面的描述格式。具体地讲,SDFormat基于XML自定义了一些标签,Gazebo通过相应的解析器,可以把sdf格式的模型文件加载到Gazebo中。
参考链接:http://sdformat.org/
标签说明:http://sdformat.org/spec

二、使用教程

可直接参考该网页How to create a gazebo model using SDF,该教程中存在两个问题,已经在我的另一篇文章中说明。

三、重点说明:

在SDFormate的标签说明中提到,在一个SDFormt文件中,可以在sdf标签中添加多个model标签,也可以在world标签中添加model标签。但是在Gazebo加载sdf模型的实际使用中,略有差异。

经过实际操作,我们应该已经了解到,用ROS把sdf模型文件加载到Gazebo中,需要建立launch、world和models三个文件夹,调用过程分为三步:(1).launch文件调用.world文件,(2).world文件调用model.config文件,(3).config文件调用.sdf文件。实际上,.world和.sdf文件都是SDFormt格式的模型/世界描述文件,但(1)和(3)这两个调用过程中,Gazebo解析器解析过程有微小差异,即:对于(1)的.world文件,可以像前面讲的可以在sdf标签中添加多个model标签,也可以在world标签中添加多个model标签;对于(3)的.sdf文件,只能在sdf标签中添加一个model标签,也就是说每个.sdf文件中只能有一个模型,正如这篇文章中讲的Models defined in other files。

基于SDFormat创建ROS+Gazebo仿真世界和模型相关推荐

  1. ROS | Gazebo仿真—阿克曼(Ackermann)四轮小车模型

    ROS | Gazebo仿真-阿克曼(Ackermann)四轮小车模型 1. 仿真描述 2. Gazebo简介 2.1 Gazebo的典型用途 2.2 Gazebo的主要特点 3. ros_contr ...

  2. ROS开发笔记(5)——基于 python 开发 Turtlebot3 Gazebo仿真环境下键盘操控移动机器人(Teleop-bot )

    前文中记录了随机移动机器人的开发过程,本文内容为Turtlebot3 Gazebo仿真环境下Teleop-bot 键盘操控移动机器人,主要包含以下几个部分: 1.键盘驱动(按键驱动发布keys话题) ...

  3. ROS+Gazebo仿真差速小车并实现控制

    本工程的功能包有两个,分别用于gazebo仿真与键盘控制运动 功能包原文件如下: diff_wheeled_robot_control : https://huffie.lanzouw.com/iXi ...

  4. 【开源项目分享】用于机器人崎岖地形导航的高程图创建及Gazebo仿真

    简介 该项目是由苏黎世联邦理工学院(自治系统实验室和机器人系统实验室)开发,用于创建以机器人为中心的高程图,以实现崎岖地形的自主导航任务. 项目演示 https://www.bilibili.com/ ...

  5. 【教程一】基于Jackal底盘模型搭建ROS Gazebo仿真

    一.创作背景 现在到网上搜索"Gazebo小车仿真"这个关键词,出来的内容要么就是Turtlebot系列或者Husky系列,要么就是从零搭建自己的小车模型...那么如果你既不想使用 ...

  6. ros gazebo 仿真出现No p gain specified for pid的解决方法

    ros 运行gazebo出现 [ERROR] [1552391843.842820971, 0.313000000]: No p gain specified for pid. Namespace: ...

  7. 【ROS】ROS入门笔记-Gazebo仿真与实物测试篇

    前面我们学习了ROS的一些基础知识,现在我们来学习ROS环境下的Gazebo仿真. 本文所需的源码下载地址为 https://github.com/guyuehome/guyueclass 文章目录 ...

  8. Gazebo仿真平台模型搭建与修改

    ROS进阶教程(一)Gazebo仿真平台模型搭建与修改 文件讲解 Models 文件 World文件 Launch文件 模型编辑 可视化操作 配置文件编辑 仿真操作流程 完成model建模 world ...

  9. 教程 | 阿克曼结构移动机器人的gazebo仿真(九)

    第九章.模型替换以及TEB调参技巧 1.前言 上节内容让小车在gazebo仿真环境中实现导航,本节内容重点介绍一下gazebo仿真中的模型替换方法以及TEB调参的技巧. 2.模型替换 阿克曼小车项目从 ...

最新文章

  1. 扩展cocos slider控件,支持禁用置灰
  2. OUYA游戏开发快速入门教程
  3. HDU 1026 Ignatius and the Princess I 迷宫范围内的搜索剪枝问题
  4. php 8 jit,PHP8正式版发布,带来了注解和JIT
  5. C# 实现 rtc_通过Xlua实现unity热更新的一个小例子
  6. h3c交换机配置telnet_H3C路由器交换机配置 命令行操作基础 视频学习
  7. Transformations on DStreams之updateStateByKey 的使用和状态累加
  8. 【VR】Leap Motion 官网文档 FingerModel (手指模型)
  9. CentOS 官网下载 iso 镜像
  10. 一文搞懂经济数据中M0 M1 M2
  11. Descriptive Essay文章内容怎么写?
  12. 2016阿里巴巴校招内推offer (by 伟伯)
  13. 用严密的数学语言证明:周长相同时,圆面积最大
  14. html表格标题中副标题,excel数据表格制作副标题-如何在excel图表中添加标题?
  15. vue安装及创建运行
  16. android自定义UI模板图文详解
  17. JavaWeb,使用servlet/jsp时页面跳转的两种方式:转发和重定向
  18. php调用相册其他的图片代码,远程调用163网易相册的代码PHP版本
  19. 基于RT-Thread的两轮平衡小车设计
  20. 《程序员2013精华本》

热门文章

  1. VBA:快速把另一个工作簿里的列值根据列名填充进来
  2. 歌曲信息管理系统c语言代码,歌曲信息管理系统_通用完整版.doc
  3. 计算机软件盗版经济问题,中国计算机游戏软件盗版问题研究
  4. 恋那一地月光(转贴)
  5. 我的第一个SAP PROXY ABAP Program(SAP PO 开发五)
  6. 程序员究竟要不要学产品知识?
  7. 微信公众平台开发[12]-开发模式-接口-天气
  8. 人大经济论坛发现好资料
  9. npm如何发布scope库,@xxx/yyy
  10. chmod 命令 (chmod 0660)