-
Notifications
You must be signed in to change notification settings - Fork 14
HAPTIX software install and update
The HAPTIX project simulates advanced robotic prosthetic limbs to allow researchers and developers to test their control software before running on the real hardware. The HAPTIX setup is composed of a Gazebo simulator, a client library and a client controller. The Gazebo simulator runs on a Linux machine, whereas the HAPTIX client library and the client controller can run on Linux and Windows hosts. This tutorial will guide your through the installation of Gazebo and the HAPTIX client library. Check out the rest of the HAPTIX tutorials for instructions on how to create your own hand controller.
Note: This section is only required if you do not yet have a Linux server running Gazebo with the HAPTIX packages.
Before installing Gazebo, you need a machine with Ubuntu 14.04 64-bit installed. Once your Linux machine is ready, open up a terminal and run the following command:
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
You can test your Gazebo installation by running the next command in your terminal:
gazebo worlds/arat.world
Gazebo will load a manipulation environment with a right Modular Prosthetic Limb (MPL). Alternatively, you can load a left arm by typing:
gazebo worlds/arat_left.world
Once you are done testing, please close Gazebo.
- HAPTIX Client library SDK
The HAPTIX client library SDK is a stack of libraries that enables communication between your control software and the simulated hand in Gazebo. The main library is called haptix-comm. haptix-comm exposes the API that will allow your software to request information about the hand (number of joints, motors, number of sensors, etc.), as well as send new joint commands and receive the hand state. Installing on Windows
We currently support Windows 7, Visual Studio 2013, and Matlab R2014b or newer, all 64-bit (you can determine the Matlab version by selecting Help->About MATLAB from the main menu). We are working on 32-bit versions; they will be available soon.
Download the SDK by going to:
Windows Client SDK Download
and selecting a version. You probably want the latest version that is available (but check below for information on version compatibility section near the bottom of this document).
Unzip the zip file into your preferred HAPTIX folder. For example: C:\Users\osrf\Desktop\haptix-ws. Network configuration
Now, you need to do some network configuration to specify the IP address that you will use for communicating with Gazebo.
Click on the Start button and type cmd in the Search box. Once you are in the terminal run the following command:
ipconfig
Look for the IPv4 Address inside the Ethernet adapter Local Area Connection section.
Click on the Start button and search for environment variables. Click on Edit the system environment variables, and then, click on the button Environment variables. Click on the New button from the User variables section to create a new environment variable with name IGN_IP. Enter the IPv4 Address mentioned above.
Now, we want to create a partition to group your Gazebo machine with all the related machines (e.g.: your MATLAB/Octave/Visual Studio development machine). This is important because if you decide to later run a second or third Gazebo instance on the same network, you will get crosstalk if there is no partition.
Click on the New button again and create a new environment variable with name IGN_PARTITION. Enter a name like gazebo1. Repeat this process on any Windows machine that you plan to use with this Gazebo instance. 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
Setup your computer to accept software from 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'
Setup keys.
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -;
sudo apt-get update
Install the SDK.
sudo apt-get install libhaptix-comm-dev
Network configuration
Now, you need to do some network configuration to specify the IP address that you will use for communicating with the other machines (e.g. your MATLAB development machine).
Open a terminal and run the following command:
ifconfig
Look for inet addr in the eth0 section.
Run the following command in the terminal, replacing the IGN_IP value with the inet_addr mentioned above:
echo "export IGN_IP=172.23.2.37" >> ~/.bashrc
Now, we want to add our Linux machines (Gazebo/Octave) to the partition created in the previous section (in this example we called it gazebo1).
Run the following command in the terminal:
echo "export IGN_PARTITION=gazebo1" >> ~/.bashrc
Repeat this process on any Linux machine that you plan to use with this Gazebo instance. Software Update
There are two ways the HAPTIX software may be updated:
Command-line
Open a terminal
Run the following commands
sudo apt-get update
sudo apt-get upgrade
Using the desktop icon.
Note: This requires the haptixUpdate desktop icon. For more information, see here.
Double click the haptixUpate icon on the desktop.
Version numbers
There are two version numbers relevant to the HAPTIX software. One is the version of the simulator; the other is the version of the client SDK. Simulator version
To check the simulator version: Run Gazebo by either double-clicking the haptixStart desktop icon, or running the following command in a terminal.
gazebo worlds/arat.world
The simulator version (more specifically, the version of the handsim package) is located at the bottom left of the on-screen GUI.
In this case, the simulator version is 0.5.1.
From 0.8.0 version on, the version number in the menu located at the right top corner of the hand GUI, after pressed the gear icon:
In this case, the simulator version is 0.8.1 Client SDK version
윈도우에서 클라이언트 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에 접근이 필요하며, 접근권한이 없다면 'haptix@osrfoundation.org'에 도움을 요청해라.
또한 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]