  This paper describes a method for generating robot grasps by jointly
considering stability and other task and object-specific constraints. We
introduce a three-level representation that is acquired for each object class
from a small number of exemplars of objects, tasks, and relevant grasps. The
representation encodes task-specific knowledge for each object class as a
relationship between a keypoint skeleton and suitable grasp points that is
preserved despite intra-class variations in scale and orientation. The learned
models are queried at run time by a simple sampling-based method to guide the
generation of grasps that balance task and stability constraints. We ground and
evaluate our method in the context of a Franka Emika Panda robot assisting a
human in picking tabletop objects for which the robot does not have prior CAD
models. Experimental results demonstrate that in comparison with a baseline
method that only focuses on stability, our method is able to provide suitable
grasps for different tasks.
