-
Notifications
You must be signed in to change notification settings - Fork 2
Installation with the Geomagic Touch
- The geomagic driver ships with an outdated version of QT5 that is installed in its lib/ path (set ld.co.conf or LD_LIBRARY_PATH to not interfere with other QT programs, icub GUIs for instance).
Important: About this version of Qt
In the "install" script you launch to install geomagic, you can read the following lines:#Set path for GTDD_HOME, LD_LIBRARY_PATH, QT_PLUGIN_PATH echo -n "SETTING ENVIRONMENT VARIABLES ..... " echo "export GTDD_HOME=/opt/geomagic_touch_device_driver" > /etc/profile.d/geomagic.sh echo "export LD_LIBRARY_PATH=/opt/geomagic_touch_device_driver/lib" >> /etc/profile.d/geomagic.sh echo "export QT_PLUGIN_PATH=/opt/geomagic_touch_device_driver/lib/plugins" >> /etc/profile.d/geomagic.shSo, even if you choose a folder to install the software, it will add the QT path and change the LD_LIBRARY_PATH thanks to the file
geomagic.sh
(which is launch directly when you open a terminal). Then, this is this old QT5 version that is used. So, you have to move thisgeomagic.sh
file in another directory (e.g. not in/etc/profile.d
) and create a script that launch either thisgeomagic.sh
and your program.
- The doc for the yarp drivers says:
In Linux, remember to set LC_NUMERIC=en_US.UTF-8 in the environment, prior to pairing the device. This will make the driver work outside US.
Do it ! even if everything seems to work fine (geomagic tools, yarpdev running happily...), not doing it results in wrong (or fixed) positions for the arm.
- Power supply
- ethernet using provided usb-to-erthernet device
There is no on/off button, unplug if necessary... :-(
A "link-local" connection linked with the USB-ethernet adapter has been created. It should be automatically configured when the device is connected.
Instructions for a standard ubuntu 14.04:
- create a new connection (look for the network manager icon then
edit connections...
, thenadd
a new one) - choose and create an
Ethernet
connection - choose a meaningful name for the connection if needed
- in the Ethernet tab: choose the device MAC adress (most probably the one associated with eth1 on a standard laptop)
- in the IPv4 Settings tab, choose the
Link-Local Only
method - save
Plug the device. The connection may take a few seconds to be active.
linux drivers and development tools are available at http://dsc.sensable.com/index.asp (if this link does not work anymore try http://developer.geomagic.com or google "openhaptics". This is a forum, one must be logged in to see the content.
Installed software so far (june 3rd 2016):
- the driver for ubuntu 14.04 using the default install script. 2 utilities are provided: setup and diagnostic.
Look for geomagic_touch_device_driver_2016.1-1-amd64.tar.gz
or similar, then run the provides install
script (as root).
- the sdk. It seems to work when the proper environment variable is defined. Look for
openhaptics_3.4-0-developer-edition-amd64.tar.gz
and launch the providedinstall
script (as root).
As specified in the README, you have to "pair" the device using /opt/geomagic_touch_device_driver/Geomagic_Touch_Setup (see the doc in /opt/geomagic_touch_device_driver/hardware_documentation)
-
yarp (from github bleeding edge)
-
yarp haptic devices (from github: https://github.com/robotology/haptic-devices)
-
icub main
-
icub contrib
-
gazebo 7
Run
yarpserver
Then, launch the script geomagic.sh and run
/opt/geomagic_touch_device_driver/Geomagic_Touch_Setup
Normally, if your computer is well connected to the geomagic touch, the device model is Geomagic Touch, then click on "pairing" and click on the geomagic button on its back. Now run
/opt/geomagic_touch_device_driver/Geomagic_Touch_Diagnostic
Click on the right arrow until the calibration is done. Finally launch:
yarprobotinterface --context geomagic --config geomagic.xml
A couple of ports are created, you can see the device state (a vector of size 8: position, orientation, button1, button2) by reading state:o.
First launch:
yarpserver # do the Setup and calibration of the geomagic too
yarprobotinterface --context geomagic --config geomagic.xml
iCub_SIM
simCartesianControl --robot icubSim
iKinCartesianSolver --part left_arm
In order to test this setup it might be a good idea to try tutorial_cartesian_interface from motorControlAdvanced in icub-tutorials. If the left hand is moving happily in circles then all should be ok.
Now build the sample from https://github.com/inria-larsen/geomagic_touch:
git clone git@https://github.com/inria-larsen/geomagic_touch.git
cd geomagic_touch/test_geomagic_yarp
mkdir build
cd build
cmake ../
make
./bin/test_simple --robot icubSim --part left_arm
If all is well the left arm in the simulator should follow the haptic device (a bit slowly at the moment....). The movements should mimic the movements of the user's left arm (e.g. it might be simpler to have the haptic arm on your left)
First launch:
yarpserver # do the Setup and calibration of the geomagic too
yarprobotinterface --context geomagic --config geomagic.xml
gazebo # the insert an icub in the scene
simCartesianControl --robot icubGazeboSim
iKinCartesianSolver --robot icubGazeboSim --part left_arm
The cartesian controller is using a bunch of ini files (see share/iCub/contexts/simCartesianControl/ ) that are meant to be used with iCub_SIM, not gazebo. You may have to change:
- the robot name to
icubGazeboSim
-
PositionControl
toon
instead ofoff
in simCartesianLeftArm.ini and simCartesianRightArm.ini (and put this copy files into the directory from where you launch simCart/iKinCart).
In order to test this setup it might be a good idea to try tutorial_cartesian_interface from motorControlAdvanced in icub-tutorials. Don't forget to use --robot icubGazeboSim If the left hand is moving happily in circles then all should be ok.
Now build the sample from https://github.com/inria-larsen/geomagic_touch:
git clone git@https://github.com/inria-larsen/geomagic_touch.git
cd geomagic_touch/test_geomagic_yarp
mkdir build
cd build
cmake ../
make
./bin/test_simple --robot icubGazeboSim --part left_arm
If all is well the left arm in the simulator should follow the haptic device (a bit slowly at the moment....). The movements should mimic the movements of the user's left arm (e.g. it might be simpler to have the haptic arm on your left)
teleop-icub
is an more complete example shipped with the yarp haptic drivers.
This manual is maintained to facilitate the life of our lab members in getting started with our robots. It is not an " official" guide and it is maintained at our best. If something does not work, please tell us or write an issue. Contributors: Serena Ivaldi