  In this work, we present GraspFlow, a refinement approach for generating
context-specific grasps. We formulate the problem of grasp synthesis as a
sampling problem: we seek to sample from a context-conditioned probability
distribution of successful grasps. However, this target distribution is
unknown. As a solution, we devise a discriminator gradient-flow method to
evolve grasps obtained from a simpler distribution in a manner that mimics
sampling from the desired target distribution. Unlike existing approaches,
GraspFlow is modular, allowing grasps that satisfy multiple criteria to be
obtained simply by incorporating the relevant discriminators. It is also simple
to implement, requiring minimal code given existing auto-differentiation
libraries and suitable discriminators. Experiments show that GraspFlow
generates stable and executable grasps on a real-world Panda robot for a
diverse range of objects. In particular, in 60 trials on 20 different household
objects, the first attempted grasp was successful 94% of the time, and 100%
grasp success was achieved by the second grasp. Moreover, incorporating a
functional discriminator for robot-human handover improved the functional
aspect of the grasp by up to 33%.
