当前位置:   article > 正文

Gazebo 创建模型(一)_gazebo中树的模型

gazebo中树的模型

记一笔
Gazebo 有一个自己的模型存储仓库,里面已经有了大量的默认模型,而且有一个活跃的社区。
https://bitbucket.org/osrf/gazebo_models/src/default/

在Gazebo中的模型定义了完整的动力学,运动学,以及可视化的实体。可以有一个或多个插件。模型可以代表任何东西,包含地面和复杂的机器人。

模型数据库的结构

一个模型数据库(Model Database Structure)必须要遵守一个特定的目录结构,Database.config,以及各个模型的根目录,如下:

  • Database 模型数据库的根目录
    • database.config 描述模型的元数据,这个现在都是被CMake自动填充的
    • model_subdirectory 模型的根目录,可以有多个
      • model.config 模型的元数据
      • model.sdf 模型的SDF描述文件
      • model.sdf.erb 模型的Ruby嵌入式(embedded)描述文件
      • meshes 所有COLLADA和STL文件的描述 (可选)
      • materials 包含材质和脚本 (可选)
        • textures 材质:存放图片文件(JPG,PNG,等图片格式)
        • scripts OGRE脚本的目录
      • plugins 插件和头文件的目录(可选)

模型数据库配置

database.config在模型的根目录中,是一个存储信息用的XML文件,这个文件包含模型的许可证信息,模型数据库的名称,以及有效模型的列表,这个文件只有使用在线仓库的时候才被需要,本地的数据库仓库不需要这个文件
这个文件的格式如下:

<?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>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • <name>
    数据库的名称. 被GUI和其他工具要求.

  • <license>
    数据库的许可证.

  • <models>
    列出数据库模型中所有的URL.

    • <uri>
      模型的URL,例如: file://model_directory_name

模型配置

每个模型都的根目录下必须要有一个model.config,其中包含模型的源信息。
这个文件的格式如下:

<?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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • <name> 必须
    模型的名字.

  • <version> 必须
    模型的版本.
    Note: 这个不是模型的sdf文件的版本.

  • <sdf> 必须
    描述这个模型的SDF或者URDF文件的名称。version属性决定了模型使用哪个版本的SDF文件,并且是否要求URDF文件,多个元素可以被用来支持多个版本的sdf文件.

  • <author> 必须

    • <name> 必须
      作者的名字.

    • <emai> 必须
      作者的邮箱.

  • <description> 必须
    模型的描述文件应该包含:

    这个模型是啥 (e.g., robot, table, cup)
    插件实干啥的 (functionality of the model)

  • <depend> 可选
    这个模型依赖的模型,通常都是其他模型.

    • <model> 可选

      • <uri> 必须
        依赖模型的URL.

      • <version> 必须
        模型的版本.

模型的SDF的文件

注:SDF(Simulator Description Format)
每个模型需要一个model.sdf文件,这个文件中需要包含模型的模拟器描述格式。
SDF模型的详解

模型的SDF.ERB文件

标准的SDF文件可以嵌入RUBY的代码。这个选项被用来程序化的生成SDF文件。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/1008183
推荐阅读
相关标签
  

闽ICP备14008679号