  Balancing and push-recovery are essential capabilities enabling humanoid
robots to solve complex locomotion tasks. In this context, classical control
systems tend to be based on simplified physical models and hard-coded
strategies. Although successful in specific scenarios, this approach requires
demanding tuning of parameters and switching logic between
specifically-designed controllers for handling more general perturbations. We
apply model-free Deep Reinforcement Learning for training a general and robust
humanoid push-recovery policy in a simulation environment. Our method targets
high-dimensional whole-body humanoid control and is validated on the iCub
humanoid. Reward components incorporating expert knowledge on humanoid control
enable fast learning of several robust behaviors by the same policy, spanning
the entire body. We validate our method with extensive quantitative analyses in
simulation, including out-of-sample tasks which demonstrate policy robustness
and generalization, both key requirements towards real-world robot deployment.
