Patent Description:
During operation, gas turbine engines may ingest objects (for example, a bird or debris on a runway) which may cause damage to a fan and/or one or more compressor stages of the gas turbine engine. For example, ingested objects may impact the forward stages of the low pressure compressor and cause the low pressure compressor blades to crack. Additionally, cracks may form in the compressor blades over a number of operating cycles due to fatigue. Furthermore, turbine blades may become damaged over a period of time due to the high temperatures and stresses that they experience in operation.

Cracks in compressor blades are usually identified during inspections of the gas turbine engine and the affected compressor blades may be machined (for example, 'boroblended') to remove the blade material which includes the cracks that were found during engine inspection. An accurate prediction of the impact of blade damage on operability may need to be made quickly in order to sentence the affected components and minimise disruption. Inaccurate predictions may result in components being condemned unnecessarily and thus incurring significant cost penalties. This expense is compounded by the increasing use of bladed disks. Now, instead of being able to replace individual damaged blades, the entire bladed disk must be scrapped or subjected to a complex repair.

Computational fluid dynamic (CFD) techniques may be used to model the effect of damage on compressor operability. However, CFD techniques are usually time consuming, labour intensive and not sufficiently accurate. The damaged geometry must be measured, gridded, solved and analysed, and this process currently takes days of an expert's time. The prediction of the stall point also relies upon accurate modelling of large separations caused by the blunt blades; this is beyond current industry CFD methods.

A technical background of the invention can be found in the documents <CIT>, <CIT>, <CIT> and <CIT>.

According to the invention, there is provided a computer-implemented method comprising: controlling input of at least a portion of a first training data set into a first machine learning algorithm, the first training data set including: data quantifying damage to one or more components of a first gas turbine engine; and data quantifying a first operating parameter of the first gas turbine engine; receiving data quantifying the first operating parameter as an output of the first machine learning algorithm; and training the first machine learning algorithm using: the received data output from the first machine learning algorithm; and data quantifying the first operating parameter of the first gas turbine engine, the trained first machine learning algorithm being configured to enable determination of operability of a second gas turbine engine.

The one or more components of the first gas turbine engine may be a first compressor and the first operating parameter of the first gas turbine engine may be a first operating parameter of the first compressor. In this case, the computer-implemented method may further comprise: receiving data quantifying damage received by one or more compressor blades of the first compressor; and generating the data quantifying damage to the first compressor using the received data quantifying damage received by the one or more compressor blades, and a damage parameter.

Generating the data quantifying damage received by the first compressor may comprise convoluting the received data quantifying damage received by one or more compressor blades of the first compressor with the damage parameter.

The damage parameter may be an amount of damage to a portion of the first compressor.

The damage parameter may be one or more separations between portions of the first compressor.

The damage parameter may be a gradient of damage across at least a portion of the first compressor.

The damage parameter may be a number of damaged portions of the first compressor.

Generating the data quantifying damage to the first compressor may comprise using the received data quantifying damage received by the one or more compressor blades, and a plurality of damage parameters.

Generating the data quantifying damage received by the first compressor may comprise convoluting the received data quantifying damage received by the one or more compressor blades of the first compressor with each damage parameter of the plurality of damage parameters.

The computer-implemented method may further comprise: determining importance of at least a subset of the plurality of damage parameters; and where a first damage parameter has an importance that does not meet a predetermined criterion, re-generating the data quantifying damage received by the first compressor without using the first damage parameter.

In case the one or more components of the first gas turbine engine is a first compressor and the first operating parameter of the first gas turbine engine is a first operating parameter of the first compressor, generating the data quantifying damage received by the first compressor may comprise providing the received data quantifying damage received by one or more compressor blades of the first compressor as an input to an algorithm.

In case the one or more components of the first gas turbine engine is a first compressor and the first operating parameter of the first gas turbine engine is a first operating parameter of the first compressor, training the first machine learning algorithm may comprise performing optimization using: the received data output from the first machine learning algorithm; and data quantifying the first operating parameter of the first compressor.

The first machine learning algorithm may be a first artificial neural network, and training the first machine learning algorithm may include generating a plurality of first artificial neural networks each having a different number of neurons, and performing cross validation to select the first artificial neural network having the lowest error.

In case the one or more components of the first gas turbine engine is a first compressor and the first operating parameter of the first gas turbine engine is a first operating parameter of the first compressor, the computer-implemented method may further comprise: controlling input of at least a portion of a second training data set into a second machine learning algorithm, the second training data set including: data quantifying damage to the first compressor; and data quantifying a second operating parameter of the first compressor; receiving data quantifying the second operating parameter of the first compressor as an output of the second machine learning algorithm; and training the second machine learning algorithm using: the received data output from the second machine learning algorithm; and data quantifying the second operating parameter of the first compressor, the trained second machine learning algorithm being configured to enable determination of operability of the second compressor.

The first operating parameter may be stalling throttle coefficient and the second operating parameter may be pressure rise characteristic.

In the following description, the terms 'connected' and 'coupled' mean operationally connected and coupled. It should be appreciated that there may be any number of intervening components between the mentioned features, including no intervening components.

<FIG> illustrates a schematic diagram of an apparatus <NUM> according to various examples. The apparatus <NUM> includes a first controller <NUM>, a user input device <NUM>, a display <NUM>, a first compressor <NUM>, a gas turbine engine <NUM>, a second controller <NUM> and an inspection device <NUM>. <FIG> also illustrates an operator <NUM> (who may be human or robotic).

In summary, the apparatus <NUM> may be configured to enable one or more machine learning algorithms to be trained using data from the first compressor <NUM>. The one or more machine learning algorithms may then be used to determine the operability of a compressor of the gas turbine engine <NUM>. The apparatus <NUM> may also be configured to control the operation of the gas turbine engine <NUM> using the determined operability of the compressor of the gas turbine engine <NUM>. It should be appreciated that the methods described herein may also be applied to other components of a gas turbine engine (for example, liners in the primary air system of the gas turbine engine) to train one or more machine learning algorithms, determine the operability of the gas turbine engine <NUM>, and to control the operation of the gas turbine engine using the determined operability.

It should be appreciated that the apparatus <NUM> may be modular. As used herein, the wording 'module' refers to a device or apparatus where one or more features are included at a later time and, possibly, by another manufacturer or by an end user. For example, where the apparatus <NUM> is modular, the apparatus <NUM> may only include the first controller <NUM> and/or the second controller <NUM>, and the remaining features illustrated in <FIG> (such as the first compressor <NUM>, the gas turbine engine <NUM> and so on) may be added by one or more third parties.

The first controller <NUM>, the user input device <NUM>, the display <NUM>, the first compressor <NUM>, the gas turbine engine <NUM>, the second controller <NUM> and the inspection device <NUM> may be coupled to one another via wireless links and may consequently comprise transceiver circuitry and one or more antennas. Additionally or alternatively, the first controller <NUM>, the user input device <NUM>, the display <NUM>, the first compressor <NUM>, the gas turbine engine <NUM>, the second controller <NUM> and the inspection device <NUM> may be coupled to one another via wired links and may consequently comprise interface circuitry (such as a Universal Serial Bus (USB) plugs and sockets).

The first controller <NUM> may comprise any suitable circuitry configured to cause performance of the methods described herein and as illustrated in <FIG>, <FIG> and <FIG>. The first controller <NUM> may comprise: control circuitry; and/or processor circuitry; and/or at least one application specific integrated circuit (ASIC); and/or at least one field programmable gate array (FPGA); and/or single or multi-processor architectures; and/or sequential/parallel architectures; and/or at least one programmable logic controllers (PLCs); and/or at least one microprocessor; and/or at least one microcontroller; and/or a central processing unit (CPU); and/or a graphics processing unit (GPU), configured to perform the methods.

In various examples, the first controller <NUM> may comprise a first processor <NUM> and a first memory <NUM>. The first memory <NUM> stores a first computer program <NUM> comprising computer readable instructions that, when read by the first processor <NUM>, causes performance of the methods described herein, and as illustrated in <FIG>, <FIG> and <FIG>. The first computer program <NUM> may be software or firmware, or may be a combination of software and firmware.

The first memory <NUM> also stores one or more machine learning algorithms <NUM>. In the examples described throughout the detailed description, the one or more machine learning algorithms <NUM> are one or more artificial neural networks. However, in other examples, the one or more machine learning algorithms <NUM> may be any other suitable supervised learning algorithm (that is, a function that maps an input to an output based on example input-output pairs). For example, the one or more machine learning algorithms <NUM> may be one or more support vector machines.

The first processor <NUM> may include at least one microprocessor and may comprise a single core processor, may comprise multiple processor cores (such as a quad core processor or an octa core processor), or may comprise a plurality of processors (at least one of which may comprise multiple processor cores). The first memory <NUM> may be any suitable non-transitory computer readable storage medium, data storage device or devices, and may comprise one or more magnetic hard disk drives (HDD) and/or one or more solid state drives (SSD). The first memory <NUM> may be permanent non-removable memory, or may be removable memory (such as a universal serial bus (USB) flash drive or a secure digital (SD) card). The first memory <NUM> may include: local memory employed during actual execution of the computer program; bulk storage; and cache memories which provide temporary storage of at least some computer readable or computer usable program code to reduce the number of times code may be retrieved from bulk storage during execution of the code.

The first computer program <NUM> may be stored on a non-transitory computer readable storage medium <NUM>. The first computer program <NUM> may be transferred from the non-transitory computer readable storage medium <NUM> to the first memory <NUM>. The non-transitory computer readable storage medium <NUM> may be, for example, a USB flash drive, a secure digital (SD) card, an optical disc (such as a compact disc (CD), a digital versatile disc (DVD) or a Blu-ray disc). In some examples, the first computer program <NUM> may be transferred to the first memory <NUM> via a signal <NUM> (such as a wireless signal or a wired signal).

Input/output devices may be coupled to the first controller <NUM> either directly or through intervening input/output controllers. Various communication adaptors may also be coupled to the first controller <NUM> to enable the first controller <NUM> to become coupled to other apparatus or remote printers or storage devices through intervening private or public networks. Non-limiting examples include modems and network adaptors of such communication adaptors.

The user input device <NUM> may comprise any suitable device for enabling an operator to at least partially control the apparatus <NUM>. For example, the user input device <NUM> may comprise one or more of a keyboard, a keypad, a touchpad, a touchscreen display, and a computer mouse. The first controller <NUM> is configured to receive signals from the user input device <NUM>.

The display <NUM> may be any suitable display for conveying information to the operator <NUM>. For example, the display <NUM> may be a liquid crystal display, a light emitting diode display, an active matrix organic light emitting diode display, a thin film transistor display, or a cathode ray tube display. The first controller <NUM> is arranged to provide a signal to the display <NUM> to cause the display <NUM> to convey information to the operator <NUM>.

The first compressor <NUM> comprises one or more rotor disks <NUM>, a plurality of compressor blades <NUM>, a case <NUM>, a high pressure air source <NUM>, and a sensor array <NUM>. The first compressor <NUM> may be an apparatus that is built specifically for test purposes and may be referred to as a 'compressor rig'. In other examples, the first compressor <NUM> may be part or module of a gas turbine engine.

The one or more rotor disks <NUM> have an axis <NUM> that extends perpendicularly through the centre of the one or more rotor disks <NUM>. The one or more rotor disks <NUM> are mounted on bearings and are rotatable around the axis <NUM> as indicated by arrow <NUM>.

The compressor blades <NUM> are attachable to, and detachable from the one or more rotor disks <NUM>. The case <NUM> has an annular shape and surrounds the one or more rotor disks <NUM> and the plurality of compressor blades <NUM>. Each of the compressor blades <NUM> has some degree of damage (including no damage). The compressor blades <NUM> may be attached to the one or more rotor disks <NUM> in different arrangements so that the first compressor <NUM> may have different damage profiles. In other words, the variation in damage to the compressor blades <NUM> when viewed as a function of angular position around the first compressor <NUM> may be different for different arrangements of compressor blades <NUM>.

In some examples, 'damaged' compressor blades <NUM> may be formed by machining undamaged compressor blades using a computer numerically controlled (CNC) machine tool to define boroblended geometries with material removed at the leading edge (which may be referred to as a 'cutback'). In others examples, the compressor blades <NUM> may be formed through a casting process where a plurality of molds are used to provide compressor blades having different degrees of damage.

In one example, a first subset of the plurality of compressor blades <NUM> may have no damage, a second subset of the compressor blades <NUM> may have a leading edge cutback of five percent of the chord and span, a third subset of the compressor blades <NUM> may have a leading edge cutback of ten percent of the chord and span, a fourth subset of the compressor blades <NUM> may have a leading edge cutback of thirty percent of the chord and span, and a fifth subset of the compressor blades <NUM> may have a leading edge cutback of fifty percent of the chord and span. For example, <FIG> illustrates a first compressor blade <NUM><NUM> having a leading edge cutback <NUM> of thirty percent of the chord and span, second and third compressor blades <NUM><NUM>, <NUM><NUM> having leading edge cutbacks <NUM>, <NUM> of ten percent of the chord and span, and fourth, fifth and sixth compressor blades <NUM><NUM>, <NUM><NUM>, <NUM><NUM> having no damage.

In some examples, the first compressor <NUM> may be a rapid testing compressor rig such as the 'Gibbons compressor rig' at the Whittle Laboratory, Cambridge University, the United Kingdom. The Gibbons compressor rig is a single stage machine that is representative of a modern high pressure aero engine compressor and has a rotor inlet relative Mach number of <NUM> and a Reynolds number of <NUM> x <NUM><NUM>. The rapid testing features of the Gibbons compressor rig that enable accelerated testing include:.

Returning to <FIG>, the high pressure air source <NUM> is arranged to supply flowing air to the compressor blades <NUM> to cause the compressor blades <NUM> to rotate around the axis <NUM>. The first controller <NUM> may be configured to control the high pressure air source <NUM> to provide flowing air to the plurality of compressor blades <NUM>.

The sensor array <NUM> is configured to sense one or more operating parameters of the first compressor <NUM>. For example, the sensor array <NUM> may comprise one or more Pitot probes that are configured to sense the inlet total pressure, and one or more sensors that are configured to sense the static pressure of the first compressor <NUM>. The sensor array <NUM> is calibrated to calculate the total flow coefficient and the integrated pressure rise of the first compressor <NUM>. The first controller <NUM> is configured to receive data quantifying the one or more operating parameters sensed by the sensor array <NUM>.

The gas turbine engine <NUM> may be mounted on a vehicle such as an aircraft, marine vessel, or a ground vehicle such as a tank. For aero-engines, this is usually referred to as 'on-wing'. Alternatively, the gas turbine engine <NUM> may be detached from such a vehicle (that is, 'off-wing' for an aero-engine). The gas turbine engine <NUM> comprises a second compressor <NUM> that has the same structure as, or a very similar structure to, the first compressor <NUM>. For example, the compressor blades of the second compressor <NUM> may have the same (or very similar) geometry as the compressor blades <NUM> of the first compressor <NUM>.

<FIG> illustrates a cross sectional side view of the gas turbine engine <NUM> according to an example. The gas turbine engine <NUM> has a principal rotational axis <NUM> and comprises an air intake <NUM> and a propulsive fan <NUM> that generates two airflows: a core airflow A and a bypass airflow B. The high pressure compressor <NUM> is attached to and driven by the high pressure turbine <NUM> via a shaft <NUM>.

In some examples, the low pressure compressor <NUM> may be the second compressor <NUM> illustrated in <FIG>. In other examples, the high pressure compressor <NUM> may be the second compressor <NUM> illustrated in <FIG>.

The resultant hot combustion products then expand through and thereby drive, the high pressure and low pressure turbines <NUM>, <NUM> before being exhausted through the nozzle <NUM> to provide some propulsive thrust. The high pressure turbine <NUM> drives the high pressure compressor <NUM> via the shaft <NUM>, and the low pressure turbine <NUM> drives the low pressure compressor <NUM> via the shaft <NUM>, and drives the fan <NUM> via the shaft <NUM> and the epicyclic gearbox <NUM>. The epicyclic gearbox <NUM> is a reduction gearbox and may have a star or planetary configuration.

Returning to <FIG>, the second controller <NUM> may comprise any suitable circuitry configured to cause performance of the methods described herein with reference to <FIG>. For example, the second controller <NUM> may be an engine control unit (ECU), an electronic engine controller (EEC), or a full authority digital engine control (FADEC). The second controller <NUM> may comprise: control circuitry; and/or processor circuitry; and/or at least one application specific integrated circuit (ASIC); and/or at least one field programmable gate array (FPGA); and/or single or multi-processor architectures; and/or sequential/parallel architectures; and/or at least one programmable logic controllers (PLCs); and/or at least one microprocessor; and/or at least one microcontroller; and/or a central processing unit (CPU); and/or a graphics processing unit (GPU), configured to perform the methods illustrated in <FIG>.

The second controller <NUM> may comprise a second processor <NUM> and a second memory <NUM>. The second memory <NUM> stores a second computer program <NUM> comprising computer readable instructions that, when read by the second processor <NUM>, causes performance of the methods described herein with reference to <FIG>. The second computer program <NUM> may be software or firmware, or may be a combination of software and firmware.

The second memory <NUM> also stores engine operating parameters <NUM>. The second controller <NUM> is configured to use the engine operating parameters <NUM> to control the operation of the gas turbine engine <NUM>.

The second processor <NUM> may include at least one microprocessor and may comprise a single core processor, may comprise multi-core processor (such as a quad core processor or an octa core processor), or may comprise a plurality of processors (at least one of which may comprise multiple processor cores). The second memory <NUM> may be any suitable non-transitory computer readable storage medium, data storage device or devices, and may comprise one or more magnetic hard disk drives (HDD) and/or one or more solid state drives (SSD). The second memory <NUM> may be permanent non-removable memory, or may be removable memory (such as a universal serial bus (USB) flash drive or a secure digital (SD) card). The second memory <NUM> may include: local memory employed during actual execution of the computer program; bulk storage; and cache memories which provide temporary storage of at least some computer readable or computer usable program code to reduce the number of times code may be retrieved from bulk storage during execution of the code.

The second computer program <NUM> may be stored on the non-transitory computer readable storage medium <NUM> (separately, or in addition to, the first computer program <NUM>). The second computer program <NUM> may be transferred from the non-transitory computer readable storage medium <NUM> to the second memory <NUM>. In some examples, the second computer program <NUM> may be transferred to the second memory <NUM> via a signal.

Input/output devices may be coupled to the second controller <NUM> either directly or through intervening input/output controllers. Various communication adaptors may also be coupled to the second controller <NUM> to enable the second controller <NUM> to become coupled to other apparatus or remote printers or storage devices through intervening private or public networks. Non-limiting examples include modems and network adaptors of such communication adaptors.

The inspection device <NUM> may be any suitable device that enables the second compressor <NUM> to be inspected. In one example, the inspection device <NUM> is a borescope that may be used by the operator <NUM> to visually inspect the second compressor <NUM>. In another example, the inspection device <NUM> may comprise a digital camera that is configured to generate digital images of the compressor blades of the second compressor <NUM>. The motion of the inspection device <NUM> may be controlled by the operator <NUM> or by the first controller <NUM> (where the inspection device <NUM> is a continuum robot for example).

Methods of training the one or more machine learning algorithms <NUM> are described in the following paragraphs with reference to <FIG>.

At block <NUM>, the method may include receiving data quantifying damage received by the one or more compressor blades <NUM> of the first compressor <NUM>. For example, the operator <NUM> may first attach the compressor blades <NUM> to the one or more rotor disks <NUM> of the first compressor <NUM> according to a desired damage profile. The operator <NUM> may then operate the user input device <NUM> to enter data that quantifies the damage received by the one or more compressor blades <NUM>. For example, for each of the compressor blades <NUM>, the operator <NUM> may enter a percentage of damage received by the leading edge. Alternatively, the operator <NUM> may operate an imaging device to generate images of each of the compressor blades <NUM>. The first controller <NUM> may receive the generated images and quantify the damage received using image recognition software and a model of the compressor blades in an undamaged state.

<FIG> illustrates a graph <NUM> of compressor blade damage versus position for the first compressor <NUM> according to one example damage profile. The graph <NUM> includes a horizontal axis <NUM> for angular position around the axis <NUM> and a vertical axis <NUM> for the percentage of damage received by the leading edges of the compressor blades <NUM>.

The graph <NUM> illustrates a first group <NUM>, a second group <NUM>, and a third group <NUM> of damaged compressor blades <NUM>. The first group <NUM> is positioned between the angular positions of approximately fifteen degrees and one hundred degrees. The second group <NUM> is positioned between the angular positions of approximately one hundred and ninety degrees and two hundred and twenty degrees. The third group <NUM> is positioned between the angular positions of approximately two hundred and ninety degrees and three hundred and eight degrees.

The first group <NUM> has a maximum damage percentage of fifty percent between the angular positions of approximately ninety two degrees and one hundred degrees. The second group <NUM> has a maximum damage percentage of thirty percent between the angular positions of approximately two hundred and eight degrees and two hundred and twenty degrees. The third group <NUM> has a maximum damage percentage of ten percent between the angular positions of approximately two hundred and ninety degrees and three hundred degrees.

Returning to <FIG>, at block <NUM> the method may also include receiving data quantifying at least a first operating parameter of the first compressor <NUM>. For example, once the compressor blades <NUM> have been attached to the one or more rotor disks <NUM> of the first compressor <NUM>, the first controller <NUM> may control the high pressure air source <NUM> to supply flowing air to the compressor blades <NUM> to cause the compressor blades <NUM> to rotate around the axis <NUM>. The sensor array <NUM> may sense the total-static pressure rise and the inlet flow coefficient of the first compressor <NUM> and generate data of these operating parameters. The first controller <NUM> may receive the generated data quantifying the total-static pressure rise and the inlet flow coefficient from the sensor array <NUM>.

In one example, one hundred and twenty five different damage profiles were investigated. For each damage profile, the first compressor <NUM> was throttled into stall three times and the stalling throttle coefficient was determined from the last stable recorded point. <FIG> illustrates a graph <NUM> of total-static pressure coefficient versus flow coefficient for the one hundred and twenty five different damage profiles of the first compressor <NUM>. The graph <NUM> includes a horizontal axis <NUM> for the flow coefficient and a vertical axis <NUM> for the total-static pressure coefficient. The graph <NUM> also includes one hundred and twenty five lines <NUM> that represent how the total-static pressure coefficient of the first compressor <NUM> varies with flow coefficient for each of the one hundred and twenty five damage profiles respectively. Generally speaking, those lines that have higher total-static pressure coefficients at a given flow coefficient are generated from damage profiles having less damage than those lines that have lower total-static pressure coefficients.

Returning to <FIG>, at block <NUM> the method may include generating data quantifying damage received by the first compressor <NUM> using the received data quantifying damage received by one or more compressor blades <NUM>, and a damage parameter. Block <NUM> may be repeated where it is desired to generate data quantifying damage from multiple different damage parameters. The output from block <NUM> is one or more training data sets <NUM>.

A damage parameter quantifies a damage profile of the first compressor <NUM>. If the parameterization can be based on physical understanding, then the required quantity of training data may be significantly reduced (for example, by a factor of one). Parameterization may achieve this because it conditions the machine learning algorithm <NUM> to the physics of the problem. Parameterization reduces the number of dimensions from the number of blades in the annulus down to the number of physical sensitivities identified.

For example, a damage parameter may be an amount of damage to a portion of the first compressor <NUM> (such as the amount of damage received by compressor blades <NUM>). By way of another example, a damage parameter may be one or more separations between portions of the first compressor <NUM> (for example, a separation between adjacent damaged portions of the first compressor <NUM> (such as the separation between adjacent groups of compressor blades <NUM>)). By way of a further example, a damage parameter may be a gradient of damage across at least a portion of the first compressor <NUM> (such as the gradient of damage across a group of compressor blades <NUM>). By way of another example, a damage parameter may be a number of damaged portions of the first compressor <NUM> (such as the fraction of compressor blades <NUM> having damage within a percentage range).

To identify the physics of the problem, a questionnaire was circulated to current and retired compressor aerodynamicists in the Whittle Laboratory and Rolls-Royce. In the questionnaire was a description of the problem, a sample plot of damage around the annulus and example physical parameters (mean and maximum damage in the annulus). Both academic and industry engineers responded to provide exact functions that can be used to parameterise the damage, for example, it matters whether heavily damaged blades are on the edges of a cluster or in the centre.

The information from the questionnaire was used to inform the choice of ten damage parameters, they are shown in <FIG> and summarised below:.

Damage parameters one to four are calculated by convolving rotor damage as a function of position with the basis functions plotted in <FIG>. Take the second damage parameter above as an example, by convolving the maximum magnitude of damage in the whole annulus with the damage function in <FIG>, the magnitude of damage on a single compressor blade is returned. The basis function is then indexed by one rotor position and the convolution is repeated. The maximum value is taken as the parameter for input into the artificial neural network <NUM>. This is equivalent to the maximum damage in the row. This process may be repeated for damage parameters one or four to give a measure of the circumferential distribution of damage in the row.

Damage parameters five and six are calculated in two steps. First the damage function is convolved with basis function A, shown in <FIG>, and the maximum value is recorded after indexing to all positions. Then, this is repeated for function B (also shown in <FIG>), the damage parameter input into the artificial neural network <NUM> is the difference between these two values. If the value is positive that means the damage function looks more like function A, if it is negative it looks more like function B.

Damage parameters seven to ten are conditional statements based upon the intensity of damage and are illustrated in <FIG>. It was found that the stalling throttle coefficient was a non-linear function of damage magnitude which the first six functions do not clearly discriminate. For example, the third parameter would treat the case of one compressor blade with fifty percent damage the same as the case of five compressor blades with ten percent damage. Damage parameters seven and nine would highlight this particular difference clearly.

The data quantifying the first operating parameter of the first compressor <NUM> (generated at block <NUM>) and the data quantifying damage received by the first compressor <NUM> (generated at block <NUM>) forms a first training data set. It should be appreciated that additional training data sets (for example, a second training data set) may be formed where data quantifying more than one operating parameter is generated at block <NUM>.

At block <NUM>, the method includes controlling input of at least a portion of the first training data set into the first machine learning algorithm <NUM>. Where the memory <NUM> stores a plurality of machine learning algorithms <NUM>, different training data sets may be input into each of the plurality of machine learning algorithms <NUM>. For example, where the memory <NUM> stores a second machine learning algorithm, the method may include controlling input of at least a portion of the second training data set into the second machine learning algorithm.

As mentioned previously, the first machine learning algorithm <NUM> may be a first artificial neural network. An artificial neural network is assembled using a combination of transfer functions, linear and non-linear curves contained within one or more "hidden layers" that can be used to model the data. These are combined to form a flexible mathematical function, which describes both linear and non-linear relationships. Therefore, artificial neural networks can describe a large number of different mathematical relationships without laborious selection of basis functions.

<FIG> illustrates a schematic diagram of the first artificial neural network <NUM> according to example. The first artificial neural network <NUM> includes a plurality of inputs <NUM> (x<NUM> to xn), a hidden layer <NUM> (a<NUM> to am1) and an output <NUM> (O<NUM>).

To get an optimal number of curves or neurons within the artificial neural network function, the first controller <NUM> may perform cross validation as described in greater detail later in the detailed description. Additionally, the first controller <NUM> may exploit connected weights to understand the importance of each damage parameter.

The first artificial neural network <NUM> may be defined as follows: <MAT>.

Where Cj, Bj, and Aij are learned weights from the training process described in greater detail later in the detailed description, i is the number of input variables and j is the number of hidden nodes.

The first controller <NUM> is configured to use at least the first artificial neural network <NUM> to establish the unknown correlation between the defined damage parameters and the operability of a damaged compressor. In some examples, two artificial neural networks are used: a first artificial neural network <NUM><NUM> to model the stalling throttle coefficient and a second artificial neural network <NUM><NUM> to model the pressure rise characteristic.

At block <NUM>, the method includes receiving data quantifying the first operating parameter as an output of the first machine learning algorithm <NUM>. For example, the first controller <NUM> may execute the first artificial neural network <NUM><NUM> and may then receive data quantifying the stalling throttle coefficient as an output of the first artificial neural network <NUM><NUM>.

Where the memory <NUM> stores a plurality of machine learning algorithms <NUM>, the method may include receiving data quantifying a plurality of different operating parameters as an output of the plurality of machine learning algorithms <NUM>. For example, where the memory <NUM> stores the second artificial neural network <NUM><NUM>, the first controller <NUM> may execute the second artificial neural network <NUM><NUM> and may then receive data quantifying the pressure rise characteristic as an output of the second artificial neural network <NUM><NUM>.

At block <NUM>, the method includes training the first machine learning algorithm <NUM> using: the received data output from the first machine learning algorithm <NUM>; and the data quantifying the first operating parameter of the first compressor <NUM>. The first controller <NUM> may perform optimization (for example, stochastic optimization) on the first artificial neural network <NUM><NUM> using: the received data output from the first artificial neural network <NUM><NUM>; and the data quantifying the first operating parameter of the first compressor <NUM> (that is, by comparing the predicted value of the first operating parameter with the measured value of the first operating parameter). For example, the first controller <NUM> may perform any of simulated annealing, an evolutionary algorithm, or stochastic gradient descent on the first artificial neural network <NUM><NUM> to optimize the weights Cj, Bj and Aij in equation (<NUM>).

The pressure rise characteristic may be calculated as a reduction in the pressure rise coefficient relative to a datum undamaged case. In one example, fifty data points across the stable part of the first compressor's <NUM> pressure rise characteristic were used to train the pressure rise artificial neural network <NUM><NUM>. The stalling throttle coefficient (k) was used to train the stalling throttle coefficient artificial neural network <NUM><NUM> and is shown in Equation (<NUM>). Lines of constant k are shown in <FIG> as the 'constant throttle coefficient'.

Where ψ is the total-static pressure rise and φ is the flow coefficient.

To learn the weights in equation (<NUM>) from the first training data set, equation (<NUM>) is minimized to give equal bias to each data point as a function of increasing error: <MAT>.

Where k represents the number of data points, wk represents the randomly chosen importance of the data point chosen by a cross validation strategy (where cross validation is part of the method), and lk represents the relevant experimental result.

The complexity of the first artificial neural network <NUM><NUM> is determined by the number of hidden nodes, which is given as i in Equations <NUM> and <NUM>. The output is then predicted by the sum of the functions within the hidden layer. In this example, a simulated annealing approach was used with up to <NUM>^<NUM> iterations to ensure that the global minimum was found. This robust fitting mechanism ensures a high probability of finding a global minimum. In large artificial neural networks this is not generally an issue due to their flexibility, but in small artificial neural networks the possibility of obtaining a poor local minima or a saddle point is more probable.

At block <NUM>, the method may include performing cross validation. For example, the first controller <NUM> may store a plurality of first artificial neural networks <NUM><NUM> in the memory <NUM> where each of the first artificial neural networks <NUM><NUM> comprises a different number of neurons in the hidden layer <NUM>. The first controller <NUM> performs blocks <NUM>, <NUM>, <NUM> for each network of the plurality of first artificial neural networks <NUM><NUM>. It should be appreciated that where the memory <NUM> stores a plurality of different machine learning algorithms for different operating parameters, block <NUM> may include performing cross validation for one or more of those different machine learning algorithms.

In one example, in order to ensure the correct balance between generalisation and fit to the training data, nine models (i.e. nine different artificial neural networks) with a number of neurons ranging from <NUM> to <NUM> were created using a cross validation strategy. This approach ensured that over-fitting or retaining redundant features in the artificial neural network was avoided.

For the stalling throttle coefficient prediction, an artificial neural network with one hundred and twenty five data points and ten physical parameters was created. For the pressure rise artificial neural network, there were six thousand two hundred and fifty data points and the same ten physical parameters plus the flow coefficient itself (f), that is, eleven variables in total.

Data was randomly removed from the training set and a committee of models was generated with a range of different complexities. The standard deviation between the models was used to calculate the uncertainty. The results of this analysis are illustrated in <FIG>.

In more detail, <FIG> illustrates a graph <NUM> comprising: a vertical axis <NUM> for average error; and a horizontal axis <NUM> for the number of neurons in the pressure rise artificial neural networks and the stalling throttle coefficient artificial neural networks. The graph <NUM> also includes a line for the pressure rise artificial neural networks and a line for the stalling throttle coefficient artificial neural networks.

The artificial neural network with the minimum overall error is considered to be the best. For the artificial neural network which models the stalling throttle coefficient, the optimal number of neurons was found to be eleven. Nine neurons were selected for the pressure rise artificial neural network (at nine neurons, the error becomes constant at <NUM> and to avoid over-fitting, it is best to choose a simpler network and fewer neurons).

At block <NUM>, the method may include determining importance of at least a subset of the plurality of damage parameters. Where a damage parameter has an importance that does not meet a predetermined criterion (a minimum importance value for example), the method may return to block <NUM> and include re-generating the data quantifying damage received by the first compressor <NUM> without using that damage parameter. For example, the first controller <NUM> may determine the importance of the damage parameters and then repeat blocks <NUM>, <NUM>, <NUM> and <NUM> to train at least the first machine learning algorithm <NUM> using the most important damage parameters.

Although machine learning can cope with many dimensions, the accuracy suffers if too many parameters are used or if they are not independent from each other. The inventors have used machine learning to improve the parameterisation by using 'connected weights' to calculate the importance of each damage parameter. The importance li of a damage parameter i is given by: <MAT>.

Where Aij, Cj represent the non-bias machine learnt weights.

This method was used to optimise the sector sizes of the basis functions shown in <FIG>. Artificial neural networks were trained with many sector sizes and the importance of each damage parameter and the correlation between predicted and actual results was examined. The damage parameters with low importance and poor correlation were discarded to give the damage parameters mentioned above under the discussion of block <NUM>.

The importance was calculated for the final parameters for both the stalling throttle coefficient and pressure rise artificial neural networks and is plotted in <FIG>. This graph shows what types of damage are most important in affecting operability of a compressor.

In more detail, <FIG> illustrates a graph <NUM> comprising a horizontal axis <NUM> for damage parameter, and a vertical axis <NUM> for importance value. <FIG> shows that the pressure rise depends upon longer length scale damage parameters. Mean damage and the damage intensity parameters are most important. The <NUM>° damage measure is more important than <NUM>° and the damage gradient and concentration have low importance.

The stalling throttle coefficient depends upon shorter length scale parameters. Total damage in the worst <NUM>° sector is by far the most important damage parameter. Maximum damage, gradient and concentration are also more important than in the pressure rise artificial neural network. The conditional damage parameters also show that lighter damaged blades are most important for stalling throttle coefficient prediction; <NUM>%, <NUM>% and <NUM>% are more important than <NUM>%.

The output from the methods illustrated in <FIG> is one or more trained machine learning algorithms <NUM> that may be used to determine the operability of a compressor in a gas turbine engine and this is described in greater detail below with reference to <FIG>.

The one or more trained machine learning algorithms may advantageously be more accurate at determining compressor operability than other methods. For example, <FIG> illustrates a graph <NUM> of sensed value versus predicted value for the reduction in pressure rise and for the stalling throttle coefficient according to the example described above. The graph <NUM> includes a vertical axis <NUM> for the sensed value and a horizontal axis <NUM> for the predicted value and illustrates the fits achieved with both artificial neural networks trained on <NUM>% of the data. The data has been scaled between the actual observed maximum and minimum values in both cases.

The coefficient of determination R<NUM> for the stalling throttle coefficient artificial neural network was R<NUM> = <NUM> and for the pressure rise artificial neural network it was R<NUM> = <NUM>. The unpredictable variance is lower in the case of the pressure rise artificial neural network compared to the stalling throttle coefficient artificial neural network, <NUM>% of the variance is unpredictable compared to <NUM>%.

Methods of determining operability of a compressor of a gas turbine engine are described in the following paragraphs with reference to <FIG>.

At block <NUM>, the method may include receiving data quantifying damage received by one or more compressor blades of a compressor. For example, the first controller <NUM> may receive data quantifying damage received by one or more compressor blades of the second compressor <NUM> of the gas turbine engine <NUM>.

In some examples, the first controller <NUM> may receive image data of the second compressor <NUM> from the inspection device <NUM>. The first controller <NUM> may then determine the damage received by one or more compressor blades of the second compressor <NUM> using the received image data. For example, the first controller <NUM> may use an image recognition algorithm on the received image data to identify and quantify damage received by the one or more compressor blades of the second compressor <NUM>.

In other examples, the operator <NUM> may visually inspect the second compressor <NUM> using the inspection device <NUM> and record the damage received by the compressor blades using the user input device <NUM>.

At block <NUM>, the method may include generating data quantifying damage received by the compressor using the received data quantifying damage received by one or more compressor blades, and a damage parameter. For example, the first controller <NUM> may generate data quantifying damage received by the second compressor <NUM> by convoluting the data received at block <NUM> with a damage parameter. Block <NUM> may be repeated where it is desired to generate data quantifying damage from multiple different damage parameters.

Damage parameters are described in detail in the preceding paragraphs with reference to block <NUM> of <FIG> and shall consequently not be described in detail here. Briefly, the damage parameter used at block <NUM> may be an amount of damage to a portion of the second compressor <NUM>, such as the amount of damage received by the compressor blades of the second compressor <NUM>. By way of another example, the damage parameter used at block <NUM> may be one or more separations between portions of the first compressor <NUM> (for example, a separation between adjacent damaged portions of the second compressor <NUM>, such as the separation between adjacent groups of damaged compressor blades of the second compressor <NUM>). By way of a further example, the damage parameter used at block <NUM> may be a gradient of damage across at least a portion of the second compressor <NUM>, such as the gradient of damage across a group of compressor blades of the second compressor <NUM>. By way of another example, the damage parameter used at block <NUM> may be a number of damaged portions of the second compressor <NUM>, such as the fraction of compressor blades of the second compressor <NUM> having damage within a percentage range.

At block <NUM>, the method includes controlling input of the data quantifying damage received by the compressor of the gas turbine engine into a firs machine learning algorithm <NUM> that has been trained according to the methods illustrated in <FIG> and described herein. For example, the first controller <NUM> may control input of the data generated at block <NUM> into the first artificial neural network <NUM><NUM>.

At block <NUM>, the method includes receiving data quantifying a first operating parameter of the compressor as an output of the first machine learning algorithm. For example, the first controller <NUM> may execute the first artificial neural network <NUM><NUM> stored in the first memory <NUM> and then receive data quantifying the stalling throttle coefficient of the second compressor <NUM> as an output of the first artificial neural network <NUM><NUM>.

At block <NUM>, the method includes determining operability of the compressor by comparing the received data quantifying the first operating parameter of the compressor with a threshold. For example, the first controller <NUM> may determine the operability of the second compressor <NUM> by comparing the data received at block <NUM> with a threshold stored in the first memory <NUM>. The first controller <NUM> may control the display <NUM> to display the result of the operability determination, and/or may control storage of the operability determination in the first memory <NUM> (as data <NUM>).

By way of an example, the first controller <NUM> may determine operability of the second compressor <NUM> by comparing the data quantifying the stalling throttle coefficient received at block <NUM> with a threshold stalling throttle coefficient. Where the stalling throttle coefficient received at block <NUM> is greater than a threshold stall point coefficient, the first controller <NUM> determines that the second compressor <NUM> is operable. Where the stalling throttle coefficient received at block <NUM> is equal to, or less than the threshold stalling throttle coefficient, the first controller <NUM> determines that the second compressor <NUM> is not operable.

Where the first memory <NUM> stores a plurality of machine learning algorithms, blocks <NUM>, <NUM> and <NUM> may be performed for some, or all, of those machine learning algorithms to determine the operability of the second compressor <NUM>.

For example, where the first memory <NUM> stores the second artificial neural network <NUM><NUM>, block <NUM> may include controlling input of the data quantifying damage received by the compressor of the gas turbine engine into a second machine learning algorithm <NUM> trained according to the methods illustrated in <FIG> and described in the preceding paragraphs. For example, the first controller <NUM> may control input of the data generated at block <NUM> into the second artificial neural network <NUM><NUM>.

At block <NUM>, the method includes receiving data quantifying a second operating parameter of the compressor as an output of the second machine learning algorithm <NUM>. For example, the first controller <NUM> may execute the second artificial neural network <NUM><NUM> stored in the first memory <NUM> and then receive data quantifying the pressure rise characteristic of the second compressor <NUM> as an output of the second artificial neural network <NUM><NUM>.

At block <NUM>, the method includes determining operability of the compressor by comparing the received data quantifying the second operating parameter of the compressor with a threshold. For example, the first controller <NUM> may determine operability of the second compressor <NUM> by comparing the data quantifying the pressure rise characteristic received at block <NUM> with a threshold pressure rise characteristic stored in the first memory <NUM>. Where the pressure rise characteristic received at block <NUM> is greater than the threshold pressure rise characteristic, the first controller <NUM> determines that the second compressor <NUM> is operable. Where the pressure rise characteristic received at block <NUM> is equal to, or less than the threshold pressure rise characteristic, the first controller <NUM> determines that the second compressor <NUM> is not operable.

In some examples, the first controller <NUM> may determine that the second compressor <NUM> is not operable when block <NUM> returns an inoperable determination for only one operating parameter. For example, the second compressor <NUM> is determined to be inoperable when the stalling throttle coefficient received at block <NUM> is equal to, or less than the threshold stalling throttle coefficient, even if the pressure rise characteristic received at block <NUM> is greater than the threshold pressure rise characteristic.

In other examples, the first controller <NUM> may determine that the second compressor <NUM> is not operable only when block <NUM> returns an inoperable determination for two or more operating parameters. For example, the second compressor <NUM> is determined to be inoperable when the stalling throttle coefficient received at block <NUM> is equal to, or less than the threshold stalling throttle coefficient, and when the pressure rise characteristic received at block <NUM> is equal to, or less than then threshold pressure rise characteristic.

The methods illustrated in <FIG> and described above are advantageous in that they enable a determination of compressor operability to be made from an inspection of the compressor. Where the inspection device <NUM> enables 'on-wing' inspection (for example, where the inspection device <NUM> is a borescope), the determination of compressor operability made be made without removing the gas turbine engine from the aircraft. Furthermore, where the operation of the inspection device <NUM> is automated (for example, where the inspection device <NUM> is a continuum robot), the determination of compressor operability may be made with minimal or no human involvement.

Methods of using an operability determination are described in the following paragraphs with reference to <FIG>.

At block <NUM>, the method includes receiving an operability determination for a compressor of a gas turbine engine. For example, the first controller <NUM> may receive the operability determination for the second compressor <NUM> of the gas turbine engine <NUM> by reading data <NUM> from the first memory <NUM>. Alternatively, the first controller <NUM> may receive the operability determination for the second compressor <NUM> from another controller, separate to the first controller <NUM>.

At block <NUM>, the method includes determining one or more actions to be performed using the operability determination received at block <NUM>. For example, the first controller <NUM> may determine that one or more of the following actions should be performed to increase the operational safety of the gas turbine engine <NUM> and/or to increase the time until the next service: control the rate of fuel deliverable to the combustor <NUM> of the gas turbine engine <NUM> to avoid fuelling spikes and to limit slam accelerations; control the operational state of one or more bleed valves of the second compressor <NUM>; control the orientation of one or more stators of the second compressor <NUM>.

To assist in the determination at block <NUM>, the first controller <NUM> may perform one or more of following: calculate the surge margin of the second compressor <NUM> and compare the calculated surge margin with a surge margin of a gas turbine engine having an undamaged compressor; calculate the efficiency of the gas turbine engine <NUM>; determine engine operating parameters or a safety margin of the gas turbine engine <NUM>; determine engine performance of the gas turbine engine <NUM>.

At block <NUM>, the method includes generating control data using the determined one or more actions. For example, the first controller <NUM> may generate any of the following control data using the one or more actions determined at block <NUM>: control data that defines a maximum rate of fuel deliverable to the combustor <NUM> of the gas turbine engine <NUM>; control data that defines an operational state (open or closed for example) of one or more bleed valves of the second compressor <NUM>; control data that defines an orientation for one or more stators of the second compressor <NUM>.

The generated control data may define repair instructions for execution by a robotic repair tool. In this example, the first controller <NUM> may transmit the control data to a controller of the robotic repair tool to enable the robotic repair tool to perform the repair instructions (for example, laser deposition of material to repair a damaged compressor blade). Alternatively, the first controller <NUM> may use the control data to directly control the robotic machine tool to perform the machining instructions.

At block <NUM>, the method may include controlling storage of the control data in a memory to update (or add) one or more gas turbine engine operating parameters. For example, the first controller <NUM> may transmit the control data to the second controller <NUM>. The second controller <NUM> may subsequently update (or add) one or more of the gas turbine engine operating parameters <NUM> using the control data.

At block <NUM>, the method may include controlling a component of the gas turbine engine using the generated control data. For example, the second controller <NUM> may control a component (such as a fuel pump, a bleed valve, or a stator) of the gas turbine engine <NUM> during flight using one of the gas turbine engine operating parameters <NUM> that was updated at block <NUM> to avoid compressor surge.

In addition to, or as an alternative to blocks <NUM>, <NUM>, <NUM> and <NUM>, the method may move to block <NUM> from block <NUM>.

At block <NUM>, the method may include selecting a repair scheme for the compressor using the received operability determination. For example, the first controller <NUM> may use the operability determination received at block <NUM> to select a repair scheme to reduce the likelihood of surge in the second compressor <NUM>. For example, the first controller <NUM> may select a repair scheme to restore material to one or more compressor blades of the second compressor <NUM> and schedule the repair for when the aircraft carrying the gas turbine engine <NUM> is at an airport having that repair facility.

The methods illustrated in <FIG> and described in the preceding paragraphs may advantageously enable safer operation of the gas turbine engine <NUM> and may increase the time until the next service. Additionally, the methods may enable optimal selection and scheduling of a repair.

It will be understood that the invention is not limited to the embodiments above-described and various modifications and improvements can be made without departing from the concepts described herein. For example, the different embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment containing both hardware and software elements.

In some examples, blocks <NUM> and <NUM> may alternatively comprise generating data quantifying damage received by the first compressor <NUM> and the second compressor <NUM> by applying an algorithm (for example consisting of one or more Fourier-related transforms such as a Hadamard transform) to the received data quantifying damage received by the one or more compressor blades.

In other examples, the apparatus <NUM> may be configured to enable one or more machine learning algorithms to be trained for any rotor of a gas turbine engine (such as a fan rotor or a turbine rotor). For example, a training data set may be generated for damage received by turbine blades of a turbine rotor, and one or more operating parameters that are affected by the damage. The one or more machine learning algorithms may then be used to determine the operability of that rotor of the gas turbine engine <NUM>. The apparatus <NUM> may also be configured to control the operation of the gas turbine engine <NUM> using the determined operability of that rotor, and/or schedule a repair of the rotor.

Claim 1:
A computer-implemented method comprising:
controlling (<NUM>) input of at least a portion of a first training data set into a first machine learning algorithm (<NUM>), the first training data set including: data quantifying damage to one or more components of a first gas turbine engine; and data quantifying a first operating parameter of the first gas turbine engine;
receiving data (<NUM>) quantifying the first operating parameter as an output of the first machine learning algorithm (<NUM>); and
training (<NUM>) the first machine learning algorithm (<NUM>) using: the received data output from the first machine learning algorithm (<NUM>); and data quantifying the first operating parameter of the first gas turbine engine, the trained first machine learning algorithm (<NUM>) being configured to enable determination of operability of a second gas turbine engine.