Gazebo教程(三)——model文件结构

1、简介

Gazebo可以通过编程或者GUI在仿真过程中动态加载models,models在下载或者创建之后会存储在电脑中,这篇教程将介绍model的文件目录结构,以及model必须包含的文件。

Gazebo中的models定义了一个动态的、带运动仿真、可视化的实体,此外,一个model可能包含一个或者多个可以影响model运行的plugins,一个mode可以表征一个小物块也可以表征一个复杂的机器人,甚至整个大地也是一个model。

Gazebo依靠一个数据库来在仿真中存储和保持models,model的数据库是一个团队支持的资源,所以希望你上传你创建和使用的model到数据库。

2、model的数据库路径

    git clone https://bitbucket.org/osrf/gazebo_models
 3、model数据库结构
一个model的数据库必须遵循一个特定的文件目录格式,每个model包含一个文件夹,一个databasee.config文件包含数据库信息,一个model.config文件包含model的基本数据。一个model的文件夹还必须包含材料、网格、插件以及sdf文件。

数据库的目录结构如下,例子中的目录只包括model_1一个model。

Database

  • database.config : Meta data about the database. This is now populated automatically from CMakeLists.txt
  • model_1 : A directory for model_1
    • model.config : Meta-data about model_1
    • model.sdf : SDF description of the model
    • model.sdf.erb : Ruby embedded SDF model description
    • meshes : A directory for all COLLADA and STL files
    • materials : A directory which should only contain the textures and scripts subdirectories
      • textures : A directory for image files (jpg, png, etc).
      • scripts : A directory for OGRE material scripts
    • plugins: A directory for plugin source and header files

3.1 database config

database.config文件包含license、名称和所有models的目录,这个文件只有在在线model库里面需要,本地的库不需要这个文件。该文件的格式如下:

<?xml version='1.0'?>
<database>
  <name>name_of_this_database</name>
  <license>Creative Commons Attribution 3.0 Unported</license>
  <models>
    <uri>file://model_directory</uri>
  </models>
</database>

<name> database的名字

<license> license名称,推荐Creative Commons Attribution 3.0 Unported

<models> 一个包含所有model的URIs的列表。

<uri> model的路径,例如 file://model_directory_name

3.2 model config

每个model都必须包含一个model.config文件,这个文件包含model的原始数据,格式如下。

<?xml version="1.0"?>

<model>
  <name>My Model Name</name>
  <version>1.0</version>
  <sdf version='1.5'>model.sdf</sdf>

  <author>
    <name>My name</name>
    <email>name@email.address</email>
  </author>

  <description>
    A description of the model
  </description>
</model>

<name> model的名称

<version> 版本号

<sdf> 描述这个model的sdf或者urdf文件

<author> model创建者的名字

<description> model的描述

<depend> 所有该model使用的依赖,一般是指其他models

<model> 依赖的model

<uri> 依赖model的路径

<version>model的版本

3.3 Model SDF

每个model需要一个model.sdf文件,这个文件包含了所有的仿真描述文件,后面的教程中会详细描述。

3.4 Model SDF.ERB

用于包含其他类型的文件,暂时不讨论。

发布者

harifun

小学的时候,说自己要当一名科学家!那时候,看到新闻联播在宣传“四化”,立志要为现代化作出贡献!高中立志要做机器人,本科和硕士学的自动化!毕业进入华为,因为是测试岗位而离开,然后进入创业公司做工业扫地机器人和服务式机器人!A轮完成数千万级融资后因家庭原因离开上海,回武汉进入一家上市公司从事激光雷达设计工作!机器人是我一直以来的追求,希望有一天我能实现我的理想!

发表评论

电子邮件地址不会被公开。 必填项已用*标注