Patent Publication Number: US-11035299-B2

Title: System and method for an engine controller based on inverse dynamics of the engine

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The application is a continuation of U.S. patent application Ser. No. 15/361,254, filed on Nov. 25, 2016 and granted to U.S. Pat. No. 10,221,776, which claims the benefit of U.S. Provisional Patent Application No. 62/371,019 filed on Aug. 4, 2016, the contents of which are hereby incorporated by reference. 
    
    
     TECHNICAL FIELD 
     The disclosure relates generally to the field of gas turbine engine control, and more particularly, to an engine controller with a feedforward controller. 
     BACKGROUND 
     Methodologies used for controlling the acceleration of a gas turbine engine shaft include the use of a feedback controller. However, there are challenges achieving a desired response time while maintaining a certain stability margin when using a feedback controller. To overcome this issue, a feedforward controller is used in conjunction with the feedback controller. The feedforward controller can decrease the response time without penalizing stability margin. The feedforward controller is typically tuned iteratively in test. This operation is repeated for an array of operating points covering the gas turbine engine flight envelope. This method, which requires iterative testing of the engine, is resource consuming and expensive when the flight envelope is large. 
     Improvements in control systems are therefore desirable. 
     SUMMARY 
     In accordance with one broad aspect, there is provided a system for controlling a gas turbine engine of an aircraft. The system comprises an interface to a fuel flow metering valve for controlling a fuel flow to the engine in response to a fuel flow command and a controller connected to the interface and configured for outputting the fuel flow command to the fuel flow metering valve in accordance with a required fuel flow. The controller comprises a feedforward controller configured for receiving a requested engine speed and engine acceleration, obtaining a steady-state fuel flow for the requested engine speed and a relationship between fuel flow and gas generator speed, and determining the required fuel flow to obtain the requested engine acceleration as a function of the requested engine speed, the steady-state fuel flow, and the relationship between fuel flow and gas generator speed. 
     In accordance with another broad aspect, there is provided a method for controlling a gas turbine engine. The method comprises receiving a requested engine speed and acceleration and obtaining a steady-state fuel flow for the requested engine speed and a relationship between fuel flow and gas generator speed. The method further comprises determining the required fuel flow to obtain the requested engine acceleration as a function of the requested engine speed, the steady-state fuel flow, and the relationship between fuel flow and gas generator speed and outputting a command to a fuel flow metering valve in accordance with the required fuel flow. 
     In accordance with yet another broad aspect, there is provided a non-transitory computer-readable medium having stored thereon program code executable by a processor for controlling a gas turbine engine. The program code comprises instructions for receiving a requested engine speed and acceleration and obtaining a steady-state fuel flow for the requested engine speed and a relationship between fuel flow and gas generator speed. The program code further comprises instructions for determining the required fuel flow to obtain the requested engine acceleration as a function of the requested engine speed, the steady-state fuel flow, and the relationship between fuel flow and gas generator speed and outputting a command to a fuel flow metering valve in accordance with the required fuel flow. 
    
    
     
       DESCRIPTION OF THE DRAWINGS 
       Reference is now made to the accompanying figures in which: 
         FIG. 1  is a schematic cross-sectional view of a gas turbine engine; 
         FIG. 2  is a block diagram of an example aircraft system; 
         FIG. 3  is a schematic diagram of an example controller for an engine; and 
         FIG. 4  is a schematic diagram of an example feedforward controller for an engine. 
         FIG. 5  is a flow chart of an example method performed by a controller. 
         FIG. 6  is a schematic diagram of an example controller. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  illustrates a gas turbine engine  10  of a type provided for use in subsonic flight, generally comprising in serial flow communication a fan  12  through which ambient air is propelled, a compressor section  14  for pressurizing the air, a combustor  16  in which the compressed air is mixed with fuel and ignited for generating an annular stream of hot combustion gases, and a turbine section  18  for extracting energy from the combustion gases. High pressure rotor(s)  20  of the turbine section  18  are drivingly engaged to high pressure rotor(s)  22  of the compressor section  14  through a high pressure shaft  24 . Low pressure rotor(s)  26  of the turbine section  18  are drivingly engaged to the fan rotor  12  and to other low pressure rotor(s) (not shown) of the compressor section  14  through a low pressure shaft  28  extending within the high pressure shaft  24  and rotating independently therefrom. Although illustrated as a turbofan engine, the gas turbine engine  10  may alternatively be another type of engine, for example a turboshaft engine, also generally comprising in serial flow communication a compressor section, a combustor, and a turbine section, and a fan through which ambient air is propelled. A turboprop engine may also apply. 
       FIG. 2  illustrates the gas turbine engine  10  of  FIG. 1  within an aircraft  200 . Engine thrust is controlled by a full authority digital electronic control (FADEC) which regulates the speed of the high pressure rotor(s)  20 ,  22  and low pressure rotor(s)  26  in response to a pilot-operated thrust lever, ambient conditions, pilot selection and aircraft discrete inputs. For simplicity, only the main control system components of the FADEC, namely a controller or an electronic engine control (EEC)  202 , a thrust lever  201 , and a fuel flow metering valve  204 , are illustrated. FADEC works by receiving multiple input variables of the current flight condition including air density, throttle lever position, engine temperatures, engine pressures, and many other parameters. The inputs are received by EEC  202  and analyzed multiple times per second. Engine operating parameters such as fuel flow, stator vane position, bleed valve position, and others may be computed from this data and applied as appropriate. The FADEC may be a single channel FADEC or a dual channel architecture. 
     The fuel flow metering valve or simply metering valve  204  is connected to the EEC  202  via an interface or connection  203 . The fuel flow metering valve  204  is arranged to control a fuel flow to the engine in response to a fuel flow command from the EEC  202 . The metering valve  204  is under direct control from EEC  202  and enables thrust control, in response to variable guide vane position demands and fuel flow demands. The metering valve  204  provides the engine  10  with fuel from a fuel source  206  at a required pressure and flow to permit control of engine power. EEC  202  comprises digital logic to energize the metering valve  204 . Sensor data obtained for a low rotor and/or a high pressure rotor can provide information about the speed of the engine  10 . 
     EEC  202  is a controller operationally connected to the fuel flow metering valve  204  via the interface  203  and configured to generate the signal representing the final fuel flow rate. For example, EEC  202  may comprise a feedforward controller  208  and a feedback controller  210 . EEC  202  is configured to control the gas turbine shaft acceleration through fuel flow regulation. The feedforward controller  208  allows, in conjunction with the feedback controller  210 , the tracking of the reference acceleration without the need for iterative gain tuning. 
       FIG. 3  shows an example implementation inside EEC  202  of a method to control gas turbine engine  10  in accordance with one embodiment EEC  202  includes a feedforward controller  208  and a feedback controller  210 . A signal  215  representing a requested gas generator speed, denoted by Ngreq, is input to the feedforward controller  208 . In some embodiments, Ngreq  215  is the requested gas generator shaft speed. Signal Ngreq  215  may be obtained from a data table or an outer control loop. For example, Ngreq  215  may be the Ng speed requested by the outer control loop to achieve a certain engine power level, or thrust level. Ngreq  215  may also be a speed value selected to avoid a given engine limitation. Feedforward controller  208  is configured to determine and output a feedforward fuel flow WF FF    217 . The feedforward fuel flow WF FF    217  is used to compute a total fuel flow WF tot  and generate a fuel flow signal Nc  219 . The fuel flow signal Nc  219  is then sent to the gas turbine engine  10 , represented by plant model  220 , as an actuator command for controlling gas turbine speed and acceleration. 
     In some embodiments, in order to limit engine acceleration to a certain threshold, the controller  202  receives a reference acceleration, such as the requested acceleration {dot over (N)}greq  222 . A rate-limited gas generator speed NgreqRL  232  is obtained by applying the requested gas generator speed Ngreq  215  to rate-limiter  216  based on the the requested acceleration {dot over (N)}greq  222 . This way, a time derivative of the rate-limited gas generator speed NgreqRL  232  does not exceed the requested acceleration Ngreq  222 , thereby controlling acceleration of the engine  10 . The feedforward fuel flow WF FF    217  may then be determined based on the rate-limited gas generator speed NgreqRL  232 . In some embodiments, the reference acceleration is obtained from a data table (not shown). The data table may be pre-determined based on characteristics of engine  10 . 
     In some embodiments, the rate-limiter  216  is provided as part of feedforward controller  208 , such that feedforward controller  208  may take Ngreq  215  and apply a rate limit accordingly. 
     In order to generate the fuel flow command Nc  219 , a feedback controller  210  may also be implemented, together with the feedforward controller  208 . The feedback controller  210  forms a closed loop, the feedforward controller  208  forms an open-loop. The feedback controller  210  may be any kind of suitable feedback controller such as a proportional-integral-derivative (PID) controller. A feedback fuel flow WF FB    226  may be generated by the feedback controller  210  and sent to summation junction  218 , together with the feedforward fuel flow WF FF    217 , to obtain WF tot , representing the total fuel flow. Total fuel flow WF tot  is used to generate the fuel flow command Nc  219 . 
     In some embodiments, the feedback controller  210  takes as input an acceleration error {dot over (N)}g err    224  that is determined as the difference between the requested acceleration {dot over (N)}g req    222  and a filtered acceleration Ng  228 . The requested acceleration {dot over (N)}g req    222  and the filtered acceleration {dot over (N)}g  228  are sent to a subtraction junction  223  to compute the acceleration error {dot over (N)}g err    224 . The filtered acceleration {dot over (N)}g  228  is removed from the requested acceleration {dot over (N)}g req    222  to result in the acceleration error {dot over (N)}g err    224 . 
     The filtered acceleration {dot over (N)}g  228  may be obtained by taking a gas generator speed Ng  221  and feeding it through a filtered derivative function  227 , which may generate a numerical derivative. The gas generator speed Ng  221  may be obtained in a number of ways. For example, it may be a measured value of the gas turbine shaft speed obtained from gas engine  10 . Alternatively, the gas generator speed Ng  221  may be an output of a plant model  220 . The plant model  220  may be implemented based on a function representing suitable engine dynamics of engine  10 , such as the transfer function: 
     
       
         
           
             
               K 
               
                 
                   τ 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   s 
                 
                 + 
                 1 
               
             
             , 
           
         
       
     
     where τ represents an estimated time constant of the plant model and K represents an estimated gain of the plant model. For example, all hardware involved in fuel delivery to the engine  10  and its respective relationships may be simplified and modelled in the plant model  220 . The plant model  220  may take the fuel flow command Nc  219  as input and generate the gas generator speed Ng  221 . 
     In accordance with some embodiments, a model-based feedforward controller  208  is used to control the acceleration of a gas turbine engine  10  based on engine behavior. For example, it may be modelled based on inverse dynamics of the engine. The model-based feedforward controller  208  may provide a lead time required to compensate for a lag of the engine. 
     In some embodiments, the engine behavior can be simplified by a linear model of the first-order as seen in equation (1) below. That is, the feedforward controller  208  may be an inverse dynamics feedforward controller based on an inverse relationship between a fuel flow and a speed of the gas turbine engine. This relationship may be modelled as equation (1) below: 
                       P   ⁡     (   s   )       =         δ   ⁢           ⁢     Ng   ⁡     (   s   )           δ   ⁢           ⁢     Wf   ⁡     (   s   )           =     K       τ   ⁢           ⁢   s     +   1           ,           (   1   )               
where:
 
     Ng(s) represents a gas generator speed of the engine; 
     Wf(s) represents a fuel flow 
     τ is an estimated time constant; and 
     K is an estimated gain. 
     This relationship represented by equation (1) above may be valid for small variations around a given operating point. This operating point is typically a function of corrected gas generator speed Ng and altitude. The feedforward controller  208  designed based on equation (1) above may not require any additional tuning and testing. In some embodiments, a driving equation of the feedforward filter of the feedforward controller  208  may be given by equation (2) below: 
                         δ   ⁢           ⁢       Wf   cmd     ⁡     (   s   )           δ   ⁢           ⁢       Ng   req     ⁡     (   s   )           =         τ   ⁢           ⁢   s     +   1     K       ,           (   2   )               
where:
 
     Ng req  represents the requested gas generator speed; and 
     Wf cmd  represents a commanding fuel flow of the engine. 
     Reference is now made to  FIG. 4 , which shows an example feedforward controller  208  in accordance with one embodiment, implemented based on equation (3) above. The rate-limited requested gas generator speed Ngreq RL    232  signal is sent to a differentiator  235 . The differentiator may be for example a forward Euler derivative or any other suitable derivative function. The resulting signal S 1  is multiplied at component  236  by an estimated time constant τ and divided by the estimated gain K to arrive at signal S 2 , which is used to generate the feedforward fuel flow WF FF    217 . The feedforward controller  208  is thus built based on a simplified inverse dynamic relationship of a gas generator. 
     The feedforward controller  208  may further take as input the rate-limited requested gas generator acceleration Ngreq RL *  233  and the steady-state fuel flow WF SS *  234 . In some embodiments, Ngreq RL *  233  is a previous value of the rate-limited gas generator speed Ngreq RL    232  acquired during a previous pass. In some embodiments, WF SS *  234  represents a steady state fuel flow for Ngreq RL *  233 . Ngreq RL    232  and Ngreq RL *  233  are used to generate a signal S 3 , which is sent to a subtraction junction  237  where the Ngreq RL *  233  signal is subtracted from Ngreq RL    232 . The resulting signal S 3  is then divided by the plant model estimated gain K at component  238  to generate signal S 4 . Signal S 4  is summed at the summation junction  239  along with signal S 2  and WF SS *  234  to determine the feedforward fuel flow WF FF    217 , which is the output of feedforward controller  208  and is used to determine the fuel flow Nc  219  as described above. 
     The systems and methods described herein requires a small amount of data to be computed or obtained. For example, in some embodiments, the parameters required are the plant model estimated time constant T, plant model estimated gain K, and steady-state fuel flow WF SS *  234  for a plurality of operating points of the engine. These values may be readily obtained from a data table that is stored either within or outside EEC  202 . The data table may be pre-determined based on the characteristics of engine  10 . For example, the values τ, K, and WF SS * may be pre-populated and entered into the data table from running software simulations based on the model or other properties of engine  10 . In some embodiments, the values of T, K change as a function of corrected gas generator speed Ng and/or altitude. 
     Accordingly, in some embodiments, EEC  202  is configured to generate a fuel flow command in accordance with a required fuel flow. EEC  202  is connected to an interface to a fuel flow metering valve for controlling the fuel flow to the engine in response to the fuel flow command. EEC  202  is configured to perform a method for controlling a gas turbine engine. An example embodiment of the method is illustrated in  FIG. 5 . 
     At step  510 , EEC  202  receives a requested gas generator speed of the engine and a requested acceleration of the engine. At step  520 , EEC  202  obtains a steady-state fuel flow for the requested engine speed, and the relationship between fuel flow and gas generator speed. As indicated above, the relationship may be modeled as a transfer function of equation (2) or the inverse relationship of equation (1). At step  530 , EEC  202  determines the required fuel flow to obtain the requested gas generator acceleration as a function of the requested engine speed, the steady-state fuel flow, and the relationship between fuel flow and gas generator speed. At step  540 , EEC  202  outputs a command to a fuel flow metering valve  204 , the fuel flow metering valve  204  arranged to control a fuel flow to the engine  10 . 
     In some embodiments, the method  500  further comprises a step of limiting acceleration of the gas turbine engine  10  by applying a rate limit to the requested engine speed, for example using rate limiter  230 . In some embodiments, the required fuel flow is adjusted based on an acceleration error, for example using feedback controller  210 , where the acceleration error is determined based on a reference acceleration and an actual engine acceleration determined from an actual gas generator speed. 
       FIG. 6  shows a schematic representation of the EEC  202 , as a combination of software and hardware components in a computing device  600 . The computing device  600  may comprise one or more processing units  602  and one or more computer-readable memories  604  storing machine-readable instructions  606  executable by the processing unit  602  and configured to cause the processing unit  602  to generate one or more outputs  610  based on one or more inputs  608 . The inputs may comprise one or more signals representative of the requested gas generator speed, the time constant, the gain, and the steady state fuel flow. The outputs  610  may comprise one or more signals representative of the feedforward fuel flow, the feedback fuel flow, and the fuel flow command. 
     Processing unit  602  may comprise any suitable devices configured to cause a series of steps to be performed by computing device  600  so as to implement a computer-implemented process such that instructions  606 , when executed by computing device  600  or other programmable apparatus, may cause the functions/acts specified in method  500  to be executed. Processing unit  602  may comprise, for example, any type of general-purpose microprocessor or microcontroller, a digital signal processing (DSP) processor, an integrated circuit, a field programmable gate array (FPGA), a reconfigurable processor, other suitably programmed or programmable logic circuits, or any combination thereof. 
     Memory  604  may comprise any suitable known or other machine-readable storage medium. Memory  704  may comprise non-transitory computer readable storage medium such as, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Memory  604  may include a suitable combination of any type of computer memory that is located either internally or externally to computing device  600  such as, for example, random-access memory (RAM), read-only memory (ROM), compact disc read-only memory (CDROM), electro-optical memory, magneto-optical memory, erasable programmable read-only memory (EPROM), and electrically-erasable programmable read-only memory (EEPROM), Ferroelectric RAM (FRAM) or the like. Memory  604  may comprise any storage means (e.g. devices) suitable for retrievably storing machine-readable instructions  606  executable by processing unit  602 . 
     Various aspects of the present disclosure may be embodied as systems, devices, methods and/or computer program products. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more non-transitory computer readable medium(ia) (e.g., memory  604 ) having computer readable program code (e.g., instructions  606 ) embodied thereon. The computer program product may, for example, be executed by a computer to cause the execution of one or more methods disclosed herein in entirety or in part. 
     Computer program code for carrying out operations for aspects of the present disclosure in accordance with instructions  606  may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or other programming languages. Such program code may be executed entirely or in part by a computer or other data processing device(s). It is understood that, based on the present disclosure, one skilled in the relevant arts could readily write computer program code for implementing the methods disclosed herein. 
     The above description is meant to be exemplary only, and one skilled in the relevant arts will recognize that changes may be made to the embodiments described without departing from the scope of the invention disclosed. For example, the blocks and/or operations in the flowcharts and drawings described herein are for purposes of example only. There may be many variations to these blocks and/or operations without departing from the teachings of the present disclosure. For instance, the blocks may be performed in a differing order, or blocks may be added, deleted, or modified. The structure illustrated is thus provided for efficiency of teaching the present embodiment. The present disclosure may be embodied in other specific forms without departing from the subject matter of the claims. Also, one skilled in the relevant arts will appreciate that while the systems, methods and computer readable mediums disclosed and shown herein may comprise a specific number of elements/components, the systems, methods and computer readable mediums may be modified to include additional or fewer of such elements/components. The present disclosure is also intended to cover and embrace all suitable changes in technology. Modifications which fall within the scope of the present invention will be apparent to those skilled in the art, in light of a review of this disclosure, and such modifications are intended to fall within the appended claims.