Using NARX model with Neural Network Predictive Control
10 views (last 30 days)
Show older comments
Chris P
on 5 Aug 2020
Commented: Nassim Stroke
on 31 Mar 2021
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.
0 Comments
Accepted Answer
Kiran Felix Robert
on 14 Aug 2020
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
2 Comments
Nassim Stroke
on 31 Mar 2021
Hi,
I saw your answers on a question about NNPC and I want to ask some other question please,
I'm trying to use the NNPC block in simulink to control a process ? First, I'm wondering if the controller contains an integration to eliminate the static error cuz I'm getting a static error (closed-loop) !
Second, I'm getting a NARX model of my process with neural network time series but I can't use it in NNPC since it contains two inputs (the input, and the feedback of the output delayed) is there a solution to import a NARX in NNPC?
Third, can I use a script to simulate my process controlled with a NNPC instead of using the NNPC block in simulink ?
Fourth, where can I find a description or an explanation of the search parameter (or optimization parameter) in the block ?
Thank you for the help,
More Answers (0)
See Also
Categories
Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!