[Documentation] [TitleIndex] [WordIndex

TRO Publication

  Show EOL distros: 

pr2_object_manipulation: pr2_grasp_adjust | pr2_gripper_click | 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_object_manipulation_launch | rgbd_assembler | simple_Jtranspose_controller

Package Summary

The pr2_gripper_sensor_action package provides an action interface for talking to the pr2_gripper_sensor_controller real-time controller. It provides several different actions for getting high-level sensor information from the PR2 palm-mounted accelerometers, fingertip pressure arrays, and gripper motor/encoder, as well as several sensor-based gripper control actions that respond with low-latency in real-time.

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

The pr2_gripper_sensor_action package provides an action interface for talking to the pr2_gripper_sensor_controller real-time controller. It provides several different actions for getting high-level sensor information from the PR2 palm-mounted accelerometers, fingertip pressure arrays, and gripper motor/encoder, as well as several sensor-based gripper control actions that respond with low-latency in real-time.

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

The pr2_gripper_sensor_action package provides an action interface for talking to the pr2_gripper_sensor_controller real-time controller. It provides several different actions for getting high-level sensor information from the PR2 palm-mounted accelerometers, fingertip pressure arrays, and gripper motor/encoder, as well as several sensor-based gripper control actions that respond with low-latency in real-time.

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

The pr2_gripper_sensor_action package provides an action interface for talking to the pr2_gripper_sensor_controller real-time controller. It provides several different actions for getting high-level sensor information from the PR2 palm-mounted accelerometers, fingertip pressure arrays, and gripper motor/encoder, as well as several sensor-based gripper control actions that respond with low-latency in real-time.

pr2_gripper_sensor: pr2_gripper_sensor_action | pr2_gripper_sensor_controller | pr2_gripper_sensor_msgs

Package Summary

The pr2_gripper_sensor_action package provides an action interface for talking to the pr2_gripper_sensor_controller real-time controller. It provides several different actions for getting high-level sensor information from the PR2 palm-mounted accelerometers, fingertip pressure arrays, and gripper motor/encoder, as well as several sensor-based gripper control actions that respond with low-latency in real-time.

pr2_gripper_sensor: pr2_gripper_sensor_action | pr2_gripper_sensor_controller | pr2_gripper_sensor_msgs

Package Summary

The pr2_gripper_sensor_action package provides an action interface for talking to the pr2_gripper_sensor_controller real-time controller. It provides several different actions for getting high-level sensor information from the PR2 palm-mounted accelerometers, fingertip pressure arrays, and gripper motor/encoder, as well as several sensor-based gripper control actions that respond with low-latency in real-time.

  • Maintainer status: maintained
  • Maintainer: ROS Orphaned Package Maintainers <ros-orphaned-packages AT googlegroups DOT com>
  • Author: Joe Romano
  • License: BSD
  • External website: None
  • Source: git https://github.com/pr2/pr2_gripper_sensor.git (branch: hydro-devel)
pr2_gripper_sensor: pr2_gripper_sensor_action | pr2_gripper_sensor_controller | pr2_gripper_sensor_msgs

Package Summary

The pr2_gripper_sensor_action package provides an action interface for talking to the pr2_gripper_sensor_controller real-time controller. It provides several different actions for getting high-level sensor information from the PR2 palm-mounted accelerometers, fingertip pressure arrays, and gripper motor/encoder, as well as several sensor-based gripper control actions that respond with low-latency in real-time.

  • Maintainer status: unmaintained
  • Maintainer: ROS Orphaned Package Maintainers <ros-orphaned-packages AT googlegroups DOT com>
  • Author: Joe Romano
  • License: BSD
  • External website: None
  • Source: git https://github.com/pr2/pr2_gripper_sensor.git (branch: hydro-devel)

Overview

Tactile feedback provides critical information for completing any sensitive manipulation task. Often this tactile feedback needs to be used for closed-loop control to obtain a responsive and reliable system. The package pr2_gripper_sensor_controller achieves this by bypassing the ROS messaging system and integrating sensory feedback with gripper control in real-time. This pr2_gripper_sensor_action package is used to communicate with the pr2_gripper_sensor_controller at a higher level, and allows the user to send target goals to the real-time controller. Currently this package provides several capabilities in the form of action servers including:

Additional details on how all of these methods are actually implemented can be found in the recently submitted Transactions on Robotics paper (link available upon acceptance).

Below you can see a diagram of how these various action servers communicate with the real-time pr2_gripper_sensor_controller.

alt text

Who Should Not Use This Package?

Users who merely want to open or close the gripper with maximum joint effort do not need to use this package. If you are not worried about damaging the object being grasped, and are not interested in the signals generated during this interaction, you should refer to the simpler pr2_gripper_action package.

Who Should Use This Package?

If you want to do any of the following things this is probably a good package for you to use:

ROS API

The pr2_gripper_sensor_action package contains a set of action nodes. The pr2_gripper_sensor_action nodes provide implementations of SimpleActionServer (see actionlib documentation). The various actions subscribe and publish to a series of messages found in pr2_gripper_sensor_msgs, but this API is not intended for use outside of the pr2_gripper_sensor_* packages. The public API for the various action servers is described in the following subsections, as well as a high-level description of what the node does.

API Stability

ROS Parameters

This package relies on several parameters being loaded onto the ROS param server. Currently this is done when the node is launched by invoking the pr2_gripper_sensor_controller.yaml file from the pr2_gripper_sensor_controller package. If you wish to permanently edit any of the below values you should see this file.

Many users may wish to modify some of these values temporarily and repeatedly during program run time. This can be done by loading a new value for the parameter below onto the param server, and then invoking the `reload_params` service to push these changes into the real-time controller.

All the parameters listed below are currently loaded within the namespace of the real-time controller for each of the two PR2 grippers, r_gripper_sensor_controller and l_gripper_sensor_controller. A * below indicates that the parameter is not reloadable with the `reload_params` service.

Parameters

close_speed (double, default: 0.02 m/s) max_joint_effort (double, default: -1.0 N) fingertip_force_limit (double, default: -1.0 N) deformation_limit (double, default: 0.03 m) force_lightest (double, default: 1.2 N) hp_force_trigger (double, default: 0.1 N) force_servo_force_tolerance (double, default: 0.3 N) force_servo_velocity_tolerance (double, default: 0.001 m/s) slip_servo_start_force (double, default: -1.0 N) position_servo_position_tolerance (double, default: 0.01 m) position_open (double, default: 0.09 m) joint_name* (string, default: l(r)_gripper_joint) accelerometer_name* (string, default: l(r)_gripper_motor) left_pressure_sensor_name* (string, default: l(r)_gripper_motorl(r)_finger_tip) right_pressure_sensor_name* (string, default: l(r)_gripper_motorr_finger_tip)

Action APIs

All of the action APIs below have example names for the right (r) gripper. The same API is available for the left gripper simply by replacing the (r) in the beginning of each name with (l).

Users should refer to the tutorials section for specific examples on using the action nodes defined below.

Beginner

grab

alt text

release

Advanced

gripper_action

force_servo

find_contact

slip_servo

event_detector

ROS Services

Currently three services are provided to the user. These services communicate directly with the pr2_gripper_sensor_controller package. Most users will generally not need to use them, however, advanced users may find them to come in handy. All services communicate using the standard Empty Request and Response message types.

zero_fingertip_sensors

reload_params

stop_motor_output

Hardware Dependecies

Please refer to the pr2_gripper_sensor_controller page to understand the hardware dependencies necessary for this package to run properly.

Running the Action Nodes

Compiling

If you are not using pre-built libraries it is necessary to compile the real-time controller pr2_gripper_sensor_controller prior to launching the PR2. By compiling the pr2_gripper_sensor_action library before launching the robot the pr2_gripper_sensor_controller package will be automatically included as a dependency.

Compiling can be done simply by typing:

rosmake pr2_gripper_sensor_action

Which will build all action nodes and their dependencies.

Launching

All nodes for both the left and right gripper, as well as the appropriate real-time controllers for both grippers, can be loaded simply by executing the following launch script:

roslaunch pr2_gripper_sensor_action pr2_gripper_sensor_actions.launch

2019-10-12 12:56