05 Lic 1181 Af
05 Lic 1181 Af
Linköping 2005
Extending the Inverse Vehicle Propulsion Simulation Concept
-To Improve Simulation Performance
froberg@isy.liu.se
http://www.fs.isy.liu.se/
Department of Electrical Engineering,
Linköpings universitet,
SE-581 83 Linköping,
Sweden.
ISBN 91-85299-83-9
ISSN 0280-7971
LiU-TEK-LIC-2005:36
To Carolina and Viktor
Abstract
Drive cycle simulations of longitudinal vehicle models is an important tool
for design and analysis of power trains. On the market today there are sev-
eral tools for such simulations, and these tools use mainly two different
methods of simulation, forward dynamic or quasi-static inverse simulation.
Forward dynamic simulation is capable of describing the dynamic behavior
of a system to a high level of detail, but suffers from long simulation times.
On the other hand, quasi-static inverse simulations are very fast, but lack the
ability of describing additional dynamics in a good way. Here known theory
for stable inversion of non linear systems is used in order to try to combine
the fast simulation times of the quasi-static inverse simulation with the abil-
ity of describing the dynamics as in the forward dynamic simulation. The
stable inversion technique together with a new implicit driver model forms a
new concept, inverse dynamic simulation. Using this technique the need to
develop dedicated inverse models is reduced, and it is shown that a large
class of models that can be simulated in forward dynamic simulation also
can be simulated in inverse dynamic simulation. In this respect, three pow-
ertrain applications are used that include important dynamics that can not be
handled using quasi-static inverse simulation. The extensions are engine
dynamics, drive line dynamics, and gas flow dynamics around diesel
engines. These three cases also represent interesting mathematical proper-
ties such as zero dynamics, resonances, and non-minimum phase systems,
i.e. unstable zero dynamics. The inversion technique is demonstrated on all
three examples, and the feasibility of inverse dynamic simulation of these
systems is shown. Moreover, using the three examples, inverse dynamic
simulation is compared to forward dynamic simulation regarding simulation
set-up effort, simulation time, and parameter-result dependency. It is shown
that inverse dynamic simulation is easy to set up, gives short simulation
times, and gives consistent result for design space exploration. This makes
inverse dynamic simulation a suitable method to use for drive cycle simula-
tion, and especially in situations requiring many simulations, such as opti-
mization over design space, powertrain configuration optimization, or
development of powertrain control strategies.
i
ii
Acknowledgments
This work has been carried out under the guidance of Professor Lars
Nielsen at Vehicular Systems, Department of Electrical Engineering,
Linköpings Universitet, Sweden.
The Swedish Energy Agency, through the Center for Automotive Propul-
sion Simulation CAPSIM, and the Swedish Foundation for Strategic
Research, through the Visimod project, are greatfully acknowledged for
their funding.
Professor Lars Nielsen for letting me join this group, for supervision and
guidance of this work, and for the many interesting discussions along the
way.
Erik Frisk, Jan Åslund, Johan Whalström and Per Öberg for proofreading
the manuscript. Lars Nielsen, Erik Frisk, Jan Åslund, and Lars Eriksson for
interesting research discussions. Per Andersson for the joyful discussions
about all that is car related. The rest of the vehicular systems group for cre-
ating a nice atmosphere to work in.
Especially, I would like to thank my wife, Carolina, and our son, Viktor, for
sharing life with me and bringing me joy and happiness. I love you!
iii
iv
Contents
1 Introduction 1
1.1 Thesis organization and contributions .................................... 2
v
vi
6 Powertrain Applications 37
6.1 Capturing engine dynamics - a model with additional state .. 38
6.1.1 Forward dynamic model ................................................... 38
6.1.2 Inverse dynamic model .................................................... 40
6.2 Powertrain with driveline dynamics - a model with zero dynam-
ics ......................................................................................... 42
6.2.1 Forward dynamic model ................................................... 42
6.2.2 Inverse dynamic model .................................................... 43
6.3 Gas flow control of a diesel engine - a non-minimum phase
example ................................................................................ 45
6.3.1 Forward dynamic model ................................................... 46
6.3.2 Inverse dynamic model .................................................... 50
8 Conclusions 77
9 Nomenclature 79
10 References 83
1
Introduction
1
2
Part of the material presented in this thesis have been published in the
papers:
This chapter gives the background of drive cycle simulation of today, natu-
rally leading to the problem formulation of the thesis. Drive cycles are
defined in Section 2.1. Tracking of a drive cycle in vehicle simulation is dis-
cussed in Section 2.1.1. The area of usage for drive cycle simulations is dis-
cussed in Section 2.2. Existing tools and methods for drive cycle simulation
are discussed in Section 2.3. Advantages and disadvantages with todays sys-
3
4
tem are discussed in Section 2.4, and that naturally gives the goals and prob-
lem formulation of the thesis that is outlined in Section 2.5.
140
120
100
Speed [km/h]
80
60
40
20
0
0 200 400 600 800 1000 1200
Time [s]
100
90
80
70
60
speed [km/h]
50
40
30
20
10
0
0 200 400 600 800 1000 1200 1400 1600 1800 2000
time [s]
55
50
45
Velocity [km/h]
40
35
30
525 530 535 540 545 550 555 560 565 570 575
Times [s]
1
mv̇ ( t ) = F ( t ) – mgc r – --- ρc d Av 2 ( t ) (2.1)
2
8
where the vehicle’s mass times acceleration equals the propulsive force
reduced by roll- and air resistance. This system will be used in the following
subsections to exemplify the computational steps of the simulation methods.
ẋ ( t ) = f ( x ( t ), u ( t ) )
(2.2)
y ( t ) = h ( x ( t ), u ( t ) )
Then, given an initial value of the vehicle speed v ( t 0 ), and the input F ( t ) ,
the system (2.3) can be numerically integrated to compute the speed trajec-
tory. In general, forward dynamic vehicle simulation is about solving differ-
ential equations, using, e.g., throttle position (or fuel flow) as input, and
vehicle speed as output. These kind of models also requires a controller, a
driver model, to track a given speed trajectory (drive cycle). See Figure 2.6
for a typical computational scheme of the forward dynamic simulation.
For the system (2.1) that means that given speed v and acceleration v̇ , the
driving force F is computed as
1
F ( t ) = mv̇ ( t ) + mgc r + --- ρc d Av 2 ( t ) (2.4)
2
Thus, given a drive cycle, velocity and acceleration are used to calculate
required torques and speeds backwards through the driveline. This is done
in order to calculate the required energy input to the system, making the
vehicle follow the prescribed velocity profile.
v ( kh + h ) + v ( kh )
v ( t ) = -------------------------------------------, ∀t ∈ [ k h, kh + h )
2
v ( kh + h ) – v ( kh )
v̇ ( t ) = -------------------------------------------, ∀t ∈ [ k h, kh + h )
h
which are then inserted in the right hand side of (2.4). When solving (2.4) in
this way only static equations are solved when the driving force F is com-
puted. See Figure 2.7 for a typical computational scheme of quasi-static
inverse simulation.
Extending quasi-static simulation. The example system (2.1) has only one
state. If however more dynamics are to be added to the models, following
the inverse simulation strategy, more states z have to be included. They
have to be obtainable from the velocity profile, which means that higher
derivatives of the speed, or drivecycle, may be needed. This can formally be
written as u ( t ) = f ( x ( t ), ẋ ( t ), z ( t ) ) = f̃ ( x ( t ), ẋ ( t ), ẋ˙( t ), … ) . Such sim-
ulation, inverse dynamic simulation, is the main topic of this thesis as will
be discussed in Chapters 3 and 4.
10
2.4 Characteristics
The quasi-static inverse simulation is a successful method to make fast sim-
ulations of powertrains. Often the model consists of static equations and
maps of the efficiency of the components. A major advantage of this method
is that simulation time is so low that it can be used in design exploration and
optimization loops.
The characteristics of respective method are depicted in Figure 2.8. This fig-
ure also depicts the goal of the thesis, namely to combine the favorable
characteristics of each method in a new method, inverse dynamic simula-
tion.
• The inversion of the non linear system, including the added dynamics,
has to be performed.
• As depicted in Figure 2.3, two different driver models that track a cycle
within limits, and with the same tracking on average, can give rise to
different fuel consumption. Hence, different tracking behavior within
specified tracking limits is important, and consequently it is of impor-
tance to study how driver models influence the simulation result.
System inversion means that the system has to be inverted such that the
inputs can be expressed as a function of the outputs. Various domain spe-
cific solutions to this problem have been developed, e.g. in rigid body
dynamics, [25, 32, 34]. A review of methods for inverse dynamic simulation
of nonlinear systems in aerospace applications is given in [22] where a
method based on numerical differentiation followed by algebraic inversion
is presented, and an example of that method is presented in [30]. This
method is limited in that it uses an Euler approximation of the system deriv-
atives. Another way to perform system inversion is to use a tool for non-
causal simulation like e.g. Dymola. The method there is based on a struc-
tural manipulation of equations. However, only minimum phase systems are
treated and numerical differentiation of the inputs is used [4]. A different
possibility is to use the theory of stable inversion of nonlinear systems. The
method chosen here is adopted from [7, 19], and the rest of this chapter pre-
13
14
ẋ ( t ) = f ( x ( t ) ) + g ( x ( t ) )u ( t )
(3.1)
y(t ) = h( x(t ))
and that the number of inputs q equals the number of outputs. As mentioned
in the previous chapter, the inverse simulation computes required control
inputs from a given drivecycle. For a system such as (3.1), the inverse
dynamic simulation problem can be stated as: Given a desired output y d ( t ) ,
e.g. a drive cycle, that is smooth, the problem is to solve
ẋ d ( t ) = f ( x d ( t ) ) + g ( x d ( t ) )u d ( t )
(3.2)
yd ( t ) = h ( xd ( t ) )
for the input u d ( t ) such that (3.2) is satisfied. Possibly it is also interesting
to solve for x d ( t ) , the corresponding state trajectories that produces the
desired output. With the notion smooth, it is here meant that a signal is suf-
ficiently many times continuously differentiable. From here on it will be
assumed that all functions are smooth such that the necessary derivatives
exists and can be computed. It will also be assumed that f ( 0 ) = 0 and
h ( 0 ) = 0 . This can always be achieved for systems like (3.1) by a simple
change of coordinates. The basic idea behind the inversion is to use the stan-
dard change of coordinates for exact linearization, in order to express the
input as a function of the output.
0
L f h( x) = h( x)
∂
L f h( x) = ∑ f i ( x ) ∂ xi h ( x )
i
r r–1
L f h( x) = L f ( L f h( x))
where fi(x) is the i:th row of f(x). The system is said to have relative degree r
at a point x0 if the following holds:
k
L g L f h ( x ) = 0 for all x in a neighborhood of x 0 and all k < r – 1
(3.3)
r–1
Lg L f h( x0 ) ≠ 0
For systems with multiple outputs and multiple inputs, the vector relative
degree r = ( r 1 ,r 2, …, r q ) at a point x0 is defined as: for all 1 ≤ j ≤ q , for
all 1 ≤ i ≤ q , for all k < r i – 1 , and for all x in a neighborhood of x0
k
L g L f hi ( x ) = 0 (3.4)
j
r1 – 1 0 r1 – 1 0
Lg L f h1 ( x ) … L g L f h1 ( x )
1 q
r2 – 1 0 r2 – 1 0
0 Lg L f h2 ( x ) … L g L f h2 ( x )
β̃ ( x ) = 1 q (3.5)
:̇ :̇ :̇
rq – 1 0 rq – 1 0
Lg L f hq ( x ) … L g L f hq ( x )
1 q
is nonsingular.
(1) ∂h dx ∂h
y (t) = = ( f ( x ( t ) ) + g ( x ( t ) )u ( t ) )
∂ xdt ∂x
= L f h ( x ( t ) ) + L g h ( x ( t ) )u ( t )
(1)
y (t ) = L f h( x(t ))
16
(k ) k
y ( t ) = L f h ( x ( t ) ) for all k < r and in a neighborhood of x 0
(r) r r–1
y ( t ) = L f h( x0 ) + Lg L h ( x 0 )u ( t )
f
That is, the relative degree of the system is the number of times one has to
differentiate the output y ( t ) for the input u ( t ) to appear explicitly. For a
multi-input multi-output system there is a corresponding reasoning. Differ-
entiate y i ( t ) until at least one u j ( t ) appears. This will happen at exactly the
ri:th derivative of y i ( t ) due to (3.4).
Example 3.1 Study the system (2.1) extended with a state for the total
energy needed to propel the vehicle
1
mv̇ ( t ) = F ( t ) – mgc r – --- ρc d Av 2 ( t )
2
Ẇ ( t ) = F ( t )v ( t )
1 ρc d 1
ẋ 1 = – gc r – --- --------- Ax 12 + ---- u = f 1 ( x ) + g 1 ( x )u
2 m m
ẋ 2 = x 1 u = g 2 ( x )u
y = x1 = h ( x )
Since the input does not affect the output directly the relative degree r > 0 .
Computing the first Lie-derivative in the direction g gives
g1( x) 1
L g h ( x ) = ∂h ∂h
---- 1
= 1 0 m = ---- ≠ 0 ∀ x
∂ x1 ∂ x2 g ( x ) m
2 x1
The first step in the inversion procedure is to compute the relative degree.
The next step is to partially linearize the system. This is done by differenti-
ating y i ( t ) until at least one u j ( t ) appears explicitly. Define
i (k – 1)
ξk ( t ) = yi ( t ) for i = 1 ,… ,q and k = 1 ,… ,r i and let
Inversion of Nonlinear Systems 17
T
ξ ( t ) = ξ 1 ( t ) ,ξ 2 ( t ) ,… ,ξ r ( t ) ,ξ 1 ( t ) ,… ,ξ r ( t ) ,… ,ξ r ( t )
1 1 1 2 2 q
1 2 q
( r1 – 1 ) ( r2 – 1 ) ( rq – 1 )
= y 1 ( t ) , ẏ 1 ( t ) ,… , y 1 ( t ) , y 2 ( t ) ,… , y 2 ( t ) ,… , y q (t )
ξ = ψ( x) (3.6)
η
where η are variables needed to fill out the coordinate change. See [20] also
for a more thorough discussion on the choice of the new coordinates. With
this choice of coordinates, the following representation of the system is
achieved
i i
ξ̇ 1 ( t ) = ξ2 ( t )
:̇
i i for i = 1, …, q
ξ̇ r i – 1 ( t ) = ξr ( t )
i
i
ξ̇ r ( t ) = α i ( ξ ( t ), η ( t ) ) + β i ( ξ ( t ), η ( t ) )u ( t ) (3.7a)
i
η̇ ( t ) = s a ( ξ ( t ), η ( t ) ) + s b ( ξ ( t ), η ( t ) )u ( t ) (3.7b)
α1
r –1
α ( ξ ( t ), η ( t ) ) = :̇ = L f h ( ψ ( ξ ( t ), η ( t ) ) )
αq
(3.8)
β1
r–1 –1
β ( ξ ( t ), η ( t ) ) = :̇ = L g L f h(ψ ( ξ ( t ), η ( t ) ) )
βq
Example 3.2 Consider the system in Example 3.1. Since the relative degree
of that system was r = 1, the first new coordinate is ξ = y . To form a
complete coordinate change (3.6), the new coordinates has to be filled out.
One possible example of such an coordinate change that is also invertible is
to choose
ξ = y = x1
η x2 x2
ẋ 1 ρc d 1
ξ̇ = 1 = – gc r – --- --------- Aξ 2 + ---- u =
2 m m
η̇ ẋ 2
ξu
–1 –1
= L f h(ψ ( ξ, η ) ) + L g h ( ψ ( ξ, η ) )u = α ( ξ, η ) + β ( ξ, η )u
ξu ξu
Other choices for η could be considered, but in most cases it works well to
choose some of the old coordinates which makes it easy to calculate the
inverse coordinate change.
u d ( t ) = β ( ξ ( t ), η ( t ) ) – 1 ( y d( r ) ( t ) – α ( ξ ( t ), η ( t ) ) ) (3.9)
Here it is seen that in order to calculate the required input u d ( t ) for the sys-
tem to follow the prescribed trajectory, not only y d ( t ) has to be known, but
also the trajectories of η ( t ) and the r first derivatives of y d ( t ) . The trajec-
tories η ( t ) here represents the systems internal dynamics, or zero dynam-
ics. If the state trajectories x d ( t ) producing the desired output is of interest
they can be calculated from the inverse coordinate change
x ( t ) = ψ – 1 ( ξ ( t ), η ( t ) )
Inversion of Nonlinear Systems 19
Example 3.3 Consider the system in Example 3.2. It is seen in (3.9) that if
the trajectories of η ( t ) , ξ ( t ) , and ξ̇ ( t ) , i.e., η ( t ) , y ( t ) , and ẏ ( t ) , are
known, the required input u ( t ) can be calculated as in (3.9)
u ( t ) = β ( ξ ( t ), η ( t ) ) – 1 ( y ( r ) ( t ) – α ( ξ ( t ), η ( t ) ) ) =
1 ρc d
= m ẏ ( t ) + gc r + --- --------- A y 2
2 m
Note that for this particular system there is no need to know the trajectory of
the zero dynamics in order to calculate the required input.
For systems without zero dynamics, (3.9) becomes a system of static equa-
tions where the required input can be calculated from the desired output and
its derivatives. In the case of stable zero dynamics the procedure is also
straight forward. Substitute (3.9) in (3.7b),
η̇ ( t ) = s a ( ξ ( t ), η ( t ) ) +
+ s b ( ξ ( t ), η ( t ) ) ( β ( ξ ( t ), η ( t ) ) – 1 ( y d( r ) ( t ) – α ( ξ ( t ), η ( t ) ) ) )
≡ s ( η ( t ), Y d ( t ) ) (3.10)
where
( r1 ) ( r2 ) ( rq )
Y d ( t ) = y 1 ( t ) , ẏ 1 ( t ) ,… , y 1 ( t ) , y 2 ( t ) ,… , y 2 ( t ) ,… , y q ( t )
Choose appropriate initial values for η ( t ) , and solve the system of differen-
tial equations, (3.10), in order to find the trajectories of the zero dynamics.
Since η ( t ) is a function of x ( t ) the initial values can be chosen from
knowledge of the physics. In the case of unstable zero dynamics however,
there is no such straight forward way, since then (3.10) can not be integrated
20
Example 3.4 Consider Example 3.2. Using (3.9) in the zero dynamics gives
η̇ ( t ) = ξ ( t )u ( t ) = ξ ( t ) ( β ( ξ ( t ), η ( t ) ) – 1 ( y ( r ) ( t ) – α ( ξ ( t ), η ( t ) ) ) ) =
1 ρc d
= y ( t )m ẏ ( t ) + gc r + --- --------- A y 2
2 m
Since η̇ does not depend on η, the zero dynamics is stable and can be inte-
grated as an initial value problem.
Consider a system
η̇ ( t ) = Aη ( t ) + Bu ( t ); η ( ±∞ ) = 0 (3.11)
η̃˙ ( t ) Ã n 0 η̃ 1 ( t ) B̃
1 = + 1 u ( t ); η ( ±∞ ) = 0 (3.12)
η̃˙ ( t ) 0 Ã p η̃ 2 ( t ) B̃ 2
2
where à n has all eigenvalues in the left half plane and à p has all eigenval-
ues in the right half plane. The solution to the boundary value problem
(3.12) is
∞
η̃ ( t ) =
∫–∞ φ ( t – τ )B̃u ( τ ) dτ
where
à n t
φ ( t ) = 1 ( t )e 0
à p t
0 – 1 ( – t )e
Inversion of Nonlinear Systems 21
and 1 ( t ) is the unit step function. Solving for the first states η 1 ( t ) in (3.12)
is easy. The system is stable and the solution
∞ Ã n ( t – τ )
η̃ 1 ( t ) =
∫–∞ 1 ( t – τ )e B̃ 1 u ( τ ) dτ
∞ Ã n τ
=
∫0 e B̃ 1 u ( t – τ ) dτ
can be computed with numerical solvers for ODE:s, such as Euler or Runge-
Kutta methods. If the input signal u ( t ) is known before hand, the solution
to the last states η 2 ( t ) can be computed in a stable way as
∞ Ã p ( t – τ )
η̃ 2 ( t ) =
∫–∞ –1 ( τ – t )e B̃ 2 u ( τ ) dτ
0 Ã p τ
=
∫–∞ –e B̃ 2 u ( t – τ ) dτ
s ( η ( t ), Y d ( t ) ) = Aη + ( s ( η ( t ), Y d ( t ) ) – Aη )
where φ ( t ) is the state transition matrix for the linear system. If a change of
coordinates that brings the linearization on the form of (3.12) is applied, the
system becomes
22
–1
η̃˙ ( t ) = T s ( T η̃ ( t ), Y d ( t ) ) =
–1 –1
= T AT η̃ ( t ) + T ( s ( T η̃ ( t ), Y d ( t ) ) – AT η̃ ( t ) )
∞
η̃ 1, m + 1 ( t )
∫ φ ( t – τ )T
–1
= ( s ( T η̃ m ( τ ), Y d ( τ ) ) – AT η̃ m ( τ ) ) dτ (3.14)
η̃ 2, m + 1 ( t )
–∞
where
à n ( t )
φ ( t ) = 1 ( t )e 0
à p ( t )
0 – 1 ( – t )e
[ s ( x ( t ), u ( t ) ) – Ax ( t ) ] – [ s ( y ( t ), v ( t ) ) – Ay ( t ) ] 1
(3.15)
≤ K 1 x(t ) – y(t ) 1 + K 2 u(t ) – v(t ) 1
1
K 1 < -------------------
φ( ˙ ) α
(3.16)
r ( 1 – φ ( ˙ ) α )K 1
Y d ( ˙ ) K < --------------------------------------------
1 2 φ( ˙ ) β
φ( ˙ ) α = ∑ maxk φ j, k ( ˙ ) 1 (3.17)
j
The first restriction that was made in the previous section was that the sys-
tem had to be written in input affine form (3.1). This is not a big restriction.
Most physical systems are on this form or can easily be rewritten on this
form. The restriction could also be relaxed such that g ( x )u is relaxed into
g ( x, u ) as long as it is invertible in u .
Secondly, the system may be time varying, i.e. explicitly dependant on time
t , e.g. due to parameter variations. Since the minimum phase case is only
about solving IVPs and algebraic equations, parameter variations are easily
taken care of. The system (3.1) in time dependant form is
ẋ ( t ) = f ( x ( t ), t ) + g ( x ( t ), t )u ( t )
y ( t ) = h ( x ( t ), t )
which is easily handled by an ODE solver. The same argument is valid for
the zero dynamics. In the non minimum phase case it is however more com-
plex to handle parameter variations and not even possible for all cases, see
[8, 9].
f 1 ( x ( t ), u ( t ) ), if x, u ∈ S 1
ẋ ( t ) =
f 2 ( x ( t ), u ( t ) ), if x, u ∈ S 2 (3.19)
y ( t ) = h ( x ( t ), u ( t ) )
Such conditions are easy to handle in numerical ODE solvers for initial
value problems, see e.g. [2]. Typically the system is simulated as an ODE
between switch points. An algorithm searches for the switches and makes
sure that a simulation step is taken at the switch point. The states just before
the switch are taken as initial values to the system that is in effect after the
switch, and the simulation continues from there.
u d ( t ) = β ( ξ ( t ), η ( t ) ) – 1 ( y d( r ) ( t ) – α ( ξ ( t ), η ( t ) ) ) (3.20)
24
r –1
α ( ξ ( t ), η ( t ) ) = L f h ( ψ ( ξ ( t ), η ( t ) ) )
r–1 –1
β ( ξ ( t ), η ( t ) ) = L g L h(ψ ( ξ ( t ), η ( t ) ) )
f
ψ ( x ( t ) ), if x ∈ X 1
ξ = 1
η ψ 2 ( x ( t ) ), if x ∈ X 2
3.3 Summary
It has been shown how non linear systems are inverted by use of a coordi-
nate change. The inversion algorithm can be summarized as follows:
i i
ξ̇ 1 ( t ) = ξ2 ( t )
:̇
i i for i = 1, …, q
ξ̇ r i – 1 ( t ) = ξr ( t )
i
i
ξ̇ r ( t ) = α i ( ξ ( t ), η ( t ) ) + β i ( ξ ( t ), η ( t ) )u ( t ) (3.21)
i
η̇ ( t ) = s a ( ξ ( t ), η ( t ) ) + s b ( ξ ( t ), η ( t ) )u ( t ) (3.22)
The values for the output and its derivatives, y d( r ) and ξ , are given. Steps 1
–1
and 2 are performed off line. Step 3 requiring ψ is solved analytically if
possible, or tabulated off line, or solved numerically online. Steps 4 and 5
are performed on line.
26
4
Extending Inverse Simulation
and Driver Models
In drive cycle simulations the vehicle has to follow a prescribed speed pro-
file within certain limits, as described in Chapter 2. To achieve such good
drive cycle tracking, more or less sophisticated driver models are needed.
Driver models for both forward and inverse dynamic simulation are here
discussed, and for this it is recalled that exact tracking is physically impossi-
ble. The new implicit driver model presented in Section 4.2 together with
the inversion procedure presented in Chapter 3 forms a new concept of
inverse dynamic vehicle simulation. To compare tracking and behavior, the
different driver models are in the following tested on the New European
Drive Cycle, NEDC, EEC Directive 90/C81/01, see Figure 2.1 and the Fed-
eral Test Procedure FTP75, see Figure 2.2.
27
28
50 50
48 48
46 46
Velocity [km/h]
Velocity [km/h]
44 44
42
42
40
40
38
38
36
36
34
34
140 145 150 155 160 165 170 175 145 150 155 160 165 170 175
Time [s] Time [s]
ta
D f ( v c, v ) = K p ( v c ( t a ) – v ( t a ) ) + K i
∫ ( v c ( s ) – v ( s ) ) ds +
t start
d
+ K d ( vc ( t a ) – v ( t a ) ) (4.1)
dt
This simple driver model does not have look ahead, since it uses only infor-
mation of past and present values of the drive cycle. The parameters of the
driver model determines driver alertness, which in this type of simulation
results in tightness of cycle tracking. For examples of tracking behavior for
forward driver models, see Figure 4.1.
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
∫ g ( t – τ )vc ( τ ) dτ
1
D i v c = ---- (4.2)
C
–∞
∫ g ( t – τ )vc ( τ ) dτ
1
v d ( t ) = ---- (4.3)
C
–∞
A good choice for the convolution kernel, g ( t ) , see Figure 4.2, is to use the
definition
--------------
2
–a
a 2 – t 2-
g(t) = e , t ≤ a; (4.4)
0, otherwise;
30
Since the choice (4.4) of the convolution kernel g ( t ) has compact support
and is infinitely many times continuously differentiable, the resulting trajec-
tory v d ( t ) is infinitely many times continuously differentiable. Moreover,
the calculation of the derivatives does not require numerical differentiation.
Instead the derivatives are calculated using the following convolution
50 50
48
46
45
Velocity [km/h]
Velocity [km/h]
44
42
40
40
38
36
35
34
140 145 150 155 160 165 170 175 140 145 150 155 160 165 170 175
Time [s] Time [s]
40 40
35 35
30 30
velocity [km/h]
velocity [km/h]
25 25
20 20
15 15
10 10
5 5
0 0
20 25 30 35 40 45 50 55 60 20 25 30 35 40 45 50 55 60
time [s] time [s]
Figure 4.4 Tracking behavior for inverse dynamic (left) and forward
dynamic (right) simulation on part of the FTP75 cycle. The solid line
is the drive cycle and the dashed line is simulated velocity. In the
inverse dynamic simulation the tracking is defined by Equation (4.3)
and (4.4) with a tracking time constant of 2 seconds. The forward
dynamic driver model is defined by (4.1).
Extending Inverse Simulation and Driver Models 31
∞
(r) (r)
∫g
1
v d ( t ) = ---- ( t – τ )v c ( τ ) dτ
C
–∞
Linear filtering of the drive cycle gives only asymptotically exact tracking
while the use of (4.4), due to compact support, gives exact tracking on large
parts of the drive cycle.
Driver
The new simulation concept is a bridge that ties forward dynamic simula-
tions as in, e.g., PSAT, to quasi-static inverse simulations as in, e.g., Advi-
sor, in the sense that a common model data base can be used. Instead of
specifying dedicated inverse models as those used in, e.g. Advisor the mod-
els can be specified in the same way as in forward dynamic simulation. By
use of symbolic math tools, the systematic inversion procedure can be more
or less automatized.
5
Usability of Simulations and
Performance Measures
In Chapters 3 and 4 a new method was proposed for drive cycle simulation.
Before that, in Chapter 2 the usage of such drive cycle simulations were dis-
cussed, and requirements were stated. To verify that the new method fulfills
these demands it has to be tested accordingly, and it also has to be compared
to existing methods. The purpose of this chapter is to discuss the founda-
tions for these test simulations. The actual evaluation will take place in
Chapter 7 after having presented the relevant vehicle models in Chapter 6.
The requirements are both of subjective and objective character and this will
be elaborated in this chapter. A first observation is that there are some phe-
nomena that may lead to inconclusive simulation results if they are not
treated carefully, and these will be treated in Sections 5.1 and 5.2. With
these sections as a background, but mainly based on Chapter 2, then Section
5.3 will give the simulation measures to be used in Chapter 7.
33
34
32.01
32.008
32.006
32.004
Vehicle Speed [km/h]
32.002
32
31.998
31.996
31.994
31.992
31.99
59.95 60 60.05 60.1 60.15 60.2 60.25 60.3 60.35 60.4 60.45
Time [s]
part of a drive cycle simulation is presented in Figure 5.1. The driver model
there tracks the drive cycle almost correct on average, but the oscillating
behavior gives higher fuel consumption than a smoother tracking would
give. Clearly it is not enough to only verify that tracking is within limits, but
also the behavior within limits has to be studied.
drive cycle is followed, for every simulation, not only on average but also
exhibits the same characteristics within tracking limits.
To exemplify that the problem can easily occur, a simple driveline is used in
a few repeated simulation experiments. The model chosen here is the model
that is going to be presented in Section 6.1 and it is simulated to study the
fuel consumption in the NEDC driving cycle. The fuel consumption is taken
as the integral of the maximum of the fuel flow given by the model and an
idle flow. Simulations are first performed both with the inverse dynamic
method and the forward dynamic method. Keeping the same driver models,
the simulation is performed again but with the wheel radius changed from
0.3m to 0.45m. The results are shown in Table 5.1. For the forward case the
order between the two cases are reversed (8.619 < 8.634 compared to 7.315
> 7.293), which means that the order in fuel consumption between the driver
models is not preserved when wheel radius is changed. This indicates that it
can be difficult to evaluate simulations where model parameters change if
the tracking characteristics is not preserved. For the inverse case the order is
consistent (8.595 < 8.627 and 7.265 < 7.271).
Recall Figure 4.5 for the computational scheme of inverse dynamic simula-
tion and how it differs from forward dynamic simulation. A first objective is
to demonstrate feasibility of the inverse dynamic method, and this will be
done in Chapter 7. For simulation comparisons, both subjective and objec-
tive measures are presented in the following.
36
Thus, the models presented in this chapter are extensions to the quasi-static
models used in tools such as Advisor [33] or the QSS-toolbox [15]. How-
ever, they can all be treated using the inversion procedure from Chapter 3.
This will be detailed in the coming subsections, and they will be used for
comparison of different simulation methods in Chapter 7.
Even though the examples in this chapter are motivated from the application
they each impose interesting and illustrative mathematical characteristics.
The first example with intake manifold pressure illustrate the extension with
one extra state compared to quasi-static modelling. The second example
with drive shaft torsion includes a resonant system and zero dynamics, and
37
38
the third example with gas flow around diesel engines also includes non-
minimum phase, i.e. unstable zero dynamics, that can not be simulated in
object oriented tools such as Dymola [4].
J e ω̇ e = T cr – T e (6.1)
where T cr is the driving torque on the crankshaft and T e is the torque from
the driveline on the flywheel. The driving torque, T cr , is here modeled
from a standard mean value engine model.
Ath
v
pi
Drive shaft
Chassi
Engine Wheel
where the brake-, indicated-, friction-, and pump mean effective pressure
are
T cr
BMEP = 4π --------- (6.3)
Vd
m f q hv η th
IME P g = ------------------------- (6.4)
Vd
0.075
⋅ ξ aux ------------- (6.5)
B
PMEP = p e – p i (6.6)
The friction model (6.5) is according to [29]. The engine is assumed to run
stoichiometric
m ac
--------- = ---- λ
A
(6.7)
mf F s
Vd Vd
m ac = η vol p i --------- = ( s i p i – y i ) --------- (6.8)
RT i RT i
The intake manifold is modelled with a dynamic model with intake mani-
fold pressure as state
RT i ωe
ṗ i = --------- ṁ at – ------------ m ac (6.9)
Vi 2πn r
pa
ṁ at = --------------- A eff Ψ ( p r ) (6.10)
RT a
γ
γ+1
2--- ------------ -----------
γ – 1
2γ γ
----------- γ 2 -
γ – 1 p r – p r , if p r > ----------- γ + 1
Ψ ( pr ) = (6.11)
γ+1
------------
2 γ –1
γ ------------ , otherwise
γ + 1
ω e = iω w
(6.12)
T e iη tm = T w
T w = Fr
(6.13)
ωw r = v
The force equation for the vehicle is modeled with a quadratic air resistance
and constant rolling resistance as
1 2
F = mv̇ + --- c d ρAv + mgc r (6.14)
2
2 1.8
v̇ ( t ) = c 1 v ( t ) + c 2 v ( t ) + c3 pi ( t ) + c4
p i ( t ) (6.15)
ṗ i ( t ) = c 5 v ( t ) + c 6 v ( t ) p i ( t ) + c 7 Ψ ------------ A eff ( t )
pa
2 1.8
ẋ 1 ( t ) = c 1 x 1 ( t ) + c 2 x 1 ( t ) + c 3 x 2 ( t ) + c 4 = f 1 ( x ( t ) )
x 2 ( t )
ẋ 2 ( t ) = c 5 x 1 ( t ) + c 6 x 1 ( t )x 2 ( t ) + c 7 Ψ ------------ u ( t ) =
pa
= f 2 ( x ( t ) ) + g 2 ( x ( t ) )u ( t )
y ( t ) = x1 ( t ) = h ( x ( t ) )
First the relative degree of the system has to be found. This is done using the
definition (3.3). The Lie derivatives are
L g h ( x ) ≡ 0, ∀ x
x 2 ( t )
L g L f h ( x ) = c 3 c 7 Ψ ------------ ≠ 0, ∀ x ∈ { x ( x 2 ≠ p a ) }
pa
which means that the relative degree is r = 2 for all points except when
x 2 = p a for which a relative degree can not be defined. The engine studied
here are naturally aspirated which means that the point where the relative
degree is undefined, i.e. ambient pressure equals intake manifold pressure,
will never be reached. Since the relative degree is r = 2 , the same as the
system order, there are no zero dynamics. The coordinate change (3.6)
becomes
ξ1 x1 x1
= = (6.16)
ξ2 ẋ 1 2 1.8
c1 x1 + c2 x1 + c3 x2 + c4
–1
where ξ 1 = y and ξ 2 = ẏ . The inverse coordinate change, x = ψ ( ξ ) ,
is the solution to the system of equations (6.16), which has the solution
ξ1
x1
= 1 2 1.8 (6.17)
x2 ----- ( ξ 2 – c 1 ξ 1 – c 2 ξ 1 – c 4 )
c3
Note that the conditional if-statement in (6.11) in the model does not appear
in the inverse coordinate change. Now α ( ξ ( t ) ) and β ( ξ ( t ) ) can be com-
puted according to (3.8) which results in
42
0.8 2 1.8
α ( ψ ( x ) ) = ( 2c 1 x 1 + 1.8c 2 x 1 ) ( c 1 x 1 + c 2 x 1 + c 3 x 2 + c 4 ) +
+ c3 ( c5 x1 + c6 x1 x2 )
(6.18)
x2
β ( ψ ( x ) ) = c 3 c 7 Ψ ------
p a
u d ( t ) = β ( ψ ( x ) ) – 1 ( y d( r ) ( t ) – α ( ψ ( x ) ) ) (6.19)
where x ( t ) is calculated from (6.17). Since the system does not have any
zero dynamics it is sufficient to solve a set of algebraic equations, (6.17) and
(6.19), to calculate the required input. Note that, as stated in Section 3.2,
non linear functions such as Ψ ( ˙ ) does not have to be inverted, rather it is
evaluated for the current values of the states and then only the computed
value of β ( ψ ( x ) ) is inverted.
T d = k ds θ d + c ds θ̇ d (6.20)
ω e = iω d
(6.21)
T e iη tm = T d
and the relation between the rotational speeds on each side of the driveshaft
is
θ̇ d = ω d – ω w (6.22)
Powertrain Applications 43
Tw = Td (6.23)
The system that is going to be studied is the same as in the previous section
modified as described by (6.20)-(6.23). With the introduction of the drive-
shaft flexibility, two states are added to the system. Since the engine and
vehicle speed becomes decoupled the first of the new states is engine speed
defined by (6.1). The second extra state is the torsion of the driveshaft
defined by (6.22). Collecting all equations and setting x 1 = v , x 2 = ω e ,
x 3 = θ d , x 4 = p i , u = A eff and y = v gives the following state space
system
2
ẋ 1 ( t ) = c 1 x 1 ( t ) + c 2 x 1 ( t ) + c 3 x 2 ( t ) + c 4 x 3 ( t ) + c 5 = f 1 ( x ( t ) )
1.8
ẋ 2 ( t ) = c 6 x 1 ( t ) + c 7 x 2 ( t ) + c 8 x 2 ( t ) + c 9 x 3 ( t ) + c 10 x 4 ( t ) + c 11 =
= f 2( x(t ))
ẋ 3 ( t ) = c 12 x 1 ( t ) + c 13 x 2 ( t ) = f 3 ( x ( t ) )
(6.24)
x 4 ( t )
ẋ 4 ( t ) = c 14 x 2 ( t ) + c 15 x 2 ( t )x 4 ( t ) + c 16 Ψ ------------ u ( t ) =
pa
= f 4 ( x ( t ) ) + g 4 ( x ( t ) )u ( t )
y ( t ) = x1 ( t ) = h ( x ( t ) )
L g h ( x ) = L g L f h ( x ) ≡ 0, ∀ x
2 x4 (6.25)
L g L f h ( ( x ) ) = c 3 c 10 c 16 Ψ ------ ≠ 0, ∀ x ∈ { x ( x 4 ≠ p a ) }
p a
hence the relative degree is r = 3 for all points except when x 4 = p a for
which a relative degree can not be defined. A possible coordinate change is
44
ξ1 = x1
2
ξ 2 = ẋ 1 = c 1 x 1 + c 2 x 1 + c 3 x 2 + c 4 x 3 + c 5
2
ξ 3 = ẋ˙1 = ( 2c 1 x 1 + c 2 ) ( c 1 x 1 + c 2 x 1 + c 3 x 2 + c 4 x 3 + c 5 ) +
(6.26)
1.8
+ c 3 ( c 6 x 1 + c 7 x 2 + c 8 x 2 + c 9 x 3 + c 10 x 4 + c 11 ) +
+ c 4 ( c 12 x 1 + c 13 x 2 )
η = x4
ξ̇ 1 ( t ) = ξ 2 ( t )
ξ̇ 2 ( t ) = ξ 3 ( t )
(6.27)
ξ̇ 3 ( t ) = α ( ξ ( t ), η ( t ) ) + β ( ξ ( t ), η ( t ) )u ( t )
–1 –1
η̇ ( t ) = f 4 ( ψ ( ξ ( t ), η ( t ) ) ) + g 4 ( ψ ( ξ ( t ), η ( t ) ) )u ( t )
2
β = L g L f h is given in (6.25) and α is given by
Powertrain Applications 45
3
α = L f h = ( ( 2c 1 x 1 + c 2 )c 4 + c 3 c 9 ) ( c 12 x 1 + c 13 x 2 ) + c 3 c 10 c 14 x 2 +
2 2
( 2c 1 ( c 1 x 1 + c 2 x 1 + c 3 x 2 + c 4 x 3 + c 5 ) + ( 2c 1 x 1 + c 2 ) + c 3 c 6 + c 4 c 12 ) ⋅
2
( c 1 x 1 + c 2 x 1 + c 3 x 2 + c 4 x 3 + c 5 ) + c 3 c 10 c x
15 4
0.8
+ ( ( 2c 1 x 1 + c 2 )c 3 + c 3 ( c 7 + 1.8c 8 x 2 ) + c 4 c 13 ) ⋅
1.8
( c 6 x 1 + c 7 x 2 + c 8 x 2 + c 9 x 3 + c 10 x 4 + c 11 ) +
+ ( ( 2c 1 x 1 + c 2 )c 4 + c 3 c 9 ) ( c 12 x 1 + c 13 x 2 ) + c 3 c 10 c 14 x 2 + c 15 x 4
If now (3.9) is inserted in the last row of (6.27) the zero dynamics becomes
–1
η̇ ( t ) = f 4 ( ψ ( ξ ( t ), η ( t ) ) ) +
–1
+ g4(ψ ( ξ ( t ), η ( t ) ) ) ( β ( ξ ( t ), η ( t ) ) – 1 ( y d( r ) ( t ) – α ( ξ ( t ), η ( t ) ) ) )
The zero dynamics is solved numerically with a standard ODE solver. When
η ( t ) is known the required input u d ( t ) is calculated according as in (3.9)
u d ( t ) = β ( ξ ( t ), η ( t ) ) – 1 ( y d( r ) ( t ) – α ( ξ ( t ), η ( t ) ) )
As stated in Section 3.2 and as in the previous example, note that non linear
functions such as Ψ ( ˙ ) do not have to be inverted.
Aegr
EGR cooler
Wegr
udelta
Avgt
Turbine
pim Wei Weo pem
T Wt
Intake Exhaust
manifold manifold
nt
Cylinders
Wc
Intercooler Compressor
Figure 6.2 A schematic picture of a diesel engine with EGR and VGT.
The inputs are the areas of the EGR-valve and the VGT. Outputs are
the EGR ratio and the normalized air fuel ratio. The figure is
adapted from [31].
Ra T i
ṗ i = ------------ ( W c + W egr – W ei ) (6.28)
Vi
R e T em
ṗ e = ----------------- ( W eo – W t – W egr ) (6.29)
Ve
η vol p i N V d
W ei = ----------------------------- (6.30)
nr Ra T i
N
W f = ----- n cyl u δ (6.31)
nr
W eo = W f + W ei (6.32)
Wc
λ = --------------------- (6.33)
W f ----
A
F s
The EGR system consist of a pipe connecting the exhaust manifold to the
intake manifold. In this pipe there is a throttle to control the flow of EGR.
The flow is modeled as
pi
A egr p e Ψ egr ------
p e
W egr = -------------------------------------------- (6.34)
T em R e
where
2 γe + 1 γe
------------- -
------------- -------------
2γ γ – 1 γ – 1 p γ –1
e 2
– -------------- , if ------ < --------------
-------------
e 2 e i 2 e
- --------------
γ e – 1 γ e + 1 γe + 1 pe γe + 1
pi 2 γ e + 1 γe
Ψ egr ------ =
----
γ
--------------
γ -------------
p e 2γ e i p ip γ
2 e – 1 pi
e e
-------------
- -----
- – -----
- , if -------------- ≤ ------ ≤ 1
γ e – 1 p e γ + 1
p e e pe
pi
0, if 1 < ------ (6.35)
pe
1
Ȧ egr = ---------- ( – A egr + u egr ) (6.36)
τ egr
W egr
x egr = ---------------------------- (6.37)
W c + W egr
The turbo consist of a turbine and a compressor connected with a stiff shaft.
The speed dynamics of the turbo is given by
1
ω̇ t = ----- ( M t – M c ) (6.38)
Jt
W t c pe ∆T t
M t = η m -------------------------- (6.39)
ω t
W c c pa ∆T c
M c = ---------------------------- (6.40)
ωt
A lumped model for the mechanical efficiency and the temperature differ-
ence of the turbine is used according to
γ e – 1
-------------
p a γ e
η m ∆T t = T em η tm 1 – ------ (6.41)
p e
pe p a K t
W t = -------------- 1 – ------ A vgt (6.42)
T em p e
3
p a πR c ω t
W c = -----------------------Φ c (6.43)
Ra T a
γa – 1
--------------
T a pi γ a
∆T c = ------ ------ – 1 (6.44)
η c p a
pi
ṗ i = c 1 p i + c 2 ω t + c 3 A egr p e Ψ ------
p e
pi c8
ṗ e = c 4 p i + c 5 A egr p e Ψ ------ + c 6 + c p e 1 – -------- A vgt
p e 7
p
c9
e
c 11
c 14 c8 pe
ω̇ t = c 10 p i + c 12 + c 13 + ---------- 1 – -------- ------ A vgt
c 15 c9 ω
pe pe t
λ = c 17 ω t
pi
c 18 A egr p e Ψ ------
p e
x egr = -----------------------------------------------------------------
pi
c 19 ω t + c 18 A egr p e Ψ ------
p e
ẋ 1 = c 1 ( x 1 + c 20 ) + c 2 ( x 3 + c 22 ) +
( x 1 + c 20 )
+ c 3 ( x 4 + c 23 ) ( x 2 + c 21 )Ψ ------------------------- = f 1 ( x )
( x 2 + c 21 )
( x 1 + c 20 )
ẋ 2 = c 4 ( x 1 + c 20 ) + c 5 ( x 4 + c 23 ) ( x 2 + c 21 )Ψ ------------------------- + c 6 +
( x 2 + c 21 )
c8
+ c 7 ( x 2 + c 21 ) 1 – ----------------------------- ( u 2 + c 25 ) = f 2 ( x ) + g 2 ( x )u
c9 (6.45)
( x 2 + c 21 )
c 11
ẋ 3 = c 10 ( x 1 + c 20 ) + c 12 +
c 14 c8 ( x 2 + c 21 )
+ c 13 + ------------------------------- 1 – ----------------------------- ------------------------- ( u 2 + c 25 ) =
c 15 c9 ( x + c )
( x 2 + c 21 ) ( x 2 + c 21 ) 3 22
= f 3 ( x ) + g 3 ( x )u
ẋ 4 = c 16 ( x 4 + c 23 ) – c 16 ( u 1 + c 24 ) = f 4 ( x ) + g 4 ( x )u
( x 1 + c 20 )
c 18 ( x 4 + c 23 ) ( x 2 + c 21 )Ψ -------------------------
( x 2 + c 21 )
y 2 = ---------------------------------------------------------------------------------------------------------------------------------------- + (6.46)
( x 1 + c 20 )
c 19 ( x 3 + c 22 ) + c 18 ( x 4 + c 23 ) ( x 2 + c 21 )Ψ -------------------------
( x 2 + c 21 )
+ c 26 = h 2 ( x )
L g h1 ( x ) = 0 L g h1 ( x ) ≠ 0
1 2
L g h2 ( x ) ≠ 0 L g h2 ( x ) ≠ 0
1 2
inverse system will have zero dynamics of order two. There are several pos-
sibilities to choose the coordinate change (3.6). One choice for
T T T
( ξ , η ) = ψ ( x ) is
ξ1 h1 ( x )
ξ2 h2 ( x )
= =
η1 x1
η2 x2
c 17 ( x 3 + c 22 ) + c 25
(6.47)
( x 1 + c 20 )
c 18 ( x 4 + c 23 ) ( x 2 + c 21 )Ψ -------------------------
( x 2 + c 21 )
---------------------------------------------------------------------------------------------------------------------------------------- + c 26
= ( x 1 + c 20 )
c 19 ( x 3 + c 22 ) + c 18 ( x 4 + c 23 ) ( x 2 + c 21 )Ψ -------------------------
( x 2 + c 21 )
x1
x2
–1 –1
ξ̇ 1 = L f h 1 ( ψ ( ξ, η ) ) + L g h 1 ( ψ ( ξ, η ) )u = α 1 ( ξ, η ) + β 1 ( ξ, η )u
–1 –1
ξ̇ 2 = L f h 2 ( ψ ( ξ, η ) ) + L g h 2 ( ψ ( ξ, η ) )u = α 2 ( ξ, η ) + β 2 ( ξ, η )u
–1
η̇ 1 = f 1 ( ψ ( ξ, η ) )
–1 –1
η̇ 2 = f 2 ( ψ ( ξ, η ) ) + g 2 ( ψ ( ξ, η ) )u
–1
η̇ 1 = f 1 ( ψ ( ξ, η ) )
–1
η̇ 2 = f 2 ( ψ ( ξ, η ) ) +
(6.48)
–1
β 1 ( ξ, η ) α ( ξ, η )
+ g2(ψ
–1
( ξ, η ) ) ξ̇ 1 – 1
β 2 ( ξ, η ) α ( ξ , η )
ξ̇ 2 2
Note that because of the choice of the coordinate change (6.47) the if-state-
ment in the function Ψ ( ( x 1 + c 20 ) ⁄ ( x 2 + c 21 ) ) does not cause any trouble,
see Section 3.2. In each simulation step, first η is solved from (6.48) which
52
In contrast to the previous example the zero dynamics is in this case unsta-
ble, as will now be discussed.
η̇ = Aη
Then the eigenvalues of A are σ 1 = – 6.8 and σ 2 = 15.8 . Clearly the sys-
tem has unstable zero dynamics in a neighborhood of the origin.
η̃ 1, m + 1 ( t )
=
η̃ 2, m + 1 ( t )
(6.49)
∞
∫ φ ( t – τ )T
–1
= ( s ( T η̃ m ( τ ), Y d ( τ ) ) – AT η̃ m ( τ ) ) dτ
–∞
where
– 6.8 ( t )
φ ( t ) = 1 ( t )e 0
15.8 ( t )
0 – 1 ( – t )e
It is seen, as expected, that one pole is in the right half plane and one pole is
in the left half plane. For this system the norms in (3.17) and (3.18) is
1 1
φ ( ˙ ) α = ------- + ----------
6.8 15.8
φ( ˙ ) β = 2
According to [7] a solution to the inversion problem can be found that satis-
fies the system (6.45)-(6.46) if the zero dynamics satisfies (3.15) and (3.16),
i.e.,
Powertrain Applications 53
[ s ( η ( t ), Y d ( t ) ) – Aη ( t ) ] – [ s ( y ( t ), V ( t ) ) – Ay ( t ) ]
1
≤ K 1 η(t ) – y(t ) 1 + K 2 Y d (t ) – V (t )
1
and
1
K 1 < ------------------------
1 1
------- + ----------
6.8 15.8
r 1 – ------- + ---------- K 1
1 1
6.8 15.8
Y d ( ˙ ) K < -------------------------------------------------------
1 2 2
These requirements are fulfilled in a neighborhood of the origin. Staying in
this neighborhood, the inverse dynamic simulation is given by (6.49) and
(3.9)
ẏ
u d ( t ) = β ( ξ ( t ), η ( t ) ) – 1 1, d – α ( ξ ( t ), η ( t ) ) (6.50)
ẏ
2, d
54
7
Simulation Performance and
Usability
55
56
7.1 Simulations
The simulations of the powertrain models performed in this chapter use
parameter values according to Chapter 9. Regarding driver models, the for-
ward model is controlled with a driver model implemented as a PID-con-
troller as in (4.1) and connected to the vehicle model as depicted in Figure
–5 –6
2.6. The PID-parameters are K p = 8 ⋅ 10 , K i = 1 ⋅ 10 and
K d = 0 . The inverse dynamic simulation, see Figure 4.5, uses a driver
model as described by (4.2) - (4.4) with the parameter a = 5 . The design
of the driver models has been done as follows: First an inverse dynamic
driver model has been designed that has a suitable tracking behavior. Then,
a forward dynamic PID-type driver model has been designed such that it has
comparable response time as the inverse driver model. The models are sim-
ulated in the New European Drive Cycle, Figure 2.1. The models does not
describe hard decelerations and standstill since no clutch or brakes are
included. However, the models are still well suited for comparison between
inverse dynamic and forward dynamic simulation.
The conclusion from all these is that inverse dynamic simulation gives real-
istic values not only for the velocity that is tracked, but also for all other
variables. Off course this was expected from theory, but it shows that
inverse dynamic simulation is not sensitive to numerical approximations
and works well.
(6.19) are simulated in the New European Drive Cycle using parameter val-
ues and driver models as stated in Section 7.1. Simulations where carried
out in Matlab/Simulink with standard setup of tolerances and solver, i.e., the
“ode45” solver with a relative tolerance of 0.001.
To better resolve the signals and to get more similar trajectories between the
forward and inverse dynamic simulation, the same simulations are per-
formed again but now with a maximum step length of 1 second, see Figures
7.4 - 7.6. From the simulations performed it is seen that now both the
inverse and forward dynamic simulation produces qualitatively the same
result.
50
Drive cycle (NEDC)
Forward dynamic simulation
45
Inverse dynamic simulation
40
35
30
Velocity [km/h]
25
20
15
10
0
0 20 40 60 80 100 120 140 160 180 200
Time [s]
−5
x 10
10 Forward dynamic simulation
Inverse dynamic simulation
6
Effective Throttle area [m2]
−2
0 20 40 60 80 100 120 140 160 180 200
Time [s]
4
x 10
6
Forward dynamic simulation
Inverse dynamic simulation
4
Intake manifold pressure [Pa]
−2
−4
−6
0 20 40 60 80 100 120 140 160 180 200
Time [s]
50
45
40
35
Velocity [km/h]
30
25
Drive cycle (NEDC)
Forward dynamic simulation
20 Inverse dynamic simulation
15
10
5
120 125 130 135 140 145 150 155 160 165 170 175
Time [s]
−5
x 10
10
Forward dynamic simulation
Inverse dynamic simulation
6
Effective Throttle area [m ]
2
−2
120 125 130 135 140 145 150 155 160 165 170 175
Time [s]
4
x 10
5
Forward dynamic simulation
Inverse dynamic simulation
3
Intake manifold pressure [Pa]
−1
−2
−3
120 125 130 135 140 145 150 155 160 165 170 175
Time [s]
The important effect of the parameter changes can be seen in Figure 7.12.
The tracking behavior in the forward simulations is different in the two
cases but exactly the same in the inverse dynamic simulations. Note that
even though all simulations are within tracking limits, the different behavior
within limits can give unwanted effects e.g. on fuel consumption. Note spe-
cifically the small oscillations in the velocity for the light weight vehicle
60
Drive cycle (NEDC)
Forward dynamic simulation
Inverse dynamic simulation
50
40
Velocity [km/h]
30
20
10
0
0 20 40 60 80 100 120 140 160 180 200
Time [s]
−5
x 10
Forward dynamic simulation
Inverse dynamic simulation
10
8
Effective Throttle area [m ]
2
−2
0 20 40 60 80 100 120 140 160 180 200
Time [s]
350
Forward dynamic simulation
Inverse dynamic simulation
300
250
200
Engine Speed [rad/s]
150
100
50
−50
0 20 40 60 80 100 120 140 160 180 200
Time [s]
0.04
Forward dynamic simulation
Inverse dynamic simulation
0.03
0.02
0.01
Drive shaft torsion [rad]
−0.01
−0.02
−0.03
−0.04
−0.05
0 20 40 60 80 100 120 140 160 180 200
Time [s]
4
x 10
6
Forward dynamic simulation
Inverse dynamic simulation
4
Intake manifold pressure [Pa]
−2
−4
−6
0 20 40 60 80 100 120 140 160 180 200
Time [s]
33 33
Drive cycle (NEDC) Drive cycle (NEDC)
Forward dynamic simulation Forward dynamic simul
Inverse dynamic simulation Inverse dynamic simula
32.5 32.5
32 32
Velocity [km/h]
Velocity [km/h]
31.5 31.5
31 31
30.5 30.5
30 30
55 60 65 70 75 80 85 90 55 60 65 70 75 80 85
4.5 4.5
Inverse dynamic simulation
Forward dynamic simulation
4 4 Inverse dynamic simulation
Forward dynamic simulation
3.5 3.5
Deviation from drive cycle [km/h]
Deviation from drive cycle [km/h]
3 3
2.5 2.5
2
2
1.5
1.5
1
1
0.5
0.5
0
0
−0.5
−0.5
55 60 65 70 75 80 85 90 55 60 65 70 75 80 85 90
Times [s] Times [s]
case. This is a very unwanted behavior and shows that it can be difficult to
run a set of forward dynamic simulations and get a good result without
retuning the driver model when the vehicle parameters are changed. Of
course these effects deteriorate the usefulness for the set of simulations as a
design space exploration. However, for inverse dynamic simulation, due to
the computational scheme with the implicit driver model the behavior
within tracking limits are more consistent. The conclusion is that inverse
dynamic simulation has a clear advantage regarding design space explora-
tion.
Simulation Performance and Usability 65
Now the model from Section 6.3 with unstable zero dynamics is studied.
The forward model is given by (6.45) and (6.46), and the inverse model is
given by (6.49) and (6.50). The system is simulated around the stationary
5 5
point p im = 2.06 ⋅ 10 Pa , p em = 2.41 ⋅ 10 Pa , ω t = 7001rad/s ,
–4 2 –4 2 –5 2
A egr = 1 ⋅ 10 m , u egr = 1 ⋅ 10 m , A vgt = 4 ⋅ 10 m ,
λ = 2.77 , and x egr = 7.1% . In the inverse simulation a coordinate
change is done such that this point becomes the new origin. To compare the
forward and inverse dynamic simulations, desired output trajectories, λ d
and x egr, d , are specified as seen in Figure 7.13.
7.5.1 Simulations
Both forward and inverse simulation will be performed for this example in
the following way: First the zero dynamics is simulated by solving (6.49),
where five iterations are computed. The result is shown in Figure 7.14
where η̃ 1 is to the left and η̃ 2 is to the right. It is seen that the five itera-
tions are almost on top of each other, which means that the method con-
verges quickly for this problem. The inverse dynamic model (6.50) is then
simulated which results in desired inputs u egr, d and A vgt, d as seen in
2.78 0.0715
inverse
x inverse
forward egr
x forward
egr
0.0715
2.7795
0.0714
2.779
xegr
0.0713
λ
2.7785
0.0713
2.778
0.0712
2.7775 0.0712
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Figure 7.13 Specified output trajectories for λ and x egr for the
inverse dynamic simulation (solid) of the diesel engine model. Out-
put from a corresponding forward dynamic simulation (dashed) is
also seen. Note that the outputs deviate little from the stationary
point.
66
50 50
1st iteration
1st iteration 2nd iteration
2nd iteration 3rd iteration
3rd iteration 0 4th iteration
0 4th iteration 5th iteration
5th iteration
−50
−50
−100
η2
1
−100
η
−150
−150
−200
−200
−250
−250 −300
0 5 10 15 20 25 30 0 5 10 15 20 25
−5 −5
x 10 x 10
10.015 4.001
4.0005
10.01
10.005
3.9995
10
[m2]
Uegr,d [m2]
3.999
vgt,d
3.9985
A
9.995
3.998
9.99
3.9975
9.985
3.997
9.98 3.9965
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Figure 7.15. Using the inverse coordinate change the original states are also
computed as seen in Figure 7.16.
5
x 10
2.065
inverse
forward
im
2.064
p
2.063
2.062
0 5 5 10 15 20 25 30
x 10
2.412 inverse
forward
em
2.41
p
2.408
0 5 10 15 20 25 30
7010
inverse
forward
ωt
7005
7000
0 −4 5 10 15 20 25 30
x 10
1.002 inverse
forward
egr
1
A
0.998
0 5 10 15 20 25 30
time [s]
inverse 0.0715
forward x inverse
egr
xegrforward
0.0715
0.0714
xegr
0.0713
0.0713
0.0712
0.0712
0 5 10 15 20 25 30 0 5 10 15 20 25
time [s] time [s]
5
x 10
2.08 inverse
forward
pim
2.07
2.06
0 5 5 10 15 20 25 30
x 10
2.44 inverse
forward
pem
2.42
2.4
0 5 10 15 20 25 30
7060
inverse
ωt
7040 forward
7020
7000
0 −4 5 10 15 20 25 30
x 10
1.02 inverse
forward
Aegr
0.98
0 5 10 15 20 25 30
out with a larger deviation in λ d , see Figure 7.17. The states from the simu-
lations are shown in Figure 7.18. It is seen, mostly in the outputs λ and
x egr , that the results from the two simulations does not coincide. This is
due to that the states and inputs computed from the inverse dynamic simula-
tion does not satisfy the differential equation (6.45) which in turn is due to
the fact that the linear approximation of the zerodynamics in (6.49) is not
good enough in areas too far away from the origin.
To demonstrate that the method works well for linear systems a linearized
version of the diesel engine model is used. A linearization of (6.45) and
(6.46) results in
ẋ 1 a 11 a 12 a 13 a 14 x 1 0 0
ẋ 2 a a 0 a 24 x 2 0 b 22 u
= 21 22 + 1
ẋ 3 a 31 a 32 a 33 0 x 3 0 b 32 u
2
ẋ 4 0 0 0 a 44 x 4 b 41 0
x1
y1 0 0 0 c 14 x 2
=
y2 c 21 c 22 c 23 c 24 x 3
x4
Of course the eigenvalues of the zero dynamics is the same for this linear
model and the nonlinear model in the linearization point. Since the zero
dynamics now is linear and can be diagonalized, there is no need for an iter-
ation to find the trajectories of it since the dynamics corresponding to the
stable eigenvalue can be found directly by a causal simulation and the
dynamics corresponding to the unstable eigenvalue can be found directly by
a non-causal simulation. See Figures 7.19 and 7.20 for the simulation
results of the linear model. There it is seen that even though the desired out-
put trajectories are driven farther away from the linearization point, the sim-
ulation of the inverse and forward dynamic models coincide. However,
since the linearization only describe the physics well in a neighborhood of
the linearization point, the values of the states become unrealistic the further
the desired outputs are from that point.
To conclude: For linear systems with unstable zero dynamics the method is
easily applicable, but for non linear non minimum phase systems care has to
be taken to make sure wether or not the results are accurate.
70
2.56 0.0775
inverse
x inverse
forward egr
xegrforward
0.077
2.555
0.0765
2.55
xegr
λ
0.076
2.545
0.0755
2.54
0.075
2.535 0.0745
0 5 10 15 20 25 30 0 5 10 15 20 25 30
time [s] time [s]
6
x 10
2
inverse
forward
pim [Pa]
0
0 6 5 10 15 20 25 30
x 10
3
inverse
pem [Pa]
2 forward
0
0 4 5 10 15 20 25 30
x 10
ωt [rad/s]
6
inverse
4 forward
0
0 −3 5 10 15 20 25 30
x 10 inverse
1
forward
[m2]
0
egr
A
−1
−2
0 5 10 15 20 25 30
time [s]
In order to study the simulation speed of inverse and forward dynamic sim-
ulation the three models from Chapter 6 will be used again in a more elabo-
rate study including more cases than in the previous sections. Besides the
drive cycle NEDC also FTP 75 has been used. Further, different driver mod-
els have been used as summarized in Tables 7.2 and 7.3. Twentysix combi-
nations of vehicle models, driver models, and drive cycles have been
simulated and they are listed in the presentation of the results in Table 7.1.
For both inverse and forward simulation the solver has for each case been
chosen to be the fastest available, and the resulting choice is listed in a col-
umn of the result presentation in Table 7.1
Going a bit more into detail there are a number of interesting observations
to be made in the comparisons. There are mainly two things that affect the
simulation time, the number of steps required in the integration, and the
number of calculations in each step. In Table 7.1 it is seen that the inverse
dynamic simulation takes at least an order of magnitude fewer steps than the
forward dynamic simulation.
Model Kp Ki Kd
Basic powtrn 1 –4 –5 0
6 ⋅ 10 1 ⋅ 10
Basic powtrn 2 –4 –5 0
1.5 ⋅ 10 1 ⋅ 10
Basic powtrn 3 –5 –6 0
8 ⋅ 10 1 ⋅ 10
Flex powtrn 1 –4 –5 0
2 ⋅ 10 1 ⋅ 10
Flex powtrn 2 –4 –5 0
1.5 ⋅ 10 1 ⋅ 10
Flex powtrn 3 –5 –6 0
8 ⋅ 10 1 ⋅ 10
Table 7.2: Driver parameters for the forward dynamic models of Table 7.1.
engine model the eigenvalues of the forward model in the linearization point
are -18.2, -12.7, -5.00, -1.26, and for the zero dynamics the eigenvalues are
15.8 and -6.8. For the basic powertrain model there is no zero dynamics, so
the inverse model is correct no matter how few steps that are taken. For the
flexible powertrain model the zero dynamics stems from the drive shaft flex-
ibility that has slower dynamics than e.g. the intake pressure dynamics.
Another reason that influence the difference in simulation time is the calcu-
lations needed in each integration step. Since the dimension of the zero
dynamics is smaller than the number of states in the forward dynamic mod-
els the number of calculations in each step are fewer in most cases. If how-
ever there is a need to solve the inverse coordinate change numerically
online, the number of calculations in each step can increase some for the
inverse dynamic models.
The main reason for the relatively slow simulations of the forward models
of the basic powertrain and the flexible powertrain is the need for extra
dynamics in the form of a controller, the driver model. Typically, such a
controller has ten times faster dynamics than the controlled system. Typical
plots from simulations presented in Table 7.1 have been presented in previ-
ous sections and are seen in Figures 7.1 - 7.20. From those plots it might
seem that the driver model in the forward dynamic simulation is unnecessar-
ily oscillating in some cases, but the trends in simulation time reported in
Table 7.1 is still valid.
74
Simulation Size of
Simulation Simulation
Method batch applicable
speed set up
applicability model class
Inverse dynamic + + + -
simulation
Forward dynamic - - - +
simulation
Table 7.4: Comparison of inverse- and forward dynamic simulation. A plus
sign indicates that the method has good properties in that area, and a minus
sign that the method has less good properties.
76
8
Conclusions
Drive cycle tracking and driver models were discussed in Chapter 4. There a
new inverse driver model was presented that together with the inversion pro-
cedure from Chapter 3 forms the new concept of inverse dynamic simula-
tion. The use of the new driver model is a good way of specifying tracking
behavior. Compared to specifying tracking using the forward driver model it
is closer to human behavior when performing drive cycle tests on a chassis
dynamometer, since it is not specified by controller parameters, but rather in
terms of tracking smoothness.
77
78
There is an ambiguity in simulation results due to the fact that drive cycle
tracking requirements are specified within limits. Therefore, performance
measures, needed to compare inverse dynamic simulation with forward
dynamic simulation, were discussed in Chapter 5.
79
80
g Gravitational acceleration
IMEPg Gross indicated mean effective pressure
i Gear ratio
Je Engine inertia
Jt Turbo inertia
kds Drive shaft stiffnes
Mc Compressor torque
Mt Turbine torque
m Vehicle mass
mac Engine air charge
ṁ at Air mass flow past throttle
A 2.5
14.8
---
A
-
F s
B 0.09
cd 0.33
cds 3.183
cr 0.01
g 9.81
i [13.1482, 6.8464, 4.5902, 3.4621, 2.7320]
Je 0.2
kds 29794
m 1700
nr 2
pa 1.105
pe 1.105
qhv 44.651.106
r 0.3
R 286
si 0.95
S 0.09
Ta 293
Ti 293
Vd 2.3.10-3
Vi 2.10-3
yi -0.09.105
γ 1.26
ηth 0.3604
ηtm 0.9
ξaux 1.34
πbl 1
ρ 1.29
10
References
83
84
[24] M. Pettersson and L. Nielsen. Diesel engine speed control with han-
dling of driveline resonances. Control Engineering Practice, 11(No. 10)
pp. 319-328, 2003.
[31] J. Wahlström. Modeling of a diesel engine with VGT and EGR. Tech-
nical Report, Vehicular Systems, Department of Electrical Engineering,
Linköping University, Sweden. 2004.
Notes:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
88
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
89
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
90
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
91
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
92
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________