Cover
Reference Manual
Version 2.1
The information in this document is furnished for informational use only, may be revised from time to time, and should not be construed as a commitment by IPG Automotive GmbH. IPG Automotive GmbH assumes no responsibility or liability for any errors or inaccuracies that may appear in this document.
This document contains proprietary and copyrighted information and may not be copied, reproduced, translated, or reduced to any electronic medium without prior consent, in writ-ing, from IPG Automotive GmbH.
© 1999 - 2006 by IPG Automotive GmbH – www.ipg-automotive.com All rights reserved.
FailSafeTester, CAR, CONTROL, DRIVER, ENGINE, GRAPH, IPG-KINEMATICS, IPG-LOCK, IPG-MOTORCYCLE, IPG-MOVIE, IPG-ROAD, IPG-ROADDA-TA, IPG-TIRE, IPG-TRAILER, IPG-TRUCK are trademarks of IPG Automotive GmbH.
Contents
1
Introduction
9
1.1 General Remarks . . . 9
1.2 CarMaker Axis Systems . . . 10
1.3 CarMaker Geometry Input . . . 12
Conventions defining CarMaker Objects . . . 12
Guidelines defining CarMaker Objects . . . 12
1.4 CarMaker Naming Conventions . . . 14
CarMaker Subsystems . . . 14
Classification of Quantities . . . 15
Meaning of Abbreviations . . . 16
1.5 CarMaker Directory Structure . . . 18
1.6 About Parameter Files and Datasets . . . 20
Database Syntax . . . 20
FileIdent, Description and FileCreator . . . 20
Model Kind . . . 21
CarMaker Configuration Files . . . 21
1.7 ‘SimParameters’ File . . . 22
Application Parameters of CarMaker/HIL . . . 22
CarMaker Environment Parameters . . . 23
Data Storage . . . 23
Maneuver Control . . . 24
End of test run . . . 26
1.8 ‘ECUParameters’ File . . . 27
1.9 ‘OutputQuantities’ File . . . 28
1.10 General Parameters for TestRun Files . . . 29
1.11 Software Interfaces . . . 30
2
Driving Maneuvers
32
2.1 Overview . . . 322.2 Longitudinal Dynamics Maneuvers . . . 34
Speed Control (VelControl) . . . 34
2.3 Lateral Dynamics Maneuvers . . . 35
2.4 Special Maneuvers . . . 36
The first Mini Maneuver (Duration 0 Seconds) . . . 36
The last Mini Maneuver (Duration 0 Seconds) . . . 36
2.5 User Accessible Quantities . . . 37
3
Vehicle Body
38
3.1 Overview . . . 38Configuration of the vehicle model . . . 39
Finding the equilibrium state . . . 39
Vehicle Interface . . . 40
Interaction with other modules . . . 40
3.2 General Parameters . . . 41
3.3 Mass Geometry . . . 43
Overview . . . 43
Parameters . . . 43
3.4 User Accessible Quantities for Vehicle Body . . . 45
4
Suspension Force Elements
46
4.1 External Suspension Forces . . . 474.2 Springs . . . 48
4.3 Dampers . . . 50
4.4 Buffers / Bumpers . . . 53
68
5.2 Kinematics and Compliance . . . 70
5.3 Kinematics Models . . . 72
“Linear” and “Linear2D” . . . 72
“MapNL” . . . 74
“SetZero” . . . 76
5.4 Compliance Models . . . 77
“CoeffConstFr1” and “CoeffConstFr2” . . . 77
“SetZero” . . . 79
“CoeffLin1DFr1” and “CoeffLin1DFr2” . . . 80
“DisplaceLinFr1” and “DisplaceLinFr2” . . . 81
Example: Compliance . . . 83
6
Aerodynamics
84
6.1 Overview . . . 84 6.2 General Parameters . . . 86 6.3 Models . . . 87 ‘Coeff6x1’ . . . 877
Steering System
88
7.1 Overview . . . 88 Steer by Angle . . . 90 Steer by Torque . . . 917.2 Steering System Parameters . . . 92
General Steering System Parameters . . . 92
Steering System ’Classic’ Parameters . . . 92
7.3 User Accessible Quantities for Steering Systems . . . 93
7.4 Steering System Software Interface . . . 94
8
PowerTrain
95
8.1 Overview . . . 95Interface Powertrain – Vehicle . . . 95
PowerTrain Subsystems . . . 96
Interfaces of Powertrain Subsystems . . . 97
General Parameters . . . 98
8.2 Powertrain ’Generic’ . . . 99
Overview . . . 99
General Parameters . . . 103
Model ‘Generic’ Coupling Parameters . . . 108
8.3 Engine Torque . . . 110
Engine Torque Model ‘Mapping’ . . . 111
Engine Torque Model ‘Linear’ . . . 117
Engine Torque Model ‘DVA’ . . . 118
Engine Model Software Interfaces . . . 119
8.4 Clutch . . . 120
Clutch Model ‘Manual’ . . . 121
Clutch Model ‘Converter’ . . . 124
Clutch Model ‘DVA’ . . . 127
8.5 Gear Box . . . 128
GearBox Model ‘Manual’ . . . 129
GearBox Model ‘DVA’ . . . 130
8.6 User Accessible Quantities for PowerTrain . . . 131
8.7 Powertrain Software Interface . . . 132
9
Brake System
135
9.1 Overview . . . 135Brake Interface . . . 136
9.2 Brake System Software Interface . . . 137
9.3 General Brake System Parameters . . . 138
9.4 User Accessible Quantities . . . 140
General User Accessible Quantities for Brake Systems . . . . 140
9.5 Brake System PresDistrib . . . 142
Overview . . . 142
Brake System PresDistrib Parameters . . . 143
9.6 Brake System HydESP . . . 144
Overview . . . 144
Brake circuit configuration . . . 147
Brake booster . . . 149
Master Cylinder . . . 156
Wheel brakes . . . 158
Proportional Solenoid Valves . . . 172
Dynamic Solenoid Valves . . . 174
Inlet Valves with check valve . . . 175
Pilot valve with check valve and pressure limiting valve . . . 179
Suction valve . . . 181
Check Valve of the Low Pressure Accumulator . . . 182
User Accessible Quantities for Brake Module ‘HydESP’ . . . . 186
10
Tire
188
10.1 Overview . . . 188Tire Interface . . . 190
Tire load (normal force) . . . 191
Tire Model Computations . . . 192
10.2 General Tire Parameters . . . 193
10.3 Tire Model RT-Tire . . . 194
Rolling Resistance . . . 196
Importing Tire Measurements . . . 196
10.4 Tire Model Magic Formula . . . 197
The basics of Magic Formula . . . 197
Tire Description . . . 199
Scale factors . . . 200
Effective tire rolling radius . . . 204
Slip computation . . . 206
Longitudinal force (pure longitudinal slip): . . . 207
Lateral force (pure side slip): . . . 210
Aligning Torque (pure side slip) . . . 213
Longitudinal Force (combined slip) . . . 218
Lateral force (combined slip) . . . 220
Aligning Torque (combined slip) . . . 223
Overturning Couple . . . 225
Rolling Resistance Moment . . . 226
Transient Behavior . . . 227
Gyroscopic couple . . . 228
Friction coefficient . . . 230
11
Trailer Model
232
11.1 Overview . . . 23211.2 General Trailer Parameters . . . 233
Overview . . . 234
Parameters . . . 235
11.4 Suspension Force Elements . . . 237
Spring . . . 237
Damper . . . 237
Stabilizer . . . 238
11.5 Suspension Kinematics and Compliance . . . 239
Overview . . . 239
Sleeve Axle . . . 239
Crank Axle . . . 240
Semi Trailing Arm Axle . . . 241
General Suspension Model Parameters . . . 242
Additional Parameters for Suspension Model “Sleeve” . . . 243
Additional Parameters for Suspension Model “Crank” . . . 243
Additional Parameters for Suspension Model “SemiTrailingArm” . . 244 Compliance . . . 245
11.6 Hitch . . . 247
Overview . . . 247
Additional Parameters for Hitch “Ball” . . . 249
Additional Parameters for Hitch “Trapez” . . . 249
Additional Parameters for Hitch “BallFric” . . . 250
Additional Parameters for Hitch “BallDamp” . . . 250
11.7 Brake System . . . 251
Overview . . . 251
Parameters . . . 251
Additional Parameters for Brake Model “Overrun” . . . 251
Additional Parameters for Brake Model “Overrun1” . . . 252
11.8 Aerodynamics . . . 253
11.9 User Accessible Quantities for Trailer . . . 254
General User Accessible Quantities: Trailer . . . 254
User Accessible Quantities: Car . . . 262
12.3 User Accessible Quantities: Power Train . . . 268
User Accessible Quantities for PowerTrain . . . 268
User Accessible Quantities for PowerTrain ‘Generic’ . . . 268
User Accessible Quantities for Module ‘Engine’ . . . 269
User Accessible Quantities for Module ‘Clutch’ . . . 269
User Accessible Quantities for Module ‘GearBox’ . . . 270
12.4 User Accessible Quantities: Steering Systems . . . 271
General User Accessible Quantities: Steering Systems . . . . 271
12.5 User Accessible Quantities: Brake System . . . 272
General User Accessible Quantities for Brake Systems . . . . 272
User Accessible Quantities for Brake Module ‘HydESP’ . . . . 274
12.6 User Accessible Quantities: Trailer . . . 275
General User Accessible Quantities: Trailer . . . 275
12.7 UAQ´s changed from CM 2.0 to CM 2.1 . . . 278
Appendix
281
A
Mini-Maneuver Command Language
282
A.1 Syntax . . . 282A.2 Driving Maneuver Commands . . . 284
A.3 Direct Variable Access Commands . . . 285
A.4 Action Commands . . . 287
A.5 Logging Commands . . . 288
A.6 FailSafeTester Commands . . . 290
B
Traffic-Obstacles
291
B.1 Parameters and Quantities . . . 294Motion of an Obstacle . . . 296
Output Quantities . . . 298
B.2 Functions, Types and Variables . . . 299
Obsts_New() - create a new obstacle management . . . 300
Obsts_ObstclNew() - create an new obstacle . . . 300
Obsts_iGetObstcl() - get obstacle from infofile . . . 300
Obsts_ObstclAdd() - add a new obstacle . . . 300
Obsts_ObstclGetInfo()-getsinformationaboutdefinedobstacle 301 Obsts_ObstclDelete() - delete an obstacle . . . 301
Obsts_EndOfInput() - no additional obstacles . . . 301
Obsts_Calc() - calculate the obstacle module . . . 303
Obsts_GetObstsAbs() - get absolute obstacle states . . . . 303
Obsts_GetObstsRel() - get relative obstacle states . . . 304
Obsts_ObstVecDelete() - free obstacle output vector . . . 304
Obsts_Delete() - free obstacle management . . . 304
Example: Using Obstalces “by Hand” . . . 305
B.3 CarMaker Interface . . . 306
Variables . . . 306
Obstacles_Init() - initailizes obstacle module . . . 306
Obstacles_New() - create obstalces . . . 306
Obstacles_Calc () - calculate obstacles . . . 306
Obstacles_Delete () - delete obstacles . . . 306
Obstacles_Cleanup() - cleanup obstacle module . . . 307
Examples: Using Obstacles by CarMaker . . . 308
B.4 Obstacle Utilityobstutil . . . 309
C
IPG-MOVIE
310
C.1 IPG-MOVIE-INFO – Meta Information in Geometry Files . . . . 310D
Start Conditions
312
D.1 Overview . . . 312E
Road-Obstacles and Markers
313
E.1 Description of Road-Obstacles . . . 313Cylinders . . . 314
Beams . . . 315
Waves . . . 316
Cones . . . 317
E.2 Description of Markers . . . 318
Pylons . . . 319
Velocity Signs . . . 320
SideWind . . . 321
General Remarks
Chapter 1
Introduction
This is the CarMaker Reference Manual. It contains definitive informations about the usage of the different tools and modules bundled in the CarMaker software package.
1.1
General Remarks
CarMaker tries to keep as close as possible to conventions and naming of ISO 8855 1991, modified (or US English DIN 70000).
This applies amongst other issues to axis systems, kinematics of the sprung mass, forces and moments, suspension, vehicle response and wheels and tires.
All parameters and quantities are specified in SI-quantities unless otherwise stated: Table 1.1: SI Units used with CarMaker
Quantity Name Symbol
Time second s
Length meter m
Angle radian (one turn = 2*π) rad
Mass kilogram kg
Inertia kilogram meter sqared kg*m2
Force newton N
Torque newton meter Nm
Stiffness newton per meter N/m
CarMaker Axis Systems
1.2
CarMaker Axis Systems
In the virtual world of CarMaker different axis systems for different purposes are used. They are used to simplify calculation and parametrization for CarMaker objects (including signals and variables) and to be able to represent different points of views for CarMaker objects.
Frame Fr0
The CarMaker inertial axis system is calledFr0(pronounced: frame zero). This is the earth fixed origin of the ‘virtual world’.
Fr0 is defined as follows:
• (O) is the origin, (X), (Y), (Z) are the 3 axis. • (O, X, Y) is the horizontal driving plane (road). • (Z) is directed upwards (mathematically: ).
• The position of any point, if not mentioned explicitly otherwise, is expressed in Fr0.
Frame Fr1
Moving objects in the virtual world are based on their own accompanied axis system which is calledFr1. This axis system is fixed to the moving object. This means that the axis system
performs all movements of the attached object like translations and rotations.
Figure 1.1: CarMaker Coordinate systems x y z x y z x y z x y z
Fr2
x y zFr0
Fr1
x y zFr2
Fr2
Fr2
Mnt
frMnt
flMnt
rlMnt
rr f q( 0,q1) f q( 0,q1) f q( 0,q1) f q( 0,q1) f t( ) X ( )×( )YCarMaker Axis Systems
• In case of a trailer no part of the outer skin is situated before the (O, Y, Z)-plane. (see section 1.3)
Frame Fr2 (carrier axis system)
For every wheel there is a mountpoint (Mnt) defined within the Fr1 system. This is the center of reference of aFr2axis system attached to this mount-point. Mount-points are pure trans-lations (X,Y,Z) from the Fr1 axis system. They are fixed to the Fr1 system.
There are functional dependencies (suspension kinematics and compliance) howFr2is ori-entated relatively to its mount-point. There are two generalized coordinates for the movement of eachFr2axis system. Usually stands for compression and for steer influence.
Fr2 is defined as follows:
• Rules apply to any of the wheel carriers
• (O) is the center of the wheel. It is in the wheel plane. • (X) points in forward driving direction.
• (Y) is along the wheel spin axis. Vector points to the left. • (Z) is directed upwards (mathematically: ).
• Initially (all coordinates ofFr2 are zero)Fr2 is parallel toFr1. • (O, X, Z) is the wheel plane.
Frame FrX
The frameFrX(pronounced: cross frame) represents a road surface axis system. The (O, X, Y) -plane approximately describes the current orientation of the road surface. LikeFr1 this is a accompanied axis system as well and moves uniformly toFr1.
FrX is defined as follows:
• (O) is located in the middle between the two road surface contact points of the rear wheels.
• (X) is orientated from (O) to the middle of the two road surface points of the front wheels.
• (Y) is orientated along the connection from the rear left to the rear right road surface contact point.
• (Z) is oriented upwards (mathematically: ).
Frame FrD
TheFrD(pronounced: design-frame) is a parallel axis system to Fr1 with different origin. It is used to specify geometry input coordinates which are based on a different origin thanFr1 without recomputing them. Seesection 1.3.2 ’Guidelines defining CarMaker Objects’ on page 12.
FrD is defined as follows: • (O) is arbitrary
• (X) is parallel toFr1 (X) axis. • (Y) is parallel toFr1 (Y) axis. • (Z) is parallel toFr1 (Z) axis. q0q1 ( , ) q0 q1 X ( )×( )Y X ( )×( )Y
CarMaker Geometry Input
1.3
CarMaker Geometry Input
To define new objects (vehicles, trailers) a good understanding of the CarMaker principles and conventions is needed to obtain the expected results. The information provided in this section is very useful for this task.
1.3.1
Conventions defining CarMaker Objects
As a convention CarMaker objects have to be defined with their origin of Fr1 at designated positions. This is important because CarMaker assumes the origin at those designated places for every object. The following table shows the conventions where the origin for which objects has to be:.
1.3.2
Guidelines defining CarMaker Objects
To define a new CarMaker object geometry data has to be provided. Geometry data e. g. is needed for body mass, mount-points for (carrier-)frames, and additional loads (inclusive trimloads and engine mass).
Table 1.2: Origins of CarMaker Fr1 Objects
Type of Fr1 Origin
Vehicle Origin for the vehicles Fr1 is the hindmost point of the vehicle projected on road level.
Trailer Origin for the trailers Fr1 is the hitch point (foremost point) of the trailer projected on road level. (Trailer objects have negative X-coordinates).
engine
vehicle body
Fr0
CoM
Fr1
Mnt
FrontRightMnt
RearRightFr2
RearRightFr2
FrontRighttrimloads
FrDloads
origin F r1Fr2
RearLeftFr2
FrontLeftCarMaker Geometry Input
In the special case where FrD ≡Fr1 the link vector is the zero vector.
CarMaker Naming Conventions
1.4
CarMaker Naming Conventions
To ensure maximum readability, it is tried to keep the notation as consistent and self-explan-atory as possible.
1.4.1
CarMaker Subsystems
The following rules to name CarMaker subsystems apply:
Model Abbrev. Description
Ambient Ambient constants Brake Brake subsystem
Car Car subsystem
DM Maneuver control subsystem (DrivMan)
FST FailSaveTester
IO IO subsystem
Log Log subsystem
PT Powertrain subsystem
Sensor Vehicle body sensors Steer Steering subsystem
TC Task commands (Minimaneuvers) TCPU Monitoring of CPU time consumption
Time CarMaker timer
Tr Trailer subsystem
CarMaker Naming Conventions
1.4.2
Classification of Quantities
With the following classifications groups of quantities are denoted. Those groups denote points of interests like the center of mass of components or single components and their significant quantities.
The letters ... in general stand for
Aero Aerodynamic related quantities
Buffer, Buf Suspension buffer/bumper related quantities C Carrier related quantities
Camber Camber (wheel) related quantities Clutch Clutch related quantities
Con Quantities related to connected body: center of mass of the rigid vehicle body including vehicle body, engine, trimloads and loads
Damp Damper (shock absorber) related quantities DL Driveline related quantities
Engine Engine related quantities
Fr0, Fr1, Fr2, FrX
Quantities related to this Frame (= axis system) Gearbox Gearbox related quantities
Gen Quantities related to the generalized body: center of mass of generalized body including all masses of the connected body including masses of wheel carriers and wheels. (“Car.Gen”, “Tr.Gen”)
Gen Powertrain Generic related quantities (“PT.Gen”) Hitch Trailer hitch related quantities
HydESP HydESP brake model related quantities (“Brake.HydESP”) Jack Jack related quantities
Load Extra loads of the vehicle
PoI Point of interest related quantities Spring Suspension spring related quantities Stabi Anti-Roll-Bar stabilisator related quantities Steer Steer subsystem related quantities Valve Brake hydraulic valves related quantities Virtual Virtual forces and torques related quantities W Wheel related quantities
CarMaker Naming Conventions
1.4.3
Meaning of Abbreviations
CarMaker uses the following abbreviations for the naming of quantities.
The letters ... in general stand for
0, 1, 2, 3,.. Numbering
_0, _1, _2 Postfix for quantity expressed inFr0,Fr1,Fr2
_ext External
_tot Total
a Acceleration
Align Aligning movement
Axle Suspension left, right, front, back
C Center
Diff Differential Distance, Dist Distance
DL Driveline
F Front
FL, FR, RL, RR Front left, front right, rear left, rear right
Frc Force
Hori projection of a quantity to the O,X,Y plane
l Length
l Lateral
LongSlip Long slip (tangential) of wheel
Man Maneuver
MC Master brake cylinder muRoad Friction coefficient
No Number
P Tire contact point with track
p Pressure q Flow (hydraulic) q, q0, q1 Generalized coordinates r Rotation R Rear Radius Radius
Rate Angular velocity
res Resultant
rot Rotation angle
CarMaker Naming Conventions
T Temperature
T, Time Time
tau Angle of attack of wind
Trq Torque
v, vel Velocity
WB Wheel brake
x, y, z Coordinate directions
CarMaker Directory Structure
1.5
CarMaker Directory Structure
Project Directory
Below is the directory structure of a typical project directory.
• The bin directory contains the CarMaker executable or executables. It might also con-tain custom applications or tools that were created specifically for the project.
• The doc directory would contain documentation that would apply to the project. CarMaker documentation, e.g this document, does not reside in the doc directory but is included in the CarMaker installation directory along with library files and most of the CIT applications.
• The src directory includes the C source files that can be modified by the user. By mak-Listing 1.1:
<project directory path> |
|-bin Real-time program, user specific
| GUIs, like e. g. Instruments
|
|-doc Online Docu to simulator
|
|-src Development environment
|-Data Data basis
| |
| |- Vehicle Vehicle data
| |- Chassis Kinematics and Compiance of axles | |
| |-Config Configuration of the test bed: ECUParameters, SimParameters,
| | OutputQuantities
| |
| |-Misc Misc., e.g. parameters for the hydraulic | |
| |-Pic Views of vehicles (for GUI)
| |-Road Measured road definitions (RoadData) | |-TestScript ScriptControl test-scripts
| |-TestRun Test runs
| |-Tire Tire data
| |-Trailer Trailer data |
|-Movie Animation, movie
| Vehicle and road geometry files
|
|-SimInput Data for Input_From_File |-SimOutput Results of simulations | |-Offline
| |-rt1 | | |-Log | | |-YYYYMMDD
CarMaker Directory Structure
• The SimInput directory contains simulation data files that are used when CarMaker runs by using file input.
• The SimOutput directory contains the simulation results that are optionally saved when a testrun is performed.
Installation Directory
It also might be useful to show the CarMaker installation directory, i.e. where the CarMaker tools have been installed, along with the CarMaker libraries and documentation. Shown below is an example of the installation directory of the LynxOS or realtime version of CarMaker, installed in the unix environment.
Listing 1.2:
<installation directory path> |
|-bin Programs like Instruments,
| User interface HIL
|
|-doc Online documentation
|-Examples Example projects and files
|-GUI Graphical User Interface scripts, executables, etc. |-include Include-files
|-lib Libraries
|-lynx_rt LynxOS runtime environment
|-Matlab Support package for Matlab/Simulink |-Setup Template and definition files
About Parameter Files and Datasets
1.6
About Parameter Files and Datasets
The CarMaker application needs parameter files and datasets. For this purpose CarMaker uses keyword oriented parameter files called Infofiles. They are plain ascii text files but a specific syntax is used.
1.6.1
Database Syntax
Infofiles use keywords which can be followed by
• a ‘=’ character and several values up to the end of line,
• a ‘:’ character and a multi line entry in the following lines. Each line must start with a <tab> character.
1.6.2
FileIdent, Description and FileCreator
To recognize any changes and incompatibilities of parameters format and norm (e. g. using a new CarMaker version with out of date datasets) a identification key for each file is used. The identification key shows the model class, the submodel class and the current version. This identification key is called “FileIdent” and has to be specified in the first line of a param-eter file.
FileIdentt = CarMaker-KindString [ VersionId ]
Example FileIdent = CarMaker-PowerTrain.ET-4WD 2
Current FileIdents Currently Carmaker supports the following Fileidents:
Syntax CarMaker-<ModelClass>[-<Kind>] <Version ID>
<ModelClass> Tire, Brake, Car, TestRun,...
<Kind> Optional, for submodels with referenced parameters, e.g. separate files for brake model parameters or engine torque diagram.
<VersionID> Version of parameter file, whole-numbered, positive
Infofile FileIdent
TestRun CarMaker-TestRun <VersionID> TestSeries CarMaker-TestSeries <VersionID> Tire CarMaker-Tire-<Kind> <VersionID> Car CarMaker-Car <VersionID>
Suspension (kinematics and compliance)
About Parameter Files and Datasets
Description : DescriptionText
Description, displayed in parameter browsers
FileCreator = String
This entry answers the question: Which tool creates this parameter set? How can it be char-acterized?
1.6.3
Model Kind
The kind key is used to specify a submodel (e. g. a specific powertrain model). Prefix.Kind = KindStr [ VersionId ]
KindStr is the characteristic name of submodel, or variation of submodel. VersionId is
optional. It is used to support different versions of parameter sets for the same model (com-patibility, parameter convertion etc.).
Example PowerTrain.ET.Kind = Mapping 2
1.6.4
CarMaker Configuration Files
CarMaker knows the following configuration files:
The files are searched in the sub directoryData/Config/<file>[.hostname].
Example Data/Config/SimParameters Data/Config/ECUParameters.rt1
If a file with hostname matches it has priority over a file without a specific hostname.
File Purpose
SimParameters All parameters influencing the simulation flow.
ECUParameters Parameters and calibration settings for ECU´s used with a test stand.
‘SimParameters’ File
1.7
‘SimParameters’ File
InSimParametersall “global” (test run, vehicle, ... independent) simulation specific param-eters are given in different subsections decribed below.
1.7.1
Application Parameters of CarMaker/HIL
Cycle.dtLimitHigh = DeltaT Optional. Default 0.002 s. Cycle.dtLimitLow = DeltaT Optional. Default 0.0001 s. Cycle.tCTViolationWarn = DeltaT Optional. Default 0.0015 s. Cycle.tCTViolationErr = DeltaT Optional. Default 0.003 s. Cycle.maxtCTViolation = DeltaT Optional.
‘SimParameters’ File
1.7.2
CarMaker
Environment Parameters
FirstInit.TestRun = TestRunName
Test-run to initialize the application the first time, before a test run is started. Default: ““ to use internal defaults.
TestRunEnd.DVA_ReleaseAll = DoIt
At the end of a test run, all active direct variable write access can be closed. Default: 0, don’t release all, keep write access active.
1.7.3
Data Storage
DStore.dtFile = deltaT
Optional. Time step between two data vectors for storage. Default 0.02 s.
DStore.OutQuantFName = OutQuantFilename
Optional, Configuration file for selecting quantities to be written to file. Filename relative to Data/Config/<HostName>. Default “OutputQuantities”.
DStore.OutSubDir = DirectoryName
Optional. Directory to store simulation results. IfDirectoryName is empty, the directory name is created by current date, formatted as <year><month><day>. Default ““.
DStore.OutFNameWithTime = WithTime
Optional. Append simulation start time to the result file name. Default 1.
DStore.BufSize_kB = Size_in_kBytes
‘SimParameters’ File
1.7.4
Maneuver Control
DrivMan.Engine.AutoStart = AutoStart
Optional, default 1.
DrivMan.Engine.tWaitAfterEngineOn =deltaT
Optional, default 2.0 s, see alsosection ’PowerTrain.ET.tWaitAfterEngineOn = deltaT’.
Road.VhclStartPos_TrailerMin = MinStartPos_m
Optional, default 10 m. Minimal vehicle road start coordinat when driving with a trailer.
Get Idle DrivMan.GetIdle.Brake = Activation
DrivMan.GetIdle.Brake.d_dt = Velocity Optional, default Activation=0, Velocity=1000.
DrivMan.GetIdle.BrakePark = Activation
DrivMan.GetIdle.BrakePark.d_dt = Velocity Optional, default Activation=0, Velocity=1000.
DrivMan.GetIdle.BrakeLever = Activation
DrivMan.GetIdle.BrakeLever.d_dt = Velocity Optional, default Activation=0, Velocity=1000.
DrivMan.GetIdle.Brake.vVhcl_BrakeEnd = MaxVhclVelocity Optional, default 0.1 m/s. Vehicle velocity to end braking while state GetIdle.
‘SimParameters’ File
DrivMan.GetIdle.SelectorCtrl = SelectorCtrl
Optional, default 0.
Is Idle DrivMan.IsIdle.Brake = Activation Optional, default 0.0. DrivMan.IsIdle.BrakeLever = Activation Optional, default 0.0. DrivMan.IsIdle.BrakePark = Activation Optional, default 0.0. DrivMan.IsIdle.SelectorCtrl = Position Optional, default 0. DrivMan.IsIdle.SetNeutral = SetNeutral Optional, default 1. Set gear box to neutral position.
Shifting DrivMan.AutoShift.dtDontShift = delatT Optional, default 0.2 s. DrivMan.AutoShift.GasReduction = Reduction Optional, default 0.8. DrivMan.AutoShift.dt_declutch = DeltaT Optional, deafult 0.1 s. DrivMan.AutoShift.dt_keepclutch = DeltaT Optional, default 0.1 s.
‘SimParameters’ File
DrivMan.AutoShift. dt_enclutch= DeltaT Optional, default 0.5 s.
DrivMan.VelCtrl.tClutchRelease = value Optional, default 1.0 s.
1.7.5
Start of test run
SimStart.TimeLimit = TimeLimit
Maximal duration of state SimStart. Default: 60 s
DrivMan.Start.ExtInp_SteerVel = SteerVelMax_deg
Used for external inputs maneuvers to build up the steering angle at start of input.
1.7.6
End of test run
GetIdle.TimeLimit = TimeLimit Optional. Default 200 s.
GetIdle.Skip = Skip
Optional. Default: 0 for HIL, 1 for non-HIL.
GetIdle.Kl15Off = SwitchOff Optional. Default: 0 for HIL, 1 for non-HIL.
‘ECUParameters’ File
1.8
‘ECUParameters’ File
InECUParametersall Input/Output, hardware or ECU specific parameters are stored in this parameter set:
• Signal conditioning
• FailSafeTester configuration, see Programmers Guidesection 12.3 ’Configuring the FailSafeTester’ on page 283
‘OutputQuantities’ File
1.9
‘OutputQuantities’ File
This file keeps a simple list with all quantity names (one per line spelled like they can be looked up in IPG Control). All quantities denoted in this file are stored by the CarMaker´s
Storage of Results functionality.
It is possible to use only one ‘*’ wildcard per pattern.
Example Brake.Trq_FL Brake.Trq_* Car.*FL
General Parameters for TestRun Files
1.10
General Parameters for TestRun Files
These Parameters can be specified in a CarMaker TestRun file. They apply for all sub mod-els.
Ambient.Temperature = Temperature_K
Optional. Ambient temperature in degree Kelvin. Default 293.15 K.
Ambient.AirDensity = value
Optional. Air density inkg/m3. Default 1.205
Ambient.AirPressure = value
Optional. Air pressure in bar. Default 1.024 bar.
Ambient.AirHumidity = value
Software Interfaces
1.11
Software Interfaces
The vehicle model uses the model manager to “handle models”. This means:
For a submodel of the car – for example steering system, brake system, tire, engine, ... – more than one implementation (or model) can be available in the simulation program. The model to be used in a testrun is selected by an identifier string in a parameter file, for exam-ple “Brake.Kind = HydESP” in the vehicle parameter set to select the brake model “HydESP”.
The model manager supports the following car submodels, called model classes:c
The model manager is initialized at program start with Listing 1.3: 1: int 2: Brake_Register_HydESP (void) 3: { 4: tModelClassDescr m; 5:
6: /* clear model class description structure */ 7: memset (&m, 0, sizeof(m));
8:
9: /* assign model interface functions */ 10: m.Brake.VersionId = ThisVersionId; 11: m.Brake.CompatVersionId = CompatVersionId; 12: m.Brake.New = Brake_HydESP_New; 13: m.Brake.Calc = Brake_HydESP_Calc; 14: m.Brake.Delete = Brake_HydESP_Delete; 15: m.Brake.DeclQuants = Brake_HydESP_DeclQuants; 16:
17: /* register the model, kind string and interface functions */ 18: return Model_Register (ModelClass_Brake, "HydESP", &m); 19: }
Listing 1.4: Model Classes 1: typedef enum { 2: ModelClass_PTEngine, 3: ModelClass_PTClutch, 4: ModelClass_PTGearBox, 5: ModelClass_PTDriveLine, 6: ModelClass_PowerTrain, 7: ModelClass_PTGenCoupling, 8: ModelClass_Steering, 9: ModelClass_Brake, 10: ModelClass_Tire, 11: 12: } tModelClass; 1: int 2: Model_Init (void);
Software Interfaces
The model manager is cleaned up before program exits with
Example: Registration and usage of a brake model
The registration function for the brake model with kind key “HydESP” is called once at pro-gram start.
What CarMaker does to start a submodel (example for a brake model): • Look for a model with the corresponding kind string.
• If the model is found byModel_LookUp() theNew() function is called to create an initialized model.
• If the initialization was successful, theDelcQuants() function is called to update the quantities in CarMaker´s data dictionary.
• The functionsCalc() andDelete() are stored to calculate the model and to delete the model parameters before create a new model at the beginning of next simulation 9: int
10: Model_Cleanup (void);
11: tModelClassDescr*md; 12: const char *ModelKind; 13:
14: ModelKind = iGetStr(Inf, KindKey); 15:
16: if ((md=Model_LookUp(ModelClass_Brake, ModelKind)) == NULL) { 17: LogErrF (EC_Init, "Brake: Unknown kind ’%s’",KindKey); 18: goto ErrorReturn; 19: } 20: 21: brake.param = md->Brake.New(inf, ““); 22: if (brake.param == NULL) 23: goto ErrorReturn; 24: 25: if (md->Brake.DeclQuants != NULL) 26: md->Brake.DeclQuants (brake.param); 27: 28: 29: brake.md.Brake.Calc = md->Brake.Calc; 30: brake.md.Brake.Delete = md->Brake.Delete; 31:
Overview
Chapter 2
Driving Maneuvers
2.1
Overview
The CarMaker testrun is build by one or more maneuver steps, called “mini maneuvers”. The mini maneuver events are composed by
• longitudinal dynamics actions: accelerating, braking, gear shifting, ... • lateral dynamics actions: steering
• additional actions, defined by a list of mini maneuver commands
Parameters
The driving maneuvers and driving behavior can be configured • in the test run (test run specific)
• in the vehicle model parameter set (vehicle specific in) • in the SimParameters parameter set (global).
A prefix is build up for each mini maneuver by the string “DrivMan.”, followed by the mini maneuver number. The keys of all parameters for each maneuver starts with this prefix.
DrivMan.<i>.<xyz> ...
TestRun Data Set
Overview
Vehicle Data Set
PowerTrain.ET.tWaitAfterEngineOn = deltaT
Optional. Overwrites parameter DrivMan.Engine.tWaitAfterEngineOn from file SimParameters (seesection ’DrivMan.Engine.tWaitAfterEngineOn = deltaT’).
DrivMan.nShift : GearNo_nUp_nDown_table
Optional. Configures the auto shifting module of the speed controller. Each line contains the following values:
• Gear number GearNo, positive for forward, negative for backward gears • engine speed to shift up, unit rpm.
Longitudinal Dynamics Maneuvers
2.2
Longitudinal Dynamics Maneuvers
The following maneuvers are available: • Drive with IPG-DRIVER
• Drive speed profile
• Manual Control: Gas, Brake, BrakeLever (motorcycle), BrakePark, Clutch, Gear • Speed Control (VelControl)
2.2.1
Speed Control (VelControl)
Pre.Long = VelControl Vel_km/h TolVel_m/s Sensity PremEnd
Special Meaning! Pre.Long = VelControl StartVel_kmh GearNo In case of
• first maneuver in the test run • duration time is set to 0.0
this maneuver has a special meaning. It defines longitudinal starting conditions.
In the GUI: Entry fieled “Speed” gives vehicle starting speed, “Max. Deviation” gives the gear number.
Lateral Dynamics Maneuvers
2.3
Lateral Dynamics Maneuvers
The following maneuvers are available: • Drive the course with IPG-DRIVER • Sinus steering
• Steer step
• Simple steer control
Steering Maneuvers
A smooth transition mode was added for Sinus and Steer Step. The mode can be enabled with a checkbox in the CarMaker GUI’sManeuver dialog, underLateral Dynamics.
During a simulation, mini-maneuver commands can be changed on the fly. An example application of this new feature would be to use ScriptControl (the corresponding
SetMini-ManCmd command is available with this release) to access the FailSafeTester with very
precise timing by using the appropriate mini-maneuver commands for FST control. Steer Step Steer Step Smooth Transition Sinus Sinus Smooth Transition
Special Maneuvers
2.4
Special Maneuvers
2.4.1
The first Mini Maneuver (Duration 0 Seconds)
If the first mini maneuver (number 0) has the duration 0 seconds, it has a special meaning: Instead of defining a real driving maneuver it defines the test run starting conditions. The following configuration is possible:
• Speed control (VelControl): start velocity, gear number (entry field “Max. Deviation”) • Steer step: steering angle (entry field “Amplitude”)
2.4.2
The last Mini Maneuver (Duration 0 Seconds)
If the last mini maneuver has the duration 0 seconds, it has a special meaning:
This maneuver is called at the end of the test run even if the test run is stopped before (by user, by an error, ...).
User Accessible Quantities
2.5
User Accessible Quantities
Overview
Chapter 3
Vehicle Body
3.1
Overview
The simulated vehicle is a multi body system which is characterized through different bod-ies. They are generated and optimized with MESA VERDE.
Description of the bodies:
Body Parts of the body
vehicle’s body All sprung masses beside engine, trimloads and vehicle loads. engine Engine as a separate mass (easily changeable motorization). trimloads Constant loads to be added up to vehicle’s curb load.
vehicle loads Additional loads to define a certain load case, e.g. measuring equipment, luggage... (changeable from GUI).
wheel suspension - front left
- front right - rear left - rear right
All unsprung masses without the wheel, like
link, wheel carrier, suspension leg, wishbone mount...
wheel - front left - front right - rear left - rear right
All rotating masses, like
Overview
Additionally the vehicle model supports the feature to calculate body fixed sensors for acceleration, velocity, rotational acceleration and rotational velocity.
3.1.1
Configuration of the vehicle model
To obtain the typical behavior of a certain type of vehicle the multi body system is extensive-ly parameterizable. The parameters are selected in a way that all type of vehicles, from a small compact car up to a big SUV can be simulated by only changing the set of parame-ters. There is no need to change the structure of the multi body system (the underlying equations).
3.1.2
Finding the equilibrium state
By pressing the start button and after initialization the vehicle starts at steady state. This is called the start-off configuration. This means the vehicle is in equilibrium state respecting all internal and external forces/torques (no acceleration, but nonzero velocities, in general). Parameters for the vehicle configuration are given in design configuration. The expression design configuration does not only refer to geometric quantities, but includes all other design parameters (masses, spring-stiffnesses, ...) as specified by the car-manufacturer. A
design configuration usually is not a configuration of static equilibrium!
For computation coordinates and parameters are distinguished. Parameters are time invariant, coordinates are not. Parameters need not be geometrical, but also include mass-es, stiffnessmass-es, etc.
The design configuration has the coordinates and parameters . To find the steady state position of the vehicle a procedure called Modify-q-equilibrium (mq-equilibrium) is used.
Mq-equilibrium modifies some of the coordinates q such that:
• Parameters p obtain prescribed values.
• The configuration is an equilibrium configuration.However, at this stage no additional charges (trimloads, vehicle loads) are added to the system.
(EQ 1)
Figure 3.1: Finding steady state for the vehicle model
Aerodynamics, VehicleLoads, TrimLoads Design Configuration Static equilibrium Steady state Start-off configuration mq-equilibrium Procedure mq-equilibrium multiple steps mq-equilibrium q p qd,pd ( ) qd,pd ( ) p= p0 ⇒ modifyq(qe,pe)
Overview
The start-off configuration is a configuration that matches the initial conditions of a particu-lar test-run. It differs from a nominal configuration (static equilibrium) by taking into account: • Trim-loads, vehicle loads
• Start-off (or initial) driving velocity. • Aerodynamics.
The start-off configuration is obtained from the nominal configuration by modifying , keep-ing fixed:
. (EQ 2)
3.1.3
Vehicle Interface
The vehicle body is the central model. It consists of the Mesa Verde multibody vehicle mod-el along with predefined interfaces to other modules. The vehicle body interface is defined inVehicle.h. Alternative vehicle models have to fill this interface with life.
3.1.4
Interaction with other modules
The vehicle body module interferes with other modules from the vehicle library.
Each module has an interface to the vehicle body module. By this interfaces parameters and coordinates of the vehicle body are modified.
q p
qe,pe
( )keep⇒p const
modify q (qs,ps)
Figure 3.2: Modules interfering with the vehicle body Vehicle Body Powertrain Brake System Steer System Tire Trailer Interface
General Parameters
3.2
General Parameters
RefPointInputSystem = x y z
This parameter specifies the origin of theFr1(inFrDcoordinates). The coordinates XYZ point from the origin ofFrDto the origin ofFr1. (seesection 1.2 ’CarMaker Axis Systems’).
Example RefPointInputSystem = -2.0 0.0 0.0
This means that the origin ofFr1 is 2 m behind (in vehicles longitudinal direction)FrD.
Hitch.pos = x y z
Hitch (trailer coupling device) position at the vehicle expressed inFrD coordinates.
Example Hitch.pos = 0.0 0.0 0.3
Virtual.PoA = x y z
The virtual force/torque attacks the vehicle body inVirtual.PoA. Virtual.PoA is decomposed in FrD.
Default position is the center of mass of vehicle body (seepage 43).
Virtual.PoA_1 = x y z Point of attack of the virtual force/torque. Virtual.PoA_1 is decomposed in Fr1. Virtual.PoA_1 overwritesVirtual.PoA.
Picture.PicFName = FName
File name of the Tcl/Tk Picture you see in the main HIL application. The file is searched in theData/Pic folder. Unimportant for simulation results.
Example Picture.PicFName = VW_NewBeetle.tcl
Movie.Skin.FName = FName
General Parameters
Vehicle.OuterSkin = rll.x rll.y rll.z fur.x fur.y fur.z
Vehicles outer skin box, defined by the points rear lower left (rll) and front upper right (fur).
Example Vehicle.OuterSkin =-0.1 0.85 0.2 4.05 -0.85 1.6
Jack.fl.pos = x y z
Jack.fr.pos = x y z
Jack.rl.pos = x y z
Jack.rr.pos = x y z Optional. Jack positions at vehicle chassis.
SimParamFName = FName
Optional. Name of the file containing simulation parameters. File is searched in <CMProjectDir>/Data/Config.
DefaultSimParameters orSimParameters.<hostname>.
The usage of the parametersECUParamFNameandSimParamFNamemay lead to incon-sistencies with IO initialization. For experts only!
ECUParamFName = FName
Optional. Name of the file containing parameters of Electronic Control Units (ECU) IO-Sig-nal calibrations. File is searched in<CMProjectDir>/Data/Config.
DefaultECUParameters orECUParameters.<hostname>.
The usage of the parametersECUParamFNameandSimParamFNamemay lead to incon-sistencies with IO initialization. For experts only!
Mass Geometry
3.3
Mass Geometry
3.3.1
Overview
The representation of the distribution of mass in a material system is called mass geometry. Inertia properties are associated with the vehicle-body, each of the four wheel carriers and each wheels. Additional body loads are modeled via additional masses and inertias as well. Three parameters have to be specified to define a mass element:
• The mass value of the body to define.
• The center of mass (CoM) of each body is defined. The center of mass is a geometrical point. The three scalar quantities are the position vector ofCoMdecomposed relative to the origin of the definition frame.
• The inertia tensor (= second moments of mass = moments of inertia) is a symmetric second-order tensor, which is specified by six scalar quantitiesI = A B C D E F (Frequently the off-diagonal elements (D, E, F) of the inertia tensor are neglected):
(EQ 3)
3.3.2
Parameters
Parameters The following parameters are required for this model:
Body.pos Body.mass Body.I
The vehicle body without engine. Its center of mass is placed in the design frame at
Body.Pos. The vehicle body has the mass Body.mass and the inertia tensor Body.I. The
ele-ments of the inertia tensor are given in the order A B C D E F. It is sufficient to give the elements A B C (main diagonal elements) only.
A vehicle body with inertia A=360 kg*m2, B=800 kg*m2, C=1800 kg*m2: Body.mass = 375.0 Body.Pos = 1.5 0.0 0.45 Body.I = 360 800 1800 Engine.pos Engine.mass Engine.I
The engine body. The engine is fixed on the Body of the vehicle. For details, see vehicle body. A F E F B D E D C y2+z2 ( )dm Body
∫
xy md Body∫
– xz md Body∫
– symmetry (z2+x2)dm Body∫
yz md Body∫
– symmetry symmetry (x2+y2)dm Body∫
=Mass Geometry
WheelCarrier.fl.pos WheelCarrier.fl.mass WheelCarrier.fl.I
Wheel carrier front left. Represents all unsprung mass in the suspension (except the wheel).
WheelCarrier.fr.pos WheelCarrier.fr.mass WheelCarrier.fl.r
Wheel carrier front right. For details, see wheel carrier front left.
WheelCarrier.rl.pos WheelCarrier.rl.mass WheelCarrier.rl.I
Wheel carrier rear left. For details, see wheel carrier front left.
WheelCarrier.rr.pos WheelCarrier.rr.mass WheelCarrier.rr.I
Wheel carrier rear right. For details, see wheel carrier front left.
Wheel.fl.pos Wheel.fl.mass Wheel.fl.I
Wheel front left. The wheel and all other rotating components (parts of the brake, ...) .
Wheel.fr.pos Wheel.fr.mass Wheel.fl.r
User Accessible Quantities for Vehicle Body
Wheel.rr.pos Wheel.rr.mass Wheel.rr.I
Wheel rear right. For details, see wheel front left.
TrimLoad.<i>.pos TrimLoad.<i>.mass TrimLoad.<i>.I
Bodies to trim mass contribution to that of a reference vehicle. Trim loads are fixed to vehicle body. <i> := 0, 1, 2, ...
Do not confuse TrimLoads with test run specific additional charges you may want to put on your vehicle.
3.4
User Accessible Quantities for Vehicle Body
Chapter 4
Suspension Force Elements
The contribution of each suspension force element results in the wheel contact force. Four types of force elements are modeled:
• the suspension spring (Spring),
• the suspension damper (DampPull, DampPush), • the suspension buffer (BufPull, BufPush) and • the stabilizer or anti-roll bar or stabilizer bar (Stabi).
z x y compression tz damper spring buffer push buffer pull stabilizer wheel center
External Suspension Forces
4.1
External Suspension Forces
External suspension forces are added to the forces generated by the CarMaker build in models for spring/bumpers, damper and stabilizer:
(EQ 4)
There is multiple usage for external suspension forces (according to(EQ 4)):
• Replace suspension forces by external forces. This is used when a custom suspension model (e. g. simulink model) should replace the CarMaker built in model for some or all suspension forces. The original forces have to be set to zero by the “amplify” parame-ters (<Pre>.XXX.Amplify = 0).
• Add forces to forces calculated by the built in model. This can be used to simulate es from a active suspension device which are superpositioned to the conventional forc-es.
ExtSuspFrcs.FName = FileName or ExtSuspFrcs.Kind = ModelKind
The model is selected by the Kind entry ModelKind. Instead of using the Kind key, an exter-nal parameter set can be referenced by its filename FileName. FileName is the path relative to the miscellaneous directory.
General Remarks
• Suspension models has to be registered by CarMakers model management mecha-nism. Each model needs
- a unique kind key to reference exactly this model from the pool of suspension mod-els.
- interface functions to initialize, calculate and delete a model instance
• All parameters other than (*.FName and *.Kind) are model specific. Their keys has to start with the prefix "ExtSuspFrcs."
• Known from earlier CarMaker version (before 2.1) the amplify parameters
*.Spring_ext.Amplify, *.Damp_ext.Amplify, *.Stabi_ext.Amplify doesn’t exist any longer. If they are needed they have to be implemented in the suspension model itselfe.
FSpringTot = FSpring+FSpringExt FDampTot = FDamp+FDampExt FStabiTot = FStabi+FStabiExt
Springs
4.2
Springs
This module simulates a conventional spring suspension. It calculates the spring compo-nent force .
As shown in Figure 4.3 there is a relation between the deflection of the wheel and the spring. There is a translation between the forces and and between the travel of the wheel and the spring .
When the suspension gets compressed the spring length is decreasing and the resulting spring force is increasing. To accommodate this the following calculation is applied:
. (EQ 5)
The factoramp in(EQ 5)can be used to modify the the spring forces by a given factor. Usu-ally this is for test purposes only and the factor should remain set to one.
The quantity is called relaxed (or unstretched) length of the spring. The resultant spring force depends on the difference between the relaxed length and the actual length . The actual length is the current distance between lower and upper attachment point of the spring.
FSpring
Fz FSpring
tz x∗
Figure 4.3: Calculation of spring forces
F
ZF
Springx
x
0x
*t
z
x FSpring amp f x * ( ) ⋅ = x* = –(x x– 0) x0 x0 xSprings
According to(EQ 5)the calculation of needs the actual spring length . It is obtained from the suspension kinematics module according toFigure 4.4. represents the general-ized coordinates of the suspension.
If no spring length is parametrized, minus wheel compression tz is used.
Parameters
SuspF means front axle, SuspR means rear axle
*.Spring.Amplify = Factor
Spring amplification factor Factor.
*Spring.l0 = UnstrechedLength
Unstretched (i.e. force free) length UnstrechedLength of the spring.
*.Spring: DataTable
This characteristic translates compression ( from(EQ 5)) to spring force.
x∗ x
q
Figure 4.4: Transformation of spring deflections and forces
spring suspension kinematics module
f q
( )
x
∂
q
∂
---F
q Spring
,
q
F
Spring
x
F
=
f x
( )
∗
component x*Dampers
4.3
Dampers
This module simulates a suspension damper. It calculates the force .
The suspension dampers force depends on the velocity . Different characteristics are taken into account by defining different functions for “pull” ( ) and “push” ( ).
A increasing length of the damper leads to a positive velocity .
. (EQ 6)
Theamp factor in(EQ 6)can be used to to modify the results of the calculation by a given factor. Usually this is for test purposes only and the factor should remain set to one. The dampers pull/push characteristics are defined seperately. Pull is when the damper is getting longer, push is when the damper is getting shorter.
FDamp
FDamp x˙
x˙>0 x˙≤0
Figure 4.5: Calculation of damper forces
F
ZF
Dampx˙
x
t
z
x x˙FDamp( )x˙ = amp⋅FDampPull( )x˙ x˙>0
Dampers
The velocity is calculated by differentiation of the damper length . It is obtained from the suspension kinematics module according toFigure 4.6. represents the generalized coor-dinates of the suspension.
If no damper length is parametrized, minus wheel compression tz is used.
All characteristics have to be defined in first quadrant. CarMaker takes care of the correct signs.
Parameters
*.Damp_Push.Amplify = Factor
Damper push force amplification factor Factor (see(EQ 6)).
x˙ x
q
Figure 4.6: Transformation of damper deflections and forces
damper suspension kinematics module
f q
( )
x
∂
q
∂
---F
q Damp
,
q
F
Damp
x˙
F
=
f x˙
( )
push or pull? componentFigure 4.7: Definition of damper push and pull characteristics
F
d e f i n i t i o n i n 1st quadrant
Dampers
*.Damp_Push: DataTable
This characteristic translates compression velocitiy to damper push force. It has to be defined in first quadrant (positive velocities, positive forces). should be obeyed. The table has two columns, velocity in m/s in the first, the damper forces in N the second.
*.Damp_Push.Amplify = Factor
Damper push force amplification factor Factor (see(EQ 6)).
*.Damp_Push: DataTable
This characteristic translates extention velocitiy to damper pull force. It has to be defined in first quadrant (positive velocities, positive forces). should be obeyed. The table has two columns, velocity in m/s in the first, the damper forces in N the second.
Example SuspF.Damp_Push: 0 0 0.05 90 0.13 140 0.26 250 0.39 330 0.52 410 1.04 790 x˙ FDamp( )0 = 0 x˙ FDamp( )0 = 0
Buffers / Bumpers
4.4
Buffers / Bumpers
This module simulates suspension push/pull buffers. is the force of the lower
bump-stop, is the force of the upper bump-stop.
The suspension buffers forces , depend on the buffer compression :
(EQ 7)
. (EQ 8)
, are the relaxed (or unstretched) length of the upper/lower bump-stop. For the calculation of the buffer forces according to(EQ 7)and(EQ 8)the actual buffer com-pression is needed. It is obtained from the suspension kinematics module according to Figure 4.9. represents the generalized coordinates of the suspension.
FBufPull FBufPush
Figure 4.8: Buffer elements shown at left wheel
buffer pull buffer push
t
z
t
z0Pull
t
z0Push
F
BufPullF
BufPushx
0
Pull
x
0
Push
FBufPull FBufPush x FBufPush = amp⋅ f x( )∗ x * x0 Push, –x = x*>0 FBufPush = 0 x * 0 < FBufPull = amp⋅( )–f ( )x∗ x * x x– 0 Pull, = x*>0 FBufPull = 0 x * 0 < x0 Push, x0 Pull, x qFigure 4.9: Transformation of buffers deflections and forces
buffer suspension kinematics module
f q
( )
x
∂
q
∂
---F
q Buf
,
q
F
Buf
x
F
=
f x
( )
∗
push or pull? componentBuffers / Bumpers
If no buffer length is parametrized, minus wheel compression tz is used.
The following figure illustrates the calculation of the buffer compression from the non-linear kinematics file:
The two paramters and have correspponding buffer compression zero offset values and .The absolut values are unimportant since there is always the dif-ference calculated from the current compression value to its zero offset.
Of importance is that the gradient of the compression curve is always negative, so that according to(EQ 7)and(EQ 8)a positive buffer compression is calculated. Values given between and are ignored from CarMaker and therefore are not important. Theampfactor in(EQ 7)and(EQ 8)can be used to to modify the results of the calculation function by a given factor. Usually this is for test purposes only and the factor should remain set to one.
The buffers pull/push characteristics are defined seperately.
Parameters
SuspF means front axle, SuspR means rear axle
Figure 4.10: Calculating the buffer length out of kinematic data
t
z
x
Push buffer activePull buffer active
t
z0 Push
,
t
z0 Pull
,
x
0
Push
,
x
0
Pull
,
max t
( )
z
min t
( )
z
m
ax
x
Push
(
)
m
ax
x
Pull
(
)
p u s h bu ffe r compressionvalues not important for calculation of buffers p u l l b u f f e r compression tz0 Push, tz0 Pull, x0 Push, x0 Pull, x0 Push, x0 Pull,
Buffers / Bumpers
SuspF.Buf_Push.tz0 SuspR.Buf_Push.tz0
Push buffer position (defines ride clearance). According to(EQ 7)andFigure 4.8the push buffer only acts for vertical displacements tz (of wheel carrier) greater than tz0(=x0Push).
Example SuspF.Buf_Push.tz0 = 0.055 SuspR.Buf_Push.tz0 = 0.055
SuspF.Buf_Push SuspR.Buf_Push
This characteristic translates buffer compression to buffer push force. It has to be to be defined in first quadrant.
SuspF.Buf_Pull.Amplify SuspR.Buf_Pull.Amplify
Pull buffer amplification factor.
Example SuspF.Buf_Pull.Amplify = 1.0
SuspF.Buf_Pull.tz0 SuspR.Buf_Pull.tz0
Pull buffer mount position (defines rebound clearance). According to (EQ 8) and Figure 4.10the pull buffer only acts for vertical displacements tz (of wheel carrier) smaller than tz0(=x0Pull).
Example SuspF.Buf_Pull.tz0 = -0.09
Syntax
Susp<F|R>.Buf_Push.tz0 =val Unit: m
Syntax Infofile table mapping with 2 columns
<compression [m]> <buffer force [N]>
Example SuspF.Buf_Pushl: 0.002 32.0 0.004 88.0 0.006 167.0 0.008 269.0 0.010 393.0 0.012 596.0 0.015 1085.0 x
Buffers / Bumpers
SuspF.Buf_Pull SuspR.Buf_Pull
This characteristic translates buffer compression to buffer pull force. It has to be to be defined in first quadrant..
Syntax Infofile table mapping with 2 columns <compression > <buffer force>
Example SuspF.Buf_Push: 0.002 32.0 0.004 88.0 0.006 167.0 0.008 269.0 0.010 393.0 0.012 596.0 0.015 1085.0 x
Suspension Roll Stabilizer / Anti-Roll Bar
4.5
Suspension Roll Stabilizer / Anti-Roll Bar
This module simulates a roll stabilizer (stabi). A force acts if there is a difference between the right and the left wheel compression.
In general, according toFigure 4.11, the wheel compression ratio is not equal to the stabi-lizer deflection difference ( ).
The stabilizer deflection difference can be defined either by a deflection length difference (EQ 9) or by a deflection angle difference(EQ 10):
, (EQ 9)
. (EQ 10)
The constant has to fit to the selected definition of . The forces calculate to:
, (EQ 11)
with the amplification factor amp. Under normal circumstances the amplification factor should be set to 1 (only for testing and scaling).
FStabi
tzr tzl
Figure 4.11: Roll stabilizer principal stabilizer
t
z
α
r
x
r
t
zl
t
zr
F
Stabi, l
F
Stabi, r
x
l
α
l
F
Stabi2Susp, l
F
Stabi2Susp, r
t∗≠x∗ x∗ t∗ = tzr–tzl x∗ = xr–xl x∗ = αr–αl t∗ = tzr–tzl cStabi x∗ FStabi,l,rFStabi , l = amp⋅f( )x∗ = amp⋅cStabi⋅x∗
Suspension Roll Stabilizer / Anti-Roll Bar
The forces are transformed in direction of the wheel deflection as follows:
. (EQ 12)
For the calculation of the stabilizer forces according to(EQ 11)the actual stabilizer deflec-tion difference is needed. It is obtained from the suspension kinematics module accord-ing toFigure 4.12. represents the generalized coordinates of the suspension.
If no stabi length is parametrized, minus wheel compression tz is used.
Parameters
SuspF means front axle, SuspR means rear axle
SuspF.Stabi.Amplify = value
SuspR.Stabi.Amplify = value Stabilizer amplification factor
Example SuspF.Stabi.Amplify = 1.0 SuspF.Stabi. = value SuspR.Stabi = value FStabi2Susp, l FStabi , l xl ∂ q ∂ l ---⋅ = FStabi2Susp,r FStabi , r xr ∂ q ∂ r ---⋅ = x∗ q
Figure 4.12: Transformation of stabilizers deflections and forces
stabilizer suspension kinematics module