ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Which grasp planner to use, manipulation pipeline, non PR2 robot

asked 2013-01-08 04:54:16 -0500

dbworth gravatar image

(This question/answer thread was started via email)

I am trying to implement the ROS Manipulation Pipeline (perception + grasping) on our own robot.
So it's a non PR2, with non-PR2 gripper.

Original questions:

  • How do I define a non-PR2 gripper in the YAML config for use with "probabilistic_grasp_planner" or "bayesian_grasp_planner"?
    e.g. see

  • If using a non-PR2 robot, don't I need a Grasp Planner to make the Pipeline work?

  • or alternatively, I would need to setup the system to generate a database of grasps using GraspIt, like was done for the PR2 gripper?

Thanks, David.

edit retag flag offensive close merge delete


This is a great question I've been trying to figure out myself as well!

Dave Coleman gravatar image Dave Coleman  ( 2013-01-10 04:25:51 -0500 )edit

3 Answers

Sort by ยป oldest newest most voted

answered 2013-01-08 16:22:27 -0500

Matei Ciocarlie gravatar image

The probabilistic planner is actually not a stand-alone planner - what it does is aggregate suggestions from other planners in a smart way. So if you have no planners for your gripper yet, it would not be the right place to start.

What does your hand look like? If it's at all gripper-like (or has a finger configuration that can be made to resemble a gripper), an adaptation of the PR2 Cluster Planner is definitely doable.

Installing the database on your system and hand-saving a few grasps in it should also be a few hours or maybe a day's worth of work.

Also note that the grasping pipeline relies on a lot of underlying software, in particular in terms of perception and arm navigation for operation. Are you also bringing up those components on your robot?

edit flag offensive delete link more


Thanks Matei. I'll have a look at defining a gripper to adapt the cluster planner. Correct, yes I'm adapting PR2's Interactive Perception and Interactive Manipulation packages, to pick'n'place objects on a table.

dbworth gravatar image dbworth  ( 2013-01-10 08:36:53 -0500 )edit

answered 2013-01-09 13:17:25 -0500

hsiao gravatar image

If you look in the config folder in the pr2_gripper_grasp_planner_cluster package, you can see the config files I made for the Schunk hand and for the RobotIQ hand (as well as the one for the PR2). If you want to use the cluster planner, you just have to make one for your hand--it specifies axis-aligned boxes (relative to the frame you want the pose for when defining a grasp in the world, which for the PR2 is the wrist roll link frame) that denote spaces where there shouldn't be any points (because your hand takes up that space) and space where there should be points (because that means there's something inside your hand). And a few other params whose explanation is in the code. (Sorry there isn't better documentation. If you need help with that, just email.)

edit flag offensive delete link more


Thanks hsiao. Hopefully a simple configuration for a 1 or 2 DOF pincer/gripper will yield some results.

dbworth gravatar image dbworth  ( 2013-01-10 08:39:12 -0500 )edit

answered 2013-01-08 04:57:54 -0500

dbworth gravatar image

Original answer:


  • You don't need to implement either of those (probabilistic or bayesian grasp planners) to use the manipulation pipeline. Is there any particular reason you want to?


  • You are correct in that if you have a different gripper, you will need a Grasp Planner, that can either read pre-computed grasps for a given object, or compute them on the fly. We do have examples of both for the PR2 gripper in our codebase. However, this grasp planner does not necessarily have to be probabilistic or bayesian - those are particular implementations we put together as part of research projects.

  • Sure, that would be one way to do it. However, to get you started, you don't necessarily have to generate the grasps using GraspIt - you can hand-generate a few and put them in the database to get the system going. Later, if you're interested, you can set up the complete pipeline with GraspIt doing automated grasp generation for known objects.

edit flag offensive delete link more


Reply 1: In your opinion, what is the easiest/quickest first approach? to implement a specific grasp planner (perhaps like PR2 Cluster Planner?) or use the database for one or two pre-computed grasps? (I'm using Fuerte)

dbworth gravatar image dbworth  ( 2013-01-08 05:00:19 -0500 )edit

Reply 2: Peter's probabilistic_grasp_planner looks good for computing grasps on the fly. Can you suggest how to model a new gripper? (I sketched the co-ordinates from the PR2 YAML file on paper, and I can sort of see what's going on)

dbworth gravatar image dbworth  ( 2013-01-08 05:02:29 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2013-01-08 04:54:16 -0500

Seen: 649 times

Last updated: Jan 09 '13