Wiki

Only released in EOL distros:  

pr2_object_manipulation: active_realtime_segmentation | fast_plane_detection | manipulation_worlds | object_recognition_gui | object_segmentation_gui | pick_and_place_demo_app | pr2_create_object_model | pr2_grasp_adjust | pr2_gripper_grasp_controller | pr2_gripper_grasp_planner_cluster | pr2_gripper_reactive_approach | pr2_gripper_sensor_action | pr2_gripper_sensor_controller | pr2_gripper_sensor_msgs | pr2_handy_tools | pr2_interactive_gripper_pose_action | pr2_interactive_manipulation | pr2_interactive_object_detection | pr2_manipulation_controllers | pr2_marker_control | pr2_navigation_controllers | pr2_object_manipulation_launch | pr2_object_manipulation_msgs | pr2_pick_and_place_demos | pr2_tabletop_manipulation_launch | pr2_wrappers | rgbd_assembler | robot_self_filter_color | segmented_clutter_grasp_planner | simple_Jtranspose_controller | tabletop_collision_map_processing | tabletop_object_detector | tabletop_vfh_cluster_detector | vfh_recognition | vfh_recognizer_db | vfh_recognizer_fs

Package Summary

Executes a grasp with the PR2 gripper, starting from the pre-grasp stage and using the tactile sensors to correct for unexpected contacts encountered along the way.

pr2_object_manipulation: active_realtime_segmentation | fast_plane_detection | manipulation_worlds | object_recognition_gui | object_segmentation_gui | pick_and_place_demo_app | pr2_create_object_model | pr2_grasp_adjust | pr2_gripper_grasp_controller | pr2_gripper_grasp_planner_cluster | pr2_gripper_reactive_approach | pr2_gripper_sensor_action | pr2_gripper_sensor_controller | pr2_gripper_sensor_msgs | pr2_handy_tools | pr2_interactive_gripper_pose_action | pr2_interactive_manipulation | pr2_interactive_object_detection | pr2_manipulation_controllers | pr2_marker_control | pr2_navigation_controllers | pr2_object_manipulation_launch | pr2_object_manipulation_msgs | pr2_pick_and_place_demos | pr2_pick_and_place_tutorial | pr2_tabletop_manipulation_launch | pr2_wrappers | rgbd_assembler | robot_self_filter_color | segmented_clutter_grasp_planner | tabletop_collision_map_processing | tabletop_object_detector | tf_throttle

Package Summary

Executes a grasp with the PR2 gripper, starting from the pre-grasp stage and using the tactile sensors to correct for unexpected contacts encountered along the way.

pr2_object_manipulation: interactive_perception_msgs | manipulation_worlds | object_recognition_gui | pr2_create_object_model | pr2_gripper_grasp_controller | pr2_gripper_grasp_planner_cluster | pr2_gripper_reactive_approach | pr2_gripper_sensor_action | pr2_gripper_sensor_controller | pr2_gripper_sensor_msgs | pr2_interactive_gripper_pose_action | pr2_interactive_manipulation | pr2_interactive_manipulation_frontend | pr2_interactive_object_detection | pr2_interactive_object_detection_frontend | pr2_manipulation_controllers | pr2_marker_control | pr2_navigation_controllers | pr2_object_manipulation_launch | pr2_object_manipulation_msgs | pr2_pick_and_place_demos | pr2_tabletop_manipulation_launch | pr2_wrappers | rgbd_assembler | robot_self_filter_color | segmented_clutter_grasp_planner | tabletop_collision_map_processing | tabletop_object_detector | tf_throttle

Package Summary

Executes a grasp with the PR2 gripper, starting from the pre-grasp stage and using the tactile sensors to correct for unexpected contacts encountered along the way.

Overview

This package provides reactive grasp, reactive lift, and reactive approach actions, and compliant close and grasp adjustment services for the PR2 gripper. All of the above use the pressure sensors on the fingertips to improve object grasping. Details on this module can be found in the following paper: '''Contact-Reactive Grasping of Objects with Partial Shape Information'''.

In order to use these actions and services, you probably want to launch either

or

ROS API

API Stability

The ROS API is UNREVIEWED and UNSTABLE

ROS Parameters

Parameters

side_step (double, default: .015 m) back_step (double, default: .03 m) approach_num_tries (int, default: 5) goal_pos_thres (double, default: .01 m) min_contact_row (int (between 0 and 5), default: 1) min_gripper_opening (double, default: .0011 m) max_gripper_opening (double, default: .1 m) grasp_adjust_x_step (double, default: .02 m) grasp_adjust_z_step (double, default: .015 m) grasp_num_tries (int, default: 2) forward_step (double, default: 0) close_force (double, default: 100) use_slip_controller (bool, default: False)

Action APIs

The reactive_grasp_server node provides implementations of SimpleActionServer (see actionlib documentation). The action servers for reactive grasp and reactive approach take in goals containing object_manipulation_msgs/ReactiveGraspGoal messages, and the action server for reactive lift takes in goals containing object_manipulation_msgs/ReactiveLiftGoal messages. You can communicate with these nodes over ROS directly, but the recommended way to send goals is by using the SimpleActionClient. Please see actionlib documentation for more information.

Reactive Grasp Action Subscribed Topics

reactive_grasp/right/goal (or reactive_grasp/left/goal) (object_manipulation_msgs/ReactiveGraspGoal)

reactive_grasp/right/cancel (or reactive_grasp/left/cancel) (actionlib_msgs/GoalID)

Reactive Grasp Action Published Topics

reactive_grasp/right/status (or reactive_grasp/left/status) (actionlib_msgs/GoalStatusArray)

reactive_grasp/right/result (or reactive_grasp/left/result) (object_manipulation_msgs/ReactiveGraspResult)

Reactive Approach Action Subscribed Topics

reactive_approach/right/goal (or reactive_approach/left/goal) (object_manipulation_msgs/ReactiveGraspGoal)

reactive_approach/right/cancel (or reactive_approach/left/cancel) (actionlib_msgs/GoalID)

Reactive Approach Action Published Topics

reactive_approach/right/status (or reactive_approach/left/status) (actionlib_msgs/GoalStatusArray)

reactive_approach/right/result (or reactive_approach/left/result) (object_manipulation_msgs/ReactiveGraspResult)

Reactive Lift Action Subscribed Topics

reactive_lift/right/goal (or reactive_lift/left/goal) (object_manipulation_msgs/ReactiveLiftGoal)

reactive_lift/right/cancel (or reactive_lift/left/cancel) (actionlib_msgs/GoalID)

Reactive Lift Action Published Topics

reactive_lift/right/status (or reactive_lift/left/status) (actionlib_msgs/GoalStatusArray)

reactive_lift/right/result (or reactive_lift/left/result) (object_manipulation_msgs/ReactiveLiftResult)

Services

Both the compliant close and grasp adjustment services use the std_srvs/Empty service. (If you use these services and would prefer that they be actions, or that they provide feedback of some sort, email hsiao@willowgarage.com with your suggestions, and they're likely to be implemented in a later release.)

The compliant close service is called /l_reactive_grasp/compliant_close (or /r_reactive_grasp/compliant_close) and the grasp adjustment service is called /l_reactive_grasp/grasp_adjustment (or r_reactive_grasp/grasp_adjustment).

Wiki: pr2_gripper_reactive_approach (last edited 2011-04-01 20:11:04 by JoeRomano)