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.
采纳的回答
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 个评论
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.
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.

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.
Would this one more compact?
cost = ITAE(end);
instead of
cost = ITAE(length(ITAE));
Hello,
Both of them are giving same output.
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 PID Controller Tuning 的更多信息
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)
