This stack contains several approaches to combine the skills of a human operator and autonomous algorithms to fulfill mobile manipulation tasks.

One of them is the bosch_assistive_manipulation interface which uses semantic information provided by a human operator as well as a discrete set or grasps to generate means for a grasp quality measurement. Therefore, we use a Bayesian Network to encode the semantic information and compute the joint probability for each of the grasps.


The interface is optimized for fuerte and needs following ROS packages:

sudo apt-get install ros-fuerte-desktop-full
sudo apt-get install ros-fuerte-pr2-interactive-manipulation

Installation from source code

To run this interface, you will need following trunk of the bosch_shared_autonomy_experimental stack:

The following rosinstall file will get everything for you:

- svn: 
    local-name: bosch-ros-pkg-e-code
    uri: ''

Note: To use the rosinstall file, create a new directory (e.g. bosch_shared_autonomy_experimental), create a file named .rosinstall in this folder and paste the above text into it, go to the directory in a terminal and type

rosinstall . /opt/ros/fuerte
source /opt/ros/fuerte/setup.bash
export ROS_MASTER_URI=http://[PR2_ROBOT_URI]:11311
export ROBOT=pr2

rosmake bosch_assistive_manipulation
rosmake bosch_assistive_manipulation_rviz
rosmake bosch_assistive_manipulation_learning

Please refer to the rosinstall page for more details.

Start interface on PR2

On your robot:

On the PR2 you have to setup fuerte and you need to start the robot for sure:

source /opt/ros/fuerte/setup.bash
roslaunch /opt/ros/fuerte/robot.launch 

Then you have start the pr2_interactive_manipulation pipeline:

roslaunch pr2_interactive_manipulation pr2_interactive_manipulation_robot.launch

On your desktop computer (for rviz):

The interface is currently implemented in rviz, so you have to compile the frontend package and start the following launch file:

source /opt/ros/fuerte/setup.bash
export ROS_MASTER_URI=http://[PR2_ROBOT_URI]:11311
rosmake assisitve_manipulation_rviz
rosmake assisitve_manipulation
roslaunch bosch_assistive_manipulation bosch_assisted_manipulation_desktop.launch

Computer with Matlab:

The interface needs Matlab and the Bayesian Network Toolbox from Kevin Murphy for the bosch_assistive_manipulation_learning package:

Once Matlab and the Bayesian Network Toolbox are installed, you can compile the bosch_assistive_manipulation_learning package the following:

source /opt/ros/fuerte/setup.bash
rosmake bosch_assistive_manipulation_learning
export ROS_MASTER_URI=http://[PR2_ROBOT_URI]:11311
roslaunch bosch_assistive_manipulation_learning bayesian_network_action_clients.launch 

Training steps:

  • Choose semantic information in assistive manipulation panel
  • Move head towards a table with objects on it
  • Click the recognize object button
  • Right click on a object -> Select: Advanced options...Show grasp suggestions

  • Right click on your favorite grasp -> Select Advanced options...Save grasp (save as much as you want)

  • Right click on object -> Select Advanced options...Learn grasp suggestions


  • Choose semantic information in assistive manipulation panel
  • Right click on object -> Select: Grasp object

Report a Bug


Wiki: bosch_shared_autonomy_experimental (last edited 2013-01-04 15:32:28 by ThomasWitzig)