3678_0_appliedS&T-conference04--SVM

advertisement
Prediction of Automotive Engine Power and Torque Using Support
Vector Machines
WONG Pak-kin1*, VONG Chi-man 2, Ho Chon-meng1and LI Yi-ping2
1
2
(Department of Electromechanical Engineering, University of Macau, Macao)
(Department of Computer and Information Science, University of Macau, Macao)
*fstpkw@umac.mo
Abstract: Automotive engine power & torque is significantly affected with effective tune-up. Current
practice of engine tune-up relies on the experience of the automotive engineer. Therefore, engine tine-up
is usually done by trial-and-error method because a formal power & torque function of the engine has not
been determined yet. With an emerging technique, Support Vector Machines (SVM), the approximate
power & torque function of a vehicle engine can be determined by training the sample data acquired from
the dynamometer. The construction and accuracy of the function are also discussed in this paper. The
study shows that the predicted results are good agreement with the actual test results.
Key words: Automotive engine setup, Support vector machines, Engine power and torque
1. INTRODUCTION
Modern automotive engines are controlled by the electronic control unit (ECU). The engine power &
torque are significantly affected by the setup of control parameters in the ECU. Normally, the car engine
power & torque are obtained through dynamometer tests. Current practice of engine tune-up relies on the
experience of the automotive engineer. The engineers will handle a huge number of combinations of the
engine control parameters. The relationship between the input and output parameters of a modern car
engine is a complex multi-variable function [1], which is very difficult to be found. Consequently, engine
tune-up is usually done by trial-and-error method. Moreover, the power & torque function is engine
dependent. Knowing the power & torque function can let the automotive engineer predict if a new car
engine set-up is gain or loss.
With an emerging technique, Support Vector Machines (SVM) [2-4], the traditional problem of high
dimensionality regression is overcome. The engine power & torque function regressed can be used for
engine performance prediction without using dynamometer tests.
2. SUPPORT VECTOR MACHINES
SVM is an emerging technique pioneered by Vapnik [2-4]. It is an interdisciplinary field of machine
learning, optimization, statistical learning and generalization theory. Basically it can be used for pattern
classification and multi-variable regression. No matter which application, SVM considers the application
1
as a Quadratic Programming (QP) problem for the weights with regularization factor included. Since a QP
problem is a convex function, the solution of the QP problem is global (or even unique) instead of a local
solution.
2.1 SVM formulation for multi-variable regression
Consider the regression to the data set, D = {(x1, y1), …, (xN, yN)}, with N data points where xi  Rn, y 
R. SVM formulation for multi-variable regression is expressed as the following equation [4-5].
W (α, α * ) 
Min
 , *
N
such that
 (
i 1
i
N
N
1 N N
*
*
*
(



)(



)
K
(
x
,
x
)


(



)

yi ( i   i* )



i
i
j
j
i
j
i
i
2 i1 j 1
i 1
i 1
  i* )  0
(1)
where:
α,α* : Lagrangian multipliers (Each multiplier is expressed as an N-dimensional vector)
 i  ,  j   α* ,
 i ,  j  α,
for 1  i, j  N
and  i ,  j ,  i* ,  *j  [0, c]
K: kernel function
ε : user pre-defined regularization constant
c : user pre-defined positive real constant for capacity control
In this specific application, some parameters in Eq. (1) are specified as:
xi : engine input control parameters in the ith sample data point i = 1,2…N (i.e. the ith engine setup)
yi : engine output torque in the ith sample data point
N : total number of engine setups
i and i* are known as support values corresponding to the ith data point, where ith data point means the
ith engine setup and output torque. Besides, Radial Basis Function (RBF) with user pre-defined sample
variance σ2 is chosen as the kernel function because it often has a good result for nonlinear regression [6].
After solving Eq. (1) with a commercial optimization package, such as MATLAB and its optimization
toolbox, two N-vectors
α,α* are obtained to be the solutions, resulting in the following target
multi-variable function:
N
N
M (x)   ( i   i* ) K (x, xi )  b   ( i   i* )e
i 1
i 1
where
b
x
: bias constant
: new engine input setup with N parameters
2

x  xi

2
2
b
(2)
σ2
: user-specified sample variance
In order to obtain b, m training data points dk = <xk, yk>  D, k = 1,2,…, m, are selected, such that their
corresponding k and k* are non-zero. By substituting xk into Eq. (2) and setting M(xk) = yk, a bias bk can
be obtained. Since there are m biases, the optimal bias value b* is usually obtained by taking the average
of bk.
3. APPLICATION OF SVM TO ENGINE MODELING
In this application, M(x) in Eq. (2) is the power & torque function of an engine. The issues of the use of
SVM to this application domain are discussed in the following sub-section.
3.1 Engine data representation
The training data set is expressed as D = {(xi, yi)}, i = 1 to N. Practically, there are many input control
parameters and they are also ECU and engine dependent. Moreover, the engine horsepower and torque
curves are normally obtained at full-load condition. For the demonstration purpose of the SVM
methodology, the following common adjustable engine parameters and environmental parameter are
selected to be the input.
x = < Ir, O, tr, f, Jr, d, a, p > and y = <Tr>
where
r: Engine speed (RPM) and r = {1000, 2000, 3000, …, 8000}
Ir: Ignition spark advance at the corresponding engine speed r (degree before top dead center)
O: Overall ignition trim (  degree before top dead center)
tr: Fuel injection time at the corresponding engine speed r (millisecond)
f: Overall fuel trim (  %)
Jr: Timing for stopping the fuel injection at the corresponding engine speed r (degree before top dead
center)
d: Ignition dwell time (millisecond)
a: Air temperature (°C)
p: Fuel pressure (Bar)
Tr: Engine torque at the corresponding engine speed r (Nm)
As some data is engine speed dependent, another notation Dr is used to further specify a data set
containing the data with respect to a specific r. For example, D1000 contains the following parameters:
<I1000, O, t1000, f, J1000, d, a, p, T1000>, while D8000 contains <I8000, O, t8000, f, J8000, d, a, p, T8000>.
Consequently, D is separated into eight subsets namely D1000, D2000, …, D8000. An example of the training
data (engine setup) for D1000 is shown in Table 1. For every subset Dr, it is passed to the SVM regression
module, Eq. (1), one by one in order to construct eight torque functions Mr(x) with respective to engine
speed r, i.e. Mr(x)=Mr ={M1000, M2000,…,M8000}.
3
In this way, the SVM module is run for eight times. At each run, a distinct subset Dr is used as training set
to estimate its corresponding torque function. A torque against engine speed curve of the engine can
therefore be obtained by fitting a curve that passes through the data points generated by M1000,
M2000,…M8000. A case of actual engine torque and power curves acquired by dynamometer and predicted
engine torque and power curves using SVM is shown in Fig.1.
Table 1. Example of training data di in data set D1000
I1000
O
t1000
f
J1000
d
a
p
T1000
d1
8
0
7.1
0
385
3 25 2.8
20
d2
11
2
6.5
0
360
3 24 2.8
11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
dN
12
0
8.5
3
365 2.6 30 2.8
12.6
4. DATA SAMPLING AND IMPLMENTATION ISSUSES
In practical engine setup, the automotive engineer determines an initial setup, which can basically start
the engine, and then the engine is fine-tuned by adjusting the parameters about the initial setup values.
Therefore, the input parameters are sampled based on the data points about an initial setup parameters
supplied by the engine manufacturer. In our experiment, a sample data set of 200 different engine setups
along with torque output D was acquired from a Honda B16A DOHC VTEC engine (Fig. 2) controlled by
a programmable ECU, MoTeC M4 (Fig. 3), running on a chassis dynamometer (Fig. 4) at wide open
throttle. The output data is only the engine torque against the engine speeds because the horsepower of an
engine can be easily calculated using Eq. (3) [7].
HP 
where
r T
7123.78
(3)
HP : Engine horsepower (Hp)
r : Engine speed (RPM)
T: Engine torque (Nm)
After collection of sample data set D, for every data subset Dr  D, it is randomly divided into two sets:
TRAINr for training and another TESTr for testing, such that Dr = TRAINr∪TESTr, where TRAINr
contains 80% of Dr and TESTr holds the remaining 20% (Fig. 5). Then every TRAINr is sent to the SVM
module for training, which has been implemented using MATLAB 6.5 with its optimization toolbox
running on MS Windows XP platform. The detail implementation is discussed in following subsection.
4
4.1 SVM Training
Before training the SVM system, the hyper-parameters in Eq. (2) is set to be c =  = 1.0, which are
common choices. Therefore, the remaining hyper-parameter to be found is . In our case, the value of  is
taken from a range of 0.0 to 0.2 with increment 0.01. That means there are totally 20 values and the
values are 0.01, 0.02, 0.03, …, 0.2. After applying 10-fold cross validation to a training set TRAINr for 20
times, the  value producing minimum validation error cost for TRAINr is chosen to be the best
hyper-parameter r*. By repeating this procedure for eight times and all r* values for all TRAINr could be
determined.
Finally, the eight torque functions Mr are produced using SVM module based on the corresponding
training data set TRAINr and the determined hyper-parameter r*. The biases b* for different Mr functions
can also be easily calculated using Eq. (2).
5. RESULTS
After obtaining all torque functions Mr, the accuracy is evaluated one by one against their own test sets
TESTr. According to the accuracy obtained in Table 2, the predicted results are in good agreement with
the actual test results under their hyper-parameters r*. However, it is believed that the function accuracy
could be further improved by increasing the number of training data.
Table 2. Accuracy of various functions of Mr and its corresponding hyper-parameter
Engine torque function Mr
r*
b r*
Average accuracy with test set Testr
M1000
0.08
2.3
90.2%
M2000
0.12
1.9
90.6%
M3000
0.09
1.4
91.4%
M4000
0.08
1.3
92.3%
M5000
0.10
0.7
87.1%
M6000
0.09
0.9
88.7%
M7000
0.13
3.0
91.2%
M8000
0.11
1.2
90.1%
6. CONCLUSIONS
SVM method is applied to produce a set of power & torque functions for an engine according to different
engine speeds. The functions are individually regressed based on eight sets of sample data acquired from
an automotive engine. Some experiments have been done to indicate the accuracy of the power & torque
functions and the results are highly satisfactory. It is believed that the functions can let the automotive
engineer predict if his/her new engine setup is gain or loss during road tests, where the dynamometer is
unavailable. This methodology can also be applied to different kinds of vehicle engines.
5
References
1.
Hartman, J., 1993. Fuel Injection Installation: Performance Tuning, Modifications. Motorbooks
International, USA, p62.
2.
Cristianini N., Shawe-Taylor J., 2000. An Introduction to Support Vector Machines and Other
Kernel-based Learning Methods. Cambridge University Press.
3.
Perez-Ruixo J. et al., 2002. Cyclosporine Concentration Prediction using Clustering and Support
Vector regression. IEE Electronics Letters, 38:568-570.
4.
Schölkopf B., Smola A., 2002. Learning with Kernels: Support Vector Machines, Regularization,
Optimization, and Beyond. MIT Press.
5.
Gunn S., 1998. Support Vector Machines for Classification and Regression. ISIS Technical Report
ISIS-1-98. Image Speech & Intelligent Systems Research Group, University of Southapton, May.
1998, U.K.
6.
Seeger M., 2004. Gaussian processes for machine learning. International Journal of Neural
Systems, 14(2):1-38.
160
140
140
120
100
80
60
40
20
0
120
100
80
60
40
20
0
1000 2000 3000 4000 5000 6000 7000 8000
Torque (Nm)
Pulkrabek W.,1997. Engineering Fundamentals of the Internal Combustion Engine. Prentice Hall.
Horsepower (HP)
7.
Actual horsepower
Predicted
horespower
Predicted torque
Actual torque
Engine speed (RPM)
Fig. 1 A case of predicted and actual engine torque and power curves
6
Fig. 2 Adjustment of engine input parameters using MoTeC M4 programmable ECU
Fig. 3 A Honda B16A VTEC engine for testing
Fig. 4 Car engine power & torque data acquisition on a chassis dynamometer
7
Download