0% found this document useful (0 votes)
22 views102 pages

05 Lic 1181 Af

This thesis proposes extending the inverse vehicle propulsion simulation concept to improve simulation performance. The thesis applies stable inversion techniques to nonlinear systems in order to combine the fast simulation times of inverse simulations with the ability to model dynamics, as in forward dynamic simulations. Three powertrain applications are used to demonstrate the approach: modeling engine dynamics, driveline dynamics, and non-minimum phase gas flow dynamics of a diesel engine. Inverse dynamic simulation is shown to be easy to set up, provide short simulation times, and give consistent results across parameter variations, making it suitable for applications requiring many simulations such as design space exploration and optimization.

Uploaded by

IonelCop
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views102 pages

05 Lic 1181 Af

This thesis proposes extending the inverse vehicle propulsion simulation concept to improve simulation performance. The thesis applies stable inversion techniques to nonlinear systems in order to combine the fast simulation times of inverse simulations with the ability to model dynamics, as in forward dynamic simulations. Three powertrain applications are used to demonstrate the approach: modeling engine dynamics, driveline dynamics, and non-minimum phase gas flow dynamics of a diesel engine. Inverse dynamic simulation is shown to be easy to set up, provide short simulation times, and give consistent results across parameter variations, making it suitable for applications requiring many simulations such as design space exploration and optimization.

Uploaded by

IonelCop
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 102

Linköping Studies in Science and Technology

Thesis No. 1181

Extending the Inverse Vehicle


Propulsion Simulation Concept
-To Improve Simulation Performance
Anders Fröberg

Department of Electrical Engineering


Linköpings universitet, SE-581 83 Linköping, Sweden

Linköping 2005
Extending the Inverse Vehicle Propulsion Simulation Concept
-To Improve Simulation Performance

© Anders Fröberg 2005

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.

I would like to express my gratitude to a number of people:

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!

Linköping, May 2005


Anders Fröberg

iii
iv
Contents

1 Introduction 1
1.1 Thesis organization and contributions .................................... 2

2 Drive Cycle Simulation 3


2.1 Drive cycles ............................................................................. 4
2.1.1 Tracking requirements ........................................................ 4
2.2 Usage of drive cycle simulation .............................................. 5
2.3 Simulation techniques and tools ............................................. 7
2.3.1 Basic modelling .................................................................. 7
2.3.2 Forward dynamic simulation .............................................. 8
2.3.3 Inverse simulation .............................................................. 9
2.4 Characteristics ...................................................................... 10
2.5 Problem formulation .............................................................. 11

3 Inversion of Nonlinear Systems 13


3.1 Stable inversion of non linear systems .................................. 14
3.1.1 Coordinates transformations for stable inversion ............. 14
3.1.2 Finding the trajectories of the zero dynamics .................. 19
3.1.3 Remarks and extensions ................................................. 23
3.2 Handling of conditional functions .......................................... 23
3.3 Summary .............................................................................. 24

4 Extending Inverse Simulation and Driver Models 27


4.1 Tracking in forward dynamic simulation ................................ 27
4.2 Enabling Tracking in inverse dynamic simulation .................. 28
4.3 New extended inverse simulation ......................................... 31

v
vi

5 Usability of Simulations and Performance Measures 33


5.1 Issues related to drive cycle tracking .................................... 33
5.2 Design space exploration ...................................................... 34
5.3 Evaluations of simulations .................................................... 35
5.3.1 Setup effort ...................................................................... 36
5.3.2 Simulation time ................................................................ 36
5.3.3 Result dependency on parameters .................................. 36

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

7 Simulation Performance and Usability 55


7.1 Simulations ........................................................................... 56
7.2 Feasibility of the inverse dynamic simulation method ........... 56
7.3 Simulation setup effort .......................................................... 56
7.3.1 Choice of integration step ................................................ 57
7.3.2 Complexity of simulation setup ........................................ 60
7.4 Result dependency on parameters ....................................... 61
7.5 Feasibility for non-minimum phase systems ......................... 65
7.5.1 Simulations ...................................................................... 65
7.6 Simulation time ..................................................................... 71
7.6.1 Approach in comparisons ................................................ 71
7.6.2 Timing results .................................................................. 71
7.7 How to choose simulation method ........................................ 74

8 Conclusions 77

9 Nomenclature 79

10 References 83
1
Introduction

Simulation of longitudinal vehicle models is a commonly used tool for driv-


eline design, driveline optimization, and, design of driveline control strate-
gies. There are two common ways to do this, quasi-static as, e.g., in Advisor
and QSS-TB [33, 15], and forward dynamic simulation as, e.g. in PSAT and
Capsim, [26, 35]. The quasi-static simulation uses vehicle speed and accel-
eration to calculate required torques and speeds backwards through the driv-
eline. Finally fuel flow is calculated. 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. On the other hand, in forward dynamic
simulation, differential equations are solved 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). The differential equations that then have to be solved typically gives
an order of magnitude longer simulation times for drive cycle simulations
than what is typical for Advisor or QSS. However, more effects can be
included making the modeling more accurate than in quasi-static simula-
tion.

It would of course be of considerable value to be able to extend the time-


efficient quasi-static simulation with important dynamics without signifi-
cantly loosing simulation performance. The goal of the thesis is to find a
simulation method with such properties. Guiding principles in this develop-
ment have been to make extensions to the quasi-static method that are suffi-

1
2

ciently general to include dynamics of the powertrain, such that important


transients can be captured in the simulation. The method should also be fast
enough to be part of optimization loops. The proposed simulation method to
handle these demands is inverse dynamic simulation. The inverse dynamic
simulation is quite similar to the quasi-static approach, but extends its use to
also include dynamics in addition to the stationary maps. The vehicle speed,
and derivatives thereof, are used as inputs to calculate required fuel flow.

1.1 Thesis organization and contributions


Since the requirements on the proposed method come from applications, the
presentation is naturally structured by giving the background, proposing the
new method and then studying it in simulations where also comparisons are
made. First, in Chapter 2 a background of drive cycle simulation is given,
where it is stated what demands users have on the simulation, and this leads
to the problem formulation. The first step in the proposed method of inverse
dynamic simulation is to invert the system to be simulated, and known the-
ory for stable inversion of non linear systems is summarized in Chapter 3.
To make a drive cycle simulation the vehicle has to track a given reference
speed profile. In Chapter 4 driver models to obtain this tracking, for both
forward and inverse dynamic simulation, are discussed. The contribution
there is the implicit driver model used in inverse dynamic simulation.

It is not trivial to compare different simulation methods with each other.


This is discussed in Chapter 5 where also, guided by the applications, some
performance measures are defined that gives the basis for comparisons
made. To compare the methods, and to demonstrate the feasibility of inverse
dynamic simulation, three important powertrain applications are presented
in Chapter 6. These examples represent three major transient dynamics that
are important extensions to a basic driveline, and they also represent differ-
ent mathematical characteristics like resonances, zero dynamics, and non
minimum phase behavior. The powertrain examples are used in Chapter 7 to
demonstrate feasibility, and to study simulation performance and usability
of forward and inverse dynamic simulation. In Chapter 8 the conclusions of
the thesis are drawn.

Part of the material presented in this thesis have been published in the
papers:

A. Fröberg and L. Nielsen. A Method to Extend Inverse Dynamic Simula-


tion of Powertrains with Additional Dynamics. First IFAC Symposium on
Advances in Automotive Control. 2004.

A. Fröberg and L. Nielsen. Dynamic Vehicle Simulation -Forward, Inverse


and New Mixed Possibilities for Optimized Design and Control. SAE Tech-
nical Paper Series SP-1826, 2004-01-1619. 2004.
2
Drive Cycle Simulation

Drive cycle simulations of longitudinal vehicle models is an important tool


for driveline design, driveline optimization, and, design of driveline control
strategies. A major objective in powertrain design is to minimize fuel con-
sumption and component costs, while maximizing drivability. One reason to
use drive cycle simulations in the design is emission legislations. The vehi-
cle manufacturers have to certify their vehicles for emission outputs. This is
typically done by driving the vehicle on a chassis dynamometer according
to a specified speed profile, a drive cycle. During the test, emissions are col-
lected in bags. In order to put a vehicle on the market, the emissions during
a drive cycle test have to be below prescribed limits. Some emissions, like,
e.g., CO2, is closely coupled to fuel consumption. This test procedure, other
demands to decrease fuel consumption, customers demands on driving com-
fort, costs, and so forth, put high demands on todays vehicles. Since it is
very time demanding and cost ineffective to build prototypes in early stages
of the development, drive cycle simulation has become a necessary tool in
powertrain design and control system development.

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.

2.1 Drive cycles


A drive cycle is a speed profile where speed is defined as a function of time.
Several cycles have been developed by governments around the world as a
tool for vehicle certification. Examples of such cycles are the New European
Drive Cycle, NEDC, EU Directive 2001/116/EC, 98/69/EC, and, EEC
Directive 90/C81/01, see Figure 2.1, and the Federal Test Procedure FTP
75, see Figure 2.2, used by the US government. Other drive cycles are also
used by the industry for testing of virtual prototypes.

2.1.1 Tracking requirements


As can be seen in Figures 2.1 and 2.2, a drive cycle can not be expected to
be continuously differentiable. This means that it is impossible to follow, or
track, a drive cycle exactly with finite torques and accelerations in the pow-
ertrain. Hence, in drive cycle simulation the speed has to be controlled to
track the drive cycle in a desired way. When drive cycles are used for emis-
sion legislations the cycle has to be tracked by a human driver within certain
limits. It is hence logical to track cycles within defined limits in simulation
also. Tracking in simulation is achieved using a driver model that controls
the vehicle models. The driver models has to be designed such that the

140

120

100
Speed [km/h]

80

60

40

20

0
0 200 400 600 800 1000 1200
Time [s]

Figure 2.1 The New European Drive Cycle, NEDC, consisting of


four ECE cycles and one EUDC cycle. Each ECE cycle is 195 s and
1.013 km long and is intended to resemble urban driving as it typi-
cally is in metropolitan areas in Europe such as Rome or Paris. The
EUDC cycle is 400 s and 6.955 km long and is intended to resemble
extra urban driving. EEC Directive 90/C81/01.
Drive Cycle Simulation 5

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]

Figure 2.2 The Federal Test Procedure, FTP75, is a urban route of


1874 s and 17.77 km. The cycle is derived from FTP72 and consists
of three phases, a cold start phase, 0-505 s, a transient phase, 505-
1369 s, and a hot start phase, 1369-1874 s.

tracking is within the prescribed speed limits. In forward dynamic simula-


tion this is usually done using a driver model consisting of a controller that
controls the vehicle behavior. In inverse dynamic simulation tracking is
achieved using drive cycle smoothing where the driver model specifies how
the drive cycle is smoothed, see Section 4.2. As will be shown later, results
in for example fuel consumption can differ a lot between two different
velocity trajectories that both are within prescribed limits, see Figure 2.3.
Hence, it is important to study how a drive cycle is tracked and not only that
the tracking is within limits.

2.2 Usage of drive cycle simulation


There are a number of important users of drive cycle simulations, and
among all applications there are many where simulation time is important.
A lot of work has been done on developing drive cycle simulation tools such
as Advisor and PSAT, see Figures 2.4 and 2.5, that have been used a lot in
for example concept studies. Other examples of where drive cycle simula-
tion are used is in optimization over design space [1], optimization of pow-
ertrain configuration [27], and design of powertrain control systems, [3, 13,
28]. Drive cycle simulation is also used in controllers such as model predic-
tive cruise controllers. The type of inverse dynamic simulation described
later can also be used as a feed forward part of non-linear powertrain con-
6

55

50

45
Velocity [km/h]

40

35

30
525 530 535 540 545 550 555 560 565 570 575
Times [s]

Figure 2.3 Two different simulations with different tracking of the


NEDC cycle. Both simulations have tracking that is within specified
limits, but they will result in different fuel consumption.

Figure 2.4 A screen dump from Advisor [33], a powertrain simula-


tion tool that uses a quasi-static inverse method. The screen dump is
from a model of a parallel hybrid electric vehicle.
Drive Cycle Simulation 7

Figure 2.5 A screen dump from PSAT [26], a powertrain simulation


tool that uses the forward dynamic simulation method. The screen
dump is from a model of a power split hybrid electric vehicle.

trollers. In the applications mentioned above there are several additional


requirements, besides simulation time, and this will be discussed more in
Chapter 5.

2.3 Simulation techniques and tools


As mentioned before, there are several tools for simulation of longitudinal
vehicle models on the market today. These tools use mainly two different
methods of simulation, forward dynamic simulation and quasi-static inverse
simulation. Forward dynamic simulation is capable of describing the
dynamic behavior of a system to a high level of detail, but suffer from long
simulation times. The quasi-static inverse simulations on the other hand are
very fast, but lack the ability of describing the dynamics in a good way.
Example of quasi-static inverse tools are, e.g., Advisor [33] and QSS-TB
[15], and examples of forward dynamic simulation tools are, e.g., PSAT
[26], Capsim [35], and, V-Elph [5]. All these tools use Matlab/Simulink.
The coming subsections will explain the basis for these techniques and
tools.

2.3.1 Basic modelling


As an example to illustrate the basic concepts, study the road load equation
directly obtained from Newton’s second law

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.

2.3.2 Forward dynamic simulation


The most common way to model dynamic systems is as a system of first
order ordinary differential equations, ODEs, such as

ẋ ( t ) = f ( x ( t ), u ( t ) )
(2.2)
y ( t ) = h ( x ( t ), u ( t ) )

where x ( t ), u ( t )and y ( t ) are vectors. Forward dynamic simulation can be


interpreted as: If a system being in a given state, x 0 , is exposed to the exter-
nal influence u ( t ) , how will the state x ( t ) and the outputs y ( t ) of the sys-
tem be affected. Using this interpretation, forward dynamic simulation of
systems like (2.2) is about solving initial value problems, IVPs. The numer-
ical solution to the problem (2.2) is thoroughly described in the literature,
see e.g. [2, 14, 16].

As an example of forward dynamic simulation, recall the system (2.1). The


input to this system is the driving force F ( t ) and the output is the vehicle
speed v ( t ) . First the system is written in the form (2.2) for the derivative of
the speed resulting in

v̇ ( t ) = ----  F ( t ) – mgc r – --- ρc d Av 2 ( t )


1 1
(2.3)
m 2 

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.

Cycle Driver Engine Transm. Wheel Vehicle

Figure 2.6 Schematic depiction of the computational scheme in for-


ward dynamic simulation as in e.g. the Matlab/Simulink tool PSAT.
Drive cycle tracking is implicit since it is obtained using an explicit
driver model that controls the input to get the desired speed.
Drive Cycle Simulation 9

2.3.3 Inverse simulation


In inverse simulation a different approach is taken in that the input corre-
sponding to a given output is calculated, i.e. u ( t ) = f ( x ( t ), ẋ ( t ) ).

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.

Quasi-static approach. In existing tools today a quasi-static approach [15,


33] to inverse simulation is taken. In that approach to simulate the system
(2.1), the speed v ( t ) and acceleration are approximated as quasi-static by

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.

Cycle Vehicle Wheel Transm. Engine

Figure 2.7 Schematic depiction of the computational scheme in quasi


static simulation as in Advisor and the QSS-Toolbox. The simulated
states are calculated back-wards from the drive cycle. No driver
model is needed.

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

Since drivecycles can not be expected to be continuously differentiable, the


procedure is not as straight forward. In order to add more dynamics some
other method has to be used. Here, one such method, stable inversion of
nonlinear systems, will be used. This method is described in [7] and [19]
and related theory is presented in [20]. A summary of the technique is given
in Chapter 3.

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 differential equations that have to be solved in forward dynamic simula-


tion typically give an order of magnitude longer simulation times for drive
cycle simulations than what is typical for Advisor or QSS-TB. On the other
hand, more effects can be included making the modeling more accurate than
in quasi-static inverse simulation.

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.

Quasi static Forward dynamic

*Limited number of states *Dynamic system


due to numerical differentiation
*High accuracy
*Solves static equations
*Typically slower simulations
(short integration steps)
*Fast simulations

Inverse dynamic simulation

Figure 2.8 The characteristics of the quasi-static inverse simulation


and the forward dynamic simulation. The ambition is to combine the
advantages in a new method, inverse dynamic simulation.
Drive Cycle Simulation 11

2.5 Problem formulation


Having stated the main objective of the thesis, i.e. combining the good prop-
erties of quasi-static and forward dynamic simulation, in the previous sec-
tion and in Figure 2.8, there are still a number of ramifications of the
problem that has to be considered. The main ones are:

• When studying important properties of vehicles such as fuel consump-


tion and emissions, engine and driveline dynamics has a big influence.
Hence, it has to be shown that it is possible to extend the time-efficient
quasi-static simulation with important dynamics without significantly
losing simulation performance.

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

• There is a need to demonstrate that the proposed method is feasible.


This means not only velocity profile tracking, but also that other simu-
lated variables are captured. Further, that good properties like simula-
tion speed are not lost.

• Of course it is natural to compare the simulation methods to each other.


Due to the ambiguity caused by tracking limits, it is needed with a dis-
cussion of performance measures of drive cycle simulation. Also simu-
lation set up effort, and consistency in design space exploration
applications should be compared.
12
3
Inversion of Nonlinear
Systems

Inverse dynamic simulation is a powerful possibility for drive cycle simula-


tion as explained in the previous chapter. The basis is to compute generating
variables like fuel flow and engine torque when the output, the velocity pro-
file, is given. This means that this is a problem of system inversion, and this
chapter will present the theory to be used. The practical use of the theory
described in this chapter will be demonstrated on important powertrain
models in Chapter 6.

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

sents it by showing how a system of ordinary differential equations is


manipulated in order to perform an inverse dynamic simulation of it. The
method handles minimum- as well as non-minimum phase systems, and in
the next chapter it will be shown how numerical differentiation of the inputs
is avoided. A large class of systems that can be simulated in the forward
dynamic way can thereby also be simulated in the inverse dynamic way.
Section 3.2 presents a new extension to handle conditional functions. The
extension is straight forward (and thus perhaps known by others), but is
most useful and needed in practical vehicle simulation.

3.1 Stable inversion of non linear systems


Let u ( t ) be the inputs, y ( t ) the outputs, and x ( t ) the states of a given sys-
tem. Suppose that the system can be written on input-affine form

ẋ ( 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.

3.1.1 Coordinates transformations for stable inversion


The inversion is based on coordinates transformations, which is described in
[7] and [20]. To do this, the notion of relative degree is used. Consider a sin-
gle-input single-output system of the form (3.1). Let L be the standard nota-
tion for Lie derivatives according to
Inversion of Nonlinear Systems 15

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

and the q × q matrix

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.

To illustrate the interpretation of the notion of relative degree, consider a


system with single-input single-output being in a state x0. Differentiate the
output y ( t ) with respect to time and obtain

(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 )

If the relative degree r is larger than 1 in a neighborhood of x0, by definition


(3.3) it holds that L g h ( x ( t ) ) = 0 near x0 and

(1)
y (t ) = L f h( x(t ))
16

If higher orders of the output derivatives are computed we finally get

(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 )

Let x 1 = v , x 2 = W , u = F and y = v , then this system can be written


in standard statespace form as

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

Hence the relative degree of this system is r = 1 .

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 )
 

Now a change of coordinates can be defined. Since y is a function of x , it


can be written as

ξ = ψ( 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)

which is partially linear in ξ . The vector α and the matrix β are

α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

The only constraint in the choice of η is that the jacobian matrix of


ψ ( x ) must be nonsingular at x 0 so that it is a local coordinate transforma-
tion in a neighborhood of x 0 . It is always possible to find such a ψ ( x )
[20].
18

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

which gives the new system

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

Let y ( r ) denote y ( r ) = y 1( r 1 ) … y q( r q ) Then it can be seen in (3.7a) that


y ( r ) ( t ) = α ( ξ ( t ), η ( t ) ) + β ( ξ ( t ), η ( t ) )u ( t ) . By the definition of relative
degree, β ( ξ ( t ), η ( t ) ) is nonsingular. Given a desired output trajectory
y d ( t ) the required control input u d ( t ) can be calculated as

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.

3.1.2 Finding the trajectories of the zero dynamics


As can be seen in (3.9) both the output trajectory and the zero dynamics are
needed to compute the required input. How the zero dynamics are to be
solved depends on the system studied. There are three main classes of sys-
tems that can be written on the form (3.7a), (3.7b). The first class is all sys-
tems where the relative degree equals the dimension of the system, which
means that there are no zero dynamics. The second class is all systems with
stable zero dynamics, i.e., minimum phase systems, and the third class is the
systems with unstable zero dynamics, i.e., non-minimum phase systems.

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

as an initial value problem. It is not possible to solve the unstable zero


dynamics in the general case, but in drive cycle simulations the whole
desired output trajectory is known before hand. This gives the possibility of
computing a non causal solution of (3.10) and still receive a stable result.

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.

Unstable zero dynamics. Inversion of a system with unstable zero dynam-


ics puts more restrictions on what kind of nonlinearities that can be handled
than with stable zero dynamics. To explain the thoughts behind the inver-
sion algorithm, the ideas will be presented on linear systems. A more thor-
ough description is given in [7] and [19].

Consider a system

η̇ ( t ) = Aη ( t ) + Bu ( t ); η ( ±∞ ) = 0 (3.11)

where A has no eigenvalues on the imaginary axis. For such systems it is


possible to find a similarity transformation η = T η̃ , where T is invertible,
that brings the system on a form where

η̃˙ ( 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τ

i.e. a non causal simulation can be used to obtain a numerical solution.


Hence a stable simulation of the system can be done.

For a nonlinear system such as (3.1), a separation of the system in a stable


and unstable part as in (3.12) can not be done in general. In [7], a Picard-like
iteration method that is based on linearization of the nonlinear system is
used for finding the states η ( t ) in (3.10). Theory about Picard iterations is
given in [16]. First, the zero dynamics is written as

s ( η ( t ), Y d ( t ) ) = Aη + ( s ( η ( t ), Y d ( t ) ) – Aη )

which can be interpreted such as that the nonlinearities is seen as distur-


bances to a linear system. A is a linear approximation of s ( ˙ ) , typically
∂s
. The iteration method simulates the linear system with the distur-
∂η
( 0, 0 )
bances (nonlinearities) as inputs according to

ηm + 1 ( t ) =
∫ φ ( t – τ ) [ s ( ηm ( τ ), Y d ( τ ) ) – Aηm ( τ ) ] dτ (3.13)
–∞

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 ) )

and the iteration (3.13) can be separated on the form (3.12)


η̃ 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

For this iteration to converge, s ( η, Y d ) can not be too nonlinear. In [7] it is


shown that the iteration converges to a unique solution η ( t ) that satisfies
(3.10) if s ( η, Y d ) satisfies the local Lipschitz condition

[ 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

in an r neighborhood, i.e. x ( t ), u ( t ), v ( t ) and y ( t ) with ˙ ∞ norms less


than r , where K 1 and K 2 is positive real constants fulfilling

1
K 1 < -------------------
φ( ˙ ) α
(3.16)
r ( 1 – φ ( ˙ ) α )K 1
Y d ( ˙ ) K < --------------------------------------------
1 2 φ( ˙ ) β

where Y d ( ˙ ) + Y d ( ˙ ) < r and the following definition is used


1 ∞

φ( ˙ ) α = ∑ maxk φ j, k ( ˙ ) 1 (3.17)
j

φ ( ˙ ) β = nsup τ max j, k φ j, k ( τ ) (3.18)

where n is the dimension of φ .

A similar iteration method based on linearization of the nonlinear system is


presented in Chapter 8 in [2].
Inversion of Nonlinear Systems 23

3.1.3 Remarks and extensions


The most intuitive way to model a system is with a forward dynamic model
as (2.2). It has been shown that a large subclass of systems like (2.2) can, in
a methodical way, be transformed into a corresponding inverse dynamic
model. Further relaxations can be made in order to extend the class of
invertible systems.

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

3.2 Handling of conditional functions


In the forward dynamic models it is easy to specify logical conditions on the
system as e.g.

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

In inverse dynamic simulation, i.e. evaluating (3.9),

u d ( t ) = β ( ξ ( t ), η ( t ) ) – 1 ( y d( r ) ( t ) – α ( ξ ( t ), η ( t ) ) ) (3.20)
24

there may potentially be a problem. The reason is that in order to compute


–1
α and β it is required to compute the inverse coordinate change, ψ , as is
seen in (3.8)

r –1
α ( ξ ( t ), η ( t ) ) = L f h ( ψ ( ξ ( t ), η ( t ) ) )
r–1 –1
β ( ξ ( t ), η ( t ) ) = L g L h(ψ ( ξ ( t ), η ( t ) ) )
f

On one hand, if a logical condition appears in the coordinate change as e.g.

ψ ( x ( t ) ), if x ∈ X 1
ξ =  1

η  ψ 2 ( x ( t ) ), if x ∈ X 2

there is no way to know which coordinate change of ψ 1 ( x ) or ψ 2 ( x ) to


use when computing the inverse coordinate change. Since the inverse coor-
dinates change is needed in (3.20), this kind of condition can make the sys-
tem non invertible. However, note that sometimes, by choosing η the
problem can be avoided, as illustrated in the examples in Chapter 6. For the
non minimum phase case it may be necessary also to consider derivatives of
η see e.g. [8, 9] when and how such cases can be handled.
On the other hand, it is worth noting, see (3.20), that in order to find the
solution to the inverse dynamic problem there is no function that has to be
inverted, except the inverse coordinate change. This means that nonlinear
functions in general does not pose any problem other than stated above.
Rather, the functions in the right hand side of (3.20) are evaluated for the
–1
current value of ξ and η . Recall specifically that β does not denote the
inverse function, but instead the inverted value.

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:

1 Find the relative degree of the system.


T
2 Rewrite the system by a coordinate change ξ T η T = ψ ( x ) on the
form
Inversion of Nonlinear Systems 25

 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)

3 Possibly, to compute α and β , the inverse coordinate change has to be


computed

4 Solve the zero dynamics (3.22) by substituting u with (3.9).

5 Use (3.9), i.e. u d ( t ) = β ( ξ ( t ), η ( t ) ) – 1 ( y d( r ) ( t ) – α ( ξ ( t ), η ( t ) ) ) to


compute the required input.

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.

4.1 Tracking in forward dynamic simulation


In forward dynamic simulation a driver model acts as a controller to track
the reference speed trajectory. As can be seen in Figure 2.6 the driver model
compares the drivecycle with the actual speed and decides how to control
the inputs, e.g., accelerator pedal, brake pedal, clutch, and gear selector, in a
way such that the vehicle follows the prescribed drive cycle within defined
limits. Mathematically, the driver model is an operator D f ( v c, v ) that for
each time ta defines a mapping from the drivecycle

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]

Figure 4.1 Driver behavior in forward dynamic simulation of a part


of NEDC. To the left is the behavior of a driver model implemented
as a PI-controller depicted. To the right a PI-controller together with
a proportional look ahead of 1 s is used.

v c ∈ { v c ( t ) t start ≤ t ≤ t stop } and the actual speed


v ∈ { v ( t ) t start ≤ t ≤ t a } to control the input to the vehicle. A driver model
can be as simple as a PID-controller [10] or a more sophisticated controller
with prediction abilities [21]. For the PID-controller the driver operator is

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.

4.2 Enabling Tracking in inverse dynamic simulation


In the inverse dynamic simulation, the reference speed trajectory is followed
exactly if the physics of the model allows it. As mentioned in [11], and as
can be seen in Equation (3.9), the reference speed trajectory has to be con-
tinuously differentiable as many times as the relative degree of the system,
see also [20]. If it is not sufficiently differentiable, then the trajectory has to
be smoothed to create a reference speed that the simulated model can follow
with bounded states and inputs [11]. This smoothing of the drive cycle will
here be given the interpretation of an implicit driver model. The shape of the
manipulated (smooth) speed profile decides the driver behavior. As in the
Extending Inverse Simulation and Driver Models 29

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

Figure 4.2 The convolution kernel, Equation (4.4), used to smooth


the drivecycle. (a=1)

forward dynamic simulation a driver operator, D i v c , can be defined that


maps the drivecycle v c ∈ { v c ( t ) t start ≤ t ≤ t stop } to a desired speed pro-
file v d ∈ { v d ( t ) t start ≤ t ≤ t stop } that is to be followed by the vehicle.
There are several possibilities to smooth the drive cycle. One way is to filter
the drive cycle with a linear low pass filter with relative degree of at least the
same order as the system. This will ensure that the filtered drive cycle is dif-
ferentiable sufficiently many times for Equation (3.9) to be solvable, see
[20]. Using a non causal linear filter gives the driver look ahead properties,
for an example see Figure 4.3. Another way to smooth the drive cycle is to
use the driver operator

∫ g ( t – τ )vc ( τ ) dτ
1
D i v c = ---- (4.2)
C
–∞

to compute the desired trajectory v d ( t ) as the convolution

∫ 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

where the parameter a is a tracking time constant. A smaller a gives


“tighter” tracking which corresponds to a more aggressive or alert driver
behavior. See Figure 4.3 and Figure 4.4 for examples of drive cycle smooth-
ing.

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]

Figure 4.3 Tracking behavior for inverse dynamic simulation on part


of the ECE cycle. To the left the behavior of the tracking defined by
Equation (4.3) and (4.4) with a tracking time constant of 5 seconds is
shown. To the right a non causal linear low pass filter is used. In
both cases the tracking has look ahead.

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.

4.3 New extended inverse simulation


Using the driver model presented in the previous section, and the inversion
technique described in the previous chapter, the quasi-static inverse simula-
tion is extended to inverse dynamic simulation as depicted in Figure 4.5.
The shaping of the drive cycle is interpreted as an implicit driver model. The
inverse drivers tracking behavior is specified in the velocity domain and is
independent of the vehicle that it is going to control. In fact, this way of
specifying tracking behavior is closer to human behavior when performing
drive cycle tests on a chassis dynamometer. In that case the driver is not
specified by controller parameters, but rather in terms of tracking smooth-
ness.

Forward dynamic simulation

Cycle Driver Engine Transm. Wheel Vehicle

Quasi-static inverse simulation

Cycle Vehicle Wheel Transm. Engine

Inverse dynamic simulation

Cycle Vehicle Wheel Transm. Engine

Driver

Figure 4.5 Schematic depiction of simulation methods. On the top is


forward dynamic, then quasi-static inverse simulation as in Advisor
and the QSS-Toolbox, and on the bottom the new extended inverse
dynamic concept that is an extension of quasi-static inverse simula-
tion. In inverse dynamic simulation simulated states are calculated
back-wards from the drive cycle. The drive cycle tracking is explicit,
whereas the driver model is implicit. In standard forward dynamic
simulation the driver model is explicit whereas tracking is implicit.
32

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.

5.1 Issues related to drive cycle tracking


As can be seen in Chapter 4, tracking in forward and inverse dynamic simu-
lation is achieved in different ways. This leads to different properties of for-
ward and inverse dynamic simulation, and a comparison is not straight
forward. To illustrate how driver behavior can influence simulation result,

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]

Figure 5.1 Tracking behavior on part of NEDC of a badly tuned


driver model. The thick line is the drive cycle and the thin line is the
tracking of a driver model.

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.

When parameters in a model are changed it is possible that the tracking


behavior can change from smooth to oscillating like in the example. While
the tracking is the same on average this change can be fatal for the simula-
tion results such as fuel consumption. Of course, this is also an important
factor in design space exploration treated in the next section.

5.2 Design space exploration


As stated in Section 2.2, design space exploration is an important area of
usage for drive cycle simulations. Design space exploration means that drive
cycle simulations are repeated many times where one or several parameters
vary between each simulation. For example, one way to choose the gear
ratios in the transmission that gives minimal fuel consumption is to let the
simulation be a part of an optimization loop, where the simulation is used to
calculate the objective function. This requires a batch of simulations where
the gear ratios are varied between every simulation. Other cases are optimi-
zation of engine size for minimal fuel consumption and tuning of control
system parameters. For simulation experiments such as those mentioned it
is important, according to the discussion in the previous section, that the
Usability of Simulations and Performance Measures 35

Simulation Fuel cons [l/100km] Fuel cons [l/100km]


Driver model
Method r=0.3m r=0.45m
Forward Kp=1.5.10-4 8.619 7.315
Ki=1.10-5
Forward K =5.10-4 8.634 7.293
p
Ki=5.10-6
Inverse a=2 8.595 7.265
Inverse a=1 8.627 7.271
Table 5.1: Simulation of the powertrain model from Section 6.1 with a
change in wheel radius from 0.3m to 0.45m. The driver models are
according to Chapter 4. For the inverse dynamic simulation the relative
order in fuel consumption between the three driver models is the same for
both wheel radius. This is not the case for the forward dynamic
simulations.

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

5.3 Evaluations of simulations


With the examples presented above in mind, we now turn to the task of try-
ing to find fair comparison measures that can be used to compare simulation
methods with each other.

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

5.3.1 Setup effort


The first thing that has to be done when simulating a vehicle is to implement
the equations describing the vehicle in a simulation tool, e.g., Matlab/Sim-
ulink. This might demand that the equations are rewritten in order to suit the
chosen simulation tool. The next thing to do is to design a driver model that
is capable of controlling the vehicle such that good enough drive cycle
tracking is achieved. How to implement the vehicle and driver model differs
depending on simulation method and hence the first measure is:

Simulation measure 1: Simulation setup effort. Given a set of differential


equations describing a physical system. How easy is it to implement those
equations in a simulation tool? How easy is it to design a driver model for
the system studied?

5.3.2 Simulation time


When running sets of simulations, as in e.g. design space exploration, or
when simulation is part of an optimization loop, simulation speed is very
important. For example, lets say that one wants to try out five different gear
ratios on five gears each. To find the optimal ratios it is likely that more
ratios have to be tried out, but, already this small example requires
5
5 = 3125 simulations. This shows clearly that simulation speed is very
important and it calls for the second measure:

Simulation measure 2: Simulation time. The time it takes to simulate a


given model tracking a given drive cycle on a given computer.

5.3.3 Result dependency on parameters


As mentioned in Section 5.2, when running batches of simulations, i.e. sets
of simulations, it is important that the simulation result is consistent
between simulations. For example, if a gear ratio is changed it is likely that,
using the same driver model, the tracking of the drive cycle also will
change. It is not always easy to verify that a change in fuel consumption,
after a change in gear ratio, stems from the parameter change and not the
different drive cycle tracking that it might give. From the examples it is seen
that it is important that the simulation method preserves the relative order in
the dependency between parameters and simulation result.

Simulation measure 3: Preservation of result dependency on parame-


ters. How the simulation method preserves the dependency between param-
eter changes and simulation result.

Using the performance measures presented, inverse dynamic simulation will


be compared to forward dynamic simulation in Chapter 7, but first some
powertrain models that are going to be used in the comparison will be pre-
sented.
6
Powertrain Applications

As mentioned before, drive cycle simulation is important to study fuel con-


sumption and emissions. To increase precision or to model emissions, it is
necessary to capture the behavior in transients that are dominating in the
processes generating fuel consumption and emissions. Therefore it is neces-
sary to include the dominant dynamics, and not only use quasi-static simu-
lation. In this chapter three of the most important dynamics that capture
such transients will be presented. The first is the dynamics of the intake
manifold pressure which is modeled in Section 6.1 and added to the vehicle
model. Another important property is resonances in the driveline mainly
caused by torsion in the drive shafts. This is modeled in Section 6.2. For
diesel engines with exhaust gas recycling the gas flow around the engine is
important for emission modeling. This flow is modeled in Section 6.3.

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

6.1 Capturing engine dynamics - a model with additional


state
This example model is chosen to be as simple as possible but still including
interesting engine dynamics that can not be modelled in the framework used
in tools such as Advisor or the QSS-toolbox. It consists of a simple stiff
drive line with a dynamic engine model where the intake manifold pressure
is a state, see Figure 6.1. The models presented in this section are standard
as presented in e.g. [18, 21] and follow the notation there. See also Chapter
9 for notation.

6.1.1 Forward dynamic model


The rotating parts of the engine is modelled as a rotating mass

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.

BMEP = IME P g – FMEP – PMEP (6.2)

Ath

v
pi

Drive shaft

Chassi
Engine Wheel

Transmission Final gear

Figure 6.1 A simple powertrain model with a dynamic engine model.


The input is throttle area and the output is vehicle speed.
Powertrain Applications 39

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

 Sω e 1.8 4πT cr


FMEP =   0.464 + 0.0072  ----------  π bl ⋅ 10 + 0.0215 ⋅ ---------------- ⋅
5
   π   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

and the normalized air mass charge is modelled according to [17] as

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 

The throttle is modeled as in [18]

pa
ṁ at = --------------- A eff Ψ ( p r ) (6.10)
RT a

where the pressure ratio is p r = p i ⁄ p a , the effective throttle area is


A eff = A th C and
40

 γ
 γ+1
 2--- ------------ -----------
γ – 1
2γ  γ
 ----------- γ   2 -
 γ – 1  p r – p r  , if p r >  ----------- γ + 1
  
Ψ ( pr ) =  (6.11)
 γ+1
 ------------
  2 γ –1
 γ ------------ , otherwise
 γ + 1

The transmission is modeled as an ideal gear with constant efficiency

ω e = iω w
(6.12)
T e iη tm = T w

The wheel is modeled as a stiff rolling wheel without slip

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

Combining Equations (6.1)-(6.14) and assuming constant ambient tempera-


ture and pressure gives the state space representation

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 

where A eff ( t ) is considered as input to the model, and c i is the lumped


model parameters. As can be seen, the model has two states, intake mani-
fold pressure and vehicle speed. Note also that the system contains an if-
statement in the definition of Ψ ( p r ) in (6.11), i.e., the system is on the
form (3.19).

6.1.2 Inverse dynamic model


Since the system (6.15) is on input affine form there is a good chance that it
is invertible. To use the notation of Chapter 3 the system is rewritten with
x 1 ( t ) = v ( t ) , x 2 ( t ) = p i ( t ) , u ( t ) = A eff ( t ) and y ( t ) = v ( t ) , which
gives
Powertrain Applications 41

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

Given a desired trajectory y d ( t ) and its two first derivatives ẏ d ( t ) and


ẏ˙d ( t ) , the required input u d ( t ) to produce that output can be calculated
according to (3.9) as

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.

6.2 Powertrain with driveline dynamics - a model with


zero dynamics
The second example is a driveline with a drive shaft flexibility added
between the transmission (6.12) and the wheel (6.13), [23, 24]. The system
described in Section 6.1 had a relative degree that equaled the order of the
system, but this system has a relative degree that is lower than the system
order, i.e., it is a system with zero dynamics.

6.2.1 Forward dynamic model


The torque in the drive shaft is modelled as spring and damper

T d = k ds θ d + c ds θ̇ d (6.20)

Equation (6.12) now becomes

ω 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

The wheel torque in (6.13) is

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 ) )

6.2.2 Inverse dynamic model


To find the inverse model first the Lie-derivatives are computed which gives

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

There is a freedom to choose the zero dynamics here. Since ẋ 4 contains an


if-statement the coordinate change is chosen so that the if-statement is
included in the zero dynamics, see Section 3.2. Since the zero dynamics
comes from the spring-damper model of the drive shaft it is stable and can
be solved with a forward dynamic simulation, where if-statements are no
problem. If the if-statement would appear in some of the equations for ξ , it
is not easy to know if the if- or else-part of the if-statement should be used
in the inverse coordinate change.

Because of the type of nonlinearities, as seen in (6.26), the inverse coordi-


nate change can not be solved analytically. It has to be solved numerically,
using, e.g., a Newton type method or fixed point iteration.

Given the coordinate change (6.26), α and β can be computed as in (3.8),


and the system (6.24) can be written as

ξ̇ 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.

6.3 Gas flow control of a diesel engine - a non-minimum


phase example
The model in this section is a simplified version of the model presented by
Wahlström [31], and describes the air flow around a diesel engine with EGR
(exhaust gas recycling) and VGT (variable geometry turbine), see Figure
6.2. Control variables are the EGR valve area and the are of the VGT. These
two inputs are used to control the mass flow and its composition into the
cylinder. Here the fuel flow and engine speed are considered as model
parameters. Outputs are normalized air fuel ratio, λ , and EGR ratio, x egr .
It will later be shown that the system is a non minimum phase system for
many operating points. Intuitively it can be reasoned as: When the VGT is
closed, initially, the flow past the turbine will decrease, which results in a
decrease of compressor flow and a decrease in λ . However, there will be a
build up of pressure in the exhaust manifold, which after a while will result
in a higher flow past the turbine, which speeds up the turbo, and after a
while results in an increase of fresh air flow, which means that λ increases
above its initial value.
46

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

6.3.1 Forward dynamic model


The intake manifold is modeled as a dynamic system as

Ra T i
ṗ i = ------------ ( W c + W egr – W ei ) (6.28)
Vi

Likewise the exhaust manifold is modeled as

R e T em
ṗ e = ----------------- ( W eo – W t – W egr ) (6.29)
Ve

The air/EGR mass flow into the cylinders is modeled as

η vol p i N V d
W ei = ----------------------------- (6.30)
nr Ra T i

The fuel mass flow into the cylinders is


Powertrain Applications 47

N
W f = ----- n cyl u δ (6.31)
nr

and the mass flow out of the engine is

W eo = W f + W ei (6.32)

The normalized air fuel ratio is

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  ip γ
2  e – 1 pi

e e
-------------
-  -----
-  –  -----
-   , if  -------------- ≤ ------ ≤ 1
 γ e – 1   p e   γ + 1
   p e  e pe
  

 pi
 0, if 1 < ------ (6.35)
 pe

The throttle is modeled as a first order linear dynamic system as

1
Ȧ egr = ---------- ( – A egr + u egr ) (6.36)
τ egr

The EGR ratio is defined as


48

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

where the driving torque from the turbine is

W t c pe ∆T t
M t = η m -------------------------- (6.39)
ω t

and the braking torque from the compressor is

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 
 
 

The turbine mass flow is modeled as

pe  p a K t
W t = -------------- 1 –  ------ A vgt (6.42)
T em  p e

The compressor mass flow is given by

3
p a πR c ω t
W c = -----------------------Φ c (6.43)
Ra T a

and the temperature difference over the compressor is given by


Powertrain Applications 49

 γa – 1 
--------------

T a  pi  γ a 
∆T c = ------   ------ – 1 (6.44)
η c   p a 
 
 

Combining Equations (6.28) - (6.44) results in the following state space


description

 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

Ȧ egr = c 16 A egr – c 16 u egr

with the outputs

λ = 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

As was mentioned in Chapter 3, it is assumed that f ( 0 ) = 0 and


h ( 0 ) = 0 in (3.2). To put the system in that form a coordinate change
p i = x 1 + c 20 , p e = x 2 + c 21 , ω t = x 3 + c 22 , A egr = x 4 + c 23 ,
u egr = u 1 + c 24 and A vgt = u 2 + c 25 with appropriate coefficients is
applied which results in
50

ẋ 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

If a similar manipulation is done with the outputs, λ = y 1 – c 25 and


x egr = y 2 – c 26 , they become
y 1 = c 17 ( x 3 + c 22 ) + c 25 = h 1 ( x )

 ( 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 )

6.3.2 Inverse dynamic model


Computing Lie-derivatives in the directions f and g for the system (6.45) -
(6.46) gives

L g h1 ( x ) = 0 L g h1 ( x ) ≠ 0
1 2

L g h2 ( x ) ≠ 0 L g h2 ( x ) ≠ 0
1 2

almost everywhere. This means that β̃ ( x ) , see (3.5), is nonsingular and


hence the system has a vector relative degree r = r 1 r 2 = 1 1 almost
everywhere. Since the original system (6.45) - (6.46) has order four, the
Powertrain Applications 51

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

which gives the following inverse system

–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

Using (3.9) to insert u , the zero dynamics becomes

–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

gives x 1 and x 2 , then the correct part of the if-statement in


Ψ ( ( x 1 + c 20 ) ⁄ ( x 2 + c 21 ) ) is chosen, and the two first equations in (6.47)
are solved for x 3 and x 4 .

In contrast to the previous example the zero dynamics is in this case unsta-
ble, as will now be discussed.

Handling of instabilities in (6.48). In this example the following parame-


5 5
ters are used: c 20 = 2.06 ⋅ 10 Pa , c 21 = 2.41 ⋅ 10 Pa , c 22 = 7001rad/s
–4 2
and c 23 = 1 ⋅ 10 m . Linearize the zero dynamics in (6.48) at the origin

η̇ = 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.

Let s ( η m ( τ ), Y d ( τ ) ) be the derivatives of the zero dynamics given by


–1
(6.48), i.e., η̇ = s ( η, Y d ) . Using a diagonalization à = T AT of the
linearized zero dynamics, e.g. let T be the matrix with the eigenvectors of
A , one can simulate the zero dynamics, if it converges, as in (3.14)

η̃ 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

When performing a simulation there a several properties that are important.


As has been mentioned, see Figure 2.8, the ambition has been to combine
the advantages of forward dynamic simulation and quasi-static inverse sim-
ulation in a new method, inverse dynamic simulation. The solution was pro-
posed in Chapters 3 and 4. Guided by the problem formulation in Section
2.5, performance measures were discussed in Chapter 5. Using these mea-
sures inverse dynamic simulation will here be compared to forward
dynamic simulation. For this comparison the powertrain models from Chap-
ter 6 will be used.

The first step is to demonstrate feasibility of the inverse dynamic method.


As stated in Section 2.5, it is important to be able to include engine and
driveline dynamics. Feasibility of inverse dynamic simulation for such mod-
els are demonstrated in the simulations in Sections 7.3 and 7.4. Feasibility
for non-minimum phase systems is discussed around simulations of the die-
sel engine model in Section 7.5. Using the simulations of the three pre-
sented models, results on simulation time are given in Section 7.6. Section
7.7 is a summarizing discussion.

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.

7.2 Feasibility of the inverse dynamic simulation method


To illustrate that the inverse dynamic simulation method produces valid
results, all models from Chapter 6 will be simulated in the following sec-
tions. For completeness not only the inputs and outputs, but also all states
for all models, and both forward and inverse dynamic simulation, will be
presented. First, the model of a stiff driveline from Section 6.1 is studied
and the simulations are presented in Figures 7.1 - 7.6. These simulations are
also used for the discussion on setup effort in Section 7.3. Second, the
model of the flexible driveline from Section 6.2 is studied and the simula-
tions are presented in Figures 7.7 - 7.12. These simulations are also used for
the discussion of result dependency on parameters in Section 7.4. Third the
diesel engine gas flow model from Section 6.3 is studied and the simulations
are presented in Figures 7.13 - 7.20. These simulations are also used for dis-
cussion about handling of non-minimum phase systems.

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.

7.3 Simulation setup effort


In the first comparison between inverse dynamic simulation and forward
dynamic simulation, the basic powertrain model from Section 6.1 is used.
Both the forward model (6.15) and the inverse dynamic model (6.18) and
Simulation Performance and Usability 57

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

7.3.1 Choice of integration step


First some observations on the choice of integration step are made where
both automatic step size and manual step size control are commented. For
automatic step size control, the result from the first 200 s is shown in Fig-
ures 7.1 - 7.3. The inverse model (6.19) is algebraic, which means that there
is no integration error no matter what the step length is. The reason for the
long step size in the inverse dynamic simulation, Figures 7.1 - 7.3, is the
automatic step size control in Simulink, because the step length is chosen by
default in Simulink to the simulation time divided by 50, and since no inte-
gration error ever occurs the step length is never changed. Note that depend-
ing on the purpose of the simulation this may be quite viable and in such a
case extremely fast.

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]

Figure 7.1 Velocity of a simulation of the basic powertrain model


from Section 6.1 during the first 200 s of the New European Drive
Cycle NEDC.
58

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

Figure 7.2 Effective throttle area of a simulation of the basic power-


train model from Section 6.1 during the first 200 s of the New Euro-
pean Drive Cycle NEDC.

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]

Figure 7.3 Intake manifold pressure of a simulation of the basic pow-


ertrain model from Section 6.1 during the first 200 s of the New
European Drive Cycle NEDC.
Simulation Performance and Usability 59

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]

Figure 7.4 Velocity of a simulation of the basic powertrain model


from Section 6.1 during a part of NEDC with maximum steplength
set to 1 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]

Figure 7.5 Effective throttle area of a simulation of the basic power-


train model from Section 6.1 during a part of NEDC with maximum
steplength set to 1 s.
60

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]

Figure 7.6 Intake manifold pressure of a simulation of the basic pow-


ertrain model from Section 6.1 during a part of NEDC with maxi-
mum steplength set to 1 s.

7.3.2 Complexity of simulation setup


Above it was seen that both the inverse and forward dynamic simulation
produced qualitatively the same result. However, it can be seen in Figures
7.5 and 7.6 that the forward dynamic simulation has an oscillating behavior
in throttle position and intake manifold pressure. This stems from the driver
model, since for this non linear system it is not sufficient with a simple PID-
controller. However, it may take quite some effort to design a driver model
that acts as a real driver and adapts to the vehicles behavior in different
operating points. On the other hand, it is seen that the inverse dynamic sim-
ulation has a smooth control that better resembles the behavior of a real
driver. The complexity of designing a driver model may be a drawback for
the forward dynamic simulation considering setup effort.

It is straight forward to implement a forward dynamic model in a simulation


tool like Matlab/Simulink, whereas an inverse dynamic simulation requires
manipulations with the differential equations describing the system before it
can be simulated. These manipulations are however systematic as described
in Chapter 3, and can be more or less automatized. In the forward dynamic
simulation, a drawback is the need to design a realistic driver model, while
it is easy to do it in inverse dynamic simulation.
Simulation Performance and Usability 61

7.4 Result dependency on parameters


As mentioned before, drive cycle simulation can be used for design space
exploration like optimizing gear ratios of the transmission, optimizing the
size of the engine for minimal fuel consumption, or tuning of control system
parameters. Then, it is important that it is easy to run a set of simulations
with similar trackings, where some parameters vary between simulations.

To study dependencies on vehicle model parameters, the model from Sec-


tion 6.2 will be used. A first simulation of a 1700 kg vehicle with a 2.3 liter
engine is shown in Figures 7.7 - 7.11. There it is seen that both the forward
and inverse dynamic simulation produces qualitatively comparable results,
once again confirming the feasibility of inverse dynamic simulation regard-
ing all state variables even in this resonant case. Keeping the driver parame-
ters, the engine size is changed to 1.6 liters and the vehicle mass is changed
to 1100kg.

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]

Figure 7.7 Velocity of a simulation of the powertrain model with flex-


ible drive shaft from Section 6.2 during a part of NEDC.
62

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

Figure 7.8 Effective throttle area of a simulation of the powertrain


model with flexible drive shaft from Section 6.2 during a part of
NEDC.

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]

Figure 7.9 Engine speed of a simulation of the powertrain model


with flexible drive shaft from Section 6.2 during a part of NEDC.
Simulation Performance and Usability 63

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]

Figure 7.10 Drive shaft torsion of a simulation of the powertrain


model with flexible drive shaft from Section 6.2 during a part of
NEDC.

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]

Figure 7.11 Intake manifold pressure of a simulation of the power-


train model with flexible drive shaft from Section 6.2 during a part of
NEDC.
64

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

Time [s] Time [s]

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]

Figure 7.12 Velocities of simulations of two different vehicles in


NEDC with the same driver models. To the left a 1700 kg vehicle
with a 2.3 liter engine is simulated. To the right a 1100 kg vehicle
with a 1.6 liter engine is simulated. The upper plots are the speed
profiles and the lower plots are deviations from the drive cycle. Note
that the deviation is the same in both cases for the inverse dynamic
simulation, but differs for the two forward dynamic simulations.

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

7.5 Feasibility for non-minimum phase systems


So far two models have been simulated with both forward and inverse
dynamic simulation, where the first model from Section 6.1 had no zero
dynamics and the second model from Section 6.2 had stable zero dynamics.
Both these models satisfied the requirements for invertibility.

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

time [s] time [s]

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

time [s] time [s]

Figure 7.14 Five iterations of the separated zero dynamics η̃ , (6.49),


for the inverse simulation with desired output according to Figure
7.13. It is seen that after only a couple of iterations the trajectories
are almost indistinguishable.

−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

time [s] time [s]

Figure 7.15 Required inputs from an inverse dynamic simulation of


the diesel engine with desired outputs according to Figure 7.13. Note
that the inputs deviates very little from the stationary point. These
inputs are used in a forward dynamic simulation presented in Fig-
ures 7.13 and 7.16.
Simulation Performance and Usability 67

Figure 7.15. Using the inverse coordinate change the original states are also
computed as seen in Figure 7.16.

Forward dynamic simulation is not easy since it is non trivial to design a


good controller. Instead, the inputs resulting from inverse simulation in Fig-
ure 7.15, are used as inputs to the forward dynamic model. The results are
shown in Figures 7.13 and 7.16. It is seen that the inverse dynamic simula-
tion and the forward dynamic simulation coincide for this simulation.

As is mentioned in Section 3.1.2, for systems with highly nonlinear zero


dynamics it can only be expected that the inverse dynamic simulation is cor-
rect for small deviations from the stationary point, the origin, and in the
simulation above the deviation from the stationary point was small. How far
from the origin is the inverse dynamic simulation correct? As an answer to
this question the procedure described above, with an inverse dynamic simu-
lation followed by a corresponding forward dynamic simulation, is carried

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]

Figure 7.16 States from inverse and forward dynamic simulation of


the diesel engine with inputs and outputs according to Figures 7.13
and 7.15. It is seen that the state trajectories coincide for both simu-
lations. Note that the states deviate very little from the stationary
point.
68

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]

Figure 7.17 Specified output trajectories for the inverse dynamic


simulation (solid) of the diesel engine model. Output from a corre-
sponding forward dynamic simulation (dashed) is also seen. Note
that the deviation in λ d from the stationary point is ten times the
deviation in Figure 7.13 and that the inverse and forward dynamic
simulation does not produce the same result.

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

Figure 7.18 States from inverse and forward dynamic simulation of


the diesel engine with outputs according to Figure 7.17. It is seen
that the simulations does not give coinciding results
Simulation Performance and Usability 69

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]

Figure 7.19 Specified output trajectories for the inverse dynamic


simulation (solid) of the linearized diesel engine model. Output from
a corresponding forward dynamic simulation (dashed) is also seen.

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]

Figure 7.20 States from inverse and forward dynamic simulation of


the diesel engine with outputs according to Figure 7.19. It is seen
that the simulations does give coinciding results. Since the linear
model only describe the physics good in a neighborhood of the lin-
earization point, the values of the states are not physical when the
outputs are driven away from that point.
Simulation Performance and Usability 71

7.6 Simulation time


Recall that the main goal was to extend quasi-static inverse simulation with
additional dynamics while still keeping the low simulation time.

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.

7.6.1 Approach in comparisons


The simulations presented in the results have been setup in the following
way. The inverse dynamic simulations are not optimized for efficient simu-
lation, but rather, in order to resemble an automatic conversion from the cor-
responding forward model, they are constructed using only the conversion
described in Chapter 3. This means that there are additional potential for
speed up, like to see if the inverse coordinate change can be solved analyti-
cally or if at least some of the coordinates can be solved analytically. Differ-
ent choices of coordinates can also take different times to solve numerically.

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

7.6.2 Timing results


The main result that can be seen in Table 7.1 is that the inverse dynamic
simulation has a considerable speed advantage compared to the forward
dynamic simulation. This holds for all three powertrain applications that
have different added dynamics.

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.

One reason that influences the difference in number of integration steps


relates to charachteristics of the vehicle model. The number of steps in the
integration is mainly depending on the eigenvalues of the simulated system,
where large eigenvalues, i.e., far away from the imaginary axis, will require
small steps and thus more steps. This means that when the eigenvalues of
the zero dynamics is smaller than the eigenvalues for the forward dynamic
model, the inverse dynamic simulation will require fewer steps than the for-
ward and for many systems this is the case. For example, in the diesel
72

Simulation Relative Forward/


Model Drivecycle # steps Solver
time [s] Tolerance Inverse
Basic powtrn 1 NEDC 31.4 9033 ode45 1.10-3 Forward
Basic powtrn 1 FTP75 51.5 14579 ode45 1.10-3 Forward
Basic powtrn 2 NEDC 22.5 6682 ode45 1.10-3 Forward
Basic powtrn 2 FTP75 37.0 10418 ode45 1.10-3 Forward
Basic powtrn 3 NEDC 18.2 5512 ode45 1.10-3 Forward
Basic powtrn 3 FTP75 31.6 9099 ode45 1.10-3 Forward
Basic powtrn 4 NEDC 0.31 50 ode45 1.10-3 Inverse
Basic powtrn 4 FTP75 0.071 50 ode45 1.10-3 Inverse
Basic powtrn 5 NEDC 0.064 50 ode45 1 .10-3 Inverse
Basic powtrn 5 FTP75 0.070 50 ode45 .
1 10 -3 Inverse
Basic powtrn 6 NEDC 0.033 50 ode45 1.10-3 Inverse
Basic powtrn 6 FTP75 0.069 50 ode45 .
1 10 -3 Inverse
Flex powtrn 1 NEDC 551 344448 ode23tb .
1 10 -6 Forward
Flex powtrn 1 FTP75 302 130755 ode45 1.10-6 Forward
Flex powtrn 2 NEDC 429 222700 ode23tb 1.10-6 Forward
Flex powtrn 2 FTP75 292 125919 ode45 1.10-6 Forward
Flex powtrn 3 NEDC 365 186025 ode23tb 1.10-6 Forward
Flex powtrn 3 FTP75 277 120343 ode45 1.10-6 Forward
Flex powtrn 4 NEDC 80.9 10206 ode23tb 1.10-6 Inverse
Flex powtrn 4 FTP75 215 26762 ode23tb 1.10-6 Inverse
Flex powtrn 5 NEDC 40.8 5163 ode23tb .
1 10 -6 Inverse
Flex powtrn 5 FTP75 137 16805 ode23tb .
1 10 -6 Inverse
Flex powtrn 6 NEDC 156 16293 ode23tb 1.10-6 Inverse
Flex powtrn 6 FTP75 90.5 10848 ode23tb .
1 10 -6 Inverse
Diesel engine - 12.9 3596 ode23tb .
1 10 -6 Forward
Diesel engine - 8.66 2201 ode23tb 1.10-6 Inverse
Table 7.1: Simulation times. The “Basic powtrn” models is the model of a
basic powertrain without zero dynamics from Section 6.1. The “Flex powtrn”
is the model of a powertrain with a flexibility in the driveshaft from Section
6.2. These models use driver parameters according to Tables 7.2 and 7.3. The
“Diesel engine” model is the one with unstable zero dynamics described in
Section 6.3. One iteration has been used to find the zerodynamics of the
inverse diesel engine model. The number of integration steps in the inverse
simulation of the diesel engine is the sum of steps for the simulations of the
zero dynamics and for finding the required inputs.
Simulation Performance and Usability 73

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.

Model Driver parameter a


Basic powtrn 4 1
Basic powtrn 5 2
Basic powtrn 6 5
Flex powtrn 4 1
Flex powtrn 5 2
Flex powtrn 6 5
Table 7.3: Driver parameters for the inverse 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

7.7 How to choose simulation method


As seen in the previous sections there are many aspects to consider when
choosing simulation method. Based on the simulation studies made during
this work some, sometimes subjective, experiences will now be given. First
to consider when a model is to be simulated is why the simulation is done.
Other issues are, what result that is wanted and to what cost, what accuracy
that is needed, how long time that is available, how many simulations of the
same model that is considered, and how much time that can be spent on set-
ting up the simulation vs. how long time that can be spent on the simulation.

The accuracy of inverse and forward dynamic simulation respectively has to


be considered. The theory about accuracy of forward dynamic models, or
ODE’s, is well known, see e.g. [2, 16]. Inverse dynamic models are in most
cases also ODE’s, so the same theory can be applied. The exceptions are
systems without zero dynamics where the inverse model becomes a set of
algebraic equations. Such equations are easier to solve to a higher precision
using numerical methods such as Newton type methods, see [6].

What is an appropriate solver? Of course nothing can be said in general


since the choice of solver is model dependant. A good guide for choosing
solvers is [2]. However, from the examples studied, some conclusions can
be drawn. For simple models like the basic powertrain an explicit Runge-
Kutta solver like matlab’s ODE45 is a good choice to try. When the inverse
coordinate change is solved numerically online an extra error is added in
each step. This can be seen as noise or very fast dynamics which makes the
system behave as a stiff system, and hence an implicit solver with stiff
decay is suitable.

As mentioned earlier it is important to consider drive cycle tracking. For the


forward dynamic simulation it is more work in desiging a driver model than
in inverse dynamic simulation. In fact, designing a controller for a forward
dynamic simulation has about the same complexity as setting up the inverse
simulation. Since one has perfect knowledge of the system that is going to
be controlled in a simulation, one natural choice of a controller for the for-
ward simulation is to use the system inverse as a feed forward term. This
feed forward term however, is the inverse dynamic model.

Conditions, like e.g. if-statements, are more straight forward to handle in


forward dynamic models, but, as has been shown in the examples, are often
straightforward to handle in inverse dynamic models as well. For nonlinear
non minimum phase systems, care has to be taken so that the simulation
does not drive the zero dynamics out of the region from where the iteration
converges to the right solution.

The conclusions of the comparison of inverse- and forward dynamic simula-


tion is summarized in Table 7.4. There it is seen that inverse dynamic simu-
lation is faster and more suited for batch simulations than forward dynamic
simulation. Since it is hard to define a driver model in the forward dynamic
Simulation Performance and Usability 75

simulation it is in many cases easier to set up an inverse dynamic simula-


tion. However, forward dynamic simulation is capable of simulating a larger
class of systems than inverse dynamic simulation, e.g., highly non linear
non-minimum-phase systems.

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

As mentioned before, drive cycle simulation of vehicle models is a com-


monly used tool for driveline design, driveline optimization, and, design of
driveline control strategies. When studying for example drivability, fuel
consumption, or engine emissions, it is important that the models describe
the dynamics of the powertrain to a high accuracy. To perform fast simula-
tions of such powertrain models inverse dynamic simulation was proposed.
In this method the system has to be inverted, and inversion of non linear sys-
tems was discussed in Chapter 3.

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.

Regarding inversion, by use of symbolic math tools, the inversion procedure


can be more or less automatized. The systematic conversion reduces the
need to build dedicated inverse models as those used in, e.g., Advisor. In
this way the new simulation concept is a bridge that ties forward dynamic
simulations as in, e.g., PSAT, to quasi-static inverse simulations as in, e.g.,
Advisor, in the sense that common model data bases can be used.

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.

In Chapter 6 three powertrain applications was presented that included


important dynamics that can not be handled using quasi-static inverse simu-
lation. The extensions were engine dynamics, drive line dynamics, and gas
flow dynamics around diesel engines. These three cases also represented
interesting mathematical properties such as zero dynamics, resonances, and
non-minimum phase systems, i.e. unstable zero dynamics. The inversion
technique was demonstrated on all three examples, and in Chapter 7 the fea-
sibility of inverse dynamic simulation of these systems was shown. More-
over, in Chapter 7, using the three examples, inverse dynamic simulation
was compared to forward dynamic simulation regarding simulation set-up
effort, simulation time, and parameter-result dependency. It was shown that
inverse dynamic simulation was easy to set up, gave short simulation times,
and gave consistent result for design space exploration. This makes inverse
dynamic simulation a suitable method to use for drive cycle simulation, and
especially in situations requiring many simulations, such as optimization
over design space, powertrain configuration optimization, or development
of powertrain control strategies.
9
Nomenclature

A Vehicle cross sectional area


Aeff Effective throttle area
Aegr EGR valve area
Ath Throttle area
Avgt VGT area
Stoichiometric air fuel ratio
 ---
A
-
 F s
B Engine bore
BMEP Brake mean effective pressure
C Discharge coefficient
cd Air drag coefficient
cds Drive shaft damping
cpa Specific heat under constant pressure, ambient conditions
cpe Specific heat under constant pressure, exhaust gases
cr Rolling resistance coefficient
F Wheel traction force
FMEP Friction mean effective pressure

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

mf Engine fuel charge


N Engine speed
nr Revolutions per engine cycle
pa Ambient pressure
pe Exhaust manifold pressure
pi Intake manifold pressure
pr Pressure ratio
PMEP Pump mean effective pressure
qhv Fuel heating value
r Wheel radius
R Gas constant
Ra Gas constant ambient conditions
Rc Compressor radius
Re Gas constant exhaust manifold
si Slope of the normalized air charge
S Engine stroke
T Torque, Temperature
Ta Ambient Temperature
Tcr Crank shaft torque
Td Drive shaft torque
Te Engine (flywheel) torque
Tem Exhaust manifold temperature
Ti Intake manifold temperature
Tw Wheel torque
uegr Control signal to EGR throttle
Nomenclature 81

uδ Injected mass of fuel


v Vehicle speed
Vd Engine displacement volume
Ve Exhaust manifold volume
Vi Intake manifold volume
Wc Mass flow through compressor
Wegr Mass flow EGR
Wei Mass flow into the engine
Weo Mass flow out of the engine
Wf Fuel mass flow
Wt Mass flow through the turbine
yi y-intercept of the normalized air charge
γ Specific heat ratio
ηth Thermal efficiency
ηtm Transmission efficiency, combined mechanical and tur-
bine efficiency
ηvol Volumetric efficiency
θd Drive shaft torsion
λ Normalized air fuel ratio
∆Tc Temperature difference over compressor
∆Tt Temperature difference over turbine
ξaux Friction coefficient
πbl Boost layout
ρ Air density
τegr Time constant for EGR throttle
Φc Volumetric flow coefficient, compressor
ω Rotational Speed
ωe Engine rotational speed
ωt Turbo speed
ωw Wheel rotational speed
82

Parameter values for the powertrain models, SI-units

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

[1] J. Andersson. Multiobjective optimization in engineering design. PhD


thesis, Linköping Institute of Technology, thesis No. 675, ISBN 91-
7219-943-1. 2001.

[2] U. M. Ascher and L. R. Petzold. Computer Methods for Ordinary Dif-


ferential Equations and Differential-Algebraic Equations. SIAM. 1998.

[3] M. Back, S. Terwen and V. Krebs. Predictive powertrain control for


hybrid electric vehicles. 1st IFAC symposium on advances in automo-
tive control, Salerno, 2004

[4] J. Bals, G. Hofer, A. Pfeiffer, and C. Schallert. Object-Oriented Inverse


Modelling of Multi-Domain Aircraft Equipment Systems and Assessment
with Modelica. 3rd International Modelica Conference, Linköping, Swe-
den, November 3-4. 2003

[5] K. L. Butler, M. Ehsani and P. Kamath. A Matlab-Based Modeling and


Simulation Package for Electric and Hybrid Electric Vehicle Design.
IEEE Transactions on Vehicular Technology, vol 48, 1770-1778. 1999.

[6] G. Dahlquist and Å. Björk. Numerical Mathematics and Scientific Com-


putation. http://www.mai.liu.se/ ∼ akbjo/NMbook.html (to be published
by SIAM, Philadelphia) 2005.02.03

83
84

[7] S. Devasia, D. Chen and B. Paden. Non-linear inversion-based output


tracking. IEEE Transactions on Automatic Control vol 41, 930-942,
1996

[8] S. Devasia and B. Paden. Stable Inversion for Nonlinear Nonminimum-


Phase Time-Varying Systems. IEEE Transactions on Automatic Control
vol 43, 283-288. 1998.

[9] S. Devasia, B. Paden and C. Rossi. Exact-output Tracking Theory for


Systems with Parameter Jumps. International Journal of Control, vol 67,
117-131. 1997.

[10] L. Eriksson. Simulation of a Vehicle in Longitudinal Motion with


Clutch Lock and Clutch Release. 3rd IFAC workshop on advances in
automotive control. 65-70. 2001.
[11] A. Fröberg and L. Nielsen. A Method to Extend Inverse Dynamic Simu-
lation of Powertrains with Additional Dynamics. First IFAC Symposium
on Advances in Automotive Control. 2004.

[12] A. Fröberg and L. Nielsen. Dynamic Vehicle Simulation -Forward,


Inverse and New Mixed Possibilities for Optimized Design and Control.
SAE Technical Paper Series SP-1826, 2004-01-1619. 2004.

[13] A. Fröberg, L. Nielsen, L-G Hedström, and M. Pettersson. Controlling


gear engagement and disengagement on heavy trucks for minimization
of fuel consumption. 16th IFAC world congress, Prague. 2005.

[14] K. Gustafsson. Traps and Pitfalls in Simulation. Ericsson Mobile


Communications AB, Lund, Sweden.

[15] L. Guzzella and A. Amstutz. CAE Tools for Quasi-Static Modelling


and Optimization of Hybrid Powertrains. IEEE Transactions on Vehicu-
lar Technology, vol 48, 1762-1769. 1999.

[16] E. Hairer, S.P. Norsett and G. Wanner. Solving Ordinary Differential


Equations 1, nonstiff problems. Springer. 1993.

[17] E. Hendricks, A. Chevalier, M. Jensen, S. C. Sorenson, D. Trumpy and


J. Asik. Modelling of the Intake Manifold Filling Dynamics. SAE Tech-
nical Paper Series Sp-1149, 1-25. 1996.

[18] J. B. Heywood. Internal Combustion Engine Fundamentals. McGraw/


Hill. 1988.

[19] L. R. Hunt and G. Meyer. Stable Inversion of Nonlinear Systems.


Automatica, vol 33, 1549-1554. 1997.

[20] A. Isidori. Nonlinear Control Systems. Springer/Verlag 1995.

[21] U. Kiencke and L. Nielsen. Automotive Control Systems. Springer Ver-


lag. 2000.
References 85

[22] D.J. Murray-Smith. The inverse simulation approach: a focused review


of methods and applications. Mathematics and computers in simulation.
2000.

[23] M. Pettersson and L. Nielsen. Gearshifting by engine control. IEEE


Transactions Control Systems Technology, Volume 8(No. 3) pp. 495-
507, 2000.

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

[25] G. Rodriguez. Kalman Filtering, Smoothing, and Recursive Robot Arm


Forward and Inverse Dynamics. IEEE Journal of Robotics and Automa-
tion, vol RA-3, no 6. 1987.

[26] A. Rousseau, P. Sharer and F. Besnier. Feasability of Reusable Vehicle


Modeling: Application to Hybrid Vehicles. SAE Technical Paper Series
SP-1826. 2004-01-1618 2004.

[27] T. Sandberg. Heavy truck modeling for fuel consumption. Simulation


and measurements. Licentiate thesis. Linköping Institute of Technology.
Thesis No. 924. LiU-TEK-LIC-2001:61. 2001.

[28] A. Sciarretta, L. Guzzella, and C. H. Onder. On the power split control


of parallel hybrid vehicles: from global optimization towards real-time
control. Automatisierungstechnik 51 (5), 2003.

[29] P. Soltic. Part/Load Optimized SI Engine Systems. PhD thesis. Swiss


Federal Institute of Technology. 2000.

[30] D. G. Thomson and R. Bradley. The principles and practical applica-


tion of helicopter inverse simulation. Simulation Practice and Theory
vol 6, no 1. 1998.

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

[32] C. W. Wampler. Manipulator Inverse Kinematic Solutions Based on


Vector Formulations and Damped Least-Squares Methods. IEEE Trans-
actions on systems, man, and cybernetics, vol. smc-16 no 1. 1986.

[33] K. B. Wipke, M. R. cuddy and S. D. Burch. ADVISOR 2.1: A User-


Friendly Advanced Powertrain Simulation Using a Combined Back-
ward/Forward Approach. IEEE Transactions on Vehicular Technology,
vol 48, 1751-1761. 1999.

[34] G. D. Wood. Simulating Mechanical Systems in Simulink with SimMe-


chanics. www.mathworks.com.
86

[35] www.capsim.se 2005.02.08


87

Notes:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
88

__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
89

__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
90

__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
91

__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
92

__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy