< >
Home » ROS2与Gazebo11入门教程 » ROS2与Gazebo11入门教程-如何贡献原创模型

ROS2与Gazebo11入门教程-如何贡献原创模型

说明:

  • 介绍如何贡献原创模型

概述

  • 本节教程将会说明如何向Gazebo模型数据库添加模型

  • 本节教程假定您已经创建了原创的Gazebo模型,并希望将其分享到社区中

  • 本节教程还假设您在GitHub上拥有一个账户,并且拥有Git的客户端

  • 您无需将模型添加到数据库即可在Gazebo中使用它。模型数据库是一个通常可以在其中找到对整个社区有用模型的地方

  • 请确保您拥有权限分发模型中包含的所有文件,并且这些文件不是受版权保护的材料

创建分支和克隆osrf/gazebo_models存储库

  • 进入到https://github.com/osrf/gazebo_models网页,然后在屏幕的右上角选择“Fork”。默认选项通常就可以。

  • Fork存储库后,再对其进行克隆。假设您选择了存储库的默认名称,则可以用如下所示的终端命令进行克隆:

git clone https://github.com/yourname/gazebo_models
  • 其中yourname是您的GitHub用户名。

创建模型

  • 在gazebo_models目录下为您的模型新建一个目录。
  • 本教程假定该目录名为mymodel,但您应该为该目录取一个与该模型信息相关的名称。
  • 该目录必须包含model.config文件和至少一个.sdf文件。
  • 该目录还可能包括其他文件(网格、纹理、模板等)

模型配置文件model.config的内容

  • 模型配置文件model.config会提供必要的信息,以选择正确SDF文件、有关模型作者的信息以及该模型的文本说明。
  • 一个样例model.config文件看起来像下面那样:
<?xml version="1.0"?>
<model>
<name>Wedge juggler</name>
<version>1.0</version>
<sdf version="1.5">model.sdf</sdf>

<author>
<name>Evan Drumwright</name>
<email>drum@gwu.edu</email>
</author>

<description>
A ball-in-wedge juggler.
</description>
</model>
  • 这个model.config文件指出该模型的仿真器定义(即视觉、惯性、运动学和几何属性等)存放于model.sdf文件中,并遵循SDF标准1.5版。
  • 如果模型要在不同版本的Gazebo中使用,可以定义模型的多个SDF版本,这会很有用。
  • 例如,可以像下面那样修改上面那个model.sdf文件的内容,以支持三个不同的SDF版本:
<?xml version="1.0"?>
<model>
<name>Wedge juggler</name>
<version>1.0</version>
<sdf version="1.5">model.sdf</sdf>
<sdf version="1.4">model-1.4.sdf</sdf>

<author>
<name>Evan Drumwright</name>
<email>drum@gwu.edu</email>
</author>

<description>
A ball-in-wedge juggler.
</description>
</model>

向存储库添加目录(及文件)

  • 首先为您的模型创建一个分支(branch),例如:
git checkout -b mymodel
  • 可以通过在gazebo_models根目录中输入以下命令来将您的所有文件添加到存储库中:
git add mymodel
  • 或者如果您有一些文件不想追溯,则可以如下所示逐个添加文件:
git add mymodel/model.config
git add mymodel/model.sdf

提交和推送

  • 在GitHub上将您的更改提交并推送到您的fork。给您的提交一个描述性消息,例如:
git commit -m "Adding mymodel to the database"
git push -u origin mymodel

创建一个拉取请求

  • 假设您的GitHub用户名是yourname,并且您使用了fork的默认值,则可以在以下位置找到您的分叉存储库:
https://github.com/yourname/gazebo_models
  • 从该站点进入到“拉取请求(Pull requests)”选项卡,然后选择“新拉取请求(New pull request)”。

  • 确保在箭头的末尾选择了osrf/gazebo_models。

  • 给您的拉取请求一个指向您的模型且有意义的标题。

  • 在说明中,描述有关该模型的任何相关信息以及您认为社区可以从该模型受益的原因。还建议添加模型图片。您可以在此处看到拉取请求的一个好示例。

  • 当对其他选项满意后,单击“创建拉取请求(Create pull request)”。

  • OSRF将会审阅您的拉取请求,并开始将您的更改集成到模型数据库中。

参考:

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与gazebo11入门教程