  Robotic grasping in cluttered environments is often infeasible due to
obstacles preventing possible grasps. Then, pre-grasping manipulation like
shifting or pushing an object becomes necessary. We developed an algorithm that
can learn, in addition to grasping, to shift objects in such a way that their
grasp probability increases. Our research contribution is threefold: First, we
present an algorithm for learning the optimal pose of manipulation primitives
like clamping or shifting. Second, we learn non-prehensible actions that
explicitly increase the grasping probability. Making one skill (shifting)
directly dependent on another (grasping) removes the need of sparse rewards,
leading to more data-efficient learning. Third, we apply a real-world solution
to the industrial task of bin picking, resulting in the ability to empty bins
completely. The system is trained in a self-supervised manner with around 25000
grasp and 2500 shift actions. Our robot is able to grasp and file objects with
274 picks per hour. Furthermore, we demonstrate the system's ability to
generalize to novel objects.
