  We present a modular framework designed to enable a robot hand-arm system to
learn how to catch flying objects, a task that requires fast, reactive, and
accurately-timed robot motions. Our framework consists of five core modules:
(i) an object state estimator that learns object trajectory prediction, (ii) a
catching pose quality network that learns to score and rank object poses for
catching, (iii) a reaching control policy trained to move the robot hand to
pre-catch poses, (iv) a grasping control policy trained to perform soft
catching motions for safe and robust grasping, and (v) a gating network trained
to synthesize the actions given by the reaching and grasping policy. The former
two modules are trained via supervised learning and the latter three use deep
reinforcement learning in a simulated environment. We conduct extensive
evaluations of our framework in simulation for each module and the integrated
system, to demonstrate high success rates of in-flight catching and robustness
to perturbations and sensory noise. Whilst only simple cylindrical and
spherical objects are used for training, the integrated system shows successful
generalization to a variety of household objects that are not used in training.
