moveit_task_constructor icon indicating copy to clipboard operation
moveit_task_constructor copied to clipboard

New Grasp Generator Stage

Open bostoncleek opened this issue 3 years ago • 4 comments

Is your feature request related to a problem? Please describe. I want to add more robust grasping support using GPD and eventually Dex-Net as well. I would also like to add support that allows for sensor input into stages.

Describe the solution you'd like An alternative grasp generator stage using GPD. The GPD lib outputs many candidates that can be evaluated based on cost and feasibility using the ComputeIK stage to select the best grasp.

bostoncleek avatar Jul 17 '20 16:07 bostoncleek

This is an internship project proposed by @mamoll and @JStech.

Go ahead. :-)

I would also like to add support that allows for sensor input into stages.

At the moment there would be no difference between generating the grasps outside of MTC and forwarding them to a generic grasp stage and forwarding the point clouds/images to the stage directly. Both approaches are clearly possible. Do you see some merit in forwarding the sensor data directly?

v4hn avatar Jul 17 '20 17:07 v4hn

Writing a generic generator that can also take sensor input would remove cumbersome dependencies and make the MTC frame work more flexible and easy to use. I can start here.

The approach and lift directions depend on the grasp candidate which is related to IK feasibility. Is there a way to propagate the pre-grasp and post-grasp poses to other stages after the IK stage?

bostoncleek avatar Jul 17 '20 19:07 bostoncleek

In principle, you can assign arbitrary properties, e.g. pre- and post-grasp hand postures, to any solution. And you can ask MTC to forward these properties in adjacent stages (setForwardedProperties()). I never finished to write an example pick and place task relying on these concepts, instead of hard-coding them into the task program. Maybe, it is a good starting point to rewrite the existing Pick and Place containers to use this more generic scheme. This will be needed anyway if you want to pass such properties from the grasp generator stage.

rhaschke avatar Jul 17 '20 21:07 rhaschke

I started looking into these containers. It looks like in order for them to properly pick/place both containers would need to modify the planning scene to control which collisions are allowed during grasping, lifting, and placing.

bostoncleek avatar Jul 18 '20 18:07 bostoncleek