Prediction of Automotive Engine Power and Torque Using Support Vector Machines

cobblerbeggarΤεχνίτη Νοημοσύνη και Ρομποτική

15 Οκτ 2013 (πριν από 3 χρόνια και 10 μήνες)

57 εμφανίσεις


1

Prediction of Automotive Engine Power and Torque Using Support
Vector Machines


WONG Pak
-
kin
1*
, VONG Chi
-
man
2
, Ho Chon
-
meng
1
and
LI Yi
-
ping
2


1

(Department of Electromechanical Engineering, University of Macau, Macao)

2

(Department of Computer and Informat
ion 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 t
he 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 agreemen
t 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 significantl
y 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 hu
ge number of combinations of the
engine
control parameters. T
he
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, e
ngine
tune
-
up is usual
ly 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 Vect
or 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 MA
CHINES

SVM is a
n 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

2

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 l
ocal
solution.


2.1 SVM formulation for multi
-
variable regression

Consider the regression to the data set, D = {(
x
1
,
y
1
), …, (
x
N
,
y
N
)}, with
N

data points where
x
i



R
n
,
y



R. SVM formulation for multi
-
variable regression is expressed as the following eq
uation [4
-
5].


(1)

where:

: Lagrangian multipliers (Each multiplier is expressed as an
N
-
dimensional

vector)


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:


x
i

: engine input control parameters in the
i
th

sample data point
i = 1,2…N

(i.e. the
i
th

engine setup)

y
i

: engine output torq
ue in the
i
th

sample data point

N

: total number of engine setups



i

and

i
*

are known as
support values

corresponding to the
i
th

data point, where
i
th

data point means the
i
th

engine setup and output torque. Besides,
Radial Basis Function

(RBF) with us
er 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:

(2)

where

b

: bias constant

x

:

new engine input setup with
N

parameters


3

σ
2

: user
-
specified sample variance


In order t
o obtain
b
,
m

training data points
d
k

= <
x
k
,
y
k
>


D,
k

= 1,2,…,
m
, are selected, such that their
corresponding

k

and

k
*
are
non
-
zero
. By substituting
x
k

into Eq.

(2) and setting
M
(
x
k
) =
y
k
, a bias
b
k
can
be obtained
. Since there are
m

biases, the optima
l bias value
b
*

is usually obtained by taking the average
of
b
k
.


3. APPLICATION OF SV
M 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 discuss
ed in the following sub
-
section.


3.1

Engine data representation

The training data set is expressed as D = {(
x
i
,
y
i
)},
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

= <

I
r
, O, t
r
, f, J
r
, d, a,
p

> and
y

= <
T
r
>

where

r
: Engine speed (RPM) and r = {1000, 2000, 3000, …, 8000}

I
r
: Ignition spark advance at the corresponding engine speed
r

(degree before top dead center)

O:
Overall ignition trim (
degree before top dead center)

t
r
: Fuel injection time at the corresponding engine speed
r

(millisecond)

f:

Overall fuel trim (
%)

J
r
: 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)

T
r
:

Engine torque at the corresponding engine speed
r

(Nm)


As some data is engine speed dependent, another notation D
r

is used to further specify a data set
containing the data with respect to a

specific
r
. For example, D
1000

contains the following parameters:
<
I
1000
, O, t
1000
, f, J
1000
, d, a, p, T
1000
>, while D
8000

contains <
I
8000
, O, t
8000
, f, J
8000
, d, a, p, T
8000
>.


Consequently, D is separated into eight subsets namely D
1000
, D
2000
, …, D
8000
. An example of the training
data (engine setup) for D
1000

is shown in Table 1. For every subset D
r
, it is passed to the SVM regression
module, Eq. (1), one by one in order to construct eight torque functions
M
r
(
x
)

with respective to engine
speed
r
, i.e.
M
r
(
x
)=
M
r
={
M
1000
, M
2000
,…,M
8000
}.


4

In this way, the SVM module is run for eight times. At each run, a distinct subset
D
r

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
M
1000
,
M
2000
,…M
8000
.
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. E
xample of training data
d
i

in data set
D
1000


I
1000

O

t
1000

f

J
1000

d

a

p

T
1000

d
1

8

0

7.1

0

385

3

25

2.8

20

d
2

11

2

6.5

0

360

3

24

2.8

11

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

d
N

12

0

8.5

3

365

2.6

30

2.8

12.6



4. DATA SAMPLING AND

IMPLMENTATION I
SSUSES

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].




where
H
P

: Engine horsepower (Hp)

r
: Engine speed (RPM)



T
: Engine torque (Nm)


After collection of sample data set D, f
or every data subset D
r



D, it is
randomly

divided into two sets:
TRAIN
r

for training and another
TEST
r

for testing,
such that D
r

= TRAIN
r

TEST
r
, where
TRAIN
r

contains 80% of D
r

and
TEST
r

holds the remaining 20% (Fig. 5). Then every
TRAIN
r

is sent to the SVM
module for training, which has been
implemented using MATLAB 6.5 with its optimization toolbox
running on MS Windo
ws XP platform. The detail i
mplementation is discussed in following subsection.




5

4.1

SVM T
raining


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
TRAIN
r
for 20
times, the


value producing minimum
validation
error cost for
TRAIN
r

is chosen to be the best
hyper
-
parameter

r
*
. By repeating this procedure for
eight

times and
all


r
*

value
s

for
all

TRAIN
r

could be
determined.


Finally, the eight torque functions
M
r

are produced using SVM module based on the corresponding
training data set
TRAIN
r

and the determined hyper
-
parameter

r
*
. The biases
b
*

for different
M
r

functions
can also be easily calculated using Eq. (2).


5. RESULTS

After obtaining all torque functions

M
r
, the accuracy

is evaluated one by one

against their
own
test set
s

TEST
r
. 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 t
hat the function accuracy
could be further improved by increasing the number of training data.


Table 2. Accuracy of various functions of
M
r

and its corresponding hyper
-
parameter

Engine torque function

M
r


r
*

b

r
*

Average accuracy with test set
Test
r

M
100
0

0.08

2.3

90.2%

M
2000

0.12

1.9

90.6%

M
3000

0.09

1.4

91.4%

M
4000

0.08

1.3

92.3%

M
5000

0.10

0.7

87.1%

M
6000

0.09

0.9

88.7%

M
7000

0.13

3.0

91.2%

M
8000

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 dif
ferent kinds of vehicle engines.


6

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
K
ernel
-
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 Ke
rnels: 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.

7.

Pulkrabek W.,1997. Engineering Fundamentals of the Internal Combustion Engine. Prentice Hall.





Fig. 1 A case of

predicted and actual engine torque and power curves




7


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 dynamo
meter