HAPTIX software install and update - modulabs/gazebo-tutorial GitHub Wiki
Overview
HAPTIX ํ๋ก์ ํธ๋ ์ฐ๊ตฌ์๊ณผ ๊ฐ๋ฐ์๋ค์ด ์ค์ ํ๋์จ์ด์์ ์คํํ๊ธฐ ์ ์ ์ํํธ์จ์ด๋ฅผ ํ
์คํธํ๊ธฐ ์ํ์ฌ ์์ฉ ๋ก๋ด ์ธ๊ณต ํ์ ์๋ฎฌ๋ ์ด์
ํ๋ค. HAPTIX ์ค์ ์ ๊ฐ์ ๋ณด ์๋ฎฌ๋ ์ดํฐ, ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ํด๋ผ์ด์ธํธ ์ปจํธ๋กค๋ฌ๋ก ๊ตฌ์ฑ๋๋ค. ๊ฐ์ ๋ณด ์๋ฎฌ๋ ์ดํฐ๋ ๋ฆฌ๋
์ค ์ปดํจํฐ์์ ์คํ๋๋ ๋ฐ๋ฉด, HAPTIX ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(client library)์ ํด๋ผ์ด์ธํธ ์ปจํธ๋กค๋ฌ๋ ๋ฆฌ๋
์ค ๋ฐ ์๋์ฐ ํธ์คํธ(host)์์ ์คํ๋ ์ ์๋ค. ์ด ์ค๋ช
์(tutorial)์์๋ ๊ฐ์ ๋ณด ๋ฐ HAPTIX ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ค์น ๊ณผ์ ์ ์๋ ค์ค๋ค. ์์ ์ ํธ๋ ์ปจํธ๋กค๋ฌ(hand controller)๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋๋จธ์ง ์ค๋ช
์๋ฅผ ํ์ธํด๋ผ.

Gazebo installation
Note: ์ด ์ฅ์ HAPTIX ํจํค์ง์ ํจ๊ป ๊ฐ์ ๋ณด๋ฅผ ์คํ์ค์ธ ๋ฆฌ๋ ์ค ์๋ฒ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ํ์ํ๋ค.
๊ฐ์ ๋ณด๋ฅผ ์ค์นํ๊ธฐ ์ ์ Ubuntu 14.04 64bit๊ฐ ์ค์น๋ ์ปดํจํฐ๊ฐ ํ์ํ๋ค. ๋ฆฌ๋ ์ค ์ปดํจํฐ๊ฐ ์ค๋น๋๋ฉด, ํฐ๋ฏธ๋์ ์ด๊ณ ๋ค์ ๋ช ๋ น์ ์คํํด๋ผ:
wget -O /tmp/haptix_gazebo_install.sh https://osrf-distributions.s3.amazonaws.com/haptix/haptix_gazebo_install.sh; sudo sh /tmp/haptix_gazebo_install.sh
ํฐ๋ฏธ๋์์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ๊ฐ์ ๋ณด ์ค์น ํ ์คํธ๋ฅผ ํ ์ ์๋ค:
gazebo worlds/arat.world
๊ฐ์ ๋ณด๋ ์ ์ ํ ์ค๋ฅธ์ชฝ Modular Prosthetic Limb (MPL)์ ํจ๊ป ์กฐ์ ํ๊ฒฝ์ ๋ถ๋ฅผ ์ ์๋ค. ๋๋ ๋ค์์ ์ ๋ ฅํ์ฌ ์ผ์ชฝ ํ์ ๋ถ๋ฌ์ฌ ์ ์๋ค:
gazebo worlds/arat_left.world
ํ ์คํธ๊ฐ ๋๋๋ฉด ๊ฐ์ ๋ณด๋ฅผ ๋ซ์์ฃผ์ด๋ผ.
HAPTIX Client library SDK
HAPTIX client library SDK๋ ์ ์ด์ํํธ์จ์ด์ ๊ฐ์ ๋ณด ๋ด ์๋ฎฌ๋ ์ด์
๋ ์ ์ฌ์ด์ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ฏธ์ด๋ค. ์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌhaptix-comm์ด๋ผ๊ณ ํ๋ค. haptix-comm์ ์ํํธ์จ์ด๊ฐ ์(๊ด์ ์ , ๋ชจํฐ์, ์ผ์ ์ ๋ฑ)์ ๋ํ ์ ๋ณด๋ฅผ ์์ฒญํ๊ณ ์๋ก์ด ์กฐ์ธํธ ๋ช
๋ น์ ๋ณด๋ด๊ณ ์์ ์ํ๋ฅผ ๋ฐ์ ์ ์๊ฒ ํด์ฃผ๋ API๋ฅผ ์ ๊ณตํ๋ค.
Installing on Windows
ํ์ฌ 64-bit Windows 7, Visual Studio 2013, ๋ฐ Matlab R2014b ์ด์์ ์ง์ํ๋ค. (Matlab ๋ฒ์ ์ ์ฃผ ๋ฉ๋ด์์ Help->About MATLAB ์ ์ ํํ๋ฉด ํ์ธํ ์ ์๋ค. 32-bit ๋ฒ์ ์ ๊ฐ๋ฐ์ค์ด๋ฉฐ, ๊ณง ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๋ค.
๋ค์์ผ๋ก ๊ฐ์ SDK๋ฅผ ๋ค์ด๋ก๋ํ๋ค: *Windows Client SDK Download ๊ทธ๋ฆฌ๊ณ ๋ฒ์ ์ ์ ํํ๋ค. ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์ถ๊ฒ ์ง๋ง ์ด ๋ฌธ์ ํ๋จ์ Version compatiblity์ ํ์ธํด๋ผ.
์ํ๋ HAPTIX ํด๋์ zip ํ์ผ์ ์์ถ์ ํผ๋ค. ์๋ฅผ๋ค๋ฉด: C:\Users\osrf\Desktop\haptix-ws.
Network configuration
์ด์ ๊ฐ์ ๋ณด์ ํต์ ํ๋๋ฐ ์ฌ์ฉํ IP ์ฃผ์๋ฅผ ์ง์ ํ๊ธฐ ์ํด ์ผ๋ถ ๋คํธ์ํฌ ๊ตฌ์ฑ์ ์ํํ๋ค.
์์ ๋ฒํผ์ ํฌ๋ฅด๊ณ ๊ฒ์ ๋ฐ์ค(search box)์ cmd๊ณ ์
๋ ฅํ๋ค. ํฐ๋ฏธ๋์ฐฝ์ ๋ค์์ ์
๋ ฅํ์ฌ ์คํํ๋ค:
ipconfig
Ethernet adapter Local Area Connection ํญ๋ชฉ์์ IPv4 ์ฃผ์๋ฅผ ํ์ธํ๋ค.

์์ ๋ฒํผ์ ๋๋ฅด๊ณ ํ๊ฒฝ๋ณ์๋ฅผ ์ฐพ๋๋ค. ์์คํ
ํ๊ฒฝ๋ณ์ ์์ ์ ๋๋ฅด๊ณ ํ๊ฒฝ ๋ณ์ ๋ฒํผ์ ํด๋ฆญํ๋ค. ์๋ก์ด ํ๊ฒฝ๋ณ์์ IGN_IP๋ ์ด๋ฆ์ ์๋ก์ด ํ๊ฒฝ ๋ณ์๋ฅผ ๋ง๋ค๊ธฐ ์ํ์ฌ ์ฌ์ฉ์ ๋ณ์์์ ์๋ก ๋ง๋ค๊ธฐ๋ฅผ ๋๋ฅธ๋ค. IPv4 Address์ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์
๋ ฅํ๋ค.
์ด์ ๊ฐ์ ๋ณด ์ปดํจํฐ์ ๊ด๋ จ๋ ๋ชจ๋ ์ปดํจํฐ(์๋ฅผ ๋ค๋ฉด MATLAB/Octave/Visual Studio ๊ฐ๋ฐ ์ปดํจํฐ)๋ฅผ ๊ทธ๋ฃนํ ํ๊ธฐ์ํ ํํฐ์
์ ์์ฑ ํ๋ค. ํํฐ์
์ด ์์ผ๋ฉด ๋์ค์ ๊ฐ์ ๋คํธ์ ์์์ ๋๋ฒ์งธ ํน์ ์ธ๋ฒ์งธ ๊ฐ์ ๋ณด ์ธ์คํด์ค๋ฅผ ์คํํ๊ณ ์ ํ ๋ ํผ์ ์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์, ํํฐ์
์ ๋๋๋ ์์
์ ๋งค์ฐ ์ค์ํ๋ค.
์๋ก ๋ง๋ค๊ธฐ๋ฅผ ๋๋ฌ IGN_PARTITION๋ผ๋ ์ด๋ฆ์ ์๋ก์ด ํ๊ฒฝ๋ณ์๋ฅผ ์์ฑํ๋ค. gazebo1๊ณผ ๊ฐ์ ์ด๋ฆ์ ์
๋ ฅํ๋ค. ๊ฐ์ ๊ฐ์ ๋ณด ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ ์๋์ฐ ์ปดํจํฐ์ ์ด ์์
์ ๋ฐ๋ณตํ์ฌ ํด์ค๋ค.
Installing on Linux
One-line install
wget -O /tmp/haptix_sdk_install.sh https://osrf-distributions.s3.amazonaws.com/haptix/haptix_sdk_install.sh; sudo sh /tmp/haptix_sdk_install.sh
or Step-by-step install
- packages.osrfoundation.org ๋ถํฐ ์ํํธ์จ์ด ์ ๊ทผ์ ํ์ฉํ๊ธฐ ์ํด ์ปดํจํฐ๋ฅผ ์ ํ ํ๋ค
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
- SDK๋ฅผ ์ค์นํ๋ค.
sudo apt-get install libhaptix-comm-dev
Network configuration
์ด์ ๋ค๋ฅธ ์ปดํจํฐ(์๋ฅผ ๋ค์ด MATLAB ๊ฐ๋ฐ ์ปดํจํฐ)์ ํต์ ์ ํ๊ธฐ ์ํด IP ์ฃผ์๋ฅผ ์ ํ ํ๋ค. ํฐ๋ฏธ๋ ์ฐฝ์ ์ด๊ณ ์๋ ๋ช ๋ น์ ์คํํ๋ค:
ifconfig
eth0 ํญ๋ชฉ์์ inet addr์ ํ์ธํ๋ค.

ํฐ๋ฏธ๋์์ ์๋ ๋ช
๋ น์ ์ฑํํ๊ณ IGN_IP ๊ฐ์ ์์ ๋์์๋ inet_addr์ผ๋ก ๋ฐ๊พธ์ด ์คํํ๋ค:
echo "export IGN_IP=172.23.2.37" >> ~/.bashrc
์ด์ ์์ ์ฅ์์ ์ค๋ช
ํ ๋ฐ์ ๊ฐ์ด (gazebo1์ด๋ผ๊ณ ๋ถ๋ฅธ ์์ ) ๋ฆฌ๋
์ค ์ปดํจํฐ(Gazebo/Octave)์๋ ํํฐ์
์ ์์ฑํ๋ค.
ํฐ๋ฏธ๋์์ ์๋ ๋ช
๋ น์ ์คํํ๋ค:
echo "export IGN_PARTITION=gazebo1" >> ~/.bashrc
๊ฐ์ ๊ฐ์ ๋ณด ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ๋ ๋ฆฌ๋ ์ค ์ปดํจํฐ์ ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค..
Software Update
HAPTIX software ์ ๋ฐ์ดํธ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๊ฐ ์๋ค:
- terminal ๋ช
๋ น์ ์ฌ์ฉ
- ํฐ๋ฏธ๋์ ์ฐ๋ค
- ๋ค์ ๋ช ๋ น์ ์คํํ๋ค
sudo apt-get update
sudo apt-get upgrade
- ๋ฐ์คํฌํ ์์ด์ฝ์ ์ฌ์ฉ.
- Note:
haptixUpdate๋ฐ์คํฌํ ์์ด์ฝ์ด ํ์ํ๋ค. ๋ ๋ง์ ์ ๋ณด๋ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํด๋ผ. - ๋ฐํํ๋ฉด์์
haptixUpate์์ด์ฝ์ ๋๋ธํด๋ฆญํ๋ค.
- Note:
Version numbers
HAPTIX software์ ๊ด๋ จ๋ ๋ ๊ฐ์ ๋ฒ์ ๋ฒํธ๊ฐ ์๋ค. ํ๋๋ ์๋ฎฌ๋ ์ด์ ๋ฒ์ ์ด๊ณ , ๋ค๋ฅธ ํ๋๋ ํด๋ผ์ด์ธํธ SDK ๋ฒ์ ์ด๋ค.
Simulator version
์๋ฎฌ๋ ์ด์
๋ฒ์ ์ ํ์ธํ๊ธฐ ์ํ์ฌ: haptixStart ๋ฐ์คํฌํ ์์ด์ฝ์ ๋๋ธํด๋ฆญํ์ฌ ๊ฐ์ ๋ณด๋ฅผ ์คํ์ํค๊ณ ํฐ๋ฏธ๋์ฐฝ์ ์๋์ ๊ฐ์ด ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ์ฌ ์คํํ๋ค.
gazebo worlds/arat.world
์๋ฎฌ๋ ์ดํฐ ๋ฒ์ (๊ตฌ์ฒด์ ์ผ๋ก ๋งํ๋ฉด, handsim package ๋ฒ์ ์) GUI ํ๋ฉด ์ข์ธก ํ๋จ์ ์์นํ๊ณ ์๋ค.

์ด ๊ฒฝ์ฐ, ์๋ฎฌ๋ ์ด์ ๋ฒ์ ์ 0.5.1 ์ด๋ค.
0.8.0 ๋ฒ์ ๋ถํฐ ๋ฒ์ ๋ฒํธ๋ ํฑ๋ ๋ฐํด ์์ด์ฝ์ ๋๋ฅธ ํ ํธ๋ GUI์ ์ค๋ฅธ์ชฝ ์๋จ ๋ชจ์๋ฆฌ์ ์๋ ๋ฉ๋ด์ ์์นํ๊ณ ์๋ค:

์ด ๊ฒฝ์ฐ, ์๋ฎฌ๋ ์ด์ ๋ฒ์ ์ 0.8.1 ์ด๋ค.
Client SDK version
Windows
์๋์ฐ์์ ํด๋ผ์ด์ธํธ SDK ๋ฒ์ ์ .zip ํ์ผ์ ์ด๋ฆ๊ณผ ๋ค์ด๋ก๋ ํ ๋๋ ํ ๋ฆฌ(๊ทธ๋ฆฌ๊ณ .zip ํ์ผ์ด ์ถ์ถ ํ ๊ฒฐ๊ณผ ๋๋ ํ ๋ฆฌ)์ ์ด๋ฆ์ด๋ค. ์๋ฅผ๋ค์ด hx_gz_sdk-0.6.0-Release-win64.zip์ ๋ค์ด๋ก๋ ํ ๊ฒฝ์ฐ, ํด๋ผ์ด์ธํธ SDK์ ๋ฒ์ ์ 0.6.0 ์ด๋ค.
Linux
๋ฆฌ๋
์ค์์ ํด๋ผ์ด์ธํธ SDK ๋ฒ์ ์ libhaptix-comm-dev package์ ๋ฒ์ ์ด๋ค. ํฐ๋ฏธ๋์์ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด ํ์ธํ ์ ์๋ค:
dpkg -l libhaptix-comm-dev
์๋์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์๋ค:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=======================-================-================-====================================================
ii libhaptix-comm-dev:amd6 0.6.0-1~trusty amd64 Haptix project communication library - Development f
์ด ๊ฒฝ์ฐ, ํด๋ผ์ด์ธํธ SDK ๋ฒ์ ์ 0.6.0 ์ด๋ค.
Version compatiblity
๊ฐ์ ๋ณด ์๋ฎฌ๋ ์ดํฐ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ SDK ๊ฐ์ ์ฌ๋ฐ๋ฅธ ๋์์ ๋ณด์ฅํ๋ ค๋ฉด ๋ ํจํค์ง์ ํธํ๋ฒ์ ์ ์ฌ์ฉํ๋์ง ํ์ธํด์ผํ๋ค. ๋ค์ ํ๋ ํธํ๋๋ ์กฐํฉ์ ์์ฝํ ๊ฒ์ด๋ค: Simulator Version : Client SDK Version
- 0.11.x : 0.8.y
- 0.10.x : 0.8.y
- 0.9.x : 0.8.y
- 0.8.x : 0.7.y
- 0.7.x : 0.6.y
- 0.6.x : 0.5.y
HAPTIX CANbus driver
HAPTIX CANbus driver๋ HAPTIX client library SDK๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ๋ก DEKA Luke hand๋ฅผ ์กฐ์ ํ๊ธฐ ์ํด ํ์ํ๋ค. ์ค์น ๊ณผ์ ์์ DEKA webtransfer system์ ์ ๊ทผ์ด ํ์ํ๋ฉฐ, ์ ๊ทผ๊ถํ์ด ์๋ค๋ฉด '[email protected]'์ ๋์์ ์์ฒญํด๋ผ.
๋ํ CANbus adapter๊ฐ ํ์ํ๋ค. ์ฌ๊ธฐ์์๋ PEAK-System Technik ์ฌ์์ ๋ง๋ PCAN-USB Adapter์ ์ถ์ฒํ๋ค.
Installing on Windows
- DEKA webtransfer system์์ ์์ถํ์ผ
haptix-canbus-osrf.zip์ ๋ค์ด๋ก๋ ํ๋ค. - ์ํ๋ ๋๋ ํ ๋ฆฌ์์ ์์ถ์ ํ๊ณ ์คํํ์ผ
haptix.exe์ ์คํํ๋ฉด HAPTIX protocol์ ํตํด ํต์ ํ ์ ์๋ค.
Installing on Linux
- CANbus dependencies ์ค์น
sudo apt-get update
sudo apt-get install libpcan-dev libpcanbasic-dev
- DEKA webtransfer system์์ ํจํค์ง
haptix-luke-proprietary_0.0.1-1~trusty_amd64.deb๋ฅผ ๋ค์ด๋ก๋ ํ๋ค. - HAPTIX CANbus driver ์ค์น
sudo dpkg -i ~/Downloads/haptix-luke-proprietary_0.0.1-1~trusty_amd64.deb