Academic 2021-2024
Wind turbine control (M.Sc. thesis)
M.Sc. researcher, Amirkabir University of Technology
A computer learns to tilt wind turbine blades to keep power near a target, using models learned from wind data, not slow physics simulations.
01 The problem
Wind changes all the time, so a turbine's power output changes too. Turbines can tilt their blades (pitch) to steady it. The goal: learn when to tilt them, so power stays near a target, without slow and costly physics simulations.
02 What I built
- 01
Wind data collector
Downloads years of 5-minute wind data for US wind farms from the NREL wind data service, and retries on its own when a download fails.
- 02
Wind speed forecaster
A deep learning model that predicts the coming wind speed from recent wind data.
- 03
Turbine state groups
Sorts the turbine's working moments into groups with similar wind speed and blade angle.
- 04
Power model per group
For each group, trains and tests several model types that predict how much power the turbine makes.
- 05
Virtual practice turbine
The group power models together act as a stand-in for the real turbine, so training needs no physics simulator.
- 06
Blade angle controller
A self-learning agent (it learns by trial and reward) that tilts the blades down, keeps them, or tilts them up in small steps.
03 How it works
- 01Collect years of wind data from US wind farms.
- 02Predict the coming wind speed with a deep learning model.
- 03Group turbine states and learn a power model for each.
- 04Use these models as a virtual turbine.
- 05Train an agent to tilt blades toward the power target.
04 Result
- Finished the M.Sc. at Amirkabir University of Technology with first rank.
- A full pipeline in code, from raw wind data to a blade angle controller.
- The controller trains on a learned turbine model, not a slow physics simulator.
- Each of the five stages is its own code package.
Stack
- Python
- TensorFlow
- Keras
- scikit-learn
- pandas
- Jupyter
- Reinforcement learning
- NREL WIND Toolkit
Get in touch.
Working on a platform, a backend or AI agents? Tell me about it.