Skip to content

Elevators & Occupied Event

Jinho-So edited this page Feb 21, 2018 · 12 revisions

Overview

이 페이지에서는 가제보에서 엘레베이터를 사용하는 방법을 알려준다. 가제 엘레베이터는 문이 달린 칸으로 위아래로 움직일 수 있으며 prismatic joint로 제어된다.

Functionality

엘레베이터의 동작은 ElevatorPlugin을 통해 이루어진다. 이 플러그인은 2개의 prismatic joint를 제어한다. 플러그인의 업데이트 사이클에는 lift joint가 엘레베이터를 요청된 층으로 이동시키고 dorr joint가 엘레베이터의 현재 상태에 따라 닫힌 문을 연다. 특정 층으로의 이동은 층의 번호를 string message로 엘레베이터의 토픽으로 보내 이루어질 수 있다. 자세한 파라미터는 뒤 섹션에서 주어진다. 엘레베이터의 제어 과정은 다음과 같다.

  1. Wait for a floor request.
  2. Close door.
  3. Move to requested floor.
  4. Open door.
  5. Wait for five seconds.
  6. Close the door.
  7. Go to #1.

층 이동 요청은 Queue 형태가 아니며 새로운 요청이 오기 전에 이동을 마칠것이다.

Parameters

lift joint, door joint, floor height, control topic은 SDF안에 명시되어있다. 다음은 그 예이다. <plugin filename="libElevatorPlugin.so" name="elevator_plugin"> <lift_joint>elevator::lift</lift_joint> <door_joint>elevator::door</door_joint> <floor_height>3.075</floor_height> <topic>~/elevator</topic> </plugin>

Table of Contents




Clone this wiki locally