  Identifying and controlling an unstable, underactuated robot to enable
reference tracking is a challenging control problem. In this paper, a ballbot
(robot balancing on a ball) is used as an experimental setup to demonstrate and
test proposed strategies to tackle this control problem. A double-loop control
system, including a state-feedback gain in the outer-loop and a
Proportional-Integral-Derivative (PID) controller in the inner-loop, is
presented to balance the system in its unstable equilibrium. Once stability is
reached, the plant's response to a designed excitation signal is measured and
interpreted to identify the system's dynamics. Hereby, the parameters of a
linearized model of the ballbot are identified with prior knowledge about the
structure of the nonlinear dynamics of the system. Based on an identified
linear time-invariant (LTI) state-space model, a double-loop control strategy
is considered to balance the real system and to allow reference tracking. A
linear quadratic regulator (LQR) is designed offline and implemented in the
inner-loop to ensure balance. In the outer-loop, the estimated dynamics
forecast the system's behavior online using a model-predictive-control (MPC)
design to find the optimal control input for reference tracking. The
experimental results demonstrate the applicability of the proposed strategies.
