MATLAB: Using NARX model with Neural Network Predictive Control

controldeep learningDeep Learning ToolboxMATLABmodelModel Predictive Control Toolboxneural networkneural networksoptimizationOptimization Toolboxsimulink

I was wondering if the model predictive control toolbox supported using NARX neural networks? If not, this webpage on a neural network predictive control scheme.
I have a few questions about this:
(1). Does this Simulink-based method limit the neural network to only have a single input? Since my model is a NARX neural network with 10 exogenous inputs, I'm worried that I won't be able to use it.
(2). For the predictive control, I have only a single input that I can control which is also one of the inputs into the NARX model. I have no control over the other inputs to my NARX model (think of them as uncontrollable states in a state-space model). Due to this, I'm wondering if I can get away with optimizing the single controllable input over a prediction horizon without needing the values of the other inputs. In other words, is there a way to get multi-step output predictions for my horizon using only values from the single controllable input?
(3). Does this Simulink-based method require an actual real-time measurement of the plant output? Or is the NARX model estimation fine to use? There are no sensors to measure the plant output in real-time which is part of the reason why I designed the NARX model in the first place.

Best Answer

Hi Chris,
It is my understanding that you are trying to use your NARX Model in one of the Deep Learning Control System Blocks.
To import your Neural Network model, you can perform the following steps,
Double-Click on the Block > File > Import Network.
Multi-Input or (and) Multi Output systems are not supported under the Neural Network Prediction controller as of now.
When using the Model Reference Controller, the plant model and the controller model can be imported.
The plant output signal is fed back to calculate the error with the reference (in order for convergence), if the NARX estimate is used, the model may converge to the estimate value itself. In other words, if the control signal provided by your controller is same as the output of the plant, then your NARX estimate can be used as the plant output signal.
Hope this Helps
Kiran Felix Robert
Related Question