Users interested in grasping more delicate objects may want to checkout the alternative pr2_gripper_sensor_action package.


You can see an example of using the pr2 gripper action on the PR2 in the Moving the Gripper tutorial.


The ROS API consists of three parts: private parameters, an action server that achieves gripper goals, and an interface to the gripper controller.

The Moving the Gripper tutorial provides more context on how the action and controller are launched and how action goals are interpreted.



~goal_threshold (double, default: 0.01)
  • The distance from the desired position at which the result is considered successful.
~stall_timeout (double, default: 0.1)
  • The amount of time (in seconds) the joint must be stationary to be considered a stall.
~stall_velocity_threshold (double, default: 1e-6)
  • Parameter used when stall velocity oscillates (e.g. simulation jitter).

Action interface

Subscribed Topics

~gripper_action/goal (pr2_controllers_msgs/Pr2GripperCommandActionGoal)
  • The position/force for the gripper to achieve.
~gripper_action/cancel (actionlib_msgs/GoalID)
  • A request to stop trying to move the gripper.

Published Topics

~gripper_action/status (actionlib_msgs/GoalStatusArray)
  • Provides status information on the goals that are sent to the action action.
~gripper_action/result (pr2_controllers_msgs/Pr2GripperActionResult)
  • Describes why the gripper stopped (stalled or reached the final position).

Controller interface

Subscribed Topics

~state (pr2_controllers_msgs/JointControllerState)
  • Listens to the state of the controller.

Published Topics

~command (pr2_controllers_msgs/Pr2GripperCommand)
  • Sends grip commands to the controller.

Wiki: pr2_gripper_action (last edited 2011-07-01 20:21:43 by hsu)