  The data-driven discovery of dynamics via machine learning is currently
pushing the frontiers of modeling and control efforts, and it provides a
tremendous opportunity to extend the reach of model predictive control.
However, many leading methods in machine learning, such as neural networks,
require large volumes of training data, may not be interpretable, do not easily
include known constraints and symmetries, and often do not generalize beyond
the attractor where models are trained. These factors limit the use of these
techniques for the online identification of a model in the low-data limit, for
example following an abrupt change to the system dynamics. In this work, we
extend the recent sparse identification of nonlinear dynamics (SINDY) modeling
procedure to include the effects of actuation and demonstrate the ability of
these models to enhance the performance of model predictive control (MPC),
based on limited, noisy data. SINDY models are parsimonious, identifying the
fewest terms in the model needed to explain the data, making them
interpretable, generalizable, and reducing the burden of training data. We show
that the resulting SINDY-MPC framework has higher performance, requires
significantly less data, and is more computationally efficient and robust to
noise than neural network models, making it viable for online training and
execution in response to rapid changes to the system. SINDY-MPC also shows
improved performance over linear data-driven models, although linear models may
provide a stopgap until enough data is available for SINDY. SINDY-MPC is
demonstrated on a variety of dynamical systems with different challenges,
including the chaotic Lorenz system, a simple model for flight control of an F8
aircraft, and an HIV model incorporating drug treatment.
