Neural network control

Daniel Eggert

Abstract

This thesis addresses two neural network based control systems. The first is a neural network based predictive controller. System identification and controller design are discussed. The second is a direct neural network controller. Parameter choice and training methods are discussed. Both controllers are tested on two different plants. Problems regarding implementations are discussed.

First the neural network based predictive controller is introduced as an extension to the generalised predictive controller (GPC) to allow control of non-linear plant. The controller design includes the GPC parameters, but prediction is done explicitly by using a neural network model of the plant. System identification is discussed. Two control systems are constructed for two different plants: A coupled tank system and an inverse pendulum. This shows how implementation aspects such as plant excitation during system identification are handled. Limitations of the controller type are discussed and shown on the two implementations.

In the second part of this thesis, the direct neural network controller is discussed. An output feedback controller is constructed around a neural network. Controller parameters are determined using system simulations. The control system is applied as a single-step ahead controller to two different plants. One of them is a path-following problem in connection with a reversing trailer truck. This system illustrates an approach with step-wise increasing controller complexity to handle the unstable control object. The second plant is a coupled tank system.

Comparison is made with the first controller. Both controllers are shown to work. But for the neural network based predictive controller, construction of a neural network model of high accuracy is critical especially when long prediction horizons are needed. This limits application to plants that can be modelled to sufficient accuracy.

The direct neural network controller does not need a model. Instead the controller is trained on simulation runs of the plant. This requires careful selection of training scenarios, as these scenarios have impact on the performance of the controller.