Reza Shirazi / Head of Engineering

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

  1. 01Collect years of wind data from US wind farms.
  2. 02Predict the coming wind speed with a deep learning model.
  3. 03Group turbine states and learn a power model for each.
  4. 04Use these models as a virtual turbine.
  5. 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.