Skip to content
hmhan1236 edited this page Mar 29, 2018 · 2 revisions

Overview

이 튜토리얼은 시뮬레이션 을 저장하고 추후 가공할 수 있도록 가제보 로깅 방법에 대하여 설명한다. 설치 과정과 HAPTIX API를 이미 완료하였다고 가정한다.

A Gazebo log file

가제보 로그 파일은 상태 로그의 집합체이다. 상태 로그는 가제보로부터 world 상태 정보를 기록한다. 상태는 위치, 속도, 가속도, 그리고 모든 모델의 모든 링크에 적용되는 힘이다. 가제보는 단지 시간 변화에 따른 모델의 상태를 기록한다. 로그파일은 도입부(header)와 최초의 world 설명, 그리고 시간에 따른 상태 정보로 이루어져 있다.

Enable Gazebo logging from the GUI

가제보를 시작하고 로깅할 준비가 되었다면 메뉴바 오른쪽 상단 아이콘을 누른다.

새로운 팝업 창이 나타난다. 로그를 시작하기 위해 빨간색 버튼을 누른다. 같은 버튼을 다시 누르면 로깅 정지된다. 새로운 시간 기록 디렉토리는 state.log파일 및 하위 디렉토리와 함께 ~/.gazebo/log에 생성된다. 아래는 예제이다:

~/.gazebo/log/2013-07-25T07\:29\:05.122275/gzserver/state.log

Enable Gazebo logging from your C++ program

HAPTIX C-API tutorial에 설명된 순서에 따라 for 선호하는 운영체제를 사용하여 컴파일한다. 아래 블럭의 주석을 해제하여 로깅이 가능하게 한다:

// Uncomment this block to start logging.
// if (hxs_start_logging("/tmp") != hxOK)
//   printf("hxs_start_logging(): error.\n");

그리고:

// Uncomment this block to stop logging.
// if (hxs_stop_logging() != hxOK)
//   printf("hxs_stop_logging(): error.\n");

Enable Gazebo logging from your MATLAB/Octave program

HAPTIX Matlab and Octave API tutorial을 따라하고 Octave 또는 MATLAB에서 hx_matlab_controller를 로드한다. 로그가 가능하도록 아래 블럭의 주석 표시를 해제한다:

% Uncomment this block to start logging.
% hxs_start_logging('/tmp/log/')

그리고:

% Uncomment this block to stop logging.
% hxs_stop_logging()

Playback a log file

가제보에서 이전 기록된 로그를 바꾸고싶다면 다음 과정을 따라한다. 새로운 터미널에서 아래 명령을 실행한다:

gazebo -u -p /tmp/log/state.log

Table of Contents




Clone this wiki locally