We present a technique for learning control Lyapunov (potential) functions,
which are used in turn to synthesize controllers for nonlinear dynamical
systems. The learning framework uses a demonstrator that implements a
black-box, untrusted strategy presumed to solve the problem of interest, a
learner that poses finitely many queries to the demonstrator to infer a
candidate function and a verifier that checks whether the current candidate is
a valid control Lyapunov function. The overall learning framework is iterative,
eliminating a set of candidates on each iteration using the counterexamples
discovered by the verifier and the demonstrations over these counterexamples.
We prove its convergence using ellipsoidal approximation techniques from convex
optimization. We also implement this scheme using nonlinear MPC controllers to
serve as demonstrators for a set of state and trajectory stabilization problems
for nonlinear dynamical systems. Our approach is able to synthesize relatively
simple polynomial control Lyapunov functions, and in that process replace the
MPC using a guaranteed and computationally less expensive controller