Documentation
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.
Prerequisites
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: 'http://svn.code.sf.net/p/bosch-ros-pkg-e/code/trunk'
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:
http://www.mathworks.com/products/matlab/ https://code.google.com/p/bnt/
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
Testing/Execution:
- Choose semantic information in assistive manipulation panel
Right click on object -> Select: Grasp object
Report a Bug
<<TracLink(REPO COMPONENT)>>