  Model Predictive Controllers (MPC) are widely used for controlling
cyber-physical systems. It is an iterative process of optimizing the prediction
of the future states of a robot over a fixed time horizon. MPCs are effective
in practice, but because they are computationally expensive and slow, they are
not well suited for use in real-time applications. Overcoming the flaw can be
accomplished by approximating an MPC's functionality. Neural networks are very
good function approximators and are faster compared to an MPC. It can be
challenging to apply neural networks to control-based applications since the
data does not match the i.i.d assumption. This study investigates various
imitation learning methods for using a neural network in a control-based
environment and evaluates their benefits and shortcomings.
