Installation of the Grasp Database

On this page we describe how to obtain the database and how to run a basic example to get an idea about the grasps stored in the database. If you use this database please cite our ICRA paper using the following bibtex snippet.

        
@inproceedings{2015_ICRA_kbs,
  author = {Kappler, D. and Bohg, B. and Schaal, S.},
  booktitle = {Proceedings of the IEEE International Conference on
Robotics and Automation},
  month = {may},
  title = {Leveraging Big Data for Grasp Planning},
  year = "2015"
}
        
        

Registration for database access

To download the database software and data files please fill out the following form and a generated download link will be sent to you.

Docker Setup

Ubuntu:
Installation on Ubuntu 12.04 and 14.04. In case the installation script "install-linux.sh" in the downloaded grasp-database directory does not succeed due to some docker related error, please make sure that the docker installation is setup correctly.

          #!/bin/bash
# INSTALLATION
# this script will check if docker is installed already
# if this is not the case it will try to install docker

# IMPORTANT 
# To be able to use docker without sudo rights execute the following command

sudo usermod -aG docker YOUR_USER

# Now please log out once and login again such that this command can take its effect 

# Now we can start installing our docker image and getting the data 
GRASP_DATABASE_DIR="/the path to the directory of the downloaded grasp-database.tar.gz file"

cd ${GRASP_DATABASE_DIR};
tar xzf grasp-database.tar.gz;
rm grasp-database.tar.gz;
cd grasp-database;
           
# The following command will download the latest docker containers
# and create the specific one to run our example.
# Notice that this might take several minutes depending on your
# internet connection.
bash install-linux.sh

# Now you can download the database hdf5 files using the following command.
# Again this process might take a couple of minutes depending on the internet
# connection
bash get-database-files-v01.sh

# Finally you can start our newly created docker image using the following command
# Notice that the start-linux.sh script would also allow you to work
# with the code, it does not allow you to visualize anything with a gui
bash start-x-linux.sh

# In your terminal there should be a new username now
# e.g. root@988225a14b6a
# Everything which is done now is within our running docker environment
# and is not persistent (the data is lost) unless you store it in your home
# /root or /persistent-home; or the data folder /data 
# To start our guy please run the following command
cd;cd workspace;
source devel/setup.bash

# Now you start the actual guy
# A gui should open in which you can specify the database file (hdf5)
# which is loaded; afterwards select the gripper to load (update)
# and the object to load (update).
# If you are happy with the selection press the update button in the bottom
# to visualize different grasps.
python src/grasp_databasepy/scripts/grasp-database-gui.py
          
        

Mac:
Installation on Mac OS X. In case the installation script "install-mac.sh" in the downloaded grasp-database directory does not succeed due to some docker related error, please make sure that the docker installation is setup correctly.

          #!/bin/bash
# INSTALLATION
# this script will check if docker is installed already
# if this is not the case it will try to install docker

# Now we can start installing our docker image and getting the data 
GRASP_DATABASE_DIR="/the path to the directory of the downloaded grasp-database.tar.gz file"

cd ${GRASP_DATABASE_DIR};
tar xzf grasp-database.tar.gz;
rm grasp-database.tar.gz;
cd grasp-database;
           
# The following command will download the latest docker containers
# and create the specific one to run our example.
# Notice that this might take several minutes depending on your
# internet connection.
bash install-mac.sh

# Now you can download the database hdf5 files using the following command.
# Again this process might take a couple of minutes depending on the internet
# connection
bash get-database-files-v01.sh

# Finally you can start our newly created docker image using the following command
# Notice that the start-mac.sh script would also allow you to work
# with the code, it does not allow you to visualize anything with a gui
bash start-x-mac.sh

# In your terminal there should be a new username now
# e.g. root@988225a14b6a
# Everything which is done now is within our running docker environment
# and is not persistent (the data is lost) unless you store it in your home
# /root or /persistent-home; or the data folder /data 
# To start our guy please run the following command
cd;cd workspace;
source devel/setup.bash

# Now you start the actual guy
# A gui should open in which you can specify the database file (hdf5)
# which is loaded; afterwards select the gripper to load (update)
# and the object to load (update).
# If you are happy with the selection press the update button in the bottom
# to visualize different grasps.
python src/grasp_databasepy/scripts/grasp-database-gui.py
          
        

Python API

The gui example is a good starting point to understand how our python api works. Therefore we would recommend users to start looking at the code in the docker container.

          #!/bin/bash
# Now we can start installing our docker image and getting the data 
GRASP_DATABASE_DIR="/the path to the directory of the downloaded grasp-database.tar.gz file"
cd ${GRASP_DATABASE_DIR};
cd grasp-database;
           
# Finally you can start our newly created docker image using the following command
# Notice that the start-{YOUR_SYSTEM}.sh script would also allow you to work
# with the code, it does not allow you to visualize anything with a gui
bash start-x-{YOUR_SYSTEM}.sh

# In your terminal there should be a new username now
# e.g. root@988225a14b6a
# Everything which is done now is within our running docker environment
# and is not persistent (the data is lost) unless you store it in your home
# /root or /persistent-home; or the data folder /data 
# To start our guy please run the following command
cd;cd workspace;
source devel/setup.bash

# the following file is responsible for updating the visualization in openrave
# therefore it explains how to obtain the data and transfrom it for visualization 
vi src/grasp_databasepy/grasp_databasepy/grasp_databasepy/grasp_database_gui_openrave.py

# the following file is responsible for rendering all templates and 
# storing the examples as images.
# therefore it explains how to obtain the data for e.g. learning
vi src/grasp_databasepy/grasp_databasepy/grasp_databasepy/scripts/grasp_database_templates.py