Skip to content
Taehun Lim edited this page Feb 5, 2018 · 2 revisions

1. Overview

전제조건: Make a mobile robot

mesh들은 모델을 시각적으로 그리고 센서에 대해서도 현실성을 부가할 수 있다. 이번 튜토리얼은 자신의 모델을 시뮬레이션에 어떻게 나타낼지 정의한 자신의 mesh들을 어떻게 사용할 수 있는지에 대해 설명한다.

2. Attach a Mesh as Visual

가장 일반적으로 mesh를 사용하는 경우는 현실적으로 보이기 위해 만드는 것이다.

  1. my_robot 폴더로 이동해라.
    $ cd ~/.gazebo/models/my_robot
  1. model.sdf 파일을 열어라.
    $ gedit ~/.gazebo/models/my_robot/model.sdf
  1. 우리는 샤시에 mesh를 추가 할 것이다. name=visual을 가진 visual을 찾아라. 이것은 다음과 같다.
    <visual name='visual'>
      <geometry>
        <box>
          <size>.4 .2 .1</size>
        </box>
      </geometry>
    </visual>
  1. mesh는 디스크에서 파일 혹은 다른 모델로 부터 온다. 이번 예제에서 우리는 pionner2dx 모델로 부터 mesh를 사용할 것이다. visual 요소를 다음과 같이 바꿔라.(하지만 파일의 나머지 부분은 바꾸지 말고 그대로 유지하여라.)
    <visual name='visual'>
      <geometry>
        <mesh>
          <uri>model://pioneer2dx/meshes/chassis.dae</uri>
        </mesh>
      </geometry>
    </visual>
  1. 위의 블록에 의해 기준이 되는 pionner2dx 모델을 가지고 있는지 모델 데이터베이스를 확인하여라.
    $ ls -l ~/.gazebo/models/pioneer2dx/meshes/chassis.dae

만약 mesh파일이 존재 하지 않는 다면 모델 파일을 다운로드 한다.

    $ cd ~/.gazebo/models
    $ wget -q -R *index.html*,*.tar.gz --no-parent -r -x -nH http://models.gazebosim.org/pioneer2dx/
  1. 가제보에서 My Robot 모델을 world에 드래그하여 놓는다. 샤시의 외관은 pioneer2dx와 같을 것이다.

  2. 샤시는 분명 우리 로봇에 비해 너무 크다. 그래서 우리는 외관을 줄일 필요가 있다.

  3. 스케일 팩터를 가지고 외관 크기를 조절 한다.

    <visual name='visual'>
      <geometry>
        <mesh>
          <uri>model://pioneer2dx/meshes/chassis.dae</uri>

          <scale>0.9 0.5 0.5</scale>

        </mesh>
      </geometry>
    </visual>
  1. 이번 외관은 또 너무 낮다.(z 방향으로) 위치를 지정하여 그것을 위로 약간 올리자.
    <visual name='visual'>
      <pose>0 0 0.05 0 0 0</pose>
      <geometry>
        <mesh>
          <uri>model://pioneer2dx/meshes/chassis.dae</uri>

          <scale>0.9 0.5 0.5</scale>

        </mesh>
      </geometry>
    </visual>

지금까지 눈에 보여지는 부분(<visual>)만 간단히 수정해 보았다. 하지만 충돌영역(<collision>)은 수정하지 않았기 때문에, 물리엔진은 이전에 설정한 박스 형태의 충돌영역을 충돌 역학 계산 시 사용할 것이다.

Table of Contents




Clone this wiki locally