HAPTIX logging - modulabs/gazebo-tutorial GitHub Wiki
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