A Load Torque Estimator
A Load Torque Estimator
SAE TECHNICAL
PAPER SERIES 2004-01-1372
400 Commonwealth Drive, Warrendale, PA 15096-0001 U.S.A. Tel: (724) 776-4841 Fax: (724) 776-5760 Web: www.sae.org
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or
transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise,
without the prior written permission of SAE.
SAE Permissions
400 Commonwealth Drive
Warrendale, PA 15096-0001-USA
Email: [email protected]
Fax: 724-772-4891
Tel: 724-772-4028
ISBN 0-7680-1319-4
Copyright © 2004 SAE International
Positions and opinions advanced in this paper are those of the author(s) and not necessarily those of SAE.
The author is solely responsible for the content of the paper. A process is available by which discussions
will be printed with the paper if it is published in SAE Transactions.
Persons wishing to submit papers to be considered for presentation or publication by SAE should send the
manuscript or a 300 word abstract of a proposed manuscript to: Secretary, Engineering Meetings Board, SAE.
Printed in USA
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
2004-01-1372
Copyright °
c 2004 SAE International
1
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
LOAD POWER MODEL Before the presentation of The acceleration power requirement is a measure
the load torque state equation some characteristics of the operator’s wish to increase the speed of the
of and comments on the choice of model should be vehicle. If the driver wants to increase the speed
made. The load power model is selected in such a then the power that the engine can deliver must
way that it is representative of a car and its driving be greater than all the external power sources that
characteristics. The purpose is to see how well an are mentioned above. In what follows it should be
observer can estimate the load torque or load power clear that the acceleration term is not used in the
given a realistic power demand. It is shown how a description since what is of interest here is a function
simple expression can be used to describe the power that describes the external loading of the engine.
demand so that it is usable for an observer setup.
Below the model and equations will be presented.
If the car is driven on a level road then what must
be taken into account is the rolling and aerodynamic
The power required from the engine in a vehicle is de- power consumption. Figure 1 shows four different
pendent on a number of factors. One way of describ- functions which are an attempt to describe the rolling
ing the power requirements is to use the equation. and aerodynamic power consumption Proad = Proll +
Paero (dashed line). Phill and Paux are not modelled
Pengine = Proll + Phill + Paero + Pacc + Paux (2) here as they are considered to be transient distur-
bances during normal operation. Since friction can-
This equation describes the traction force required by
not be described by a physically derived expression,
the vehicle under all possible driving conditions. The
polynomial fits are used here.
contributions are summarized below.
Equation (4) shows the polynomials drawn on the fig-
Proll : Power needed to overcome the rolling resis- ure.
2
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
10000
Proad equation derived for the load torque. This model
1. order fit
2. order fit
has been constructed to see whether or not a dy-
3. order fit
8000 k⋅ n
3 namic model of the load torque can be obtained.
In the MVEM literature differential equations have
been shown to work with good accuracy on several
6000
important estimation problems. For this reason it is
reasonable to attempt to construct a new differential
Power [W]
2000
There is a very simple relationship between the load
power and load torque. This is given in the equation
0
below.
DERIVATION OF THE LOAD TORQUE STATE where kb and n are estimated using a constant gain
EQUATION This section describes a differential extended Kalman filter.
3
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
STATE EQUATIONS FOR THE OBSERVER SETUP mean value and variance:
To summarize the previous section the differential n o
equations presented above are collected here. E x(t0 ) = x0 (16)
n o
E [x(t0 ) − x0 ][x(t0 ) − x0 ]> = Q0 (17)
Pl + Pb Hu ηi ṁf (t − τdn )
ṅ = − + (11)
In In The main difference between a true extended Kalman
= f1 (α, ṁf , pi , Ti , n, kb ) filter and a constant gain extended Kalman filter is that
µ ¶ the system (14) is linearized at an appropriate operat-
n2 n Hu ηi ṁf (t − τdn )
Q̇b = k̇b + 2kb −(Ql + Qb ) + ing point and a constant gain calculated at this point.
k I nk
The choice of operating point depends on the system,
(12)
especially if the nonlinearities are distinct and not very
= f2 (α, ṁf , pi , Ti , n, k̇b , kb ) general. In other words the designer chooses a set of
k̇b = v1 (t), v1 (t) ∈ N (0, V1 (t)) (13) appropriate values of (x0 , u0 ) such that the linearized
= f3 (n), (constant driven by white noise) system gives the most general approximation to the
real system. A very familiar linear state space de-
The notation N (0, V1 (t)) means that the noise source scription arises since the system matrices are con-
is normally distributed with a zero mean with an inten- stant at a given operating point. The constant matri-
sity which is V1 ces are the Jacobian matrix of f with respect to x and
the Jacobian matrix of h with respect to x. This can
The equations are used in a constant gain extended be seen in equations (18a) and (18b).
Kalman filter. The next section shows how to set up
∂f (x(t), u(t), t)
the system equations so that the Kalman gain L can A = ∇x f¯¯x(t)=x0 = ¯
¯x(t)=x0 (18a)
be found using the proper noise assumptions. u(t)=u0 ∂x(t) ¯u(t)=u0
∂h(x(t), u(t), t)
EXTENDED KALMAN FILTERS AND PARAMETER C = ∇x h¯¯x(t)=x0 = ¯
¯x(t)=x0(18b)
u(t)=u0 ∂x(t) ¯
ESTIMATION u(t)=u0
CONSTANT GAIN EXTENDED KALMAN FILTER The matrices A, C, V1 and V2 are all constant due to
Extended Kalman filters have been shown to work the selection of a static operating point. This gives a
with good results in previous papers see e.g. [9] constant covariance matrix Q and a constant Kalman
and [10], which is why only a brief description of filter gain L. Q and L can be found by solving the
constant gain extended Kalman filters and parameter algebraic Riccati equation. L is then found using the
estimation will be included here. simple relationship given below.
4
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
Notice that the unknown parameter vector has been Crank Shaft Speed Sensor:
included in f (·) and h(·). Again it will be assumed
that v1 (t) and v2 (t) are the state and measurement n̂˙ = f1 (pi , Ti , n̂, α, ṁf ) + L11 (nm − n̂) (27)
noise and that they are uncorrelated white noise sig- ˙ ˙
Q̂b = f2 (α, ṁf , pi , Ti , n̂, k̂b , k̂b ) + L21 (nm − n̂) (28)
nals. The nonlinear system description can be lin-
˙
earized giving the following augmented state variable k̂b = f3 (n̂) + L31 (nm − n̂) (29)
x̄(t).
½ ¾ · ¸½ ¾ · ¸
ẋ(t) ∇x f ∇ θ f x(t) ∇u f The observer setup using a constant gain extended
= + u(t) Kalman filter can be seen in equation (30). This equa-
θ̇(t) 0 0 θ(t) 0
| {z } | {z } | {z } | {z } tion contains a constant Kalman gain matrix. By using
˙
x̄(t) Ā x̄(t) B̄
· ¸½ ¾ the theory on constant gain Kalman filters, augmen-
∇v 1 f 0 v1 (t) tation of systems and finding appropriate noise inten-
+ (23)
0 I v3 (t) sities a sub optimal Kalman gain can be found. An
example of this is also given in [9] where the stability
properties are also treated. Since only one measure-
½ ¾ ment is used L only has one column. If more mea-
£ ¤ x(t) surement signals are included the number of columns
y(t) = ∇x h> ∇θ h> + ∇u h> u(t)
| {z } θ(t) | {z } will likewise increase with the same number of mea-
| {z }
C̄
x̄(t)
D̄ surement signals.
>
+ ∇v2 h v2 (t) (24) n̂˙ f1 (pi , Ti , n̂, α, ṁf , k̂b )
˙ £ ¤
The Ā, B̄, C̄ and D̄ matrixes can be identified directly Q̂b = f2 (pi , Ti , n̂, α, k̂˙ b , k̂b ) + L3×1 nm − n̂ (30)
˙ f3 (n̂)
from the calculation of the Jacobian matrices. The fol- k̂b
lowing constants should likewise be defined in order
to make the presentation more compact and general.
µ ¶ SIMULATIONS AND RESULTS
(∇v1 f )V1 (∇v1 f )> 0
V̄1 (t) =
µ 0 V
¶3 This section shows the results based of the theory
(∇v1 f )V12 (∇v2 h)> (25) presented in the previous sections based on a simu-
V̄12 (t) =
0 lation study and also using real engine data taken on
V̄2 (t) = (∇v2 h)V2 (∇v2 h)> a dynamometer.
It is assumed that the process noise v1 (t) and the
noise that drives the parameter variation v3 (t) are un- An introduction to the variables used for the differ-
correlated. ent load torque curves is presented here in order for
the reader to see on what basis the comparisons are
Based on equations (22) - (25) a Kalman filter can be made. The curves all have a label or name tag which
written up in terms of the estimated system states and is presented in the equations below.
the unknown parameters.
( ) ½ ¾ Qbmeas = measured load torque (31a)
˙
x̂(t) f (x̂(t), u(t), θ̂(t), t) ˙ 2 ˙
˙ =
Q̂b = n̂k k̂b³
θ̂(t) 0
k̂ Pl (pi ,n̂)+k̂b n̂3
+2 kb n̂ − I n̂
+ L̄[y(t) − h(x̂(t), u(t), θ̂(t), t)] (26) ´
Qbhat = +
Hu ηi (n̂,pi )ṁf (t−τdn )
I n̂
where L̄ can be computed using the same technique
+L 21 (n m − n̂)
given in equations (19) and (20).
solution to the diff. equation
n̂2
QbPbhat = k̂b (called simple solution) (31b)
OBSERVER CONFIGURATIONS BASED ON MEA- k ³ ´
60 Pl (pi ,n̂) Hu ηi (n̂,pi )ṁf (t−τdn )
SUREMENTS Normally the choice of observers de- 2π n̂ − I n̂ + I n̂
pends on which sensors are available and/or neces- Qbhat
f orward = (31c)
sary. The observer to estimate the load torque has assuming, ṅ = 0
been made using a crank shaft speed sensor as this
was found to be sufficient. If the crank shaft speed Equation (31a) is the measurement of the load torque
sensor is used the system equations can have the fol- taken on the dynamometer. Equation (31b) is the so-
lowing innovations. lution to the differential equation using an observer
5
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
kb [kW/(krpm)3]
kb−estimated
solution (Qbhat
f orward ) is used to track the load torque.
0.26
0.25
0.24
0.23
0 10 20 30 40 50 60 70 80 90 100
r
P_road
steady state error than the load torque state equation.
P_road m_car*g*u[1]*sin(u[2]*pi/180)
P_hill
2 THETA
The error can be minimized if the gain that drives the
4. gear
1
Pb
u[1]/1000
6
n_crank [rpm]−> wheel sped [km/h ]
P_aero
u[1]/3.6 f(u) 1
n
able since larger gains lead to higher noise sensitivity.
1*u[1]
kb^
ddtkb^
From the simulation example it is shown that both
the simple load torque expression and the differential
Figure 3: Subsystem to estimate the loading param- equation can be used to find the load torque. How-
eter k̂b ever the system model has to be accurate to within
a few percent which means that careful calibration of
the crankshaft speed state equation is necessary oth-
Steady State Test Figure 4 shows the first test erwise the correct mean value for the load torque can
given no throttle input and no noise. not be found.
6
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
50
40
equation has a much faster response and overshoots
30 Throttle angle [°] the feed forward solution. The differential equation
20 never recovers as the steady state value stabilizes at
0 10 20 30 40 50 60 70 80 90 100
around 100 Nm. QbPbhat on the other hand gives a
Load Torque [Nm]
80
kb−estimated
0.3 but this is because the crank shaft speed is not con-
0.25 stant which is confirmed on the graph below the load
0.2
torques. At around t = 8 s the crank shaft speed is
0 10 20 30 40 50 60 70 80 90 100
again constant implying that Qbhat f orward and QbPbhat
err Load Torque [%]
4
2 should be the same which is also the case.
0
−2
−4 Stateequation
−6 Simple Notice that the crank shaft speed is being estimated
0 10 20 30 40 50
time [s]
60 70 80 90 100
correctly for the entire test except during fast tip-ins.
Figure 5: Transient test with with a 1000 W load dis- On figure 7 it is clear that these excursions are on the
turbance at t = 20 − 25 s.. Notice how k̂b changes order of about 4% and can also easily be seen on the
to adapt to the load disturbance. The maximum error crank shaft speed curves.
is about -6% for the simple load torque equation and
about -5.5% for the state equation. The steady state
error is however much better for the crankshaft speed The next measurement estimation study shows the
state equation. case when kb is not estimated but a constant kb value
is used in the crank shaft speed state equation and
load torques equations. The test is otherwise exactly
REAL ENGINE DATA The following tests have been the same as that shown in figure 6 and 7.
made in the constant speed mode on the dynamome-
ter. Figures 8 and 9 show the results gathered from the
test. Notice that the load torque estimation is not
even approximately close to working now, either for
1. 2000 rpm and throttle step from 20◦ − 40◦ , esti- the simple solution nor the state equation. QbPbhat
mating kb can be seen to be moving up and down as it naturally
follows the small variations in the crank shaft speed
2. 2000 rpm and throttle step from 20◦ − 40◦ , not
estimate. Again this observation is as expected since
estimating kb
both load torque equations and crank shaft speed are
3. 3000 rpm and throttle step from 20◦ − 60◦ , esti- very dependent on the estimate of kb .
mating kb
The error plots for the crank shaft speed suggest that
the estimation is not as good as earlier. The mean
Notice that the dynamometer in these tests has a very error deviation including transient operation has in-
slow response time (time constant of about 1.5 sec- creased from −0.0143 % to −0.77 % and the standard
onds) and should only be considered correct at the deviation has also increased from 1.024 % to 1.174 %.
beginning of the tests where the engine is in steady This can also easily be verified by looking at the crank
state operation. shaft speed estimate on figure 8 as the measured and
estimated curve do not lie on top of each other.
kb was started with the correct value so that both Similar to the previous test (TR3024.mat) the param-
QbPbhat , Qhat
b are at the correct starting value. No- eter estimate converges rapidly. After the first tip-in
tice that Qbhat meas
f orward , Qb are also right on top of QbPbhat finds the correct load torque level based on
each other and fit the estimated load torques with very the solution to Qbhat
f orward . At t ∈ [10; 12] s the crank
7
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
No. of samples
dmatdt [g/s]
dmatdtAlgebraric
20 800
20
0 600
10
−20 400
0 1 2 3 4 5 6 7 8 9 −40 200
0
0 2 4 6 8 −100 −50 0 50 100
0.9
pmeas
p [bar]
0.8 man
hat
µ = −0.051717 [%] & σ = 0.69468 [%]
pman 1000
i
0.7
4
0.6 800
No. of samples
0 1 2 3 4 5 6 7 8 9 2
Error pi [%]
600
340 0
meas 400
330 Tman
hat
T −2
man
T [K]
320 200
i
310 −4
0
300 0 2 4 6 8 −4 −2 0 2 4 6
2 1000
No. of samples
60 meas 0 800
Error Ti [%]
Qb
hat −2
Qbhat
40 Qb 600
Pbhat −4
Qbhat
20 forward
−6 400
0 1 2 3 4 5 6 7 8 9 −8 200
−10
2.2 0
nmeas 0 2 4 6 8 −10 −5 0 5
2.1 nhat
n [krpm]
2
Error n [%]
600
2 0
khat [kW/krpm3]
−2 400
1.5
−4
200
kbhat −6
1
b
0
0.5 0 2 4 6 8 −4 −2 0 2 4 6
0 1 2 3 4 5 6 7 8 9 time [s] error [%]
time [s]
Figure 7: Percentage error in ṁat , pi , Ti and n
Figure 6: Test made in constant speed mode using (TR2024.mat). Figures on the left show the percent-
file TR2024.mat. The test shows how kb is estimated age errors, while figures on the right show bar plots of
and adapts to the load change. the percentage errors.
8
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
Using File TR2024.mat (iii = 4, jjj = 1) µ = −0.70291 [%] & σ = 8.1847 [%]
ThrottleAirMassFlow = algebraric, pobs = on, Tobs = on, nobs = on, kbobs = off, integrators = on 1400
60
30 1200
dmatdtmeas
40
dmatdt [g/s]
No. of samples
Algebraric
20 20 800
0 600
10
−20 400
0 1 2 3 4 5 6 7 8 9
−40 200
0
0.9 0 2 4 6 8 −100 −50 0 50 100
pmeas
pi [bar]
0.8 man
phat
man µ = −0.051518 [%] & σ = 0.69547 [%]
0.7 1000
4
0.6 800
0 1 2 3 4 5 6 7 8 9
No. of samples
2
Error pi [%]
600
340
0
Tmeas 400
330 man
That
man
Ti [K]
320 −2
200
310
−4
300 0
0 2 4 6 8 −4 −2 0 2 4 6
0 1 2 3 4 5 6 7 8 9 µ = −0.025952 [%] & σ = 1.0283 [%]
1200
4
Load Torque [Nm]
35 2 1000
No. of samples
0 800
Error Ti [%]
30
Qbmeas
−2
Qbhat 600
25 Qbhat
Pbhat −4
Qbhat 400
forward −6
0 1 2 3 4 5 6 7 8 9
−8 200
2.2 −10
0
2.1 0 2 4 6 8 −10 −5 0 5
n [krpm]
2
nmeas µ = −0.77233 [%] & σ = 1.1736 [%]
1.9 1000
nhat
6
1.8
0 1 2 3 4 5 6 7 8 9 4 800
No. of samples
2
Error n [%]
600
0.82 0
kb [kW/krpm ]
3
hat
0.81 kb −2
400
0.8 −4
0.79 −6 200
hat
−8
0.78
0
0 1 2 3 4 5 6 7 8 9 0 2 4 6 8 −4 −2 0 2 4 6
time [s] time [s] error [%]
Figure 8: Test made in constant speed mode using Figure 9: Percentage error in ṁat , pi , Ti and n
file TR2024.mat (const. kb ). The test shows that the (TR2024.mat). Figures on the left show the percent-
estimation of kb is necessary in order to estimate the age errors, while figures on the right show bar plots
load torque. Notice now n also is degraded when a of the percentage errors. Notice how the crankshaft
constant kb value is used. speed error has increased due to using the constant
value of kb .
9
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
2000
dmatdt [g/s]
50
No. of samples
dmatdt
meas
dmatdtAlgebraric 1500
20 0
1000
0 2 4 6 8 10 12 14 16
−50 500
1
0
pmeas
man 0 5 10 15 −100 −50 0 50 100
0.8 phat
pi [bar]
man
No. of samples
2
Error pi [%]
1500
340 0
Tmeas
man
That −2 1000
man
Ti [K]
320
−4
500
−6
300
−8 0
0 5 10 15 −10 −5 0 5 10
0 2 4 6 8 10 12 14 16
µ = −0.045359 [%] & σ = 0.99593 [%]
100 2500
Load Torque [Nm]
5
2000
No. of samples
50
Error Ti [%]
0 1500
Qbmeas
Qbhat
hat
0 QbPbhat 1000
hat −5
0 2 4 6 8 Qb
10 forward 12 14 16
500
3.2 −10
0
3 0 5 10 15 −15 −10 −5 0 5 10
n [krpm]
2.8
nmeas µ = 0.0073844 [%] & σ = 0.65985 [%]
2.6 nhat 2500
4
0 2 4 6 8 10 12 14 16 2000
No. of samples
2
Error n [%]
1500
1
[kW/krpm3]
0
1000
0.5 −2
kbhat 500
khat
b
−4
0 0
0 2 4 6 8 10 12 14 16 0 5 10 15 −10 −5 0 5 10
time [s] time [s] error [%]
Figure 10: Test made in constant speed mode using Figure 11: Percentage error in ṁat , pi , Ti and n
file TR3026.mat. The test is made using a different (TR3026.mat). Figures on the left show the percent-
operating point and throttle movement. Again kb is age errors, while figures on the right show bar plots
estimated and adapts to the load change applied by of the percentage errors. Notice how the well the es-
the dynamometer. Notice how the crankshaft speed timates of the crank shaft speed is.
is estimated correctly except during the rapid throttle
tip in and tip out.
10
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
11
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
12
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
k b n3
Pi2
Pb (n) = (35) 1 a1 a a n
inlet pressure 2
pi2
3
pi2
pi2
a1
Crank speed 2 n2
Throttle position n2
Qb2
Kalman Gain 3
L
can be seen below and have been found to fit the ex- k2
Gain
Demux
3
1
s
3
Gain1 Integrator3
perimental engine.
k3
Gain2
kf 0 = 1.673 , a
dmfdt
k1
k2
Ti^
Pi2^
Qb^ Qb2curvehat
, Demux
5
13
Downloaded from SAE International by Stony Brook Univ, Sunday, August 12, 2018
The air mass flow past the throttle plate has been
modelled as two physically separated parallel isen-
tropic flows.
pa
ṁat = mat1 √ β1 (α)β2 (pr ) + mat0 (43)
Ta
α02
β1 (α) = 1 − cos(α) − (44)
2!
s
µ ¶2
p −p
1 − 1−pc
r c
, if pr ≥ pc
β2 (pr ) = (45)
1 , if pr < p c
pc = 0.4125.
Vd
ṁap = ηvol pi n (46)
120RTi
Vd is the displacement volume of the engine and ηvol
is the volumetric efficiency. The volumetric efficiency
is a measure of the amount of fresh air drawn into
the engine. On SI-engines without turbocharger the
volumetric efficiency is not able to exceed 1. In [7]
it has been shown that ηvol pi can be modelled as in
equation (47).
14