-
VIRTUAL VEHICLE SYSTEMS SIMULATION
A MODULAR MULTI-CPU APPROACH IN REAL-TIME
by
G. Edzko Smid
A dissertationsubmitted in partial fulfillment
of the requirements for thedegree of
DOCTOR OF PHILOSOPHY
1999
Oakland UniversityRochester, Michigan
Doctoral Advisory Committee:
Professor Ka C. CheokProfessor I. SchochetmanProfessor M.
DasProfessor K. LiProfessor G. Honderd
-
The Simulation of Automobilewhere the World is Virtual and Time
is Real,
will render a Sensationof Genesis and Creation
of a Vehicle with Spirit and Feel.
i
-
Acknowledgements
The research that is presented in this dissertation could not
have been conducted without thefruitfull discussions and without
the excitment and joy of creating the virtual driving simulation.I
would hereby like to express my full appreciation to Ka C. Cheok
who has been my advisor,collegue and best friend, for the
scientific and moral support along the way. Furthermore I wouldlike
to thank my committee. A special appreciation to Jim Overholt for
detailed discussions andgood times.Coming to the United States I
realized that Delft University of Technology had provided me
withthe sufficient background in systems and controls, to be able
to adapt easily in a new environmentand to contribute effectively
on collaboration projects. The atmosphere in Delft will always be
anexample of a motivating environment with a good balance of
professionalism and joy. In particularwould like to acknowledge Ton
van den Boom, Ben Klaassens, Stefano Stramigioli, MichelVerhaegen
and Wim Jongkind. I owe my special thanks to Ger Honderd, as
advisor for my Mastersand also as doctorate committee member. My
thanks go to Naim Kheir for the opportunity to cometo Oakland after
my graduation in Delft. In the first period of my stay, we have
worked on a seriesof projects for TACOM, Ford, Chrysler, ITT
Automotive and TechnoResearch. The teamworkduring that time and the
dynamic discussions were a strong motivation to continue my stay.
Manythanks with this regard to Kazayuki Kobayashi, Teik-Khoon Tan,
Shinishi Nishizawa and SandroScaccia. Also I would like to express
my gratitude to Claudio Bonivento and Claudio Melchiorriand the
students at the Laboratory of Automation and Robotics (LAR) for the
opportunity andthe joy to spend a summer at the Department of
Electronics, Computer Science and Systemsof the University of
Bologna during my graduate time. The opportunity to be involved
with thetechnology team at Echlin Automotive in spring 1996, and
later with Dana Corporation contributedto my assistantship. It
offered me the ability to combine graduate school with the
experience ina proffesional environment. Therefore my respect to
Mike Dougherty, Mohamad Qatu, JackDawson, Bill Spadafore, Devendra
and Satyendra Kumar and Dave Llewellen.Beyond the work during the
years of research that is described here, I have always enjoyed
awonderfull time and great hospitality with the family Cheok, who
have soon become my hostfamily in the United States. Also Id like
to thank my friends with whom I spent many weekendsenjoying life
and exploring the country. Last but not least, I would like to
thank my parents andfamily for their inexhaustible support
throughout my study.
ii
-
Preface
In many countries one is not anymore considered to be privileged
to own a vehicle. The automobileas a means of transportation has
become a commodity, a requirement of mobility that one cannotdo
without. When we go shopping for a new vehicle, most of us will
take technology for grantedand we bargain on horse-power, sunroof,
power windows and color.The understanding of the dynamics of
driving and the capability to design safe and stable vehiclesis the
primary requirement for building quality cars. With increased
development speed, the highlevel of quality and complexity and a
growing competitive global market, a design process withoutvirtual
prototyping and simulation is becoming inadmissible.This
dissertation presents a new simulation configuration for analyzing
and designing vehicledynamics systems. The configuration consists
of a simulation network structure, a real-timemodular vehicle
dynamics model and a novel fuzzy-logic based tire model. The system
thathas been developed is an enabling tool to do just the virtual
prototyping of mobility systems.Simulation studies are now possible
where a human can drive a virtual vehicle in any maneuver,while
analyzing the vehicle behavior.The manuscript is organized as
follows. Chapter 2 presents the vehicle model in a
modularconfiguration. The next chapter details the tire model tire
that is incorporated in the vehicle model.Chapter 5 highlights on
the ability to execute partitions of the simulation through the
simulationnetwork environment. This environment is especially
configured for the purpose of simulatingvehicle dynamics
interactively by means of popular simulation tools like Simulink.
Chapters 6.4and 7 report on the study for timing and stability.
Finally, Chapter 8 shows that the behavior of thesystem relates to
actual driving an scenario, and presents the validation efforts of
the model.Rochester Hills, Michigan G.E. Smid
iii
-
Nomenclature and Convention
The variable naming convention in this thisis follows the
standards used in most simulation andengineering literature. The
coordinate systems convention can be seen from Figure 1, and
issemantically described as forward, lateral left, and up, and up.
Typically the SAEstandard and is characterized as forward and
lateral right, and up. The system in thisdissertation complies with
SGI graphics representation, but can be easily transformed to any
othersystem. The coordinate system rotations and calculations are
included in Appendix C.For vectors, variables and paramteres that
apply to one of the corners of the vehicle, a lower rightindex is
included in the subscript of the name, that denotes the corner
which it applies to. Thevehicle corner numbering can be read from
Figure 1. Naming suffixes and indexes for vectors ( )and matrices (
) is according to notation
frame Operationvar,i from frame Operationto frameFrame can mean
either of the three frames , or . The frame refers to the earth (or
origin)frame, refers to the vehicle (or car) reference frame, and
refers to the wheel frame. Forces aretypically named , and torques
with the subscript denoting the name or the origin ofthe force or
torque. The overbar denotes explicitly that a variable is a vector
(generalized vectorshave an underbar). The following variable names
are used in this thesis.
Transition matrix of a discretized system. Dependant on
integration method Suspension anchor location with respect to the
vehicle frame of wheel Length in -direction between c.g. and front
axel Friction reduction factor! Input matrix of a discretized
system. Dependant on integration method! " $# Damping effect of the
camber angle ! Location of the center of the wheel in the vehicle
frame of wheel ! Length in -direction between c.g. and rear axel! %
" $# Damping effect in the dynamics steering model & 'Location
of the tire-ground contact point in the vehicle frame of wheel
& " Modified longitudinal tire stiffness&( " Modified
cornering tire stiffness)+* " $# Damping coefficient of the
brake)-, " $# Damping coefficient for the steering system
iv
-
LT-T
LTLS-S
Ai
Bi
X-axis
Y-axis
12
34
TR
Bl
A.
l
TF
Ci
C.G.
Top-View
Figure 1: Naming convention for the vehicle geometry.
/-02143$5Torsial damping coefficient for the transmission
shaft/-62143$5Damping coefficient for the suspension model/-7 8 9 :
;+143$5Slip damping coefficient in tire stick model/=143$5Damping
coefficient for the tire deflection?@Auxilary product matrix of a
discretized system for non-linear termsACB4DGraphics update
frequency, or frame rateEFG@ H I J K 9L1Force vector for the
suspension and wheel deflection of corner MEFNPO K QR1Longitudinal
shear friction forceEFNPO K SR1Lateral shear friction forceEFO T J
JU1Anti-roll force in the suspensionEFG7 J 9 V K 9+1Slip force
vector for the M 8 W wheelEFG6 81Stick friction forceEFXP9 Y
@Z1Aerodynamic force on the chassisEF[\1Longitudinal shear
forceEF]\1Lateral shear force^ 3$5 _a`Gravitational accelerationb
5Integration step size per frameb 7c5Integration step size per
sub-sampled e ; faO g @7 Inertia matrix for the vehicle chassisd X
; faO g @7 Inertia for the wheelhi ; faO g @7 Inertia of the
enginehP0 ; faO g @7 Inertia of the transmission
v
-
jk l k man o pq Kingpin inertiar-s2t4u$vStiffness coefficient
for the steering systemrxwyt4u$vTorsial stiffness for the
transmission shaftr-z2t4uAnti-roll stiffness
coefficientrx{yt4uStiffness coefficient for the suspension modelr q
| t4u Stiffness coefficient in the dynamics steering modelr q | } s
k=t4u Tire elasticity in the stick slip modelr+~t4uStiffness
coefficient of the tirer-2t4uLongitudinal tire slip
stiffnessr-2t4uLateral (cornering) tire slip stiffness uPatch
length of tire-ground contact{uNominal length of the suspension
system (
{+ s } s } )G~uNominal length of the tire radius (
G~L s } s } )Z Mass of the vehicle (diagonal matrix) q qGq
Moment about the kingpin sub-sampling factorZ Mass of the
wheelt=Brake pressure booster constantt+w } Gearbox ratio for gear
t+{Steering gear ratio uVehicle position in earth reference frame
sTransformation matrix for translating global to vehicle frame
coordinatesuEffective wheel radius (with deflected tire)Euler angle
transformation matrixuNominal wheel radius (for unloaded tire
condition)vSlip ratiov Space trajectory of the vehicle corner by
displacement and rotationv Space trajectory of the wheel by spin
travel in the steered directionCoriolis matrix vOverhear time per
frame q v Execution time for one iteration of vehicle dynamics Gq
Brake torque Gq Enging shaft torquecvFrame rate interval timew Gq
Torque from the transmission onto the axes q } l Gq Torque on the
vehicle chassis caused by slip{ Gq Torque on the vehicle chassis
caused by the suspensionuTrack width of the front wheelsuTrack
width of the rear wheels u Location of the vehicle corner on the
trajectory v u Location of the tire on the trajectory v u Patch
width of tire-ground contact mu Terrain altitude
vi
-
Actual suspension length\ Brake pedal angle Kinpin angle
Throttle angle Suspension deflection Tire deflection+
Understeer gradient Non-linear state driving functions-Notation
for the model of a simulation process.Model of the human driver and
the terrain Index library index value of the function parameter
Slip coefficient for tire-ground contact Membership value for the
fuzzy tire model switch Vehicle Euler angles Steered wheel angle
(i.e. actual wheel rotation) L Steering wheel angle (i.e. steering
setpoint) Angle at the steering gear pinion Camber angleC Spoke
angle Vehicle gyriscopic angular rates Wheel spin angle $ a Spacial
velocity of the vehicle corner by displacement and rotation $ a
Spacial velocity of the wheel by spin in the steered direction
Elevation of the anchor location above the terrain Elevation of the
center of the wheel above the terrain $ Non-linear output driving
functions
vii
-
Contents
Acknowledgements ii
Preface iii
Nomenclature and Convention iv
1 Introduction to Vehicle Simulation 11.1 Objective 11.2 Real
time simulation 31.3 Approach 3
2 Virtual Vehicle Modeling and Simulation 62.1 Introduction 62.2
Modular Closed Loop Dynamics 72.3 Conclusion 11
3 Fuzzy model of tire traction dynamics 123.1 Introduction 123.2
Stick Friction with Fuzzy Logic Switching 133.3 Implementation
173.4 Simulation results 183.5 Conclusion 20
4 Numerical Integration of the Vehicle Model 214.1
Transformation and Integration Methods 214.2 Conclusion 30
5 Simulation Platform with Integrated Networking Environment
315.1 Introduction 315.2 Methods for multi-processing 325.3
Multi-processing of dynamics models 345.4 Implementation through
Indexing 405.5 Virtual Environments 455.6 Modules for Subsystems
46
viii
-
5.7 Conclusion 48
6 Timing and Synchronization 496.1 Introduction 496.2
Human-in-the-loop Model 496.3 Real time versus Simulation time
506.4 Communication and Synchronization with SPINE 556.5 Prediction
and Correction with Luenberger Observer 556.6 Conclusion 62
7 Stability 637.1 Introduction 637.2 Model Stability 637.3
Simulation Specific Stability 677.4 Application Dependant Stability
767.5 Conclusion 78
8 Verification 808.1 Introduction 808.2 Vehicle Kinematics and
Dynamics 81
8.2.1 Static load at the tires and suspension 818.2.2 Steady
state cornering 828.2.3 Constant torque acceleration and braking
848.2.4 Ackermann Steering Verification 858.2.5 Stopping distance
868.2.6 Circular Skid Pad 888.2.7 Yaw acceleration while braking
under split- condition 908.2.8 Braking in a curve 928.2.9 Double
Lane Change 92
8.3 Telemetry for Real-Time Verification and Validation 948.4
Tire model verification 968.5 Conclusion 96
9 Conclusion and Recommendation 979.1 Conclusions 979.2
Recommendations 989.3 Retrospect and Prospect 99
A Details on Modeling 101A.1 The driver environment 101A.2
Steering Model 102A.3 Engine and Transmission Model 106A.4 Brake
Model 107A.5 Wheel Spin Dynamics 107
ix
-
A.6 Suspension and Tire Deflection 108A.7 Anti roll 112A.8 The
vehicle frame 112
B Details on the Tire Slip Model 114B.1 Theoretical Derivation
115B.2 Applicable formulas 119B.3 Considerations 121
C Coordinate Systems 123C.1 Displacement Coordinate
Transformations 123C.2 Angular Velocity Coordinate Transformation
126C.3 Angular Displacement 127C.4 Linear Velocity Coordinate
Transformation 127C.5 Coordinate Systems 128
D Software Reference 130D.1 File Structure 130D.2 User Interface
131D.3 Prototyping with Simulink 135
E Development and Implementation 138E.1 Geometry models 138E.2
Initialization procedures 139E.3 Main algorithmic cycle 141E.4
Vehicle Dynamics Implementation 142E.5 SPINE - server (VVSS) 145E.6
SPINE - client 147E.7 Parameter Defaul Values 147E.8 State
Reference Index Library 149E.9 Peripherals and User Interfaces
149
Curriculum Vitae 154
Keyword Index 155
References 158
x
-
List of Figures
1 Naming convention for the vehicle geometry iv
1.1 The Vision for the Virtual Vehicle System Simulation (VVSS)
setup. 4
2.1 Overall virtual vehicle simulation system model with three
partitions and humanin the loop. 8
2.2 Closed loop system interconnected model for the VVSS. 10
3.1 The general characteristic curve for the friction force as a
function of sliding velocity. 133.2 Schematic diagram of the
modified fuzzy tire model. 143.3 The stick tire model is modeled as
a double spring-damper system between the
trajectory of the vehicle and the trajectory of the wheel. 153.4
Graphical display of the fuzzy logic sigmoid membership function.
163.5 Polar slip friction coefficient representation. 173.6
Simulation results with the fuzzy tire model for acceleration and
braking. 19
4.1 Graphical intepretation of different integration algorithms
for the differential equa-tion x . 22
4.2 Three different transformation methods for approximating
continuous to the dis-crete time domain, with the corresponding
stability regions. 24
4.3 A general example of a second order mechanical model with
force input andposition output. 25
4.4 interconnected discretized closed loop system. 27
5.1 The proposed implementation for the Virtual Vehicle System
Simulation (VVSS)in the Simulation Platform with Integrated Network
Environment (SPINE). 32
5.2 Three variations of configurations for Multi-CPU simulation
models. 335.3 Timing diagram for double dependant replaced state
variable. 395.4 Indexed states represent state values through
indirect addressing. 415.5 The simplified model of the underlying
tree structure that represents the graphic
virtual scenery 455.6 The virtual environment can be adapted to
meet the requirements of any intended
study. 46
6.1 The Optimal Control Model (OCM) for the human operator.
50
xi
-
6.2 Snapshot of the VVSS simulation output with online
statistics. 526.3 Minimum integration interval selection for
real-time simulation. 536.4 SPINE communications timing diagram.
546.5 Timing diagram in the scenario of synchronization failure.
566.6 Example of a second order linear system for predicting state
values. 59
7.1 The root locations for a quarter car suspension model for
various values of thestiffness and damping parameters. 65
7.2 Pole location transformation for various integration
schemes. 687.3 Example of a second order linear feedback system
with three general partitions. 687.4 Example of a second order
linear system with three general partitions. 697.5 A general second
order feedback system with forward and backward integration
methods. 707.6 Stability regions for a second order polynomial
and for the second order example
feedback system. 717.7 Four stability regions for approximation
variations on general second order system. 737.8 A simple open loop
integrating system is used to test the accuracy of simulation
results with SPINE. 757.9 Comparison of simulation output in the
VVSS and in a Simulink model through
SPINE. 757.10 Comparison of the values for position, simulated
in the VVSS in the case when a
submodel is being simulated in Simulink through SPINE. 77
8.1 Telemetry aquisition and communication system will be used
for real-time on-linevalidation. 81
8.2 Validation data for steady state load distribution. 828.3
Suspension deflections, vehicle velocity and roll angle for steady
state cornering
validation test. 838.4 The trajectory during steady state
cornering. 838.5 Lateral forces on front tires for steady state
cornering. 848.6 Torque profile and velocity and position output
for constant torque accelerating
and braking. 858.7 Ackermann steering verification test. 868.8
Typical trajectory profile for stopping distance. 878.9 Typical
trajectory profile for stopping distance. 878.10 Throttle command
and roll angle for circular driving test. 898.11 Vehicle velocity
and heading in a circular driving test. 898.12 Planary trajectory
graph for circular driving test. 908.13 Trajectory and yaw profile
for split- brake test. 918.14 Tire forces under split- braking
conditions. 918.15 Trajectory and yaw profile for braking in a
curve. 928.16 Suspension deflections and heading profile when
braking in a curve. 938.17 Trajectory and asociated steering
command for double lane change. 93
xii
-
8.18 Lateral forces and lateral acceleration on the vehicle
during lane change. 948.19 Dual- dynamic sliding and static stick
friction verification test table. 95A.1 The Motion platform with
driving environment mounted on top. 102A.2 The graphical
illustration of the definitions for caster and camber angle. 103A.3
The second order steering system model. 104A.4 Ackermann cornering
geometry. 105A.5 Dynamic model of the powertrain. 106A.6 Schematic
diagram of the hydraulic brake system. 107A.7 Model diagram for
wheel angular dynamics. 107A.8 Schematic representation of the
mechanical construction of the quarter car suspen-
sion model. 109A.9 Model for quarter car suspension
translational dynamics. 110A.10 Front view of the mechanical
configuration of the suspension system with lateral
forces decomposition. 111A.11 Model for the vehicle frame
translational dynamics. 112A.12 Model for the vehicle angular
dynamics. 113
B.1 Tire-road contact patch geometry. 114B.2 Strain condition in
non-sliding portion of the contact patch. 115B.3 Longitudinal and
lateral normalized slip forces for different slip angles across
slip
ratio. 120B.4 Longitudinal and lateral slip against slip angle.
121B.5 Polar representation of the longitudinal and lateral slip.
122
C.1 Coordinate frames from reference to body. 124
D.1 Image of the graphical user interface for the Virtual
Vehicle System Simulator. 134D.2 The VVSS library in Simulink with
the blockset that provides the necessary func-
tionality for SPINE. 136
E.1 Software flow model for Multi-CPU Simulation. 143E.2
Hardware setup of the Simulation Platform with Integrated Network.
145
xiii
-
List of Tables
Nomenclature and Convention. iv
7.1 Transfer functions for four variations of integration
methods for the linear system. 72
C.1 Advantages and disadvantages of the three most used
transformation methods. 128
D.1 The list of file names with a short description, of the
files that are associated withthe VVSS and SPINE. 131
D.2 Available command-line options with the functionality.
133D.3 Available Key-press options with the functionality. 133
E.1 Overview of the file formats that can be loaded into the
geometry tree of VVSS. 139E.2 Default Parameter Values. 148E.3
Reference table for the VVSS indexes. 149E.4 Reference table for
the VVSS indexes for the quarter vehicle corners. 150
xiv
-
Chapter 1
Introduction to Vehicle Simulation
The revolution in the computer hardware industry has created the
technology for conductinganalysis and simulation of numerous
engineering applications. We have arrived in a time wheresufficient
computer power is in most situations available, and where it has
become the responsibilityof the engineer to exploit the computers
to solve the solutions to his problem. One of the successesof
increased computer power is found in the area of solid modeling or
Computer Aided Design(CAD), where high performance rendering of
complex graphics models allows for interactivedesigning models.
Also in the entertainment industry the use of high-end graphics
computers forarcades and movie productions has shown to be
successful.
1.1 Objective
In this dissertation I will demonstrate a third use of the
available graphic capabilities. It is inthe area of the automotive
industry. Whereas the aerospace industry has successfully
adoptedsimulation technology for engineering and training, the
automotive society is traditionally moreused to conventional tools
and engineering methods. It is only in recent years that the
virtualsimulation of full vehicle systems has become a serious
effort for the automotive industry. Most ofthe large companies (the
Big Three and their European and Japanese competitors) have
developedtheir own facilities to simulate vehicles in virtual
realistic environments. Each of them in a slightlydifferent
setting, each of them with different research objectives.
Commercial packages like ADAMS, DADS or VDANL [1] are available,
as well as commercial-ized academic packages like CarSim and
Madymo. However, generally they contain black-boxsimulators and are
expensive. This means that a file of configuration parameters
defines the simu-lation environment, but there is no easy access to
the models. Also, these simulators will typicallyutilize a
pre-defined scenario for the driver. This can be either a driving
scenario (steering, throttleand barke trajectories) or a driving
behavior characterization (delay, bandwidth, gain). The simu-lators
will usually generate graphical output in the form of curves and
plots on axes. Additional
1
-
2
software needs to be aquired to vizualize the data in a 3D
scenery. Hence, most of the commercialsolutions will not be (or are
expensive to be) customized and do not give the user the ability
torun arbitrary interactive test scenarios, and do therefore not
give the subjective feel of a systemsperformance. They are usually
not designed for solving the vehicle dynamics model in real timeor
interactively.
In January 1996 a collaboration was initiated between
ITT-Automotive and Oakland University inwhich Oakland implemented a
full-vehicle simulation for the purpose of real-time simulation
withhardware-in-the-loop. The details about the modeling are
described in the final project report [9].The task was to develop
and implement a full vehicle dynamics model with 16 degrees of
freedommotion dynamics. The model was developed in MATLAB and later
implemented in EASY-5 using FORTRAN code. The objective for ITT was
to test and demonstrate their ABS systemperformance on the behavior
of vehicles by allowing its engineers and customers to drive a
vehiclein a virtual realistic environment, in which the vehicle
dynamics were incorporated. The modelwas developed toward the
application for ITT, and did not satisfy the requirements for
conductinga wide variety of driving manouvers.
The project was succesfully demonstrated at the 1997 SAE
Congress in Detroit. Customers coulddrive a virtual vehicle on a
test track (split- and slalom) and were able to turn the ABS system
onand off. The Department of Electrical and Systems Engineering has
since continued its efforts inthe vehicle simulations (See [57],
[35], [55], [56]).
In the simulation of vehicle dynamics, a closed-loop system will
be defined that includes the driver,a virtual environment and the
mathematical synthesis of an automobile. The following
statementphrases the objective of the research in this thesis,
It is the principle objective of this research is to develop a
system that can emulate
the behavior of a vehicle, using a multi-processing environment,
and that can present
the solution in a user-interactive immersive virtual realistic
environment, which can
be used as a tool in the design process.
The objective statement suggests a network for real-time
multi-CPU simulation and the develop-ment of a driver interface
with a graphics front-end that can provide the simulation output to
thedriver.
Immersion of the human driver opens a wide area of research in
the project. A human driver willfeel to be immersed in the
simulation when the environment looks, feels and performs
realistically.In order to achieve this level of perception, the
simulation required full 3D audio-visual feedback,force and motion
feedback and an absolute alignment with absolute time. This term
interactive inthe objective implies the real-time evaluation of a
full vehicle dynamics model. The research inthis dissertation
emphasizes on visual feedback and real-time simulation.
EASY-5 is a unix-based simulation environment developed by the
Boeing Company. Mainly used by large
companies for complex simulations of hydraulic systems.
-
3
1.2 Real time simulation
Real-time is typically referred to as the utmost strict
requirement to provide a numerical output ata specified fixed time
instance. Special-purpose computers with a real-time operating
system areoften used for the control of hardware-in-the-loop
systems. For the purpose of interactive vehiclesimulation, the
human driver could be considered hardware-in-the-loop. The term
real-time willhave the similar definition. However,
under-performance will not necessarily be disastrous. Theterm
real-time in the context of simulating vehicle dynamics will be
used in the following definition:
The simulation of the vehicle dynamics is performed in real-time
when the dynamicsare numerically integrated, in parallel with the
graphics rendering process, over atime interval that equals the
graphics update frame interval, and the application isgenerating
the virtual environment in the selected frame-rate.
The objective for the multi-processing environment is to allow
engineers to communicate withthe real-time vehicle dynamics
simulation. The simulation platform with integrated
networkenvironment (hereafter referred to as SPINE) combines the
convenient accessible simulationinterfaces like Simulink with the
virtual realistic driving simulation.
The bottom-line goal of the research is to provide a
computational vehicle dynamics which isbased on underlying physical
relations. Vehicle dynamics is the branch of engineering
whichrelates forces to overall vehicle accelerations, velocities
and motions, using Newtonian laws ofmotion. It encompasses the
behavior of the vehicle as affected by powertrain, tires,
aerodynamics,gravitation and chassis characteristics.
1.3 Approach
Towards accomplishing the objective on page 2, several problems
have been solved. Theseproblems and their solutions will be
chronologically addressed in the successive chapters.
Thesesolutions are the contributions of this thesis.
A well-defined set of vehicle dynamic relations has been
compiled that synthesize a vehiclemodel for general driving purpose
simulations and well fit for real-time digital simulation.
A tire model has been designed, that relates physical parameters
to dynamic behavior, andthat will evaluate meaningfull results for
all speeds in all directions.
A multi-computer network structure has been developed and
implemented which allowsmultiple computers to simulate vehicle
subsystems concurrently in real-time.
The vehicle dynamics model has been implemented in a graphics
workstation, and a virtualrealistic animation has been adopted to
render the simulation output. Particular attentionhas been paid to
the real-time requirement of simulation.
-
4
These solutions are the contributions of this thesis. The above
items have been integrated in thevirtual vehicle system simulator
(hereafter referred to as SPINE). Two additional chapters
addressthe studies for stability and validation.
As is well understood, modeling and simulation can have no merit
without validation and verifica-tion. The notion for ensuring the
validity of a model for a system is an essential step in the
systemsengineering process [44]. The question that need to be
answered is
Are we doing the right thing, and are we doing it right?
Figure 1.1: The Vision for the Virtual Vehicle System Simulation
setup. A motion table with the
driver seat and peripherals, surrounded by stereo vision and
sound. The Vision for the Virtual
Vehicle System Simulation setup. A motion table with the driver
seat and peripherals, surrounded
by stereo vision and sound.
In order to validate the vehicle models, three methods can be
used. First, validation with simulationdata from an established
software has been conducted for ITT-Automotive (See [9]). Second,
off-line validation would require a series of well-defined and
well-excited scenarion test-data that canafterward be correlated
with simulation results. In this thesis however, it is suggested
that a realvehicle will be equipped with a tele-metry equipment.
For now the system is exposed to a validitycheck in nine test
scenario verification experiments.
The intensions for the virtual vehicle simulation laboratory
cover a large amount of effort. Theconclusions in Chapter 9 cover
the state of research and where it should go from here.
Theimportant aspect for an organized project management is to
remain in focus with the objective, tounderstand the applicability
and to emphasize on the benefits.
-
5
The research in virtual realistic driving is not finished upon
the defense of this dissertation. TheVVSS and SPINE will continue
to be supported in the time to come. The vision for the
virtualvehicle systems simulation is an interactive feedback motion
platform as is illustrated in Figure1.1. Features and functionality
as well as performance criteria will have to be modified for
theparticular applications.
-
Chapter 2
Virtual Vehicle Modeling and Simulation
In this chapter the simulation model for the vehicle dynamics of
the VVSS will be explained. Themodel is shown to consist of three
partitions. The descriptor matrix for each partition is
presented,as the representation of the nonlinear model. The chapter
presents a compact but complete vehicledynamics model for real-time
simulation.
The aspects of choosing the suitable integration method are
addressed in Chapter 4. It is describedthere, how the models in
this chapter are interconnected and numerically solved. The
implement-ation is furthermore detailed in Appendix E. In
particular, Section E.4 describes the resultingmathematical
formulation for implementating the derivated models that have been
presented here.Stability issues will be further addressed in
Chapter 7.
2.1 Introduction
The vehicle system is considered to be constructed from a rigid
frame and four wheels, hence afive-body system. The frame has 6
degrees of motion freedom. The wheels will be able to spin,and move
up and down along the suspension displacement. The two front wheels
will be able tosteer. A total of 16 degrees of freedom. The vehicle
model was derived at Oakland and has beenpresented at CAINE [57].
The mathematical derivations that lead to the presented model can
befound in Appendix A.
The model, as presented here, should be viewed upon merely as an
archetype. By itself, it is emptyand purely formal, nothing but a
facultas praeformandi, a possibility of representation which
isgiven a priori. The character and behavior of any vehicle will
come about during configurationand parameter value assignment. In
such a way, it serves the objective for virtual vehicle
driving,which is to retro-fit any wheeled ground vehicle in the
simulator.
The model can be partitioned in three submodels. Partitioning is
beneficial for simulation, espe-cially with the use of real-time
integration methods [50].
6
-
7
2.2 Modular Closed Loop Dynamics
An important aspect in the modeling methodology is the
modularity. Chapter 5 will explain aboutmodularity in more detail.
The derivations in this chapter for the dynamics will be targeted
towardsthe capabilities for modular simulation.
The most suitable modeling methodology, with respect to
modularity and to digital simulation, isthe discrete-time
state-space representation, with extension to non-linear dynamics.
The followingparagraphs will discuss the sub-models that are part
of the vehicle system model. In the Newtonianmodeling method, the
forces on a body are assumed as inputs, and the dynamic motion of
thebody is assumed as the states or the output. When the
state-space matrices are derived, they canbe substituted in the
full system model. This strategy is also used for the modeling of
the JumboContainer Crane [32].
The alternative popular mechanical modeling approach would be
Lagranges method. For a state and an input , the Lagrangian aL+ a-
is defined as the difference betweenthe kinetic and potential
energies. The dynamic behavior resulting from Lagrangian dynamics
hasthe form $ (2.1)where is a set of generalized coordinates, and
the sum of the forces and torques. The form canthen be transformed
into a state space model L , where L represents the physics of
theproblem [40]. The advantage of Lagranges method is the
consistency of modeling. If the designeris complete and accurate in
formulating the problem, then Lagranges method provides almost
likea cookbook solution. However, in solutions of control problems,
using the Lagrangian method,the physical meaning and the
interpretation of the resulting model is hidden, and it will be
hardto analyze, modify or add physical components of the sytem.
Also, a condition for the EulerLagrangian dynamic analysis is that
a must be analytical in the region of interest.The VVSS is a closed
loop system that incorporates the human driver in the loop. The
user inputswill change the torque and angle on the wheels. The
wheels on their turn will apply inputs to thevehicle frame model.
The vehicle system will then be rendered in the drivers environment
wherethe driver will react and generate new inputs to the
simulation. This human-in-the-loop model isgraphically illustrated
in Figure 2.1.
When the drivers actions and the terrain data are taken as
inputs, and the vehicle configuration as aset of parameters, then a
representation of the simulation system can be expressed in the
followingnon-linear state-space form x
x
u
x
u (2.2a)
y x
u
x
u (2.2b)!
For complex physical systems, the direct feedthrough matrix " is
generally zero.
-
8
Dri
ver
Env
ir# onment t
h
b cm
dT
ire
Def
lect
ion
&S
uspe
nsio
n M
odel
Veh
icle
Fra
me
Dyn
amic
Mod
elTe
rrai
nM
odel
Eng
ine
&
Tra
nsm
issi
on
Mod
el
Whe
el S
pin
&
Tir
e S
lip
Mod
el
Bra
ke$M
odel
Ste
erin
g%
Mod
el
S IS I
IS I
IIG
ravi
tyW
ind
Veh
icle
Pro
pert
ies
Sus
pens
ion
and &
Whe
el D
ynam
ics
. z gz g
TG
w
Tb
sli
p
Fde
fl
G Fw
ind
Fsl
ip
p'
Figure 2.1: Overall virtual vehicle simulation system model with
three partitions and human in
the loop.
-
9
with ()+* x , u - and (. * x , u - being non-linear functions of
the states x and the inputs u. Note that thesenon-linear functions
are independant of time / . Time varying parameters in these
functions are
considered constant or near-constant. This condition implies
some limitations in the generality ofthe formulation in that
Equations 2.2 model the system around a certain equilibrium
condition.
The system 0 is thus characterized by the four matrices 1 , 2 ,
3 and 4 and the non-linear drivingfunctions ()* x
, u - and (. * x , u - . A compact descriptor model for the
system can be formulated asfollows 576xy 8:9; xu?A@ BC (2.3)
where, for a system with D states and E inputs and F outputs,
the descriptor matrix ; will be givenas;G9 1IH J HLK K KM1IH J N
2IH J HOK K KM2IH J P
) H * x , u -... . . . ... ... . . . ... ...1QN J HRK K KS1QN J
N 2QN J HLK K KS2QN J P ) N * x , u -3IH J HLK K KM3IH J N 4:H J
HLK K KS4:H J P . H * x , u -... . . . ... ... . . . ... ...3QT J
HUK K KV3QT J N 4WT J HRK K K4WT J P . T * x , u -@ BBBBBBBBBC:X
(2.4)
Using this representation in Equation 2.3, the vehicle dynamics
model that is given in Figure 2.1will be formulated. From Figure
2.1, it can be seen that the model can be partitioned in a seriesof
three submodels ;IY , ;IY Y J Z and ;IY Y Y , for the steering,
brake and powertrain, for the suspensionand wheel dynamics and for
the chassis respectively.In this section we will summarize the
vehcile model in the representation of Equation 2.3. AppendixA
contains the detailed derivations for each of the elements of the
submodels. The appendix andthe nomenclature are referred to for the
explanation of the variables and parameters.
The steering model, brake model and engine and transmission
models are described by the analyt-ical descriptor matrix
;IYQ9 [\[O[O[ ]^ * _ ^ -[\[O[O[ `Wa]b * _+c d ,fegh -`Wij[O[O[ [
@ BBBC (2.5)
where x
is empty. Hence, there are no dynamic states. The matrices 1 , 2
and 3 in Equations 2.2are empty. The inputs are the steering
command k l Pm , the brake and throttle angles _ ^ and _+c d ,
-
10
Interaction with
human driver and
terrain n op op p op p pFigure 2.2: Closed loop system
interconnected model for the VVSS.
and the average wheel spin velocity qrs , and the outputs are
the brake torque tu , the traction torquet+v and the steered wheel
angle w s ,u pQxyzzz{ w | }~ u+ qrs
: y p x yz{ tut+vw s (2.6)where the brake torque tu is given in
Equation A.12, and W is the steering gear ratio.The wheel spin,
deflection and suspension deflection model is characterized as a
double springdamper system plus an inertial spinning body. The
inputs are the tire and suspension deflectionand the torques acting
on the wheel. The descripting matrix the becomes
p p xyzzzzzzzzzz{jOO I s OO p jOO p p jL jOO jOO ~ jOO
(2.7)with
x p pQx
yzzz{M s sr s A u p pQx
yzzz{ f t+vtu : y p p x yz{ ~
(2.8)where ~ is given in Equation A.21, in A.20 and in 3.4. s
can be found inEquations A.19. This model applies to each corner of
the vehicle. The wheel axle centerpoint
-
11
location Q is solely modeled as an additional output for the
purpose of rendering graphics in theanimation stage.
Finally, the vehicle chassis dynamic model is characterized by
the translational and rotationalmotion dynamics. The inputs are the
forces and torques that act on the body and the outputs are
theposition and the roll, pitch and yaw. Further details can be
found in AppendixVDdetails SectionA.8, Equations A.23, A.26 and
A.27. The descriptor matrix is given by,
I QO O U O O
(2.9)where the coriolis and cenrifugal force matrix is explained
in A.24 and the Euler angle trans-formation matrix inA.25. The
inputs and outputs are given by
x
A u G + + + + f
y (2.10)
With the formulation in this section, the model for the vehicle
simulation system can be depictedin a chain of submodels as in
Figure 2.2.
2.3 Conclusion
With the models in this chapter and the necessary details in
Appendix A, a stand-alone basicscheme for a vehicle dynamics model
has been formulated. Three partitions have been presentedin
Expressions 2.5, 2.7 and 2.9.
Some of the submodels are simplified, but will suit general
prupose vehicle driving simulationstudies. Note that a novel tire
friction model is developed in Chapter 3.
-
Chapter 3
Fuzzy model of tire traction dynamics
A fuzzy logic tire friction model is introduced to improve the
representation of the characteristicof the friction behavior. The
model is based on the model by Howard Dugoff with the additionto
make the solution stable for low speeds. The new model constitutes
from previous efforts byDugoff, but incorporates an additional
spring-damper system and a fuzzy logic switch. Withoutthe
modification, the existing Dugoff tire model is numerically
unstable in the region where slipvelocity is small, because of the
possibility of division by zero.This chapter explains the details
of the fuzzy logic tire model, demonstrates the implementationand
shows simulation results.
3.1 Introduction
One of the major barriers for the development of a ground
vehicle simulator is the modelingof the constraints regarding the
tire ground contact. The lack of these constraints is the
majorcause for flight simulators to be successfully used for many
years. The tire dynamics in differentdriving scenarios have been
investigated intensively. Some of the more outstanding efforts by
Fiala[19], Howard Dugoff [16] and more recently for example by [3],
[43] and the Delft University ofTechnology [49] and [51]. Empirical
studies have been conducted as well [23]. Tire manufacturershave
done extensive studies on tire behavior, however the results are of
strategic value and thusproprietery.
The general friction force curve is drawn in Figure 3.1. The
problem with most of the existingtire models is that the solution
of the slip force is a function of the slip velocity (like it is
drawnin the figure). However, especially for low-order numerical
simulation, the responce of the modelfor very low speeds will
become noisy and inaccurate. In many situations it may even drive
thesimulation into a limit cycle. As a result, the vehicle model
could only be simulated for a minimumvelocity. It woult not be
possible to come to a halt or to backup the vehicle.
For the purpose of a the VVSS, a novel tire model has been
developed, which overcomes this
12
-
13
Fstick
Fcoulomb
Fviscous
v
|F|
Figure 3.1: The general characteristic curve for the friction
force as a function of sliding velocity.
problem. It is based on the work of Dugoff, but modified to
incorporate stick friction at low slipvelocity, by adding a
differential position force feedback loop. The physical derivation
as proposedby Dugoff is outined in Appendix B. The following
sections discuss the fuzzy tire model in moredetail. The objective
is to relate the expressions for the forces between the vehicle and
the terrainsurface to physically meaningful parameters and
variables. The magic formula by Pacejka, aswell as many of the
neural network based models do not. They will therefore not be
consideredany further.
3.2 Stick Friction with Fuzzy Logic Switching
The derivation in Dugoffs model solves for the forces on the
tire and the wheel carcas causedby sheer and stress. The
derivations imply that the tire should be rolling and the vehicle
shouldbe moving in order for the model to return meaningfull
results. (This implication can also benoted from Equation B.3 where
the expression for has the tires longitudinal velocity in
thedenominator.)
As a result, a tire will not be exposed to any forces from the
ground contact, when the slipratioI . This can also be seen in the
left graph in Figure B.3 in Appendix B. In practice, it meansthat a
vehicle will slowly slide down a slope, eventhough the surface is
very rough, thus having ahigh slip coefficient. In numerical
simulation the model renders unstable results for slow speeds,and
is singular for zero velocity.
To compensate for this behavior, a feedback loop is imposed from
the integrated slip ratio to themoving forces. The feedback is
designed as a second order spring damper model between the
tirecarcas (which is the point where the rubber touches the rim)
and the ground contact point. It isapplied from the position output
to the force input. Fuzzy logic is applied to transition
betweenthis spring damper model and the Dugoff tire model.
The design of the combination of the Dugoff model with the
additional feedback loop is shown
-
14
1s
1s
1s
1s
1Mvs
1Mws
w
vF
T
pp
w w
pFuzzy Logic
reset
=max(vv,vw)
Shear Friction
Stick Friction
+
+
Dstick
Kstick1s
arctan(vv,vw)
F
slip,i
FFr
FSt
Re Re
|Fz|
vw
+
-
vv=p
St
normal load on the tire
wheel spin model
effective tire radium
vehicle modelslip angle
slip magnitude
Figure 3.2: Schematic diagram of the modified fuzzy tire model.
On top, above the dashed
rectangle, the simplified vehicle model. In the bottom of the
dashed rectangle, the wheel spin
model. The tire model consists of the Dugoff shear friction
model, a spring-damper stick friction
model and a fuzzy-logic switch.
in the model diagram in Figure 3.2. The model shows that next to
the dynamic friction forcefeedback, there is an additional force
feedback from the integrated velocity difference. This
forcerepresents the stick-friction.
Fuzzy Logic is an intuitive non-linear linguistic rule-based
method of inferencing. Two rules areswitching the force feedback,
based on fuzzy sigmoid membership functions. The input force tothe
vehicle motion model (top of the diagram in Figure 3.2) for tire
consists of the shear and stickslip forces as (3.1)where the index
denoting the corner of the vehicle for the slip force, is included
for consistency inthe overall vehicle model. Furthermore, , since
both
and represent the tireforce, each for different operating
conditions. The sum of the membership functions in Equation
-
15
v w1s w
v vs v
u w1,t=khu v,t=kh2 1
4 3
Figure 3.3: The stick tire model is modeled as a double
spring-damper system between the
trajectory of the vehicle and the trajectory of the wheel. and
are the trajectories for thevehicle and the wheel spin velicities,
and and are the positions on these locations at time !
.
3.1 therefore needs to be always 1. The input torque to the
wheel becomes#"$% & ' ( ) ' *,+ - % & ' ( ) . ) '
(3.2)where /0 1 is a sigmoid membership function, given by
/0 1 22435 6 7 8 9 : ;= @ A 8 ;=B C D (3.3)Figure 3.4 shows the
plot for the membership function in Equation 3.3. In the equation,
E representsthe gradient factor and F represents the center of the
switching region. This center point is basedon the maximum of G and
HI *,+ . This maximum defines the slip velocity, which is the
commandvalue for the fuzzy switching.
The following equation summarizes the fuzzy switched tire
model
"- % & ' ( ) ' JKL "/0 1 - 0 1 ) . 3NM 2PO /0 1 Q "-RS )
."/0 1 - 0 1 ) T 3NM 2PO /0 1 Q "-RS ) TUV WX (3.4)
The stick model force - 0 1 is given by "- 0 1 ) . Y % 1 ' B Z M
) . O Q 3[ % 1 ' B Z 2 M ) . O Q \ (3.5)
-
16
6 0 6
0
0.5
1
max(vv,v
w)
Mem
bers
hip
Membership functions for the fuzzy tire model
St
=1/1+e4(|x|6)
Fr
=11/1+e4(|x|6)
Figure 3.4: Graphical display of the fuzzy logic sigmoid
membership function.]_^`Ia b c de f#g b h i j kl c d4mn_g b h i jop
kl c d q (3.6)In order for small numerical errors to accumulate in
the force
^`Ia b, and to represent the physical
property that a pair of rolling tires will not accumulate
opposite lateral forces, a high-pass filter withlow cut-off
frequency is applied. The trajectories p l and p ] are thus
computed as the high-passfiltered integrals of the differences of
the vehicle and wheel spin velocities ^r l and ^r ] .^p l c j
s?tevua bw ^p l c j4m ^x l c j y (3.7)^p ] c j s?t4evua bw ^p ] c
j4m ^x ] c j y (3.8)In other words, the velocity difference is
integrated, and the result is subjected to a decay factorin time.
Using the discrete time domain, the trajectories can be expressed
in the z -transformrepresentation as
^kl=w { ye ua bo| ua b {=} t?^x l=w { y (3.9)^k ] w { ye ua bo|
ua b {=} t?^x ] w { y (3.10)The longitudinal and lateral shear
friction forces
`~ c and`~ c d
are depend on the particularterrain surface. Their values are
derived from the Dugoff tire model in Appendix B. The input-output
map for
u, the most relavant factor in the expression for the friction
forces is given for the
-
17
v(vehicle speed)
w(wheel speed)
Braking
Traction
Braking
Traction
Reverse
Forward
+
Figure 3.5: Polar slip friction coefficient representation.
longitudinal force in Figure 3.5. The absolute value for is read
from the graph as a function ofthe vehicle and wheel speed
velocities. When is to the upper-left side of the dashed line, its
signis negative.
3.3 Implementation
At the implementation level, the algorithm can be assembled
according to the above equations andthe results of Appendix B (In
particular Equations B.34 to B.43).
The calculation of using the the dynamic equations in the Dugoff
model, can result intime consuming numerical problems, especially
when the velocities are small. A condition forcomputing the
equations that relate to the Dugoff model is introduced in the
actual code, since theequations need not be solved for low speeds,
because the stick model will then be applied.
if (fabs(WheelSpin)>fabs(WheelTravel[PF_X])) mspeed =
fabs(WheelSpin);
else mspeed = fabs(WheelTravel[PF_X]);
membership = 1/(1+exp(4.0*(mspeed-6.0)));
patch_dispx[i] -= (WheelTravel[PF_X] - WheelSpin)*dt;
-
18
patch_dispy[i] += WheelTravel[PF_Y]*dt;
patch_dispx[i] *= membership;
patch_dispy[i] *= membership;
if (membership
-
19
0 10 20 30 40 50
6
Sp
eed
s (m
/s)
Forces with Logic Switch
vv
vw
0 10 20 30 40 5010000
5000
0
5000
Time (s)
Fo
rces
(N
)
0 10 20 30 40
6
Sp
eed
s (m
/s)
Forces with Fuzzy Logic
vv
vw
0 10 20 30 4010000
5000
0
5000
Time (s)
Fo
rces
(N
)
Figure 3.6: Simulation results with the fuzzy tire model for
acceleration and braking. The top
graphs show the velocities, the bottom graphs the associated
longitudinal slip forces. The left
graphs shows the slip forces when using a digital logic switch
for the friction models. The right
graph shows the smooth transition when using fuzzy logic
switching.
-
20
3.5 Conclusion
A new fuzzy logic based dynamic tire friction model has been
derived, to simulate realistic forceresponse, for all vehicle and
wheel speeds. The fuzzy tire model is based on physical
characteristicsand properties of slip friction and stick friction.
The stick friction properties have been modeledas a spring-damper
system for the longitudinal and the lateral directions for in case
of slow drivingscenario, hence in the situation of no slip.
The model presents a set of analytical equations that is
incorporated into the vehicle model,allowing it to simulate a
vehicle in driving scenarios of any vehicle velocity.
-
Chapter 4
Numerical Integration of the Vehicle Model
The vehicle model and the fuzzy logic tire model have been
defined in the precesing chapters.The next step towards
implementation and numerical simulation is the selection of a
suitableintegration method. Integration methods are studied by many
scientists in a wide field of research.The emphasis in this thesis
is on the real-time application and the non-linear character of the
model.
In this chapter, first an overview of integration methods for
real-time application and accuracy willbe given. Then the
discussion focuses on the interconnected system for digital
real-time integrationalgorithms. Examples are given for
illustration.
4.1 Transformation and Integration Methods
The closed loop system of the vehicle system has been modeled in
three submodels in Chapter 2.The next task towards simulating, is
to translate this model so that its behavior can be calculatedin a
computer. This task is discussed in the following sections.
When a continuous time system is simulated on a digital
computer, its response is computed atclosely spaced discrete times.
Output results are generated by joining the closely spaced
calculatedresponse values with straight line segments,
approximating a continuous curve. The accuracy andspeed of
computation depends on the integration scheme that is used and on
the choice of theintegration step size.
Especially for the real-time simulation of continuous dynamic
systems, the choice of numericalintegration methods is an important
consideration. In real-time simulations, the choice of
numericalintegration methods is generally based on different
considerations than those used in numericalsolutions in off-line
predictive studies, when there is no real-time requirement.
For example, in real-time simulation, a fixed integration time
interval is used, since the simulationmust always produce the next
value of each dynamic state variable at or before the time the
variablewill occur in real-time. This requirement sets a lower
limit on the mathematical step-size which
21
-
22
t t t
t t t
f f f
fff
fn-1
fn-1 fn-1
fn fn
fnfn
fn+1fn+1
fn+0.5fn+1fn+1
(n-1)h
(n-1)h (n-1)h
nh nh nh
nhnhnh
(n+1)h (n+1)h (n+1)h
(n+1)h(n+1/2)h(n+1)h(n+1)h
a. Forward Euler Integration b
. AB-2 Integration c. Backward Euler Integration
d. Bilinear Integration e. 3rd Order Implicit Integration f
. Modified Euler Integration
fnfn+1
xn+1=xn+h(fn+1+fn)2 x
n+1=xn+
h (5fn+1+8fn-fn-1)12x n+1=xn+hfn+1/2
xn+1=xn+hfn x
n+1=xn+hfn+1x
n+1=xn+h(3fn-fn-1)2
Figure 4.1: Graphical intepretation of different integration
algorithms for the differential equation_ .
-
23
can be used for integration.
The need for a fixed time-step is in fact somewhat of a
blessing, since it means that the -transformmethods, originally
developed for the analysis of sampled data systems can be utilized
for dynamicerror-analysis of real-time digital simulations. Care
has to be taken, to verify that stiff subsystemsor marginally
stable poles in the continuous sytem do not cause instability after
transformation.From Figure 4.2 it can be seen that part of the left
half plane in the -domain is mapped outside theunit circle for the
forward Euler transformation. In other words, stable poles in the
continuous timedomain can result in unstable poles in the
discrete-time domain when the unsuitable integrationscheme is used.
This aspect will be further addressed in the following
section..
Another consideration is that in real-time simulation, the
integration algorithms cannot requireexternal input data prior to
the time when it is available in real-time. This eliminates many
implicitintegration methods that are popular in non-real-time
applications. To avoid this limitation, asuitable partitioning of
the model into sub-models can be usefull in the sequencial
calculation.An emphasis to partition the vehicle dynamics can
therefore be noted from the preceding sectionconcerning the
development of the model.
There will be a maximum allowable integration step size for any
given dynamic simulation using aspecific integration method, for
which the dynamic accuracy of the simulation is barely
acceptable.One important aspect is the computer power that is used.
From the above real-time requirement, itfollows that the CPU cannot
take more than seconds to complete all the calculations
associatedwith each integration step. Section 6.3 will discuss this
matter as well, once the vehicle dynamicsformulation has been
defined.
Hence, real-time simulation of a dynamic system must be
considered as a sampled data system.The system response is
evaluated at equally separated points in time .It must be
understood that discretization of the system automatically implies
the selection of anintegration scheme. After the transformation,
the linear system in Equation 2.2 is transformed toa system that
describes the new states ? as a function of the previous states and
the previousinputs and the new inputs ? .Since the resulting system
incorporates an integration scheme, care must be taken in the
selectionfor this integration method, as a more complicated scheme
(like a order Runge-Kutta) willincreasingly intensify the
mathematical effort to compute the solution of the system. The
advantageof a complex and more accurate integration scheme is that
a larger step-size can be selected.However, this advantage fails
when the system behavior is non-linear.
Six of the popular integration methods are shown in Figure 4.1.
From this overview it is clear thatthe methods in Figures 4.1a and
4.1c, respectively the forward and backward Euler
integrationmethods, are the least computationally intensive. As the
trade-off, they generate the largestsimulation error, when used to
compute the output response of a system.
The next more complex method with improved accuracy, will be the
bilinear (or Tustin, ortrapezoidal) integration method. Note that
the implementation of the modified Euler method inFigure 4.1f would
result in the bilinear transformation scheme, when using a fixed
integration stepsize.
-
24
j
s-plane
(a) Continuous Domain
Im
Re
z-plane
1-1
(b) Forward Euler Transformation
Im
Re
z-plane
1-1
(c) Bilinear Transformation
Im
Re
z-plane
1-1
(d) Backward Euler Transformation
Figure 4.2: Three different transformation methods for
approximating continuous to the discrete
time domain, with the corresponding stability regions.
-
25
Figure 4.3: A general example of a second order mechanical model
with force input and position
output.
The bilinear method is demonstrated in Figure 4.1d. These three
methods have the followingtransformation equivalents
Forward Euler Approximation Backward Euler Approximation
Bilinear or Tustin Approximation(4.1)
Detailed derivations and formulation aspects on these three
schemes can be found in Chapter 13in [38]. An important
consideration for the choice of integration approximation method is
themapping of poles from the -plane to the -plane. Figure 4.2 shows
how the area of stable poles inthe continuous domain is translated
to the discrete domain. From a stability perspective, the
betterchoice for the integration method will be either the backward
Euler, or bilinear transformation.
A combination of the forward Euler and Bilinear approximation
methods in Equation 4.1 is usedfor the VVSS. To illustrate how they
are implemented, consider the continuous time interconnectedsystem
in Figure 2.2.
Subsystem Transformation
The computation of integrations inside the individual subsystems
are implemented with the bilineartransformation method, shown in
Figure 4.1 . For example, for a system with force input andposition
output, as given by Figure 4.3 we would integrate as follows:
? 4 ? ?I I (4.2)and subsequently
-
26
?4 4# ? ? I I (4.3)The selection of the above integration
methods is based on the fact that maximum accuracy isdesired for
the dynamics response of the internal subsystems. At the same
token, the simulationwill have to be conducted in real-time. This
means that a fixed integration step size will have to beused, and
no iteration schemes can be applied for evaluating a single point
in time. Hence, onlyexplicit methods are applicable.
The application of the integration method leads to a discretized
approximated system of thecontinuous system in Equation 2.3. It
will result in the discrete state space system
x x _ u v x u (4.4a)
y x
u
x
u (4.4b)The inverse -transform applied to Equation 4.4b will
give the following solution to for the systemresponse at
x ? x
v u
? u
x
? u ? x u (4.5a)
y ? x
? u
? x
? u ? (4.5b)
where the lumped matrices , and are given by = (4.5c) (4.5d)
(4.5e)
System Interconnection
Now take the system in Figure 4.4. This system is a decoupled
version of the model of the VVSS,given in Figure 2.2. Assume that
the subsystems , and are discretized with the bilinearintegration
method, as discussed in the preceding paragraphs. The resulting
transfer functions forthe subsystems are now given by
y u
, or in short y
u
(4.6)
-
27
Interaction with
human driver and
terrain u x x x
Figure 4.4: interconnected discretized closed loop system.
In the process of evaluating the system at a given time = , each
of the three subsystems will becomputed consecutively. Figure 4.4
shows the model for the VVSS in discrete time representation.The
submodel with the human driver and terrain is denoted by the
operator . For the firstsubsystem , we must realize that the input
u at is computed from the output of thethird system at the previous
time interval , hence
u x (4.7)
Obviously, if has any dynamics, they will be integrated using
forward Euler. In the followingderivations, the subscripts , and
will be employed for the system matrices and todenote which
subsystem they apply to. The output of the first subsystem is
computed as
x x u u (4.8)
Then, for evaluating the second subsystem, we realize that the
input is the output x of the firstsubsystem that has just been
computed. Incorporating this gives
x x x x (4.9)
And for the third subsystem similarly
x x x x (4.10)
The above equations can be formulated using the -transform for
the linear terms, asx u x u x u (4.11)
-
28
x "! # $&%' ( # $ )*+, - . . ( /10 2, - . . 3 x 04%5, - .
.67 . . # x 8 9 x 08 : 0 (%7 . . # x 8 9 x 08 (1; (4.12)x < "! #
$&%' ( # $ )*+, - . . . ( /10 2, - . . . 3 x 4%5, - . . .67 . .
. # x 8 9 x ? +, - .DC C2, - . .E+, - . .DCCF2, - . . .G+, - . .
.
@ AB =>? x 0x x ? 2, - .CC
@ AB u
% =>? 5, - .H! I7 . # x 8 9 x
-
29
the second and third equation. We can express the result of this
implicit process in an explicit
form by substituting the expression for [\ ] ^ _1\ in the second
equation and then substitutingthe expression for [` ] ^ _1\ in the
third. Rearranging of the result after substitution gives[\ ] ^
_1\4ab[\ ] ^ced fg ^[` ] ^ _1\4ab[` ] ^ceh f[\ ] ^ced h f `iVg ^[ j
] ^ _1\4ab[ j ] ^cek f[` ] ^ceh k f `i [\ ] ^cld h k f jm g ^From
this last equation, we could not tell at sight that [ j is the
integral of [` .
Generally, a system of simultaneous equations will be
transformed to produce an explicit expressionfor the state values
using linear algebra. The following example will show this
process.
EXAMPLE 2 Linear vector solution of differential equation using
Tustin
Take again the linear triple integrating system from example 1.
Consider the set of three
simultaneous equations. After separating state values for n4ao p
cbq r f and n4abp f to the leftand right side of the equal-sign,
the following system will appearstu qwvxvy h z ` q{vv y k z ` q
| }~ stu [\ ] ^ _1\[` ] ^ _1\[ j ] ^ _1\| }~ a stu qvvh z` qvvk
z` q
| }~ stu [\ ] ^[` ] ^[ j ] ^| }~ c stu d fvv
| }~ g ^ Multiplying left and right side with the inverse of the
matrix on the left, will result instu [\ ] ^ _1\[` ] ^ _1\[ j ] ^
_1\
| }~ a stu qwvxvy h z ` q{vv y k z ` q| }~H \ stu qvvh z ` qvvk
z` q
| }~ stu [\ ] ^[` ] ^[ j ] ^| }~ c stu d fvv
| }~ g ^ a stu qvvh z` qvh k z k z ` q
| }~ stu qvvh z ` qvvk z` q| }~ stu [\ ] ^[` ] ^[ j ] ^
| }~ c stu d fvv| }~ g ^
a stu qvvh fqvh k z ` k fq| }~ stu [\ ] ^[` ] ^[ j ] ^
| }~ c stu d fd h z `d h k z | }~ g ^
The individual state equations of this solution are equal to the
ones in the preceding example.
For example the state equation for [ j is given by[ j ] ^
_1\4ab[ j ] ^clh k f `iV[\ ] ^clk f[` ] ^ which cannot be
immediately observed from the system model diagram. In this example
we
have transformed the discrete model into an explicit form. The
representation is the solution
to the state transition equation.
-
30
The method of matrix inversion of Example 2 cannot be used for
the non-linear system of the VVSS.These linear examples with linear
models however, illustrate the complexity of the
approximateddiscretized model when using the bilinear integration
method.
The non-linear model is organized in such a way that the
structure of the state transition matrixapproaches lower triangular
shape as much as possible. The lower triangular shape allows
forimmediate substitution of state values for Vb in the sequencial
evaluation process, as wasillustrated in Example 1. The ideal
formulation for the system is thus given in Expression 4.14.
The aim towards this structure fails whenever there is internal
feedback. For internal feedback,only values at the previous time
step " are available for the states that are fed back.
Theintegration method for the feedback loops will thus be forward
Euler 4.2 Conclusion
The requirement of real-time simulation adds a serious
constraint to the selection of a numericalintegration method. The
discussion in this chapter highlighted on the necessity for an
explicitformulation of the state equations, after incorporating the
integration approximation method.
The bilinear integration method applies well in the case of
decoupled interconnected systems. Incases when internal feedback
appears, the forward Euler approximation method has to be used.The
bilinear method is not too complex so that it can be used for
real-time simulation, yet it isstable and sufficiently accurate to
simulate the vehicle dynamic response in a reliable fashion.
In the reccomendations, a Luenberger observer is suggested, to
estimate state values, so that the bilinear integration
method can still be used, but based on estimations of the state
values.
-
Chapter 5
Simulation Platform with Integrated
Networking Environment
In this chapter, the multi-processing configuration for
real-time simulation is introduced. Thename in the title will be
referred to in short with SPINE. The objective is to implement the
VVSSin such a way that other workstations can interact with the
vehicle model during the simulation,while minimizing disturbance to
the simulation performance. It will be shown that by
simulatingparts of the vehicle model in a remote workstation
through SPINE, a change in integration schemetakes place. The
implications of this change will be discussed. Furthermore an
observer systemwill be introduced to predict simulation output when
a workstation does not respond in time.
5.1 Introduction
Modular thinking has introduced a new realm of engineering of a
fundamental systems approach.Methods on modularity are diverse and
are associated with many disciplines. The commonphilosophy, is that
subsystems can be considered individually, without loss of
generality in theoverall systems requirements.
The next step in the exploration towards virtual vehicle system
simulation is modularity. TheVVSS will become effective and
efficient for virtual engineering and prototyping when
partitionsand submodules of the vehicle model or the virtual
environment can be substituted.
At the same time it will be beneficial in several ways, to
simulate these modules remotely. It isbeyond doubt that simulation
performance can be improved, when different modules are executedon
different machines. This will allow for multi-rate multi-processing
in a integrated systemstructure. Furthermore, it will contribute to
the generality of the simulator, when attributes to thevirtual
environment (like terrain, the vehicle platform, optional armor
etc.) can be replaced asmodules in a multi-purpose simulation
facility.
31
-
32
Pentium-PCIntelligentPeripherals
Pentium-PCDriver CabInterface
Pentium-PCEngine and
Transm Contr
Pentium-PCTrajectory,Navigation
Pentium-PCTractionControl
Pentium-PCActive
Suspension
Pentium-PCCollisionWarning Silicon Graphics
Reality Engine
250 MHz4xR10000 CPU
IRIX-Performer
StereoscopicVisualization
Bilateral Force andMotion interface
Surround Audio
Full Observer/CommanderVirtual Mission Immersion
TCP-IP 100 Base-T
Human DriverHuman Driver
Pentium-PCAnti-Lock
Brake model
Stereoscopic Scenery Display
Figure 5.1: The proposed implementation for the Virtual Vehicle
System Simulation (VVSS) in
the Simulation Platform with Integrated Network Environment
(SPINE).
As a third, not the least important argument, system modularity
allows the researcher to extractone module from the simulation, and
replace it with another (high detail) module, in order to gainmore
fidelity and hence more accurate simulation results for the
particular subsystem. Modelingseveral high fidelity models through
SPINE in this manner implies the simulation of a high detailmodel
with intelligent load distribution. Or an engineer could replace a
submodel of the vehiclesystem to analyse new control concept
systems.
Finally, it will be advantageous to Oakland University, to be
able to conduct additional researchgradually, for future
improvements on the VVSS. The modular design in this chapter
contributesto these goals.
5.2 Methods for multi-processing
Multi-processing needs to be viewed upon as a method for
performing the computation task of, inthis case simulation. To
speak in general terms, assume the following model to be the system
thatwe would like to simulate:
(5.1)
Three methods for multi-processing in the application of
simulation will be discussed, each with
-
33
CPU1 CPU2 CPU3 (a) Configuration 1
CPU1
CPU2
CPU1 H (b) Configuration 2
CPU1
CPU2
CPU3
eee
(c) Configuration 3
Figure 5.2: Three variations of configurations for Multi-CPU
simulation models.
-
34
a different partitioning of . First there is the proper model
partitioning method. As shown inFigure 5.2a. The model has internal
chain connectivity. It must be object-oriented, decoupled andthe
total system will have to have a cascaded configuration.
The disadvantage for multi-processing is that, if a model is
divided into several partitions, eachpartition can only use the
simulation results of the previous time step for every other
partition,since the current results for the other partitions are
being computed simultaneously in parallel. Inother words, the
decoupling introduces a time delay into the system, because the
interconnectionbetween the subsystems can only be defined in an
explicit manner. As a result, the response ofthe system for input
actions will be retarded and there is the possibility of the system
becomingunstable. From the point of view of mathematical
integration technique, the bilinear method isreplaced with the
Euler method at each subsystem interconncetion.
A solution for the time delay and the instability problem would
be, to cancel the delays by addinga zero in the origin of the
pole-zero map of the system, for each interconnection. Technically
thiswould change the integration method between the subsystems from
forward Euler to backwardEuler. The implementation however, would
mean that the CPUs have to wait for eachother tofinish their
computation. In other words, a system solution for J will be ready
after simulation clock cycles, where is the number of
interconnected subsystems. This solution woulddefeat the purpose of
parallel computing and multi-processing.
Then there is sequencial simulation, as demonstrated in Figure
5.2b. This method could beimplemented using semaphores or
waitstates to synchronize communication and processing. CPU1 will
evaluate a partition of the system, communicate with CPU 2, and
then wait for the output ofCPU 2 before it will finish the
simulation cycle.
This method does not exploit double computer power for parallel
processing. In fact, the simulationis pseudo single-processing.
The third method is based on concurrent computing of states, as
shown in Figure 5.2c. The requiredinputs for solving the equations
of a (submodel for a) state will be made available by the first
CPU.In this fashion, high frequency dynamics in the model can still
propagate high bandwidth to theoutput. However, the bandwidth of
the output of the submodel will be limited.
The last method results in a generalized formalization of
multi-processing, at the cost of decreaseof bandwidth for parallel
simulated states. Since this configuration allows us to select
parallelsubsystems in the form of specific dynamic states, this
method is adopted for SPINE. The nextsection will detail about the
third configuration.
5.3 Multi-processing of dynamics models
The setup for the multi-processing vehicle simulation is
presented in Figure 5.1. The mathematicalapproach for the
interaction of modules with the vehicle simulation is presented in
the followingparagraphs. The concept is to replace one or more
states in the general vehicle dynamics state spacesystem matrices,
with outputs of a model that is simulated elsewhere on the
integrated network.
-
35
For the interaction this means that in each integration step,
the VVSS will request the modules forreplacement of system states,
and then return a set of updated states.
The vehicle dynamics model has been presented in Chapter 2, and
is given in the form of thenonlinear state space representation in
Equation 4.14. To introduce the concept of replacing statevariables
in a system, a general case of state-replacement for a linear
system will be presented asan example first.
EXAMPLE 3 Substituting a state in a linear system and adding a
state.
Consider a linear homogeneous system, consisting of the state J
at b where each element is given by 1b H 1 (5.2)Suppose that state
variable represents an element in the dynamic model. The equation
forthe state at time is described by
14
... 1 1
...
(5.3)
The submodel for evaluating the state may contain additional
states. In this case a state
will be added to the total system. An additional row in the
transition matrix will express the
dynamics of the new state;
1 14 H 1 H 1 1
... 1 1
... 1
(5.4)
and an additional column is added to represent the contribution
of the added state 1 to the
states for 14 . The states are expressed for b e , and are based
on values for
-
36
the states at . This means that the system is explicit can can
be computed by a digitalcomputer.
The above example mentions that the state value 1 is based on
values of states at time H .The same holds for the other states in
the system. Whilst after each simulation cycle the statevalues for
will be exchanged. This notion will be important to understand the
timingimplications of parallel simulation.
Since the vehicle dynamics model is nonlinear, we will discuss
the state-replacement now for thenonlinear case.
EXAMPLE 4 Substituting a state in a non-linear system.
If each state is assumed to be described by a nonlinear function
, then we can writea nonlinear system as
1... 1
...
...
... ... ...
(5.5)
For this case, replacing the functional model for state means
that each model for , where that is dependent on the state value
will be changed to reflect the new model .The superscript notation
is introduced for state . It is used to denote that the new state
is computed in remote process 1. In formula
1 b
... 1 1
...
...
for (5.6)
where for , the new model is given by
-
37
! " # $ % & ' "())))))))))))*
+,,,,,,,,,,,,-
# $... " . # $ " # $ " % # $... / # $
0 11111111111123 +,,- 4 # $...4 5 # $
0 1126 77777777777789 (5.7)
Substituting Equation 5.7 into 5.6, shows that : # $ % depends
directly on states and inputs attime ;= by means of " # $ .
The problem here is that the value for state @ is not updated
until communication for exchange ofdata takes place. Hence,
parallel simulation of a submodel will introduce time delay in the
system.This notion can also be understood when considering that
Equations 5.6 and 5.7 are concurrentlycomputed for each integration
step. Substituting 5.7 into 5.6 shows that A : # $ % B now depends
onstate values CA " # $ for the following integration steps D ,
before the value of state @ is updated. Theconcept of state
equation replacement by a parallel model will thus introduce one
integration timelatency or phase lag. In order to understand the
timing of the system, we will take a closer look atexample 4.
The evaluation of state CA " # $ % is based upon the state
values at EFHG!I . Likewise the evaluation ofthe remaining system
will be computed with values for the state CA " at time EFHG!I .The
trade-off for using the method of parallel simulation that is
presented here, is that fast states,or states with a large
bandwidth will show degradation of dynamic performance caused by
theinferior integration method, when simulated in a parallel
CPU.
Note that a submodel for state with a small bandwidth, which
requires inputs with small bandwidthmay still expose high frequency
dynamic behavior internally. The system will experience minimumloss
of fidelity when the bandwidth of the signals that are exchanged
between the processes islow, with respect to the integration time
interval. The selection of the integration step size in thisrespect
is further discussed in Section 7.3.
The phase lag increases when yet another state CAKJL is remotely
computed, on which CA " depends.The following example will
illustrate this scenario.
EXAMPLE 5 Simulation of a non-linear system with two dependant
parallel subsystems.
The possibility exists that the delay in the system will
increase when two subsystems are
simulated on SPINE. This happens when one of the subsystems is
dependant on the other. For
example, with MONP , we would have
-
38
QR!ST U V=W QX ST
YZZZZZZZZZZZZZZZZZZZZZZZ[
\]]]]]]]]]]]]]]]]]]]]]]]^
R S U V _ S...R T _ S U V _ SQR ST U V _ SR T ` S U V _ S...R a
_ S U V _ SQRcba U V _ SR a ` S U V _ S...R d U V _ S
e fffffffffffffffffffffffgh \]]^ i S U V _ S...i j U V _ S
e ffg
k lllllllllllllllllllllllmh (5.8)
where for the additional replaced state modelQRcba ,
QR ba U V _ S W QX ba
YZZZZZZZZZZZZZZZZZZZZZZZ[
\]]]]]]]]]]]]]]]]]]]]]]]^
R S U V _ b...R T _ S U V _ bQR ST U V _ bR T ` S U V _ b...R a
_ S U V _ bQRcba U V _ bR a ` S U V _ b...R d U V _ b
e fffffffffffffffffffffffgh \]]^ i S U V _ b...i j U V _ b
e ffg
k lllllllllllllllllllllllmn (5.9)
The time index in the above expressions is chosen so that the
delay can be explained with
Figure 5.3.
For example state R S U V depends on the output of state QR T U
V _ S . Similarly, state QR T U V _ S requiresQR a U V _ b as an
input. Thus, the propagation of a dynamic behavior to a state R S
will take asmuch as 3 integration step sizes, eventhough originally
there might mathematically be a direct
relation from input to output for this behavior.
Time delay introduced in the system when a subsystem is
simulated in parallel, technically, becausethe prediction of the
dynamics of the state values in the system is lost when a state
model is separatedfrom the system model, and is simulated in
parallel to the rest of the system instead. To comparethe situation
with teamwork, realize that efficiency is lost, when a task for one
person is now beingdelegated to two persons who only communicate
for one hour per week.
-
39
Time (T s)k-3 k-2 k-1 k
x1,k-3
xn,k-3
x1,k-2
xn,k-2
x1,k-1
xn,k-1
x1,k
xn,k
x1,k+1
xn,k+1
k+1
~xp,k-2~xp,k-1~xq,k-1
~xq,k~xq,k+1
~xp,k~xp,k+1
Communication checkpoint, exchange state valuesSimulation
execution
o o o oprq prqpts pts ptsprq prq
Figure 5.3: Timing diagram for double dependant replaced state
variable.
As was explained in Chapter 2, the prediction is implicit in the
vehicle dynamics system, sincethe continuous time model has been
transformed to the discrete time model using the
bilinearintegration method.
The remote states can be evaluated correctly, if the
coefficients of the explicit state transitionmatrix would be
available. However, this will require many of the vehicle dynamics
modeling tobe computed in the remote CPU.
As an illustration of this argument, the following example will
demonstrate the simultaneoussimulation of a state in a parallel
process.
EXAMPLE 6 Parallel simulation of a state using SPINE.
When a state model is simulated remotely through SPINE, a time
delay is introduced. The
cause for the delay is swiching of the integration method to
forward Euler approximation. To
illustrate this phenomenon, consider the integrating system from
Example 1
Take the simple third order linear system from Example 1.
Suppose we would like to replace
the second subsystem, i.e.
u v w v xvy z!{ |zc} z ~In the simulation of the parallel
process we will model state zc} as|zc} v w v z!{ v
-
40
However, since only values at are available, and we cannot use !
K for the bilinearapproximation method, the solution of the
discretized state equation will bec K c ! which implies the
application of forward Euler integration.
The bilinear integration method could of course be solved by
modeling statec as a function
of ! and K from the equation in Example 2, asc K c c! r cThis
solution will generally require more state variables and the inputs
to be available, and the
explicit representation of the state equations. These two
requirements are generally difficult
to meet. If they cannot be met, it means that the simulation
performance degrades.
In the preceding example, two requirements for solving the delay
problem are highlighted. Theyare:
1. All the state values and inputs need to be available, and
2. The explicit expressions for the state equations need to be
known
In the case of the vehicle dynamics model of the VVSS however,
we do not have the explicitrepresentation of the state equations
since the model is non-linear. The conclusion is that theparallel
simulation of the states will demand the use of the Euler
integration method for theparticular state. Only in some cases we
could incorporate additional states and inputs to reconstructthe
expression for explicit bilinear integration, but this is generally
not the case. The implicationsfor accuracy and stability of this
conclusion will be discussed in Section 7.3.
5.4 Implementation through Indexing
The objective for parallel simulation through SPINE, is so that
states or submodels of the vehiclemodel can be selected and
configured dynamically, without re-organizing the structure of
thevehicle dynamics model itself.In other words, the system must be
able to allow for any state at any given time, to be separatedfrom
the model and be computed in a parallel process through SPINE. The
methodology that hasbeen adopted to achieve this objective is
called indexing, which makes use of a pointer table. Thepointer
table in the application of SPINE will be referred to as index
library t . The methodhas been widely used in computer science, in
the application of interrupt handling.
The idea is that instead of the actual state values, a pointer
is used in the state equations. Thepointer directs the simulation
to the location of the state value. The computer science
community
-
41
t K ...t ! ...t !c
!! K
Figure 5.4: Indexed states represent state values through
indirect addressing. The library indext ! allocates the pointer
which is the index reference pointer for the actual state
value
!.
The contents of the pointer can be changed to reference another
state value, for example
orK
.
adopts the term indirect addressing for this method. This
concept of pointer technology has beenadopted from the science of
computer architecture, where an interrupt pointer table is used
toidentify the locations of interrupt handler routines. The use of
the index library is further explainedin Example 9.
In the application of the virtual vehicle system simulation, it
means the following. As soon as wewould like to replace a state
with the output of a parallel simulation, we will only need to
changethe pointer for the particular state, to direct the execution
of the simulation to the location of thenew value. The notation
is adopted to denote the pointer to the state value
. The concept of the
state value pointer is shown in the diagram in Figure 5.4. The
following example shows the use ofstate pointers for a linear
system.
EXAMPLE 7 Parallel simulation using state pointers.
Assume the linear integrating system in Example 1. The implicit
state equations, using the
bilinear approximation method will now be expressed in terms of
the state pointers. K K r K! K KK The input is considered to be a
zero-order hold input for simplicity. By default the
pointersrepresent the location of the state value;
-
42
When we would like