Patent Description:
Wind power is considered one of the cleanest, most environmentally friendly energy sources presently available, and wind turbines have gained increased attention in this regard. A modern wind turbine typically includes a tower, a generator, a gearbox, a nacelle, and one or more rotor blades. The rotor blades capture kinetic energy of wind using known airfoil principles. For example, rotor blades typically have the cross-sectional profile of an airfoil such that, during operation, air flows over the blade producing a pressure difference between the sides. Consequently, a lift force, which is directed from a pressure side towards a suction side, acts on the blade. The lift force generates torque on the main rotor shaft, which is geared to a generator for producing electricity.

A plurality of wind turbines are commonly used in conjunction with one another to generate electricity and are commonly referred to as a "wind farm. " Each of the individual wind turbines may be controlled via a turbine controller. Similarly, the overall wind farm may be controlled via a farm-level controller. Such controllers may also be connected to a network, either locally or via the Internet, such that the wind farm and the individual turbine controllers can be controlled online and in real-time. As the wind power business continues to increase in popularity, however, so too does the risk of cyberattack on the control systems thereof. Document <CIT> provides a strategy to secure wind farm power production during a SCADA system offline mode.

Moreover, wind turbines are dynamic systems operated under unknown and stochastic operation conditions (i.e., turbulent wind field). Thus, wind turbines are usually controlled using model-based controllers. These controllers require an accurate dynamic model of the wind farm and can only be obtained when the physical properties of the considered system (i.e., the wind turbine) are known in detail, which requires extensive domain knowledge. In the scenario where an existing model-based controller of a wind turbine cannot be trusted, e.g., due to a cyberattack, a back-up controller needs to be employed. However, since the dynamic models developed by other manufacturers cannot usually be accessed, a model-based backup controller for these assets can be hard to develop.

Accordingly, the present disclosure is directed to a learning-based wind turbine controller that can be used as a backup controller in the event a primary controller is unavailable, e.g., due to a cyberattack, that address the aforementioned issues.

In one aspect, the present disclosure is directed to a method for providing backup control for a supervisory controller of at least one wind turbine. The method includes observing, via a learning-based backup controller of the at least one wind turbine, at least one operating parameter of the supervisory controller under normal operation. The method also includes learning, via the learning-based backup controller, one or more control actions of the at least one wind turbine based on the operating parameter(s). Further, the method includes receiving, via the learning-based backup controller, an indication that the supervisory controller is unavailable to continue the normal operation. Upon receipt of the indication, the method includes controlling, via the learning-based backup controller, the wind turbine(s) using the learned one or more control actions until the supervisory controller becomes available again. Moreover, the control action(s) defines a delta that one or more setpoints of the wind turbine(s) should be adjusted by to achieve a desired outcome. It should be understood that the method may further include any one or more of the additional features and/or steps described herein.

In another aspect, the present disclosure is directed to a system for providing backup control for a supervisory controller of at least one wind turbine. The system includes a supervisory controller and a learning-based backup controller communicatively coupled to the supervisory controller. The learning-based backup controller includes at least one processor configured to perform a plurality of operations, including but not limited to observing at least one operating parameter of the supervisory controller under normal operation, learning one or more control actions of the at least one wind turbine based on the at least one operating parameter, and controlling the at least one wind turbine using the learned one or more control actions when the supervisory controller is unavailable. Further, the control action(s) defines a delta that one or more setpoints of the at least one wind turbine should be adjusted by to achieve a desired outcome. It should be understood that the system may further include any one or more of the additional features described herein.

Generally, the present disclosure is directed to a learning-based wind turbine controller that can be used as a backup controller in the event a supervisory controller is unavailable. Thus, the present disclosure provides a method to implement an advanced learning-based backup controller configured to learn the control action of the supervisory controller by observing the easily available inputs and outputs of the supervisory controller under normal operation. The supervisory controller is typically a model-based controller. Thus, in the event of a cyberattack, or other scenarios which might require the use of backup controller, the advanced learning-based controller can take over and maintain the asset operational until the supervisory controller becomes usable again. Moreover, instead of directly predicting the setpoint as a function of input signals, the learning-based controller is configured to predict the delta/difference that the current setpoint should be adjusted by to achieve a desired outcome. This gives the learning-based controller a certain degree of robustness towards model/parameter mismatch that the controller encountered during training.

Referring now to the drawings, <FIG> illustrates an embodiment of a wind farm <NUM> containing a plurality of wind turbines <NUM> according to aspects of the present disclosure. The wind turbines <NUM> may be arranged in any suitable fashion. By way of example, the wind turbines <NUM> may be arranged in an array of rows and columns, in a single row, or in a random arrangement. Further, <FIG> illustrates an example layout of one embodiment of the wind farm <NUM>. Typically, wind turbine arrangement in a wind farm is determined based on numerous optimization algorithms such that AEP is maximized for corresponding site wind climate. It should be understood that any wind turbine arrangement may be implemented, such as on uneven land, without departing from the scope of the present disclosure.

In addition, it should be understood that the wind turbines <NUM> of the wind farm <NUM> may have any suitable configuration, such as for example, as shown in <FIG>. As shown, the wind turbine <NUM> includes a tower <NUM> extending from a support surface, a nacelle <NUM> mounted atop the tower <NUM>, and a rotor <NUM> coupled to the nacelle <NUM>. The rotor includes a rotatable hub <NUM> having a plurality of rotor blades <NUM> mounted thereon, which is, in turn, connected to a main rotor shaft that is coupled to the generator housed within the nacelle <NUM> (not shown). Thus, the generator produces electrical power from the rotational energy generated by the rotor <NUM>. It should be appreciated that the wind turbine <NUM> of <FIG> is provided for illustrative purposes only. Thus, one of ordinary skill in the art should understand that the invention is not limited to any particular type of wind turbine configuration.

As shown generally in the figures, each wind turbine <NUM> of the wind farm <NUM> may also include a turbine controller <NUM> communicatively coupled to a farm-level controller <NUM>. Moreover, in one embodiment, the farm-level controller <NUM> may be coupled to the turbine controllers <NUM> through a network <NUM> to facilitate communication between the various wind farm components. The wind turbines <NUM> may also include one or more sensors <NUM>, <NUM>, <NUM> configured to monitor various operating, wind, and/or loading conditions of the wind turbine <NUM>. For instance, the one or more sensors may include blade sensors for monitoring the rotor blades <NUM>; generator sensors for monitoring generator loads, torque, speed, acceleration and/or the power output of the generator; wind sensors <NUM> for monitoring the one or more wind conditions; and/or shaft sensors for measuring loads of the rotor shaft and/or the rotational speed of the rotor shaft. Additionally, the wind turbine <NUM> may include one or more tower sensors for measuring the loads transmitted through the tower <NUM> and/or the acceleration of the tower <NUM>. In various embodiments, the sensors may be any one of or combination of the following: accelerometers, pressure sensors, angle of attack sensors, vibration sensors, Miniature Inertial Measurement Units (MIMUs), camera systems, fiber optic systems, anemometers, wind vanes, Sonic Detection and Ranging (SODAR) sensors, infra lasers, Light Detecting and Ranging (LIDAR) sensors, radiometers, pitot tubes, rawinsondes, other optical sensors, and/or any other suitable sensors.

Referring now to <FIG>, a block diagram of an embodiment of suitable components that may be included within the farm-level controller <NUM>, the turbine controller(s) <NUM>, and/or other suitable controller according to the present disclosure is illustrated. As shown, the controller(s) <NUM>, <NUM> may include one or more processor(s) <NUM> and associated memory device(s) <NUM> configured to perform a variety of computer-implemented functions (e.g., performing the methods, steps, calculations and the like and storing relevant data as disclosed herein). Additionally, the controller(s) <NUM>, <NUM> may also include a communications module <NUM> to facilitate communications between the controller(s) <NUM>, <NUM> and the various components of the wind turbine <NUM>. Further, the communications module <NUM> may include a sensor interface <NUM> (e.g., one or more analog-to-digital converters) to permit signals transmitted from one or more sensors <NUM>, <NUM>, <NUM> (such as the sensors described herein) to be converted into signals that can be understood and processed by the processors <NUM>. It should be appreciated that the sensors <NUM>, <NUM>, <NUM> may be communicatively coupled to the communications module <NUM> using any suitable means. For example, as shown, the sensors <NUM>, <NUM>, <NUM> are coupled to the sensor interface <NUM> via a wired connection. However, in other embodiments, the sensors <NUM>, <NUM>, <NUM> may be coupled to the sensor interface <NUM> via a wireless connection, such as by using any suitable wireless communications protocol known in the art.

As used herein, the term "processor" refers not only to integrated circuits referred to in the art as being included in a computer, but also refers to a controller, a microcontroller, a microcomputer, a programmable logic controller (PLC), an application specific integrated circuit, and other programmable circuits. Additionally, the memory device(s) <NUM> may generally include memory element(s) including, but not limited to, computer readable medium (e.g., random access memory (RAM)), computer readable non-volatile medium (e.g., a flash memory), a floppy disk, a compact disc-read only memory (CD-ROM), a magneto-optical disk (MOD), a digital versatile disc (DVD) and/or other suitable memory elements. Such memory device(s) <NUM> may generally be configured to store suitable computer-readable instructions that, when implemented by the processor(s) <NUM>, configure the controller(s) <NUM>, <NUM> to perform various functions as described herein.

Moreover, the network <NUM> that couples the farm-level controller <NUM>, the turbine controllers <NUM>, and/or the wind sensors <NUM> in the wind farm <NUM> may include any known communication network such as a wired or wireless network, optical networks, and the like. In addition, the network <NUM> may be connected in any known topology, such as a ring, a bus, or hub, and may have any known contention resolution protocol without departing from the art. Thus, the network <NUM> is configured to provide data communication between the turbine controller(s) <NUM> and the farm-level controller <NUM> in near real time and/or online. Moreover, in an embodiment, the network <NUM> may include the Internet and/or cloud computing. Accordingly, the controller(s) <NUM>, <NUM> may be susceptible to various cyberattacks.

Thus, referring now to <FIG>, a method <NUM> and system <NUM> for providing backup control for a supervisory controller of at least one wind turbine, such as one of the wind turbines <NUM> in the wind farm <NUM>, are illustrated. More specifically, <FIG> illustrates a flow diagram of a method <NUM> for providing backup control for a supervisory controller of at least one wind turbine according to the present disclosure, whereas <FIG> illustrate various schematic diagrams of different components of a system <NUM> (e.g., data collection, data training, and data usage) for providing backup control for a supervisory controller of at least one wind turbine according to the present disclosure. Further, it should be understood that the supervisory controller described herein may be the farm-level controller <NUM>, one or more of the turbine controllers <NUM>, and/or any other suitable controller located within the wind farm <NUM>, one of the wind turbine(s) <NUM>, or remote from the wind farm <NUM>.

In general, as shown in <FIG>, the method <NUM> is described herein for the wind turbine(s) <NUM> and/or the wind farm <NUM> described above. However, it should be appreciated that the disclosed method <NUM> may be used for any other wind turbine(s) and/or wind farm having any suitable configuration. Furthermore, as shown in <FIG>, the system <NUM> includes, at least, a supervisory controller <NUM> (such as the farm-level controller <NUM>) and a learning-based backup controller <NUM>. In addition, although <FIG> depicts steps performed in a particular order for purposes of illustration and discussion, the methods described herein are not limited to any particular order or arrangement. One skilled in the art, using the disclosures provided herein, will appreciate that various steps of the methods can be omitted, rearranged, combined and/or adapted in various ways.

As shown at (<NUM>), the method <NUM> includes observing, via the learning-based backup controller <NUM> of the wind turbine(s) <NUM>, at least one operating parameter of the supervisory controller <NUM> under normal operation. In particular, as shown in <FIG>, a schematic diagram of the data collection phase of the learning-based backup controller <NUM> is illustrated. Thus, as shown, the learning-based backup controller <NUM> may observe the operating parameter(s) of the supervisory controller <NUM> under normal operation by observing a plurality of operating parameters of the supervisory controller <NUM> under normal operation, which may include inputs and/or outputs of the supervisory controller <NUM>. More specifically, in such embodiments, as shown at <NUM>, the plurality of operating parameters may include any one of or a combination of power output, pitch angle(s), generator speed, and/or wind speed. Moreover, as shown, the wind speed may be measured wind speed or estimated wind speed, depending on whether the measured wind speed is accurate or not. Thus, the plurality of operating parameters may include a combination of measured and/or estimated operating parameters. In such embodiments, the system <NUM> may also include an estimator module <NUM> for estimating the wind speed, i.e., if the measured wind speed is not measured and/or not accurate, as well as another other operating parameter. In addition, as shown, the system <NUM> may include one or more sensors <NUM> for measuring the various operating parameters described herein. Furthermore, the learning-based backup controller <NUM> may also observe a scheduler <NUM> of the system <NUM>, which receives the various operating parameters and can determine a reference power, reference generator speed versus a reference wind speed, as an example.

Moreover, in an embodiment, as shown, the supervisory controller <NUM> may be a model-based controller (MBC). Such controllers require an accurate dynamic model of the wind farm <NUM> or wind turbine <NUM> and can only be obtained when the physical properties of the considered system (i.e., the wind turbine(s) <NUM>) are known in detail. Thus, development of model-based controllers require extensive domain knowledge. In the scenario where an existing model-based methodology of an industrial wind turbine cannot be trusted, e.g., due to a cyberattack to the controller/estimator, a back-up controller needs to be employed. Since the dynamic models developed by other manufacturer cannot usually be accessed, a model-based backup controller for these assets can be hard to develop.

Referring back to <FIG>, as shown at (<NUM>), the method <NUM> includes learning, via the learning-based backup controller <NUM>, one or more control actions of the wind turbine(s) <NUM> based on the operating parameter(s). In particular, as shown in <FIG>, a schematic diagram of the data training phase of the learning-based backup controller <NUM> is illustrated. For example, in an embodiment, as shown, the learning-based backup controller <NUM> may learn the control action(s) of the wind turbine(s) <NUM> based on the operating parameter(s) by generating a plurality of input/output tuple combinations <NUM> based on the plurality of operating parameters. As used herein, a tuple is a finite ordered list (sequence) of elements. Thus, as shown in <FIG>, an n-tuple is a sequence (or ordered list) of n elements, where n is a non-negative integer. There is only one <NUM>-tuple, referred to as the empty tuple. Accordingly, an n-tuple is defined inductively using the construction of an ordered pair. Furthermore, as shown, the learning-based backup controller <NUM> may include a machine learning algorithm <NUM> configured to learn the control action(s) of the wind turbine(s) <NUM> based on the input/output tuple combinations <NUM>. Thus, as shown, the machine learning algorithm <NUM> is configured to generate a learned control policy <NUM> for the wind turbine(s) <NUM> and/or wind farm <NUM>.

In several embodiments, for example, the machine learning algorithm <NUM> may include an artificial neural network (such a deep neural network, a recurrent neural network, or a convolutional neural network), an extreme learning machine, or similar, or combinations thereof. As used herein, an artificial neural network (also referred to simply as a neural network) generally refers to a neural network based on a collection of connected units or nodes called artificial neurons, which loosely model the neurons in a biological brain. Thus, each connection can transmit a signal to other neurons. An artificial neuron receives a signal, then processes the signal, and can signal neurons connected to it. The "signal" at a connection is a real number, and the output of each neuron is computed by some non-linear function of the sum of its inputs.

A deep neural network is an artificial neural network with multiple layers between the input and output layers. Furthermore, a deep neural network may be learned using either supervised or semi-supervised methods depending on the availability of data. Thus, there are different types of neural networks but they always include the same components: neurons, synapses, weights, biases, and functions. In particular, a recurrent neural network is a type of artificial neural network which uses sequential data or time series data. Further, recurrent neural networks utilize training data to learn and are distinguished by their "memory" as they take information from prior inputs to influence the current input and output. While traditional deep neural networks assume that inputs and outputs are independent of each other, the output of recurrent neural networks depend on the prior elements within the sequence.

A convolutional neural network generally refers to a class of deep neural networks, most commonly applied to analyzing visual imagery. Such networks employ a mathematical operation called convolution. Thus, convolutional neural networks are a specialized type of neural networks that use convolution in place of general matrix multiplication in at least one of their layers.

An extreme learning machine generally refers to a feedforward neural networks for classification, regression, clustering, sparse approximation, compression and feature learning with a single layer or multiple layers of hidden nodes, where the parameters of the hidden nodes (not just the weights connecting inputs to the hidden nodes) need not be tuned.

Referring back to <FIG>, as shown at (<NUM>), the method <NUM> includes receiving, via the learning-based backup controller <NUM>, an indication that the supervisory controller <NUM> is unavailable to continue the normal operation. For example, in an embodiment, the supervisory controller <NUM> may be unavailable due to a cyberattack, a hardware failure, a system fault, or for any other reason. Such notification may be manual or automatic.

Upon receipt of the indication, as shown at (<NUM>), the method <NUM> includes controlling, via the learning-based backup controller <NUM>, the wind turbine(s) <NUM> (and/or the wind farm <NUM>) using the learned control action(s)/learned control policy <NUM> until the supervisory controller <NUM> becomes available again. Moreover, in such embodiments, the learned control action(s)/learned control policy <NUM> defines at least one delta, such as a pitch angle delta and/or a torque delta, that one or more setpoints of the wind turbine(s) <NUM> (or the wind farm <NUM>) should be adjusted by to achieve a desired outcome.

In particular, as shown in <FIG>, a schematic diagram of the data usage phase of the learning-based backup controller <NUM> is illustrated. For example, in the illustrated embodiment, the learning-based backup controller <NUM> is configured to control the wind turbine(s) <NUM>/wind farm <NUM> using the learned control action(s)/learned control policy <NUM> until the supervisory controller <NUM> becomes available again by sending predicted actions <NUM> from the learned control policy <NUM> to the wind turbine(s) <NUM>/wind farm <NUM> during a time period in which the supervisory controller <NUM> is unavailable and optionally continuously training the learned control action(s)/learned control policy <NUM> based on additional operating parameters received during the time period.

For example, in an embodiment, the learning-based backup controller <NUM> may be configured to continuously train the learned control action(s)/learned control policy <NUM> using a human annotator. As used herein, annotation (e.g., annotated analytics) in machine learning generally refers to a process of labelling data in a manner that can be recognized by machines or computers. Furthermore, such annotation can be completed manually by humans as human annotators generally better interpret subjectivity, intent, and ambiguity within the data. Thus, machines can learn from the annotated data by recognizing the human annotations over time. In some cases, annotation can be learned by artificial intelligence and/or other algorithms, such as semi-supervised learning or clustering, as well as any other suitable accurate labeling process.

In other words, the learning-based backup controller <NUM> may include any suitable supervised machine learning algorithm that can apply what has been learned in the past to new data using labeled data to predict future decisions. Starting from the model build, the learning algorithm produces an inferred function to make predictions about the output values. As such, the learning-based backup controller <NUM> is able to provide targets for any new input after sufficient training. The learning algorithm can also compare its output with the correct, intended output and find errors in order to modify the model accordingly.

Claim 1:
A method for providing backup control for a supervisory controller of at least one wind turbine, the method comprising:
observing, via a learning-based backup controller of the at least one wind turbine, at least one operating parameter of the supervisory controller under normal operation;
learning, via the learning-based backup controller, one or more control actions of the at least one wind turbine based on the at least one operating parameter;
receiving, via the learning-based backup controller, an indication that the supervisory controller is unavailable to continue the normal operation; and
upon receipt of the indication, controlling, via the learning-based backup controller, the at least one wind turbine using the learned one or more control actions until the supervisory controller becomes available again,
wherein the one or more control actions defines a delta that one or more setpoints of the at least one wind turbine should be adjusted by to achieve a desired outcome.