srs_public: srs_arm_navigation_tests | srs_assisted_arm_navigation | srs_assisted_detection | srs_decision_making | srs_decision_making_interface | srs_env_model | srs_env_model_msgs | srs_env_model_percp | srs_environments | srs_grasping | srs_human_sensing | srs_interaction_primitives | srs_knowledge | srs_leg_detector | srs_likelihood_calculation | srs_msgs | srs_object_verification | srs_pellet | srs_people_tracking_filter | srs_scenarios | srs_states | srs_symbolic_grounding | srs_ui_but

Package Summary

This package provides tools to generate and simulate different grasping solutions in the Care-o-Bot.

ROS API

This API is for grasp tasks with the SDH (Schunk Dextrous Hand). It provides tools to generate/simulate different grasping solutions.

Resources

To obtain the grasping solutions it is possible to use services or action servers. Both resources have the same funcionalities.

Services

get_grasp_configurations ( srs_grasping/GetGraspConfigurations)

  • Returns the grasping configurations (in /sdh_palm_link coordinates system) for a given object ID.

get_grasps_from_position ( srs_grasping/GetGraspsFromPosition)

  • Returns the feasible grasping configurations (in /base_link coordinates system) for a given object ID and object pose.

Action servers

/get_grasp_configurations/goal      (srs_grasping/GraspCActionGoal)
/get_grasp_configurations/result    (srs_grasping/GraspCActionResult)
/get_grasp_configurations/feedback  (srs_grasping/GraspCActionFeedback)

/get_grasps_from_position/goal      (srs_grasping/GraspFActionGoal)
/get_grasps_from_position/result    (srs_grasping/GraspFActionResult)
/get_grasps_from_position/feedback  (srs_grasping/GraspFActionFeedback)

Files

Simulate the generated grasp configurations in the OpenRAVE simulator.

scripts/simulation.py

A grasp task example.

scripts/grasp_test.py

Obtains grasp configurations for a given object.

script/generator.py

This file contains all the methods used in the grasping tools.

src/grasping_functions.py

The grasp generic state for the machine.

src/generic_grasp_state.py

The services.

src/get_grasp_configurations.py
src/get_grasps_from_position.py

This file launch both services.

launch/grasping_services.py

The action servers.

src/get_grasp_configurations_as.py
src/get_grasps_from_position_as.py

This file launch bot action servers.

launch/grasping_as.py

This file contains the mesh of the hand. It's needed to calculate grasps and other tasks.

robos/care-o-bot3.zae

Installation

You need to create an overlay of openrave_planning

svn co https://jsk-ros-pkg.svn.sourceforge.net/svnroot/jsk-ros-pkg/trunk/openrave_planning
rosdep install openrave_planning

and jsk_common

svn co https://jsk-ros-pkg.svn.sourceforge.net/svnroot/jsk-ros-pkg/trunk/jsk_common

Alternatively use ppa repository to install openrave: http://openrave.programmingvision.com/en/coreapihtml/installation_linux.html

Usage/Examples

The grasping tools calls the generator when the goal has not a grasping info in the database. Internally, these tools needs to call some srs_object_database services. For that reason, before use these tools you must launch the srs_db.launch file. More details about the configuration and content of this file can be found in the srs_object_database wiki.

roslaunch srs_object_database srs_db.launch

After launch this file, you must launch one of this files:

roslaunch srs_grasping grasping_services.launch
roslaunch srs_grasping grasping_as.launch

At this point, you can use different grasp tools like the generator, the simulator or the grasp_machine (all of them using services instead action servers, if you are launching action servers you must addapt the code):

rosrun srs_grasping generator.py
rosrun srs_grasping simulation.py

Wiki: srs_grasping (last edited 2012-03-31 12:58:48 by FlorianWeisshardt)