application of adaptive controlnext term to the fluctuation of engine speed at idle

Upload: ikhwanul-khairi

Post on 03-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    1/15

    Application of adaptive control to the fluctuationof engine speed at idle

    DaeEun Kim a, Jaehong Park b,*

    a Neurobiology Lab, University of Leicester, University Road, Leicester LE1 7RH, United Kingdomb School of Electrical Engineering, Seoul National University, Shinlim-dong, Gwanak-gu, Seoul 151-742, South Korea

    Received 25 August 2005; received in revised form 14 November 2006; accepted 27 December 2006

    Abstract

    Idle speed control in a fuel-injection engine system has focused on controlling long-term averages of engine speed, butshort-term fluctuations of engine speed have been neglected. The torque differences among cylinders influence the idle sta-bility and cause vibration of the vehicle. In this paper, we introduce two intelligent control systems to reduce the fluctu-ations of engine speed at idle, an evolutionary computing control based on genetic algorithms and a stochastic controlbased on Alopex algorithm. We first estimate the torque differences among the cylinders by observing an engine cycleof crankshaft angular speed. Then the uniformity level over the engine speed is fedback into the control system. It manip-ulates spark ignition timings to suppress unbalanced combustions among the cylinders. We test the two adaptive

    approaches with simulation of a nonlinear engine model, and compare their performances. 2007 Elsevier Inc. All rights reserved.

    Keywords: Engine speed fluctuation; Idle stability; Spark ignition timing; Alopex algorithm; Genetic algorithm

    1. Introduction

    Idle speed control in automotive engines is one of popular subjects in vehicular technology. Mostly the con-trol of engine speed at idle time has focused on handling long-term average values of engine speed and severaltechniques have been tested; H1 control [6], fuzzy control [1], l-synthesis [18] and sliding mode control

    [35,4,5,26,27], but in reality there is a periodic variation of engine speed due to the nature of combustion. Eachcylinder has its own combustion which produces an instantaneous torque. The engine speed temporarilyincreases in proportion to the torque production and then the speed soon falls down because of frictionand pumping loss. As a result, the engine speed oscillates in a sinusoidal form as shown in Fig. 1, where eachperiodic wave corresponds to each cylinder combustion. A series of combustions form one cycle of waves,which will be called an engine cycle. The engine cycle of a four-stroke spark-ignited engine thus includes fourperiodic waves. As the vehicle becomes aged, the torque variation among the cylinders is inevitable, and it

    0020-0255/$ - see front matter 2007 Elsevier Inc. All rights reserved.

    doi:10.1016/j.ins.2006.12.021

    * Corresponding author. Tel./fax: +82 2 886 8880.E-mail addresses: [email protected] (D. Kim), [email protected] (J. Park).

    Information Sciences 177 (2007) 33413355

    www.elsevier.com/locate/ins

    mailto:[email protected]:[email protected]:[email protected]:[email protected]
  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    2/15

    influences the idle stability. The variation often results from the injector and spark plug difference, the chargedair difference, and the compression ratio difference. Yet the difference of torque production among cylindershas been rarely considered for the idle speed control, even though it is a significant factor for the idle stability.

    We can divide an instantaneous engine speed into two components, for convenience, quasi-dc and quasi-accomponents see Fig. 1. Let T(a) be an instantaneous torque as a function of crankshaft angular position, aand x(a) be an instantaneous angular speed. Then we can calculate averages of these quantities over oneengine cycle or more as follows:

    Tavgh 1

    h h0 Zh

    h0

    Ta da; xavgh 1

    h h0 Zh

    h0

    xa da;

    Nomenclature

    P manifold pressurehk kth cylinder spark advance (1042)_mai mass flow rate into the manifold

    g(P) manifold pressure influence functionSk signal used for TwkTd accessory load (060) N mTL load torqueNac engine speed (rpm)Gk torque quasi-dc variation coefficientkP manifold dynamics constants throttle angle (535)_mao mass flow rate out of the manifoldTwk torque wave of the kth cylinderTMk quasi-dc torque of kth cylinder

    TI internally developed torquekN rotational dynamics constantNdc quasi-dc value of engine speed (rpm)kac constant for quasi-ac engine speed

    1600

    1700

    1800

    1900

    2000

    2100

    crankshaft angular position,

    rpm

    420

    1500

    1700

    1900

    2100

    2300

    crankshaft angular position,

    rpm

    420

    Fig. 1. Examples of instantaneous engine speed (four-stroke spark ignition engine, Hyudai Excel automobile); periodic waves result from

    the individual cylinder torques. The engine speed includes two components, quasi-ac signals and quasi-dc signals (dotted lines, averages ofthe idle speed). Note that (a) has more uniform waves, which are desired for the engine system, than (b).

    3342 D. Kim, J. Park / Information Sciences 177 (2007) 33413355

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    3/15

    where h is a crankshaft angular position and h0 is the initial position. The value Tavg(h) is a quasi-dc compo-nent of T(h) and xavg(h) is that ofx(h). Similarly we consider quasi-dc parts for torque and engine speed ontime domain and denote the quasi-ac components as follows:

    Tact Tt Tavgt0 Tt

    1

    t0 t0 Zt0

    t0

    Ts ds;

    xact xt xavgt0 xt

    1

    t0 t0

    Zt0t0

    xs ds:

    Generally the unbalanced torque production among cylinders superposes a non-uniform fluctuation on theperiodic variation of engine speed. Our goal is to reduce the torque differences among cylinders for the idlestability and to maintain uniform waves of the engine speed for each engine cycle. It will ultimately increasethe engine performance and fuel economy.

    A sequence of non-uniform waves or a large fluctuation of engine speed may be related to the misfire ofengine. The detection of misfire should be a prior condition to reduce the fluctuation of engine speed, andwe note that the misfire can be recognized by monitoring the fluctuation level. There have been severalapproaches to find the engine misfire. The mean values of acting torques over given engine cycles was consid-

    ered [7], but this method may not be useful to detect small fluctuations of engine speed with stable quasi-dccomponents. Ribbens et al. [28,29] showed that the fundamental frequency of the engine speed within anengine cycle can be a primary index for the engine misfire and as an extension of the idea, the frequency anal-ysis was used to detect injection failures [22]. Similarly, Naik [24] used crankshaft speed measurements for mis-fire detection and applied adaptive filtering techniques to improve the detection accuracy.

    The fluctuation of engine speed is actually involved with torque variation among cylinders, but the relationbetween the torque and crankshaft angular speed is not linear. Thus, there has been an effort to find the non-linear relation using support vector machines [10]. Spark timing is one of critical factors to influence the torquevariation, and its tuning process has been tested to reduce torque disturbances. An engine model includingtorque generation and spark ignition has been considered [2]. The peak pressure in a cylinder can also be usedto estimate the optimal spark timing to reduce cycle-by-cycle combustion variation [8]. A model predictive

    control scheme was suggested to reject the torque disturbances by adjusting the spark advance [23]. Shimet al. [30] showed an engine model in which the torque variation among cylinders can be reflected in the fluc-tuation of engine speed within an engine cycle. Our previous experiments for misfire detection [29] demon-strated that this kind of engine speed fluctuation can be identified with the frequency analysis.

    In this paper, we suggest intelligent control systems to tackle the fluctuation of engine speed. To simplifythe control problem, we assume that spark advances are major control variables to influence the fluctuationsignificantly and the engine speed alone will be observed. Shim et al. [30] introduced this control problem andapplied a PI control of ignition timings to their engine plant model in simulation. In their approach, the peakof engine speed waves was measured to estimate the torque level for each cylinder, and the torque was com-pared with neighbour torque values. The difference of the torque productions triggered control of spark igni-tion timings. However, their nonlinear control has a difficulty in adapting the system itself to various operatingconditions since the system was developed for fixed parameters in the engine model. Moreover, the peaks of

    engine speed waves may not reflect the torque property accurately. Thus, we introduce new uniformity mea-sures1 based on the frequency analysis and the shape of engine speed waves. To solve the fluctuation problemat engine speed, two approaches as adaptive control system, an evolutionary computing control and a prob-abilistic learning control, will be applied to the engine system in simulation. A preliminary study of evolution-ary computing control and stochastic control was published in the proceedings [20,25].

    2. Engine model

    To test the idle speed control, a nonlinear engine model will be considered and it follows the engine modelused by Shim et al. [30], which includes a term of random fluctuation of engine speed waves as well as quasi-ac

    1 These measures estimate how much balanced the engine torques are, which can also be used for the misfire detection.

    D. Kim, J. Park / Information Sciences 177 (2007) 33413355 3343

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    4/15

    components of engine speed. The engine model in this paper assumes a four-stroke spark ignition engine, andthe model is described as a set of nonlinear dynamic equations, although it is a simplified model for the realengine system.

    Manifold dynamics:

    _

    P kP_

    mai _

    mao;_mai 1 0:907s 0:0998s

    2gP;

    _mao 0:0005968Nac 0:1336P 0:0005341NacP 0:000001757NacP2;

    gP 1; P< 50:66;

    0:0197101:325P P21=2; PP 50:66:

    &Torque dynamics:

    x 2pNac=60;

    TMk 39:22 Gk325024

    120Nac_mao 0:0112h

    2k 0:000675hkx 0:635hk 0:0216x 0:000102x

    2; 1

    xk pNkt

    60

    k 12Nk

    ; Nk 600;Sk sinxk

    1

    2sin2xk

    1

    6sin3xk;

    Twk 0:8uSk 1uSk 1:68 for k 1; . . . ; 4;

    TI X4k1

    TMkTwk;

    TL Ndc=263:172 Td;

    ux 1; if xP 0;0; otherwise:

    (Engine speed:

    _Nac 5Nac kacTI TL:

    Ignition timing, throttle angle, and fuel flow are significant factors to affect the internally developed torque,after all, the engine speed. To simplify the control problem, the engine model has the throttle angle and fuelflow fixed at some degree. We assume that the amount of fuel injection is almost fixed in the engine system atidle, so the variation of fuel mass flow is not considered for the manifold pressure Pin the engine model. Thenspark timings will become a major control parameter to influence the internal torque for the individual cylin-ders. Thus, controlling spark ignition timings can reduce the torque differences among the cylinders andimprove the idle stability. For the idle speed control system, four spark advances (hk for k= 1, . . . , 4) are takenas control variables, and an instantaneous engine idle speed containing the quasi-ac component ( Nac) as ameasure variable. The throttle angle is fixed at 13.5 and the load torque at 30 N m, respectively.

    3. Method

    The dynamic equation modelling a fuel-injection engine system is nonlinear, and it is difficult to solve thecontrol problem analytically. Thus, we use adaptive search mechanisms to find the best control inputs produc-ing a series of uniform periodic waves. For the control of idle speed fluctuations, we need to evaluate howmuch balanced the periodic waves are. We first describe methods of how to measure the fluctuation of enginespeed waves. Based on the balance criteria, an evolutionary control and a stochastic control are applied to the

    above engine model in simulation.

    3344 D. Kim, J. Park / Information Sciences 177 (2007) 33413355

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    5/15

    3.1. Uniformity measure of engine speed waves

    For a four-stroke spark ignition engine, there are four periodic waves of engine speed each of which cor-responds to a cylinder combustion. The shape of these four waves can determine the degree of unbalancedcombustions among cylinders. The large difference of torque productions will distort the uniformity of the

    four waves, and change their amplitudes or shapes. A solution to estimate the uniformity is to measureand compare the peak values of idle speed waves as Shim et al. [30] showed, but the peak may not reflectexactly the torque condition when the speed waves are noisy. To evaluate the uniformity effectively, we applythe Discrete Fourier Transform (DFT) to data samples collected in a period of one engine cycle. Normally thesame pattern of engine speed or torque distribution can be observed every engine cycle as shown in Fig. 1. Weassume that the engine system has a crankshaft position sensor used for engine control or misfire detection[29]. The sensor consists of a permanent magnet around which a coil is wound, and it is placed near the fly-wheel with 100 teeth. The sensor output is a frequency-modulated signal depending on the instantaneouscrankshaft angular speed. The sensor can produce a fixed number of samples in an engine cycle regardlessof the wheel rotation speed. Here, we observe one-dimensional spatial frequencies to obtain the uniformitymeasure over an engine cycle of data samples.

    For a given vector a a0; a1; a2; . . . ; aN1, let Yfull be the magnitude of the fundamental frequency in the

    DFT corresponding to one full period of engine cycle, and Yhalf be that of the second harmonic frequencycorresponding to half the period. Then

    Yfull XN1k0

    akxkN

    ; Yhalf XN1

    k0

    akx2kN

    ;

    where xkN e2pik=N, and jj is the magnitude of a complex number.

    A non-uniformity degree can be defined over an engine cycle of data as follows:

    S1 c1Yfull c2Yhalf c1XN1k0

    akxkN

    c2XN1k0

    akx2kN

    ; 2

    where c1 and c2 are coefficients for the non-uniformity S1.We argue that the weighted sum of the two magnitudes, that is, S1 will be a factor to determine the unifor-

    mity level over a cycle of four waves. A large value of the sum represents a high fluctuation of engine speedripples. We will apply this measure to the fitness function of a genetic algorithm later.

    To build a complete uniformity model, we may consider all other harmonics through the Fourier trans-form. Yet Ribbens et al. [29] showed that the fundamental harmonic is mostly sufficient to detect the misfireof engine. Our simulation experiments reveal that at least the first and second harmonic are essential to mea-sure the uniformity of four sinusoidal waves. If the four periodic waves are completely uniform, then the mag-nitude of the first harmonic and that of the second harmonic over data samples in an engine cycle will be zero.Otherwise, it will be greater than zero. These two values estimate the symmetry of engine speed waves and sothey can be an index of the uniformity. If one of the two harmonics is missing, that is, either Yfull or Yhalf inEq. (2), is ignored, the uniformity cannot be guaranteed. For example, if we erase the term Yhalf, that is, c2 = 0,c1 = 1 in Eq. (2), this measure cannot detect a pattern of unbalanced waves shown in Fig. 2a where the ampli-

    53.4 53.7 54.0715

    725

    735

    745

    755

    765

    Time, second

    rpm

    53.4 53.7 54.0710

    720

    730

    740

    750

    760

    Time, second

    rpm

    54.0 54.3 54.7

    700

    710

    720

    730

    740

    750

    Time, second

    rpm

    Fig. 2. Examples of frequency measurements over engine speed: (a) Yfull = 0, Yhalf> 0, (b) Yfull > 0, Yhalf = 0 and (c) Yfull = Yhalf = 0.

    D. Kim, J. Park / Information Sciences 177 (2007) 33413355 3345

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    6/15

    tude of the first wave is different from that of the second (although S1 is close to zero). Similarly, if we erase theterm Yfull, that is, c1 = 0, c2 = 1, the measure still has a problem of detecting some unbalanced shape displayedin Fig. 2b. Thus, we need at least two factors, Yfull and Yhalf, to obtain desirable uniformity over the fourwaves note Yhalf= Yfull = 0 in Fig. 2c. Generally the two harmonics are sufficient to measure the uniformityof the four waves and S1 is one of the simplest criteria which need only a little computation time.

    Now we show another uniformity measure over engine speed waves. We assume that each sinusoidal wavecan be characterized by the magnitude of the mth frequency in the DFT over a set of data samplesa a0; a1; a2; . . . ; aN1. Then the equation to evaluate the shape of the ith wave is

    Yi XiN=m1

    ki1N=m

    akxmkN

    ;

    where m is the number of cylinders (m = 4) and xmkN e2pikm=N. Yi tends to indicate the shape of each wave,

    corresponding to the ith cylinder torque, and it is less sensitive to noise than the peak measurement of eachwave.

    As an alternative uniformity measure, S2 is defined as

    S2 12Xmi1

    Xmj1

    Yi Yj2" #1=2: 3

    It calculates the root of squared sum of shape differences among the waves. The measure S2 will become smal-ler as the uniformity of engine speed waves increases. It can be treated as an energy function or an error mea-sure in the stochastic control algorithm which will be described in detail later.

    The two uniformity measures shown above, S1 and S2, will be applied to evolutionary computing controland stochastic control, respectively. They will also be used for performance evaluation.

    3.2. Evolutionary computing control

    The nonlinear engine model is simulated as a target system and we wish to find desirable control inputs,spark ignition timings for a given track of engine speed at idle. To overcome the limitation of classical linearcontrol for the nonlinear plant model, a genetic algorithm [16,12] as an adaptive search mechanism will be firstapplied as a means of finding optimal control values. A genetic algorithm is one of popular approaches toobtain near-optimal solutions in optimization problems [12]. Our control objective is to reduce the fluctuationof idle speed in order to produce uniform engine speed waves. Thus, the fluctuation level of engine idle speedwill be evaluated as a fitness function and a set of spark timings will be represented as a chromosome string.Genetic algorithms run a population of genome strings to find the best fitness in a given system environmentthrough genetic operators. Consequently, we can obtain the best setting of spark timings to reduce the fluc-tuation of engine speed.

    The spark timing takes the form of a binary vector in a chromosome string in the evolutionary computa-tion. Suppose we have m cylinders, that is, m spark advances each of which needs r bits for its real value in the

    engine system. Then the spark timing value of the kth cylinder can be represented as a r-bit vector,(bk1, bk2, bk3, . . . , bkr). Now the whole spark timing information is encoded in a m r-bit string as follows:

    b11; b12; b13; . . . ; b1r; b21; b22; b23; . . . ; b2r; . . . ; bm1; bm2; bm3; . . . ; bmr;

    where bij is a binary value, 1 or 0 for i= 1, . . . , m and j= 1, . . . , r. Then each spark advance dkcan be calculatedas follows:

    dk aXri1

    bki2i b;

    where k is a cylinder number, b is the base position for a real value, and a is a scaling coefficient such that dkranges from 10 to 42. For example, if a chromosome string is represented as a 40-bit vector (0000110000

    0001001000 0001100000 0010000100), then d1 = 11.5, d2 = 12.25, d3 = 13.0, and d4 = 14.125.

    3346 D. Kim, J. Park / Information Sciences 177 (2007) 33413355

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    7/15

    The fitness function in the evolutionary computation is defined as follows:

    F 1:0

    1:0 S1;

    where S1 is the uniformity measure given in Eq. (2) with c1 = c2 = 1. Higher fitness F indicates more uniform

    waves.We used a population size of 20 and a tournament selection in the evolutionary computation. A rank-based

    selection is applied to the tournament selection of group size four in this paper. The tournament selection ini-tially partitions the whole population into multiple groups for the fitness comparison. Inside the tournamentgroup, the fitness of each member is compared each other and ranked. A higher rank of genomes in the grouphave more probability of reproducing themselves for the next generation. In our approach, a population isinitialized with random bit vectors. For each group of four members, the two best chromosomes are firstselected and then they reproduce themselves with mutation (this mutation helps finding better solutions thansimple reproduction without mutation). One point crossover over a copy of two best chromosomes, followedby mutation, will produce two new offspring. These new offspring replace the two worst chromosomes in thegroup. The crossover rate is 0.7, and the mutation rate is set to two over chromosome length in the experi-ments. We may define a different type of fitness to measure the uniformity level of engine speed, for instance,5000 S1 or 1 S1/5000. However, it will not influence the performance of evolutionary computation,because we use a rank-based selection to choose better chromosomes in the evolutionary process.

    3.3. Stochastic control algorithm

    Decision of desirable control inputs for a nonlinear system plant is a non-trivial problem. The genetic algo-rithm as a nonparametric method is an alternative for the optimization problem, but in the approach the inputchange and the current system state are not taken into account for the engine control. Observing the systemdependency on the previous engine state and input change would be helpful for an efficient engine control.Thus, we calculate a cross-correlation between the input changes and the response output change. A stochasticoptimization algorithm, called Alopex algorithm, is tested with the correlation between engine control values

    (spark timings) and engine outputs (uniformity of engine speed). The Alopex algorithm is a stochastic parallelalgorithm which was originally suggested by Harth and Tzanakou [13] for visual receptive field mapping, andhas since been applied to a wide variety of optimization problems, including multi-layer neural network train-ing, pattern recognition, and adaptive control systems [33,34,32].

    The basic concept of the Alopex algorithm is that the cross-correlation between input change and responsechange supplies a direction of the next control input; a positive correlation leads to the decrease of controlinput and a negative correlation to the increase of input if the response is a penalty function. For the fluctu-ation control of idle speed, we will follow a stochastic approach to avoid local optima of the response. For astochastic Alopex algorithm, the deterministic dynamic rule for cross-correlation can be replaced by a stochas-tic rule using Glauber dynamics [33]. The Glauber dynamics originally described the effect of thermal fluctu-ations in a spin-glass system [11,15], and this probabilistic model has been applied to various neural network

    fields including Boltzmann machine [11,17,14]. In our experiments, the spark timing advances are updatedsimultaneously and efficiently only depending on local cross-correlation between changes in spark advancesand those in the energy function of uniformity measure.

    The response function or energy function Rn for the nth iteration, which is equal to the square of the uni-formity measure S2 in Eq. (3), is defined as

    Rn 1

    2

    Xmi1

    Xmj1

    Yni Ynj

    2;

    where m is the number of cylinders (m = 4) and Yni is the torque measure for the ith cylinder at the nth iterationas given in Section 3.1. This is basically a least-squared error calculation, and the response of Rn can be re-garded as a total energy of the parameters to be optimized where the parameters leading to lower energy

    means more desirable control values. We assume the energy function is a function of spark advances and other

    D. Kim, J. Park / Information Sciences 177 (2007) 33413355 3347

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    8/15

    engine parameters. Considering the effect of spark advance hk for the kth cylinder, the total energy function Rn

    can be restated as follows:

    Rn 1

    2

    Xmk1

    Rnk; Rnk

    Xmi1

    Yni Ynk

    2;

    where Ynk is a torque measure for the kth cylinder at the nth iteration. Then the response change DRnk is definedas

    DRnk Rnk R

    n1k

    Xmi1

    Yni Ynk

    2Xmi1

    Yn1i Yn1k

    2:

    Assuming that a change of the kth spark advance hk greatly influences the kth torque measure Yk, thechange of uniformity Yi for i5 k can be treated as small. With this assumption, we have DR

    n % DRnk andthe above equation is simplified as follows:

    DRnk % Xm

    i1;i6k

    Ynk2 2YnkY

    ni Y

    n1k

    2 2Yn1k Yn1ih i Y

    nk Y

    n1k m 1Y

    nk Y

    n1k 2 X

    m

    i1;i6k

    Yni" #:For example, DRn2 for a four-cylinder engine is

    DRn2 Yn2 Y

    n12 3Y

    n2 Y

    n12 2Y

    n1 Y

    n3 Y

    n4

    :

    From this equation we can infer that this system follows a reactiondiffusion model [3], and it shows the rea-son why the engine control with a simple comparison between neighbour waves could work [30].

    For the stochastic control, at the nth iteration, the spark advance hk for the kth cylinder is updated with aprobabilistic rule,

    hnk h

    nk k;

    where k is a small positive or negative step of size d with the following probability:

    k d with probability Pnk;d with probability 1 Pnk:

    &The probability Pnk will be dependent on the correlation as given below:

    Pnk 1

    1 expDhnkDRnk=T

    ;

    where Tis a positive temperature parameter for thermal fluctuation defined in the Glauber dynamics to deter-mine the effective randomness in the system. Dhnk and DR

    nk are displacements in the spark advance hk and error

    measure Rnk, respectively:

    Dhnk h

    nk h

    n1k ; DR

    nk R

    nk R

    n1k :

    The above stochastic algorithm takes random walks in the direction of decreasing the energy Rnk, ultimately Rn.

    The temperature parameter Tis set to the average of absolute values of the cross-correlation over all the sparktiming advances. As time passes, the algorithm will gradually reduce the temperature parameter T when con-trol inputs are getting close to the optimal points. In the experiments, d in k is updated to 90% smaller valuefor every 10 iterations, and it helps convergence to the optimal points. The only assumption in this stochasticapproach is that the energy function is a function of spark advances and other fixed engine parameters.

    4. Experiments

    The objective of idle speed control in this paper is to reduce the fluctuation of engine speed caused by tor-que variation among the cylinders. We can observe four uniform sinusoidal waves if there is no engine speed

    fluctuation or no imbalance of cylinder combustions. For any arbitrary fluctuation of idle speed, the control

    3348 D. Kim, J. Park / Information Sciences 177 (2007) 33413355

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    9/15

    effect of spark timing advances is measured with the balance criteria in Eqs. (2) and (3) for a given engine cycle.The block diagram of the engine control system is shown in Fig. 3.

    For simulation experiments, the torque variation is given by the term Gk in Eq. (1) in the engine model. Thecoefficients, Gks are changed to reflect the torque level of each cylinder. For G1 = G2 = G3 = G4 = 1, there isno torque difference among the four cylinders, and it will produce uniform waveforms without any controller

    see Fig. 4a. DifferentG

    kparameters will develop the fluctuation of engine speed ripples as shown in Fig. 4bd,which simulates asymmetrical combustions of cylinders. Now we show how to reduce the fluctuation with thesuggested adaptive controllers. The two control systems, evolutionary search control and stochastic control,use on-line updates of spark timings, since we assume their application to the real-time engine system. For thecontrol process, we need to collect an engine cycle of data, measure the fluctuation level of engine speed, com-

    ControllerIdle Speed

    for one engine cycle

    ENGINE MODEL

    throttle angle

    torque load

    Desired spark timing

    +

    -

    TEST UNIFORMITY

    uniformity

    engine speedUniformity Measure

    Fig. 3. Block diagram of the engine control system.

    0 0.16 0.32 0.48 0.64710

    720

    730

    740

    750

    760

    770

    780

    790

    Time (sec)

    rpm

    0 0.16 0.32 0.48 0.64710

    720

    730

    740

    750

    760

    770

    780

    790

    Time (sec)

    rpm

    0 0.16 0.32 0.48 0.64

    710

    720

    730

    740

    750

    760

    770

    780

    790

    Time (sec)

    rpm

    0 0.16 0.32 0.48 0.64700

    710

    720

    730

    740

    750

    760

    770

    780

    Time (sec)

    rpm

    Fig. 4. Engine speed with torque variation: (a) G1 = G2 = G3 = G4 = 1.0; (b) G1 = G4 = 1.0, G2 = 0.98, G3 = 0.99; (c) G1 = 0.985,

    G2 = 0.98, G3 = 0.99, G4 = 1.0; (d) G1 = 0.985, G2 = 0.98, G3 = 0.99, G4 = 0.965.

    D. Kim, J. Park / Information Sciences 177 (2007) 33413355 3349

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    10/15

    pute the next control signal based on a given control algorithm, and then finally activate the control signals.This process can be repeated for every engine cycle until a satisfiable performance is achieved. For the real-time experiment, we can mount a crankshaft position sensor near the flywheel such that the sensor signalsare collected into a laptop computer through a DMA channel, as in our previous experiments of misfire detec-tion [29]. If we assume 6001200 RPM for the crankshaft angular speed at idle, an engine cycle takes 0.10.2 s

    for a four-cylinder engine. For each cycle, a high-speed portable computer (using DMA with double buffering)can steal the CPU time to measure the fluctuation in angular speed and also calculate the appropriate controlsignals. On a 1.73 GHz Pentium computer, both the evolutionary computing control and the Alopex controltake 0.03 ms or less to calculate the uniformity measures based on the DFT and produce appropriate sparktimings as control inputs for each engine cycle. In the evolutionary computation, the CPU time needed toreproduce a new population for the next generation is also negligible. Thus, the feedback control can, in prin-ciple, modify the spark advances every engine cycle, depending on the previous uniformity measure. In oursimulation experiments, control signals are updated every three cycles, and we allow those engine cycles tocover the computation time of the above control methods, the access time to the peripheral devices and a sta-ble transition of engine speed after updating the control signals.

    We first applied the genetic search controller to find the best spark timings for a given system configuration.The difference in the torque production among the cylinders can be reduced by changing spark timings with

    the controller. Fig. 5 shows that the evolutionary computing controller can successfully reduce the fluctuation.The advantage of the genetic search controller is that we do not need to consider the system configuration andit can be applied to any complex nonlinear engine system without difficulty because of its global search mech-anism using the fitness function. The evolutionary search approach, however, takes a relatively long time tofind an optimal system setting and occasionally choose system-disturbing spark advances in its search process,which may cause vibration of the vehicle or unwanted knock. Fig. 6 shows an example of the uniformity mea-sures in time course as the genetic search control progresses. At least 200 evaluations of spark timings wererequired to obtain desirable spark advances leading to uniform waves of engine speed. There were many sharppeaks in the control process to indicate that some bad chromosomes are evaluated as high levels of non-uni-formity. It is because the mutation operator in the genetic algorithm changes a bit vector randomly and makesa sudden change of spark advances. Even though mutations were allowed only on the lower 5 bits in the 10-bit

    representation of spark timings, frequent non-uniform waves could not be avoided. The two uniformity mea-sures S1 and S2 are not equivalent, but they have similar transition curves where the two measures are calcu-lated over the same chromosome; here, only S1 was used as the fitness function in the evolutionarycomputation.

    As an alternative control method, the stochastic Alopex control was applied to the fluctuation of enginespeed. Fig. 7 shows that the fluctuation disappears by the effect of the cross-correlation mechanism as the iter-ation number increases. Almost completely uniform waves are obtained after 50 iterations; each iteration cor-responds to one evaluation of a new set of spark timings and it is applied every three engine cycles. Fig. 8

    29.2 29.6 30.0

    710

    720

    730

    740

    750

    760

    770

    780

    790

    Time (sec)

    rpm

    116.8 117.2 117.6

    710

    720

    730

    740

    750

    760

    770

    780

    790

    Time (sec)

    rpm

    Fig. 5. An example of fluctuation control with genetic algorithms for the condition G1 = G4 = 1.0, G2 = 0.98, G3 = 0.99 (a) after five

    generations and (b) after 23 generations.

    3350 D. Kim, J. Park / Information Sciences 177 (2007) 33413355

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    11/15

    shows the progress of uniformity levels for the configurations in Fig. 4bd; the Gkconditions are here denotedas cases 1, 2 and 3, respectively. The stochastic Alopex control was tested 25 times for each case. For everyexperiment, the initial spark timings were set to h1 = h2 = h3 = h4 = 25.6. The two uniformity measures S1and S2 show again similar transition curves in the uniformity levels. We note that the stochastic Alopex algo-rithm normally produces a smooth change of spark timings and also a gentle transition of fluctuation level inthe search process for the best spark advances. The controller can adapt itself to a given engine system envi-

    ronment even with a continuous change of engine states.

    0 50 100 150 200 250 3000

    500

    1000

    1500

    2000

    2500

    3000

    evaluations

    Uniform

    ityS1

    0 50 100 150 200 250 3000

    100

    200

    300

    400

    500

    600

    700

    800

    900

    1000

    Uniform

    ityS2

    evaluations

    Fig. 6. Uniformity measure with the number of evaluations in the evolutionary control (a) measure S1 and (b) measure S2.

    4.8 5.2 5.6710

    720

    730

    740

    750

    760

    770

    780

    790

    Time (sec)

    rpm

    9.6 10.0 10.4710

    720

    730

    740

    750

    760

    770

    780

    790

    Time (sec)

    rpm

    14.4 14.8 15.2710

    720

    730

    740

    750

    760

    770

    780

    790

    Time (sec)

    rpm

    24 24.4 24.8710

    720

    730

    740

    750

    760

    770

    780

    790

    Time (sec)

    rpm

    Fig. 7. An example of fluctuation control with Alopex algorithm for the condition G1 = 0.985, G2 = 0.98, G3 = 0.99, G4 = 1.0: (a) 10iterations, (b) 20 iterations, (c) 30 iterations and (d) 50 iterations.

    D. Kim, J. Park / Information Sciences 177 (2007) 33413355 3351

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    12/15

    To see the efficiency of the two types of controllers, we tested four different ranges of torque variation Gkand measured the success rates as shown in Tables 1 and 2. There are four different ranges of G

    ks. Each Alo-

    pex control was run with 120 iterations (120 updates of spark timings) and then extra 20 engine cycles keepingthe best spark advances were simulated without control. The average ofS1 or S2 values in the period of the last20 engine cycles, which is denoted as cS1 or cS2 , was measured to check the stable performance for each exper-iment. For a specific range of Gks, we tested 500 random sets ofGks within the bound and estimated the suc-cess rate; a success is defined as the case in which the averaged uniformity measure over the last 20 enginecycles is lower than a given threshold. In Table 1, the success rate increases when the range of Gks becomessmaller. A larger range ofGks leads to local optima more frequently and its performance becomes worse. Wefound there is little shape difference among the four sinusoidal waves in appearance if the uniformity cS1 isbelow 100. When we assume that the measure cS1 100 or cS2 10 is a reasonable cutoff threshold to supportuniform waves of engine speed, a success rate of 80% or higher is recorded with the stochastic controller. Theprobabilistic change of spark timings may occasionally go in a wrong direction, and in that case the control

    system needs more time to reach desirable spark timings.

    0 20 40 60 80 1000

    100

    200

    300

    400

    500

    600

    700

    800

    900

    1000

    Iteration number

    Nonunif

    ormityS1

    case 1case 2case 3

    0 20 40 60 80 1000

    50

    100

    150

    200

    250

    300

    350

    400

    Iteration number

    Nonunifo

    rmityS2

    case 1case 2case 3

    Fig. 8. Uniformity measure with iterations in the stochastic control (the average and error bars calculated over 25 repeated runs for agiven condition) (a) measure S1 and (b) measure S2.

    Table 1Success rate (%) with several ranges of Gks in the stochastic control

    Range of Gk Uniformity thresholdcS1 < 200 cS1 < 100 cS1 < 50 cS2 < 10 S10.961.00 92.6 86.8 76.4 82.8 193.70.971.00 96.6 92.4 87.0 89.2 122.10.981.00 99.2 98.6 95.2 96.2 63.10.991.00 100.0 100.0 99.6 99.6 34.0

    S1 indicates the average fluctuation in the search process.

    Table 2

    Success rate (%) with several ranges of Gks in the evolutionary controlRange of Gk Uniformity thresholdcS1 < 200 cS1 < 100 cS1 < 50 cS2 < 10 S10.961.00 74.8 50.2 21.8 25.4 445.90.971.00 83.4 61.0 22.4 33.8 365.70.981.00 93.4 76.4 30.0 40.8 365.70.991.00 99.4 86.4 39.6 55.2 261.9

    S1 indicates the average fluctuation in the search process.

    3352 D. Kim, J. Park / Information Sciences 177 (2007) 33413355

  • 7/28/2019 Application of Adaptive Controlnext Term to the Fluctuation of Engine Speed at Idle

    13/15

    We repeated the same procedure of experiments with the evolutionary control. One evolutionary experi-ment ran 20 generations with a population size of 20, corresponding to 400 evaluations of spark advances.As shown in Table 2, the evolutionary control is much worse in performance or success rate than the stochas-tic Alopex control. We calculated the average level over the whole fluctuations occurring in the search process,which is represented as S1 (sum ofS1 values over the total number engine cycles). The averaged fluctuation ismuch higher in the genetic search controller. Even a change of evolutionary parameters on the crossover rate,mutation rate, or chromosome selection mechanism did not reach the performance level of the stochastic Alo-pex control. Small mutation rates can improve the fluctuation level, S1, but the evolutionary control oftenreaches local optimal points and rarely achieves cS1 < 50. In the above evolutionary computation, we usedcoefficients c1 = c2 = 1 for S1 in Eq. (2). To see the influence of the two parameters, Yfull and Yhalf, on the per-formance, we evolved spark timings under different S1 conditions with varying c2 values from 0.0 to 3.0 (butwith fixed c1 = 1). For a given fitness function S1, we ran the evolutionary computing control 100 times andcalculated the success rate for the target performance, cS2 < 10. Fig. 9 shows that (c1 = 1,c2 = 2) can improvethe target performance, although it is still worse in performance than the Alopex approach. To speed up theconvergence to near-optimal control solutions, we may apply a Pareto optimization [9,19] to minimize the twoobjectives, Yfull and Yhalf for the uniformity S1 in the evolutionary computation instead of using the weightedsum of the two factors. It might produce better solutions in the evolutionary computing.

    The evolutionary controller tests a variety of spark timings causing a number of high fluctuation bouncesdue to the genetic operators, and it may be classified as an open-loop control. It would be more useful in acomplex nonlinear engine model which requires diverse search for the best control values. In contrast, the sto-chastic Alopex controller produces an efficient and stable performance with a kind of feedback control. TheAlopex controller exploits the system property that each cylinder torque is greatly influenced by its own sparktiming, and the cross-correlation information between input change and response change. This accelerates theconvergence speed to near-optimal spark advances. For a safe operation of the vehicle, the Alopex controllercould be recommended.

    5. Discussion

    In this paper, we applied intelligent control approaches to the fluctuation of engine speed at idle time. Thecontrol objective is to achieve balanced combustions of the engine system by reducing the torque variationamong cylinders. The control system is involved with two phases, continuous on-line monitoring over enginecombustions and a control action adjusting spark advances. Engine misfire or fluctuation of engine speed may

    produce vibration and disturbance of the vehicle and thus degrade the comfortability. The above control oper-

    0 0.5 1 1.5 2 2.5 30

    10

    20

    30

    40

    50

    60

    Coefficent C2

    (with C1

    = 1)

    Successrate,

    S2