-
Notifications
You must be signed in to change notification settings - Fork 14
HAPTIX software install and update
HAPTIX 프로젝트는 연구원과 개발자들이 실제 하드웨어에서 실행하기 전에 소프트웨어를 테스트하기 위하여 응용 로봇 인공 팔을 시뮬레이션한다. HAPTIX 설정은 가제보 시뮬레이터, 클라이언트 라이브러리 및 클라이언트 컨트롤러로 구성된다. 가제보 시뮬레이터는 리눅스 컴퓨터에서 실행되는 반면, HAPTIX 클라이언트 라이브러리(client library)와 클라이언트 컨트롤러는 리눅스 및 윈도우 호스트(host)에서 실행될 수 있다. 이 설명서(tutorial)에서는 가제보 및 HAPTIX 클라이언트 라이브러리의 설치 과정을 알려준다. 자신의 핸드 컨트롤러(hand controller)를 만드는 방법은 나머지 설명서를 확인해라.
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-comm
이라고 한다. haptix-comm
은 소프트웨어가 손(관절 수 , 모터수, 센서 수 등)에 대한 정보를 요청하고 새로운 조인트 명령을 보내고 손의 상태를 받을 수 있게 해주는 API를 제공한다.
현재 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
.
이제 가제보와 통신하는데 사용할 IP 주소를 지정하기 위해 일부 네트워크 구성을 수행한다.
시작 버튼
을 투르고 검색 박스(search box)
에 cmd
고 입력한다. 터미널창에 다음을 입력하여 실행한다:
ipconfig
Ethernet adapter Local Area Connection
항목에서 IPv4 주소
를 확인한다.
시작 버튼
을 누르고 환경변수
를 찾는다. 시스템 환경변수 수정
을 누르고 환경 변수
버튼을 클릭한다. 새로운 환경변수에 IGN_IP
는 이름의 새로운 환경 변수를 만들기 위하여 사용자 변수
에서 새로 만들기
를 누른다. IPv4 Address에 위 그림과 같이 입력한다.
이제 가제보 컴퓨터와 관련된 모든 컴퓨터(예를 들면 MATLAB/Octave/Visual Studio 개발 컴퓨터)를 그룹화 하기위한 파티션을 생성 한다. 파티션이 없으면 나중에 같은 네트웍 상에서 두번째 혹은 세번째 가제보 인스턴스를 실행하고자 할때 혼선이 발생하기 때문에, 파티션을 나누는 작업은 매우 중요하다.
새로 만들기
를 눌러 IGN_PARTITION
라는 이름의 새로운 환경변수를 생성한다. gazebo1
과 같은 이름을 입력한다. 같은 가제보 인스턴스를 사용할 윈도우 컴퓨터에 이 작업을 반복하여 해준다.
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
- 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
이제 다른 컴퓨터(예를 들어 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
같은 가제보 인스턴스를 사용하고자 하는 리눅스 컴퓨터에 이 과정을 반복한다..
HAPTIX software 업데이트 방법은 두 가지가 있다:
- terminal 명령을 사용
- 터미널을 연다
- 다음 명령을 실행한다
sudo apt-get update
sudo apt-get upgrade
- 데스크탑 아이콘을 사용.
-
Note: This requires the
haptixUpdate
desktop icon. For more information, see here. - Double click the
haptixUpate
icon on the desktop.
-
Note: This requires the
HAPTIX software와 관련된 두 개의 버전 번호가 있다. 하나는 시뮬레이션 버전이고, 다른 하나는 클라이언트 SDK 버전이다.
시뮬레이션 버전을 확인하기 위하여: haptixStart
데스크탑 아이콘을 더블클릭하여 가제보를 실행시키고 터미널창에 아래와 같이 명령어를 입력하여 실행한다.
gazebo worlds/arat.world
시뮬레이터 버전(구체적으로 말하면, handsim package 버전은) GUI 화면 좌측 하단에 위치하고 있다.
이 경우, 시뮬레이션 버전은 0.5.1 이다.
0.8.0 버전부터 버전 번호는 톱니 바퀴 아이콘을 누른 후 핸드 GUI의 오른쪽 상단 모서리에 있는 메뉴에 위치하고 있다:
이 경우, 시뮬레이션 버전은 0.8.1 이다.
윈도우에서 클라이언트 SDK 버전은 .zip
파일의 이름과 다운로드 한 디렉토리(그리고 .zip
파일이 추출 할 결과 디렉토리)의 이름이다. 예를들어 hx_gz_sdk-0.6.0-Release-win64.zip
을 다운로드 한 경우, 클라이언트 SDK의 버전은 0.6.0 이다.
리눅스에서 클라이언트 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 이다.
가제보 시뮬레이터와 클라이언트 라이브러리 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 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
-
Robot Simulators
-
Build a Robot
- Model structure and requirements
- How to contribute a model
- Make a model
- Make a Mobile Robot
- The relationship among Link, Joint and Axis
- Import Meshes
- Attach Meshes
- Add a Sensor to a Robot
- Make a Simple Gripper
- Attach Gripper to Robot
- Nested model
- Model Editor
- Animated Box
- Make an animated model(actor)
- Inertial parameters of triangle meshes
- Visibility layers
-
Model Editor
-
Build a World
-
Tools and utilities
-
Write a plugin
-
Plugins
-
Sensors
-
User input
-
Transport Library
-
Rendering Library
-
Connect to ROS
-
Ros Control - Advanced
-
DRCSIM for ROS Kinetic (Ubuntu16.04)
-
DRCSIM
- DRC Simulator installation
- Launchfile options
- Spawn Atlas into a custom world
- Animate joints
- Atlas Keyboard Teleoperation over ROS
- Teleoperate atlas with a music mixer
- Visualization and logging
- Atlas MultiSense SL head
- How to use the Atlas Sim Interface
- Atlas fake walking
- Grasp with Sandia hands
- DRC vehicle tele-operation
- DRC vehicle tele operation with Atlas
- Sending joint commands with ROS
- Atlas control over ROS with python
- Modify environment
- Atlas switching control modes
- Atlas Controller Synchronization over ROS Topics
- Changing Viscous Damping Coefficients Over ROS Service
- Running BDI controller demo
- Using the RobotiQ 3 Finger Adaptive Robot Gripper
- BDI Atlas Robot Interface 3.0.0 Stand In Example
-
HAPTIX
- HAPTIX software install and update
- HAPTIX C API
- HAPTIX Matlab and Octave API
- HAPTIX Simulation World API
- HAPTIX Teleoperation
- HAPTIX environment setup
- HAPTIX Optitrack Control
- HAPTIX Tactor Glove
- HAPTIX Simulation World API with Custom World Example
- HAPTIX logging
- HAPTIX DEKA Luke hand installation
- HAPTIX Simulation Scoring Plugin Example
-
MoveIt!
-
Rviz & rqt & ROSBAG
- Control Theory
- TroubleShooting
- Solidworks model to URDF
- ROS-Gazebo with MATLab
- MATLab installation in Linux
- [Gazebo simulation with MATLab]