Wiki

Clone wiki

scl-manips-group / haptic_teleoperation_demo / build

How to build the KUKA WBC Haptic Teleoperation Demo

1. Setup the HAL package of RoboLib (RL) for support of the WSG50 Gripper

http://sourceforge.net/apps/mediawiki/roblib/index.php?title=Robotics_Library

Quick instructions for Ubuntu:

sudo apt-add-repository ppa:roblib/ppa
sudo apt-get update
sudo apt-get install librl librl-dev
You may also need to install:
sudo apt-get install eclipse-cdt cmake cmake-curses-gui ccache libxml2-dev libsimage-dev libsoqt4-dev libqt4-dev libqt4-opengl-dev libcoin60-dev libode-dev libdc1394-22-dev libcgal-dev libeigen3-dev libboost-dev libsolid-dev doxygen graphviz

2. Setup Jr3 Force/Torque Sensor Kernel Driver

The Jr3 kernel driver was committed to the repository, so it should already show up in scl-manips-group.git/3rdparty/Jr3PciDriver/. You may have to recompile it, though (go to the directory and type make).

If you run into any trouble follow the instructions for setting up the Jr3 kernel driver under 64bit Ubuntu, according to:

https://bitbucket.org/samirmenon/scl-manips-group/wiki/howdoi/Jr3

3. Install Matlab

Matlab is needed for logging signals to *.mat files.

Troubleshooting

When starting the executable kuka_scl_controller, you may get the following error:

<path to matlab> /MATLAB/R2011a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by <whatsoever>)
This is because Matlab uses it's own version of libstdc++ and this version may be different from the systemwide installation. You can resolve the issues by creating a couple of symbolic links which force Matlab to use the systemwide version of the library:

http://sgpsproject.sourceforge.net/JavierVGomez/index.php/Solving_issues_with_GLIBCXX_and_libstdc%2B%2B

Your commands should looks similar to this (paths may vary slightly):

sudo ln -sf  /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16 /usr/local/MATLAB/R2012a/bin/glnxa64/libstdc++.so.6

sudo ln -sf  /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16 /usr/local/MATLAB/R2012a/sys/os/glnxa64/libstdc++.so.6

4. Clone the git repository

If you haven't set up your ssh public key, yet, follow these instructions:

https://confluence.atlassian.com/display/BITBUCKET/How+to+install+a+public+key+on+your+Bitbucket+account;jsessionid=9BC9501D64FF9A74BAD43268A0D96F45

Then do:

git clone git@bitbucket.org:samirmenon/scl-manips-group.git

Move to branch

git checkout fabian_kuka_ctrl_dev

5. Edit Paths

Change the include/lib paths in the CMakeLists.txt files to your Matlab Version (Matlab is used for logging)

6. Compile

Compile SCL

cd scl-manips-group/applications-linux/scl_lib

sh make_everything.sh
Compile the Shared Memory Interprocess Communication Library (SMIC)
cd scl-manips-group/applications-linux/scl_fabian_ctrl/SMIC/
cmake CMakeLists.txt
make

Compile the MatlabLogger Library

cd scl-manips-group/applications-linux/scl_fabian_ctrl/MatlabLogger/
cmake CMakeLists.txt
make

Compile the KUKA Torque Interface

cd scl-manips-group/applications-linux/scl_fabian_ctrl/kuka_torque_interface/
cmake CMakeLists.txt
make

Compile the KUKA Torque Interface

cd scl-manips-group/applications-linux/scl_fabian_ctrl/kuka_torque_interface/
cmake CMakeLists.txt
make

Compile the SCL Haptic Teleoperation Controller

cd scl-manips-group/applications-linux/scl_fabian_ctrl/kuka_scl_controller/
sh make_rel.sh

7. Get kinematic/dynamic model of the KUKA lwr

Request files from gerlinghaus@cs.stanford.edu and unpack them to scl-manips-group.git/applications-linux/scl_fabian_ctrl/kuka_scl_controller/kuka_specs/

Contact: gerlinghaus@cs.stanford.edu

Updated