Expert Systems with Applications 38 (2011) 6916–6925

Contents lists available at ScienceDirect

Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

Neural networks and fuzzy logic-based spark advance control of SI engines Samir Saraswati ⇑, Praveen Kumar Agarwal, Satish Chand Mechanical Engineering Department, MNNIT, Allahabad, India

a r t i c l e

i n f o

Keywords: Spark advance Location of peak pressure SI engines Neural networks Fuzzy logic

a b s t r a c t In SI engines, spark advance (SA) needs to be controlled to get Maximum Brake Torque (MBT) timing. Spark advance can be controlled either by open loop or by closed loop controller. The open loop controller requires extensive testing and calibration of engine, to develop look up tables. In closed loop controller, empirical rules relating variables deduced from cylinder pressure are used. One of such empirical rules is to ﬁx location of peak pressure (LPP) at a desired value of the crank angle. In the present work, a combined neural network and fuzzy logic-based control scheme is designed for SA control to get MBT timing. The fuzzy logic controller is designed to maintain LPP of SI engine close to 16° ATDC. The controller works in conjunction with Recurrent Neural Network model for cylinder pressure identiﬁcation. LPP is estimated from cylinder pressure curve reconstructed using neural network model and is used as feedback signal to fuzzy logic controller. The simulations have been carried out to test the performance of the combined neural network and fuzzy logic-based control strategy. The simulation results show that the proposed strategy can quite satisfactorily control LPP to its desired value. Ó 2010 Elsevier Ltd. All rights reserved.

1. Introduction In Spark Ignition (SI) engines, spark advance (SA) needs to be controlled to get Maximum Brake Torque (MBT) timing. The SI engines are complicated nonlinear dynamic system with inherent uncertainties and unpredictable disturbances. Design of controller for such a system is quite a challenging task. Spark advance can be controlled either by open loop or by closed loop controller. The open loop controller uses look up tables, which stores the optimum value of SA for different operational conditions of engine. Development of these tables requires extensive testing and calibration of engine. In closed loop controller, empirical rules relating variables deduced from cylinder pressure have been used (Glaser & Powell, 1981; Hubbard, Dobson, & Powell, 1978; Isermann & Muller, 2001; Muller & Hemberger, 1998; Powell, 1993). One of such empirical rules is to ﬁx location of peak pressure (LPP) at a desired value of the crank angle. Hubbard et al. (1978) have shown that a spark advance, which maintains LPP at 16° ATDC (After Top Dead Centre), is close to optimum. This has been supported by other researchers (Glaser & Powell, 1981; Isermann & Muller, 2001; Muller & Hemberger, 1998; Powell, 1993) also. Most often, in closed loop control, look up tables are assisted with a PI feedback loop for SA control. This method gives a reasonably good solution near the operating point at which PI gains are tuned. However, it

⇑ Corresponding author. Tel.: +91 8004926324; fax: +91 532 2545677. E-mail addresses: [email protected], Saraswati).

[email protected]

0957-4174/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2010.12.032

(S.

is unable to give satisfactory results in complete operating range as engine dynamics is highly nonlinear. In this work, a fuzzy logic controller is designed to maintain LPP of SI engine close to 16° ATDC. The fuzzy logic controller has been chosen as dynamics of SI engine is highly nonlinear. Fuzzy logic also provides high ﬂexibility to model such system because of its high degree of freedom (shape and number of membership function, aggregation methods, fuzziﬁcation and defuzziﬁcation methods etc.). Further fuzzy systems are suitable for uncertain and approximate reasoning, especially for system whose mathematical model is difﬁcult to derive. Another problem associated with closed loop controller is that it requires measurement of cylinder pressure that is possible through various intrusive and nonintrusive sensors. The intrusive sensors (Herden & Kusell, 1994; Muller et al., 2000; Winter, Mock, & Meixner, 1988) are most commonly used, which are installed through combustion chamber walls. However, poor durability and high cost of these sensors restricts their use. Further, by using nonintrusive sensors (Mobley, 1999; Randall & Powell, 1979), pressure is detected indirectly by sensing stress in an existing engine component like head bolt. These are generally of lower cost than intrusive sensors but their signal quality is often poor. To avoid the use of expensive sensors for direct measurements, other approaches have been suggested for reconstruction of cylinder pressure and use of neural network is one such approach. In this work, Recurrent Neural Network (RNN) is used for the reconstruction of cylinder pressure. The network uses instantaneous crankshaft speed and motored pressure as inputs. Further, LPP is estimated from cylinder pressure curve reconstructed using neural

6917

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

network model. The well-known two zone model is used as a plant on which control strategy is tested. The estimated LPP is used as feedback signal for fuzzy logic controller design. The simulations have been carried out to test the performance of the combined neural network and fuzzy logic-based control strategy.

100

Torque (%)

95

2. Spark advance The spark advance is explained with the help of pressure vs crank angle plot shown in Fig. 1. The points A, B and C are the schematic points at which spark may take place. Angles hA, hB and hC show the values of SA for different pressure curves. If the spark occurs too early, say at point A (Fig. 1), the combustion takes place before the compression stroke is completed and the pressure so developed would oppose the piston motion and thereby reduces the engine power. If the spark occurs too late, say at point C (Fig. 1), the piston would have already completed a certain part of the expansion stroke before the pressure rise occurs and results in power loss. The optimum ignition timing (say hB) that gives the Maximum Brake Torque is called MBT timing, and it occurs when magnitudes of above-mentioned two opposing trends just offset each other. Further, torque vs SA curve is shown in Fig. 2. From the above discussions, it is concluded that there is a need to implement engine control to maintain the value of SA close to MBT timing.

90

MBT timing

85

80 10

15

20

25

Following variables are chosen as inputs to the neural network model for predicting cylinder pressure: It has been shown previously (Brown & Neil, 1992; Citron, O’Higgins, & Chen, 1989; Schagerberg & McKelvey, 2003) that crankshaft speed ﬂuctuations (x) have a direct relationship with cylinder pressure; hence, it is taken as one input to neural network model. Intake manifold pressure affects the inside cylinder pressure signiﬁcantly. The effect of intake manifold pressure is considered by incorporating motored pressure as another input. The motored pressure (pmot) is approximated by a polytropic process given by Eq. (1).

pmot ¼ piv c

V iv c V

n ð1Þ

where, pivc and Vivc are the pressure and volume at intake valve closing. Further, V and n are displacement volume and polytropic

6

7x10

6

6x10

6

Pressure (bar)

5x10

6

4x10

6

3x10

C B

6

A

1x10

0 -90

θC θB

θA

-60

-30

40

3.1. Selection of input variables

In this section, a methodology developed in Saraswati (2009) is used to reconstruct cylinder pressure. The methodology uses a Recurrent Neural Network to identify cylinder pressure. Earlier crank–slider dynamic model (Brown & Neil, 1992; Citron, O’Higgins, & Chen, 1989; Schagerberg & McKelvey, 2003) has been used for reconstruction of cylinder pressure. However, modelling the crankshaft is little complex as it requires the knowledge of all inertia and crankshaft torsion from various sources. The advantage of using neural network over this model is that it does not require the knowledge of exact system parameter. The neural network has the capacity to learn signiﬁcant associations and patterns only from the measured data. Steps used for development of RNN are brieﬂy described below:

6

35

Fig. 2. Effect of spark advance on brake torque.

3. Cylinder pressure reconstruction using RNN

2x10

30

Spark Advance (deg)

TDC

30

60

Crank angle (degree ATDC) Fig. 1. Cylinder pressure vs crank angle plot for different spark advance.

90

6918

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

index, respectively. Here, it is assumed that pressure at intake valve closing is equal to the manifold pressure. Spark advance (SA) is chosen as another input as the values of peak pressure and its location change signiﬁcantly with it. It also has tremendous effect on rate of pressure rise. Equivalence ratio(u) changes the peak cylinder pressure significantly; hence, it is also chosen as one of the input. The combustion pressure, crankshaft speed and motored pressure ﬂuctuation for one of the operating points are shown in Fig. 3. The structure of RNN model used to identify cylinder pressure is ^ðtjwÞ from shown in Fig. 4. The estimated cylinder pressure ½p RNN model at tth sampling instant is given by Eq. (2).

^ðtjwÞ ¼ NN½p ^ðt 1Þ; . . . ; p ^ðt naÞ; xðt 1Þ; . . . ; xðt nb1 Þ p pmot ðt 1Þ; . . . ; pmot ðt nb2 Þ; /ðt 1Þ; . . . ; /ðt nb3 Þ; SAðt 1Þ; . . . ; SAðt nb4 Þ; w

p (bar)

(a)

ð2Þ

where na is the number of past cylinder pressure output as feedback variable, and w is the weight matrix of neural network. Further, nb1, nb2, nb3 and nb4 are the numbers of past data for speed, motored pressure, equivalence ratio and spark advance, respectively. The values of nb3 and nb4 are ﬁxed to 1 as u and SA are ﬁxed for a particular cycle. 3.2. Extraction of data for training and generalization One of the drawbacks of neural network models is that they require large number of engine data for their development. In this work, an approach suggested by Arsie, Pianese, and Rizzo (1998) is used to avoid extensive experimentation. In this approach, ﬁrst the computationally extensive but quite accurate phenomenological models were developed and validated using limited number of experimental data. Further, these models are used to generate data for training and validation of black box models like neural network.

40 20 0 0

500

1000

1500 2000 Sampling Instant (t)

2500

3000

3500

0

500

1000

1500 2000 Sampling Instant (t)

2500

3000

3500

0

500

1000

1500 2000 Sampling Instant (t)

2500

3000

3500

N(rpm)

(b) 1850 1825 1800 1775 1750

pmot(bar)

(c) 15 10 5 0

Fig. 3. Input and output data for neural network training: (a) combustion pressure, (b) crankshaft speed and (c) motored pressure.

Fig. 4. Cylinder pressure identiﬁcation using RNN model.

6919

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

In the present work, a two-zone model (Arsie et al., 1998) is used to predict cylinder pressure. Few of the unknown parameters of this model are identiﬁed or tuned using limited experimental data within operating range of engine. The main unknown parameters (Arsie et al., 1998) of the two-zone model are calibrating constant C1 for burned zone and also constant C1 for unburned zone. In addition, two other unknown parameters are ﬂame development angle Dhd and rapid burn angle Dhb. All four parameters are taken as unknown. The identiﬁcation has been done using Levenberg– Marquardt method (Rao, 2005). The tuned parameters are assumed to be true for points distributed in the region around the experimental operating point. Further, the tuned model is used to generate large number of training and validation data. These data are used to develop RNN to reconstruct cylinder pressure. The cylinder pressure curves for training are generated using two-zone model for 27 different combinations of spark advance, manifold pressure and air-fuel ratio. These points are uniformly distributed in the range speciﬁed by the lower and upper bound (Table 1) of these parameters but are different from experimental points. Further, cylinder pressure curves are generated using two-zone model at eight randomly selected operating points that are used for generalization. Further, validation has also been carried out using experimental pressure trace at four operating points selected randomly. 3.3. Training In training, optimum weights are found by minimizing cost function given by Eq. (3), for a given model structure on training data.

Table 1 Ranges of independent parameters. Variable

Lower bound

Upper bound

Equivalence ratio Spark advance (° BTDC) Manifold pressure (bar)

0.8 15 0.4

1.2 35 1

nðwÞ ¼

1 X 1 eðtjwÞ2 þ wT Dw 2Np 2

ð3Þ

where e(t|w) is the error signal at the output node and is given by Eq. (4). _

eðtjwÞ ¼ yðtÞ y ðtjwÞ

ð4Þ

where Np is the number of training data and D is the weight decay matrix given by Eq. (5).

D ¼ bI

ð5Þ

where b is the weight decay term and I is the identity matrix. The Levenberg–Marquardt method (Nørgaard, Ravn, Poulsen, & Hansen, 2000) is used for minimization of cost function, as it leads to rapid convergence. According to this method, neural network weights update rule is given by Eq. (6).

wiþ1 ¼ wi ½Hðwi Þ þ li I1 Gðwi Þ

ð6Þ

i

where H(w ) is second-order derivative matrix (Hessian matrix) and G(wi) is gradient of the cost function at ith iteration, I is the identity matrix and li is a positive constant. The Levenberg–Marquardt method spans from steepest descent method for larger values of li to a Gauss-Newton method as li tends to zero. Strategy adopted (Nørgaard et al., 2000) is used here for selecting li. The other important issues in training are selection of stopping criterion and selection of weight decay parameter. The training is stopped (Nørgaard et al., 2000) when any one of the following conditions is achieved Maximum number of iterations has exceeded 500. Cost function n is less than 106. Biggest weight change, i.e., max jðwiþ1 wik Þj is less than 103, k and change in cost function is less than 107. The weight decay has been found using a trial and error method. The fully connected network is trained for different weight decays in the interval 104 6 b 6 102. It is found that b = 0.01 gives the minimum training and generalization error, and also the minimum difference between the two.

(a) Pressure(bar)

30

Two Zone

0

SA=30 BTDC pman=0.85 bar φ=1.1

Neural Network 20 10 0 -180

-90

0

90

180

90

180

Crank angle (degree ATDC)

Residuals(bar)

(b)

0.5

0.0

-0.5 -180

-90

0

Crank angle (degree ATDC) Fig. 5. (a) Cylinder pressure predicted from two-zone simulation and RNN for one of the operating conditions in generalization data set and (b) Prediction error.

6920

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

3.4. Validation results and selection of network structure Validation of RNN model is carried out using following two techniques: Estimation of the generalization mean square error. Visualization of its ability to predict. The estimation of generalization normalized sum of square error (NSSE) is useful for validation, but its primary function is for network structure selection (Nørgaard et al., 2000), which refers to selection of optimum number of hidden nodes. Neural network with different topologies are trained. In this analysis, the number of past outputs na used as feedback variable is varied from 2 to 3, and number of past values of engine speed nb1 and motored

pressure nb2 are varied from 6 to 7. The numbers of hidden neurons are varied from 12 to 15. The minimum mean square error is obtained for na = 3, nb1 = 7 and nb2 = 7 corresponding to 13 hidden neurons. Further, cylinder pressure is reconstructed for eight different running conditions in generalization data set, using the optimal network structure found above. Fig. 5(a) shows the cylinder pressures reconstructed using RNN and two zone simulation for one of the operating points. It can be seen that both the curves are very close to each other. Fig. 5(b) shows the residuals between the two, and it can be seen that residuals lie between ±0.5 bar. For other operating points also, the residuals lie within this range only. It can be concluded from these results that for different operating conditions, neural network is able to give consistent satisfactory predictions.

Pressure (bar)

(a) 0

Experimental

20

SA=18 BTDC pman=0.85 bar φ=0.75

NN simulation 10

Ignition 0 -150

-100

-50

0

50

100

150

100

150

Crank Angle (degree ATDC)

(b) 2 Residuals (bar)

1 0 -1 -2 -3 -150

-100

-50

0

50

Crank Angle (degree ATDC) Fig. 6. (a) Pressure curves Set1: Experimental and RNN simulation and (b) Pressure residuals.

Pressure (bar)

(a) 0

Experimental

40

SA=30 BTDC pman=0.95 bar φ=1

NN simulation 20

Ignition -150

-100

-50

0

50

100

150

100

150

Crank Angle (degree ATDC)

Residuals (bar)

(b) 4 2 0 -2 -150

-100

-50

0

50

Crank Angle (degree ATDC) Fig. 7. (a) Pressure curves Set2: Experimental and RNN simulation and (b) Pressure residuals.

6921

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

Further, Figs. 6(a)–9(a) show the experimental pressure trace superimposed on pressure trace from neural network model. Figs. 6(b)–9(b) show the residuals between the two traces. Two of these experimental traces are outside the operating range for which training data have been generated. This is done to test the capability of neural network to extrapolate. The residuals are somewhat more than that of found for generalization data set, but still for most of the conditions, these are within acceptable limits. Hence, it can be concluded that neural network model follows the experimental pressure with good accuracy. Now in next section, the fuzzy logic controller is formulated to maintain spark advance close to MBT timing.

4. Fuzzy logic controller The control scheme used for spark advance management is shown in Fig. 10. In the present approach, the location of peak ^ estimated from cylinder pressure curve generated pressure ðLPPÞis using RNN model. It is compared with reference signal (LPPref = 16° ATDC) to generate error signal. Further, this information is used by the fuzzy logic controller to provide required SA to maintain the LPP of engine close to its reference value. The nonlinear fuzzy logic approach has been chosen for the controller design due to highly nonlinear dynamics of SI engine. Fuzzy logic design is based upon an ‘expert’ linguistic description of the system behaviour. Fuzzy

(a) Pressure (bar)

30

0

Experimental

SA=28 BTDC pman=0.85 bar φ=1.05

NN simulation

20 10 0 -150

Ignition -100

-50

0

50

100

150

100

150

Crank Angle (degree ATDC)

Residuals (bar)

(b) 1.0 0.5 0.0 -0.5 -1.0 -150

-100

-50

0

50

Crank Angle (degree ATDC) Fig. 8. (a) Pressure curves Set3: Experimental and RNN simulation and (b) Pressure residuals.

Pressure (bar)

(a) 20 0

Experimental NN simulation

SA=10 BTDC pman=0.65 bar φ=0.85

10

Ignition 0 -150

-100

-50

0

50

100

150

100

150

Crank Angle (degree ATDC)

Residuals (bar)

(b) 1.0 0.5 0.0 -0.5 -1.0 -150

-100

-50

0

50

Crank Angle (degree ATDC) Fig. 9. (a) Pressure curves Set4: Experimental and RNN simulation and (b) Pressure residuals.

6922

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

logic theory was ﬁrst established by Zadeh (1965). Since then, it has been considered as an effective means in various control problems. An idea of applying fuzzy logic to dynamic systems was introduced in early 1970s by Mamdani (1976). Later, Tagaki and Sugeno (1985) established a fuzzy model, in which a piecewise linear model of the plant is formed via a combination of if-then rules and linearized plant models. The Mamdani architecture of a fuzzy logic controller is based on qualitative and empirical knowledge of human beings. This architecture enables to design the controller even in the absence of an explicit plant model. Here also, Mamdani architecture is used to develop the fuzzy logic control system. The general structure of a fuzzy control system is shown in Fig. 11. The typical architecture of a fuzzy logic controller is comprised of four principal components: Fuzziﬁer, Fuzzy Rule Base, Inference Engine and Defuzziﬁer (Tahera, Ibrahim, & Lochert, 2008). The Fuzziﬁer transforms crisp measured data into suitable fuzzy sets. The Fuzzy Rule Base stores the observed knowledge of the operation of the process that contains a set of ‘if-then’ rules. The Inference Engine is the main heart of a fuzzy logic controller, and it has the capability of simulating human decision making by performing approximate reasoning. During the process, it derives a reasonable action with respect to a speciﬁc situation based on the given rule base. Lastly, the Defuzziﬁer converts the fuzzy control action to the non-fuzzy action that can be accepted by the real world. Fuzzy logic controller is constructed by designing a rule base to implement a nonlinear control strategy. The rules database inputs and outputs are modelled as fuzzy variables. The error signal

between the desired value of location of peak pressure (LPPref) ^ obtained from neural model is taken and its identiﬁed value ðLPPÞ as one of the input and is given by the Eq. (7).

^ eðtÞ ¼ LPPref LPP

ð7Þ

Further, change in error signal for two consecutive cycles is taken as other input and is given by Eq. (8).

DeðtÞ ¼ eðtÞ eðt 1Þ

ð8Þ

where e(t 1) is error signal of the preceding cycle. Further, the output of controller is change in spark advance DSA(t). This is used to determine required spark advance at time t as given by Eq. (9)

SAðtÞ ¼ SAðt 1Þ þ DSAðtÞ

ð9Þ

where SA(t 1) is the spark advance of the preceding cycle. The rules deﬁned in rule base of fuzzy logic controller are abstract ideas about how to achieve good control. To describe these ideas, inputs and output are described as linguistic variables. In this case, following linguistic variables are used: ‘‘error’’ describes e(t) ‘‘change-in-error’’ describes De(t) and ‘‘change-in-SA’’ describes DSA(t) The antecedent and consequent of each rule operate on the positions of input and output variables in predeﬁned membership functions (MFs). These membership functions possess qualitative descriptions that generalize the notion of assigning a single degree

Fig. 10. Spark advance management using fuzzy controller and neural identiﬁcation.

Fig. 11. Structure of fuzzy logic controller.

6923

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

to a speciﬁc response severity or corrective action level. The triangular and the trapezoidal form of MFs are chosen because of their simple formulas, shorter rise and settling times, and higher computational efﬁciencies (Hartavi, Ustun, & Tuncay, 2003). The triangular forms of MFs are used in the middle, and the trapezoidal forms of MFs are used at both the ends of the universe of discourse for representing the saturation. The number and distribution of the membership functions are chosen based on experience. More membership functions give more controller parameters and thus more freedom to shape the control surface. The universe of discourse for the inputs are divided into ﬁve fuzzy subsets NL, NS, ZE, PS and PL, where N, P, L, S and Z represent Negative, Positive, Large, Small and Zero, respectively. Further, the universe of discourse for output is divided into seven fuzzy subsets NL, NM, NS, ZE, PS, PM and PL where M represents Medium. For example NL represents negative-large. The membership functions for inputs and output are shown in Fig. 12. In these Figures, l represents the membership value. The linguistic quantiﬁcation is then used to specify a set of rules (the rule-base) that captures the knowledge how to control the system. The general form of the linguistic rules is given by ‘If premise Then consequent’. A tabular representation for the set of

rules used for spark advance control is shown in Table 2. In this case, with two inputs and ﬁve linguistic values for each of these, there are at most 52 = 25 possible rules. For example, the ﬁrst rule is If error is NL and change-in-error is NL, Then change-in-spark advance is PL In inference mechanism, the implied fuzzy sets are produced using the max–min composition. In defuzziﬁcation, these implied fuzzy sets are combined to provide a crisp value of controller output. The Centre of Gravity (COG) defuzziﬁcation method (Passino & Yurkovich, 1998) has been used to ﬁnd out the crisp value of the output. According to COG defuzziﬁcation, the crisp value of output is given by Eq. (10).

P R i bi DSAcrisp ¼ P R i

lconseq;i lconseq;i

ð10Þ

where bi denote the centre of gravity of the membership function of R the consequent of rule i. Further, lconseq;i denotes the area under the membership function lconseq,i.

Fig. 12. Membership functions for spark advance control.

Table 2 Rule table for spark advance control. Change in spark advance DSA(t)

Change in error De(t)

Error e(t)

NL NS ZE PS PL

NL

NS

ZE

PS

PL

PL PL PM PS ZE

PM PM PS ZE NS

PM PS ZE NS NM

PS ZE NS NM NM

ZE NS NM NL NL

6924

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

LPP (degree)

(a)

22 20 18 16 0

2

4

6

8

10

12

14

16

18

20

14

16

18

20

Number of Cycles

(degree)

Spark Advance

(b)

28 26 24 22 20 0

2

4

6

8

10

12

Number of Cycles Fig. 13. (a) LPP variation w.r.t. number of cycles and (b) Spark advance variation w.r.t. number of cycles.

as it provides satisfactory performance in the presence of external disturbances.

LPP (degree)

22 21

6. Conclusions

20

In the present work, a combined neural network and fuzzy logic-based control scheme is designed for SA control to get MBT timing. The fuzzy logic controller is designed to maintain LPP of SI engine close to 16° ATDC. Fuzzy logic controller is chosen because its nonlinear nature suits the highly nonlinear behaviour of SI engine. The controller works in conjunction with RNN model for cylinder pressure identiﬁcation. The value of LPP sent as feedback signal to fuzzy logic controller is derived from reconstructed cylinder pressure. Simulation results show the excellent performance of the controller and its robustness in the presence of disturbances.

19 18 Tload changed at this point

17 16 0

5

10

15

20

Number of Cycles Fig. 14. LPP variation w.r.t. number of cycles with external load changed after 10th cycle.

5. Simulation results To test the performance of the combined RNN and FL control scheme, simulations have been carried out using Matlab and its Fuzzy Logic tool box. The ﬁrst simulation run is carried out for manifold pressure pman = 0.65 bar and external load torque Tload = 6.3 Nm. Fig. 13(a) shows the variation of LPP w.r.t number of cycles. As seen in Fig. 13(a), the LPP reaches to its desired value after ﬁve cycles. Further, Fig. 13(b) shows the corresponding spark advance variation w.r.t. number of cycles. The second simulation is done to test fuzzy controller’s ability to reject disturbances. For this, manifold pressure is kept constant at 0.65 bar for entire duration of simulation whereas external load torque is instantaneously varied from 6.3 Nm to 12.6 Nm after 10th cycle. Fig. 14 shows the variation of LPP w.r.t number of cycles with external load variation. It is observed that after 10th cycle, value of LPP deviates from reference value but then quickly settles down to reference value within two cycles. Hence, fuzzy controller is found to be robust

Acknowledgment The research carried out in this paper was conducted with the ﬁnancial assistance by Department of Science and Technology, New Delhi, India under SERC-Engineering Sciences Scheme. References Arsie, I., Pianese, C., & Rizzo, G. (1998). Models for the prediction of performance and emissions in a spark ignition engine – A sequentially structured approach. SAE Paper 980779 (pp. 1065–1077). Brown, T. S., & Neil, W. S. (1992). Determination of engine cylinder pressure from crankshaft speed ﬂuctuations. SAE Paper 920463 (pp. 61–69) in SP 859. Citron, S. J., O’Higgins, J. E., & Chen, L. Y. (1989). Cylinder by cylinder engine pressure and pressure torque waveform determination utilizing speed ﬂuctuations. SAE Paper 890486. Glaser, I. & Powell, J. D. (1981). Optimal closed loop spark control of an automotive engine. SAE Paper 810058. Hartavi, A. E., Ustun, O., & Tuncay, R. N. (2003). A Comparative approach on PD and Fuzzy control of AMB using RCP. In IEEE International Electric Machines and Drives Conference (vol. 3, pp. 1507–1510). Herden, W., & Kusell, M. (1994). A new combustion pressure for advanced engine management. SAE Paper 940379. Hubbard, M., Dobson, P. D., & Powell, J. D. (1978). Closed loop control of spark advance using a cylinder pressure sensor. Transactions of ASME: Journal of Dynamic Systems Measurement and Control(December), 414–420.

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925 Isermann, R., & Muller, N. (2001). Nonlinear identiﬁcation and adaptive control of combustion engines. In IFAC-Workshop on adaptation and learning in control and signal processing, 29–31 August 2001, Como, Italy. Mamdani, E. (1976). Advances in the linguistic synthesis of fuzzy controllers. International Journal of Man–Machine Studies, 6, 669–678. Mobley, C. (1999). Non-Intrusive In-Cylinder pressure measurement of internal combustion engines. SAE Paper 1999-01-0544. Muller, R., & Hemberger, H. H. (1998). Neural adaptive ignition control. SAE Paper 981057. Muller, R., Hart, M., Krotz, G., Eickhoff, M., Truscott, A., Noble, A., et al. (2000). Combustion pressure based engine management system. SAE Paper 2000-010928. Nørgaard, M., Ravn, O., Poulsen, N. L., & Hansen, L. K. (2000). Neural networks for modelling and control of dynamic systems. 1-85233-227-1. Springer. Passino, K. M., & Yurkovich, S. (1998). Fuzzy control. 0-201-18074-X. Addison Wesley Longman Inc.. Powell, J. D. (1993). Engine control using cylinder pressure: Past, present and future. Transactions of ASME: Journal of Dynamic Systems Measurement and Control, 115, 343–350.

6925

Randall, K. W., & Powell J. D. (1979). A cylinder pressure sensor for spark advance control and knock detection. SAE Paper 790139. Rao, S. S. (2005). Engineering optimization. 81-224-1149-5. New Age International Publishers. Saraswati, S. (2009). Neural network and fuzzy logic control of air-fuel ratio and spark advance for spark ignition engine. PhD thesis, MNNIT, Allahabad. Schagerberg, S., & McKelvey, T. (2003). Instantaneous crankshaft torque measurements-modeling and validation. SAE Paper 2003-01-0713. Tagaki, K., & Sugeno, M. (1985). Fuzzy identiﬁcation of systems and its application to modelling and control. IEEE Transactions on Systems, Man, and Cybernetics, 15, 116–132. Tahera, K., Ibrahim, R. N., & Lochert, P. B. (2008). A fuzzy logic approach for dealing with qualitative quality characteristics of a process. Expert Systems with Applications, 34, 2630–2638. Winter, H., Mock, R., & Meixner, H. (1988). A high temperature pressure sensor for the combustion chamber of spark ignition engines. In 18th International symposium automotive technology. Zadeh, L. (1965). Fuzzy sets. Information and Control, 8, 338–353.

Contents lists available at ScienceDirect

Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

Neural networks and fuzzy logic-based spark advance control of SI engines Samir Saraswati ⇑, Praveen Kumar Agarwal, Satish Chand Mechanical Engineering Department, MNNIT, Allahabad, India

a r t i c l e

i n f o

Keywords: Spark advance Location of peak pressure SI engines Neural networks Fuzzy logic

a b s t r a c t In SI engines, spark advance (SA) needs to be controlled to get Maximum Brake Torque (MBT) timing. Spark advance can be controlled either by open loop or by closed loop controller. The open loop controller requires extensive testing and calibration of engine, to develop look up tables. In closed loop controller, empirical rules relating variables deduced from cylinder pressure are used. One of such empirical rules is to ﬁx location of peak pressure (LPP) at a desired value of the crank angle. In the present work, a combined neural network and fuzzy logic-based control scheme is designed for SA control to get MBT timing. The fuzzy logic controller is designed to maintain LPP of SI engine close to 16° ATDC. The controller works in conjunction with Recurrent Neural Network model for cylinder pressure identiﬁcation. LPP is estimated from cylinder pressure curve reconstructed using neural network model and is used as feedback signal to fuzzy logic controller. The simulations have been carried out to test the performance of the combined neural network and fuzzy logic-based control strategy. The simulation results show that the proposed strategy can quite satisfactorily control LPP to its desired value. Ó 2010 Elsevier Ltd. All rights reserved.

1. Introduction In Spark Ignition (SI) engines, spark advance (SA) needs to be controlled to get Maximum Brake Torque (MBT) timing. The SI engines are complicated nonlinear dynamic system with inherent uncertainties and unpredictable disturbances. Design of controller for such a system is quite a challenging task. Spark advance can be controlled either by open loop or by closed loop controller. The open loop controller uses look up tables, which stores the optimum value of SA for different operational conditions of engine. Development of these tables requires extensive testing and calibration of engine. In closed loop controller, empirical rules relating variables deduced from cylinder pressure have been used (Glaser & Powell, 1981; Hubbard, Dobson, & Powell, 1978; Isermann & Muller, 2001; Muller & Hemberger, 1998; Powell, 1993). One of such empirical rules is to ﬁx location of peak pressure (LPP) at a desired value of the crank angle. Hubbard et al. (1978) have shown that a spark advance, which maintains LPP at 16° ATDC (After Top Dead Centre), is close to optimum. This has been supported by other researchers (Glaser & Powell, 1981; Isermann & Muller, 2001; Muller & Hemberger, 1998; Powell, 1993) also. Most often, in closed loop control, look up tables are assisted with a PI feedback loop for SA control. This method gives a reasonably good solution near the operating point at which PI gains are tuned. However, it

⇑ Corresponding author. Tel.: +91 8004926324; fax: +91 532 2545677. E-mail addresses: [email protected], Saraswati).

[email protected]

0957-4174/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2010.12.032

(S.

is unable to give satisfactory results in complete operating range as engine dynamics is highly nonlinear. In this work, a fuzzy logic controller is designed to maintain LPP of SI engine close to 16° ATDC. The fuzzy logic controller has been chosen as dynamics of SI engine is highly nonlinear. Fuzzy logic also provides high ﬂexibility to model such system because of its high degree of freedom (shape and number of membership function, aggregation methods, fuzziﬁcation and defuzziﬁcation methods etc.). Further fuzzy systems are suitable for uncertain and approximate reasoning, especially for system whose mathematical model is difﬁcult to derive. Another problem associated with closed loop controller is that it requires measurement of cylinder pressure that is possible through various intrusive and nonintrusive sensors. The intrusive sensors (Herden & Kusell, 1994; Muller et al., 2000; Winter, Mock, & Meixner, 1988) are most commonly used, which are installed through combustion chamber walls. However, poor durability and high cost of these sensors restricts their use. Further, by using nonintrusive sensors (Mobley, 1999; Randall & Powell, 1979), pressure is detected indirectly by sensing stress in an existing engine component like head bolt. These are generally of lower cost than intrusive sensors but their signal quality is often poor. To avoid the use of expensive sensors for direct measurements, other approaches have been suggested for reconstruction of cylinder pressure and use of neural network is one such approach. In this work, Recurrent Neural Network (RNN) is used for the reconstruction of cylinder pressure. The network uses instantaneous crankshaft speed and motored pressure as inputs. Further, LPP is estimated from cylinder pressure curve reconstructed using neural

6917

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

network model. The well-known two zone model is used as a plant on which control strategy is tested. The estimated LPP is used as feedback signal for fuzzy logic controller design. The simulations have been carried out to test the performance of the combined neural network and fuzzy logic-based control strategy.

100

Torque (%)

95

2. Spark advance The spark advance is explained with the help of pressure vs crank angle plot shown in Fig. 1. The points A, B and C are the schematic points at which spark may take place. Angles hA, hB and hC show the values of SA for different pressure curves. If the spark occurs too early, say at point A (Fig. 1), the combustion takes place before the compression stroke is completed and the pressure so developed would oppose the piston motion and thereby reduces the engine power. If the spark occurs too late, say at point C (Fig. 1), the piston would have already completed a certain part of the expansion stroke before the pressure rise occurs and results in power loss. The optimum ignition timing (say hB) that gives the Maximum Brake Torque is called MBT timing, and it occurs when magnitudes of above-mentioned two opposing trends just offset each other. Further, torque vs SA curve is shown in Fig. 2. From the above discussions, it is concluded that there is a need to implement engine control to maintain the value of SA close to MBT timing.

90

MBT timing

85

80 10

15

20

25

Following variables are chosen as inputs to the neural network model for predicting cylinder pressure: It has been shown previously (Brown & Neil, 1992; Citron, O’Higgins, & Chen, 1989; Schagerberg & McKelvey, 2003) that crankshaft speed ﬂuctuations (x) have a direct relationship with cylinder pressure; hence, it is taken as one input to neural network model. Intake manifold pressure affects the inside cylinder pressure signiﬁcantly. The effect of intake manifold pressure is considered by incorporating motored pressure as another input. The motored pressure (pmot) is approximated by a polytropic process given by Eq. (1).

pmot ¼ piv c

V iv c V

n ð1Þ

where, pivc and Vivc are the pressure and volume at intake valve closing. Further, V and n are displacement volume and polytropic

6

7x10

6

6x10

6

Pressure (bar)

5x10

6

4x10

6

3x10

C B

6

A

1x10

0 -90

θC θB

θA

-60

-30

40

3.1. Selection of input variables

In this section, a methodology developed in Saraswati (2009) is used to reconstruct cylinder pressure. The methodology uses a Recurrent Neural Network to identify cylinder pressure. Earlier crank–slider dynamic model (Brown & Neil, 1992; Citron, O’Higgins, & Chen, 1989; Schagerberg & McKelvey, 2003) has been used for reconstruction of cylinder pressure. However, modelling the crankshaft is little complex as it requires the knowledge of all inertia and crankshaft torsion from various sources. The advantage of using neural network over this model is that it does not require the knowledge of exact system parameter. The neural network has the capacity to learn signiﬁcant associations and patterns only from the measured data. Steps used for development of RNN are brieﬂy described below:

6

35

Fig. 2. Effect of spark advance on brake torque.

3. Cylinder pressure reconstruction using RNN

2x10

30

Spark Advance (deg)

TDC

30

60

Crank angle (degree ATDC) Fig. 1. Cylinder pressure vs crank angle plot for different spark advance.

90

6918

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

index, respectively. Here, it is assumed that pressure at intake valve closing is equal to the manifold pressure. Spark advance (SA) is chosen as another input as the values of peak pressure and its location change signiﬁcantly with it. It also has tremendous effect on rate of pressure rise. Equivalence ratio(u) changes the peak cylinder pressure significantly; hence, it is also chosen as one of the input. The combustion pressure, crankshaft speed and motored pressure ﬂuctuation for one of the operating points are shown in Fig. 3. The structure of RNN model used to identify cylinder pressure is ^ðtjwÞ from shown in Fig. 4. The estimated cylinder pressure ½p RNN model at tth sampling instant is given by Eq. (2).

^ðtjwÞ ¼ NN½p ^ðt 1Þ; . . . ; p ^ðt naÞ; xðt 1Þ; . . . ; xðt nb1 Þ p pmot ðt 1Þ; . . . ; pmot ðt nb2 Þ; /ðt 1Þ; . . . ; /ðt nb3 Þ; SAðt 1Þ; . . . ; SAðt nb4 Þ; w

p (bar)

(a)

ð2Þ

where na is the number of past cylinder pressure output as feedback variable, and w is the weight matrix of neural network. Further, nb1, nb2, nb3 and nb4 are the numbers of past data for speed, motored pressure, equivalence ratio and spark advance, respectively. The values of nb3 and nb4 are ﬁxed to 1 as u and SA are ﬁxed for a particular cycle. 3.2. Extraction of data for training and generalization One of the drawbacks of neural network models is that they require large number of engine data for their development. In this work, an approach suggested by Arsie, Pianese, and Rizzo (1998) is used to avoid extensive experimentation. In this approach, ﬁrst the computationally extensive but quite accurate phenomenological models were developed and validated using limited number of experimental data. Further, these models are used to generate data for training and validation of black box models like neural network.

40 20 0 0

500

1000

1500 2000 Sampling Instant (t)

2500

3000

3500

0

500

1000

1500 2000 Sampling Instant (t)

2500

3000

3500

0

500

1000

1500 2000 Sampling Instant (t)

2500

3000

3500

N(rpm)

(b) 1850 1825 1800 1775 1750

pmot(bar)

(c) 15 10 5 0

Fig. 3. Input and output data for neural network training: (a) combustion pressure, (b) crankshaft speed and (c) motored pressure.

Fig. 4. Cylinder pressure identiﬁcation using RNN model.

6919

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

In the present work, a two-zone model (Arsie et al., 1998) is used to predict cylinder pressure. Few of the unknown parameters of this model are identiﬁed or tuned using limited experimental data within operating range of engine. The main unknown parameters (Arsie et al., 1998) of the two-zone model are calibrating constant C1 for burned zone and also constant C1 for unburned zone. In addition, two other unknown parameters are ﬂame development angle Dhd and rapid burn angle Dhb. All four parameters are taken as unknown. The identiﬁcation has been done using Levenberg– Marquardt method (Rao, 2005). The tuned parameters are assumed to be true for points distributed in the region around the experimental operating point. Further, the tuned model is used to generate large number of training and validation data. These data are used to develop RNN to reconstruct cylinder pressure. The cylinder pressure curves for training are generated using two-zone model for 27 different combinations of spark advance, manifold pressure and air-fuel ratio. These points are uniformly distributed in the range speciﬁed by the lower and upper bound (Table 1) of these parameters but are different from experimental points. Further, cylinder pressure curves are generated using two-zone model at eight randomly selected operating points that are used for generalization. Further, validation has also been carried out using experimental pressure trace at four operating points selected randomly. 3.3. Training In training, optimum weights are found by minimizing cost function given by Eq. (3), for a given model structure on training data.

Table 1 Ranges of independent parameters. Variable

Lower bound

Upper bound

Equivalence ratio Spark advance (° BTDC) Manifold pressure (bar)

0.8 15 0.4

1.2 35 1

nðwÞ ¼

1 X 1 eðtjwÞ2 þ wT Dw 2Np 2

ð3Þ

where e(t|w) is the error signal at the output node and is given by Eq. (4). _

eðtjwÞ ¼ yðtÞ y ðtjwÞ

ð4Þ

where Np is the number of training data and D is the weight decay matrix given by Eq. (5).

D ¼ bI

ð5Þ

where b is the weight decay term and I is the identity matrix. The Levenberg–Marquardt method (Nørgaard, Ravn, Poulsen, & Hansen, 2000) is used for minimization of cost function, as it leads to rapid convergence. According to this method, neural network weights update rule is given by Eq. (6).

wiþ1 ¼ wi ½Hðwi Þ þ li I1 Gðwi Þ

ð6Þ

i

where H(w ) is second-order derivative matrix (Hessian matrix) and G(wi) is gradient of the cost function at ith iteration, I is the identity matrix and li is a positive constant. The Levenberg–Marquardt method spans from steepest descent method for larger values of li to a Gauss-Newton method as li tends to zero. Strategy adopted (Nørgaard et al., 2000) is used here for selecting li. The other important issues in training are selection of stopping criterion and selection of weight decay parameter. The training is stopped (Nørgaard et al., 2000) when any one of the following conditions is achieved Maximum number of iterations has exceeded 500. Cost function n is less than 106. Biggest weight change, i.e., max jðwiþ1 wik Þj is less than 103, k and change in cost function is less than 107. The weight decay has been found using a trial and error method. The fully connected network is trained for different weight decays in the interval 104 6 b 6 102. It is found that b = 0.01 gives the minimum training and generalization error, and also the minimum difference between the two.

(a) Pressure(bar)

30

Two Zone

0

SA=30 BTDC pman=0.85 bar φ=1.1

Neural Network 20 10 0 -180

-90

0

90

180

90

180

Crank angle (degree ATDC)

Residuals(bar)

(b)

0.5

0.0

-0.5 -180

-90

0

Crank angle (degree ATDC) Fig. 5. (a) Cylinder pressure predicted from two-zone simulation and RNN for one of the operating conditions in generalization data set and (b) Prediction error.

6920

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

3.4. Validation results and selection of network structure Validation of RNN model is carried out using following two techniques: Estimation of the generalization mean square error. Visualization of its ability to predict. The estimation of generalization normalized sum of square error (NSSE) is useful for validation, but its primary function is for network structure selection (Nørgaard et al., 2000), which refers to selection of optimum number of hidden nodes. Neural network with different topologies are trained. In this analysis, the number of past outputs na used as feedback variable is varied from 2 to 3, and number of past values of engine speed nb1 and motored

pressure nb2 are varied from 6 to 7. The numbers of hidden neurons are varied from 12 to 15. The minimum mean square error is obtained for na = 3, nb1 = 7 and nb2 = 7 corresponding to 13 hidden neurons. Further, cylinder pressure is reconstructed for eight different running conditions in generalization data set, using the optimal network structure found above. Fig. 5(a) shows the cylinder pressures reconstructed using RNN and two zone simulation for one of the operating points. It can be seen that both the curves are very close to each other. Fig. 5(b) shows the residuals between the two, and it can be seen that residuals lie between ±0.5 bar. For other operating points also, the residuals lie within this range only. It can be concluded from these results that for different operating conditions, neural network is able to give consistent satisfactory predictions.

Pressure (bar)

(a) 0

Experimental

20

SA=18 BTDC pman=0.85 bar φ=0.75

NN simulation 10

Ignition 0 -150

-100

-50

0

50

100

150

100

150

Crank Angle (degree ATDC)

(b) 2 Residuals (bar)

1 0 -1 -2 -3 -150

-100

-50

0

50

Crank Angle (degree ATDC) Fig. 6. (a) Pressure curves Set1: Experimental and RNN simulation and (b) Pressure residuals.

Pressure (bar)

(a) 0

Experimental

40

SA=30 BTDC pman=0.95 bar φ=1

NN simulation 20

Ignition -150

-100

-50

0

50

100

150

100

150

Crank Angle (degree ATDC)

Residuals (bar)

(b) 4 2 0 -2 -150

-100

-50

0

50

Crank Angle (degree ATDC) Fig. 7. (a) Pressure curves Set2: Experimental and RNN simulation and (b) Pressure residuals.

6921

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

Further, Figs. 6(a)–9(a) show the experimental pressure trace superimposed on pressure trace from neural network model. Figs. 6(b)–9(b) show the residuals between the two traces. Two of these experimental traces are outside the operating range for which training data have been generated. This is done to test the capability of neural network to extrapolate. The residuals are somewhat more than that of found for generalization data set, but still for most of the conditions, these are within acceptable limits. Hence, it can be concluded that neural network model follows the experimental pressure with good accuracy. Now in next section, the fuzzy logic controller is formulated to maintain spark advance close to MBT timing.

4. Fuzzy logic controller The control scheme used for spark advance management is shown in Fig. 10. In the present approach, the location of peak ^ estimated from cylinder pressure curve generated pressure ðLPPÞis using RNN model. It is compared with reference signal (LPPref = 16° ATDC) to generate error signal. Further, this information is used by the fuzzy logic controller to provide required SA to maintain the LPP of engine close to its reference value. The nonlinear fuzzy logic approach has been chosen for the controller design due to highly nonlinear dynamics of SI engine. Fuzzy logic design is based upon an ‘expert’ linguistic description of the system behaviour. Fuzzy

(a) Pressure (bar)

30

0

Experimental

SA=28 BTDC pman=0.85 bar φ=1.05

NN simulation

20 10 0 -150

Ignition -100

-50

0

50

100

150

100

150

Crank Angle (degree ATDC)

Residuals (bar)

(b) 1.0 0.5 0.0 -0.5 -1.0 -150

-100

-50

0

50

Crank Angle (degree ATDC) Fig. 8. (a) Pressure curves Set3: Experimental and RNN simulation and (b) Pressure residuals.

Pressure (bar)

(a) 20 0

Experimental NN simulation

SA=10 BTDC pman=0.65 bar φ=0.85

10

Ignition 0 -150

-100

-50

0

50

100

150

100

150

Crank Angle (degree ATDC)

Residuals (bar)

(b) 1.0 0.5 0.0 -0.5 -1.0 -150

-100

-50

0

50

Crank Angle (degree ATDC) Fig. 9. (a) Pressure curves Set4: Experimental and RNN simulation and (b) Pressure residuals.

6922

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

logic theory was ﬁrst established by Zadeh (1965). Since then, it has been considered as an effective means in various control problems. An idea of applying fuzzy logic to dynamic systems was introduced in early 1970s by Mamdani (1976). Later, Tagaki and Sugeno (1985) established a fuzzy model, in which a piecewise linear model of the plant is formed via a combination of if-then rules and linearized plant models. The Mamdani architecture of a fuzzy logic controller is based on qualitative and empirical knowledge of human beings. This architecture enables to design the controller even in the absence of an explicit plant model. Here also, Mamdani architecture is used to develop the fuzzy logic control system. The general structure of a fuzzy control system is shown in Fig. 11. The typical architecture of a fuzzy logic controller is comprised of four principal components: Fuzziﬁer, Fuzzy Rule Base, Inference Engine and Defuzziﬁer (Tahera, Ibrahim, & Lochert, 2008). The Fuzziﬁer transforms crisp measured data into suitable fuzzy sets. The Fuzzy Rule Base stores the observed knowledge of the operation of the process that contains a set of ‘if-then’ rules. The Inference Engine is the main heart of a fuzzy logic controller, and it has the capability of simulating human decision making by performing approximate reasoning. During the process, it derives a reasonable action with respect to a speciﬁc situation based on the given rule base. Lastly, the Defuzziﬁer converts the fuzzy control action to the non-fuzzy action that can be accepted by the real world. Fuzzy logic controller is constructed by designing a rule base to implement a nonlinear control strategy. The rules database inputs and outputs are modelled as fuzzy variables. The error signal

between the desired value of location of peak pressure (LPPref) ^ obtained from neural model is taken and its identiﬁed value ðLPPÞ as one of the input and is given by the Eq. (7).

^ eðtÞ ¼ LPPref LPP

ð7Þ

Further, change in error signal for two consecutive cycles is taken as other input and is given by Eq. (8).

DeðtÞ ¼ eðtÞ eðt 1Þ

ð8Þ

where e(t 1) is error signal of the preceding cycle. Further, the output of controller is change in spark advance DSA(t). This is used to determine required spark advance at time t as given by Eq. (9)

SAðtÞ ¼ SAðt 1Þ þ DSAðtÞ

ð9Þ

where SA(t 1) is the spark advance of the preceding cycle. The rules deﬁned in rule base of fuzzy logic controller are abstract ideas about how to achieve good control. To describe these ideas, inputs and output are described as linguistic variables. In this case, following linguistic variables are used: ‘‘error’’ describes e(t) ‘‘change-in-error’’ describes De(t) and ‘‘change-in-SA’’ describes DSA(t) The antecedent and consequent of each rule operate on the positions of input and output variables in predeﬁned membership functions (MFs). These membership functions possess qualitative descriptions that generalize the notion of assigning a single degree

Fig. 10. Spark advance management using fuzzy controller and neural identiﬁcation.

Fig. 11. Structure of fuzzy logic controller.

6923

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

to a speciﬁc response severity or corrective action level. The triangular and the trapezoidal form of MFs are chosen because of their simple formulas, shorter rise and settling times, and higher computational efﬁciencies (Hartavi, Ustun, & Tuncay, 2003). The triangular forms of MFs are used in the middle, and the trapezoidal forms of MFs are used at both the ends of the universe of discourse for representing the saturation. The number and distribution of the membership functions are chosen based on experience. More membership functions give more controller parameters and thus more freedom to shape the control surface. The universe of discourse for the inputs are divided into ﬁve fuzzy subsets NL, NS, ZE, PS and PL, where N, P, L, S and Z represent Negative, Positive, Large, Small and Zero, respectively. Further, the universe of discourse for output is divided into seven fuzzy subsets NL, NM, NS, ZE, PS, PM and PL where M represents Medium. For example NL represents negative-large. The membership functions for inputs and output are shown in Fig. 12. In these Figures, l represents the membership value. The linguistic quantiﬁcation is then used to specify a set of rules (the rule-base) that captures the knowledge how to control the system. The general form of the linguistic rules is given by ‘If premise Then consequent’. A tabular representation for the set of

rules used for spark advance control is shown in Table 2. In this case, with two inputs and ﬁve linguistic values for each of these, there are at most 52 = 25 possible rules. For example, the ﬁrst rule is If error is NL and change-in-error is NL, Then change-in-spark advance is PL In inference mechanism, the implied fuzzy sets are produced using the max–min composition. In defuzziﬁcation, these implied fuzzy sets are combined to provide a crisp value of controller output. The Centre of Gravity (COG) defuzziﬁcation method (Passino & Yurkovich, 1998) has been used to ﬁnd out the crisp value of the output. According to COG defuzziﬁcation, the crisp value of output is given by Eq. (10).

P R i bi DSAcrisp ¼ P R i

lconseq;i lconseq;i

ð10Þ

where bi denote the centre of gravity of the membership function of R the consequent of rule i. Further, lconseq;i denotes the area under the membership function lconseq,i.

Fig. 12. Membership functions for spark advance control.

Table 2 Rule table for spark advance control. Change in spark advance DSA(t)

Change in error De(t)

Error e(t)

NL NS ZE PS PL

NL

NS

ZE

PS

PL

PL PL PM PS ZE

PM PM PS ZE NS

PM PS ZE NS NM

PS ZE NS NM NM

ZE NS NM NL NL

6924

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925

LPP (degree)

(a)

22 20 18 16 0

2

4

6

8

10

12

14

16

18

20

14

16

18

20

Number of Cycles

(degree)

Spark Advance

(b)

28 26 24 22 20 0

2

4

6

8

10

12

Number of Cycles Fig. 13. (a) LPP variation w.r.t. number of cycles and (b) Spark advance variation w.r.t. number of cycles.

as it provides satisfactory performance in the presence of external disturbances.

LPP (degree)

22 21

6. Conclusions

20

In the present work, a combined neural network and fuzzy logic-based control scheme is designed for SA control to get MBT timing. The fuzzy logic controller is designed to maintain LPP of SI engine close to 16° ATDC. Fuzzy logic controller is chosen because its nonlinear nature suits the highly nonlinear behaviour of SI engine. The controller works in conjunction with RNN model for cylinder pressure identiﬁcation. The value of LPP sent as feedback signal to fuzzy logic controller is derived from reconstructed cylinder pressure. Simulation results show the excellent performance of the controller and its robustness in the presence of disturbances.

19 18 Tload changed at this point

17 16 0

5

10

15

20

Number of Cycles Fig. 14. LPP variation w.r.t. number of cycles with external load changed after 10th cycle.

5. Simulation results To test the performance of the combined RNN and FL control scheme, simulations have been carried out using Matlab and its Fuzzy Logic tool box. The ﬁrst simulation run is carried out for manifold pressure pman = 0.65 bar and external load torque Tload = 6.3 Nm. Fig. 13(a) shows the variation of LPP w.r.t number of cycles. As seen in Fig. 13(a), the LPP reaches to its desired value after ﬁve cycles. Further, Fig. 13(b) shows the corresponding spark advance variation w.r.t. number of cycles. The second simulation is done to test fuzzy controller’s ability to reject disturbances. For this, manifold pressure is kept constant at 0.65 bar for entire duration of simulation whereas external load torque is instantaneously varied from 6.3 Nm to 12.6 Nm after 10th cycle. Fig. 14 shows the variation of LPP w.r.t number of cycles with external load variation. It is observed that after 10th cycle, value of LPP deviates from reference value but then quickly settles down to reference value within two cycles. Hence, fuzzy controller is found to be robust

Acknowledgment The research carried out in this paper was conducted with the ﬁnancial assistance by Department of Science and Technology, New Delhi, India under SERC-Engineering Sciences Scheme. References Arsie, I., Pianese, C., & Rizzo, G. (1998). Models for the prediction of performance and emissions in a spark ignition engine – A sequentially structured approach. SAE Paper 980779 (pp. 1065–1077). Brown, T. S., & Neil, W. S. (1992). Determination of engine cylinder pressure from crankshaft speed ﬂuctuations. SAE Paper 920463 (pp. 61–69) in SP 859. Citron, S. J., O’Higgins, J. E., & Chen, L. Y. (1989). Cylinder by cylinder engine pressure and pressure torque waveform determination utilizing speed ﬂuctuations. SAE Paper 890486. Glaser, I. & Powell, J. D. (1981). Optimal closed loop spark control of an automotive engine. SAE Paper 810058. Hartavi, A. E., Ustun, O., & Tuncay, R. N. (2003). A Comparative approach on PD and Fuzzy control of AMB using RCP. In IEEE International Electric Machines and Drives Conference (vol. 3, pp. 1507–1510). Herden, W., & Kusell, M. (1994). A new combustion pressure for advanced engine management. SAE Paper 940379. Hubbard, M., Dobson, P. D., & Powell, J. D. (1978). Closed loop control of spark advance using a cylinder pressure sensor. Transactions of ASME: Journal of Dynamic Systems Measurement and Control(December), 414–420.

S. Saraswati et al. / Expert Systems with Applications 38 (2011) 6916–6925 Isermann, R., & Muller, N. (2001). Nonlinear identiﬁcation and adaptive control of combustion engines. In IFAC-Workshop on adaptation and learning in control and signal processing, 29–31 August 2001, Como, Italy. Mamdani, E. (1976). Advances in the linguistic synthesis of fuzzy controllers. International Journal of Man–Machine Studies, 6, 669–678. Mobley, C. (1999). Non-Intrusive In-Cylinder pressure measurement of internal combustion engines. SAE Paper 1999-01-0544. Muller, R., & Hemberger, H. H. (1998). Neural adaptive ignition control. SAE Paper 981057. Muller, R., Hart, M., Krotz, G., Eickhoff, M., Truscott, A., Noble, A., et al. (2000). Combustion pressure based engine management system. SAE Paper 2000-010928. Nørgaard, M., Ravn, O., Poulsen, N. L., & Hansen, L. K. (2000). Neural networks for modelling and control of dynamic systems. 1-85233-227-1. Springer. Passino, K. M., & Yurkovich, S. (1998). Fuzzy control. 0-201-18074-X. Addison Wesley Longman Inc.. Powell, J. D. (1993). Engine control using cylinder pressure: Past, present and future. Transactions of ASME: Journal of Dynamic Systems Measurement and Control, 115, 343–350.

6925

Randall, K. W., & Powell J. D. (1979). A cylinder pressure sensor for spark advance control and knock detection. SAE Paper 790139. Rao, S. S. (2005). Engineering optimization. 81-224-1149-5. New Age International Publishers. Saraswati, S. (2009). Neural network and fuzzy logic control of air-fuel ratio and spark advance for spark ignition engine. PhD thesis, MNNIT, Allahabad. Schagerberg, S., & McKelvey, T. (2003). Instantaneous crankshaft torque measurements-modeling and validation. SAE Paper 2003-01-0713. Tagaki, K., & Sugeno, M. (1985). Fuzzy identiﬁcation of systems and its application to modelling and control. IEEE Transactions on Systems, Man, and Cybernetics, 15, 116–132. Tahera, K., Ibrahim, R. N., & Lochert, P. B. (2008). A fuzzy logic approach for dealing with qualitative quality characteristics of a process. Expert Systems with Applications, 34, 2630–2638. Winter, H., Mock, R., & Meixner, H. (1988). A high temperature pressure sensor for the combustion chamber of spark ignition engines. In 18th International symposium automotive technology. Zadeh, L. (1965). Fuzzy sets. Information and Control, 8, 338–353.