A method, device and medium for adaptive yaw control based on fuzzy logic
By constructing a virtual yaw system and fuzzy logic optimization algorithm, and combining wind turbine operating data, the yaw control problem of wind turbines under complex wind conditions was solved, improving wind energy capture efficiency and equipment lifespan, and achieving adaptive yaw control.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CRRC WIND POWER(SHANDONG) CO LTD
- Filing Date
- 2026-04-10
- Publication Date
- 2026-07-10
AI Technical Summary
The existing yaw system of wind turbine generators cannot adapt to complex and variable wind conditions, resulting in increased mechanical wear and energy loss. Furthermore, the selection of input and output variables for fuzzy control is not comprehensive enough to cope with wind conditions of varying degrees of fluctuation. Inappropriate optimization algorithm selection leads to insufficient control accuracy.
By collecting wind turbine operating data, cleaning and preprocessing the data, a virtual yaw system is constructed. Fuzzy logic and genetic algorithms are used to optimize the fuzzy control model, and the yaw control method is adjusted in real time. By combining wind direction deviation, filtered wind speed and turbulence intensity as input variables, yaw control commands are generated to drive the yaw system to act.
It improves wind energy capture efficiency, reduces the frequency of yaw system actions, extends equipment lifespan, achieves high-precision adaptive yaw control, and optimizes control for different wind conditions.
Smart Images

Figure CN122018301B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of intelligent control technology for wind turbine generator sets, specifically relating to an adaptive yaw control method, device, and medium based on fuzzy logic. Background Technology
[0002] The yaw system is a key component of horizontal axis wind turbines, its function being to drive the nacelle to align with the wind direction to maximize wind energy capture efficiency. Currently, wind turbines employ dead-zone control strategies, which cannot adapt to complex and variable wind conditions, often putting the turbine in a dilemma: under conditions of severe turbulence and changing wind direction, the yaw motor is prone to frequent operation, accelerating mechanical wear on bearings, gears, and actuators in the yaw system and shortening the turbine's lifespan. Conversely, under stable wind conditions, the sluggish response may cause the turbine to remain at a suboptimal wind angle for extended periods, resulting in energy loss.
[0003] Furthermore, the selection of input and output variables in existing fuzzy control technologies is not comprehensive enough, making it unable to adapt to wind conditions with varying degrees of fluctuation. The division of the fuzzy parameter set and the design of membership degrees were not combined with preliminary debugging using virtual simulation, resulting in poor model adaptability, difficulty in coping with complex and ever-changing wind conditions, and insufficient control accuracy.
[0004] During effective optimization, excessive yaw can lead to excessive wear and tear on components such as motors and gearboxes. In addition, if the optimization algorithm is not chosen properly and the population parameters are not set according to a reasonable basis, premature convergence may occur, making it impossible to find the globally optimal control parameters and resulting in poor optimization results. Summary of the Invention
[0005] This invention provides an adaptive yaw control method based on fuzzy logic. By collecting meteorological and unit operation data in real time and combining fuzzy inference to dynamically adjust the yaw control method, the method can improve the wind alignment accuracy of the unit under different wind speeds and turbulence, reduce the frequency of yaw system actions, and thus balance wind energy capture efficiency and equipment lifespan.
[0006] The methods include:
[0007] S1: Collect the operating data of the wind turbine and store the collected operating data in the database;
[0008] S2: Perform abnormal data cleaning on the stored runtime data to obtain cleaned and valid runtime data;
[0009] S3: Preprocess the cleaned and effective operational data, and calculate the absolute wind direction, wind direction deviation, and turbulence intensity to generate a preprocessed dataset;
[0010] S4: Construct a virtual yaw system and perform yaw simulation using the generated preprocessed dataset; determine wind direction deviation, filtered wind speed, and turbulence intensity as input variables, and yaw control commands as output variables; divide the universe of discourse of each input and output variable and define the corresponding fuzzy subsets, design the initial membership function of each fuzzy subset; construct the IF-THEN initial fuzzy rule base based on the fuzzy subsets of input variables, and establish the fuzzy control model to be optimized;
[0011] S5: Optimize the fuzzy control model to be optimized based on the genetic algorithm; encode the combination method of the initial fuzzy rule base and the initial membership function parameters into chromosome individuals; use the preprocessed dataset to run yaw simulation on each chromosome individual in the virtual yaw system; and select the optimal fuzzy rule combination and the optimal membership function parameters with the highest wind energy utilization rate under the condition of satisfying the yaw number constraint by iteratively calculating the evaluation function based on the simulation results.
[0012] S6: Transfer the optimal fuzzy rule combination and optimal membership function parameters to the wind turbine control system. Based on the real-time collected operating data, determine the fuzzy inference mechanism and defuzzification method, apply the optimal fuzzy rule combination and optimal membership function parameters to perform fuzzy inference, generate yaw control commands, and drive the yaw system to perform yaw actions.
[0013] According to another embodiment of this application, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements the steps of the fuzzy logic-based adaptive yaw control method.
[0014] According to another embodiment of this application, a storage medium is also provided, on which a computer program is stored, which, when executed by a processor, implements the steps of an adaptive yaw control method based on fuzzy logic.
[0015] As can be seen from the above technical solutions, the present invention has the following advantages:
[0016] This invention provides an adaptive yaw control method based on fuzzy logic, which collects operational data such as filtered wind speed, relative wind direction, air density, and cabin yaw position. It identifies various invalid data, eliminates data distortion interference, ensures data quality, and improves the input reliability of the control model. Modulo 2π operations are used to constrain the absolute wind direction within the [0, 2π) interval, eliminating ambiguity related to angular periodicity. Wind direction deviation is calculated using the minimum angle difference, accurately reflecting the degree of deviation between the cabin and the incoming wind direction. Turbulence intensity is calculated by combining average wind speed and wind speed standard deviation, capturing local wind condition fluctuations and generating a standardized preprocessed dataset containing wind direction deviation, filtered wind speed, and turbulence intensity. This improves the accuracy of the preprocessed data, solves the original calculation errors and noise problems, and the generated dataset is fully adapted to the input requirements of the fuzzy control model.
[0017] This invention constructs a modular virtual yaw system, explicitly defining wind direction deviation, filtered wind speed, and turbulence intensity as input variables, and yaw control commands as output variables. The universe of discourse for each variable is divided, corresponding fuzzy subsets are defined, and a triangular initial membership function is designed. An IF-THEN initial fuzzy rule base covering typical wind conditions is constructed, and a Mamdani-type fuzzy inference mechanism and a centroid-based defuzzification method are determined, encapsulated into a fuzzy control model to be optimized. This improves model adaptability; the initial rule base and inference logic ensure the model possesses basic control capabilities.
[0018] This invention employs a genetic algorithm to optimize a fuzzy control model. Through a hybrid binary and decimal encoding, fuzzy rules and membership function parameters are converted into chromosomes. Reasonable parameters such as population size and iteration count are set to construct a fitness function with a penalty term, incorporating yaw count constraints into the optimization process. Iterative evolution through selection, crossover, and mutation operations is used to select the optimal control parameters. While ensuring the mechanical lifespan of the yaw system, the globally optimal fuzzy rules and membership function parameters are found, improving the control model's adaptability to complex wind conditions, making the control strategy more rational, and balancing wind energy utilization and unit losses. This invention achieves seamless integration between virtual simulation and actual control, ensuring that the actual control effect matches the simulation expectations, improving the unit's wind response accuracy, and realizing adaptive yaw control. Attached Figure Description
[0019] To more clearly illustrate the technical solution of the present invention, the accompanying drawings used in the description will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 A schematic diagram of the virtual yaw system and the wind turbine control system;
[0021] Figure 2The flowchart shows the adaptive yaw control method based on fuzzy logic.
[0022] Figure 3 This is a flowchart of a fuzzy controller optimization based on a genetic algorithm.
[0023] Figure 4 A schematic diagram of a wind turbine yaw control optimization system;
[0024] Figure 5 This is a schematic diagram of an electronic device. Detailed Implementation
[0025] Combination Figure 1 As shown, a wind turbine yaw intelligent control system that implements adaptive yaw control based on fuzzy logic is presented. The system is divided into a virtual yaw system and a wind turbine control system. The two systems work together through data flow and control strategy flow.
[0026] In the virtual yaw system, the execution process begins with a database storing historical raw operational data from real wind turbines. This is followed by a data cleaning module to remove sensor anomalies, misaligned timestamps, and physically impossible data points. Next, a data processing module performs filtering, normalization, and feature extraction to create a standardized dataset suitable for simulation. This dataset is then input into the yaw simulator, which embeds a wind turbine kinematics model and an aerodynamic load model to simulate the nacelle response behavior under different control strategies. The energy efficiency and lifespan assessment module, based on simulation outputs including cumulative yaw counts, wind error integrals, and power generation curves, constructs a multi-objective evaluation function to quantify the economic efficiency and mechanical cost of each control strategy. A fuzzy rule generator receives evaluation feedback, uses a genetic algorithm to iteratively optimize the fuzzy rule library structure and membership parameters, and then injects the optimal solution back into the simulator for the next round of verification.
[0027] On the wind turbine control system side, the wind turbine controller collects real-time operational data such as wind speed, wind direction, and nacelle position. After preprocessing, this data is sent to the fuzzy control module. This module loads the optimal fuzzy rule set and parameter configuration migrated from the virtual system, performs fuzzy inference and defuzzification operations, and outputs discrete yaw control commands to drive the yaw system's actions. The controller transmits real-time operational data back to the virtual system's database, forming an operational data acquisition and feedback channel to ensure that the virtual model continuously matches actual operating conditions.
[0028] The system of this invention trains an optimal fuzzy controller adapted to specific wind field characteristics in a virtual environment using historical data during the offline phase. In the online phase, this controller is deployed on a real wind turbine to achieve high-precision, low-wear intelligent yaw control. A data feedback mechanism supports the periodic retraining and updating of the model, enabling dynamic evolution of the control strategy.
[0029] The adaptive yaw control method based on fuzzy logic provided by this invention performs yaw simulation based on historical operating data of the generating unit, identifies the optimal fuzzy control rules, and then dynamically adjusts the yaw strategy of different generating units to achieve intelligent optimization control. Compared with traditional yaw control, this method has extremely high environmental adaptability and can effectively cope with yaw optimization control under different wind conditions, thereby improving power generation efficiency while ensuring long-term reliable operation of the generating unit.
[0030] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0031] Please see Figure 2 The diagram shows a flowchart of an adaptive yaw control method based on fuzzy logic in a specific embodiment. The method includes:
[0032] S1: Collect the operating data of the wind turbine, including filtered wind speed, relative wind direction, air density, nacelle position, turbine operating status, generator power and yaw motor operation information, and store the collected operating data in the database.
[0033] In some embodiments, the operating data of a single wind turbine is collected through the wind farm SCADA system. The collection specifically includes: relative wind direction data after low-pass filtering, filtered wind speed data, air density data reflecting air conditions, nacelle yaw position angle data collected by the yaw encoder, data representing the grid connection, disconnection, and operating status of the turbine, real-time generator active power data, and yaw motor start-stop and forward / reverse rotation status data. The collected data is stored in a database.
[0034] S2: Perform abnormal data cleaning on the operational data stored in step S1, identify and discard data segments containing wind direction stagnation, yaw position sensor failure, or data exceeding range, and obtain the cleaned valid operational data.
[0035] In some embodiments, the operational data stored in the database is segmented, and anomaly checks are performed on each segment to verify the unit's operating status. If the unit is offline, out of service due to a fault, or has a power limitation ratio exceeding a certain threshold, the data in that segment is discarded. The matching degree between power and wind speed is also verified, and abnormal data is discarded.
[0036] Furthermore, the wind direction data is verified. If the relative wind direction values of multiple consecutive sampling points are consistent, it is marked as a period of wind direction stagnation. The yaw position data is verified; if the cabin yaw position angle exceeds the physical range of [-360°, 360°], it is marked as a yaw sensor failure. The numerical range of all data items is verified; if the filtered wind speed exceeds [0, 30 m / s] or the wind direction exceeds [0, 360°], it is marked as an out-of-range window. Only data that does not trigger any anomaly markers is retained as valid operational data.
[0037] S3: Preprocess the cleaned and effective operating data obtained in step S2, calculate the absolute wind direction based on the relative wind direction and the yaw position of the cabin, calculate the wind direction deviation based on the absolute wind direction and the yaw position of the cabin, and calculate the turbulence intensity based on the filtered wind speed to generate a preprocessed dataset containing the wind direction deviation, filtered wind speed and turbulence intensity.
[0038] In some embodiments, the calculation of absolute wind direction combines relative wind direction and yaw position, that is, the angle between the cabin and the incoming wind and the angle between the cabin and due north, which unifies the measurement benchmark of wind direction and makes wind direction data at different times comparable.
[0039] Furthermore, the calculation of wind direction deviation with minimum angular difference avoids redundant differences greater than π caused by the periodicity of wind direction, making the deviation value more closely match the actual needs of yaw control. The turbulence intensity calculation captures the degree of fluctuation in local wind conditions, providing a quantitative basis for wind condition stability for fuzzy control.
[0040] S4: Construct a virtual yaw system and perform yaw simulation using the preprocessed dataset generated in step S3; determine wind direction deviation, filtered wind speed, and turbulence intensity as input variables, and yaw control commands as output variables; divide the universe of discourse of each input and output variable and define the corresponding fuzzy subsets, design the initial membership function of each fuzzy subset; construct the IF-THEN initial fuzzy rule base based on the fuzzy subsets of input variables, determine the fuzzy inference mechanism and defuzzification method, and establish the fuzzy control model to be optimized.
[0041] In some embodiments, the virtual yaw system is a digital mirror of the actual wind turbine, with each module having a clearly defined function: the data input module imports the preprocessed dataset, the fuzzy control module converts continuous wind data into fuzzy decisions, the yaw simulation module simulates yaw actions and calculates the number of yaws, and the performance evaluation module calculates the wind energy utilization.
[0042] Furthermore, the fuzzy control model converts precise physical quantities into fuzzy linguistic variables through fuzzification, simulates the yaw control experience of experts through the rule base, and converts fuzzy decisions into executable yaw control commands through the inference mechanism and defuzzification.
[0043] S5: Optimize the fuzzy control model to be optimized in step S4 based on the genetic algorithm; encode the combination method of the initial fuzzy rule base and the initial membership function parameters into chromosome individuals; perform yaw simulation on each chromosome individual using the preprocessed dataset in the virtual yaw system; and select the optimal fuzzy rule combination and optimal membership function parameters with the highest wind energy utilization rate under the condition of satisfying the yaw number constraint by iteratively calculating the evaluation function based on the simulation results.
[0044] In some embodiments, the genetic algorithm encodes the optimizable parameters of fuzzy control into evolvable chromosomes, simulating the process of natural selection and evolution. The fitness function uses wind energy utilization as the core objective and transforms the yaw count constraint into a penalty term. When the yaw count exceeds the design value, the penalty term drastically reduces the fitness, forcing the population to evolve in a direction that satisfies the constraint.
[0045] Furthermore, selection, crossover, and mutation operations are used to preserve superior genes, combine different individual characteristics, and explore local searches, gradually screening out the control parameters that maximize wind energy utilization while satisfying yaw life constraints.
[0046] As shown in Figure 3, which illustrates the joint optimization process of fuzzy controller parameters and rules based on a genetic algorithm, this process is a constrained multi-generational evolutionary search process used to find a combination of control strategies that maximizes wind energy capture efficiency while satisfying equipment lifespan constraints.
[0047] Figure 3 The genetic algorithm in the text is an iterative process from initialization to outputting the optimal solution. Figure 3 It begins with the initialization of the population and the application of constraints, then randomly generates several sets of fuzzy controller parameters and applies sequential boundary constraints.
[0048] Figure 3 The process begins by entering a loop, decoding each individual to restore the chromosome to membership function parameters and rule consequents. A fuzzy controller is then configured and a simulation is run. The decoded parameters are written into a virtual yaw system, and the simulation is repeated, recording the cumulative wind energy and yaw count for each individual. The fitness value of each individual is calculated. The process then checks if the termination condition is met. If not, the genetic operation steps are executed to generate a new population, and constraints are reapplied to the new population. The process then returns to the decoding step to begin a new iteration. If the termination condition is met, the optimal solution is output, ending the process.
[0049] This invention evaluates a large number of candidate strategies through large-scale parallel simulation, and automatically explores the complex nonlinear relationship between the rule structure and parameter space with the help of genetic operators. Under hard constraints, it approaches the global optimal solution, thereby overcoming the limitations of manual experience setting and the trap of local optima.
[0050] S6: The optimal fuzzy rule combination and optimal membership function parameters obtained in step S5 are transferred to the wind turbine control system. The wind turbine controller uses the real-time collected operating data, combined with the fuzzy inference mechanism and defuzzification method determined in step S4, to perform fuzzy inference using the optimal fuzzy rule combination and optimal membership function parameters, generate yaw control commands, and drive the yaw system to perform yaw actions.
[0051] In some embodiments, parameter migration deploys the results of virtual simulation optimization to the actual wind turbine controller, enabling the fuzzy control model to adopt the optimal strategy during actual operation. Real-time data preprocessing is consistent with step S3, ensuring that the real-time input features match the feature dimensions and calculation methods used in the simulation. Based on fuzzy inference and command execution, the nacelle yaw position can be adjusted in real time to achieve adaptive yaw control, ensuring real-time response to yaw actions and improving wind accuracy.
[0052] Combination Figure 4 This diagram illustrates the optimized yaw control method for wind turbines in this invention. It shows the connections between physical devices and the data interaction paths. Figure 4 It comprises four main components: a wind turbine PLC, a database, a virtual yaw system, and a SCADA server. The diagram illustrates the data flow: the wind turbine PLC uploads operational data to the database and simultaneously receives rule parameters from it; the virtual yaw system reads historical data from the database for offline optimization; the SCADA server maintains a bidirectional connection with the database for monitoring and data storage. The execution method is as follows: the wind turbine PLC collects real-time data on the turbine's operating status and stores it in the database. The virtual yaw system reads historical data from the database and executes a genetic algorithm to generate optimal fuzzy rules. The optimized rules are then sent back to the wind turbine PLC via the database. The PLC executes yaw control according to the new rules. The SCADA server retrieves real-time data and optimization results from the database for operators to monitor and analyze.
[0053] In one embodiment of the present invention, based on step S3, the absolute wind direction is calculated according to the relative wind direction and the cabin yaw position, and the wind direction deviation is calculated according to the absolute wind direction and the cabin yaw position. The following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.
[0054] S31: Based on relative wind direction Yaw position of the cabin The absolute wind direction is calculated through vector composition and circular reduction operations. ;
[0055] The calculation formula is:
[0056] The relative wind direction is added to the cabin azimuth angle, and the result is modulo 2π to ensure that the absolute wind direction angle always falls within the range of 2π. Within a continuous circumference, a unified angular reference is provided for deviation calculation.
[0057] In some embodiments, relative wind direction This is the angle measured by the wind vane sensor relative to the current axis of the cabin. Cabin yaw position. This is the angle of the cabin axis relative to geographical north, recorded by the yaw encoder. Adding the two directly is geometrically equivalent to superimposing the relative wind direction vector measured by the wind vane onto the current absolute orientation of the cabin, thus obtaining the absolute direction of the wind vector relative to a fixed reference frame.
[0058] Furthermore, the result of adding angles may exceed the standard range of [0, 360°) or [0, 2π). The modulo operation mod(..., 2π) subtracts or adds an integer multiple of 2π to any angle value that exceeds this range after addition, forcing it to fall back into the interval [0, 2π).
[0059] For example, if the sum is 380°, the modulo is 20° (380°-360°); if the result is -10°, the modulo is 350° (-10°+360°). This ensures the absolute wind direction. It is a directional quantity that takes values on a continuous circle, providing a consistent data reference for all calculations based on absolute direction.
[0060] S32: In the virtual yaw system, a set of discrete yaw control commands x(k) are defined to simulate the yaw action of the actual system.
[0061] For example, x(k) = -1 represents left yaw, x(k) = 0 represents stop, and x(k) = 1 represents right yaw. This is based on the simulated initial yaw position θ. y (0) and the set rated yaw speed v y The cabin yaw position sequence during the simulation is calculated recursively based on the command sequence. .
[0062] The recursive formula is: =θ y (i-1)+v y *x(i-1)*Δt. Where Δt is the time step.
[0063] Furthermore, considering the number of steps per unit of time, it can be expressed in the following form:
[0064] .
[0065] The number of simulated yaws is counted by summing the absolute differences between commands at adjacent time points. .
[0066] In some embodiments, the abstract fuzzy controller outputs control actions such as yaw left, hold, and yaw right. Defining x(k)∈{-1,0,1} simplifies the modeling of continuous yaw actions and simplifies the simulation logic. The simulation starts from the known initial cabin yaw position θ. y (0). For each step i in the simulation process, the system, according to the instruction x(i-1) output by the current fuzzy controller, follows the kinematic formula θ y (i)=θ y (i-1)+v y *x(i-1)*Δt updates the cabin yaw position. Where v y Δt is the rated yaw rate of the cabin, and Δt is the data sampling time interval. The statistical model of the number of yaws is simulated by accumulating the changes in commands. The accumulated value D(i) only increases when the absolute difference between two consecutive commands is 1 or 2. This simulates that one start / stop of the yaw motor is counted as one yaw action.
[0067] S33: In the virtual yaw system, for each simulation time i, calculate the absolute wind direction. yaw position relative to the simulated cockpit The angle difference between them is Δθ(i) = | - |
[0068] Since both wind direction and cabin yaw position are circular angles, the minimum difference between the two circular angles is taken as the wind direction deviation θ at the current moment. ew (i).
[0069] The calculation formula is: θ ew (i) = min(Δθ(i), 2π - Δθ(i)). The calculation ensures that the deviation angle is always between [0, π], representing the minimum angle between the nacelle axis and the actual wind direction.
[0070] In some embodiments, the absolute wind direction is calculated. yaw position θ of the simulated cockpit y (i) The angular difference Δθ. Since both wind direction and cabin yaw position are angles between 0 and 2π, the difference Δθ(i) obtained by direct subtraction may be greater than π. However, regardless of whether the cabin turns left or right, the angle of rotation required to align with the wind direction should not exceed 180 degrees. For example, if the wind direction is 10° and the cabin yaw position is 350°, the direct difference is 340°, but the cabin only needs to turn 20° in the opposite direction to align with the wind. Therefore, the minimum circumferential angular difference θ is calculated. ew(i) It achieves that when Δθ(i)≤π, the minimum angle difference is Δθ(i); when Δθ(i)>π, the minimum angle difference is 2π-Δθ(i), which is equivalent to the angle difference measured from another direction.
[0071] S34: Associate the processing steps S31 to S33 for each data point i (i=1,2,…,N) in the preprocessed dataset to generate a wind direction deviation sequence {θ} containing N time points. ew (1),θ ew (2),…,θ ew (N)}.
[0072] Compare the wind direction deviation sequence with the corresponding filtered wind speed sequence {V w (1),V w (2),…,V w (N)} together constitute the preprocessed dataset used to evaluate the performance of fuzzy control strategies.
[0073] In some embodiments, step S34 encapsulates the processing logic of individual data points in steps S31, S32, and S33 into a batch processing flow for the entire time series {N data points}. Specifically, a loop or vectorized calculation process is constructed, iterating through i from 1 to N. In each loop, the following is executed sequentially: calling the function in step S31 to calculate θ. aw (i); Based on the current and historical control commands x(1)...x(i), update θ using the recursive model from step S32. y (i) and accumulate D(i). Call the function in step S33 to calculate θ. ew (i). θ at all times ew (i) The wind direction deviation sequence is sequentially stored in an array or list structure, forming a wind direction deviation sequence. This wind direction deviation sequence is then compared with the filtered wind speed sequence V, which is also arranged in chronological order. w (i) Aligned on timestamps, forming the preprocessed dataset. Each pair of data (θ) in the preprocessed dataset ew (i),V w (i) represents the instantaneous wind state generated by the tested fuzzy control strategy at a specific wind speed. This ensures that for any set of fuzzy control rules to be evaluated, a definite set of total wind energy E and total yaw counts D can be obtained through a defined calculation process. This is a prerequisite for optimization algorithms such as genetic algorithms to perform automatic optimization.
[0074] In one embodiment of the present invention, based on step S4, a virtual yaw system is constructed, and yaw simulation is performed using the preprocessed dataset generated in step S3; wind direction deviation, filtered wind speed, and turbulence intensity are determined as input variables, and yaw control commands are determined as output variables; the universe of discourse of each input and output variable is divided and the corresponding fuzzy subsets are defined, and the initial membership function of each fuzzy subset is designed. The following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.
[0075] S41: Extract the wind direction deviation sequence {θ} from the preprocessed dataset. ew (1),θ ew (2),…,θ ew (N)} is used as the first input variable of the fuzzy controller, defined as wind direction deviation. The filtered wind speed sequence {V} is then used as the first input variable. w (1),V w (2),…,V w The second input variable, I(i), is defined as the filtered wind speed. The turbulence intensity sequence I(i) is defined as the turbulence intensity. The output variable of the fuzzy controller is defined as the yaw control command, which is used to drive the cabin position model defined in step S32 in the simulation.
[0076] In some embodiments, the input variable wind direction deviation is the sequence θ calculated in step S33. ew (i) represents the minimum angle between the cabin axis and the actual wind direction at each moment in the simulation, and is the most direct signal for triggering and controlling yaw actions. The input variable, filtered wind speed, uses the preprocessed sequence V. w (i) Wind speed directly affects wind energy input and unit operating status, and is a key factor in determining whether the yaw strategy is aggressive or not.
[0077] Input variable: turbulence intensity The formula below is calculated based on the ratio of the standard deviation σ to the average wind speed Vw, which characterizes the intensity of wind pulsation. In high turbulence, frequent or excessively rapid yaw should be avoided to reduce load.
[0078] Specifically, the turbulence intensity of each segment is calculated based on the sliding window concept. The calculation formula is: ,in The average wind speed, The standard deviation of wind speed is defined as follows:
[0079]
[0080] In the formula, This represents the total number of data points in the data segment.
[0081] The output variable yaw control command is used as input to the following formula.
[0082]
[0083] This directly drives the cabin position model in the simulation. And yaw count statistical model These four variables define the task of the fuzzy controller as follows: based on the current magnitude of the wind error, wind speed, and wind stability, determine whether to issue a command to turn left, stop, or turn right. All subsequent fuzzification, rule-based reasoning, and defuzzification operations revolve around how to rationally divide the space into regions within the combination space of these three input dimensions and assign an optimal output command to each region.
[0084] S42: Set the basic universe of discourse for the wind direction deviation variable to [-π,π] radians, and define fuzzy subsets based on linguistic values on the basic universe of discourse. The fuzzy subsets include: negative large NB, negative medium NM, negative small NS, zero ZE, positive small PS, positive medium PM, and positive large PB.
[0085] The basic universe of discourse for the filtered wind speed variable is set to [Vcut-in, Vrated], where Vcut-in is the unit cut-in wind speed and Vrated is the rated wind speed. The linguistic values are defined as: Low L, Medium M, High H. The basic universe of discourse for the turbulence intensity variable is set to [0, Imax], where Imax is a preset upper limit value, such as 0.5 or 1.0. The linguistic values are defined as: Small SI, Medium MI, Large BI. The basic universe of discourse for the yaw control command variable is set to the discrete set {-1, 0, 1}. The linguistic values are defined as: Left Turn LY, Hold SY, Right Turn RY.
[0086] In some embodiments, the wind deviation domain [-π, π] covers all possible wind error angles. Seven linguistic values (NB to PB) are symmetrically distributed around zero ZE, allowing the controller to finely distinguish the magnitude and direction of the error.
[0087] For the filtered wind speed, the universe of discourse [Vcut-in, Vrated] focuses on the main wind speed range during the unit's power generation operation. The division of the three linguistic values (L, M, H) can be based on wind power density or unit load characteristics, for example, setting the range below the average wind speed as L and the range near the rated wind speed as H.
[0088] For turbulence intensity, the universe of discourse [0, Imax] needs to be set to take into account the typical turbulence level of the site. Three linguistic values (SI, MI, BI) are used to distinguish between stable, moderately fluctuating, and severely fluctuating wind conditions. The universe of discourse {-1, 0, 1} and linguistic values (LY, SY, RY) of the output variable yaw control command strictly correspond to the control command model in step S32, ensuring that the fuzzy inference results can be directly used for simulation.
[0089] S43: For each linguistic value of all input and output variables, choose a triangular function as the initial form of its membership function. For the linguistic value of wind direction deviation, uniformly set the center points of seven triangles in the domain [-π,π]. For example, the center of NB is at -π, the center of ZE is at 0, and the center of PB is at π. The membership value at the intersection of adjacent triangles is 0.5.
[0090] For the linguistic values of filtered wind speed and turbulence intensity, the vertex parameters (a,b,c) of the triangular function are set equally or non-uniformly according to the wind characteristics within their respective universes of discourse.
[0091] For the output variable yaw control command, the language values LY, SY, and RY correspond precisely to the values -1, 0, and 1, respectively. For LY, the membership degree is 1 only at -1, and 0 for the rest.
[0092] In some embodiments, the membership function of a triangle is used because it is simple in form and the meaning of its parameters is intuitive, and it is determined by three parameters: the left boundary a, the vertex b, and the right boundary c.
[0093] For the input variable, taking the zero ZE subset of wind direction deviation as an example, its triangle parameters can be set as a=-10°, b=0°, c=10°. This means that when the wind direction deviation is exactly 0°, the degree of belonging to ZE is 1; when it is ±5°, the degree of belonging to ZE is 0.5.
[0094] When the angle is less than -10° or greater than 10°, the degree of belonging to ZE is 0. The trigonometric functions of adjacent subsets are usually designed so that the membership values are equal at their intersection to achieve a smooth transition.
[0095] For the M subset of filtered wind speeds, the triangle parameters (a, b, c) can be set in the middle range of the wind speed according to the wind frequency distribution. The output variables use single-point membership functions because their universe of discourse is a discrete, precise value; during defuzzification, the instruction with the highest membership degree can be selected.
[0096] S44: Establish a set of IF-THEN fuzzy rules to map combinations of input linguistic values to output linguistic values. The rule base covers key regions of the input space.
[0097] For example, IF wind direction deviation isZETHEN yaw control command isSY; IF wind direction deviation isNSAND turbulence intensity isSITHEN yaw control command isLY; IF wind direction deviation isPSAND turbulence intensity isSITHEN yaw control command isRY; IF wind direction deviation isNMAND turbulence intensity isMIAND filtered wind speed isMTHEN yaw control command isLY; IF wind direction deviation isNBTHEN yaw control command isLY; IF wind direction deviation isPBTHEN yaw control command isRY.
[0098] In some embodiments, each rule is an IF (premise) THEN (conclusion) conditional statement, where the premise is a logical combination of the linguistic values of the input variables, which can be connected by AND, and the conclusion is a linguistic value of the output variable. The rule base needs to systematically cover all operating points considered important in the domain of all input variables.
[0099] For example, the rule `IF wind direction deviation isZETHEN` and the directive `isSY` define the core principle of maintaining the current orientation regardless of wind speed and turbulence when the wind is favorable. The rule `IF wind direction deviation isNSAND turbulence intensity isSITHEN` and the directive `isLY` define that even small negative deviations should trigger a left turn correction when wind conditions are stable. The rule `IF wind direction deviation isNMAND turbulence intensity isMIAND wind speed isMTHEN` and the directive `isLY` further respond to moderate negative deviations under moderate wind speeds and turbulence. The completeness and consistency of the rule set need to be checked.
[0100] It should be noted that this initial rule base provides a structured search space for the genetic algorithm optimization in step S5. The genetic algorithm can use these rules as templates to systematically explore better control strategies by adding, deleting, or modifying the premises or conclusions of the rules, or adjusting the weights of variable combinations in the rule premises. Without this experience-based initial rule base, the genetic algorithm might need to start searching from a completely random, potentially large set of rules containing many invalid or contradictory rules, making the optimization process extremely inefficient and even difficult to converge.
[0101] In one embodiment of the present invention, based on step S4, an IF-THEN initial fuzzy rule base based on a fuzzy subset of input variables is constructed, the fuzzy inference mechanism and the defuzzification method are determined, and a fuzzy control model to be optimized is established. The following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.
[0102] S411: For a set of input values extracted from the preprocessed dataset at a certain simulation time i: wind direction deviation θ ew (i) Filtered wind speed Vw (i) Turbulence intensity I is calculated by substituting it into the membership function of each fuzzy subset defined for each input variable.
[0103] For example, taking the wind direction deviation variable as an example, θ ew (i) Substituting the values into the seven triangular membership functions μNB(θ), μNM(θ), ..., μPB(θ) defined for the variable, we calculate seven membership scalar values, which constitute the membership vector of the wind direction deviation to each fuzzy concept at that moment [μNB(i), μNM(i), ..., μPB(i)]. Similarly, we calculate the membership vectors of wind speed and turbulence intensity to their respective subject language values.
[0104] It should be noted that for a precise input value, such as wind direction deviation θ ew =5°, we need to calculate the degree to which it belongs to adjacent subsets such as negative small (NS), zero (ZE), positive small (PS). Let the triangle parameters of the ZE subset be (a=-10°, b=0°, c=10°), and the parameters of the PS subset be (a=0°, b=10°, c=20°).
[0105] According to the triangular membership function formula μ(x;a,b,c)=max(0,min((xa) / (ba),(cx) / (cb))), we can calculate μZE(5°)=(10-5) / (10-0)=0.5 and μPS(5°)=(5-0) / (10-0)=0.5. It can be seen that under the current settings, a 5° wind direction deviation is simultaneously considered by the system to be both zero and positively small by 0.5. This process is applied in parallel to all fuzzy subsets of all input variables, generating the membership distribution of the current input state. This is the basis for fuzzy logic to handle uncertainty and nonlinearity.
[0106] S412: Iterate through each rule Rj in the initial fuzzy rule base established in step S44. For a rule of the form IFWE is A AND WS is B AND WI is CTHENY RisD;
[0107] Where A, B, and C are fuzzy subsets of the premises, and D is the conclusion subset. From the membership vector calculated in step S411, the membership degrees of the input value to the premise subsets A, B, and C are extracted and denoted as μA(i), μB(i), and μC(i), respectively. The activation intensity αj(i) of the current rule under the current input is calculated using fuzzy AND operation: αj(i) = min(μA(i), μB(i), μC(i)). This scalar αj(i) represents the degree of matching between the current condition and the conditional pattern described by rule Rj.
[0108] In some embodiments, each fuzzy rule defines an IFAandBandC premise pattern, describing a specific combination of operating conditions. The membership vector output in step S411 quantifies the similarity between the current actual operating condition and each fuzzy subset NS, M, SI. The task of step S412 is to evaluate the overall matching degree between the current operating condition and the composite pattern described by the entire rule. The activation intensity α is calculated using the minimum value operator min(μA,μB,μC), where the matching degree of a rule is determined by the least satisfied condition in its premise part. For example, if a rule requires wind direction deviation to be NS with a membership degree of 0.8 and turbulence to be SI with a membership degree of 0.6, then even if the matching degree for NS is 0.8, the activation intensity α of the entire rule is only 0.6 due to the limited matching degree for SI of 0.6. This means that the rule will be activated with 60% intensity. This calculation process traverses all rules in the rule base, generating a scalar activation intensity αj for each rule. Rules that are completely inconsistent with the current input have an activation strength α of 0 and are ignored in subsequent inference. Only rules that are partially or completely matched (α > 0) will contribute to the final output.
[0109] S413: Based on the activation intensity αj(i) of each rule calculated in step S412, operate on the output fuzzy subset of the rule conclusion part. The min-max inference synthesis method in Mamdani-type fuzzy inference is adopted.
[0110] For each activated rule Rj, the membership function μD(y) of the conclusion subset D is operated on with αj(i) to obtain the output fuzzy set μj'(y)=min(αj(i),μD(y)), where y is the value of the output variable yaw control command in its universe of discourse.
[0111] The output fuzzy sets μ1'(y), μ2'(y), ..., μm'(y) contributed by all activated rules are combined to obtain the final total output fuzzy set μout(y): μout(y) = max(μ1'(y), μ2'(y), ..., μm'(y)). This μout(y) is a fuzzy set defined on the output universe of discourse {-1, 0, 1}, describing the mixed probability distribution of the output instruction being LY, SY, or RY under the current input.
[0112] S414: Defuzzify the output fuzzy set μout(y) obtained in step S413 to obtain the yaw control command x(i). Since the output universe of discourse is a discrete finite point set {-1,0,1}, and the output fuzzy subset adopts a single-point membership function, the centroid method is used for defuzzification.
[0113] For example, a threshold ε = 0.5 is set. If x(i) < -ε, the final instruction is -1 (turn left); if |x(i)| ≤ ε, it is 0 (hold); if x(i) > ε, it is 1 (turn right). This quantized x(i) will be used as the input to the cabin position simulation model in step S32.
[0114] It should be noted that, since the universe of discourse for the output variable yaw control command in this embodiment is a discrete finite point set Y={-1,0,1}, and a single-point membership function is used, the calculation of the centroid method is simplified to a weighted average. The calculation result x is a real value located in the interval [-1,1]. For example, if μout(-1)=0.8, μout(0)=0.2, and μout(1)=0.0, then x*=(-0.8+0+0) / (1.0)=-0.8. The real value x* represents the suggested yaw control command strength after comprehensively considering all fuzzy rules, and its sign indicates the direction, while the absolute value indicates the strength of the tendency. In order to interface with the discrete command model defined in step S32, x is quantized into discrete values. A threshold ε is set. The quantization rules are as follows: if x* < -ε, then the final instruction x(i) = -1, corresponding to a strong left turn; if -ε ≤ x* ≤ ε, then x(i) = 0, corresponding to a hold; if x* > ε, then x(i) = 1, corresponding to a strong right turn. Here, the threshold ε becomes an adjustable parameter, which can be used to balance the sensitivity and stability of the control. Increasing ε makes the system less responsive, reduces yaw action, and helps reduce mechanical wear. Decreasing ε makes the system more sensitive, and may improve wind accuracy. Steps S411 to S414 constitute the fuzzy inference and decision-making chain from precise input to fuzzy processing, and then back to output, providing a fuzzy controller for the virtual simulation environment.
[0115] In one embodiment of the present invention, based on step S5, the fuzzy control model to be optimized in step S4 is optimized using a genetic algorithm; the combination method of the initial fuzzy rule base and the initial membership function parameters are encoded as chromosome individuals, and yaw simulation is performed on each chromosome individual using the preprocessed dataset in the virtual yaw system. By iteratively calculating the evaluation function based on the simulation results, the optimal fuzzy rule combination and the optimal membership function parameters with the highest wind energy utilization rate under the constraint of yaw number are selected. The following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.
[0116] S51: Determine the set of parameters for the fuzzy controller to be optimized, including the membership function parameters of each fuzzy subset of wind direction deviation, filtered wind speed, and turbulence intensity, as well as the premise and conclusion parts of each rule in the fuzzy rule base.
[0117] For an input subset using a triangular membership function, extract its three real-valued parameters: left boundary *a*, vertex *b*, and right boundary *c*. Concatenate all the real-valued parameters to be optimized into a single real-valued parameter vector in a predetermined order.
[0118] Each rule in the initial fuzzy rule base is represented by the indices of the input variables involved in the premise section and the corresponding fuzzy subset indices, as well as the indexes of the output subsets in the conclusion section, forming a rule index list.
[0119] The real-valued parameter vector and the rule index list are jointly encoded into a single chromosome individual.
[0120] During encoding, real-valued parameters are directly encoded using floating-point numbers, while regular indices are encoded using integers. The two are then linked together to form a hybrid encoded chromosome string.
[0121] In some embodiments, the adjustable portion of the fuzzy controller is divided into two categories: continuous shape parameters and discrete logic structure parameters. The continuous shape parameters are the membership function parameters of each fuzzy subset of the input variables.
[0122] Taking the seven triangular subsets of wind direction deviation as an example, each subset has three parameters (a, b, c), for a total of 21 real values. These parameters must satisfy the boundary constraints of the universe of discourse, such as all a and c being within [-180, 180], and the order constraints, such as c of NB ≤ a of NM, c of NM ≤ a of NS, and so on, to ensure that the fuzzy subsets cover the entire universe of discourse in an orderly manner.
[0123] The discrete logical structure parameters constitute the fuzzy rule base. Each rule can be encoded as a fixed-length integer tuple, such as input 1 subset index, input 2 subset index, input 3 subset index, output subset index. A rule base containing R rules can be encoded as R×4 integers. During encoding, all real-valued parameters, such as 21 wind direction deviations, 9 wind speeds, and 9 turbulence intensities (a total of 39), are concatenated into a real-valued vector Vreal according to variable and subset order.
[0124] All integer indices in the rule base are concatenated into an integer vector Vint in rule order. Finally, Vreal and Vint are concatenated to form the chromosome Chrom=[V_real;V_int]. This hybrid encoding method clearly defines the search space of the optimization problem: the real-valued part is a high-dimensional continuous space, and the integer part is a combinatorial space. The application of order constraints ensures that a fuzzy controller is always generated after chromosome decoding, improving optimization efficiency.
[0125] S52: Set the hyperparameters required for the genetic algorithm, including population size M, maximum number of generations Gmax, crossover probability Pc, and mutation probability Pm.
[0126] Within the chromosome coding space defined in step S51, M chromosome individuals are randomly generated to form the initial population P(0).
[0127] For real-valued genes representing membership function parameters in chromosomes, values are uniformly and randomly sampled and assigned within the defined upper and lower bounds of the parameter values, with order constraints applied. For integer genes representing regular indices, values are randomly assigned within the fuzzy subset index range of their respective variables, generating a series of random but structurally valid initial fuzzy controllers.
[0128] In some embodiments, the population size M is a key parameter, ranging from tens to hundreds, which determines the breadth of the search space explored by the algorithm in each generation. The larger M is, the better the diversity, but the greater the computational cost.
[0129] The maximum number of generations, Gmax, is one of the stopping conditions to prevent infinite loops. The crossover probability Pc controls the frequency of information exchange between individuals, while the mutation probability Pm introduces new random exploration capabilities into the population.
[0130] Furthermore, during population initialization, completely random number generation is performed while satisfying the constraints described in step S51. For real-valued genes, a uniformly distributed random number generator is invoked to assign values within the allowed upper and lower bounds [LB, UB].
[0131] For example, the vertex b of the wind direction deviation ZE subset may have an allowable range limited to [-20°, 20°], so a value is randomly selected within this range. After assignment, order constraint verification and repair must be performed. If the parameters of the randomly generated NB subset are (a=-170, b=-160, c=-150), and the parameters of the NM subset are (a=-155, b=-145, c=-135), then it is necessary to check whether NB.c(-150) ≤ NM.a(-155).
[0132] In this embodiment, NM.a is modified to -150, or regenerated. For rule genes, they are randomly selected within the fuzzy subset index range of each input / output variable. For example, if there are 7 subsets of wind direction deviation, the index of the corresponding wind direction deviation in the rule premise is randomly selected from 1 to 7. Through random initialization, an initial population P(0) with high diversity and uniform distribution in the valid solution space is obtained.
[0133] S53: For each chromosome individual Indk, k=1,2,...,M in the current population P(g), perform the following operations: decode the chromosome, restore it to obtain a set of specific membership function parameters and a complete fuzzy rule base, and instantiate a fuzzy controller in the virtual yaw system.
[0134] Using the preprocessed dataset generated in step S3, a yaw control simulation is run in the virtual system. The simulation process follows steps S32, S33, and S34, using a fuzzy controller obtained from individual decoding to generate control commands x(i) time-by-time based on historical wind data, and recursively calculating the simulated cabin yaw position θ. y (i) and the cumulative number of yaws D.
[0135] After the simulation, the total available wind energy E under this historical data period is calculated based on the following formula;
[0136]
[0137] In the formula, To match air density The swept area A of the unit has a related function.
[0138] The total number of simulated yaws, D, is calculated based on the following formula;
[0139]
[0140] Substitute E and D into the evaluation function: .
[0141] Error at each time point The sum of all additions; This indicates that when the actual number of yaws D exceeds the design value When it reaches 95%, a secondary penalty term is introduced; This is the penalty weighting coefficient.
[0142] The fitness value (Fitnessk) of the individual Indk on this chromosome is calculated. The fitness value (Fitnessk) is directly used as the value of J. The larger the value, the better the overall performance of the control strategy corresponding to the individual in terms of capturing wind energy and meeting lifetime constraints.
[0143] In some embodiments, the chromosome is decoded, and the specific membership function parameter table and rule list are parsed in reverse according to the encoding rules, constructing a complete and executable fuzzy controller instance in memory. Then, this controller instance is placed into a virtual yaw simulation environment. The simulation driver uses the historical wind data from step S3, which can be used for the absolute wind direction θ. aw (i), Filtered wind speed V w (i), turbulence intensity I. For each time i in the data, the virtual controller receives the current wind direction deviation θ. ew (i), V w (i) and I are taken as inputs, and after fuzzy inference in steps S411-S414, the control command x(i) is output. x(i) is input into the simulation dynamics model to update the cabin yaw position θ at the next moment.y (i + 1) and the cumulative yaw count D.
[0144] Furthermore, this process starts from the initial position θ y (0), and is executed cyclically N times to obtain a complete simulation trajectory. After the simulation ends, the total simulation yaw count D and the total wind energy E are extracted. The performance index J is calculated through E and D. Here, η is a very large penalty coefficient, and Ddesign is the converted value of the number of actions allowed by the design life of the yaw system within the corresponding time period. If D exceeds 0.95 * Ddesign, the penalty term will increase sharply, resulting in J becoming extremely low or even negative, causing this individual to be eliminated in subsequent selections. The fitness value Fitness = J reflects the trade - off ability of the fuzzy controller between objectives.
[0145] S54: Based on the fitness value calculated in step S53, perform selection, crossover, and mutation operations on the current population P(g) to generate the next - generation population P(g + 1).
[0146] Selection operation: The roulette - wheel selection method is adopted. The probability that the individual Indk is selected is proportional to its fitness Fitnessk, that is, Pselect(k)=Fitnessk / ΣFitness. Select M times repeatedly to select M parent individuals into the mating pool.
[0147] Crossover operation: Randomly pair the individuals in the mating pool in pairs. For each pair of parent individuals, determine whether to perform crossover with the crossover probability Pc.
[0148] If executed, for its real - value coding part, simulated binary crossover is adopted, and for the integer - coding rule part, single - point crossover is adopted to exchange part of the gene information and generate two offspring individuals.
[0149] Mutation operation: For the offspring individuals generated after crossover, perform mutation on each gene position with the mutation probability Pm.
[0150] For real - value genes, polynomial mutation is adopted to generate a small random perturbation within its value range; for integer genes, randomly reset it to a new valid index value within its value range. All mutation operations need to satisfy the parameter boundary constraints and the order constraints of the fuzzy subsets. The new individual set generated through crossover and mutation constitutes the offspring population P(g + 1).
[0151] In some embodiments, calculate the sum of fitness values SumF of all individuals in the current population. Calculate the cumulative selection probability for each individual Indk. Generate M random numbers r uniformly distributed in the interval [0, 1). For each random number r, find the individual j that satisfies the condition Q{j - 1}<r≤Qj and select it into the mating pool.
[0152] This embodiment's process ensures that individuals with high fitness are more likely to be selected multiple times, while individuals with low fitness may not be selected, thus achieving survival of the fittest. Crossover is the primary method for generating new individuals. Individuals in the mating pool are randomly paired. For each parent pair (P1, P2), a random number in the range [0, 1] is generated; if it is less than Pc, crossover is performed.
[0153] For the real-valued encoding part, simulated binary crossover (SBX) is used: for each pair of real-valued genes (p1, p2) in the parent vector, two offspring genes (c1, c2) are generated according to a distribution index ηc and a random number u, which can guarantee that the offspring genes are located near the parent genes.
[0154] For the rule portion of the integer encoding, a crossover point is randomly selected, and the rule index segments after the crossover point are swapped. The crossover operation can combine the superior gene segments from two parent individuals, potentially producing offspring with better performance.
[0155] Furthermore, mutation operations introduce new genes into the population, maintaining diversity. For each gene locus in each offspring individual, a random number [0,1] is generated; if it is less than Pm, mutation is performed. Real-valued genes undergo multinomial mutation: based on the current position, a finite perturbation is applied according to a distribution index ηm and the random number. Integer genes randomly jump to a new value within their valid index range. All mutation results need to be checked and corrected again for boundary and order constraints.
[0156] S55: Repeat steps S53 and S54 to perform iterative optimization.
[0157] In each generation g, the best individual in the current population and its fitness value are recorded. The iteration terminates when the number of generations reaches the preset maximum number of generations Gmax, or when the fitness of the best individual no longer significantly improves over several consecutive generations.
[0158] From historical records, the individual with the highest fitness value throughout the entire evolutionary process is selected and identified as the optimal individual for this round of optimization.
[0159] The optimal individual is decoded to obtain the corresponding optimal membership function parameter set and optimal fuzzy rule base. The optimal fuzzy control strategy is defined to maximize wind energy capture efficiency under the historical wind conditions represented by the preprocessed dataset, provided that the yaw number constraint D≤0.95*Ddesign is met.
[0160] In some embodiments, the iterative process is as follows: starting from generation g=0, in each generation g, step S53 is executed to evaluate the fitness of the population P(g), and step S54 is executed to generate the next generation population P(g+1). After each generation evaluation, the best individual BestInd(g) and its fitness BestFit(g) in the current generation population are recorded. The evolutionary process is set to reach a maximum number of generations Gmax, which is a preset safety upper limit to ensure that the algorithm will always stop.
[0161] The optimization loop terminates when any termination condition is met. The individual with the highest fitness is identified as the optimal solution found during the global search. Finally, a decoding operation is performed on the optimal solution, restoring its chromosome string to specific parameters: including the optimal triangle parameters (a, b, c*) for all fuzzy subsets of input variables, and the optimal list of fuzzy rule bases. Maximum algebra and convergence checks provide controllable termination conditions, allowing users to have a clear expectation of optimization time and the quality of the final solution. Recording and outputting the optimal solutions from each iteration ensures the reliability of the optimization results.
[0162] In one embodiment of the present invention, based on step S6, the optimal fuzzy rule combination and optimal membership function parameters obtained in step S5 are transferred to the wind turbine control system. The wind turbine controller performs fuzzy inference using the optimal fuzzy rule combination and optimal membership function parameters, based on the real-time collected operating data and combined with the fuzzy inference mechanism and defuzzification method determined in step S4, to generate yaw control commands and drive the yaw system to perform yaw actions. The following provides a possible embodiment and describes its specific implementation in a non-limiting manner.
[0163] S61: Collect second-level operating data of the wind turbine in real time through the SCADA system, and use the same preprocessing method as in step S3 to calculate the real-time absolute wind direction, real-time wind direction deviation and real-time turbulence intensity to generate a real-time preprocessing dataset.
[0164] S62: Derive the optimal fuzzy rule combination and optimal membership function parameters obtained in step S5 from the virtual yaw system.
[0165] In some embodiments, the optimal fuzzy rule combination and optimal membership function parameters obtained in step S5 are retrieved. The optimal IF-THEN rule combination and the left boundary, vertex, and right boundary parameters of each fuzzy subset are loaded and bound to the determined Mamdani inference mechanism and centroid defuzzification method.
[0166] S63: Retrieve real-time wind direction deviation, real-time filtered wind speed, and real-time turbulence intensity from the real-time preprocessing dataset, and calculate the membership value of each input variable to the corresponding fuzzy subset based on the optimal membership function.
[0167] In some embodiments, based on the optimal membership function parameters, the membership degree value of each input variable to all corresponding fuzzy subsets is calculated: the wind direction deviation variable is calculated to have membership degrees to seven fuzzy subsets {negative large, negative medium, negative small, zero, positive small, positive medium, positive large}; the filtered wind speed variable is calculated to have membership degrees to three fuzzy subsets {low, medium, high}; and the turbulence intensity variable is calculated to have membership degrees to three fuzzy subsets {weak, medium, strong}. The membership degree calculation uses a trigonometric function formula: for fuzzy subset parameters (a, b, c), the membership degree of the input value x is μ(x) = max(0, min((xa) / (ba), (cx) / (cb))).
[0168] S64: Call the Mamdani-type fuzzy inference method determined in step S4, and infer the input membership value based on the optimal combination of fuzzy rules to obtain the output fuzzy set; then call the centroid method to defuzzify the output fuzzy set into discrete yaw control commands.
[0169] S65: Outputs discrete yaw control commands to the wind turbine control system, controls the yaw motor to perform corresponding yaw actions, and collects yaw position feedback signals to update the unit status data.
[0170] In some embodiments, the discrete yaw control command obtained by defuzzification is output to the wind turbine control system through the wind turbine controller. The drive module controls the yaw motor according to the command. Optionally, when the command is -1, the drive motor rotates counterclockwise to perform left yaw; when the command is 1, the drive motor rotates clockwise to perform right yaw; and when the command is 0, the motor power is cut off to stop yaw. After the action is executed, the wind turbine controller collects the yaw position feedback signal in real time and updates the yaw position data for the next preprocessing.
[0171] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0172] like Figure 5 As shown, this application also provides an electronic device, including a display module 103, a memory 102, a processor 101, a communication module 104, and a computer program stored in the memory and executable on the processor 101. When the processor 101 executes the program, it implements the steps of an adaptive yaw control method based on fuzzy logic.
[0173] In embodiments of the present invention, electronic devices include, but are not limited to, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the embodiments described and / or claimed herein.
[0174] In this embodiment, processor 101 may be implemented using at least one of an application-specific integrated circuit, a programmable logic device, a field-programmable gate array, a processor, a controller, a microcontroller, a microprocessor, or an electronic unit designed to perform the functions described herein. In some cases, such an implementation may be implemented within a controller. For software implementation, implementations such as processes or functions may be implemented with separate software modules that allow the performance of at least one function or operation. Software code may be implemented by a software application (or program) written in any suitable programming language, and the software code may be stored in memory and executed by the controller.
[0175] The display module 103 is used to display information input by the user or information provided to the user. The display module 103 may include a display panel, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like.
[0176] The memory 102 can be used to store software programs and various data. The memory 102 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0177] The communication module 104 transmits radio signals to and / or receives radio signals from at least one of a base station, an external terminal, and a server. Such radio signals may include voice call signals, video call signals, or various types of data sent and / or received according to text and / or multimedia messages.
[0178] The present invention also provides a storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements the steps of the adaptive yaw control method based on fuzzy logic.
[0179] The storage medium may be any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example,, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0180] The storage medium stores a program product capable of implementing the methods described above in this specification. In some possible implementations, various aspects of this disclosure may also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure.
[0181] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. An adaptive yaw control method based on fuzzy logic, characterized in that, The methods include: S1: Collect the operating data of the wind turbine and store the collected operating data in the database; S2: Perform abnormal data cleaning on the stored runtime data to obtain cleaned and valid runtime data; S3: Preprocess the cleaned and effective operational data, and calculate the absolute wind direction, wind direction deviation, and turbulence intensity to generate a preprocessed dataset; S4: Construct a virtual yaw system and perform yaw simulation using the generated preprocessed dataset; determine wind direction deviation, filtered wind speed, and turbulence intensity as input variables, and yaw control commands as output variables; divide the universe of discourse of each input and output variable and define the corresponding fuzzy subsets, design the initial membership function of each fuzzy subset; construct the IF-THEN initial fuzzy rule base based on the fuzzy subsets of input variables, and establish the fuzzy control model to be optimized; In step S4, S41: Extract the wind direction deviation sequence {θ} from the preprocessed dataset. ew (1),θ ew (2),…,θ ew (N)} is defined as the wind direction deviation as the first input variable of the fuzzy controller; The filtered wind speed sequence {V w (1),V w (2),…,V w The second input variable is defined as the filtered wind speed (N); the third input variable is defined as the turbulence intensity sequence I(i); the output variable of the fuzzy controller is defined as the yaw control command. S42: Set the basic universe of discourse for the wind direction deviation variable to [-π,π] radians, and define a fuzzy subset based on linguistic values on the basic universe of discourse; The basic universe of discourse for the filtered wind speed variable is set to [Vcut-in, Vrated], where Vcut-in is the unit cut-in wind speed and Vrated is the rated wind speed, and linguistic values are defined. The fundamental universe of discourse for the turbulence intensity variable is set to [0, Imax], where Imax is a preset upper limit value, and linguistic values are defined. Set the basic universe of discourse for the yaw control command variables to the discrete set {-1,0,1}, and define linguistic values; S43: For each linguistic value of all input and output variables, choose a trigonometric function as the initial form of its membership function; S44: Establish a set of IF-THEN fuzzy rules to map combinations of input linguistic values to output linguistic values; S5: Optimize the fuzzy control model to be optimized based on the genetic algorithm; encode the combination method of the initial fuzzy rule base and the initial membership function parameters into chromosome individuals; use the preprocessed dataset to run yaw simulation on each chromosome individual in the virtual yaw system; and select the optimal fuzzy rule combination and the optimal membership function parameters with the highest wind energy utilization rate under the condition of satisfying the yaw number constraint by iteratively calculating the evaluation function based on the simulation results. S5 specifically includes the following steps: S51: The membership function parameters of the fuzzy controller and the rule indexes in the fuzzy rule base are mixed and encoded to form a chromosome individual containing floating-point numbers and integers; S52: Based on the set population size and chromosome coding space, multiple chromosome individuals that satisfy the parameter boundaries and order constraints are randomly generated to form the initial population; S53: Decode and configure each chromosome individual in the current population into the virtual yaw system, run the simulation using the preprocessed dataset, and calculate the fitness value of the wind energy capture and yaw number constraints for each individual according to the evaluation function. S54: Based on the fitness values of individuals, perform selection, crossover, and mutation operations on the current population to generate a next generation population that meets the constraints; S55: Repeatedly perform fitness calculation and genetic operations until the maximum number of generations is reached. Select the chromosome with the highest fitness from individuals in each generation, and decode to obtain the optimal membership function parameters and the optimal fuzzy rule base. S6: Transfer the optimal fuzzy rule combination and optimal membership function parameters to the wind turbine control system. Based on the real-time collected operating data, determine the fuzzy inference mechanism and defuzzification method, apply the optimal fuzzy rule combination and optimal membership function parameters to perform fuzzy inference, generate yaw control commands, and drive the yaw system to perform yaw actions.
2. The adaptive yaw control method based on fuzzy logic according to claim 1, characterized in that, In step S3, the absolute wind direction is calculated based on the relative wind direction and the cabin yaw position. The calculation of the wind direction deviation based on the absolute wind direction and the cabin yaw position specifically includes the following steps: S31: Based on relative wind direction and cabin yaw position The absolute wind direction is calculated through vector composition and circular reduction operations. Add the relative wind direction to the cabin azimuth angle, and then perform a modulo 2π operation on the result. S32: In the virtual yaw system, a set of discrete yaw control commands x(k) are defined to simulate the yaw action of the actual system. S33: In the virtual yaw system, for each simulation time i, calculate the absolute wind direction. Yaw position of the cabin The angle difference between them is Δθ(i) = | - |; S34: Associate the processing steps S31 to S33 for each data point i in the preprocessed dataset to generate a wind direction deviation sequence {θ} containing N time points. ew (1),θ ew (2),…,θ ew (N)}; Compare the wind direction deviation sequence with the corresponding filtered wind speed sequence {V w (1),V w (2),…,V w (N)} together constitute the preprocessed dataset used to evaluate the performance of fuzzy control strategies.
3. The adaptive yaw control method based on fuzzy logic according to claim 1, characterized in that, In step S4, constructing the IF-THEN initial fuzzy rule base based on the fuzzy subset of input variables and establishing the fuzzy control model to be optimized specifically includes the following steps: S411: For a set of input values extracted from the preprocessed dataset at a certain simulation time i: wind direction deviation θ ew (i) Filtered wind speed V w (i) Turbulence intensity I is substituted into the membership function of each fuzzy subset defined for each input variable for calculation; S412: Traverse each rule Rj in the initial fuzzy rule base established in step S44; for a rule of the form IFWEisAANDWSisBANDWIisCTHENYRisD; Where A, B, and C are fuzzy subsets of the premise part, and D is the conclusion subset; from the membership vector calculated in step S411, the membership degrees of the input value to the premise subsets A, B, and C are extracted and denoted as μA(i), μB(i), and μC(i), respectively. The activation intensity αj(i) of the current rule under the current input is calculated using fuzzy AND operation: αj(i) = min(μA(i),μB(i),μC(i)); S413: Based on the calculated activation intensity αj(i) of each rule, perform operations on the output fuzzy subset of the rule conclusion part; S414: Perform defuzzification calculation on the output fuzzy set μout(y) obtained in step S413 to obtain the yaw control command x(i).
4. The adaptive yaw control method based on fuzzy logic according to claim 1, characterized in that, S53 specifically includes the following steps. For each chromosome individual Indk, k=1,2,...,M in the current population P(g), perform the following operations: decode the chromosome, restore it to obtain a set of specific membership function parameters and a complete fuzzy rule base, and instantiate a fuzzy controller in the virtual yaw system; Using the preprocessed dataset generated in step S3, run a yaw control simulation in the virtual system; Using the fuzzy controller obtained from individual decoding, control commands x(i) are generated hourly based on historical wind data, and the simulated cabin yaw position θ is recursively calculated. y (i) and the cumulative number of yaws D; After the simulation, the total available wind energy E under this historical data period is calculated based on the following formula; In the formula, To match air density The swept area A of the unit has a related function; The total number of simulated yaws, D, is calculated based on the following formula; Substitute E and D into the evaluation function: ; Error at each time point The sum of all additions; This indicates that when the actual number of yaws D exceeds the design value When it reaches 95%, a secondary penalty term is introduced; This is the penalty weighting coefficient; The fitness value Fitnessk of the chromosome individual Indk is calculated; the fitness value Fitnessk is used as the value of J.
5. The adaptive yaw control method based on fuzzy logic according to claim 4, characterized in that, In step S54, Based on the fitness value calculated in step S53, selection, crossover, and mutation operations are performed on the current population P(g) to generate the next generation population P(g+1); Selection operation: The roulette wheel selection method is adopted. The probability of an individual Indk being selected is proportional to its fitness Fitnessk, i.e., Pselect(k)=Fitnessk / ΣFitness; the selection is repeated M times to select M parent individuals to enter the mating pool. Crossover operation: Individuals in the mating pool are randomly paired up. For each pair of parent individuals, the crossover probability Pc determines whether to perform crossover. If executed, simulated binary crossover is used for the real-valued encoded part, and single-point crossover is used for the integer-encoded rule part, exchanging some gene information to generate two offspring individuals; Mutation operation: For the offspring individuals produced after crossover, perform mutation on each gene locus with mutation probability Pm; For real-valued genes, polynomial mutation is used to generate a small random perturbation within their value range; for integer genes, they are randomly reset to a new valid index value within their value range; all mutation operations must satisfy parameter boundary constraints and fuzzy subset order constraints; the new set of individuals generated by crossover and mutation constitutes the offspring population P(g+1).
6. The adaptive yaw control method based on fuzzy logic according to claim 1, characterized in that, S6 specifically includes the following steps: S61: Collect second-level operating data of wind turbines through the SCADA system, perform preprocessing, calculate real-time absolute wind direction, real-time wind direction deviation and real-time turbulence intensity, and generate real-time preprocessed dataset; S62: Optimal fuzzy rule combination and optimal membership function parameters derived from the virtual yaw system; S63: Retrieve real-time wind direction deviation, real-time filtered wind speed, and real-time turbulence intensity from the real-time preprocessing dataset, and calculate the membership values of each input variable to the corresponding fuzzy subset based on the optimal membership function; S64: Call the Mamdani-type fuzzy inference method, infer the input membership value based on the optimal combination of fuzzy rules, and obtain the output fuzzy set; Then, the centroid method for defuzzification is invoked to convert the output fuzzy set into discrete yaw control commands; S65: Outputs discrete yaw control commands to the wind turbine control system, controls the yaw motor to perform corresponding yaw actions, and collects yaw position feedback signals to update the unit status data.
7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the adaptive yaw control method based on fuzzy logic as described in any one of claims 1 to 6.
8. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the adaptive yaw control method based on fuzzy logic as described in any one of claims 1 to 6.