PID tuning / optimization usig machine learning/deep learning algorithm
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Show older comments
0 votes
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.
Accepted Answer
Raghava S N
on 26 Feb 2024
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 Comments
Avdhut Machchhindra
on 7 May 2024
Moved: Sam Chak
on 7 May 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
on 13 May 2024
Moved: Sam Chak
on 13 May 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
on 13 May 2024
Edited: Sam Chak
on 13 May 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.


Sam Chak
on 13 May 2024
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?
Avdhut Machchhindra
on 13 May 2024
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.
Sam Chak
on 13 May 2024
Would this one more compact?
cost = ITAE(end);
instead of
cost = ITAE(length(ITAE));
Avdhut Machchhindra
on 13 May 2024
Hello,
Both of them are giving same output.
Sam Chak
on 13 May 2024
More Answers (0)
Categories
Find more on PID Controller Tuning in Help Center and File Exchange
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)