A simple technique to improve wind turbine misalignment detection

unsplash-image-WYGhTLym344.jpg

Introduction

The application of AI in the energy sector has a bright future with wind energy being one of the most sought-after sub-domains. The placement of a wind turbine with respect to wind direction, as well as, with respect to other turbines in the same farm, creates a massive impact on the amount of power they generate. If a turbine is not aligned with the wind direction it ends up generating sub-optimal amount of power incurring large financial losses. Such a turbine is said to be misaligned.

Our previous article focused on the optimal placment of wind turbines, with respect to each other, on a single farm to generate maximum power. The problem statement itself considered the turbines to be perfectly aligned towards the direction of wind flow at all times, which is never the case in a real-world scenario.

Usually, companies dealing in the wind energy sector possess substantial number of wind farms. These farms are a collection of large number of wind turbines. In order to detect misalignment, a data scientist would have to carry out various Exploratory Data Analysis (EDA) on each and every turbine. Such an exhaustive process can potentially take up to a year for moderately large farms. The question is, can we do better?

In this article, we provide a step-by-step solution to the above problem by coming up with a novel severity scoring function for ranking different wind farms/wind turbines based on their misalignments. We have successfully reduced a painstakingly long and arduous pipeline down to a matter of few seconds versus the traditional year long process.


Background

1. Pitch control of a wind turbine

A wind turbine is uniquely designed to generate maximum power using wind energy. Remember, the maximum power is generated only when the wind direction is directly on the face of the turbines. But in a real-world scenario, this is not often the case. So to adjust the blades of the turbine one can rotate the blades(using an electric motor mechanism and/or hydraulics) to obtain maximum power. This functionality is called the pitch control mechanism (as illustrated in Fig. 1). The angle of the turbine blades with the wind direction is called the pitch angle.

Note: Pitch angle is not taken into account for this article and is assumed to be perfectly aligned at all times.

pitch_small.jpg

Fig. 1: The rotation of the blades shown above define the pitch angle rotation of wind turbines.

 

2. Yaw control of wind turbines

This functionality is responsible for rotating the entire face of the wind turbine. If subtle changes in the blade angle (pitch angle) does not help, then we have to rotate the entire turbine base to face it towards the wind in order to maximize power output. This is known as yaw control (as shown in Fig. 2).

yaw_small.jpg

Fig. 2: Yaw control in wind turbines.

 

Understanding the Data

The data comprised of multiple features though we required only the following two:

1. Yaw Information a.k.a. Yaw Group

This is a continuous feature which consists of error values in terms of degrees by which the face of the wind turbine is misaligned with respect to the wind direction. To make lives easier these continuous values had been binned into $15$ separate groups where $1$ is the best and $15$ is the worst (as shown in Fig. 3).

Groups $1$, $2$, and $3$ are considered to be good bins, that is, bins with error values within the acceptable range, above which a wind turbine is said to be misaligned. Therefore, it was desirable that a wind turbine spent most of its time in these groups rather than the other ones.

misalignment_small.png

Fig. 3: Turbine top view with wind directions. Here, wind direction 1 gives the maximum output as it is directly aligned with the turbine face. Wind direction 2 gives the second-best output as it is slightly misaligned with respect to the face. Finally. wind direction 4 is the worst in terms of power generation.

 

2. Yaw group rank

Each yaw group had a corresponding rank in the data according to the amount of power it generated. This feature is called yaw group rank and can be understood in terms of time. The ranks are from $1$ to $15$ with $1$ being the longest time spent and $15$ being the least time spent.

For example, if a turbine spends most of its power generation time in the $1$st yaw group (wind turbine directly aligned with wind direction) then we give this group a rank of $1$. Similarly, if a turbine spends the least amount of its power generation time in the $15$th group (wind turbine completely misaligned with wind direction) then we give this group a rank of $15$. Note that these two are the most optimal scenarios because in either case, power generation would be at capacity.

On the contrary, if a turbine spent most of its power generation time in the $15$th group then the corresponding rank would be $1$ meaning that the power output of the turbine is so low that the worst group is relatively producing the most power. A similar effect would be observed if a turbine spent the least amount of its power generation time in the $1$st group, that is, group $1$ would have a yaw group rank of $15$. These two are the least optimal scenarios because in either cases, power output would be minimum.


Defining the Misalignment Scoring Function

In order to determine whether a turbine is misaligned or not, we can use the variables yaw_group and yaw_group_rank in order to come up with a scoring function that will generate real value scores denoting the severity of misalignment for every turbine. A low severity score would mean that the turbine is not misaligned while a high score would indicate the opposite. To come up with this function we can visualize its different segments separately and finally try to combine the results into one.

For a rank of $1$, the misalignment severity score should increase as we move from group $1$ to $15$ since spending most of the time in the $1$st group is ideal while spending most of the time in the $15$th group is the worst possible scenario.

yaw_group_rank_1.png

(a)

yaw_group_rank_15.png

(b)

Fig. 4: (a) A visual representation of the misalignment severity function for yaw group rank of 1.
(b) A visual representation of the misalignment severity function for yaw group rank of 15.

 

Similarly, for yaw_group_rank value of $15$, the score for yaw_group value of $1$ should be very high, since the time spent in the $1$st cluster is the minimum which is the least optimal scenario. For the same value of yaw_group_rank, the score for yaw_group value of $15$ should be very low.

As is illustrated in Fig. 4, for a yaw_group_rank value of $1$, our misalignment severity scoring function should look like an exponential curve while for a yaw_group_rank value of $15$, the function should look like the mirror image of the same curve. For the rest of the yaw_group_rank values, our scoring function's curve should morph between the above two scenarios. If one really thinks about it, each curve for a different rank is actually a 2D slice of a 3D function. If we take yaw_group_rank as the third dimension, then clearly our misalignment severity scoring function is three dimensional in nature. This idea is demonstrated in Fig. 5.

misalignment_severity_function.gif

Fig. 5: The misalignment severity scoring function is a separate curve for each rank but when yaw_group_rank is considered as the third dimension, we end up with a single, 3D function (visualized at the end of the gif).

 

Conclusion

The novel scoring function was used to rank all the wind farms as well as the individual wind turbine models in each farm. The function produced highly accurate rankings that can be used for prioritising turbine maintenance endeavours thus significantly reducing labour cost as well as financial losses due to sub-optimal power generation. Our solution is scalable, light weight and produces accurate results within seconds. And all of this was achieved without using any Machine Learning. It is not always the case that fancy models will do the trick. Sometimes creativity is all you need.

win_turbine_main_page.gif

We leave you with a dapper animation 😎 Enjoy! 😎

Previous
Previous

How to invent your own new ML algorithm: A novel ensembling technique