VIRTUAL VEHICLE SYSTEMS SIMULATION

176
VIRTUAL VEHICLE SYSTEMS SIMULATION A MODULAR MULTI-CPU APPROACH IN REAL-TIME by G. Edzko Smid A dissertation submitted in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY 1999 Oakland University Rochester, Michigan Doctoral Advisory Committee: Professor Ka C. Cheok Professor I. Schochetman Professor M. Das Professor K. Li Professor G. Honderd

Transcript of VIRTUAL VEHICLE SYSTEMS SIMULATION

  • 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