  The ball-balancing robot (ballbot) is a good platform to test the
effectiveness of a balancing controller. Considering balancing control,
conventional model-based feedback control methods have been widely used.
However, contacts and collisions are difficult to model, and often lead to
failure in balancing control, especially when the ballbot tilts a large angle.
To explore the maximum initial tilting angle of the ballbot, the balancing
control is interpreted as a recovery task using Reinforcement Learning (RL). RL
is a powerful technique for systems that are difficult to model, because it
allows an agent to learn policy by interacting with the environment. In this
paper, by combining the conventional feedback controller with the RL method, a
compound controller is proposed. We show the effectiveness of the compound
controller by training an agent to successfully perform a recovery task
involving contacts and collisions. Simulation results demonstrate that using
the compound controller, the ballbot can keep balance under a larger set of
initial tilting angles, compared to the conventional model-based controller.
