2022-06-10 14:25:53 +05:30
2022-06-08 22:59:59 +05:30
2022-06-08 22:59:59 +05:30
2022-06-10 14:25:53 +05:30

Automatic Generation Control Using an Actor-Critic based Adaptive PID controller

This Repo contains an implementation of a Novel Actor-Critic based Adaptive PID controller for Automatic Generation Control on a Two area Power system.

Automatic Generation Control (AGC) is critical for providing quality electrical energy. In this paper, we present an Actor-Critic Reinforcement Learning (RL) based Adaptive Proportional-Integral-Derivative (PID) controller. The performance of model-based control methods relies on the accuracy of the available plant model. There is a need for adaptive controllers that, for the most part, work independently of the system configuration. The PID controller parameters are updated through an actor-critic policy in real-time. This actor-critic policy is implemented as a single RBF kernel implemented as a neural network. The input to the RBF kernel is the Area Control Error(ACE) after being passed through a state converter. The kernel outputs the updated parameters of the PID controller. We employ the gradient descent method based on the Temporal Difference (TD) error performance index to update the neural networks weights. The neural network and the kernel are continually updated, making the controller robust and adaptive. Numerical simulations were performed, and the controllers performance was recorded and compared to a traditional PID controller.

  • To run the Python Implementation of the adaptive controller run twoarea_with_adaptive_pid.py
  • To run the Matlab Implementation of the adaptive controller run ![main.m](https://github.com/NickNair/Adaptive-PID-controller/blob/master/matlab_implementation/main.m)
Description
Code implementation of an adaptive PID controller for Non-linear Systems
Readme 1.2 MiB
Languages
Python 54.5%
MATLAB 45.5%