Skip to content

How to contribute a model

Hancheol Choi edited this page Feb 2, 2018 · 2 revisions

1. Overview

이번 튜토리얼은 모델을 어떻게 Gazebo Model Database에 추가하는지에 대해 설명할 것이다. 이번 튜토리얼은 당신이 가제보 모델을 생성했고 공동체와 그것을 공유하고자 한다고 가정한다. 이번 튜토리얼은 또한 당신이 Bitbucket 계정을 가지고 있고 Mercurial 고객이라고 가정한다.

Note : 당신은 당신의 모델을 가제보에서 사용하기 위해 데이터 베이스에 추가할 필요가 없다. 데이터 베이스는 전체 공동체를 위해 유용한 모델을 찾기 위한 일반적인 장소이다.

Note : 당신은 모델에 포함된 모든 파일들을 배포할 권리를 가지고 있고 그것들은 저작권을 가진 자료들이 아니다.

2. Fork and clone the orsf/gazebo_model repository

https://bitbucket.org/osrf/gazebo_models로 가서 화면의 왼쪽 사이드 메뉴에서 Fork를 선택 해라. 초기 옵션들은 일반적으로 fine 이다. 저장소를 분기한 이후, 그것을 복사해라. 저장소를 위해 당신이 초기 이름을 선택한다고 가정한다면 당신은 다음과 유사하게 터미널에 커맨드를 사용하여 복사를 할 것이다.

$ hg clone https://bitbucket.org/yourname/gazebo_models

여기서 yourname은 당신의 Bitbucket username 이다.

3. Creating a model

gazebo_models 폴더 아래 당신의 모델의 폴더를 만들어라. 이번 튜토리얼에서 우리는 이 폴더를 mymodel이라고 부르기로 가정한다. 그러나 당신은 이 모델에 대해 유용한 정보를 줄 수 있는 이를을 폴더에 부여 해야 한다. 이 폴더는 반드시 model.config 파일과 적어도 하나의 .sdf 파일을 포함해야 한다. 이 폴더는 다른 파일(meshes, textures, templates...)들 또한 포함 할 수 있다. 또한 당신은 모델의 폴더를 CMakeLists.txt 파일에도 추가해야 한다.

4. Contents of model.config

model.config 파일은 적절한 SDF 파일을 선택하기 위해 필요한 정보를 제공한다. 이 정보는 모델의 저자 그리고 모델의 텍스트 설명이다. 샘플의 model.confg는 아래와 같다.

    <?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>[email protected]</email>
      </author>

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

이 model.config 파일은 시뮬레이터의 모델의 정의(visual, inertial, kinematics, geometric properites...)를 타나낸다. 모델의 정의들은 model.sdf에 있고 SDF standard 1.5를 따른다. 당신 모델의 다양한 버전들을 정의하는 것이 가능하다. 이것은 만약 당신이 당신의 모델이 다른 버전의 가제보에 사용될때 유용하다. 예를 들어 우리는 이제 세가지의 다른 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>[email protected]</email>
      </author>

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

5. Adding the directory(and files) to the repository

당신은 당신의 모든 파일들을 gazebo_models의 root 폴더에 다음과 같이 타이핑 하므로써 저장소에 추가 할 수 있다.

$ hg add mymodel

혹은 만약 당신이 저장하기 원하지 않는 일부 파일들이 있다면 개별적으로 파일들을 추가 할 수 있다.

$ hg add mymodel/model.config
$ hg add mymodel/model.sdf

6. Committing and pushing

Bitbucket의 당신의 분기에 변화된 것들을 Commit 하고 Push 해라. 설명 메시지를 Commit해라. 예를 든다면 다음과 같다. $ hg commit -m "Adding mymodel to the database" $ hg push

7. Final step: creating a pull request

당신의 Bitbucket username 이 yourname이고 당신의 분기에 대해 초기화들을 사용한다고 가정한다면 당신은 분기 저장소를 여기에서 찾을 수 있을 것이다. https://bitbucket.org/yourname/gazebo_models

  1. 이 사이트 웹페이지의 왼쪽 사이드 메뉴에서 Creat pull request를 선택한다.
  2. 오른쪽 화살표로 orsf/gazebo_models 가 선택되어 있는지 확인한다.
  3. 당신 모델의 의미 있는 이름을 부여한다.
  4. description에 당신모델의 관련된 정보와 이 모델로 부터 왜 공동체가 이익을 얻을 수 있는지에 대해 서술 한다.
    모델의 그림을 추가하는 것 또한 추천한다. 여기에서 당신은 좋은 예를 볼 수 있다. https://bitbucket.org/osrf/gazebo_models/pull-requests/241/added-model-demo-joint-types/diff
  5. 당신의 다른 옵션들에 만족 할 때 Creat pull request를 클릭한다.
  6. OSRF는 당신의 pull request를 리뷰할 것이고 모델의 데이터베이스에 당신의 수정사항들을 합칠 것이다.

Table of Contents




Clone this wiki locally