Public | Automated Build

Last pushed: 2 years ago
Short Description
Image for building the ramcip repo
Full Description



This is the repository storing the software that CERTH/ITI/ARL develops for
the RAMCIP project.

The repository contains a number of ROS packages:

  • The main grasp packages:
    • ramcip_grasp_planner: The ROS package for the RAMCIP Grasp Planner component.
    • ramcip_grasp_controller: The ROS package for the RAMCIP Grasp Controller component.
    • ramcip_grasp_visualization: A ROS package for visualization of the scene.
      Use it for testing of the integrated components (vision, arm, grasping) in
      grasping tasks.
  • Auxiliary packages:
    • ramcip_msgs: The ROS messages, services and actions used by the packages.
      This package should be updated with the package on the official RAMCIP
    • ramcip_launch: The ROS package containing launch files, configuration files and other resources.
    • ramcip_object_detection: The ROS package for the RAMCIP Object Detection / Identification component.
    • ramcip_dummy_object_detection: Dummy package that produces hardcoded obstacles
    • tum_packages: In this directory lives some dependencies from TUM obstacle avoidance.


  • Ubuntu 14.04
  • ROS Indigo
  • kuka_server package if you want to use this interface for the KUKA-LWR arm.
    In order to install kuka_server and its dependencies run:

    sudo apt-get install qt5-default libarmadillo4 libarmadillo-dev ros-indigo-rviz-visual-tools
    cd your_ros_workspace
    git clone
  • rviz_visualization_tools for using the package ramcip_grasp_visualization:

    sudo apt-get install ros-indigo-rviz-visualization-tools

How to use

Build the repository

In order to build the repository and the existing unit tests run:

catkin_make && catkin_make run_tests

Run the repository

You can run the project using different configuration depending on what you
want to do:

  1. If you want to test the grasping components (ramcip_grasp_planner,
    ramcip_grasp_controller) without running the actual components of the
    other RAMCIP partners, you can run the simulated nodes in the repository
    that simulate the interfaces of the actual components. You can use this
    launch file:

    roslaunch ramcip_launch ramcip_complete.launch
  2. If you want to run the grasping components only with actual vision you have
    to run:

    roslaunch ramcip_launch ramcip_with_vision.launch
  3. If you want to run only the grasping components assuming that all the
    adjacent components are running (real RAMCIP situation) run:

    roslaunch ramcip_launch ramcip_grasp.launch
  4. If you want to record a new preshape you can run:

    roslaunch ramcip_launch record_preshape.launch

Configure grasp components

Grasp planner

In order to configure grasp planner you can edit the following files located in

  • config.yml. This files contains parameters for the planning of the grasp
    like the spread of the hand or the maximum reach of the robot.
  • object_characteristics.yml: Contains the object characteristics used during
    the grasp planning. The objects are considered known and you have to pay
    attention in the labels of the object. They should match with them used in

Grasp controller

In order to configure the grasp controller you can edit the following files
located in ramcip_grasp_controller/config/:

  • config.yml: Contains parameters like the
    robots and interfaces under use, the sampling dt time of the control loop
    for the strategies etc.
  • hand_mappings.yml: Contains the mapping of the joints of the hand with
    their names.
  • preshapes_shadow_hand_lite.yml: Contains preshapes specific for the Shadow
    Hand Lite.

General configuration

The file ramcip_launch/config/config.yml contains the names and the timeouts
times for the interfaces (actions, services) used between the components.

Configure the rest of the simulated components:

  • For configuring the ramcip_object_detection component you can edit these files:

    • ramcip_object_detection/resource/object_data.yml: Fake poses, bounding
      boxes and symmetry axes of RAMCIP objects.
    • ramcip_object_detection/resource/object_data.yml: Fake normal vectors and
      limits of support surfaces.


The ramcip documentation package generates documentation for the following packages:

  • ramcip_grasp_planner
  • ramcip_grasp_controller

To build the latest documentation execute script located in ramcip_docs.

roscd ramcip_docs/

Open docs.html file generated in ramcip_docs.

To clean any documentation run: ./ -c or ./ --clean

For help run: ./ -h or ./ --help

Docker Pull Command
Source Repository