PATENT ABSTRACT
A system and method are provided for monitoring a pressure of fuel supplied to the fuel injector, and providing a control input voltage to the piezostack in response to the pressure to cause the injector to provide a fuel injection having a desired shape. In the system and method, providing a control input voltage includes applying a model-based algorithm to the pressure to determine the control input voltage.

PATENT DESCRIPTION
TECHNICAL FIELD 
       [0001]    The present disclosure relates generally to fuel injection for internal combustion engines and more specifically to fuel injection rate shaping using a model-based closed-loop controller. 
       BACKGROUND 
       [0002]    Various fuel injectors are known, including solenoid actuated fuel injectors and piezoelectrically actuated fuel injectors. Compared with solenoid actuated fuel injectors, piezoelectrically actuated injectors have a higher bandwidth, which allows for the delivery of more complex injection rate profiles, examples including tightly-spaced pulse trains and rate shaping. As is known in the art, injection rate shaping may reduce overall fuel consumption and improve the trade-off between NOx and particulate matter emissions. 
         [0003]    A boot shape injection profile is depicted in  FIG. 1 , and is an example of rate shaping. Profile  100  includes a “toe”  102  and a “shank”  104 . Profile  100  may provide benefits for diesel engines operating at high load and medium speed. Various techniques may be employed for rate shaping. In U.S. Pat. No. 6,079,641, a piezoelectric fuel injector with open-loop control is disclosed for producing rate shaped injections. In Kohketsu, S., Tanabe, K., and Mori, K., 2000, “Flexibly controlled injection rate shape with next generation common rail system for heavy duty DI diesel engines,”  SAE Technical Paper  (2000-01-0705), a system with two common rails is disclosed for creating rate shaped injection profiles. In U.S. Pat. No. 7,896,257, a position sensor is disclosed for estimating fueling rate for the purpose of closed-loop injection rate control and failure diagnosis. In Wu, C., and Sun, Z., 2013, “Design and control of a direct fuel injector with rate shaping capability,”  American Control Conference  2013, Washington, D.C., an injector design is outlined which can enable rate shaping by utilizing an internal feedback mechanism. 
       SUMMARY 
       [0004]    The present disclosure provides within-an-engine-cycle control of rate shaping. In one embodiment, the present disclosure provides a method, comprising monitoring a pressure of fuel supplied to a fuel injector of an engine, and providing a control input voltage to a piezostack of the fuel injector in response to the pressure to cause the injector to provide a fuel injection having a desired shape. In this embodiment, providing a control input voltage includes applying a model-based algorithm to the pressure to determine the control input voltage. In one aspect of this embodiment, providing a control input voltage includes causing the injector to provide a fuel injection having a boot shape with a shank wherein a needle valve of the fuel injector is fully opened and a toe wherein the needle valve is partially opened. In another aspect, providing a control input voltage includes applying a state space model having seven dynamic states to the pressure. In another aspect, providing a control input voltage includes applying a model-based algorithm having a hysteresis model of the piezostack to the voltage of the piezostack. In yet another aspect of this embodiment, the control input voltage is provided to the piezostack to cause an upper section of the needle valve to move to a desired position which is determined by applying the model-based algorithm, the desired position corresponding to a desired fuel flow rate through a needle valve of the fuel injector. In still another aspect, this embodiment further includes repeating monitoring the pressure, and providing the control signal a plurality of times during each cycle of operation of the engine. 
         [0005]    According to another embodiment of the present disclosure, a system is provided, comprising a piezostack driver configured to provide a stack voltage to a piezostack of a fuel injector of an engine, a voltage sensor disposed in electrical communication with the stack voltage and configured to provide stack voltage measurement signals representing the stack voltage, a pressure sensor disposed in fluid communication with a fuel supply to the fuel injector and configured to provide line pressure measurement signals representing a fuel pressure of a body of the injector, and a controller coupled to the piezostack driver, the voltage sensor, and the pressure sensor, the controller including logic to apply the line pressure measurement signals to a model of the fuel injector to generate control input signals, the controller providing the control input signals to the piezostack driver to cause the piezostack driver to provide stack voltages such that the fuel injector provides a fuel injection having a desired shape. In one aspect of this embodiment, the model includes a state space model having seven dynamic states. In another aspect, the control input signals are generated to cause the piezostack driver to provide stack voltages such that the fuel injector provides a fuel injection having a boot shape with a shank wherein a needle valve of the fuel injector is fully opened and a toe wherein the needle valve is partially opened. In yet another aspect, the model includes a hysteresis model of the piezostack of the fuel injector. In another aspect, the controller logic applies the line pressure measurement signals to the model a plurality of times during each cycle of operation of the engine. In still another aspect of this embodiment, the controller is an FPGA based controller. 
         [0006]    In another embodiment of the present disclosure, a controller is provided, comprising a feedback interface configured to receive line pressure measurement signals representing fuel pressures of a body of the fuel injector, a control interface configured to output control signals to a piezostack driver associated with the fuel injector, and an FPGA coupled to the feedback interface and the control interface, the FPGA being programmed to apply the line pressure measurement signals to a model-based algorithm and providing resulting control signals through the control interface to cause the injector to provide a fuel injection having a desired shape. In one aspect of this embodiment, the desired shape is a boot shape with a shank wherein a needle valve of the fuel injector is fully opened and a toe wherein the needle valve is partially opened. In another aspect, the model-based algorithm includes a state space model having seven dynamic states. In another aspect, the model-based algorithm includes a hysteresis model of the piezostack of the fuel injector. In another aspect, the FPGA generates the control signals to cause the injector to provide a fuel injection a plurality of times in a single engine cycle. In yet another aspect of the present disclosure, the FPGA generates the control signals to cause an upper section of a needle valve of the fuel injector to move to a desired position corresponding to a desired fuel flow rate through the needle valve. In another aspect, the FPGA is configured to generate a control signal in response to a line pressure measurement signal at least once every eight microseconds. In still another aspect, the feedback interface receives the line pressure measurement signals at a sampling rate of at least 500 kHz. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]    The above-mentioned and other features of this disclosure and the manner of obtaining them will become more apparent and the disclosure itself will be better understood by reference to the following description of embodiments of the present disclosure taken in conjunction with the accompanying drawings, wherein: 
           [0008]      FIG. 1  is a graphical representation of a boot-shaped fuel injection: 
           [0009]      FIG. 2  is a conceptual diagram of an experimental setup for a system according to the present disclosure; 
           [0010]      FIG. 3  is a schematic diagram of a piezoelectric fuel injector; 
           [0011]      FIG. 4  is a model diagram of a tip of the needle depicted in  FIG. 3 ; 
           [0012]      FIG. 5  is a block diagram of a driver according to the present disclosure; 
           [0013]      FIG. 6  is a graphical representation of experimental and simulated performance of the driver of  FIG. 5 ; 
           [0014]      FIG. 7  is a graphical representation of a piezostack hysteresis model according to the present disclosure; 
           [0015]      FIG. 8  is a block diagram of a control scheme according to the present disclosure; 
           [0016]      FIG. 9  is a graphical representation of variables involved in controlling needle top displacement according to the present disclosure; 
           [0017]      FIG. 10  is a block diagram of parallel execution aspects of the present disclosure; 
           [0018]      FIG. 11  is a block diagram of serial execution aspects of the present disclosure; 
           [0019]      FIG. 12  is a block diagram of reference shaping for bandwidth limited compensation; 
           [0020]      FIGS. 13-16  are graphical representations of simulation results of the system of the present disclosure; and 
           [0021]      FIGS. 17-20  are graphical representations of experimental results of the system of the present disclosure. 
       
    
    
       [0022]    Although the drawings represent embodiments of the various features and components according to the present disclosure, the drawings are not necessarily to scale and certain features may be exaggerated in order to better illustrate and explain the present disclosure. The exemplification set out herein illustrates embodiments of the disclosure, and such exemplifications are not to be construed as limiting the scope of the disclosure in any manner. 
       DETAILED DESCRIPTION OF EMBODIMENTS 
       [0023]    For the purpose of promoting an understanding of the principles of the disclosure, reference will now be made to the embodiments illustrated in the drawings, which are described below. It will nevertheless be understood that no limitation of the scope of the disclosure is thereby intended. The disclosure includes any alterations and further modifications in the illustrated device and described methods and further applications of the principles of the disclosure, which would normally occur to one skilled in the art to which the disclosure relates. Moreover, the embodiments were selected for description to enable one of ordinary skill in the art to practice the disclosure. 
         [0024]    Referring again to  FIG. 1 , among the different rate shapes, boot shape profile  100 is challenging to form since the injection rate is very sensitive to needle displacement during toe  102 . To deliver the desired boot shape injection rate profiles, the present disclosure provides a model-based closed-loop control strategy that employs dynamic surface control (DSC). Further details regarding the dynamic modeling of a piezoelectric fuel injector according to the present disclosure are provided in Le, D., Shen, J., Ruikar, N., and Shaver, G. M., 2014, “Dynamic modeling of a piezoelectric fuel injector during rate shaping operation,”  International Journal of Engine Research,  15(4). While backstepping is a flexible strategy for controlling nonlinear systems, it suffers from the issue of “explosion of terms” due to the high relative degree of the model. Instead of analytically calculating the virtual control derivatives as in backstepping, the dynamic surface control of the present disclosure uses first-order low-pass filters to approximate the derivatives numerically. As such, DSC requires less computational effort. In addition, DSC is capable of attenuating high frequency measurement noise as a result of the approximation of derivatives via low-pass filters. The strategy of numerical derivatives can use different forms of low-pass filters such as the linear and nonlinear second-order low-pass filters in Farrell, J. A., Polycarpou, M., Sharma, M., and Dong, W., 2009, “Command filtered backstepping,”  IEEE Transactions on Automatic Control,  54(6) and Yoon, S., Kim, Y., and Park, S., 2012, “Constrained adaptive backstepping controller design for aircraft landing in wind disturbance and actuator stuck,”  International Journal of Aeronautical and Space Sciences,  13(1), respectively. In Song, B., Hedrick, J. K., and Howell, A., 2002, “Robust stabilization and ultimate boundedness of dynamic surface control systems via convex optimization,”  International Journal of Control,  75(12), convex optimization was used for selecting the controller gains. However, in the present disclosure, the gains and the time constants of the linear first-order low-pass filters are tuned experimentally. 
         [0025]    The present disclosure provides: i) model-based development of an algorithm for “within-an-engine-cycle” control of fuel injection rate shaping with a piezoelectric fuel injector, ii) model-based stability analysis, iii) validation in simulation, and iv) experimental validation via algorithm implementation with an FPGA. These aspects of the present disclosure incorporate a dynamic nonlinear model and a real-time injection flow rate estimation strategy. The controller is implemented on the NICompactRIO, although any of a variety of different controller structures with sufficient sampling rate may be used. The NICompactRIO sends a signal to a QorTek piezostack driver in one embodiment, and functions as a DAQ system, which receives measurements of line pressure, piezostack voltage, mean flow rate, and injection rate shape. In one embodiment, an analog 200 kHz anti-aliasing filter is placed before the DAQ, which samples at rate of 500 kHz. The driver, and therefore the control input is limited to an updating period of 10.24 microseconds. A piezoelectric pressure sensor is installed underneath the injector to measure pressure shape in experimental verification, and thus the shape of injection flow rate. Real-time injection flow rate is scaled from the rate shape to have its area under the curve equal to mean flow value, which is measured by a flow meter as is further described below. 
         [0026]    The experimental setup is shown in  FIG. 2 . A high pressure pump  200  is used to provide pressurized fuel to the piezoelectric fuel injector  202 . The host PCs  204  are used for data logging and communication with the Engine Control Module (“ECM”; not shown) to control rail pressure. Real-time data acquisition (DAQ) and control are implemented with an NI CompactRIO FPGA system or controller  206 . The controller  206  sends a control signal to a QorTek piezostack driver  208 , and receives measurements of line pressure, piezostack voltage, mean flow rate, and injection rate shape. The DAQ is run with a sampling frequency of 500 kHz and an analog 200 kHz anti-aliasing filter, while the driver  208  has an update period of 10.24 microseconds. The injection flow rate measurement system utilizes a rate-tube approach as disclosed in Bosch, W., 1966, “Fuel rate indicator: a new measuring instrument for display of the characteristics of individual injection,”  SAE Technical Paper  (660749). 
         [0027]    Referring now to  FIG. 3 , a schematic diagram of piezoelectric fuel injector  202  is shown. When driver  208  applies a voltage across the piezostack  302 , stack  302  expands and forces the shim  304  and the plungers  306  down. The trapped volume pressure is then increased, causing the needle  308  to open and allow injection to occur. When driver  208  stops applying voltage, piezostack  302 , shim  304 , and plungers  306  retract under the pressure forces. Therefore, the trapped volume pressure is decreased, resulting in closing the nozzle  308  and stopping the injection. 
         [0028]    Regarding the dynamics of piezostack  302 , shim  302 , and plungers  306 , together they are lumped into a mass M with spring constant k as in the dynamic equation of motion: 
         [0000]        M ij=PL   tot −( k   tot   +k ) y−b   1   {dot over (y)}++A   bv   P   bv   +A   obot   P   tv   −f ( V   s )   (1)
 
         [0000]    where y, PL tot , K tot , b 1 , P tv , and f(V s ) are the displacement, total preload, total stiffness of the springs, damping ratio, areas of the injector parts, trapped volume pressure, and piezostack force, respectively (descriptions of all of the variables, subscripts, and parameters in this disclosure are summarized in Table A.2 below). 
         [0000]    
       
         
               
               
               
             
           
               
                   
                 TABLE A.2 
               
               
                   
                   
               
               
                   
                 Vars, params, scripts 
                 Descriptions 
               
               
                   
                   
               
             
             
               
                   
                 A[mm 2 ], b[Ns/m] 
                 Area, viscous friction coefficient 
               
               
                   
                 f(V s ), F bv , F vc [N] 
                 Stack force, pressure forces 
               
               
                   
                 F damp , F s [N] 
                 Viscous friction force, spring force 
               
               
                   
                 F ns [N] 
                 Needle seat force 
               
               
                   
                 k[N/m] 
                 Equivalent stiffness of stack, shim, 
               
               
                   
                   
                 and plungers 
               
               
                   
                 k l [mm 5 /msN] 
                 Leakage coefficient 
               
               
                   
                 k s , k n , k ns [N/m] 
                 Stiffness of spring, needle, 
               
               
                   
                   
                 and needle seat 
               
               
                   
                 m[kg], M[kg] 
                 Mass of needle, mass 
               
               
                   
                 P line , P sac [N/mm 2 ] 
                 Measured line, sac pressures 
               
               
                   
                 PL[N] 
                 Spring preload 
               
               
                   
                 R[(kg/mm 7 ) 1/2 ] 
                 Fluid resistance 
               
               
                   
                 S i , y i   
                 Surface, boundry layer errors 
               
               
                   
                 y[mm], V[mm 3 ] 
                 Displacement, volume 
               
               
                   
                 V s [V] 
                 Stack voltage 
               
               
                   
                 w[mm 3 /ms] 
                 Volumetric injection rate 
               
               
                   
                 X i , X id [mm] 
                 Actual, desired state variables 
               
               
                   
                 x 1 , x 2 [mm] 
                 Needle displacements 
               
               
                   
                 β[N/mm 2 ], ρ[kg/m 3 ] 
                 Bulk modulus, fuel density 
               
               
                   
                 bts 
                 Body volume to sac volume 
               
               
                   
                 bv, tv 
                 Body, trapped volumes 
               
               
                   
                 cyl, DSC 
                 Cylinder, dynamic surface control 
               
               
                   
                 l, ntop, ntip 
                 Leakage, needle top, needle, tip 
               
               
                   
                 nbot, obot 
                 Needle, outer plunger bottoms 
               
               
                   
                 otop, up 
                 Outer plunger top, upper plunger 
               
               
                   
                 sac, sh, s 
                 Sac volume, spray holes, spring 
               
               
                   
                 ns, stc 
                 Needle seat, sac to cylinder 
               
               
                   
                 tub 
                 Measurement tube 
               
               
                   
                   
               
             
          
         
       
     
         [0029]    The dynamics of needle  308  are discussed below. When needle  308  is closed, the dynamic equation is: 
         [0000]    
       
         
           
             
               
                 
                   
                     m 
                      
                     
                       
                         x 
                         ¨ 
                       
                       1 
                     
                   
                   = 
                   
                     
                       
                         P 
                         tv 
                       
                        
                       
                         A 
                         nbot 
                       
                     
                     - 
                     
                       
                         b 
                         3 
                       
                        
                       
                         
                           x 
                           . 
                         
                         1 
                       
                     
                     - 
                     
                       
                         P 
                         bv 
                       
                        
                       
                         A 
                         ntop 
                       
                     
                     - 
                     
                       PL 
                       
                         s 
                          
                         
                             
                         
                          
                         1 
                       
                     
                     + 
                     
                       
                         - 
                         
                           k 
                           
                             s 
                              
                             
                                 
                             
                              
                             1 
                           
                         
                       
                        
                       
                         x 
                         1 
                       
                     
                     + 
                     
                       
                         
                           k 
                           n 
                         
                         
                           
                             k 
                             n 
                           
                           + 
                           
                             k 
                             
                               n 
                                
                               
                                   
                               
                                
                               s 
                             
                           
                         
                       
                        
                       
                         F 
                         
                           n 
                            
                           
                               
                           
                            
                           s 
                         
                       
                     
                     - 
                     
                       
                         
                           
                             k 
                             n 
                           
                            
                           
                             k 
                             
                               n 
                                
                               
                                   
                               
                                
                               s 
                             
                           
                         
                         
                           
                             k 
                             n 
                           
                           + 
                           
                             k 
                             
                               n 
                                
                               
                                   
                               
                                
                               s 
                             
                           
                         
                       
                        
                       
                         x 
                         1 
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
             
               
                 
                   
                       
                   
                    
                   
                     
                       x 
                       2 
                     
                     = 
                     
                       
                         
                           
                             F 
                             
                               n 
                                
                               
                                   
                               
                                
                               s 
                             
                           
                           + 
                           
                             
                               k 
                               n 
                             
                              
                             
                               x 
                               1 
                             
                           
                         
                         
                           
                             k 
                             n 
                           
                           + 
                           
                             k 
                             
                               n 
                                
                               
                                   
                               
                                
                               s 
                             
                           
                         
                       
                       ≤ 
                       0 
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0000]    When needle  308  is opened, the dynamic equation is: 
         [0000]    
       
         
           
             
               
                 
                   
                     m 
                      
                     
                       
                         x 
                         ¨ 
                       
                       1 
                     
                   
                   = 
                   
                     
                       
                         P 
                         tv 
                       
                        
                       
                         A 
                         nbot 
                       
                     
                     - 
                     
                       
                         b 
                         3 
                       
                        
                       
                         
                           x 
                           . 
                         
                         1 
                       
                     
                     - 
                     
                       
                         P 
                         bv 
                       
                        
                       
                         A 
                         ntop 
                       
                     
                     + 
                     
                       - 
                       
                         PL 
                         
                           s 
                            
                           
                               
                           
                            
                           1 
                         
                       
                     
                     - 
                     
                       
                         k 
                         
                           s 
                            
                           
                               
                           
                            
                           1 
                         
                       
                        
                       
                         x 
                         1 
                       
                     
                     + 
                     
                       F 
                       
                         n 
                          
                         
                             
                         
                          
                         s 
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
             
               
                 
                   
                     x 
                     2 
                   
                   = 
                   
                     
                       
                         x 
                         1 
                       
                       + 
                       
                         
                           F 
                           
                             n 
                              
                             
                                 
                             
                              
                             s 
                           
                         
                         
                           k 
                           n 
                         
                       
                     
                     &gt; 
                     0 
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where x 1 , x 2  are the needle top and needle tip displacements, and the needle seat force is 
         [0000]        F   ns   =P   bv ( A   ntip   −A   sac )+ P   sac   A   sac    (6)
 
         [0030]    The body volume pressure is modeled equal to line pressure, P bv =P line . Since line pressure is measurable, body volume pressure P bv  is considered as a measured disturbance in the control scheme. The variation of trapped volume over the course of an injection event is relatively small compared to the trapped volume at the initial condition. Therefore, in one embodiment of the disclosure, the trapped volume pressure dynamics is modeled to be linear based on the fluid capacitance relation: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       P 
                       . 
                     
                     tv 
                   
                   = 
                   
                     –β 
                      
                     
                         
                     
                      
                     
                       
                         
                           
                             A 
                             nbot 
                           
                            
                           
                             
                               x 
                               . 
                             
                             1 
                           
                         
                         + 
                         
                           
                             A 
                             obot 
                           
                            
                           
                             y 
                             . 
                           
                         
                         + 
                         
                           
                             k 
                             l 
                           
                            
                           
                             ( 
                             
                               
                                 P 
                                 tv 
                               
                               - 
                               
                                 P 
                                 bv 
                               
                             
                             ) 
                           
                         
                       
                       
                         V 
                         
                           tv 
                            
                           
                               
                           
                            
                           0 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where bulk modulus is a function of rail pressure P rail , and k 1  is the leakage coefficient. During an injection event, P rail  is considered constant. 
         [0031]    Referring now to  FIG. 4 , the fuel densities in different volumes of injector  202  are considered to be equal. Therefore, the expressions for sac pressure and the volumetric injection flow rate, become: 
         [0000]    
       
         
           
             
               
                 
                   
                     P 
                     sac 
                   
                   = 
                   
                     
                       
                         
                           A 
                           1 
                           2 
                         
                          
                         
                           P 
                           bv 
                         
                       
                       + 
                       
                         
                           A 
                           2 
                           2 
                         
                          
                         
                           P 
                           cyl 
                         
                       
                     
                     
                       
                         A 
                         1 
                         2 
                       
                       + 
                       
                         A 
                         2 
                         2 
                       
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
             
               
                 
                   
                     w 
                     stc 
                   
                   = 
                   
                     
                       
                         
                           A 
                           1 
                         
                          
                         
                           A 
                           2 
                         
                       
                       
                         ρ 
                         tub 
                       
                     
                      
                     
                       
                         
                           2 
                            
                           
                             ρ 
                              
                             
                               ( 
                               
                                 
                                   P 
                                   bv 
                                 
                                 - 
                                 
                                   P 
                                   cyl 
                                 
                               
                               ) 
                             
                           
                         
                         
                           
                             A 
                             1 
                             2 
                           
                           + 
                           
                             A 
                             2 
                             2 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where A 1 (x 2 ), A 2  are the effective areas of the needle seat and spray holes ( FIG. 4 ), fuel density ρ is a function of rail pressure, and ρ tub  is fuel density in the measurement tube at 1 bar, 55° C. 
         [0032]    A driver model block diagram of one embodiment of the present disclosure is shown in  FIG. 5 . The controller  206  sends a control voltage V in  to the driver, resulting in a measurable stack voltage V s . Since the injection system has a high bandwidth, piezostack driver  302  dynamics are non-negligible. Therefore, a driver model is necessary for control development. As shown in  FIG. 6 , piezostack driver exhibits a second-order response: 
         [0000]        {umlaut over (V)}   s +2ζ d ω d   {dot over (V)}   s +ω d   2   V   s =ω d   2   V   in    (10)
 
         [0000]    where ω d  and ζ d  are the natural frequency and damping coefficient of the driver model, respectively. The validation of the driver model shows a match between simulation and experimental stack voltages. 
         [0033]    The model employed by the present disclosure may be represented by seven model states. The model states are defined as: 
         [0000]        X   1   =y−y (0) 
         [0000]      X 2 ={dot over (y)} 
         [0000]        X   3   =x   1   −x   1 (0) 
         [0000]      X 4 ={dot over (x)} 1    
         [0000]    
       
      
       X 
       5 
       =P 
       rail 
       −P 
       tv  
      
     
         [0000]      X 6 =V s    
         [0000]      X 7 ={dot over (V)} s    (11)-(17)
 
         [0000]    where P tv (0)=P rail , and y(0), x 1 (0), which depend on P rail , are the initial values of plunger and needle top displacements (when injector  202  is at rest). When the needle is closed, P bv  ripples slightly due to the motion of plungers  306  and the needle top. If  P   bv  is defined as P rail −P bv , it is approximately equal to 0 in this situation. From equations (6) and (8), F ns =F ns (0). 
         [0034]    The dynamic state space equations are written as: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         X 
                         . 
                       
                       1 
                     
                     = 
                     
                       X 
                       2 
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       
                         X 
                         . 
                       
                       2 
                     
                     = 
                     
                       
                         1 
                         M 
                       
                        
                       
                         [ 
                         
                           
                             
                               
                                 
                                   
                                     - 
                                     
                                       ( 
                                       
                                         
                                           k 
                                           tot 
                                         
                                         + 
                                         k 
                                       
                                       ) 
                                     
                                   
                                    
                                   
                                     X 
                                     1 
                                   
                                 
                                 - 
                                 
                                   
                                     b 
                                     1 
                                   
                                    
                                   
                                     X 
                                     2 
                                   
                                 
                                 + 
                                 - 
                               
                             
                           
                           
                             
                               
                                 
                                   
                                     A 
                                     bv 
                                   
                                    
                                   
                                     
                                       P 
                                       _ 
                                     
                                     bv 
                                   
                                 
                                 - 
                                 
                                   
                                     A 
                                     obot 
                                   
                                    
                                   
                                     X 
                                     5 
                                   
                                 
                                 - 
                                 
                                   f 
                                    
                                   
                                     ( 
                                     
                                       X 
                                       6 
                                     
                                     ) 
                                   
                                 
                               
                             
                           
                         
                         ] 
                       
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       
                         X 
                         . 
                       
                       3 
                     
                     = 
                     
                       X 
                       4 
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       
                         X 
                         . 
                       
                       4 
                     
                     = 
                     
                       
                         
                           
                             
                               - 
                               
                                 A 
                                 nbot 
                               
                             
                              
                             
                               X 
                               5 
                             
                           
                           - 
                           
                             
                               b 
                               3 
                             
                              
                             
                               X 
                               4 
                             
                           
                           + 
                           
                             
                               A 
                               ntop 
                             
                              
                             
                               
                                 P 
                                 _ 
                               
                               bv 
                             
                           
                         
                         m 
                       
                       + 
                       
                         f 
                         1 
                       
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       
                         X 
                         . 
                       
                       5 
                     
                     = 
                     
                       β 
                        
                       
                           
                       
                        
                       
                         
                           
                             
                               A 
                               nbot 
                             
                              
                             
                               X 
                               4 
                             
                           
                           + 
                           
                             
                               A 
                               obot 
                             
                              
                             
                               X 
                               2 
                             
                           
                           + 
                           
                             
                               k 
                               l 
                             
                              
                             
                               ( 
                               
                                 
                                   
                                     P 
                                     _ 
                                   
                                   bv 
                                 
                                 - 
                                 
                                   X 
                                   5 
                                 
                               
                               ) 
                             
                           
                         
                         
                           
                             V 
                             tv 
                           
                            
                           
                             ( 
                             0 
                             ) 
                           
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       
                         X 
                         . 
                       
                       6 
                     
                     = 
                     
                       X 
                       7 
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       
                         X 
                         . 
                       
                       7 
                     
                     = 
                     
                       
                         
                           - 
                           2 
                         
                          
                         
                           ζ 
                           d 
                         
                          
                         
                           ω 
                           d 
                         
                          
                         
                           X 
                           7 
                         
                       
                       - 
                       
                         
                           ω 
                           d 
                           2 
                         
                          
                         
                           X 
                           6 
                         
                       
                       + 
                       
                         
                           ω 
                           d 
                           2 
                         
                          
                         
                           V 
                           
                             i 
                              
                             
                                 
                             
                              
                             n 
                           
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   where 
                 
               
               
                 
                   
                     ( 
                     18 
                     ) 
                   
                   - 
                   
                     ( 
                     24 
                     ) 
                   
                 
               
             
             
               
                 
                   
                     f 
                     1 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             - 
                             
                               
                                 
                                   ( 
                                   
                                     
                                       k 
                                       
                                         s 
                                          
                                         
                                             
                                         
                                          
                                         1 
                                       
                                     
                                     + 
                                     
                                       
                                         
                                           k 
                                           n 
                                         
                                          
                                         
                                           k 
                                           
                                             n 
                                              
                                             
                                                 
                                             
                                              
                                             s 
                                           
                                         
                                       
                                       
                                         
                                           k 
                                           n 
                                         
                                         + 
                                         
                                           k 
                                           
                                             n 
                                              
                                             
                                                 
                                             
                                              
                                             s 
                                           
                                         
                                       
                                     
                                   
                                   ) 
                                 
                                  
                                 
                                   X 
                                   3 
                                 
                               
                               m 
                             
                           
                         
                         
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               
                                 x 
                                 2 
                               
                             
                             ≤ 
                             0 
                           
                         
                       
                       
                         
                           
                             
                               
                                 
                                   - 
                                   
                                     k 
                                     
                                       s 
                                        
                                       
                                           
                                       
                                        
                                       1 
                                     
                                   
                                 
                                  
                                 
                                   X 
                                   3 
                                 
                               
                               + 
                               
                                 F 
                                 
                                   n 
                                    
                                   
                                       
                                   
                                    
                                   s 
                                 
                               
                               + 
                               
                                 
                                   k 
                                   n 
                                 
                                  
                                 
                                   ( 
                                   
                                     
                                       
                                         x 
                                         1 
                                       
                                        
                                       
                                         ( 
                                         0 
                                         ) 
                                       
                                     
                                     - 
                                     
                                       
                                         x 
                                         2 
                                       
                                        
                                       
                                         ( 
                                         0 
                                         ) 
                                       
                                     
                                   
                                   ) 
                                 
                               
                             
                             m 
                           
                         
                         
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               
                                 x 
                                 2 
                               
                             
                             &gt; 
                             0 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   25 
                   ) 
                 
               
             
           
         
       
     
         [0000]    and output equations for injection rate ω stc  are 
         [0000]    
       
         
           
             
               
                 
                   
                     x 
                     2 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               
                                 F 
                                 
                                   n 
                                    
                                   
                                       
                                   
                                    
                                   s 
                                 
                               
                               + 
                               
                                 
                                   k 
                                   n 
                                 
                                  
                                 
                                   ( 
                                   
                                     
                                       X 
                                       3 
                                     
                                     + 
                                     
                                       
                                         x 
                                         1 
                                       
                                        
                                       
                                         ( 
                                         0 
                                         ) 
                                       
                                     
                                   
                                   ) 
                                 
                               
                             
                             
                               
                                 k 
                                 n 
                               
                               + 
                               
                                 k 
                                 
                                   n 
                                    
                                   
                                       
                                   
                                    
                                   s 
                                 
                               
                             
                           
                         
                         
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               
                                 x 
                                 2 
                               
                             
                             ≤ 
                             0 
                           
                         
                       
                       
                         
                           
                             
                               
                                 F 
                                 
                                   n 
                                    
                                   
                                       
                                   
                                    
                                   s 
                                 
                               
                               + 
                               
                                 
                                   k 
                                   n 
                                 
                                  
                                 
                                   ( 
                                   
                                     
                                       X 
                                       3 
                                     
                                     + 
                                     
                                       
                                         x 
                                         1 
                                       
                                        
                                       
                                         ( 
                                         0 
                                         ) 
                                       
                                     
                                   
                                   ) 
                                 
                               
                             
                             
                               
                                 k 
                                 n 
                               
                               + 
                               
                                 k 
                                 
                                   n 
                                    
                                   
                                       
                                   
                                    
                                   s 
                                 
                               
                             
                           
                         
                         
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               
                                 x 
                                 2 
                               
                             
                             &gt; 
                             0 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   26 
                   ) 
                 
               
             
             
               
                 
                   
                     w 
                     stc 
                   
                   = 
                   
                     
                       
                         
                           
                             A 
                             1 
                           
                            
                           
                             ( 
                             
                               x 
                               2 
                             
                             ) 
                           
                         
                          
                         
                           A 
                           2 
                         
                       
                       
                         ρ 
                         tub 
                       
                     
                      
                     
                       
                         
                           2 
                            
                           
                             ρ 
                              
                             
                               ( 
                               
                                 
                                   P 
                                   bv 
                                 
                                 - 
                                 
                                   P 
                                   cyl 
                                 
                               
                               ) 
                             
                           
                         
                         
                           
                             
                               A 
                               1 
                               2 
                             
                              
                             
                               ( 
                               
                                 x 
                                 2 
                               
                               ) 
                             
                           
                           + 
                           
                             A 
                             2 
                             2 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   27 
                   ) 
                 
               
             
           
         
       
     
         [0035]    The hysteresis of piezostack  302  is modeled using the technique described Bashash, S., and Jalili, N., 2008, “A polynomial-based linear mapping strategy for feedforward compensation of hysteresis in piezoelectric actuators,”  ASME Journal of Dynamic Systems, Measurement, and Control,  130(3). In this model, the piezostack force f(X 6 ) depends on the stack voltage X 6 , turning points [X 61 , f(X 61 )], and [X 62 , f(X 62 )](X 61 ≦X 6 ≦X 62 ): 
         [0000]    
       
         
           
             
               
                 
                   
                     f 
                      
                     
                       ( 
                       
                         X 
                         6 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       f 
                        
                       
                         ( 
                         
                           X 
                           61 
                         
                         ) 
                       
                     
                     + 
                     
                       
                         
                           
                             f 
                              
                             
                               ( 
                               
                                 X 
                                 62 
                               
                               ) 
                             
                           
                           - 
                           
                             f 
                              
                             
                               ( 
                               
                                 X 
                                 61 
                               
                               ) 
                             
                           
                         
                         
                           
                             
                               f 
                               r 
                             
                              
                             
                               ( 
                               
                                 X 
                                 62 
                               
                               ) 
                             
                           
                           - 
                           
                             
                               f 
                               r 
                             
                              
                             
                               ( 
                               
                                 X 
                                 61 
                               
                               ) 
                             
                           
                         
                       
                        
                       
                         ( 
                         
                           
                             
                               f 
                               
                                 r 
                                  
                                 
                                     
                                 
                               
                             
                              
                             
                               ( 
                               
                                 X 
                                 6 
                               
                               ) 
                             
                           
                           - 
                           
                             
                               f 
                               r 
                             
                              
                             
                               ( 
                               
                                 X 
                                 61 
                               
                               ) 
                             
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   28 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where at each discrete time step k, as in  FIG. 7 : 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       f 
                       r 
                     
                      
                     
                       ( 
                       
                         
                           X 
                           6 
                         
                          
                         
                           ( 
                           k 
                           ) 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               f 
                               a 
                             
                              
                             
                               ( 
                               
                                 
                                   X 
                                   6 
                                 
                                  
                                 
                                   ( 
                                   k 
                                   ) 
                                 
                               
                               ) 
                             
                           
                         
                         
                           
                             
                               
                                 X 
                                 6 
                               
                                
                               
                                 ( 
                                 k 
                                 ) 
                               
                             
                             &gt; 
                             
                               
                                 X 
                                 6 
                               
                                
                               
                                 ( 
                                 
                                   k 
                                   - 
                                   1 
                                 
                                 ) 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               f 
                               d 
                             
                              
                             
                               ( 
                               
                                 
                                   X 
                                   6 
                                 
                                  
                                 
                                   ( 
                                   k 
                                   ) 
                                 
                               
                               ) 
                             
                           
                         
                         
                           
                             
                               
                                 X 
                                 6 
                               
                                
                               
                                 ( 
                                 k 
                                 ) 
                               
                             
                             &lt; 
                             
                               
                                 K 
                                 6 
                               
                                
                               
                                 ( 
                                 
                                   k 
                                   - 
                                   1 
                                 
                                 ) 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               f 
                               r 
                             
                              
                             
                               ( 
                               
                                 
                                   X 
                                   6 
                                 
                                  
                                 
                                   ( 
                                   
                                     k 
                                     - 
                                     1 
                                   
                                   ) 
                                 
                               
                               ) 
                             
                           
                         
                         
                           
                             
                               
                                 X 
                                 6 
                               
                                
                               
                                 ( 
                                 k 
                                 ) 
                               
                             
                             = 
                             
                               
                                 X 
                                 6 
                               
                                
                               
                                 ( 
                                 
                                   k 
                                   - 
                                   1 
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   29 
                   ) 
                 
               
             
           
         
       
     
         [0000]    The ascending and descending polynomials f a (X 6 ), f d (X 6 ) are third order: 
         [0000]        f   a ( X   6 )= a   0   +a   1   X   6   +a   2   X   6   2   +a   3   X   6   3    
         [0000]        f   d ( X   6 )= d   0   +d   1   X   6   +d   2   X   6   2   +d   3   X   6   3    (30)-(31)
 
         [0036]    A turning point is defined as the point at which stack voltage changes from increasing to decreasing and vice versa. Piezostack force is continuous (C 0 ) but not continuously differentiable (C 1 ) since its derivative does not exist at turning points. The estimated piezostack force derivatives are calculated as: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       f 
                       
                         . 
                         ^ 
                       
                     
                      
                     
                       ( 
                       
                         X 
                         6 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         
                           
                             ∂ 
                             f 
                           
                           ^ 
                         
                          
                         
                           ( 
                           
                             X 
                             6 
                           
                           ) 
                         
                       
                       
                         ∂ 
                         
                           X 
                           6 
                         
                       
                     
                      
                     
                       X 
                       7 
                     
                   
                 
               
               
                 
                   ( 
                   32 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         
                           ∂ 
                           f 
                         
                         ^ 
                       
                        
                       
                         ( 
                         
                           X 
                           6 
                         
                         ) 
                       
                     
                     
                       ∂ 
                       
                         X 
                         6 
                       
                     
                   
                   = 
                   
                     
                       
                         
                           f 
                            
                           
                             ( 
                             
                               X 
                               62 
                             
                             ) 
                           
                         
                         - 
                         
                           f 
                            
                           
                             ( 
                             
                               X 
                               61 
                             
                             ) 
                           
                         
                       
                       
                         
                           
                             f 
                             r 
                           
                            
                           
                             ( 
                             
                               X 
                               62 
                             
                             ) 
                           
                         
                         - 
                         
                           
                             f 
                             r 
                           
                            
                           
                             ( 
                             
                               X 
                               61 
                             
                             ) 
                           
                         
                       
                     
                      
                     
                       
                         ∂ 
                         
                           
                             f 
                             r 
                           
                            
                           
                             ( 
                             
                               X 
                               6 
                             
                             ) 
                           
                         
                       
                       
                         ∂ 
                         
                           X 
                           6 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   33 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where at each discrete time step k: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       ∂ 
                       
                         
                           f 
                           r 
                         
                          
                         
                           ( 
                           
                             X 
                             6 
                           
                           ) 
                         
                       
                     
                     
                       ∂ 
                       
                         X 
                         6 
                       
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               
                                 
                                   ∂ 
                                   
                                     
                                       f 
                                       a 
                                     
                                      
                                     
                                       ( 
                                       
                                         X 
                                         6 
                                       
                                       ) 
                                     
                                   
                                 
                                 
                                   ∂ 
                                   
                                     X 
                                     6 
                                   
                                 
                               
                             
                             
                               
                                 
                                   if 
                                    
                                   
                                       
                                   
                                    
                                   
                                     
                                       X 
                                       6 
                                     
                                      
                                     
                                       ( 
                                       k 
                                       ) 
                                     
                                   
                                 
                                 &gt; 
                                 
                                   
                                     X 
                                     6 
                                   
                                    
                                   
                                     ( 
                                     
                                       k 
                                       - 
                                       1 
                                     
                                     ) 
                                   
                                 
                               
                             
                           
                           
                             
                               
                                 
                                   ∂ 
                                   
                                     
                                       f 
                                       d 
                                     
                                      
                                     
                                       ( 
                                       
                                         X 
                                         6 
                                       
                                       ) 
                                     
                                   
                                 
                                 
                                   ∂ 
                                   
                                     X 
                                     6 
                                   
                                 
                               
                             
                             
                               
                                 
                                   if 
                                    
                                   
                                       
                                   
                                    
                                   
                                     
                                       X 
                                       6 
                                     
                                      
                                     
                                       ( 
                                       k 
                                       ) 
                                     
                                   
                                 
                                 &lt; 
                                 
                                   
                                     X 
                                     6 
                                   
                                    
                                   
                                     ( 
                                     
                                       k 
                                       - 
                                       1 
                                     
                                     ) 
                                   
                                 
                               
                             
                           
                           
                             
                               0 
                             
                             
                               
                                 
                                   if 
                                    
                                   
                                       
                                   
                                    
                                   
                                     
                                       X 
                                       6 
                                     
                                      
                                     
                                       ( 
                                       k 
                                       ) 
                                     
                                   
                                 
                                 = 
                                 
                                   
                                     X 
                                     6 
                                   
                                    
                                   
                                     ( 
                                     
                                       k 
                                       - 
                                       1 
                                     
                                     ) 
                                   
                                 
                               
                             
                           
                         
                          
                         
                           
 
                         
                          
                         
                           
                             ∂ 
                             
                               
                                 f 
                                 a 
                               
                                
                               
                                 ( 
                                 
                                   X 
                                   6 
                                 
                                 ) 
                               
                             
                           
                           
                             ∂ 
                             
                               X 
                               6 
                             
                           
                         
                       
                       = 
                       
                         
                           
                             a 
                             1 
                           
                           + 
                           
                             2 
                              
                             
                               a 
                               2 
                             
                              
                             
                               X 
                               6 
                             
                           
                           + 
                           
                             3 
                              
                             
                               a 
                               3 
                             
                              
                             
                               X 
                               6 
                               2 
                             
                              
                             
                               
 
                             
                              
                             
                               
                                 ∂ 
                                 
                                   
                                     f 
                                     d 
                                   
                                    
                                   
                                     ( 
                                     
                                       X 
                                       6 
                                     
                                     ) 
                                   
                                 
                               
                               
                                 ∂ 
                                 
                                   X 
                                   6 
                                 
                               
                             
                           
                         
                         = 
                         
                           
                             d 
                             1 
                           
                           + 
                           
                             2 
                              
                             
                               d 
                               2 
                             
                              
                             
                               X 
                               6 
                             
                           
                           + 
                           
                             3 
                              
                             
                               d 
                               3 
                             
                              
                             
                               X 
                               6 
                               2 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   
                     ( 
                     34 
                     ) 
                   
                   - 
                   
                     ( 
                     36 
                     ) 
                   
                 
               
             
           
         
       
     
         [0037]    The state space model of injector  202  contains seven states as described above and some nonlinearities, including the unsmoothness in the needle dynamics (equations (21) and (25)).  FIG. 8  illustrates a block diagram of control software of controller  206  for injector  202  according to one embodiment of the present disclosure. As shown, the control software includes trajectory generator  800 , a DSC  802 , and state estimator  812 . The injector model  804  includes model components for the driver  806 , the piezostack hysteresis  808 , and the injector dynamics  810 . 
         [0038]    The output of DSC  802  is the control voltage V in . DSC is a backstepping-based strategy that uses first-order low-pass filters to avoid the repeated differentiations of modeled nonlinearities that traditional backstepping requires. Due to the high relative degree of the injector model (six), DSC is utilized to simplify the control development. In addition, DSC allows for the limitation of the rate of change of the control voltage, and avoids high order differentiations of the measured disturbance P bv  that would exist in a backstepping scheme. 
         [0039]    Trajectory generator  800  determines the displacement of the top of the needle of injector  202 . The desired injection rate ω d  provided to trajectory generator  800  as shown in  FIG. 8  is generated by a second-order low-pass filter with a stepwise input. The filter, 
         [0000]    
       
         
           
             
               G 
               wd 
             
             = 
             
               1 
               
                 
                   ( 
                   
                     1 
                     + 
                     
                       sT 
                       f 
                     
                   
                   ) 
                 
                 2 
               
             
           
         
       
     
         [0000]    is utilized as in Hagglund, T., 2012, “Signal filtering in PID control,”  IFAC Conference on Advances in PID Control,  Brescia, Italy. The desired needle tip displacement x 2d  is calculated from ω d  based on equations (26) and (27): 
         [0000]    
       
         
           
             
               
                 
                   
                     x 
                     
                       2 
                        
                       d 
                     
                   
                   = 
                   
                     
                       A 
                       1 
                       
                         - 
                         1 
                       
                     
                     [ 
                     
                       
                         
                           w 
                           d 
                         
                          
                         
                           ρ 
                           tub 
                         
                          
                         
                           A 
                           2 
                         
                       
                       
                         
                           
                             2 
                              
                             
                               A 
                               2 
                               2 
                             
                              
                             
                               ρ 
                                
                               
                                 ( 
                                 
                                   
                                     P 
                                     bv 
                                   
                                   - 
                                   
                                     P 
                                     cyl 
                                   
                                 
                                 ) 
                               
                             
                           
                           - 
                           
                             
                               w 
                               d 
                               2 
                             
                              
                             
                               ρ 
                               tub 
                               2 
                             
                           
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   37 
                   ) 
                 
               
             
           
         
       
     
         [0040]    Referring now to  FIG. 9 , when ω d =0, x 2d  can be any value less than zero, and a linear trajectory starting at x 2 (0) is chosen for trajectory generation of x 2d . The unfiltered relative desired needle top displacement  X   3  is calculated from desired needle tip displacement found above and the output relationship: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       X 
                       _ 
                     
                     3 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               
                                 
                                   
                                     ( 
                                     
                                       
                                         k 
                                         n 
                                       
                                       + 
                                       
                                         k 
                                         ne 
                                       
                                     
                                     ) 
                                   
                                    
                                   
                                     x 
                                     
                                       2 
                                        
                                       d 
                                     
                                   
                                 
                                 - 
                                 
                                   F 
                                   
                                     ne 
                                      
                                     
                                         
                                     
                                   
                                 
                               
                               
                                 k 
                                 n 
                               
                             
                             - 
                             
                               
                                 x 
                                 1 
                               
                                
                               
                                 ( 
                                 0 
                                 ) 
                               
                             
                           
                         
                         
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               
                                 x 
                                 
                                   2 
                                    
                                   d 
                                 
                               
                             
                             ≤ 
                             0 
                           
                         
                       
                       
                         
                           
                             
                               x 
                               
                                 2 
                                  
                                 d 
                               
                             
                             - 
                             
                               
                                 F 
                                 
                                   n 
                                    
                                   
                                       
                                   
                                    
                                   s 
                                 
                               
                               
                                 k 
                                 
                                   n 
                                    
                                   
                                       
                                   
                                 
                               
                             
                             - 
                             
                               
                                 x 
                                 1 
                               
                                
                               
                                 ( 
                                 0 
                                 ) 
                               
                             
                           
                         
                         
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               
                                 x 
                                 
                                   2 
                                    
                                   d 
                                 
                               
                             
                             &gt; 
                             0 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   38 
                   ) 
                 
               
             
           
         
       
     
         [0000]    A second-order low-pass filter is used to generate the desired needle top displacement fed to the controller 
         [0000]        {umlaut over (X)}   3d +2ζω {dot over (X)}   3d +ω 2   X   3d =ω 2     X     3    (39)
 
         [0041]    The model described in equations (18)-(24) may be rewritten in a shorter form as follows: 
         [0000]      {dot over (X)} 1 =X 2    
         [0000]        {dot over (X)}   2   =−a   1   X   1   −a   2   X   2   −a   3     P     bv   −a   4   X   5   ++a   5   f ( X   6 ) 
         [0000]      {dot over (X)} 3 =X 4    
         [0000]        {dot over (X)}   4   −−a   6   X   5   −a   7   X   4   +a   8     P     bv   +f   1 ( X   3   , P   bv ) 
         [0000]        {dot over (X)}   5   =a   9   X   4   +a   10   X   2   +a   11 (   P     bv   −X   5 ) 
         [0000]      {dot over (X)} 6 =X 7    
         [0000]        {dot over (X)}   7   =−a   12   X   6   −a   13   X   7   +a   14   V   in    (40)-(46)
 
         [0000]    where a 1 -a 14  are constants, and f(X 6 ) and f 1 (X 3 , P b ) are C 0  but not C 1 . 
         [0042]    The needle top displacement error is defined as: e=X 3 −X 3d . The DSC is derived as in the following steps.
   Step 1: Surface error for step 1 is defined:   
 
         [0000]    
       
      
       S 
       1 
       =X 
       3 
       −X 
       3d  
      
     
         [0000]        {dot over (S)}   1   =X   4   −{dot over (X)}   3d    (46)-(47)
 
         [0044]      X   4  is defined to drive S 1  to 0: 
         [0000]          X     4   ={dot over (X)}   3d   −K   1   S   1    (48)
 
         [0000]    A first-order low-pass filter is used to obtain desired trajectory for X 4 : 
         [0000]      τ 2   {dot over (X)}   4d   +X   4d   =  X     4    (49)
   Step 2: Surface error for step 2 is defined:   
 
         [0000]    
       
      
       S 
       2 
       =X 
       4 
       −X 
       4d  
      
     
         [0000]        {dot over (S)}   2   =−a   6   X   5   −a   7   X   4   +a   8     P     bv   +f   1 ( X   3   , P   bv )+− {dot over (X)}   4d    (50)-(51)
     X   5  is defined to drive S 2  to 0:   
 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       X 
                       _ 
                     
                     5 
                   
                   = 
                   
                     
                       
                         
                           a 
                           7 
                         
                          
                         
                           X 
                           4 
                         
                       
                       - 
                       
                         
                           a 
                           8 
                         
                          
                         
                           
                             P 
                             _ 
                           
                           bv 
                         
                       
                       - 
                       
                         
                           f 
                           1 
                         
                          
                         
                           ( 
                           
                             
                               X 
                               3 
                             
                             , 
                             
                               P 
                               bv 
                             
                           
                           ) 
                         
                       
                       + 
                       
                         
                           X 
                           . 
                         
                         
                           4 
                            
                           d 
                         
                       
                       - 
                       
                         
                           K 
                           2 
                         
                          
                         
                           S 
                           2 
                         
                       
                     
                     
                       - 
                       
                         a 
                         6 
                       
                     
                   
                 
               
               
                 
                   ( 
                   52 
                   ) 
                 
               
             
           
         
       
     
         [0000]    A first-order low-pass filter is used to obtain desired trajectory for X 5 : 
         [0000]      τ 3   {dot over (X)}   5d   +X   5d   =  X     5    (53)
   Step 3: Surface error for step 3 is defined:   
 
         [0000]    
       
      
       S 
       3 
       =X 
       5 
       −X 
       5d  
      
     
         [0000]        {dot over (S)}   3   =a   9   X   4   +a   10   X   2   +a   11 (   P     bv   −X   5 )+− {dot over (X)}   5d    (54)-(55)
     X   2  is defined to drive S 3  to 0:   
 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       X 
                       _ 
                     
                     2 
                   
                   = 
                   
                     
                       
                         
                           X 
                           . 
                         
                         
                           5 
                            
                           d 
                         
                       
                       - 
                       
                         
                           a 
                           9 
                         
                          
                         
                           X 
                           4 
                         
                       
                       - 
                       
                         
                           a 
                           11 
                         
                          
                         
                           ( 
                           
                             
                               
                                 P 
                                 _ 
                               
                               bv 
                             
                             - 
                             
                               X 
                               5 
                             
                           
                           ) 
                         
                       
                       - 
                       
                         
                           K 
                           3 
                         
                          
                         
                           S 
                           3 
                         
                       
                     
                     
                       a 
                       10 
                     
                   
                 
               
               
                 
                   ( 
                   56 
                   ) 
                 
               
             
           
         
       
     
         [0000]    A first-order low-pass filter is used to obtain the desired trajectory for X 2 : 
         [0000]      τ 4   {dot over (X)}   2d   +X   2d   =  X     2    (57)
   Step 4: Surface error for step 4 is defined:   
 
         [0000]    
       
      
       S 
       4 
       =X 
       2 
       −X 
       2d  
      
     
         [0000]        {dot over (S)}   4   =−a   1   X   1   −a   2   X   2   −a   3     P     bv   −a   4   X   5   ++a   5   f ( X   6 )− {dot over (X)}   2d    (58)-(59)
     f (X 6 ) is defined to drive S 4  to 0:   
 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       f 
                       _ 
                     
                      
                     
                       ( 
                       
                         X 
                         6 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       1 
                       
                         a 
                         5 
                       
                     
                      
                     
                       ( 
                       
                         
                           
                             X 
                             . 
                           
                           
                             2 
                              
                             d 
                           
                         
                         + 
                         
                           
                             a 
                             1 
                           
                            
                           
                             X 
                             1 
                           
                         
                         + 
                         
                           
                             a 
                             2 
                           
                            
                           
                             X 
                             2 
                           
                         
                         + 
                         
                           
                             a 
                             3 
                           
                            
                           
                             
                               P 
                               _ 
                             
                             bv 
                           
                         
                         + 
                         
                           
                             a 
                             4 
                           
                            
                           
                             X 
                             5 
                           
                         
                         - 
                         
                           
                             K 
                             4 
                           
                            
                           
                             S 
                             4 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   60 
                   ) 
                 
               
             
           
         
       
     
         [0051]    A first-order low-pass filter is used to obtain desired trajectory for f(X 6 ): 
         [0000]      τ 5   {dot over (f)} ( X   6 ) 3   +f ( X   6 ) d   =  f   ( X   6 )   (61)
   Step 5: Surface error for step 5 is defined:   
 
         [0000]        S   5   =f ( X   6 )− f ( X   6 ) d    (62)
 
         [0000]    Since S 5  is not C 1 , the generalized gradient and the chain rule are utilized to calculate the set-valued derivative of S 5 : 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       S 
                       
                         ~ 
                         . 
                       
                     
                     5 
                   
                   = 
                   
                     
                       
                         
                           K 
                           _ 
                         
                          
                         
                           [ 
                           
                             
                               ∂ 
                               
                                 f 
                                  
                                 
                                   ( 
                                   
                                     X 
                                     6 
                                   
                                   ) 
                                 
                               
                             
                             
                               ∂ 
                               
                                 X 
                                 
                                   6 
                                    
                                   
                                       
                                   
                                 
                               
                             
                           
                           ] 
                         
                       
                        
                       
                         X 
                         7 
                       
                     
                     - 
                     
                       
                         
                           f 
                           . 
                         
                          
                         
                           ( 
                           
                             X 
                             6 
                           
                           ) 
                         
                       
                       d 
                     
                   
                 
               
               
                 
                   ( 
                   63 
                   ) 
                 
               
             
           
         
       
       
         X 7  is defined to drive S 5  to 0: 
       
     
         [0000]    
       
         
           
             
               
                 
                   
                     
                       X 
                       _ 
                     
                     7 
                   
                   = 
                   
                     
                       
                         ( 
                         
                           
                             
                               
                                 ∂ 
                                 f 
                               
                               ^ 
                             
                              
                             
                               ( 
                               
                                 X 
                                 6 
                               
                               ) 
                             
                           
                           
                             ∂ 
                             
                               X 
                               6 
                             
                           
                         
                         ) 
                       
                       
                         - 
                         1 
                       
                     
                      
                     
                       ( 
                       
                         
                           
                             
                               f 
                               . 
                             
                              
                             
                               ( 
                               
                                 X 
                                 6 
                               
                               ) 
                             
                           
                           d 
                         
                         - 
                         
                           
                             K 
                             5 
                           
                            
                           
                             S 
                             5 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   64 
                   ) 
                 
               
             
           
         
       
     
         [0000]    A first-order low-pass filter is used to obtain desired trajectory for X 7 : 
         [0000]      τ 6   {dot over (X)}   7d   +X   7d   =  X     7    (65)
   Step 6: Surface error for step 6 is defined:   
 
         [0000]    
       
      
       S 
       6 
       =X 
       7 
       −X 
       7d  
      
     
         [0000]        {dot over (S)}   6   =−a   12   X   6   −a   13   X   7   +a   14   V   in   −{dot over (X)}   7d    (66)-(67)
 
         [0000]    Finally, the control voltage V in  is defined to drive S 6  to 0: 
         [0000]    
       
         
           
             
               
                 
                   
                     V 
                     
                       i 
                        
                       
                           
                       
                        
                       n 
                     
                   
                   = 
                   
                     
                       
                         
                           a 
                           12 
                         
                          
                         
                           X 
                           6 
                         
                       
                       + 
                       
                         
                           a 
                           13 
                         
                          
                         
                           X 
                           7 
                         
                       
                       + 
                       
                         
                           X 
                           . 
                         
                         
                           7 
                            
                           d 
                         
                       
                       - 
                       
                         
                           K 
                           6 
                         
                          
                         
                           S 
                           6 
                         
                       
                     
                     
                       a 
                       14 
                     
                   
                 
               
               
                 
                   ( 
                   68 
                   ) 
                 
               
             
           
         
       
     
         [0055]    As indicated above, an NI CompactRIO system (designated controller  206 ) may be used with LabVIEW FPGA for rapid control prototyping. Since the control strategy has a high order and requires a high sampling rate, hardware resource and timing limitations are considerations for implementation. Accordingly, the present disclosure implements several processing strategies. 
         [0056]    One processing strategy is parallel execution. In one embodiment, fast calculation is implemented using FPGA parallelism for different tasks. An example estimation and control scheme is illustrated in  FIG. 10 .  FIG. 10  depicts six main loops: DAQ  1002 , Driver Model  1004 , Estimator  1008 , Controller  1010 , Hysteresis Model  1011 , and DSC Filters  1012 . In this scheme, DAQ  1002 , Driver Model  104 , Hysteresis Model  1011  and DSC Filers  1012  loops run freely at as high a rate as possible. Controller  1010  starts calculating whenever estimated states are ready and vice versa by hand-shaking with Estimator  1008 . 
         [0057]    Another processing strategy is serial execution. Besides sampling rate maximization, it is desirable to minimize the required FPGA computational resources. In one embodiment, FPGA programming with LabVIEW is utilized to optimize Estimator  1008 . In short, to reduce FPGA logic resource consumption, block memory may be used along with matrix calculations to reduce the number of math operations. The Estimator  1008  implementation is arranged into matrix equations. The strategy is performed per each matrix equation as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     [ 
                     
                       
                         
                           
                             Y 
                             1 
                           
                         
                       
                       
                         
                           
                             Y 
                             2 
                           
                         
                       
                       
                         
                           … 
                         
                       
                       
                         
                           
                             Y 
                             n 
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       
                         
                           
                             [ 
                             
                               
                                 
                                   
                                     A 
                                     11 
                                   
                                 
                                 
                                   
                                     A 
                                     12 
                                   
                                 
                                 
                                   … 
                                 
                                 
                                   
                                     A 
                                     
                                       1 
                                        
                                       n 
                                     
                                   
                                 
                               
                               
                                 
                                   
                                     A 
                                     21 
                                   
                                 
                                 
                                   
                                     A 
                                     22 
                                   
                                 
                                 
                                   … 
                                 
                                 
                                   
                                     A 
                                     
                                       2 
                                        
                                       n 
                                     
                                   
                                 
                               
                               
                                 
                                   … 
                                 
                                 
                                   … 
                                 
                                 
                                   … 
                                 
                                 
                                   … 
                                 
                               
                               
                                 
                                   
                                     A 
                                     
                                       n 
                                        
                                       
                                           
                                       
                                        
                                       1 
                                     
                                   
                                 
                                 
                                   
                                     A 
                                     
                                       n 
                                        
                                       
                                           
                                       
                                        
                                       2 
                                     
                                   
                                 
                                 
                                   … 
                                 
                                 
                                   
                                     A 
                                     nn 
                                   
                                 
                               
                             
                             ] 
                           
                            
                           
                             [ 
                             
                               
                                 
                                   
                                     X 
                                     1 
                                   
                                 
                               
                               
                                 
                                   
                                     X 
                                     2 
                                   
                                 
                               
                               
                                 
                                   … 
                                 
                               
                               
                                 
                                   
                                     X 
                                     n 
                                   
                                 
                               
                             
                             ] 
                           
                         
                         ++ 
                       
                        
                       
                         [ 
                         
                           
                             
                               
                                 B 
                                 1 
                               
                             
                           
                           
                             
                               
                                 B 
                                 2 
                               
                             
                           
                           
                             
                               … 
                             
                           
                           
                             
                               
                                 B 
                                 n 
                               
                             
                           
                         
                         ] 
                       
                     
                      
                     u 
                   
                 
               
               
                 
                   ( 
                   69 
                   ) 
                 
               
             
           
         
       
     
         [0000]    or Y=AX+Bu. The one-dimensional matrices Y, Ā, X, and B are each stored in block memory, where 
         [0000]      Ā=[A 11  . . . A 1n  . . . A n1  . . . A nn ]  (70)
 
         [0000]    Equation (69) becomes 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       Y 
                       i 
                     
                     = 
                     
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           n 
                         
                          
                         
                           
                             
                               A 
                               _ 
                             
                             
                               ( 
                               
                                 ni 
                                 + 
                                 j 
                               
                               ) 
                             
                           
                            
                           
                             X 
                             j 
                           
                         
                       
                       + 
                       
                         
                           B 
                           i 
                         
                          
                         u 
                       
                     
                   
                    
                   
                     
 
                   
                    
                   
                     Define 
                      
                     
                         
                     
                      
                     
                       Y 
                       ij 
                     
                   
                   = 
                   
                     
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             1 
                           
                           j 
                         
                          
                         
                           
                             
                               A 
                               _ 
                             
                             
                               ( 
                               
                                 ni 
                                 + 
                                 k 
                               
                               ) 
                             
                           
                            
                           
                             X 
                             k 
                           
                         
                       
                       ⇒ 
                       
                         Y 
                         ij 
                       
                     
                     = 
                     
                       
                         Y 
                         
                           i 
                            
                           
                             ( 
                             
                               j 
                               - 
                               1 
                             
                             ) 
                           
                         
                       
                       + 
                       
                         
                           
                             A 
                             _ 
                           
                           
                             ( 
                             
                               ni 
                               + 
                               j 
                             
                             ) 
                           
                         
                          
                         
                           X 
                           j 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   71 
                   ) 
                 
               
             
             
               
                 
                   
                     ⇒ 
                     
                       Y 
                       i 
                     
                   
                   = 
                   
                     
                       Y 
                       
                         i 
                          
                         
                             
                         
                          
                         n 
                       
                     
                     + 
                     
                       
                         B 
                         i 
                       
                        
                       u 
                     
                   
                 
               
               
                 
                   ( 
                   72 
                   ) 
                 
               
             
           
         
       
     
         [0058]    Serializing the math operations in equation (69) using block memory, a shift register, and for loops is illustrated in  FIG. 11 . The number of mathematic operators is greatly reduced from n 2 +n multiplications and n 2  summations when using single calculations (equation (69)) to three multiplications and two summations. In addition, using block memory reduces the need for FPGA logic resources. 
         [0059]    Yet another processing strategy is bandwidth limitation. The above-described estimation and control scheme experiences a limitation in closed-loop bandwidth due to the delay of algorithm calculation and phase lag of the filters in trajectory generator  800 , resulting in a delay in the response. In addition, the closed-loop bandwidth is limited to avoid high frequency control effort. Therefore, the control gains K 1 , K 2 , . . . , K 6  (equations (48), (52), (56), (60), (64), and (68)) and the time constants τ 2 , τ 3 , . . . , τ 6  of the DSC filters (equations (49), (53), (57), (61), (65)) must be tuned low and high enough, respectively. Since the desired injection flow rate is scheduled ahead of time, a pure delay compensator e sT  is utilized as the reference shaper of the desired input. The block diagram of the implemented control system (refer to  FIG. 8 ) is illustrated in  FIG. 12 . 
         [0060]    Using MATLAB, simulation results for the normalized desired boot shape profiles, and control voltages of 70 bar cylinder pressure, 500 bar, and 600 bar rail pressures are shown in  FIG. 13-FIG .  16 .  FIG. 13  depicts the normalized injection rate and control voltage at 500 bar rail pressure forming a toe height of 40%.  FIG. 14  depicts the normalized injection rate and control voltage at 500 bar rail pressure forming a toe height of 60%.  FIG. 15  depicts the normalized injection rate and control voltage at 600 bar rail pressure forming a toe height of 40%.  FIG. 16  depicts the normalized injection rate and control voltage at 600 bar rail pressure forming a toe height of 60%. These figures show that the closed-loop system is capable of tracking desired injection rate profiles in simulation. 
         [0061]    Experimental results for the normalized desired boot shape profiles, and control voltages at 70 bar cylinder pressure, 500 bar, and 600 bar rail pressures are shown in  FIG. 17-FIG .  20 .  FIG. 17  depicts the normalized injection rate and control voltage at 500 bar rail pressure forming a toe height of 40%.  FIG. 18  depicts the normalized injection rate and control voltage at 500 bar rail pressure forming a toe height of 60%.  FIG. 19  depicts the normalized injection rate and control voltage at 600 bar rail pressure forming a toe height of 40%.  FIG. 20  depicts the normalized injection rate and control voltage at 600 bar rail pressure forming a toe height of 60%. From these figures, the closed-loop system achieves good steady state errors and transient response. 
         [0062]    Table 1 shows indices used to evaluate control performance:
   (1) Relative injected fuel error   
 
         [0000]    
       
         
           
             
               
                 
                   
                     Fuel 
                      
                     
                         
                     
                      
                     
                       error 
                        
                       
                           
                       
                       [ 
                       % 
                       ] 
                     
                   
                   = 
                   
                     
                       
                         
                           ∫ 
                           0 
                           T 
                         
                          
                         
                           
                             e 
                              
                             
                               ( 
                               t 
                               ) 
                             
                           
                            
                           
                              
                             t 
                           
                         
                       
                       
                         
                           ∫ 
                           0 
                           T 
                         
                          
                         
                           
                             
                               w 
                               d 
                             
                              
                             
                               ( 
                               t 
                               ) 
                             
                           
                            
                           
                              
                             t 
                           
                         
                       
                     
                     ≈ 
                     
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           n 
                         
                          
                         
                           e 
                            
                           
                               
                           
                            
                           Δ 
                            
                           
                               
                           
                            
                           T 
                         
                       
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           n 
                         
                          
                         
                           
                             w 
                             d 
                           
                            
                           Δ 
                            
                           
                               
                           
                            
                           T 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   73 
                   ) 
                 
               
             
           
         
       
       
         (2) Relative root mean square error during toe and shank 
       
     
         [0000]    
       
         
           
             
               
                 
                   
                     
                       e 
                       
                         rm 
                          
                         
                             
                         
                          
                         s 
                       
                     
                      
                     
                       [ 
                       % 
                       ] 
                     
                   
                   = 
                   
                     
                       
                         
                           
                             ∫ 
                             
                               T 
                               1 
                             
                             
                               T 
                               2 
                             
                           
                            
                           
                             
                               
                                 e 
                                 2 
                               
                                
                               
                                 ( 
                                 t 
                                 ) 
                               
                             
                              
                             
                                
                               t 
                             
                           
                         
                         
                           
                             ∫ 
                             
                               T 
                               1 
                             
                             
                               T 
                               2 
                             
                           
                            
                           
                             
                               
                                 w 
                                 d 
                                 2 
                               
                                
                               
                                 ( 
                                 t 
                                 ) 
                               
                             
                              
                             
                                
                               t 
                             
                           
                         
                       
                     
                     ≈ 
                     
                       
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             n 
                           
                            
                           
                             e 
                             i 
                             2 
                           
                         
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             n 
                           
                            
                           
                             w 
                             di 
                             2 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   74 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where ω d  is desired volumetric injection flow rate, and e=ω stc −ω d . 
         [0065]    (3) Start of Injection (SOI) is the time at which the fuel starts being injected: e SOI =SOI stc −SOI d . As shown in Table 1, the errors in the total injected fuel and fuel injected during shank are less than 3%. 
         [0000]                                                          TABLE 1               INDEX   FIG. 17   FIG. 18   FIG. 19   FIG. 20                                Injected Fuel (%)   −2.5   −2.2   −1.5   −2.5       Injected Fuel at Toe (%)   −6.4   1.1   −0.7   −0.3       Injected Fuel at Shank (%)   −1.9   −2.8   −1.6   −3.0       RMS at Toe (%)   10.1   7.7   9.6   7.6       RMS at Shank (%)   5.0   5.4   4.7   5.1       SOI (ms)   0.1   0.1   0.1   0.1                    
As described previously, injection flow rate control is particularly challenging during the “toe,” at which point the needle is “hovering” between fully opened and fully closed. The control strategy is also effective during this challenging condition, as illustrated in Table 1 showing errors in injected fuel amount during the toe of no more than 6.4%.
 
         [0066]    The results show that with the DSC, the closed-loop system is capable of tracking desired fuel injection rate profiles. The DSC  802  uses states estimated from a reduced-order state estimator and measurement of line pressure. While the embodiments have been described as having exemplary designs, the present disclosure may be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the disclosure using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains.