HAPTIX environment setup - modulabs/gazebo-tutorial GitHub Wiki
Overview
์ด ๋ฌธ์์์๋ HAPTIXํ์ ๊ฒฝํ์ ๋ฐ๋ฅธ ์ ์ ๋ฐฉ์์ ๋ํ์ฌ ์ค๋ช ํ๋ค.
์ค์น ํํ ๋ฆฌ์ผ์ ๋ฐ๋ฅด๊ธฐ๋ง ํ๋ฉด ๋ ๋ฆฝ ์คํํ ๋ฆฌ๋ ์ค ์์คํ ์ ์ ์ฒด ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์ ์ค์นํ ์ ์์์ ์ฐธ๊ณ ํ์ฌ๋ผ. ์ด ํํ ๋ฆฌ์ผ์ ์์ ํ ๊ฐ์ ํ์ค ๊ฒฝํ์ ์ํด 3D ๋น์ ๊ณผ ๋ชจ์ ์บก์ฒ๋ฅผ ํตํฉํ๋ ค๋ ์ฌ์ฉ์๋ฅผ ์ํ ๊ฒ์ด๋ค.
Inventory
- 1 64-bit computer with 3D Vision-compatible graphics card and Ubuntu 14.04 (Trusty Tahr)
- 1 DisplayPort cable
- 1 DVI cable (for 2-computer setup)
- 1 Logitech keyboard
- 1 Logitech mouse
- 1 3D Monitor
- Nvidia 3D Vision 2 kit:
- 1 pair 3D glasses
- 1 infrared emitter
- 1 3-pin VESA cable
- 1 mini-USB cable
- 1 micro-USB cable
- 1 3DConnexion Spacenav
- 1 USB switch with 2-port USB hub (for 2-computer setup)
Hardware setup
Two-computer setup
๋๊ฐ์ ์ปดํจํฐ๋ก์ด๋ฃจ์ด์ง HAPTIX ์์คํ ์ ๋ฆฌ๋ ์ค ์ปดํจํฐ์ ์๋์ฐ ์ปดํจํฐ๋ก ๊ตฌ์ฑ๋๋ค. ๊ฐ์ ๋ณด๋ ๋ฆฌํญ์ค์์, OptiTrack๋ ์๋์ฐ์์ ์คํํ๋ค. USB ์ค์์น๋ ๋๊ฐ์ ์ปดํจํฐ์์ ์ ๊ทผ ๊ฐ๋ฅํ๋ฉฐ ํ๋์ ๋ชจ๋ํฐ, ํค๋ณด๋, ๊ทธ๋ฆฌ๊ณ ๊ธฐํ ์ฃผ๋ณ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ๋ค. ์๋ ๊ทธ๋ฆผ์์ ์์คํ ์ ๊ฐ ์ฅ์น๋ค๊ฐ์ ์ฐ๊ฒฐ ์ํ๋ฅผ ๋ณด์ฌ์ค๋ค.
- ๋ฆฌ๋ ์ค ์ปดํจํฐ์ ์๋์ฐ ์ปดํจํฐ์ ์ ์์ ์ฐ๊ฒฐํ๋ค.
- ๋ฆฌํญ์ค ์ปดํจํฐ์ ๋์คํ๋ ์ด ํฌํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ํฐ๋ฅผ ์ฐ๊ฒฐํ๊ณ , ์๋์ฐ์์๋ DVI ์ผ์ด๋ธ์ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐํ๋ค.
- Nvidia emitter๋ฅผ ๋ฆฌํญ์ค ์ปดํจํฐ์ USB ํฌํธ์ ์ฐ๊ฒฐํ๋ค.
- ๋์ผ emitter์ VESA cable์ ๋ฆฌ๋ ์ค ์ปดํจํฐ ํ๋ฉด์ ์๋ 3-pin DIN port์ ์ฐ๊ฒฐํ๋ค.
- ๋ง์ฝ ์๋์ฐ ์ปดํจํฐ์์ ์คํ ๋ ์ค๋ฅผ ์ฌ์ฉํ๋ค๋ฉด: ๋๋ฒ์งธ Nvidia emitter๋ฅผ ์๋์ฐ ์ปดํจํฐ์ ์ฐ๊ฒฐํ๋ค.
- USB switch๋ ๋๊ฐ์ USB ์ผ์ด๋ธ์ด ์๋ค. ํ๋๋ ๋ฆฌ๋ ์ค์, ํ๋๋ ์๋์ฐ์ ์ฐ๊ฒฐํ๋ค.
- ํค๋ณด๋์ ๋ง์ฐ์ค๋ฅผ USB switch์ ์ฐ๊ฒฐํ๋ค.
- USB switch์ 2-port ํ๋ธ๋ฅผ ์ฐ๊ฒฐํ๋ค. 2-port hub์ ์ ์ ์ด๋ํฐ๊ฐ ์๋ค๋ฉด ์ฐ๊ฒฐํ๋ค.
- Spacenav๋ฅผ 2-port hub์ ์ฐ๊ฒฐํ๋ค.
- ์ปดํจํฐ ์ ์์ ์ผ ๋ค.
- ์ปดํจํฐ์ ์ ์์ด ์ฐ๊ฒฐ๋๋ฉด, Nvidia stereo emitter์์ ํ๋ฆฐ ์ด๋ก ๋ถ์ด ๋ฌ๋ค.
- ์ฌ์ฉํ๊ธฐ ์ ์ Nvidia glasses๋ฅผ ์ถฉ์ ํด์ผ ํ๋ค. micro-USB ์ผ์ด๋ธ์ ์ฌ์ฉํ์ฌ ์ปดํจํฐ์ ์ฐ๊ฒฐํ๋ค.
- ๋๊ฐ์ ์ปดํจํฐ ์ฌ์ด๋ฅผ ์ ํํ๋ ค๋ฉด, ์ฐ๊ฒฐ๋ USB switch์ ๋ฒํผ์ ๋๋ฅด๊ณ ๋์คํ๋ ์ด ๋ชจ๋ํฐ์ input source (๊ทธ๋ฆผ)์ ๋ณ๊ฒฝํ๋ค.
One computer setup
ํ๊ฐ์ ์ปดํจํฐ ์ ์ ์ ๊ฒฝ์ฐ, ๋ฆฌ๋ ์ค ์ปดํจํฐ๋ฅผ ๊ถ์ฅํ๋ค. ์๋์ฐ ๊ฐ์ ๋จธ์ ์ด ๋ฆฌ๋ ์ค ์ปดํจํฐ์ ์ค์น๋์ด์ผ Optitrack์ ํต์ ํ ์ ์๋ค (๊ฐ์ ๋จธ์ ์ ๋ํ์ฌ ๋ฐฐ์ฐ๊ณ ์ถ๋ค๋ฉด ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํด๋ผ)
- ๋ฆฌ๋ ์ค ์ปดํจํฐ์ ํ์๋ฅผ ์ฐ๊ฒฐํ๋ค.
- ๋์คํ๋ ์ด ํฌํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํจํฐ์ ๋ชจ๋ํฐ๋ฅผ ์ฐ๊ฒฐํ๋ค.
- ํ์ํ ๋ชจ๋ USB ์ฅ์น (ํค๋ณด๋, ๋ง์ฐ์ค, Spacenav, OptiTrack, emitter, glasses ๋ฑ)๋ฅผ ์ปดํจํฐ์ ์ฐ๊ฒฐํ๋ค.
- VESA cable๋ก ์ปดํจํฐ ํ๋ฉด 3-pin port์ emitter๋ฅผ ์ฐ๊ฒฐํ๋ค.
- ์ปดํจํฐ ์ ์์ ์ผ ๋ค.
- ์งํํ๊ธฐ ์ ์ ์ปดํจํฐ์ ์ด๋๋ท ์ผ์ด๋ธ์ ํตํ ์ธํฐ๋ท ์ฐ๊ฒฐ์ ํ์ธํ๋ค.
Software setup
Gazebo installation
์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์ ์ค์นํ๊ธฐ ์ํด ํฐ๋ฏธ๋(์ดํ "Applications", "Accessories")์ ์ด๊ณ ์ ๋ ฅํ๋ค:
sudo apt-get install handsim
๋ง์ฝ ๋ช ๋ น์ด ๋์ํ์ง ์์ผ๋ฉด, OSRF๋ก๋ถํฐ ์ํํธ์จ์ด๋ฅผ ํ์ฉํด๋ ๋๋ค๊ณ ์ปดํจํฐ์ ์๋ ค์ฃผ์ด์ผ ํ๋ค:
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-latest.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -;
sudo apt-get update
sudo apt-get install handsim
๊ฐ์ ๋ณด๋ฅผ ์์ํ๋ค:
gazebo --verbose worlds/arat.world
Desktop Environment (optional)
HAPTIX ํ์์๋ ์ฌ์ฉ์ ์นํ์ ์์ด์ฝ๊ณผ ์์ ์คํฌ๋ฆฝํธ ์
์ ์ ๊ณตํ๋ค. ์ด ์
์
์ ์ ์ฉํ๊ธฐ ์ํ์ฌ ์๋ ์ง์์ฌํญ์ ๋ฐ๋ผ haptix-tool ํจํค์ง๋ฅผ ์ค์นํ๋ค.
์ฃผ์: haptix-tool ํจํค์ง๋ ์ด๋ฏธ ์กด์ฌํ๋ ๋ฐ์คํฌํ ํ๊ฒฝ์ ํด๋ฅผ ๋ผ์น ์ ์๋ค. ํนํ xorg.conf๋ฅผ ๋ง์ด ์์ ํ ๊ฒฝ์ฐ haptix-tool์ ์ค์นํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
- "System Tools">"Administration">"User Accounts"๋ก ์ด๋ํ์ฌ "haptix"๋ผ๋ ์ด๋ฆ์ผ๋ก ์๋ก์ด ์ฌ์ฉ์๋ฅผ ์์ฑ๋ค.
- ํฐ๋ฏธ๋์ฐฝ์ ์ด์ด ์ ๋ ฅํ๋ค:
sudo adduser haptix sudo
์๋ก์ด ์ฌ์ฉ์๋ฅผ sudoers ๋ฆฌ์คํธ์ ์ถ๊ฐํ๋ค. ์ปดํจํฐ๋ฅผ ์ฌ๋ถํ
ํ๋ค.
3. ์๋ก์ด haptix๋ก ๋ค์ ๋ก๊ทธ์ธํ์ฌ, ํฐ๋ฏธ๋์ ์ด๊ณ ์
๋ ฅํ๋ค:
sudo apt-get install haptix-tools
๋ฐ์คํฌํ์ ์์ด์ฝ์ด ๋ํ๋๋ค.

- haptixStart: ๋๋ธํด๋ฆญํ๋ฉด ๊ฐ์ ๋ณด ์ธ๊ณต ํ ์๋ฎฌ๋ ์ด์ ์ด ์คํ๋๋ค.
- haptixUpdate: ๋๋ธํด๋ฆญํ๋ฉด ์ํํธ์จ์ด๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ์ค์นํ๋ค.
- haptixSupport: ๋ฌธ์ ํด๊ฒฐ ์ง์์ ์ํ OSRF ์ง์ ๋ด๋น์์ ๋ณด์ ์ฐ๊ฒฐ์ด ์ด๋ฆฐ๋ค. ์๋ฎฌ๋ ์ด์ ์์คํ ๋๋ ์ฃผ๋ณ ํ๋์จ์ด์ ๋ํ ์ฐ๊ฒฐ์ด ๋์ด์ง ๊ฒฝ์ฐ [email protected]์ ์ฐ๋ฝํ์ฌ ์ง์ ์ธ์ ์ ์์ฝํ๋ค. ๊ทธ๋ฐ๋ค์ ์์ด์ฝ์ ๋๋ธํด๋ฆญํ์ฌ ์ฐ๊ฒฐ์ ์์ํ๋ค. ๋ง์ฝ haptixSupport ๋ช ๋ น์ ์ฌํํ๋ ค๋ฉด OSRF wiki๋ฅผ ์ฐธ๊ณ ํ๊ณ x11vnc์ ๋ํ์ฌ ์์ธํ ์ฝ์ด๋ณด์๋ผ.
- checkStereo: ์๋์ฐ๊ฐ ์ด๋ฆฌ๊ณ ์คํ ๋ ์ค์์ ๋๊ฐ์ ํ์ ํ๋ ๊ธฐ์ด๊ฐ ํ์๋๋ค. ์์ด์ฝ์ ์ฌ์ฉํ์ฌ ์คํ ๋ ์ค๊ฐ ์ฌ์ฉํ๋ ์์คํ ์์ ํ์ฑํ ๋์ด์๋์ง ํ์ธํ ์ ์๋ค.
Terminal ๋๋ graphically๋ฅผ ํตํด ์ฌ์ฉ์ ์์ด์ฝ์ ๋ง๋ค ์ ์๋ค.
Virtual machine installation (for one computer setup)
๋ฆฌ๋ ์ค ์ปดํจํฐ์์ ๋ฆฌ๋ ์ค 64bit ์ฉ VMWare ํ๋ ์ด์ด๋ฅผ ์ค์นํ๊ธฐ ์ํด ์ด ์น์ฌ์ดํธ์ ์ค๋ช ์ ๋ฐ๋ฅธ๋ค. ์ฌ๊ธฐ์ ์๋ OSRF ์น์๋ฒ์์ ์๋์ฐ ๊ฐ์ ๋จธ์ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ๋ค. ์ฃผ์: ์ฉ๋์ด 5๊ธฐ๊ฐ๋ฐ์ดํธ๋ก ๋งค์ฐ ํฌ๋ค.
ํ์ผ์ ~/vmware์ ํ์ด ๋๋๋ค. tarball์ .vmx๋ก ๋๋๋ ํ์ผ์ ํฌํจํด์ผํ๋ค. ๊ทธ๋ํฝ ๋ฉ๋ด ์์ด์ฝ์ด๋ ํฐ๋ฏธ๋์์ vmware-player๋ฅผ ์
๋ ฅํ์ฌ VMware Player๋ฅผ ์์ํ๋ค. VMWare Player์์ .vmx ํ์ผ์ ์ฐ๋ค. ๊ทธ๋ฌ๋ฉด Windows ๊ฐ์ ์์คํ
์ด ์์๋๋ค.
Nvidia drivers
์คํ
๋ ์ค ๋น์ ์ ๋ํ ์ฌ๋ฐ๋ฅธ Nvidia ๋๋ผ์ด๋ฒ๋ฅผ ์ฐพ๊ธฐ์ํด, ์ด ํ์ด์ง๋ก ๊ฐ์ ๋๋กญ๋ค์ด ๋ฉ๋ด์์ ๊ฐ์ง๊ณ ์๋ ๋น๋์ค ์นด๋ ๋ชจ๋ธ์ ์ ํํ๋ค. ์ด์ ์ฒด์ ํญ๋ชฉ์์, "Linux 64-bit"๋ฅผ ์ ํํ๋์ง ํ์ธํด๋ผ.
๋ค์ ํ์ด์ง์์ "Version:" ํญ๋ชฉ์ ์๋ ์ซ์๋ฅผ ๊ธฐ๋กํ๊ณ ์๋ฌด๊ฒ๋ ๋ค์ด๋ก๋ ํ์ง ์๋๋ค. ์ ๋ค์ ๋ฒ์ ๋ฒํธ ๋ถ๋ถ์ ๋ฌด์ํ๋ค. ์๋ฅผ๋ค์ด Nvidia ์น์ฌ์ดํธ์์ ํ์ํ ๋๋ผ์ด๋ฒ ๋ฒ์ ์ด 346.59๋ผ๊ณ ํ๋ฉด ๋ฒ์ ๋ฒํธ๋ ๋จ์ํ "346"์ด๋ฉฐ ".59" ๋ถ๋ถ์ ๋ฌด์ํ๋ค.
๋ง์ฝ ๋ฒ์ ๋ฒํธ๊ฐ 304์์ 331 ์ฌ์ด๋ผ๋ฉด, ํฐ๋ฏธ๋์ ์๋์ ๊ฐ์ด ์ ๋ ฅํ๋ค:
sudo apt-get install nvidia-<version number>
๋ง์ฝ 331 ์ด์์ด๋ฉด, PPA์์ nvidia ๋๋ผ์ด๋ฒ๋ฅผ ์ค์นํด์ผ ํ๋ค:
sudo add-apt-repository -y ppa:xorg-edgers/ppa
sudo apt-get update
๊ทธ๋ฆฌ๊ณ
sudo apt-get install nvidia-<version number>
์๋ก์ด ๋๋ผ์ด๋ฒ ์ ์ฉ์ ์ํ์ฌ ์ปดํจํฐ๋ฅผ ์ฌ๋ถํ ํ๋ค.
Testing your setup
- ์คํ ๋ ์ค ๊ธ๋ผ์ค๊ฐ ์ถฉ์ ๋์ด ์ผ์ ธ์๊ณ , ์ฅ์น๊ฐ ์ด๋ก๋น์ ๋ด๊ณ ์๋์ง ํ์ธํ๋ค.
- ๊ฐ์ ๋ณด ์์ด์ฝ์ ๋๋ธํด๋ฆญ ํ๋ค. ๊ฐ์ ๋ณด ์๋์ฐ๊ฐ ๋ํ๋๊ณ ์๋ฎฌ๋ ์ด์ ๋ ์ธ๊ณต ํ๊ณผ ์กฐ์ ํ๊ฒฝ์ด ํ์๋์ด์ผ ํ๋ค. ๋ํ ์คํ ๋ ์ค์ฅ์น๊ฐ ๋ฐ์ ๋ น์์ผ๋ก ๋ฐ๋๋ฉด ์คํ ๋ ์ค ์ถ๋ ฅ์ ๊ฐ์งํ๋ค๋ ๊ฒ์ด๋ค.
- ์์ ๋์จ ๋๊ฐ์ ์ด๋ฏธ์ง์ฒ๋ผ ํ๋ฉด์ด "ํ๋ฆฌ๊ฒ" ํ์๋๋ค.
- ์๊ฒฝ์ ๋๋ค. ๊ฐ์ ๋ณด ์ฐฝ์ 3D๋ก ๋ณด์ธ๋ค.
- ํค๋ณด๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๊ณผ ๋ง์ฐ์ค๋ฅผ ์์ง์ฌ ์์ ์ ๋ณ๊ฒฝํ ์ ์๋ค. ๋๋ Spacenav๋ฅผ ์ฌ์ฉํ์ฌ ํ๊ณผ ๊ด์ธก์ (viewpoint)๋ฅผ ์ ์ดํ ์ ์๋ค. Spacenav์ ๋ฒํผ์ ๋๋ฌ ํ๊ณผ ๊ด์ธก์ ์ ์ ํํ๋ค. ์ซ์ํค(1-5)๋ ์ฌ์ ์ ์ ์๋ grasps(์์ธ ๋ด์ฉ์ teleop ํํ ๋ฆฌ์ผ ์ฐธ์กฐ)๋ฅผ ์ ์ดํ๋ค.
- ๊ด์ธก์ ๋ฐ ํ ํฌ์ฆ ์ ์ด๋ฅผ ์ํ OptiTrack 3D ์นด๋ฉ๋ผ ๊ตฌ์ฑ์ ๋ํ ์ง์นจ์ ๋ค์ ํํ ๋ฆฌ์ผ๋ก ์ด๋ํ์ฌ๋ผ.
Troubleshooting
- ํ๋ฉด์ด ํ๋ฆฌ๊ฒ ๋ณด์ด์ง ์๊ณ ์คํ ๋ ์ค๊ฐ ์๋ํ์ง ์์ผ๋ฉด OSRF ์ง์ ์ผํฐ([email protected])์ ๋ฌธ์ํ๋ค.
- ์ฅ์น๋ฅผ ๋ถ๋ฆฌํ๋ค๊ฐ ๋ค์ ์ฐ๊ฒฐํ๋ฉด ์ ์์ผ๋ก ๋น๋๊ณ ์๋์ ๋ฉ์ถ๋ค. ์ด๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ๋ก๊ทธ์์ํ๊ณ ๋ค์ ๋ก๊ทธ์ธํ๋ฉด ๊ณ ์น ์ ์๋ค. ์ฅ์น๊ฐ ์ ์์ด๋ฉด์ ๋ก๊ทธ์คํ ์ํ๋ก ์์ ๋์ง ์์ผ๋ฉด OSRF ์์ผํฐ์ ๋ฌธ์ํ์ฌ๋ผ.
- ๋ง์ฝ Spacenav๊ฐ ์๋ํ์ง ์์ผ๋ฉด, ๋จผ์ ํ๋์ LED๊ฐ ์ผ์ ธ์๋์ง ํ์ธํ๋ค. ์ผ์ ธ์๋ค๋ฉด ํฐ๋ฏธ๋ ์ ์ด๊ณ ๋ค์์ ์ ๋ ฅํ๋ค:
sudo service spacenavd restart
ํจ์ค์๋๋ฅผ ์ ๋ ฅํด์ผ ํ ์ ์๋ค. ๋ง์ฝ Spacenav๊ฐ ์ฐ๊ฒฐ๋์ด ์์ด๋ ํ๋์์ผ๋ก ๋น๋์ง ์๊ฑฐ๋ ํฐ๋ฏธ๋ ๋ช ๋ น์ด ์๋ํ์ง ์์ผ๋ฉด OSRF ์ง์์ผํฐ์ ๋ฌธ์ํ์ฌ๋ผ. 4. ๊ฐ์ ๋ณด๊ฐ ์ด๋ฆฌ์ง ์๊ณ ๋ ์์ด ํค๋ณด๋ ์ ๋ ฅ์ ์๋ตํ์ง ์์ผ๋ฉด OSRF ์ง์์ผํฐ์ ๋ฌธ์ํ์ฌ๋ผ.