Trajectory Tracking Controller using Deep Neural Network?
13 views (last 30 days)
Show older comments
Hi,
I'm currently working on a project for my graduate class in non-linear control, and we are being asked to solve a dynamic trajectory tracking problem using deep neural networks for a simple two-link system with unknown disturbance dynamics. Up to this point, we have been exploring single and two-layer networks, which have been relatively straightforward to code, but now with the deep neural network requirement I am trying to utilize the Deep Network designer to solve the problem.
In essence, the idea is given the ODE (where phi has two components i.e. phi = [phi_1; phi_2]):
To track a desired trajectory:
Given the unknown disturbance (which for simulation purposes is explicitly given but from an input control perspective is unknown):

So effectively we are to utilize a larger deep neural network, testing different types of activation functions (tanh, ReLu, sigmoid, etc.), in order to estimate the unknown disturbance effects and properly control the input to the system. The estimations for weight and biases should come from the deep learning algorithms during real-time simulation of the system and controller while trying to drive tracking errors to zero and so an "independent training" session that can be applied later is not really the goal. The system should estimate and update weights / biases and improve the controller response over a single simulation in real-time.
The problem is our professor is using PyTorch (by choice) and so does not really know how to answer questions regarding this in MATLAB (even though we are allowed to use MATLAB for our problems, which I prefer). When trying to find documentation on how to use the Deep Network designer, I see tons of material on image processing and training. But I am struggling to find anything in regards to controlling dynamic systems in real-time with the Deep Network Designer in the Deep Learning toolbox.
Can anyone help with providing a simple example of how this could be done? Of course I'm not looking for how to solve my specific dynamic problem, but more how to build the Deep Network structure and how to pass through an adapting input with the constantly updating weights / biases from deep learning, and model the actual output trajectory vs. desired trajectory. To note I am modeling forward steps in the dynamics using a simple Euler integration loop and not through an ODE solver or Simulink, for simplicity sake (and has worked fine for hard-coded one and two-layer networks). But I have not found any examples thus far that are similar to a type of tracking control problem in real-time using Deep Learning and the Network Designer, so I could really use some guidance on how to build this.
Thanks for any support that can be provided!
BR
Jonathan
1 Comment
Jack Chinedu Edeubaka
on 21 Dec 2022
It comes in two ways. 1. Save the ANN file to the Matlab work space, Go to the Simulink model open the parameters of the MPC controller, go to MD ( measured disturbance Port) type in the saved ANN file.
Another technique is to interface the ANN or DNN Simulink block with the MPC controller on Simulink interface.I don't know if this really help. Thank you.
Answers (1)
Jack Chinedu Edeubaka
on 2 Aug 2022
Hi Jonathan,
I have similar challenge like you, but I think in the actual sense DNN or ANN does not have much control toolbox for control modeling, you can check Model Predict Control (MPC). MPC uses control feedback mechanism to solve an optimization problem.
Though I wonder why experts are not responding to this question here. Anybody with a better techniques can discuss with us.
Once more I am glad to meet, here is my WhatsApp +2349057326437. Thank you.
1 Comment
Ze Liu
on 21 Dec 2022
Hi Jack
I am developing a neural network predictive controller for a fuel cell vehicle application, however, there is very little information on the workflow of ANN or DNN-MPC in Simulink, I know that Simulink has integrated MPC toolbox, I would like to ask how to embed my nonlinear ANNorDNN model in Simulink MPC. If MPC toolbox can't do it directly, then by what way this work is done?
Thank you very much.
See Also
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!