How a varying PI parameter output by Reinforcement Learning Agent help to tune the static PI controller
1 view (last 30 days)
Show older comments
I read this example and I am confused by the methodologic of this algorithme.
When I train the agent, the PI controller parameters represented by neural network will change every sampletime (0.1s for this example) to find the best setting. After the training, we can deploy the parameters to our PI controller with the parameter areadly fixed.
Why is this reasonable ? For example, in the dynamic process, when the error is large, the agent will tend to increase the parameters of the neural network, and when it converges, the agent will tend to reduce the parameters. The agent can find control the system well with a small cumulate error, but a PI controller with the parameters fixed can not perform like the agent.
2 Comments
Sam Chak
on 4 Jan 2024
Why it is reasonable ?
Hi @轩, I'm unsure if I understand. What is "it" being reasonable to you? Are you referring to the increment and reduction of the values of the parameters?
Accepted Answer
Sam Chak
on 6 Jan 2024
Hi @轩
I believe it is scientifically logical that, when the difference between the actual level and the reference level (error) is substantial, the agent will tend to increase the control effort (resulting in a larger water flow to fill up the tank faster). Conversely, as the actual level approaches the reference level, the agent will tend to reduce the control effort (resulting in a smaller water flow to prevent overflow). This behavior is observed in both CST-tuned PI control and TD3-tuned PI control, as illustrated below.
In fact, the Control System Tuner (CST) performs an iterative tuning of the PI gains to meet tracking and stability requirements, while the TD3 agents undergo an iterative learning process to update their policy, maximizing the expected cumulative reward in the given environment.
Kp_CST = 9.80199999804512;
Ki_CST = 1.00019996230706e-06;
Kp_TD3 = 8.0822;
Ki_TD3 = 0.3958;
3 Comments
Luka
on 18 Jan 2024
Hello everyone,
I understood what @轩 was trying to say, and I have the same question. In the given example, shouldn't the network parameters (PI gains) be adjusted only after one episode of training has been completed, and not during the episode itself?
Because in reality, the controller will work with fixed gains (which we want to determine using RL), so I think it is correct to change these gains during the training process only after the individual episode is finished and after the reward for that particular episode is received.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!