PID tuning / optimization usig machine learning/deep learning algorithm

Hello, I would like to ask about PID tuning using ML/DL algorithms. is there any article available in mathworks to do PID tuning using Machine learning for the optimization of the function. IF anyone did same thing, could you please help me?
I have created a model in Simulink. I want to do optimization to minimize the error. for that I want to do PID tuning.

 Réponse acceptée

Hi Avdhut,
You could use the blocks that are shipped with the Reinforcement Learning Toolbox to tune a PID controller. An example application is also shipped with the documentation of the Reinforcement Learning Toolbox.
Please find the link to the same here - https://www.mathworks.com/help/reinforcement-learning/ug/tune-pi-controller-using-td3.html. This example shows how to tune the two gains of a PI controller using the twin-delayed deep deterministic policy gradient (TD3) reinforcement learning algorithm.You may adapt the workflows used in the above application (which tunes a PI controller) to your PID controller.

9 commentaires

Avdhut Machchhindra
Avdhut Machchhindra le 7 Mai 2024
Déplacé(e) : Sam Chak le 7 Mai 2024
Thank you for your answer, However I would like to do PID tuning with Genetic algorithm. GA for PID tuning is not available in MATLAB forum. is it possible to guide me with how to do PID tuning using GA.
if possible please guide me through sequence which I should follow to do it, Since I don't have previous experience of PID tuning.
Thank you in advance!
Regards,
Avdhut
I'm not entirely sure, but perhaps @Raghava S N can assist you. However, I believe it might be quite challenging for you to tune PID gains with a genetic algorithm (GA) if you don't have any experience in mathematically tuning PID gains using formulas. Let's consider a double integrator system as an example.
Can you tune the PID controller using textbook knowledge?
Gp = tf(1, [1 0 0])
Gp = 1 --- s^2 Continuous-time transfer function.
Avdhut Machchhindra
Avdhut Machchhindra le 13 Mai 2024
Déplacé(e) : Sam Chak le 13 Mai 2024
Hello Sam,
I tried Genetic algorithm by method mentioned on youtube, however I am getting following error. Could you please help me to rectify this.
Avdhut Machchhindra
Avdhut Machchhindra le 13 Mai 2024
Modifié(e) : Sam Chak le 13 Mai 2024
Hello Sam,
I used integral time absolute error (ITAE) for optimization and directly took its value from simulink model as shown in figure. I have 5 controllers in my model so i added ITAE of all controllers and called it to workspace.
Hi @Avdhut Machchhindra, The error message suggests that you have passed a time series data to ga(), which I assume originates from your Simulink model. The value of the cost function should indeed be a scalar. Is that the case in your implementation?
Hello Sam,
Thank you so much for your response. Issue has been resolved. I selected time series data type in 'to workspace' block, Now I changed data type to array.
Don't mention it, @Avdhut Machchhindra. I'm glad you sorted it out. One question though.
Would this one more compact?
cost = ITAE(end);
instead of
cost = ITAE(length(ITAE));
Hello,
Both of them are giving same output.
No worries, @Avdhut Machchhindra. Keep the one you desire.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Version

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by