Table of Contents
Fetching ...

Deep Reinforcement Learning for Optimizing Inverter Control: Fixed and Adaptive Gain Tuning Strategies for Power System Stability

Shuvangkar Chandra Das, Tuyen Vu, Deepak Ramasubramanian, Evangelos Farantatos, Jianhua Zhang, Thomas Ortmeyer

TL;DR

A Simulink-developed inverter model is converted into a dynamic-link-library (DLL) and integrated with a Python-based RL environment, leveraging multi-core deployment and accelerated computing to significantly reduce RL training time.

Abstract

This paper presents novel methods for tuning inverter controller gains using deep reinforcement learning (DRL). A Simulink-developed inverter model is converted into a dynamic link library (DLL) and integrated with a Python-based RL environment, leveraging the multi-core deployment and accelerated computing to significantly reduce RL training time. A neural network-based mechanism is developed to transform the cascaded PI controller into an actor network, allowing optimized gain tuning by an RL agent to mitigate scenarios such as subsynchronous oscillations (SSO) and initial transients. Two distinct tuning approaches are demonstrated: a fixed gain strategy, where controller gains are represented as RL policy (actor network) weights, and an adaptive gain strategy, where gains are dynamically generated as RL policy (actor network) outputs. A comparative analysis of these methods is provided, showcasing their effectiveness in stabilizing the transient performance of grid-forming and grid-following converters and deployment challenges in hardware. Experimental results are presented, demonstrating the enhanced robustness and practical applicability of the RL-tuned controller gains in real-world systems.

Deep Reinforcement Learning for Optimizing Inverter Control: Fixed and Adaptive Gain Tuning Strategies for Power System Stability

TL;DR

A Simulink-developed inverter model is converted into a dynamic-link-library (DLL) and integrated with a Python-based RL environment, leveraging multi-core deployment and accelerated computing to significantly reduce RL training time.

Abstract

This paper presents novel methods for tuning inverter controller gains using deep reinforcement learning (DRL). A Simulink-developed inverter model is converted into a dynamic link library (DLL) and integrated with a Python-based RL environment, leveraging the multi-core deployment and accelerated computing to significantly reduce RL training time. A neural network-based mechanism is developed to transform the cascaded PI controller into an actor network, allowing optimized gain tuning by an RL agent to mitigate scenarios such as subsynchronous oscillations (SSO) and initial transients. Two distinct tuning approaches are demonstrated: a fixed gain strategy, where controller gains are represented as RL policy (actor network) weights, and an adaptive gain strategy, where gains are dynamically generated as RL policy (actor network) outputs. A comparative analysis of these methods is provided, showcasing their effectiveness in stabilizing the transient performance of grid-forming and grid-following converters and deployment challenges in hardware. Experimental results are presented, demonstrating the enhanced robustness and practical applicability of the RL-tuned controller gains in real-world systems.

Paper Structure

This paper contains 30 sections, 12 equations, 12 figures, 11 tables, 1 algorithm.

Figures (12)

  • Figure 1: GFL inverter RL agent training pipeline where(a) represents the PPO Agent, (b) GFL inverter environment setup with the grid (GFM, load and transformer), (c) Trained gains / RL policy is transported into hardware setup
  • Figure 2: Simulink to DLL generation for parallel computing of the RL environment
  • Figure 3: Flowchart of 4 steps process of Simulink Model DRL training pipeline in Python environment
  • Figure 4: Process of converting cascaded current controller into neural network for actor. (a) shows a conventional current controller (b) shows a simple fully connected neural network. each node takes input from all previous layers inputs calculate z, then passed through activation function calculates final output (c) Represetns current controller as neural network. The goal is set the PI gains, $K_p$ and $K_i$ as the neural network weights.
  • Figure 5: Comparison result of the IBR in Simulink and Python Environment
  • ...and 7 more figures