Skip to content

3ld0rad0/Real-time-RL-Controller-for-WEC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reinforcement Learning Controller for Wave Energy Converter

In the following project a new real time controller for WEC, based on Reinforcement Learning, is proposed. This is a Server-Client approach, where the Server processed the simulation environment, instead the client play the role of a real time controller.

The two control techniques examinated are : latching control and linear control. A Point Absorber model is used in the tests on regular and irregular waves (PA Spectrum).

Proximal Policy Optimization algorithm is used to train the RL agent on different Sea States, a learning strategy that allows more generalization to the agent. The project is strongly influenced by the works of Anderlini and Hao Qin

The approach shows that RL control, achieved better performance in terms of Absorbed Power, compared to a classic approach based on Threshold Control.

Server-Client approach allows to create many Control scripts (in the agent folder) that you can run separately, without modify the Server logic.

Instruction to run the program

  • Modify the config.json file in the utils folder;
  • Open two terminal windows, and navigate to the current project folder;
  • Run in the first windows the following command, to start the Server: python -m simulation.server;
  • Run in the second windows the following command to start the Client: python -m agent.<your_controller>;

The program will save the results in the results folder.

About

Reinforcement Learning controller for a Point Absorber WEC

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages