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