Modeling and Control of Quarter-VehicleSuspension with a Semiactive Actuator
A Dissertation submitted to the faculty of the
University of Detroit Mercy in partial
fulfillment of the requirements for the degree of
Doctor of Engineering
by
Stamat Stamatov
Electrical and Computer Engineering Department
University of Detroit Mercy
November 2008
.
The Beginning
ABSTRACT
The topic of this dissertation is suspension modeling and semiactive suspension control. As
part of the research, a computationally efficient quarter-vehicle suspension model was developed.
The model was intended for real time, hardware in the loop (HIL) simulation. HIL is a common
technique of testing electronic control equipment by connecting it to a virtual vehicle emulator.
As a first step towards improving model performance, an extensive symbolic simplification was
performed yielding an explicit solution of the equations of motion. This was not a trivial task due to
the kinematic loop inherent in the double wishbone suspension design. To further improve efficiency,
the model was separated into computationally expensive calculation of nonlinear coefficients and
a relatively simpler differential equation using these varying nonlinear coefficients. This setup
allowed precalculating the nonlinear coefficients into lookup tables for faster run-time execution.
An improvement of the stability of the model at large computational steps was achieved by using
different numerical integration methods for direct and indirect feedback paths. The suspension
model was implemented in Matlab/Simulink and benchmarked on Dspace HIL hardware.
The developed model was used during the study and design of semiactive suspension controllers.
To that end the suspension model incorporated a model of a controllable magneto-rheological
damper (shock absorber with controllable stiffness). Semiactive control algorithms introduce spe-
cific interruptions in control force delivery. This is due to the fact that as the wheel oscillates, it
exerts force on vehicle body in the desired direction only part of the time. The resultant control
force discontinuities cause abrupt changes in the vehicle body vertical acceleration contributing to
passenger discomfort. These acceleration changes are represented by high vehicle body jerk levels.
Here jerk is a term for the derivative of vertical vehicle body acceleration. The suspension control
research concentrated on jerk mitigation - a function that ensures gradual force transitions while
avoiding significant deterioration of the overall performance of the original control algorithm. New
jerk mitigation algorithms were presented and compared with popular, existing algorithms. Most
of the existing jerk algorithms rely on static formulae that can be expressed as nonlinear surfaces
modulating the control effort. A time based method was introduced that utilizes prediction of the
damper reversal and applies modulation only when such reversal is approaching. The proposed
jerk mitigation algorithms were tested and compared extensively by using the developed plant
model. Real road profiles were used in the comparisons. A benchmark on a production grade
microcontroller was performed to ensure the feasibility of the proposed algorithms.
ACKNOWLEDGEMENTS
I would like to thank my advisors Dr. Mohan Krishnan and Dr. Sandra Yost for encouraging me
to carry on with my work and see it through to completion.
Special thanks go to Dr. Tarek Lahdhiri for helping formulate the outline and milestones of my
dissertation research.
i
TABLE OF CONTENTS
ACKNOWLEDGEMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
LIST OF SYMBOLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Problem Statement and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Semiactive Suspensions - State of the Art . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 List of new research topics and contributions in this work . . . . . . . . . . . . . . . 4
1.4 Dissertation document overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
PART I SUSPENSION MODEL
2 MODELING MULTIBODY MECHANISMS . . . . . . . . . . . . . . . . . . . . . 15
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Equations of motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Numerical Solution of the equations of motion . . . . . . . . . . . . . . . . . . . . . 21
3 MODELINGDOUBLEWISHBONE SUSPENSION - SELECTEDAPPROACH,
METHODS AND TOOLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1 Kinematic Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Model and equation structuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Choice of coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 General method of derivation of the equations of motion . . . . . . . . . . . . . . . 27
ii
3.5 Kinematic loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6 Model kinematic detail level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.7 Selected simulation tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 MODELING OF BODY AND WHEEL . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1 Parts and degrees of freedom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 Choice of coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 General form of the desired equations and simulation diagram . . . . . . . . . . . . 31
4.4 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.5 Dynamic equations of motion of the body, lower arm, upper arm and wheel - an
overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.6 Summary of key points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5 MODELING OF STRUT AND SEMIACTIVE ACTUATOR . . . . . . . . . . 45
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2 Strut parts and function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3 Simple linear strut model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.4 Damper nonlinearities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.5 Dampers with Variable Damping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.6 MR damper models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.7 Conclusion and summary of strut model discussion . . . . . . . . . . . . . . . . . . 56
6 MODELING OF TIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
iii
6.2 Forces acting on the tire and wheel . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.3 Suggested tire model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.4 Summary and selected methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7 REAL TIME SUSPENSION MODEL . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.1 Structure of the Simulink quarter suspension model . . . . . . . . . . . . . . . . . . 66
8 MODEL VALIDITY CHECKS THROUGH SIMULATION COMPARISONS 85
8.1 Model validity check by comparing the nonlinear model with a simple two-mass
linear model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.2 Checking the nonlinear model by comparison with a similar model derived by Joo
Dae Sung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9 REAL TIMEMODEL IMPLEMENTATION - ISSUES AND PERFORMANCE108
9.1 Choice of tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
9.2 Numerical integration methods and sample rates . . . . . . . . . . . . . . . . . . . . 108
9.3 Discrete time modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.4 Lookup tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
9.5 Speed of execution of quarter vehicle model . . . . . . . . . . . . . . . . . . . . . . 112
9.6 Conclusions on real time model implementation . . . . . . . . . . . . . . . . . . . . 115
PART II SUSPENSION CONTROL
10 SENSORS AND SIGNAL PROCESSING . . . . . . . . . . . . . . . . . . . . . . . 118
10.1 Variables to be measured . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.2 Signal Processing for estimation of vehicle body velocity . . . . . . . . . . . . . . . 119
iv
10.3 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
11 RIDING COMFORT, SUSPENSION PERFORMANCE CRITERIA . . . . . 125
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
11.2 Ride comfort basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
11.3 Common Criteria for ride comfort . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
11.4 Common criteria for suspension isolation . . . . . . . . . . . . . . . . . . . . . . . . 133
11.5 Selected criteria and methods to be used in this work . . . . . . . . . . . . . . . . . 139
12 SEMI ACTIVE SUSPENSION CONTROL . . . . . . . . . . . . . . . . . . . . . . 147
12.1 Introduction and key research points . . . . . . . . . . . . . . . . . . . . . . . . . . 147
12.2 Short overview of research publications on semiactive suspension control . . . . . . 147
12.3 System from control point of view . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
12.4 Linear Quarter Vehicle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
12.5 Disturbances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
12.6 Control characteristics of the linear system . . . . . . . . . . . . . . . . . . . . . . . 152
12.7 Difficulty of wheel control at wheel resonance by a strut mounted actuator . . . . . 156
12.8 Redesigning the suspension specifically for semiactive control . . . . . . . . . . . . . 156
12.9 Performance limits of linear suspension control . . . . . . . . . . . . . . . . . . . . . 157
12.10Semiactive suspension control - control via damping coefficient variations . . . . . . 157
12.11Suspension control algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
12.12Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
13 JERK MITIGATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
v
13.1 General approach to desired force modulation in order to minimize jerk . . . . . . . 187
13.2 Static jerk mitigation methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
13.3 Dynamic time-based force modulation for jerk mitigation . . . . . . . . . . . . . . . 200
13.4 Influence of jerk mitigation modulation on control force waveforms . . . . . . . . . 208
13.5 Effect of jerk mitigation on control performance . . . . . . . . . . . . . . . . . . . . 208
13.6 Comparison of jerk mitigation algorithms . . . . . . . . . . . . . . . . . . . . . . . . 216
13.7 Summary for jerk mitigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
14 PREDICTION OF DAMPER FORCE REVERSALS . . . . . . . . . . . . . . . 236
14.1 The System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
14.2 Quick review of Jerk Mitigation Strategy . . . . . . . . . . . . . . . . . . . . . . . . 237
14.3 The Prediction Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
14.4 Prediction Using State Space Model and Current State Measurements or Estimates 238
14.5 Prediction Using State Space Model and filtered state Measurements or Estimates . 243
14.6 Prediction Using Enhanced Derivatives - Polynomial Fit and Extrapolation . . . . 247
14.7 Experimental results of damper reversal prediction algorithms . . . . . . . . . . . . 260
15 DISSERTATION CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
15.1 On suspension modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
15.2 On suspension control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
15.3 Future research directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
APPENDIX A – DERIVATION OF THE WHEEL AND BODY EQUATIONS270
vi
APPENDIX B – CALCULATION OF COEFFICIENTS IN THE SIMULINK
MODEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
vii
LIST OF SYMBOLS
YB Vehicle body elevation
YW Wheel elevation
cg Vehicle body to wheel vertical distance
YBW Vehicle body to wheel vertical distance
YR Road elevation
θL Lower suspension arm angle with the horizontal plane
θU Upper suspension arm angle with the horizontal plane
θW Wheel plane angle with the horizontal plane
IW Wheel moment of inertia
IL Lower suspension arm moment of inertia
IU Upper suspension arm moment of inertia
LS Strut length
Lzs Strut length
lab Upper suspension arm length from joint to joint
mL Lower suspension arm mass
mU Upper suspension arm mass
mB Vehicle body mass
mW Wheel mass
g Earth gravitational acceleration
FN Normal (vertical) force of tire on wheel
FCM Camber (lateral) force of tire on wheel
Fs Strut force
Ftire Tire vertical force
Bp Damper (shock absorber) damping coefficient
BP0 Minimal damper coefficient when damper is deenergized
Kp Suspension spring coefficient
viii
KW Tire spring coefficient
α Hysteresis model parameter determining hysteresis height
β Hysteresis model parameter determining hysteresis shape
γ Hysteresis model parameter determining hysteresis shape
A Hysteresis model parameter determining hysteresis width
c0 Hysteresis model parameter determining high speed slope
c1 Hysteresis model parameter detrmining low speed slope
γc Camber angle
PC1 Suspension performance criterion
PC2 Suspension performance criterion
Fa Strut based actuator force
ωbody Vehicle body resonant frequency
ωwheel Wheel resonant frequency
Twheel Period of wheel resonant frequency
fM Force modulation funceion
μ Force modulation funceion
KYBSkyhook coefficient
KY w Groundhook coefficient
TrY b Body speed smooth transition threshold
TrY bw Wheel speed smooth transition threshold
Frequested Force requested by the control algorithm
PSD Power Spectral Density
RMS Root Mean Square
HIL Hardware In the Loop - a special hardware capable of running plant models in real time
and providing physical signal I/O.
ix
LIST OF FIGURES
1 Semiactive control system - sensors and actuators (courtesy of Terje Rølvåg, Norwe-
gian University for Science and Technology). . . . . . . . . . . . . . . . . . . . . . . 5
2 Parts of semiactive suspension control system (courtesy of Hitachi). . . . . . . . . . 5
3 Suspension mechanical diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 Ferrari F355 double wishbone suspension (courtesy of Ferrari SpA). . . . . . . . . . 25
5 Diagram outlining the structure of the suspension model. . . . . . . . . . . . . . . . 26
6 2D suspension diagram structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7 Integrating the accelerations from the equations of motion to obtain velocities and
positions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8 2D suspension with joint labels and center of gravity points. . . . . . . . . . . . . . . 34
9 Simple linear two-mass suspension diagram. . . . . . . . . . . . . . . . . . . . . . . . 42
10 Strut with visible coil spring, damper and bushings of a VW vehicle (original photo
by S. Kapintchev). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
11 Damper Force vs Velocity experimental diagram. The difference in contraction/rebound
damping is clearly observable (courtesy of Misselhorn W. E. University of Pretoria
[11]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
12 Properties of Magneto-Rheological fluid (source Automotive Engineering Interna-
tional Magazine). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
13 Design of MR damper (drawing by Xubin Song and Mehdi Ahmadian [86]). . . . . . 50
14 Force vs Velocity graph of magneto-rheological damper for various voltages (courtesy
of Lord Corporation). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
15 Ideal damper operating range vs real MR damper range. . . . . . . . . . . . . . . . . 51
x
16 MR damper equivallent Mechanical Diagram using Bouc-Wen hysteresis model. . . . 52
17 Effect of parameter varaitions on Bouc-Wen hysteresis model loop. . . . . . . . . . . 54
18 Simulink model diagram of a MR damper with Bouc Wen hysteresis. . . . . . . . . . 55
19 Frequency dependent behavior of MR damper - experimental data (Xiao Qing Ma
et al. [15]). Current is 0.75A, excitation stroke is 6.35mm. . . . . . . . . . . . . . . . 57
20 Frequency dependent behavior of MR damper - simulation of the developed Bouc-
Wen Simulink model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
21 MR damper at different control current levels - experimental data (Xiao Qing Ma et
al. [15].). Frequency 1.5Hz, excitation stroke is 6.35mm. . . . . . . . . . . . . . . . . 59
22 MR damper behavior at diffeent current levels - simulation of the developed Bouc-
Wen Simulink model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
23 Tire with camber - normal and camber forces. . . . . . . . . . . . . . . . . . . . . . . 62
24 Tire force vs displacement (Source: Misselhorn W. E. — University of Pretoria [11]). 63
25 Camber Force vs Camber Angle (courtesy of GOODYEAR Tire and Rubber Company). 64
26 Simulink diagram calculating tire normal force FN . . . . . . . . . . . . . . . . . . . 65
27 Simulink suspension model - general view. . . . . . . . . . . . . . . . . . . . . . . . . 67
28 Nonlinear suspension subsystem - Simulink model. . . . . . . . . . . . . . . . . . . . 69
29 The subsystem Coeficients from Nonliear Trigonometry is implemented as a Con-
figurable Subsystem for easy switching between either analytical claculation imple-
mentation (left) or a precalculated lookup table implementation (right). . . . . . . . 71
30 Top level of the subsystem Coeficients from Nonliear Trigonometry (the implemen-
tation using analytical calculations). . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
xi
31 Contents of the linear to angle subsystem located in the subsystem Coeficients from
Nonliear Trigonometry. Lookup tables were used to convert the value of the current
body-to-wheel distance cg into the current angles of the supension parts θL, θU , θW
and the values of their trigonometric functions. . . . . . . . . . . . . . . . . . . . . . 73
32 Contents of the Get Coefficients Stateflow chart from the subsystem Coefficients
from Nonliear Trigonometry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
33 Contents of the subsystem Coeficients from Nonliear Trigonometry (this is the al-
ternative implementation using precalculated lookup tables). . . . . . . . . . . . . . 75
34 Contents of the Strut subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
35 Contents of the statechart get Inclined Strut Velocity dLzs, Length Lzs. . . . . . . . . 77
36 Contents of the Nonlinear Strut subsystem. Fspring0 is the spring force at the
equilibrium suspension position. Lzs_min is the strut length at which the bump
stop is hit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
37 Contents of the subsystem Strut with nonlinear Bouc Wen Damper. . . . . . . . . . 80
38 Contents of the Passive Strut subsystem. . . . . . . . . . . . . . . . . . . . . . . . . 81
39 Contents of the Camber Force subsystem. . . . . . . . . . . . . . . . . . . . . . . . . 81
40 Contents of the pink-red statechart Wheel and Body Differential Equations. These
equations calculate the values of body and wheel accelerations. . . . . . . . . . . . . 82
41 Contents of the light magenta Tire subsystem calculating tire normal force FN . . . 82
42 Nonlinear suspension with inclined strut. . . . . . . . . . . . . . . . . . . . . . . . . . 87
43 Simple two-mass suspension representation with vertical strut connected directly
between body and wheel masses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
44 Comparison of YW step responses of nonlinear and equivalent linear suspension models. 97
45 Comparison of YB step responses of nonlinear and equivalent linear suspension models. 98
xii
46 Body elevation - general view. The moments highlighted by the arrows are shown
in separate plots below. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
47 Detail view of the suspension at the beginning of the simulation. . . . . . . . . . . . 101
48 More detail at 0.93s. Variations of the output of the algebraic loop method are
visible as the sample time increases. . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
49 Even more detail at 0.93s. The direct solution method in black is relatively insensitive
to simulation step increases. Several of the algebraic loop simulations are out of the
printable window area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
50 Detail of the simulation at moment 20.5s. . . . . . . . . . . . . . . . . . . . . . . . . 104
51 Structure of Joo Dae Sung’s model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
52 Structure of Joo Dae Sung’s model (rotated image). . . . . . . . . . . . . . . . . . . 107
53 Computational effort for ODE1 (Euler) vs ODE4 (Runge Kutta) integration methods.109
54 The accuracy penalty of using lookup tables is rather small when sufficiently large
tables are used. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
55 Suspension model execution times on real time hardware. The use of lookup tables
provides significant speedup of execution. . . . . . . . . . . . . . . . . . . . . . . . . 113
56 Suspension model execution times on real time hardware. . . . . . . . . . . . . . . . 114
57 Suspension model execution times on real time hardware. . . . . . . . . . . . . . . . 114
58 Vehilce body motions (source: "Fundamentals of Vehicle Dynamics" T. Gillespie). . 119
59 Typical sensor arrangement for suspension control (source: Terje Rølvåg - "Design
and optimization of Suspension Systems and Components", NUTS). . . . . . . . . . 120
60 Estimating velocity and position from accelerometer measurements using a "leaky"
integrator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
xiii
61 Bode plots of a practical "leaky" integrator overlaid on the bode plot of an ideal
integrator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
62 RMS values of the vertical acceleration causing reduced efficiency of a sitting subject
as a function of the frequency. The curves for different exposure times are shown
according to the ISO 2631 standard (source: T. Gillespie "Fundamentals of Vehicle
Dynamics" [37]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
63 RMS Acceleration comfort curves - various standards (source: T. Gillespie "Funda-
mentals of Vehicle Dynamics" [37]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
64 Nasa Discomfort acceleration curves for vibration in transport (source: through T.
Gillespie "Fundamentals of Vehicle Dynamics" [37]). . . . . . . . . . . . . . . . . . . 128
65 Example of acceleration Spectral Density converted to ISO2631 RMS acceleration
points (source: “High-Speed Craft Motions: a Case Study” 2005 Kelly Haupt, Naval
Surface Warfare Center, Norfolk, Virginia). . . . . . . . . . . . . . . . . . . . . . . . 131
66 Comparison of filtered vehicle body acceleration PSD. As proposed - a moving aver-
age window filter is used to filter out spikes. . . . . . . . . . . . . . . . . . . . . . . . 132
67 Road quality PSD classification according to the ISO standard (source: G. Genta
"Motor Vehicle Dynamics" [23]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
68 Performance criterion PC1 incorporates body acceleration, tire height (tire force)
and control force. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
69 Composite performance riterion PC2 takes into account the effects of jerk. . . . . . . 141
70 Default test road profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
71 Road profile 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
72 Road profile 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
73 Power Spectrum Density of test road profiles. . . . . . . . . . . . . . . . . . . . . . . 145
74 Two degree of freedom linear quarter vehicle model. . . . . . . . . . . . . . . . . . . 149
xiv
75 Quarter vehicle model with semiactive damper - linear model. . . . . . . . . . . . . . 150
76 Semiactive control - sensors and actuators (courtesy of Terje Rølvåg, Norwegian
University for Science and Technology). . . . . . . . . . . . . . . . . . . . . . . . . . 150
77 Frequency response of the disturbance channel. . . . . . . . . . . . . . . . . . . . . . 153
78 Control channel frequency response. . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
79 Frequency response of wheel movement to strut force variation. . . . . . . . . . . . . 155
80 Frequency response of the disturbance channel for low and high strut damping. . . . 158
81 Frequency response of rattle space YBW to road disturbances at high and low damping.159
82 Damper ideal vs realistic damping values range. . . . . . . . . . . . . . . . . . . . . . 162
83 Saturation in order to increase low frequency signal RMS value when signal range is
limited. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
84 Pronounced force and Damping coefficeint saturation from below. . . . . . . . . . . . 164
85 Drop of damper force as damper active region is exited. . . . . . . . . . . . . . . . . 165
86 Abrupt drop of damper force as the moment of damper working region enter/exit is
misidentified. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
87 Discontinuities in the damper force due to imprecise zero crossing detection of
damper relative velocity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
88 Ideal skyhook damper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
89 Distrubance channel frequency response of skyhook controlled suspension at various
skyhook coefficients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
90 Frequency response of wheel movement to strut force variation at various skyhook
coefficients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
91 Realistic implementation of skyhook control. . . . . . . . . . . . . . . . . . . . . . . 171
xv
92 Skyhook controller block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
93 Simulink implementation of semiactive standard skyhook control. . . . . . . . . . . . 172
94 Semiactive standard skyhook control surface. . . . . . . . . . . . . . . . . . . . . . . 173
95 Ideal skyhook vs realistic skyhook using a semiactive damper with nonzero minimal
damping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
96 Realistic Skyhook controller frequency response. . . . . . . . . . . . . . . . . . . . . 174
97 Simulink model of semiactive skyhook-groundhook controller. . . . . . . . . . . . . . 175
98 Simulink model of semiactive state space feedback controller. . . . . . . . . . . . . . 176
99 Test of closed loop linear system using performance criterion PC1 . . . . . . . . . . . 177
100 Full state feedback vs skyhook-groundhook control - PSD of body elevation (com-
parison of body resonance lower frequency range). . . . . . . . . . . . . . . . . . . . 178
101 Full state feedback vs skyhook-groundhook control - PSD of body acceleration (com-
parison of wheel resonsnce high frequency range). . . . . . . . . . . . . . . . . . . . . 179
102 Tire force contour plot of skyhook-groundhook control for various control coefficients.181
103 Body acceleration contour plot of skyhook-groundhook control for various control
coefficients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
104 Performance cirterion PC1 contour plot of skyhook-groundhook control for various
control coefficients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
105 Body jerk contour plot of skyhook-groundhook control for various control coefficients.182
106 Optimal values of the groundhook coefficient. . . . . . . . . . . . . . . . . . . . . . . 184
107 Optimal values of the skyhook coefficient. . . . . . . . . . . . . . . . . . . . . . . . . 185
108 Example of static map-based modulation surface applied to skyhook control. . . . . 189
109 Desired modulation of damper force to minimize jerk. . . . . . . . . . . . . . . . . . 191
xvi
110 Classic skyhook conrtol - Simulink diagram. . . . . . . . . . . . . . . . . . . . . . . . 193
111 Standard skyhook control signal plot. Note the smooth transition of the modified
skyhook algorithm control current. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
112 Surface map a classic no-jerk skyhook controller. . . . . . . . . . . . . . . . . . . . . 194
113 Virginia Tech No-Jerk algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
114 Equivalent control surface of the Virginia-Tech algorithm. . . . . . . . . . . . . . . . 195
115 Level modulated skyhook - surface map. . . . . . . . . . . . . . . . . . . . . . . . . . 196
116 Level modulated skyhook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
117 Smooth transition from zero to one - Simulink diagram. . . . . . . . . . . . . . . . . 198
118 Level modulated skyhook. Fast executing variant with precalculated lookup tables. . 199
119 Smooth transition from 0 to 1 for a = 0.5 and n = 2. . . . . . . . . . . . . . . . . . . 199
120 Filtering the on/off switching of control action as damper working region is en-
tered/exited. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
121 General diagram of prediction-based modulation. . . . . . . . . . . . . . . . . . . . . 202
122 Predictor of time to exiting the damper active region. . . . . . . . . . . . . . . . . . 203
123 Time to exiting the damper active region and force modulation. . . . . . . . . . . . . 204
124 Time since entering the damper active region and force modulation. . . . . . . . . . 205
125 Prediction modulated skyhook - Simulink diagram (top level). . . . . . . . . . . . . . 206
126 Prediction modulated skyhook - prediction modulation subsystem. . . . . . . . . . . 206
127 Prediction modulated skyhook - prediction modulation subsystem fast implementa-
tion with lookup table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
128 Prediction modulated Skyhook-Groundhook - Simulink diagram. . . . . . . . . . . . 207
xvii
129 Comparison of control forces from various jerk mitigation algorithms. . . . . . . . . . 209
130 Control force of prediction modulated skyhook - low signal. . . . . . . . . . . . . . . 210
131 Control force of prediction modulated skyhook with additional filtering - low signal. 211
132 Control force of prediction modulated skyhook - large signal. . . . . . . . . . . . . . 212
133 Control force of prediction modulated skyhook with additional filtering - large signal. 213
134 Comparison between skyhook algorithms with and without jerk mitigation - body
acceleration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
135 Comparison between skyhook algorithms with and without jerk mitigation - body
jerk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
136 Comparison between skyhook algorithms with and without jerk mitigation - tire force.216
137 Power Spectral Density of vehicle body acceleration - log scale, light filtering. . . . . 218
138 Power Spectral Density of vehicle body acceleration. Body resonance frequency range
with log scale and light filtering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
139 Power Spectral Density of vehicle body acceleration. Body resonance frequency range
with linear scale and no filtering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
140 Vehicle body jerk...Y B. Skyhook controller with prediction based jerk mitigation. . . 220
141 Body elevation YB. Skyhook controller with prediction based jerk mitigation. . . . . 221
142 Body to wheel distance YBW . Skyhook controller with prediction based jerk mitigation.222
143 Tire force FN . Skyhook controller with prediction based jerk mitigation. . . . . . . . 223
144 Composite performance criterion of supension control PC2 . . . . . . . . . . . . . . . 225
145 RMS of vehicle body acceleration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
146 Sum of the 8 largest body jerk peaks. . . . . . . . . . . . . . . . . . . . . . . . . . . 228
xviii
147 RMS of tire force variations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
148 RMS of body to wheel deviation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
149 RMS of body elevation deviation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
150 Execution time of suspension algorithms (one wheel only). . . . . . . . . . . . . . . . 233
151 Execution time of suspension algorithms for complete four-wheel control system. . . 233
152 Code size of suspension algorithms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
153 Quarter vehicle suspension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
154 Model based prediction - general Simulink diagram. Note the n-step predictor in the
center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
155 n-step predictor with closed loop system model on the left, and YBW zero crossing
detection on the right. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
156 Discrete time model of the suspension. This is used as plant model in the closed
loop system model of the n-step predictor. . . . . . . . . . . . . . . . . . . . . . . . . 242
157 Simplified semiactive controller. This is the controller in the closed loop system
model of the n-step predictor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
158 Model based prediction with filtering - general Simulink diagram. The filter is on
the left and the n-step predictor is on the right. . . . . . . . . . . . . . . . . . . . . . 243
159 Diagram of Kalman Filter by Prof. Stephen Boyd, Stanford University [95]. . . . . . 245
160 Filter of measured state vector - design with pole placement in continuous time s
domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
161 Filter of measured state vector - discrete time implementation optimized for fast
execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
162 Prediction using polynomial fit of YBW and extremum detection. . . . . . . . . . . . 249
xix
163 Simulink model of YBW polynomial fit prediction. . . . . . . . . . . . . . . . . . . . . 249
164 Root level of the Stateflow chart implementing the YBW polynomial fit prediction. . 250
165 Polynomial fit portion of the Stateflow chart implementing the YBW polynomial fit
prediction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
166 Parabola extremum finding portion of the Stateflow chart implementing the YBW
polynomial fit prediction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
167 Prediction using polynomial fit of YBW and zero crossing detection. . . . . . . . . . . 252
168 Simulink model of prediction using YBW polynomial fit and zero crossing detection. . 253
169 Root level of the Stateflow chart implementing the YBW polynomial fit and zero
crossing detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
170 Polynomial fit portion of the Stateflow chart implementing the YBW polynomial fit
and zero crossing detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
171 Zero Crossing, root finding portion of the Stateflow chart implementing the YBW
polynomial fit and zero crossing detection. . . . . . . . . . . . . . . . . . . . . . . . . 256
172 Prediction using 3-segment polynomial fit of YBW and zero crossing detection. . . . . 258
173 Simulink model of prediction using 3-segment polynomial fit of YBW and zero crossing
detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
174 Root level of the Stateflow chart implementing the YBW 3-segment polynomial fit
and zero crossing detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
175 Comparison of damper reversal detection algorithms - very large damper speeds. . . 262
176 Comparison of damper reversal detection algorithms - large damper speeds. . . . . . 263
177 Comparison of damper reversal detection algorithms - medium damper speeds and
strong disturbances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
178 Comparison of damper reversal detection algorithms - small damper speeds. . . . . . 265
xx
179 Comparison of damper reversal detection algorithms - execution time. . . . . . . . . 266
180 Comparison of damper reversal detection algorithms - achievalbe sample time. . . . 266
181 Contents of the graphical function Get_angle_coefficients from the Stateflow chart
Get angle derivartives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
182 Contents of the Get_coeffs_KB graphical function from the Get Coefficients State-
flow chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
183 Contents of the Get_coeffs_CB graphical function from the Get Coefficients State-
flow chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
184 Contents of the Get_coeffs_KCG graphical function from theGet Coefficients State-
flow chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
185 Contents of the Get_coeffs_Ksim_aYw graphical function from the Get Coefficients
Stateflow chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
186 Contents of the Get_coeffs_Ksim_aYb graphical function from the Get Coefficients
Stateflow chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
187 Contents of the Get_coeffs_K_aYw graphical function. . . . . . . . . . . . . . . . . 301
188 Contents of the Get_coeffs_K_aYb Stateflow graphical function from the Get Co-
efficients Stateflow chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
xxi
CHAPTER 1
INTRODUCTION
1.1 Problem Statement and Requirements
This dissertation concerns itself with the modeling and control of vehicle suspension for passenger
comfort.
As a part of this study a quarter vehicle suspension model shall be developed. The model shall
describe the motion of a double wishbone suspension in a single plane. An implementation of the
model shall be capable of real time execution and suitable for hardware in the loop testing.
Suspension control algorithms shall be studied to improve passenger comfort. A controllable
damper shall be used as an actuator. Only sensor technologies that are suitable for production
applications shall be used. The algorithm shall be capable of real time execution on a commercially
viable microcontroller.
1.2 Semiactive Suspensions - State of the Art1.2.1 Semiactive suspension — short definition
Semiactive suspension is a suspension with controllable dampers (shock absorbers). Damper stiff-
ness is controlled based on the signals of acceleration and position sensors.
1.2.2 Advantages of semiactive suspensions
Semiactive suspensions offer a number of advantages:
• Comfortable ride
A semiactive suspension can be designed with soft springs and low minimum damping. Such
suspension tuning provides smooth ride while at the same time the semiactive control helps
avoiding the pronounced low frequency oscillations that are registered as a “floating” sensa-
tion.
• Better handling
1
A semiactive suspension can limit the wheel oscillations and thus improve tire grip. This is
especially noticeable when hitting a bump on a turn.
• Low power requirements
Semiactive suspensions have very low power requirements (in contrast with active suspen-
sions). According to Delphi a semiactive suspension uses less than 20W of power per shock
absorber.
• Acceptable cost
The cost drops significantly when sensors are shared with an electronic stability control sys-
tem.
• High durability
A well made semiactive suspension is maintenance free for the life of the vehicle. Lord
Corporation claims semiactive shock absorber life of 150,000 miles. These shock absorbers
(referred here as magneto-rheological dampers) have very few moving parts.
• Fail safe
A failed semiactive suspension typically results in very soft, but still acceptable ride.
1.2.3 Challenges in semiactive suspension research
Designers of semiactive suspension control systems are faced with some problems inherent to this
type of suspension:
• Challenges of controlling a system with two degrees of freedom (for quarter vehicle) with onlyone actuator.
The challenge is that two bodies (body and wheel) are to be controlled with only one actuator
located between them. When pushing up on body, the actuator also pushes down on wheel.
• Challenges of suspension control with a semiactive (variable damper) actuator
— The damper can only provide forces opposing relative movement of body and wheel.
— The damper’s relative speed and thus ability to provide force in the desired direction is
modulated/interrupted by two separate oscillatory processes. The damper relative speed
2
is a result of the superposition of wheel’s higher frequency oscillations and body’s lower
frequency oscillations. The force of a damper is the result of the product of: a) motions
of the body and wheel (uncontrollable and hard to predict) and b) damper stiffness (fully
controllable).
— Semiactive control algorithms tend to cause undesired vehicle body jerk. Most control
algorithms are designed with techniques used for active suspension control. The result
is an algorithm that produces force as desired actuator control signal. A semiactive
suspension can only deliver force in the desired direction a part of the time. In many
algorithms this results in on and off switching of control force. An abrupt change of
actuator force causes abrupt change of vehicle body acceleration and thus high jerk
levels. (By definition jerk is the derivative of acceleration [72].)
— The magnetorheological semiactive damper is a nonlinear device. Damper force is ap-
proximately proportional to damper current only at higher damper velocities.
1.2.4 Challenges of real time vehicle dynamics models
There is a need for accurate real time models for hardware in the loop (HIL) simulation testing.
There are challenges that come with real time execution
• Computational efficiency becomes critical
• Stability and accuracy become important as larger simulation steps are taken to accommodatemore computationally intensive models.
• Challenges of model complexity. Analytical models representing suspension kinematics arecomplex to derive and slow to execute.
1.2.5 Semiactive suspension functions
A semiactive suspension can function in various modes and provide a number of functions:
• Ride firmness selection — changes the average damping stiffness at the press of a switch oraccording to vehicle speed.
• Ride comfort control. Improving ride comfort is the subject of this work.
3
• Road holding control. Damping wheel oscillations allows better road contact and thus im-proved handling.
• Body levelling. Provides corner leveling (roll) compensation, reduces dive in on braking andsquat on acceleration.
• Rollover prevention
1.2.6 Examples of commercially available semiactive suspensions
Semiactive suspensions are already on the road in a number of production vehicles:
• Delphi MagneRide, used on Cadillac Seville Cadillac STS, Cadillac XLR, Corvette C5 andC6, Audi TT and R8, Acura MDX, Ferrari 599 GTB Fiorano
• Tenneco Continuously Controlled Electronic Suspension (CES). Standard on Volvo S60 R,V70 R optional on S60, V70, XC70 and S80 models. Optional on Ford Mondeo and Mercedes
C class.
• ZF Sachs Continuous Damping Control
• Mercedes-Benz Adaptive Damping System
• Thyssenkrupp Bilstein Damptronic
• Arvin Meritor
• Kayaba — Shinkansen train, optional on ISUZU Rodeo
1.2.7 Typical control system arrangement and parts
Fig 1 illustrates a typical arrangement of semiactive suspension sensors and actuators. Fig 2
presents Hitachi’s semiactive suspension parts.
1.3 List of new research topics and contributions in this work
Of the large scope of topics covered in this work the following may be considered new and are
claimed as contributions to the knowledge in the area of semiactive suspensions.
1. A detailed quarter vehicle model was developed. The model is of a double wishbone suspen-
sion. The model is optimized for speed and capable of real time execution. It was implemented
4
Figure 1: Semiactive control system - sensors and actuators (courtesy of Terje Rølvåg, NorwegianUniversity for Science and Technology).
Figure 2: Parts of semiactive suspension control system (courtesy of Hitachi).
5
in the Simulink/Stateflow numerical simulation environment. The model was benchmarked
on a real time HIL hardware.
2. Optimal tuning of common semiactive control algorithms was researched. This included
skyhook and skyhook-groundhook control. The optimal tuning was based on minimizing
integral cost criterion that balances passenger comfort, road holding and control effort. Real
road data excitation is used.
3. Jerk mitigation for semiactive control algorithms was researched. Novel time based jerk
mitigation algorithms are proposed. These include a time prediction modulation algorithm,
a filtered switch based modulation and a variant of a static map based modulation algorithm.
1.4 Dissertation document overview
This work can be subdivided in two parts. The first part deals with the derivation, verification and
real time implementation of a double wishbone quarter vehicle suspension model. The second part
deals with various aspects of semiactive suspension control.
1.4.1 Chapter 2 "Modeling multibody mechanisms"
This chapter sets the stage with a short overview of common definitions, problems, methods and
tools in multibody modeling and simulation. It briefly touches on mathematical approaches and
challenges specific to multibody simulation. It then covers numerical simulation methods. Finally
it lists common software packages that can be used for the task.
1.4.2 Chapter 3 "Modeling double wishbone suspension - selected approach, methodsand tools"
This chapter describes the structure of the quarter vehicle suspension model. It describes the
decomposition of the suspension mathematical model into three separate parts (equations): a)
body, suspension arms and wheel, b) strut consisting of damper and spring and c) tire and road.
The three subsystems form a loop that is simulated (solved) via numerical simulation. The body
and wheel subsystem calculates wheel and body positions and velocities that are fed into the strut
and tire subsystems. The strut and the tire calculations produce strut and tire force values that
are fed back into the body and wheel system.
6
This chapter also lists the selected software tools to be used in the model creation and simulation.
The employed symbolic mathematical software was Mathematica by Wolfram Research. It was
used for symbolic manipulation and simplification of the equations of motion. The explicitly solved
simplified equations of motion were simulated with a numerical simulation package. The selected
numerical simulation software was Matlab with Simulink and Stateflow by The Mathworks. Matlab
provides a convenient scripting language to automate tasks such as parameter optimization or point
by point frequency response via successive numerical simulations. The Simulink Stateflow models
were run and benchmarked on real time hardware. The selected real time hardware was from the
Autobox product range made by Dspace. The conversion of the Simulink Stateflow model into C
code and downloading it in the real time hardware was done automatically by the Dspace software.
The outlined workflow is suitable for researchers and does not require programming skills beyond
the ability to work with Simulink/Stateflow models, MS Word macros and standard Matlab scripts.
1.4.3 Chapter 4 "Modeling of Body and Wheel"
Mechanically this subsystem contains a kinematic loop. This means that there are four mechanism
parts (body, wheel, upper arm, lower arm), but only one degree of freedom (distance between body
and wheel). The result was many equations and many interdependent variables (in this case angles
between parts). There was a need to convert all those angles into a common variable (distance
between body and wheel). Similarly there was a need to convert between angular velocities and
accelerations on one side and the linear body-to-wheel velocity and acceleration on the other side.
Only after those transformations were derived, it became possible to obtain an explicit analytic
solution converting strut and tire forces into body and wheel accelerations. The explicit solution
is quite complex and is obtained by calculating a sequence coefficients.
A simple model check was performed by considering one special case of suspension dimensions.
The complex solution formula was then reduced to a simple expression that was easy to understand
and verify.
1.4.4 Chapter 5 "Modeling of Strut and Semiactive Actuator"
The strut model derivation had to incorporate a magneto-rheological damper with its nonlinearity
and hysteresis. After some experimentation the Bouc-Wen hysteresis model was selected as rela-
tively accurate and suitable for computationally efficient implementation. A study was carried out
7
on the influence of each parameter of the Bouc-Wen algorithm on the shape of the hysteresis loop.
The fact that the strut inclination changes with suspension travel had to be taken into account as
well. This inclination results in a varying ratio between strut force and vertical force on body and
wheel.
1.4.5 Chapter 6 "Modeling of Tire"
The tire model takes into account the slight nonlinearity of tire spring rate - as the tire compresses
the spring rate increases. Wheel hop is also modeled. Wheel hop is an important phenomenon
contributing to much larger forces on bounce than on rebound when going over large bumps. The
literature survey shows that wheel damping is very low and can be ignored during control system
design (though it was still modeled in the suspension model).
1.4.6 Chapter 7 "Real Time Suspension Model"
The suspension model was implemented as a Simulink-Stateflow model. Complex formulae were
implemented as Stateflow charts. The model was partitioned using Simulink subsystems. All
important variables were implemented as simulink signal lines connecting the Simulink subsystems
and Stateflow charts. This allows easy traceability of what input and output signal are. Special
attention was paid to reducing calculation effort to speed up real time execution. Using Simulink
allows easy integration with control models and also easy, automated process of running the model
on real time hardware. The complex expressions for the coefficients of the differential equations of
the body and wheel subsystem were isolated in a separate subsystem. This allowed easy replacement
with another subsystem containing precalculated lookup tables. The Matlab environment allows
easy automation of long experiments involving many simulations such as parameter optimization.
1.4.7 Chapter 8 "Model validity checks through simulation comparisons"
The developed nonlinear suspension model is verified by comparing the output of its numerical
simulation with two other suspension models. One is a linearized version of the developed nonlinear
model. The other is a similar nonlinear model developed by another researcher. The results confirm
that there are no detectable problems with the developed model.
1.4.8 Chapter 9 "Real time model implementation - issues and performance"
The model was run and benchmarked on DS 1006 real time hardware made by Dspace Inc.
8
1.4.8.1 Using pre-calculated lookup tables
The analytical solutions of the body and wheel equations of motion included large number of
trigonometric and algebraic calculations taking up significant execution time. A solution is devel-
oped to speed up the execution of some portions of the equations by precalculating them in lookup
tables. These are direct feed-through calculations where the output depended only on the current
values of one input signal. An automated setup was created to precalculate the tables for the
expected input range. In this way the simulation of the equations of motion now has two distinct
stages:
1. Based on suspension parameters (dimensions, weights) and the expected range of input vari-
ables (displacements, speeds) the lookup tables are precalculated. This is time consuming,
but is done only once, before the real time simulation begins.
2. The actual simulation of the model is performed using the lookup tables.
1.4.8.2 Improving simulation stability at large simulation steps through use of different nu-merical integration methods in different parts of the model
Research was carried out on improving the stability of the numerical integration algorithm. The
goal is to be able to take larger simulation steps if needed without compromising stability. This
was achieved by using different integration methods for different portions of the model. In the
Simulink R° environment this required first converting the model to explicit discrete time. Some
integration methods such as Euler Backward offer better stability but can not be used in loops where
the input of the integrator is connected immediately to the output. Other integration methods such
as Euler Forward integration have the advantage of being usable in direct feedback loops but tend
to make the system unstable at larger simulation steps. By using Euler Backward integrators
wherever that was possible the stability of the model was improved. This approach was illustrated
in chapter 4 "Modeling of Body and Wheel of a Double Wishbone Suspension."
1.4.9 Chapter 10 "Sensors and Signal Processing"
A short treatment of the available automotive sensor technologies is provided. A suggestion is put
forward on the integration of body acceleration to obtain body velocity. This is only approximate
integration - a compromise needed in order to be able to avoid zero drift. The approach is equivalent
9
to a lead-lag circuit that behaves as integrator at higher frequencies and high pass filter at lower
frequencies.
1.4.10 Chapter 11 "Riding comfort, Suspension Performance Criteria"
Special attention was devoted to researching objective measures of ride comfort. The literature
survey yielded that vehicle body vertical acceleration is the most commonly cited indicator of
ride comfort with some authors adding vehicle jerk as additional criterion. Human sensitivity to
vibrations is frequency dependent. Acceleration Power Spectral Density (PSD) is used to visually
present the frequency distribution of vehicle body acceleration as a result of nonperiodic road
disturbances. The author suggests filtering the PSD curve with a moving window in order to
eliminate the numerous thin spikes and make it easier to interpret. Note that moving window
filtering preserves the area under the filtered curve - an important property of the PSD curve. This
moving window filtering approach can be a convenient supplement to the ISO 2631 standard which
results in a histogram-like averages for a limited number of frequency bands and may so obscure
resonant peaks.
Jerk - the third derivative of vertical body displacement represents the rate of change of vehicle
body acceleration. This criterion gains higher importance with the introduction of semiactive
suspensions that can generate fast changes of suspension forces.
Experimentally measured road profiles are used as test data excitation. The profiles were
provided by the University of Michigan.
The author uses integral cost criteria to evaluate the performance of suspension control algo-
rithms. These criteria represent a compromise between comfort, road holding and control effort.
The closed loop plant+control system model is subjected to the road profile disturbances. The
control algorithm is tuned to minimize the integral performance criterion.
1.4.11 Chapter 12 "Semi-Active Suspension Control"
The basic properties of a vehicle are outlined here, such as body and wheel resonances and invariant
point. The specifics of suspension control are discussed. The control of a suspension system presents
special challenges. It is a system with two degrees of freedom (body and wheel elevation) but only
one actuator applying forces between body and wheel. As a result there are limitations such as the
inability to control body movements at the wheel resonant frequency. A strut based actuator control
10
is able to effectively control the body resonance though. The influence of suspension damper tuning
on suspension performance is studied to provide some insights when variable damping control is
discussed at later point.
1.4.11.1 Specifics of semiactive suspension control
The specifics and limitations of semiactive control are studied. The notable limitation is the in-
ability of semiactive dampers to deliver outward forces during expansion and inward forces during
compression.
The basic strategy of semiactive control is outlined. According to published research on clipped
optimal control, the best strategy is to control the damper to deliver the required force when
the required force is in the direction that can be delivered and reduce damping to minimum for
lowest possible force when the required force is in direction opposite to the one the damper can
deliver. This means that semiactive damper force may have to be effectively switched on and off
independently of the force calculated by the original algorithm. The resultant sudden changes of
strut force can cause sudden changes of vehicle body acceleration i.e. high jerk spikes.
Also some observation are made on the trade-off between low frequency control and high fre-
quency harshness. The harshness is a result of damper periodic stiffening (saturation) with the
wheel resonant frequency.
As part of the preliminary study of semiactive control some basic control algorithms are studied
and compared in conjunction with semiactive actuator. These included full state feedback and
skyhook-groundhook control. The comparison shows no significant advantage of full state feedback
control over skyhook-groundhook control when a composite integral performance criterion is used.
1.4.11.2 Tuning of semiactive control algorithms
The influence of semiactive skyhook-groundhook parameter values on suspension performance is
studied. This includes influence on body acceleration (comfort), tire force variations (road holding),
jerk (comfort) and a composite integral performance criterion. An interesting observation is made
that slight positive feedback in the groundhook control loop may in some cases improve comfort.
A study of optimal parameters of semiactive groundhook-skyhook controller is carried out where
the weights of the composite performance criterion are gradually shifted from road holding to
comfort. This produced a table of coefficients that can be used by a supervisory control to tune
11
the skyhook-groundhook control depending on the driving situation (braking, acceleration, turning
etc.).
1.4.12 Chapter 13 "Jerk mitigation"
The force the damper can deliver is not always in the direction requested by the control algorithm.
As a result sudden changes of force may be generated by the semiactive suspension as the damper is
switched on and off. This could cause jerk spikes. The literature survey indicated that less attention
has been paid to jerk mitigation. This prompted the author to center his efforts on algorithms that
can lower the jerk that may caused by semiactive suspension control. A research and test of existing
algorithms for limiting of jerk is performed. The goal of the jerk mitigation algorithms is to ensure
gradual force transition when the damper is switched on or off. For the purpose of this study
jerk mitigation methods are categorized into static, map based methods pioneered by the team at
Virginia Tech University and time based prediction mitigation methods introduced in this work.
In the course of the study it becomes obvious that jerk mitigation algorithms require a compromise
between the good performance of the original control algorithm and lowering the jerk levels.
A novel jerk mitigation algorithm is presented that tries to predict when the damper force or
the requested force would change sign and lowers the damper force in advance. Similarly it raises
the damper force to its desired level in a short period after the damper force turns in the same
direction as the one requested by the control algorithm.
Another proposed jerk mitigation algorithm uses filtered switching command to modulate the
requested control force during the on/off switching periods.
The author also introduces a new formula defining a map surface for static map based jerk
mitigation.
The proposed algorithms are compared using integral performance criteria as well as by overlay-
ing their acceleration PSD curves. To ensure objective comparison the parameters of each algorithm
are optimized before comparison. This includes the fixed damping coefficient of the passive sus-
pension case. All jerk mitigation algorithms use skyhook control as their basic control algorithm.
The list of compared jerk mitigation methods includes:
• Optimally tuned passive damper
• Standard skyhook (no jerk mitigation except control gain coefficient detuning)
12
• Classic no-jerk skyhook which employs static map modulation
• Proposed static surface map based modulation
• Proposed filtered switch command
• Proposed time based modulation using future damper state prediction
• The same prediction based method as above, but this time coupled with a skyhook-groundhookcontrol to investigate applicability to other control algorithms.
The comparison shows that the jerk mitigation algorithm using prediction offers superior per-
formance. It is followed by the filtered switch command method. Those algorithms offer good jerk
mitigation while avoiding unnecessary intervention and with little adverse effect on the performance
of the original control algorithm.
A comparison of benchmark execution times on a production microcontroller shows that the
algorithms can indeed be executed comfortably on actual hardware. As can be expected complex
prediction based methods require most time to execute. An interesting comparison is done between
fixed point and floating point implementations of the algorithm showing that a modern day silicon
performs floating point operations quite efficiently and successfully competes with fixed point only
implementations.
1.4.13 Chapter 14 "Prediction of damper force reversals"
This chapter is a supporting chapter to the Jerk Mitigation chapter. It serves to develop and
evaluate a prediction algorithm to be used in the jerk mitigation. Several prediction algorithms are
investigated for the purpose of predicting future damper force (or control request force) reversals.
Traditional model based prediction algorithms are investigated as well as polynomial fit extrapola-
tion prediction methods. It becomes clear that filtering of measured state data needs to be added
for the selected state space model based prediction method to work. This filtering is implemented
as an observer with specifically tuned poles. The result is very good prediction performance, but
with significant computational effort.
As an alternative several variants of a polynomial fit prediction method are investigated. It is
noted that using a polynomial fit and extrapolation can be seen as a more elaborate use of signal
derivatives. Some version of the polynomial fit use least squares algorithm, others use simpler
13
three-point parabola fit. Some versions fit a polynomial to the body to wheel signal, others to its
derivative.
After a comparison of performance and required computational effort a polynomial fit prediction
algorithm is selected as sufficiently accurate, noise resistant and moderately computationally inten-
sive. This prediction method is used in the prediction algorithm discussed in the jerk mitigation
chapter.
14
PART I
Suspension Model
CHAPTER 2
MODELING MULTIBODY MECHANISMS
2.1 Introduction
This is an overview chapter discussing methods of modeling and tools for simulation of multi-body
systems. The goal is to select an approach that would be suitable for real time simulation. Sim-
ulation of the behavior of a mechanism is achieved generally by solving a high order system of
simultaneous equations. This chapter offers a brief, high level overview of the most common meth-
ods of deriving and simulating the equations of motion. Some methods rely on extensive formula
simplification or even approximation in order to lessen the processing power needed for real time
computation. Other methods produce the equations of motion more readily using a standardized
and even automatable approach, though require a good solver and greater computational resources
during simulation.
2.2 Definitions
A multibody system as discussed in this work consists of interconnected rigid bodies. Each body
may undergo translational and rotational displacements. The goal is to develop a model of that sys-
tem that describes the position, velocity and acceleration of each body based on masses, dimensions,
constraints and applied external forces.
• Mechanical design. A multibody system also referred to here as mechanism can be described
and characterized by its mechanical design. This would include specification of dimensions,
masses, various types of joints and external torques and forces applied. It is not possible to
simulate the motion of a dynamic multibody system directly from the knowledge about its
mechanical design. First the equations of motion need to be derived and then solved and
integrated for each simulation time step.
• Degrees of freedom.
"A mechanical system mobility can be classified according to the number of degrees
of freedom (DOF) that it possesses. The system’s DOF’s is equal to the number of
15
independent parameters (measurements) that are needed to uniquely define its position
in space. Note that DOF is defined with respect to a selected frame of reference. A
rigid body in a plane has three DOF." [2]
• In the case of a mechanism the degrees of freedom are determined by the number of indepen-
dent motions possible after the constraint conditions are taken into account.
• Constraints.
The constraints limit the degrees of freedom of one or more bodies in a mechanism. They
are described by constraint equations - algebraic equations defining the relative translation
or relative rotation of two bodies. Constraint conditions are enforced by mechanism joints
and other points of contact.
• Kinematic loop. In this work a kinematic loop refers to the closed loop kinematic linkage ofthe four bar mechanism and the associated limiting of the number of degrees of freedom. The
double wishbone suspension is an instance of a four bar mechanism. In very simple terms:
there are four mechanism parts - each with its own positions, velocities and accelerations, but
they all are interdependent as the four bar mechanism has only one degree of freedom.
• Algebraic loop. This is a concept from the field of numerical simulation. This is a specific
arrangement of one or more functions connected in a loop without any delays anywhere in
the loop. The current step output value of the function is needed as the current input of
the function. In simple terms this is a "Catch 22" situation where the current output should
be provided provide as current input in order to calculate the current output. An algebraic
loop is a manifestation of an unsolved algebraic equation. The simulation software may try
to solve the implied algebraic equation either analytically in some simple linear cases or more
often iteratively at every simulation step. This could lead to slower simulation. An algebraic
loop that goes undetected results in a parasitic one step simulation delay as it is actually the
previous step output that is fed back. This would result in decrease of accuracy and possible
loss of stability. In the author’s view an algebraic loop is a sign of an incomplete solution of
the equations that served as a basis of the model.
16
2.3 Equations of motion
The equations of motion describe the dynamic motion of a multibody system. Depending on the
approach taken in deriving the equations of motion their form may vary, though the described
physical process remains the same. The equations are written for general motion of the individual
bodies with the addition of constraint conditions. A generalized approach is to derive the equations
of motion from the Newton-Euler equations/D’Alembert’s principle or Lagrange’s equations. The
derivation of the equations of motion is usually split into several steps as outlined below:
2.3.1 Choice of coordinates and reference frame
This is crucial for the complexity of the derived equations. It greatly influences the effort involved
in derivation as well as the computational effort for integration. It is possible to work with joint
(relative) coordinates (angles and distances between bodies) or in absolute x, y coordinates.
2.3.2 Kinematic analysis
The kinematic analysis translates the position/motion of some body coordinates into position/motion
of other body coordinates. These relationships are described by linear and nonlinear equations based
on geometric (trigonometric) relationships.
The static (position) constraint equations describe positions of some parts of the mechanism in
terms of positions of other parts. There are as many equations as there are degrees of freedom.
The constraint (position) equations are frequently written [3] in the compact form shown in Eq 1.
Φ(q, t) = 0 (1)
Where q is a vector of the positions of the parts of the mechanism.
By differentiating those equations the speed equations are derived. Their compact form is shown
in Eq 2.
Ψq = c (2)
These equations describe the velocity of mechanism parts in terms of velocities and positions of
other parts. Note that the matrix Ψ is a function of mechanism position q (Ψ is not a constant).
17
2.3.3 Deriving the equations of motion
2.3.3.1 Using Lagrange multipliers
A formalized method to derive the equations of motion using Lagrange multipliers method is to
combine the dynamic and the differentiated position equations of a system. The dynamic equa-
tions describe the relationship between forces, inertial moments and accelerations of each body
in the mechanism. Using the principle of zero virtual power at system equilibrium and Lagrange
multipliers [4] the dynamic equations can be written as:
Mq +ΨTλ = F (3)
The dynamic equations are derived from the Lagrange’s principle for each body. The elements of
the vector λ are known as Lagrange multipliers and represent constraint linked forces or moments.
In other words the Lagrange multipliers represent the joint forces and moment that keep the
parts of the mechanism together. They can be seen as artificial variables added for computational
convenience. M is an equivalent mass matrix. F is an equivalent force/momentum vector.
Next the position equations are differentiated twice :
Ψq = h(q, q, t) (4)
Combining Equations 3 and 4 the equations of motion of the system are derived as:⎡⎢⎣ M ΨT
Ψ 0
⎤⎥⎦⎡⎢⎣ q
λ
⎤⎥⎦ =⎡⎢⎣ F
h(q, q, t)
⎤⎥⎦ (5)
This is a large system of differential algebraic equations (DAEs) that needs to be solved each
integration step for the accelerations q.
2.3.3.2 Using Newton Euler’s principles
The equations of motion can also be derived using the Newton and Euler principles. The Newton-
Euler equations of motion are derived for each body. In a 2D Cartesian coordinate system the
position of each body can be described by two linear and one angular coordinates [6], [7]. The
equations would then have the following form.
18
Newton For each body the sum of the applied forces equals mass times acceleration in the two
directions.
XfRxi +
Xfxi = miaxi (6)X
fRyi +X
fyi = miayi (7)
where fRxi and fRyi are reaction forces at joints between bodies and axi and ayi are accelerations
in the x and y directions.
Euler For each body the sum of the applied moments of force (torque) at the center of mass
equals the moment of inertia at the centre of mass times the angular acceleration.
XMRi +
XMi = Iiθi (8)
where Mi are applied external moments of force and MRi are reaction moments at the joints.
The constraint equations are
Φ(q, t) = 0 (9)
In 2D Cartesian coordinates there would be two equations per revolute joint. For n bodies in a
plane connected with m joints (constraints) this would generally result in 3n+ 2m equations (two
linear and one angular acceleration equation resulting in the 3n equations and equations for the
reaction forces in the x and y direction for each revolute joint). The number of unknowns would
then be two linear and one angular acceleration per body plus joint reaction forces.
To form the equation of motion the constraint (position) equations are differentiated twice to
arrive at the form:
Ψq = h(q, q) (10)
The equations of motion are derived by combining with the angular equations 8 and the linear
equations 6. ⎡⎢⎣ M ΨT
Ψ 0
⎤⎥⎦⎡⎢⎣ q
fR
⎤⎥⎦ =⎡⎢⎣ F
h(q, q, t)
⎤⎥⎦ (11)
These are differential algebraic equations.
19
The states of the system are the positions (linear and angular coordinates) of the bodies.
q = [xi, yi, θi]T (12)
F are external forces and fR are reaction forces.
The derivation using the Newton and Euler method uses user defined reaction forces and may
thus lend itself to easier additional transformations and simplifications.
It should be noted that the same equations of motion derived using different methods differ in
form but not in substance. One can be converted into the other albeit with significant effort and
substitution of auxiliary unknown variables such as Lagrange multipliers and reaction forces.
In summary, this traditional dynamic simulation approach involving n generalized coordinates
and m independent constraints results in a system of O(n+m) differential algebraic equations [5].
These are the outlines of only two out of the many existing approaches to derive the equations
of motion.
2.3.4 Closed Kinematic loops
Closed kinematic loops pose efficiency problems to the solution of the equation of motion. They
result in extra dependent differential algebraic equations that increase the order of the system of
equations of motion.
The implicit nature of the kinematic loop equations can make it very hard or even impossible to
obtain explicit equations of motion. As mentioned above they are typically represented by system
of DAEs (differential algebraic equations).
One resolution is to create a “cut joint” where reaction forces are calculated to keep the joint
together. This converts the closed loop problem into an open loop one. The disadvantage is in the
increased number of generalized coordinates and constraint equations [4].
A less frequently used approach is to solve the kinematic loop equations analytically and elim-
inate the redundant constraint (dependent) equations in advance. This is highly desirable, though
it may require significant effort to solve the equations analytically if at all possible. This approach
achieves fast, accurate implementation, well suited to real time simulation.
2.3.5 Modeling by creating tables with physical, empirical measurements.
Lookup tables can be formed describing how movements of one mechanism point result in move-
ments of other mechanism points. Other lookup tables can describe how the speed of one mechanism
20
point depends on position and speed of other point. A practical approach is to use actual dimension
measurements of an existing suspension. Those measurements are then used to create lookup tables
for Φ and Ψ that circumvents the cumbersome derivation and solution of the position equations.
A disadvantage of this approach is the need to obtain new set of measurements and precalculate
again the large lookup tables for each change of suspension properties.
2.4 Numerical Solution of the equations of motion2.4.1 Mathematical methods for numerical solution of the equations of motion
It is frequently not possible or practical to analytically solve the equations of motion. Numerical
simulation is used to solve the equations of motion, often in their original, unmodified form as
represented in Eqs 5 and 11. These equations are repeatedly solved at each time step to yield new
body accelerations. These accelerations are then integrated in time. The resultant new system
states are used in the next integration step.
The numerical solution of the equations of motion is a vast field in itself. Many different
approaches exist. Various explicit and implicit integration methods may be used.
For example in [8], David Baraffmentions a straightforward approach that involves the following
steps:
1. Form an equation for the Lagrange multipliers λ:
ΨM−1ΨTλ = −Ψq −ΨM−1F (13)
2. As alternative, in a similar way form an equation to calculate constraint forces fR based on
current body positions and speeds, as well as external forces F .
A fR = b (14)
3. Solve Eq 13 / 14 for the Lagrange multipliers λ / constraint forces fR.
4. Apply external and reaction forces to bodies
5. Integrate bodies forward in time (by using for example a Runge Kutta explicit integrator).
One disadvantage of the discussed method of numerical solution of the equations of motion
21
is that due to integrator drift the bodies float apart and the joint constraints are eventually vi-
olated. Constraint stabilization techniques such as Baumgarte Stabilization are used to mitigate
this problem [9].
In some cases it is possible to eliminate the reaction forces from the equations of motion. This
speeds up simulation calculations significantly, but requires considerable up-front effort to simplify
the equation analytically. The speeding up of execution is due to two factors. One is that the
equations of motion have fewer state variables to solve for. The other is that larger integration
steps can be taken without the danger of the aforementioned problem of integrator drift violating
the constraints.
2.4.2 Software tools for analytic formula manipulation and numerical simulation
General purpose analytical math software packages may be used to manipulate, and analytically
simplify the equations of motion. Example of such tools are Maple by Maplesoft and Mathematica
by Wolfram Research. The input to this process is the Newton and Euler or Lagrange equations
of motion. The software tool is used to simplify the equations of motion. The resultant simplified
system of equations DAEs can be exported to another tool for numerical simulation or simulated
by the original tool using a numerical solver (Both Mathematica and Maple are capable of this). It
is also possible to generate and export C code that would be used to numerically solve the equation
of motion in an external environment.
Another approach would be to use an analytical software tool to not only manipulate, but
also derive the equations of motion. Such tools have mechanical modeling capabilities. An example
would be Dynaflex Pro used in combination with Maple. The input in this case is a representation of
the mechanical multibody diagram. The user can select the coordinates and then use the analytical
part of the package to simplify the automatically derived equations of motion. The output could
be a simplified system of equations to be later solved numerically. C code could also be generated.
Traditional tools for numerical simulation of mechanical system can also be considered. One
example is Dymola by Dynasim. It should be noted that there is a pronounced trend to add
analytical manipulation capabilities to multibody simulation software packages. There is hardly a
tool in the field that does not claim some ability to analytically simplify the equations of motion
before using them in a numerical simulation. In this case it is important whether generalized
coordinates can be selected by the user and whether the equations of motion can be exported in
22
analytical form.
MATLAB from the Mathworks with its visual interface Simulink in its original form is not
particularly well suited to mechanical system simulations. It has been supplemented by additional
tools such as CarSim and SimMechanics that add ability to describe mechanical systems and
solve numerically the resulting systems of DAEs. In its original form Simulink is well suited to
numerical simulation of explicitly solved DAEs. Simulink is capable of generating efficient C code
and is universally used for its control system design capabilities. It is common to bring mechanical
models from other tools as analytical formulae or “black box” C code in order to design a control
system and perform a simulation, including real time simulation.
23
CHAPTER 3
MODELING DOUBLE WISHBONE SUSPENSION -
SELECTED APPROACH, METHODS AND TOOLS
This chapter discusses the general approach taken in modeling the double wishbone suspension. It
covers the selected kinematic structure, model partitioning, the approach to deriving the equations
of motion and finally selection of simulation tools. This partitioning is based on the partitioning
used by Joo Dae Sung [10] with some notable additions to simulate suspension kinematics in more
detail and improve accuracy with larger simulation steps. The separation of the quarter suspension
into subsystems comprising of body and wheel, strut, tire is simple, straightforward, and in the
author’s view, quite logical. The highly nonlinear strut with semiactive damper is part of the body
and wheel, tire, strut loop that is simulated numerically for every time step.
3.1 Kinematic Structure
The 2D suspension model consists of vehicle body, lower and upper arm, wheel, tire and tire contact
patch (see Fig 3).
As a comparison a 3D picture of a real suspension is shown in Fig 4
3.2 Model and equation structuring
The quarter vehicle two dimensional suspension mechanical system is modeled as three interacting
subsystems: 1. body and wheel, 2. tire and road and 3. strut. This separation allows simplification
of the equations of motion and in the case of the strut, easier modeling of highly nonlinear behavior.
This structure is illustrated by the diagram in Fig 5.
3.2.1 Body and wheel
This subsystem consists of: quarter vehicle body, wheel, lower arm and upper arm. The input to
that mechanical system are actuator and tire forces FS, FN , FCM (see Fig 3). The output is body
24
Figure 3: Suspension mechanical diagram.
Figure 4: Ferrari F355 double wishbone suspension (courtesy of Ferrari SpA).
25
Figure 5: Diagram outlining the structure of the suspension model.
and wheel acceleration YB and YW .
YB = f1
³YB, YW , YB, YW , FS , FN , FCM
´(15)
YW = f2
³YB, YW , YB, YW , FS , FN , FCM
´(16)
Note that in Fig 5 the subsystem "Wheel & Body diff. Eq." fist calculates the accelerations YB
and YW as outlined by Eq 15 and 16. Those accelerations are then integrated to obtain the values
YB, YW , YB, YW . More details will be provided in chapter 4 "Modeling of Body and Wheel".
3.2.2 Tire and road.
The input to the tire and road system are wheel and road vertical positions YR, YW and speeds
YR, YW . The output of that system are tire forces acting both on wheel rim and tire contact patch
FN , FCM .
FN = f3
³YR, YW , YR, YW
´(17)
FCM = f4 (FN , θW ) (18)
θW = f5 (YB − YW ) (19)
26
See chapter 6 "Modeling of Tire" below for more details.
3.2.3 Strut
The strut consists of a passive spring and semiactive damper. The inputs to that system are strut
length LS, strut contraction/expansion speed LS and semiactive damper damping coefficient BP .
The output is strut force FS.
FS = f6
³LS, LS, BP
´(20)
LS = f7 (YB − YW ) (21)
LS = f8
³YB − YW , YB − YW
´(22)
See chapter 5 "Modeling of Strut and Semiactive Actuator" below for more details.
3.3 Choice of coordinates
A Cartesian coordinate system with absolute position reference frame is selected. This choice
provides a convenient one to one comparison with linearized models. It also represents natively the
body elevation YB which is used in the main performance criteria - vehicle body acceleration and
jerk. The selected mechanical system coordinates (states) are thus vertical positions of body YB and
wheel YW (see Fig 3). The final form of the equations of motion shall contain and be solved for YB
and YW and their derivatives. It is permissible to use other (local) coordinates during derivation of
the equations of motion. These local coordinates will be angles between mechanism parts and their
relative positions. In the final solution of the equations of motion those local coordinates and their
derivatives shall be expressed in terms of the selected coordinates YB and YW and their derivatives.
3.4 General method of derivation of the equations of motion
The Newton Euler’s principles are selected to derive the equations of motion. This allows easy
interpretation and identification of auxiliary contact force variables. This choice is consistent with
the approach taken by [10].
3.5 Kinematic loop
The double wishbone 2D suspension includes a kinematic loop as will be discussed in detail in
chapter 4 "Modeling of Body and Wheel." This results in additional constraint equations. The
27
author proposes eliminating those extra constraint equations from the equations of motion. This
can be done via rather elaborate and time consuming analytic equation manipulation to produce an
explicit solution of the nonlinear equations of motion. This may be seen as a further improvement
of the treatment in [10] that uses a specially formulated implicit solution.
3.6 Model kinematic detail level
The selected 2D suspension design includes real world details unavailable in [10]. These include
unequal upper and lower arm length as well as an inclined strut attached to fixed points on the
lower arm and vehicle body. The angle of the strut changes as the suspension moves. In the prior
work cited, both arms were described of equal length and the strut was assumed always vertical
at a constant angle to vehicle body to simplify the equations of motion. A simplification that was
retained was the assumption that the quarter vehicle body moves only in the vertical direction.
Another simplification is the assumption of zero kingpin inclination angle (this is the angle between
the wheel plane and the line through joints b and d).
3.7 Selected simulation tools
1. The Mathematica R° software package is selected for manipulating the equations of motion.
2. MATLAB R°, Stateflow and Simulink are selected to be used as simulation software. This
allows easy transfer to real time executable code.
3. Real Time Workshop R° and Dspace real time hardware are selected to be used for real time
simulation.
28
CHAPTER 4
MODELING OF BODY AND WHEEL
This chapter discusses derivation of the nonlinear equations of motion of the mechanical subsystem
comprised of quarter vehicle body, wheel, upper arm and lower arm. Special care is taken to obtain
equations suitable for fast, real time execution.
The approach proposed in this chapter uses standard, fundamental methods of mechanics to
derive equations of motion. The D’Alembert’s principle has already been used by generations of
engineers. In this respect the approach proposed by the author may be considered unique only in
some of its details. One such detail is the way this work uses transformations of position coordinates
and their velocities and accelerations to simplify the process of converting the equations of motion
into a simple, explicit form. It should be noted that such simplification of the equations of motion
of a double wishbone suspension requires the elimination of redundant, interdependent variables.
Those variables and the corresponding equations are present due to the kinematic loop in the
double wishbone suspension. The literature survey indicated that most researchers have avoided
undertaking this task, possibly due to the inordinate amount of transformations required to arrive
to an explicit form. This work converts the equation of motion into a simple, explicit form albeit
at the cost of significant analytical formula simplification effort.
Another point that may be considered unique is the approach of pre-calculating complex expres-
sions into lookup tables as a standard workflow step preceding the real time simulation. The goal
is to identify expressions in the equations of motion (model calculations) that require significant
computational resources, have no internal states and require only one or two input variables. Such
expressions can be replaced with precalculated lookup tables. In this specific case those expressions
are functions of the relative wheel-to-body position YBW (see the coefficients P1B, P2B, P3B, P4B,
P1W , P2W , P3W , P4W in Eq 23 below). The amount of effort such approach requires makes it only
worthwhile when real time simulation is needed - typically in the context of hardware-in-the-loop
simulation.
29
Figure 6: 2D suspension diagram structure.
4.1 Parts and degrees of freedom4.1.1 Suspension mechanism parts.
The entire quarter vehicle 2D suspension model is comprised of the following parts:
Quarter vehicle body, Lower Arm, Upper arm, Strut, Wheel, Tire, Road
The body is considered to move only in the vertical direction. The body parts and joints are
illustrated in Fig 6.
The body moves in a vertical direction. The lower arm, upper arm and the wheel rotate and
translate along the four revolute joints. The strut is nearly vertical and split in two parts; the mass
of the lower strut part is considered part of the lower arm, while its upper part as part of the body.
4.1.2 Degrees of freedom.
All four parts are constrained to move in a plane. In two dimensional space each part has two
translational and one rotational degree of freedom. The total number of degrees of freedom of
the mechanism, before counting constraints, is thus 4 ∗ (2 + 1) = 12. When the constraints are
taken into account though the number of degrees of freedom is lower. Before the constraints are
taken into account the wheel, lower arm and upper arm have each 3 degrees of freedom. Due to
the revolute joints connecting them, not all of these nine degrees of freedom are independent. The
body, part of the wheel and the lower and upper arms form a four bar mechanism with four revolute
30
joints (see Fig 6). In two dimensions, each revolute joint connects one part of the mechanism with
another imposing two restrictions (one for each coordinate direction). Such restriction makes the
ends of the two bodies move as one point. There are four such revolute joints implying eight such
restrictions. The total reduction of degrees of freedom due to the revolute joints is 8.
The assumption that vehicle body moves only vertically implies a sliding joint type of constraint.
In two dimensions a sliding joint allows only one degree of freedom (removes two degrees of freedom).
The total reduction of the degrees of freedom of a sliding joint is 2 (or in simpler terms the body
has one degree of freedom as only vertical translation YB is allowed).
The eight plus two restrictions on the twelve apparent degrees of freedom reduce the degrees of
freedom to two, 12− 8− 2 = 2. The position of all mechanism parts can be determined by:
1. Specifying both linear positions YB and YW .
2. Specifying one linear position (YB or YW ) and one angle.
The described double wishbone suspension design contains a kinematic loop in the form of a
four bar mechanism. This by itself has 9−8 = 1 one degree of freedom. All of the angles (e.g. θL(t),θU (t), θW (t)) between the mechanism parts are interdependent. Specifying one angle — determines
all other angles.
4.2 Choice of coordinates
A straightforward choice of coordinates is the two linear displacements YB and YW . These coordi-
nates are directly linked to the major forces acting on the heaviest parts of the mechanism as well
as the major performance criteria (ride, rattle space and road holding).
4.3 General form of the desired equations and simulation diagram4.3.1 Tire and strut forces affect accelerations of body and wheel
The following general form of the body and wheel system equations will be derived:
Y 00B =
1
mB(P1BFcm + P2BFN + P3BFS) + P4B
¡Y 0B − Y 0
W
¢2+ g (23)
Y 00W =
1
mW(P1WFcm + P2WFN + P3WFS) + P4W
¡Y 0B − Y 0
W
¢2+ g
31
where Y 00B , Y
00W , Y
0B, Y
0W are vertical body and wheel accelerations and velocities, Fcm is the
camber tire force, FN is the vertical (normal) tire force, FS is the strut force, mB and mW are
quarter vehicle body and wheel equivalent masses and the coefficients P1B, P2B, P3B, P4B, P1W ,
P2W , P3W , P4W are rather complex functions of the current body to wheel relative position YBW =
(YB − YW ) = cg (see Fig 6).
4.3.2 Body and wheel accelerations are integrated to obtain body and wheel speedsand positions
To obtain suspension velocities and positions the accelerations calculated by Eqs. 23 are integrated
twice. This is illustrated by Fig 7. Note that the integrator blocks named DYb and DYw are each
part of a potential algebraic loop due to the algebraic (same simulation step) connection between
output and input. For this reason they are forced to use the Forward Euler integration algorithm
which does not require the current input in order to calculate the current output (no z term in the
numerator of the transfer function). The other two integrators calculating the positions YB and YW
are free to use a more stable integration method such as Euler Backward which requires the current
simulation step value in order to calculate its current output value. This unique combination of
different integration methods within one model allows improved stability.
4.3.3 Obtaining input strut force FS
The position and speed of body relative to wheel (YB − YW ) and (Y 0B − Y 0
W ) result in spring and
damper forces of the strut FS. This is described in detail in chapter 5 "Modeling of Strut and
Semiactive Actuator."
4.3.4 Obtaining input tire forces FN , FCM
The position and speed of wheel relative to road surface (YW − YR) and (Y 0W − Y 0
R) as well as the
wheel angle θW (t) result in tire forces FN and FCM exerted on wheel and road. This is described
in detail in chapter 6 "Modeling of Tire."
4.4 Kinematics4.4.1 Transformation of linear coordinates into angular coordinates and transforma-
tion of their velocities and accelerations - an overview
This topic discusses the transformation of body and wheel displacement, velocity, acceleration into
angle, angular velocity and acceleration of lower, upper arm and wheel. The dependence between
32
Figure 7: Integrating the accelerations from the equations of motion to obtain velocities andpositions.
33
Figure 8: 2D suspension with joint labels and center of gravity points.
the angle coordinates θL(t), θU (t), θW (t) (See Fig 8 ) and the linear coordinate variables YB and
YW is due to the kinematic loop in the double wishbone suspension design. As explained this is
due to the fact that there are 5 mechanism parts, but only 2 degrees of freedom.
This conversion will be needed later in closing the loop for the numerical solution (numerical
simulation) of the suspension model. Such transformation is useful also because during the solution
of the D’Alembert equations for each suspension part, a transformation will be needed to convert
speeds and accelerations of center of mass into velocity and acceleration of other, more convenient
coordinates (YB, YW and angles θx). See Fig 8 for detailed representation of suspension geometry.
4.4.1.1 Position coordinate transformation
It turns out that the trigonometric equations converting relative body to wheel position YBW =
cg = (YB − YW ) into the angles θL(t), θU (t), θW (t) do not have an easy analytic solution. It is thus
necessary to solve the static conversion of coordinates in reverse: starting with one of the angles
(θU ) and using it to calculate the wheel to body distance and the other angles. The resultant
trigonometric expressions are quite long and are shown below in abbreviated form.
34
YBW = fU2cg(θU ) (24)
θL = fU2L(θU )
θW = fU2W (θU )
Lookup tables can then be pre-calculated to obtain the reverse transformation: from relative
body-to-wheel distance YBW to the suspension part angles θL, θU , θW .
θL = fLookupL(YBW ) (25)
θU = fLookupU(YBW )
θW = fLookupW (YBW )
4.4.1.2 Velocity coordinate transformation
Unlike the position coordinate transformation, the velocity transformation is easily obtainable in
analytic form by differentiating the position equations and solving for the derivatives of the angle
coordinates.
θ0L(t) = KdL Y0BW (t) (26)
θ0U(t) = KdU Y 0BW (t)
θ0W (t) = KdW Y 0BW (t)
Note that the coefficients KdU (YBW ),KdL(YBW ),KdW (YBW ) above are functions of the relative
body-to-wheel position YBW = (YB − YW ), They are functions of time only indirectly - through
the changes of YBW (t). They can therefore be precalculated in lookup tables in advance for all
operating values of YBW . This can be done once the dimensions of the suspension parts are known.
4.4.1.3 Acceleration coordinate transformation
The acceleration transformation is obtained by differentiating Eqs. 26 with respect to time:
35
θ00L(t) = KaL Y0BW (t)
2 +QaL Y00BW (t) (27)
θ00U (t) = KaU Y 0BW (t)
2 +QaU Y 00BW (t)
θ00W (t) = KaW Y 0BW (t)
2 +QaW Y 00BW (t)
Note that the coefficients KaU(YBW ), KaL(YBW ), KaW (YBW ) and QaU (YBW ), QaL(YBW ),
QaW (YBW ) in Eq 27 above are again functions of the relative body-to-wheel position YBW =
(YB − YW ), not functions of time. They can therefore be similarly precalculated in lookup tables in
advance for all operating values of YBW . This can be done once the dimensions of the suspension
parts are known.
The acceleration coordinate transformation for the centers of mass is of the type:
Y 00d (t) = fad(Y
00B(t), Y
00W (t), θL(t), θU (t), θW (t), (28)
θ0L(t)2, θ0U (t)
2, θ0W (t)2, θ00L(t), θ
00U (t), θ
00W (t) )
Y 00e (t) = fae(Y
00B(t), Y
00W (t), θL(t), θU (t), θW (t),
θ0L(t)2, θ0U (t)
2, θ0W (t)2, θ00L(t), θ
00U (t), θ
00W (t) )
Y 00f (t) = faf (Y
00B(t), Y
00W (t), θL(t), θU (t), θW (t),
θ0L(t)2, θ0U (t)
2, θ0W (t)2, θ00L(t), θ
00U (t), θ
00W (t) )
Y 00k (t) = fak(Y
00B(t), Y
00W (t), θL(t), θU (t), θW (t),
θ0L(t)2, θ0U (t)
2, θ0W (t)2, θ00L(t), θ
00U (t), θ
00W (t) )
The transformation given by equations 28 can be used to convert accelerations at the centers
of mass d, e, f, k into the more convenient accelerations of wheel, body and angular accelerations
of upper, lower arm and wheel Y 00B(t), Y
00W (t), θ
00L(t), θ
00U (t), θ
00W (t).
Please see the Appendix A for a detailed derivation of the equations starting from Eq 26 till Eq
28.
4.5 Dynamic equations of motion of the body, lower arm, upperarm and wheel - an overview
Below is a short overview of the steps undertaken to obtain an explicit solution of the equations of
motion for Y 00B and Y 00
W .
36
4.5.1 Equations of motion for each mechanism part. Newton-Euler (D’Alembert’sPrinciple) equations - an overview
This is the starting point of the actual derivation of the equations of motion. The Newton-Euler
(D’Alembert) equations of motion are derived for each body. The sum of all forces including gravity
and inertial forces is zero for each body. Accelerations for each body are expressed for the center
of mass. The forces involved are: joint forces at joints a, b, c and d (see Fig 8), strut force FS ,
tire forces on wheel rim FN and FCM , earth gravity forces and the inertial force. Two separate
equations are written for each body - with forces in horizontal and vertical directions. A third
equation is written for the applied torques with respect to the body’s center of mass including the
moment of inertia. As an illustration the equations for the upper suspension arm are shown below.
Upper arm y axis equation:
mUY00e (t) =
XFY upper arm(t)−mUg = FaY (t) + FbY (t)−mUg (29)
Here mU is upper suspension arm mass, FaY (t) is the vertical reaction force from the vehicle
body on the upper arm at joint a. FbY (t) is the vertical reaction force from the wheel on upper
arm at joint a. mU g is the gravitational force on the upper arm pointing downward.
Upper arm x axis equation:
mUX00e (t) =
XFX upper arm(t) = FaX(t) + FbX(t) (30)
Here FaX(t) is the horizontal reaction force from joint a and FbX(t) is the horizontal reaction
force at joint b.
Upper arm angular acceleration equation:
IUθU00(t) =
XFX(t) rX(t) +
XFY (t) rY (t)
= FaX(t)lae sin(θU (t))− FaY (t)lae cos(θU (t))− FbX(t)lbe sin(θU (t)) + FbY (t)lbe cos(θU (t)) (31)
Here IU is the moment of inertia of the upper suspension arm. lae and lbe are the distances
between revolute joints a and b the upper arm center of mass e.
In a similar way the D’Alembert equations for the lower arm, the vehicle body and the wheel
are derived.
37
4.5.2 Solving the equations of motion - an overview
4.5.2.1 Implicit solution for the body and wheel accelerations Y 00B and Y 00
W
First the joint forces FaY , FaX , FbY , FbX , FcY , FcX , FdY , FdX are eliminated from the D’Alembert
equations.
Next the acceleration at the center of mass Xe00, Ye00, Xf
00, Yf 00, Xk00 are converted to more
convenient coordinate accelerations of θ00L(t), θ00U (t), θ
00W (t), Y
00B , Y
00W . This is done by using the
acceleration coordinate transformation equations for the centers of mass shown in Eq 28.
The result is given by the equations 32:
Y 00B(t) = faBne(FN (t), FCM (t), FS(t), θL(t), θU (t), θW (t), (32)
θ0L(t)2, θ0U (t)
2, θ0W (t)2, θ00L(t), θ
00U (t), θ
00W (t) )
Y 00W (t) = faWne(FN (t), FCM (t), FS(t), θL(t), θU (t), θW (t),
θ0L(t)2, θ0U (t)
2, θ0W (t)2, θ00L(t), θ
00U (t), θ
00W (t) )
These equations are not yet easily numerically solvable since the angular accelerations of sus-
pension parts θ00L(t), θ00U (t), θ
00W (t) are present on the right side. The terms on the right involving
the angular accelerations are rather small and only represent the nonlinearities of the suspension.
Thus the solution 32 is explicit in terms of the dominant, linear interdependence between applied
forces FN (t), FCM (t), FS(t) and the linear accelerations Y 00B(t), Y
00W (t).
One may note that equations 32 involve two equations and five coordinate variables (θL(t),
θU (t), θW (t), YB and YW ). The equations are still solvable since there is a dependency between those
coordinates. This dependency is due to the closed kinematic loop. It makes all angle coordinates
θL(t), θU (t), θW (t) dependent on the difference (YB − YW ) as described by equations 25, 26 and
27.
4.5.2.2 Explicit solution of the closed kinematic loop equations.
The next step is to replace angular accelerations and velocities with the accelerations and velocities
of the selected coordinates YB and YW . This is done by using the angle to linear coordinate
transformation discussed earlier.
The result is equations containing only linear displacement derivatives:
38
Y 00B(t) = faB
¡FN(t), FCM (t), FS(t), YBW (t), Y
0BW (t)
2, Y 00BW (t)
¢(33)
Y 00W (t) = faW
¡FN(t), FCM (t), FS(t), YBW (t), Y
0BW (t)
2, Y 00BW (t)
¢(34)
At this point the closed kinematic loop is already solved. There are two generalized coordinates
YB and YW and there are two equations in acceleration.
The equations above contain only linear displacement derivatives and can be subtracted to
derive an equation entirely in YBW :
Y 00BW (t) = facg
¡FN (t), FCM (t), FS(t), YBW (t), Y
0BW (t)
2¢
(35)
The solution for the body to wheel relative acceleration is explicit since it does not need any
body part acceleration. It can be substituted into the equations for YB and YW to arrive at the
explicit solution for the body and wheel accelerations:
Y 00B(t) = KaY bdCGsq Y
0BW (t)
2 +KaY bCG YBW (t)+ (36)
KaY bFcm Fcm(t) +KaY bFn FN (t) +KaY bFs Fs(t) +KaY bGravity
Y 00W (t) = KaY wdCGsq Y
0BW (t)
2+KaY wCG YBW (t)+
KaY wFcm Fcm(t) +KaY wFn FN (t) +KaY wFs Fs(t) +KaY wGravity
where Kxx are coefficients of the current body to wheel relative position YBW = (YB − YW ).
Thus the final solution for the accelerations Y 00B and Y 00
W is obtained by substituting Y 0BW =
(Y 0B − Y 0
W ):
Y 00B(t) = KaY bdCGsq
¡Y 0B(t)− Y 0
W (t)¢2+ (37)
KaY bFcm Fcm(t) +KaY bFn FN(t) +KaY bFs Fs(t) +KaY bGravity
Y 00W (t) = KaY wdCGsq
¡Y 0B(t)− Y 0
W (t)¢2+
KaY wFcm Fcm(t) +KaY wFn FN(t) +KaY wFs Fs(t) +KaY wGravity
where the coefficients KaY bdCGsq, KaY bFcm, KaY bFn, KaY bFs, KaY wdCGsq, KaY wFcm, KaY wFn,
KaY wFs are functions of the current body to wheel relative position YBW = (YB − YW ). As
39
can be expected the coefficients KaY bGravity = KaY wGravity = g (they are the constant vertical
accelerations present even when all other forces are zeros).
Please see the Appendix A for a detailed derivation of the equations starting from Eq 29 till Eq
37. The equations 352 and 353 in Appendix A (repeated here as Eq 37) can be used for numerical
simulation of the body and wheel subsystem of the quarter vehicle suspension. They are part of a
model that is referred to in this work as "full nonlinear model." This is an explicit solution where
all the accelerations are on the left and only positions and velocities are on the right.
The body to wheel position cg(t) = YB(t) − YW (t) does not appear in these equations as
it is incorporated in the coefficients KaY bdCGsq(cg(t)), KaY bFcm(cg(t)),KaY bFn(t),KaY bFs(cg(t)),
KaY wdCGsq(cg(t)), KaY wFcm(t), KaY wFn(cg(t)), KaY wFs(cg(t)). As mentioned those coefficients
are not static, but are functions of the body to wheel position. Consequently their values have to
be calculated during every simulation step. The formulae involved are quite complex and without
special measures would require significant computational effort.
It is quite reassuring that after all those symbolic transformations, the expressions for both
coefficients KaY bGravity and KaY wGravity evaluated during numerical simulation to the value of the
Earth’s gravitational acceleration −9.80665m/s2.
This brings us to the original desired form of the equations of motion as described at the outset
in equation 23. In a slightly different form the equations 37 (Eq 352 and 353) can be presented as:
Y 00B =
1
mB(P1B Fcm + P2B FTireN + P3B FStrut)+ (38)
P4B
¡Y 0B − Y 0
W
¢2+ g
Y 00W =
1
mW(P1W Fcm + P2W FTireN + P3W FStrut)+
P4W
¡Y 0B − Y 0
W
¢2+ g
where the coefficients P1B, P2B, P3B, P4B, P1W , P2W , P3W , P4W are functions of the current
body to wheel relative position YBW = (YB − YW ) and can be thus precalculated in lookup tables
prior to the actual real time simulation. Those lookup tables need to be re-calculated only when
the dimensions, weights or moments of inertia of the suspension parts change. The conversion
between the coefficients of Eq 37 and 23 is as follows: KaY bFcm =P1BmB, KaY bFn =
P2BmB, KaY bFs =
P3BmB, KaY bdCGsq = P4B, KaY bGravity = −g, KaY wFcm = P1W
mB, KaY wFn =
P2WmB
, KaY wFs =P3WmB
,
40
KaY wdCGsq = P4W , KaY wGravity = −g.
4.6 Summary of key points
1. The mechanical system has two degrees of freedom. They can be represented by two coordi-
nates: vehicle body and wheel elevation YB and YW .
2. The mechanical system contains a closed kinematic loop. This makes the task of solving the
equations of motion non-trivial. Extra creative effort and diligence were required to arrive at
a computationally efficient explicit solution.
3. The solution of the equations of motion requires that some coordinate transformations be
derived. These are transformations between angular and linear coordinates as well as trans-
formation of linear into angular coordinate velocities and accelerations.
4. The equations of motion are solved explicitly. Their general form is 38, also repeated below:
Y 00B =
1
mB(P1B Fcm + P2B FN + P3B FS) + P4B
¡Y 0B − Y 0
W
¢2+ g (39)
Y 00W =
1
mW(P1W Fcm + P2W FN + P3W FS) + P4W
¡Y 0B − Y 0
W
¢2+ g
This explicit form makes numerical integration very simple.
5. Calculations can be sped up significantly by precalculating portions of the algorithm. Note
that the coefficients P1B, P2B, P3B, P4B, P1W , P2W , P3W , P4W in the equations of motion
are functions of the current body to wheel relative position YBW = cg = (YB − YW ). The
coefficients can be thus pre-calculated in lookup tables prior to the actual real time simulation.
This saves computational effort.
6. The proposed solution may be seen as a further advancement of results of the earlier work of
Joo Dae Sung [10] where the equations of motion were derived in the implicit form of equation
32, repeated below:
Y 00B(t) = faBne(FN (t), FCM (t), FS(t), θL(t), θU (t), θW (t), (40)
θ0L(t)2, θ0U (t), θ
0W (t)
2, θ00L(t), θ00U (t), θ
00W (t) )
Y 00W (t) = faWne(FN(t), FCM (t), FS(t), θL(t), θU (t), θW (t),
θ0L(t)2, θ0U (t), θ
0W (t)
2, θ00L(t), θ00U (t), θ
00W (t) )
41
Figure 9: Simple linear two-mass suspension diagram.
This was an implicit solution since it had unknown angular derivatives θ00L(t), θ00U (t), θ
00W (t) on
the right side.
7. Discrete time conversion - using two different discrete time integration methods for inner and
outer loop integrators achieves better stability.
4.6.1 Checking the validity of the wheel and body nonlinear model
This section checks the wheel and body model by linearizing it and analyzing a case of suspension
dimensions that is simple to understand geometrically. The check uses a special case of the nonlinear
quarter car suspension model as described by equations 352 and 353 calculating YB 00(t) and YW 00(t).
The goal is to check if equations 352 and 353 make sense when suspension dimensions are selected
such that the geometry is rather simple. The resultant suspension equations will have the form of
two-mass suspension model (as shown in Fig 9):
YB00 =
1
mBody EquivalentFStrutEquivalent − g (41)
YW00(t) =
1
mWheelEquivalent(FN(t)− FStrutEquivalent)− g (42)
The linearization is an analytical process of symbolic transformations of equations 352 and 353
after making certain assumptions to reduce the kinematic nonlinearity of the suspension at one
42
particular point of operation (suspension position). Equations 352 and 353 are simplified using the
following assumptions:
• Upper and lower arms have equal lengths lab = lcd.
• The center of masses are exactly in the middle of the suspension parts: lbk = lbd/2, ldk = lbd/2,
lae = lcd/2, lbe = lcd/2, ldf = lcd/2, lcf = lcd/2, lsf = lcs − lcd/2.
• The joints a and c are exactly above each other making the distance Xac = 0.
• The wheel is vertical with the equilibrium value of the wheel angle θW ≈ π/2.
• Both suspension arms are horizontal with the equilibrium value of the angles θL ≈ 0, θU ≈ 0.
• The upper mounting point of the strut is so positioned that the strut is vertical at theequilibrium point Xcz = lxz ≈ lcs.
Note that the assumption that the angle values are approximately θW ≈ π/2, θL ≈ 0, θU ≈ 0implies a linearization at the equilibrium point.
With those assumptions and after lengthy symbolic transformations the coefficients from Eq
354 to 363 are derived in the form:
KaY bdCGsq = 0 (43)
KaY bFcm = 0
KaY bFn = 0
KaY bFs =lcslcd
µ1
mL2 + mU
2 +mB
¶KaY bGravity = −g
KaY wdCGsq = 0 (44)
KaY wFcm = 0
KaY wFn =1
mL2 + mU
2 +mB
KaY wFs = − lcslcd
µ1
mL2 + mU
2 +mw
¶KaY wGravity = −g
43
YB00(t) =
µ1
mL2 + mU
2 +mB
¶µlcslcd
Fs(t)
¶− g (45)
YW00(t) =
µ1
mL2 + mU
2 +mw
¶µFN (t)− lcs
lcdFs(t)
¶− g (46)
This transforms equations 352 and 353 into equations 45 and 46 for body and wheel accelera-
tions. Equations 45 and 46 are very easy to interpret and cross check. They follow the form:
YB00 =
1
mBody EquivalentFStrutEquivalent − g (47)
YW00(t) =
1
mWheelEquivalent(FN(t)− FStrutEquivalent)− g (48)
The expression mBody Equivalent = (mL/2 +mU/2 +mB) is the equivalent body mass if one
assumes that half of the mass of each arm is concentrated at the body end of that arm. The
expression mWheel Equivalent = (mL/2 +mU/2 +mW ) is the equivalent wheel mass if one assumes
that half of the mass of each arm is concentrated at the wheel end of that arm. The expression
FSe = FStrutEquivalent = (lcs/lcd)Fs is the equivalent strut force on wheel and body after the lower
arm is recognized to be a form of a lever mechanism (the strut is vertical and the lower arm is
horizontal). The force FStrutEquivalent (abbreviated as FS e in Fig 9) is the force applied directly on
body and wheel. It is equivalent to the effect of the force FS of the vertical strut attached between
body and lower arm.
4.6.1.1 Conclusion:
When a special, geometrically simpler case is considered where the suspension strut is vertical and
lower arm is horizontal, the equations of motion of the full nonlinear model are greatly simplified.
These simplified equations are recognized to match the equations to an equivalent two mass system.
Although not an exhaustive proof of the correctness of equations 352 and 353 this check rules out
major problems in the mathematical quarter car suspension model.
44
CHAPTER 5
MODELING OF STRUT AND SEMIACTIVE ACTUATOR
5.1 Introduction
This chapter discusses the strut (damper and spring) model. It briefly covers passive dampers and
concentrates on semiactive magneto-rheological dampers. The Bouc-Wen formula is selected for
modeling of the damper hysteresis. A Simulink diagram strut is proposed as a realization.
5.2 Strut parts and function
A strut commonly consists of a parallel arrangement of spring and damper (shock absorber). See Fig
10 for details. The spring is commonly a coil spring, sometimes with variable pitch and diameter.
Leaf springs are used in trucks for their ruggedness. Air springs are used for best ride. Coil springs
are generally considered linear with no internal friction and low hysteresis [12]. Leaf springs on the
other hand exhibit significant internal friction and nonlinearity. The damper commonly dissipates
energy by moving a piston with orifices through viscous oil. Different number of orifices open on
compression (jounce) and expansion (rebound) to provide different forces. Compression forces are
lower than expansion forces to avoid transfer of force from a wheel going over a bump to vehicle
body. There is usually a relatively soft bushing between the damper and vehicle body. There is
also a significantly stiffer bushing between the coil spring and vehicle body. Bushings are used on
all but racing applications. They influence the high frequency properties of the suspension which
influence the perceived harshness. In summary:
• The primary function of the spring is to support the body while yielding to minimize thetransmission of force variations to the body.
• The primary function of a damper is to dampen the sprung and unsprung motions of thevehicle, through the dissipation of energy.
This work is based on controllable dampers being used as actuators. This approach is very
popular, but not the only controllable suspension design. For example an interesting development
45
Figure 10: Strut with visible coil spring, damper and bushings of a VW vehicle (original photo byS. Kapintchev).
was announced by ArvinMeritor in 2007. The company has introduced in Europe air springs with
stiffness that can be tuned in real time during vehicle maneuvers (response time below two seconds).
5.3 Simple linear strut model
A simple linear approximation of the strut force is as follows:
Fs = Bp lstrut +Kp lstrut (49)
where lstrut is the strut length, Bp is the damping coefficient, Kp is a combination of the
accumulator spring rate and the strut coil spring rate, Fs is the force that the damper exerts on
the parts attached to its ends (body and suspension lower arm).
5.4 Damper nonlinearities
A more realistic model of a passive damper would take into account the difference between damping
at compression and expansion. The damping at compression is about 2 to 4 times lower than the
46
Figure 11: Damper Force vs Velocity experimental diagram. The difference in contraction/rebounddamping is clearly observable (courtesy of Misselhorn W. E. University of Pretoria [11]).
one at rebound. Viscous damping is actually proportional to a power of the expansion/contraction
speed. To approximate linear relationship a blow-off valve is used that opens at higher velocities
to slightly lower the damping coefficient and straighten the otherwise parabolic curve. There is
additional nonlinearity when the blow-off valve opens [37]. A damper can exhibit noticeable static
friction or more precisely ‘stiction’. At low amplitudes (road without big bumps) this results in
higher equivalent damping coefficient and rough ride. At higher amplitudes this ‘stiction’ can be
modeled as hysteresis.
The velocity to force diagram of a typical damper is shown in Fig 11. Note that on this diagram
the expansion velocity is considered positive when the damper is expanding and negative when the
damper is contracting. The sign of the force follows a traditional damper test-bed approach where
the damper is treated as a passive device. The force Fs is actually the force exerted on the damper
by the test equipment (positive when pulling the damper apart for expansion and negative when
compressing it). In contrast, in later chapters of this work discussing damper control, the damper
is treated as an actuator and the force is positive when pointing outwards from the damper.
47
5.5 Dampers with Variable Damping
The parameters of a passive damper are a carefully chosen fixed set which is a compromise between
comfortable ride and stability. It is also a compromise between higher frequency roughness and low
frequency oscillations. The selected damper parameters should offer acceptable performance for all
road conditions.
A controllable damper on the other hand could adjust to the road conditions in real time,
changing the applied force during wheel and body oscillations. It could act as both damper and
actuator.
Two technologies have been used to achieve variable damping. One is a damper with a variable
orifice. The other is a magneto-rheological damper.
5.5.1 Dampers with controllable variable orifice
In these dampers the damping force is controlled by varying the area of an orifice through which
the oil flows. This design has not been widely adopted due to the complexity and the number of
moving parts involved.
5.5.2 Dampers with controllable fluid viscosity - Magneto-Rheological dampers
Technical developments in rheological fluids have led to the development of electrorheological (ER)
and magneto-rheological (MR) dampers. The magnetorheological dampers have proven better
suited to mass production and have found their way into vehicle suspensions, seismic protection
of buildings and helicopter semiactive bushings. One well known application example is the Mag-
neRide system offered by Delphi and Lord Corp. and used in GM’s Cadillac Seville and STS. The
advantages of the rheological fluid damper design are the lack of small moving parts (no valves) and
the high reaction speed. According to Lord Corporation the magneto-rheological fluid can change
its viscosity from an oil like fluid to a jelly like substance in less than 10ms.
5.5.2.1 MR damper design
MR dampers rely on the special properties of the magnetorheological fluids. Magnetorheological
(MR) fluids are materials that respond to a magnetic field with a change in rheological behavior [13].
When exposed to a magnetic field these fluids can reversibly change instantaneously from a free-
flowing liquid to a semi-solid substance with controllable yield strength (see Fig 12). Iron particle
48
Figure 12: Properties of Magneto-Rheological fluid (source Automotive Engineering InternationalMagazine).
based MR fluids have maximum yield strength of 50 -100kPa under magnetic field strength of 150-
250 kA/m (1 Oersted = 12.5663706 kA/m). MR fluids exhibit little sensitivity to moisture and other
contaminants that might be encountered during manufacture and usage. Their magnetic properties
are practically unchanged in the temperature range encountered in automotive use (source Lord
Corporation) [14].
Typical design of a magneto rheological damper is shown in Fig 13.
The piston of the MR damper has a coil wound so as to create magnetic field through the piston
orifices. As the piston moves in the cylinder the fluid is forced through the orifices. Modulation of
the coil current controls the magnetic field, thereby varying the yield stress and thus the damping
coefficient. Dynamic response from electric input to damping force is very fast (under 10ms).
5.5.2.2 MR damper operating range and nonlinearities
A typical static force vs velocity response for fixed voltage/current can be seen in Fig 14. This
rheological damper was made by Lord corporation. As mentioned earlier expansion velocity is
considered positive when the damper is expanding and the force exerted by the damper on the
body and wheel is considered positive when pointed inwards.
The friction of a rheological damper can be made relatively low. Consequently the resultant
friction related hysteresis is sometimes ignored.
As can be seen in Fig 14 a MR damper with suitable current control can produce a wide range
of positive forces during expansion and similarly wide range of negative forces during compression.
49
Figure 13: Design of MR damper (drawing by Xubin Song and Mehdi Ahmadian [86]).
Figure 14: Force vs Velocity graph of magneto-rheological damper for various voltages (courtesyof Lord Corporation).
50
Figure 15: Ideal damper operating range vs real MR damper range.
For practical purposes a magneto rheological damper covers in real time the operating range of a
range of passive suspension dampers with various tuning parameters.
Fig 15 compares ideal controllable damper operating range vs a real MR damper operating
range. Notably an MR damper exhibits creep and can not be made very stiff at low speeds (large
forces are not possible at low speeds). This limits the operating range but also avoids settings
which would result in sudden force jump as velocity sign changes.
5.6 MR damper models5.6.1 Bingham plastic model
Various models are used to describe the behavior of MR dampers. A very good overview is available
in [15]. One popular model is based on the Bingham plastic model of MR fluid described by [21]
and [22].
Fd = Bp0 ld +Ka ld + fmr sign(ld) (50)
Here Ka is the stiffness of the compressed gas accumulator spring action, Bp0 is the damping due
to the minimal viscosity of the MR fluid without magnetic field, fmr is frictional force, related to
the MR fluid yield stress, ld is damper displacement.
The force fmr can be approximated by the function:
fmr = (Apm −Arm)
Ã2Lm
hmαm
µn I
2hm
¶βm!
(51)
51
Figure 16: MR damper equivallent Mechanical Diagram using Bouc-Wen hysteresis model.
Here Arm and Apm are piston top and bottom piston areas, Lm and hm are orifice length and
gap, n is the number of coil turns, αm and βm are properties of the MR fluid, I is the coil current.
The gas chamber spring force term Ka ld is often ignored as it is negligible compared to the force
of the suspension coil spring.
As can be inferred by the sign(ld) term in Eq 50 the standard Bingham plastic model as
described by Eq 50 causes an instantaneous jump in damper force as the current changes direction.
In the author’s opinion such a model works well for sinusoidal inputs, but is less realistic for
nonlinear, quickly changing current control commands. This prompted the author to search for a
different hysteresis model with memory.
5.6.2 Bouc-Wen hysteresis model
In 1996 Spencer and Dyke [16], [19] proposed a model that also includes the hysteresis [18] of an
MR damper. The structure of the proposed model is presented in Fig 16.
At zero current the MR damper exhibits primarily the characteristics of a normal viscous
damper with approximately linear force vs velocity relationship. With increase of the current, the
force required to make the fluid flow increases and results in a behavior that can be described
by connecting plastic material in parallel with the viscous damper. This is the plastic behavior
described by the Bingham plastic behavior model [19], [20].
The arrangement of mechanical elements of the MR damper in Fig 16 has been observed as
52
closely matching the behavior of the test damper [16]. The same source has suggested the following
mathematical model to describe the structure in Fig 16:
Fd = αz + c0 (x− y) + k0 (x− y) + k1 (x− x0) (52)
The force Fd can also be expressed as:
Fd = c1y + k1 (x− x0) (53)
The evolutionary variable z related to the hysteresis force (denoted as hysteresis symbol in Fig
16. This variable is expressed through its derivative z as:
z = −γ |x− y| z ¯zn−1¯− β (x− y) |zn|+A (x− y) (54)
The derivative of the translation of the imaginary intermediate point y is:
y =αz + c0x+ k0 (x− y)
c0 + c1(55)
In this model, k1 represents the pressurized gas accumulator stiffness. It is often negligible in
comparison with the strut main spring coefficient Kp. The coefficient c0 represents viscous damping
observed at higher velocities. The damping at lower velocities is represented by c1. The coefficient
k0 represents the stiffness at large velocities. The constant x0 is the damper length at which the gas
accumulator spring with stiffness k1 force becomes zero (somewhat abstract concept since the force
is still nonzero even at maximum damper extension). The author uses a variation of the model
which combines the spring action of the main suspension spring Kp with the spring action of the
damper pressurized gas accumulator k1. In this case k1 in equations 52 and 53 is substituted by
(Kp + k1) and the model produces the total strut force Fs instead of only the damper force Fd.
By adjusting the model parameters γ, β, and A, the shape of the hysteresis loops of the Bouc
Wen hysteresis can be modified. Fig 17 summarizes the author’s research on how the Bouc-Wen
hysteresis model can be tuned. The simplicity of the diagram in Fig 17 can be a little misleading.
It should be noted that the Bouc-Wen damper model is rather difficult to tune. It is also prone to
instability at lower sample rates when values of the coefficient n > 4 are used.
The relationship between the coefficients α, c0, c1 and the coil current i can be approximated
53
Figure 17: Effect of parameter varaitions on Bouc-Wen hysteresis model loop.
by:
α = αa + αbi (56)
c0 = c0a + c0bi (57)
c1 = c1a + c1bi (58)
The dynamics of the coil and magnetic field controlled MR fluid viscosity needs to be considered.
In this case the predominant time constant is the one associated with the coil inductance. The
current i is subject to Faraday and Lenz laws and can not be changed instantaneously. The current
i and the magnetic flux of the coil both lag the changes of the voltage u. The Laplace transform
expression for the relation between coil voltage and current is:
i(s) = u(s)1/R
(L/R)s+ 1(59)
This is a standard first order lag with time constant L/R.
5.6.3 Simulink Diagram of a MR damper model with Bouc Wen Hysteresis
The Bouc-Wen model was selected in this work for its ability to conveniently model hysteresis
behavior. The author implemented this Bouc-Wen hysteresis based model in the form of the
Simulink model diagram shown in Fig 18.
54
Figure 18: Simulink model diagram of a MR damper with Bouc Wen hysteresis.
55
5.6.4 Frequency dependent behavior of magneto-rheological dampers and the se-lected Bouc-Wen model.
Experimental data shows that the hysteresis of a magneto rheological damper is frequency de-
pendent. One possible physical explanation may be that the magnetized fluid forms an elastic
diaphragm in the piston channels. As a result at high frequencies there is notable phase delay
between velocity and force changes and the width of the hysteresis loop increases. Conversely at
low frequencies the width of the hysteresis loop decreases as there is more time for the creep to
equalize the pressure on the two sides of the piston. At static load (zero speed) the force also drops
to zero and no hysteresis is observed.
This section discusses the representation of this behavior by the employed Bouc-Wen Simulink
model. After appropriate tuning the developed Simulink Bouc-Wen model (see Fig 18) behaves
quite close to the experimental data collected by [15]. A visual comparison can be made between
Fig 19 (experimental data) and Fig 20 (author’s Simulink model) to confirm the proper frequency
dependent behavior of the Simulink model. Even with simple tuning a good similarity is achieved.
Some difference in the high speed force-vs-velocity curve slope may be noted. This was intentional
- to match experimental data for the high speed slope cited by [29]. If desired that slope can easily
be changed by tuning the coefficient c0 denoted as c0 in Fig 18 (also outlined in Fig 17 and in Eq
55).
5.6.5 Behavior of magneto-rheological dampers and the selected Bouc-Wen model atdifferent current levels.
Fig 20 and Fig 21 show damper behavior at different current levels. If desired the force vs velocity
curve slope at high velocities can be made dependent on current values as shown in Fig 21. This
can be done by specifying a larger value for the coefficient c0b. Again the specifications cited by
[29] were used for the developed Simulink model.
5.7 Conclusion and summary of strut model discussion
1. A magneto rheological (MR) damper is selected as actuator. This is the most common
technology in industry.
2. Linear, constant step coil spring is modeled. Coil springs are the ones most likely to be used
with high performance semiactive suspension.
56
Figure 19: Frequency dependent behavior of MR damper - experimental data (Xiao Qing Ma etal. [15]). Current is 0.75A, excitation stroke is 6.35mm.
57
Figure 20: Frequency dependent behavior of MR damper - simulation of the developed Bouc-WenSimulink model.
58
Figure 21: MR damper at different control current levels - experimental data (Xiao Qing Ma etal. [15].). Frequency 1.5Hz, excitation stroke is 6.35mm.
59
Figure 22: MR damper behavior at diffeent current levels - simulation of the developed Bouc-WenSimulink model.
60
3. MR dampers are nonlinear, have limited working range and exhibit hysteresis
4. Various models exist that approximate the behavior of a MR damper.
5. Bouc-Wen formula based model is used to model the hysteresis, nonlinearity as well as the
limited working area of the MR damper.
6. A Simulink diagram is proposed as numerical implementation for simulation of the Bouc-Wen
based model.
7. The employed Bouc-Wen MR damper model adequately describes a realistic MR damper
behavior including frequency dependent behavior.
61
CHAPTER 6
MODELING OF TIRE
6.1 Introduction
This chapter discusses a model describing the motion of a tire rolling at constant speed along a
straight path on uneven road surface. The tire is a non-driven radial tubeless pneumatic tire. It
contacts the road and produces the forces necessary for support and movement of the vehicle. The
air serves as a practically massless spring and provides a ride quality unmatched by other materials.
6.2 Forces acting on the tire and wheel
The tire transfers forces between road and wheel. This study is concerned with forces affecting
ride and affecting suspension movement. In the selected 2D model these are the forces acting in
the vertical plane perpendicular to the direction of motion. The normal force FN and the lateral
(camber) force FC most significantly affect movement of the wheel due to road irregularities. The
angle γc in Fig 23 is the camber angle.
6.2.1 Static normal force FN
The static normal force FN in the absence of breaking and cornering forces can be expressed as
[26]:
FN = (1 +KΩ |Ω|)ÃqFz1
µ∆r
r0
¶+ qFz2
µ∆r
r0
¶2!FN0 (60)
Figure 23: Tire with camber - normal and camber forces.
62
Figure 24: Tire force vs displacement (Source: Misselhorn W. E. — University of Pretoria [11]).
where:
FN0 = g(mw +mb) is the normal force at rest,
r0 is the free, unloaded tire radius
∆r is tire deflection
Ω is rotational tire velocity
qFz1 and qFz2 are non-dimensional parameters
The term 1 +KΩ |Ω| reflects centrifugal forces. The term qFz1
³∆rr0
´+ qFz2
³∆rr0
´2reflects the
nonlinear increase of reaction force due to internal air pressure increasing with tire deflection.
Fig 24 shows experimental data confirming the quadratic dependence between static normal
force and deflection.
6.2.2 Static camber force FC
The camber force FC is proportional to normal load (normal force) as well as the camber angle
[27], [28].
FC = Cγ γc = Cc FN γc (61)
63
Figure 25: Camber Force vs Camber Angle (courtesy of GOODYEAR Tire and Rubber Company).
The camber stiffness coefficient Cc for standard radial-ply tires (cars) is about 40% of the
coefficient value for bias-ply tires (used in motorcycles). It should be noted that camber force for
four wheeled vehicles is often negligible as the camber angle rarely exceeds +/-2 degrees in straight
linear trajectory and +/-10 degrees in extreme cornering [27].
When trying to understand Eq 61 describing the camber force FC it should be kept in mind
that at small values (under 4 degrees) the angle γc in radians is approximately equal to sin(γc).
The camber force formula from Eq 61 can then be expressed as Eq 62:
FC = Cγ sin(γc) = Cc FN sin(π
2− θw) = Cc FN cos(θw) (62)
Fig 25 shows an experimentally obtained graph of lateral (camber) force of a bias ply tire as a
function of camber angle. To convert to SI units note that 1lbf=4.448N.
6.2.3 Dynamic model for normal force FN taking damping into account.
In addition to instantaneous spring action, tires exhibits slight damping.
The static normal force FN in the absence of breaking and cornering forces is can be expressed
[26] as:
FN = (1 +KΩ |Ω|)ÃqFz1
µ∆r
r0
¶+ qFz2
µ∆r
r0
¶2!FN0 +BW
d (∆r)
dt(63)
Where BW is tire damping.
Tire damping is often ignored as its value is quite low. For example [11] experimentally finds
tire damping to be only 62 N-s/m. As a comparison the damping of the standard suspension strut
damper in the same study was estimated to be 20000 N-s/m.
64
Figure 26: Simulink diagram calculating tire normal force FN
6.3 Suggested tire model
Based on the models and research listed earlier and assuming constant vehicle speed and straight
path, the author has selected the following model:
FN = KW (YW − YR) +KW2 (YW − YR)2 +BW
³YW − YR
´(64)
FC = Cc FN γc (65)
Care should be taken to ensure that normal force FN is calculated as zero during wheel hop
(when the tire loses contact with the road).
A Simulink R° model diagram shown in Fig 26 is created to calculate the force FN .
6.4 Summary and selected methods
1. A tire model producing camber and normal forces is proposed. It is a practical implementation
of previously known ideas and uses an approach widely publicized in the cited literature.
2. Tire spring action is slightly nonlinear due to air compression as the tire deflects
3. There is small but noticeable tire damping.
4. Tire hop is taken into account as well as numerical computation effects due to discrete time
simulation.
65
CHAPTER 7
REAL TIME SUSPENSION MODEL
This chapter describes a real time implementation of the quarter vehicle mathematical model
developed in earlier chapters. The model is based on equations derived in previous chapters. It is
implemented as a Simulink/Stateflow model capable of real time simulation on HIL hardware.
7.1 Structure of the Simulink quarter suspension model7.1.1 Main subsystems and important signals
The general structure of the model is shown in Fig 27. It includes a quarter suspension nonlinear
model subsystem shown with blue background, a source of road data disturbances and an optional
controller subsystem shown with red background. This chapter describes the content and imple-
mentation details of the nonlinear quarter suspension model inside the blue subsystem. In this
work it is often referred to as full nonlinear model.
Simulink and Stateflow support only alphanumeric signal names without subscripts, superscripts
or special characters. This has necessitated the use of prefixes for first and second derivatives. For
example the vehicle body velocity Y 0B(t) is denoted here as dYb. The body to wheel relative
acceleration Y 00BW (t) = cg00(t) is denoted here as aYbw or acg. Similarly the value of cos(θL(t)) is
denoted by the signal named CosThetaL.
Fig 28 shows the contents of the blue "Quarter Suspension model" subsystem from Fig 27.
On the left is a gray subsystem named Coefficients from Nonlinear Trigonometry. It calculates
the coefficients KaY bFcm, KaY bFn, KaY bFs, KaY bdCGsq, KaY bGravity, KaY wFcm, KaY wFn, KaY wFs,
KaY wdCGsq, KaY wGravity. These calculations are quite complex and computationally intensive.
Note that the coefficients KaYbGravity and KaYwGravity ( KaY bGravity and KaY wGravity)
evaluate to the value of the Earth gravitational acceleration g = 9.81m/s. The same subsystem
also converts the linear displacement YBW = cg and its first derivative into suspension part angles
θL, θU , θW and their first derivatives.
The strut subsystem shown in dark yellow calculates the total strut force Fs (damper + spring).
It uses the angles of the suspension parts and their derivatives to internally calculate strut length
66
Figure 27: Simulink suspension model - general view.
67
and velocity. The damping coefficient of a magneto-rheological damper is controlled by the damper
coil current (input 2 denoted as Control Current).
The camber force Fcm is calculated by the white subsystem named Camber Force.
The light red (pink) subsystem named Wheel and Body Differential Equations calculates body
and wheel accelerations aYb and aYw. Those accelerations are integrated once to produce body
and wheel velocities dYb and dYw, and once more to produce body and wheel elevations Yb
and Yw. The relative body to wheel velocity Dcg≡dYbw and cg≡Ybw are calculated in a
similar fashion via two consecutive integrations. The integrators are marked with light green
color. As mentioned earlier the integrator blocks named DYb Integr., DYw Integr., and Dcg
Integr. are each part of a potential algebraic loop due to the algebraic (same simulation step)
connection between their output and input. For this reason those integrator blocks are forced to
use the Forward Euler integration algorithm which does not require the current input in order to
calculate the current output (no z term in the nominator of the transfer function). The other
three integrators calculating the elevations (positions) Yb, Yw and cg≡Ybw are free to use a
more stable integration method such as Euler Backward which requires the current simulation step
input value in order to calculate its current output value. This special combination of different
integration methods within one model offers improved stability.
The light magenta colored subsystem named Tire calculates the tire normal force Fn based on
road and wheel elevations Yr and Yw, and their derivatives dYr and dYw (used to calculate tire
height and tire height derivative).
7.1.2 Calculation of differential equation coefficients, conversion from displacementsto angles
As already noted the gray subsystem named Coefficients from Nonlinear Trigonometry contains a
large amount of calculations. To speed up execution this subsystem has a second, faster implemen-
tation using precalculated lookup tables. This is possible because there is no memory (dynamics)
involved in the calculations and there is only one input: cg (Dcg is an auxiliary input that is
used by only a single multiplication to calculate θ0L). As a result the values of each output can be
precalculated for all reasonable combinations of the two inputs and stored into tables. Figure 29
shows a Simulink mechanism allowing easy switching between the two implementations of the gray
subsystem Coefficients from Nonlinear Trigonometry. The Configurable Subsystem mechanism of
68
Figure 28: Nonlinear suspension subsystem - Simulink model.
69
Simulink is used.
The contents of the subsystem Coefficients from Nonlinear Trigonometry is shown in Fig 30.
The Subsystem Linear to angle calculates the angles θL, θU , θW using the distance cg between
wheel and body as input data. For convenience it precalculates the sin and cos functions of those
angles. On the right is a Stateflow chart Get Coefficients calculating the coefficients KaY bFcm,
KaY bFn, KaY bFs, KaY bdCGsq, KaY bGravity, KaY wFcm, KaY wFn, KaY wFs, KaY wdCGsq, KaY wGravity
used by the statechart Wheel and Body Differential Equations. It also calculates the coefficient
KdL which converts the body to wheel relative speed cg into the lower arm angular speed θ0L.
The contents of the subsystem linear to angle is shown in Fig 31. It was easy to calculate
analytically the reverse transformation - starting with values of the angle θU , then calculating the
sin and cos function values of the angles θU , θL, θW and then finally calculating the value of cg.
This is how the lookup tables were populated.
Fig 32 shows the contents of the Stateflow chart Get Coefficients which itself was located in the
right side portion of Fig 30. The final goal is to calculate the coefficientsKaY bFcm, KaY bFn, KaY bFs,
KaY bdCGsq, KaY bGravity, KaY wFcm, KaY wFn, KaY wFs, KaY wdCGsq, KaY wGravity later to be used by
the differential equations Eq 352 and 353 (implemented by statechart Wheel and Body Differential
Equations). The formulae for those coefficients are too complex to be calculated outright though.
The coefficients are calculated in steps by first calculating other (intermediate) coefficients in the
graphical functions: Get_angle_coefficients, Get_coeffs_KB, Get_coeffs_KB, Get_coeffs_CB,
Get_coeffs_KCG,Get_coeffs_Ksim_aYw, Get_coeffs_Ksim_aYb, Get_coeffs_aYw, Get_coeffs_aYb
(pictured on the right). Please see appendix B for detailed screenshots of those graphical functions.
The coefficient KdL is also sent out as output to be used in the calculation of lower arm angle
derivative θ0L (used in strut calculations to get damper speed).
Fig 33 shows an alternative, faster executing lookup table implementation of the calculation of
the coefficients KaY bFcm, KaY bFn, KaY bFs, KaY bdCGsq, KaY bGravity, KaY wFcm, KaY wFn, KaY wFs,
KaY wdCGsq, KaY wGravity. This implementation can be used to replace the original formula based
implementation as outlined by Fig 29. The points of the lookup tables are calculated by feeding
input values into the subsystem in Fig 30 (within a sensible input range) and recording the values
for each of the subsystem outputs. This process is automated.
70
Figure 29: The subsystem Coeficients from Nonliear Trigonometry is implemented as a Config-urable Subsystem for easy switching between either analytical claculation implementation (left) ora precalculated lookup table implementation (right).
71
Figure 30: Top level of the subsystem Coeficients from Nonliear Trigonometry (the implementationusing analytical calculations).
72
Figure 31: Contents of the linear to angle subsystem located in the subsystem Coeficients fromNonliear Trigonometry. Lookup tables were used to convert the value of the current body-to-wheeldistance cg into the current angles of the supension parts θL, θU , θW and the values of theirtrigonometric functions.
73
Figure 32: Contents of the Get Coefficients Stateflow chart from the subsystem Coefficients fromNonliear Trigonometry.
74
Figure 33: Contents of the subsystem Coeficients from Nonliear Trigonometry (this is the alter-native implementation using precalculated lookup tables).
75
Figure 34: Contents of the Strut subsystem.
7.1.3 Strut force calculation (damper and spring)
Fig 34 shows the top view of the Strut subsystem first referred to in Fig 28. On the left is a
statechart named get Inclined Strut Velocity dLzs, Length Lzs calculating the length and velocity
of the strut. On the right are two strut implementations - an implementation of a nonlinear strut
model with a Bouc Wen damper, and a simple linear passive strut model implementation.
Fig 35 shows the contents of the statechart get Inclined Strut Velocity dLzs, Length Lzs. It
calculates strut length and velocity and is based on Eq 268 to 272.
Fig 36 shows the contents of the Nonlinear Strut subsystem. Note that the constant Fspring0
is the spring force due to the compression of the spring at the equilibrium suspension position. This
static force compensating the weight of the vehicle was not taken into account in the damper and
spring model in Fig 18. A suspension stop is simulated by increasing the spring rate dramatically
when the damper compressed beyond certain length (Lzs_min). Note that trying to implement
a hard stop can lead to accuracy and even stability problems of the numerical simulation.
Fig 37 shows the contents of the subsystem Strut with Nonlinear Bouc Wen Damper. It was
already discussed in detail in the earlier chapter named "Modeling of Strut and Semiactive Actua-
tor." The screenshot in Fig 37 is similar, though not identical to the one in Fig 18. Here the damper
76
Figure 35: Contents of the statechart get Inclined Strut Velocity dLzs, Length Lzs.
77
Figure 36: Contents of the Nonlinear Strut subsystem. Fspring0 is the spring force at theequilibrium suspension position. Lzs_min is the strut length at which the bump stop is hit.
78
control channel lag is modeled. Also note that the constant Lzs0 is the length of the spring when
the suspension is at equilibrium (with no road disturbances and only static gravitational forces
present).
Fig 38 shows the contents of the subsystem Passive Strut originally referenced in Fig 34. It is
used for control and comparison experiments.
7.1.4 Camber force calculation
Fig 39 shows the contents of the Camber Force subsystem originally shown as a small white sub-
system in Fig 28. It calculates the small camber force of the suspension.
7.1.5 Body and wheel acceleration calculation (body and wheel differential equations)
Fig 40 shows the contents of the pink-red statechart Wheel and Body Differential Equations orig-
inally shown in Fig 28. These equations calculate the values of body and wheel accelerations and
match Eq 352 and 353.
7.1.6 Normal tire force calculation
Fig 41 shows the contents of the light magenta subsystem named Tire originally shown in the right
bottom corner of Fig 28. The screenshot in Fig 41 is identical to the one in Fig 26 and is repeated
here to provide a complete description of the Simulink model.
7.1.7 Model parametrization
A very large number of parameters are created in the Matlab workspace in order to parametrize
the Simulink/Stateflow model. Below are the values of some of the key parameters.
Ts = 0.0005, s (sample time)
Lab = 0.30, m (upper arm length)
Lac = 0.38, m
Lbd = 0.25, m
Lcd = 0.40, m (lower arm length)
Ldh = 0.27, m
Lsd = Lcd/3, m
Yac = Lac/1.55, m
Xac = Lac /4, m
79
Figure 37: Contents of the subsystem Strut with nonlinear Bouc Wen Damper.
80
Figure 38: Contents of the Passive Strut subsystem.
Figure 39: Contents of the Camber Force subsystem.
81
Figure 40: Contents of the pink-red statechart Wheel and Body Differential Equations. Theseequations calculate the values of body and wheel accelerations.
Figure 41: Contents of the light magenta Tire subsystem calculating tire normal force FN
82
Lxz = Xac/4, m
Lxa = Yac/4, m
Xzc = Xac + Lxz, m
Yzc = Yac + Lxa, m
mB = 350.0, kg (mass of quarter body)
mL = 1.5, kg (mass or lower arm)
mU = 0.5, kg (mass of upper arm)
mW = 30.0, kg (wheel assembly mass)
g = 9.81, m/s2 (earth acceleration)
iL = 0.2, kg m2 (lower arm moment of inertia)
iU = 0.1, kg m2 (upper arm moment of inertia)
iW = 1.2, kg m2 (wheel assembly moment of inertia)
hTireFree = 0.15, m (tire height without load)
hTireStaticDeflection = 0.03, m (tire deflection under load)
FnStatic = (mW + mB + mL + mU)g, N (static tire normal tire force at equilibrium)
Kw = FnStatic / hTireStaticDeflection, N/m (tire damping corresponding to 0.03m tire de-
flection)
Bw = 100, N/(m/s) (tire damping)
Kp = 15000, N/m (strut spring coefficient)
Bp0 = 2000, N/(m/s) (strut damper residual coefficient)
c1_a = 4.8 Bp0, N/(m/s)
c1_b = 1, N/(A(m/s))
c0_a = 0.82 Bp0, N/(m/s)
c0_b = 0, N/(A(m/s))
alpha_a = 1, N/m
alpha_b = 95, N/(A(m))
A = 10
Beta = 1
Gamma = 2
n = 5
83
C_camber = 0.01
84
CHAPTER 8
MODEL VALIDITY CHECKS THROUGH SIMULATION
COMPARISONS
8.1 Model validity check by comparing the nonlinear model witha simple two-mass linear model
This section describes a check of the validity of the full nonlinear suspension model by comparing it
with a linear two-mass suspension model. The goal is to check if the full nonlinear model described
by equations 352 and 353 behaves during numeric simulation similarly to an equivalent linear model
described by Eq 66.
8.1.1 Deriving the equations of two-mass linear suspension model equivalent to thefull nonlinear model
This section derives the parameters of a linear two-mass model that is designed to be equivalent to
the full nonlinear quarter suspension model.
The equivalent two-mass model can be seen as a linearized version of the full nonlinear model.
This linearization ignores most nonlinearities due to suspension trigonometry. It does take into
account though that a conversion is necessary between the parameters of an inclined and a vertical
strut. The damping BPv and spring rate KPv of the equivalent vertical strut in Fig 43 connected
directly between body and wheel masses are not equal to the damping BP and spring rate KP of
the inclined strut in Fig 42.
The linear model sought is a standard model of a two mass linear quarter vehicle suspension as
described by Eq 66 and presented in Fig 43:
85
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YW
YW
⎞⎟⎟⎟⎟⎟⎟⎟⎠=
⎛⎜⎜⎜⎜⎜⎜⎜⎝
−BPv/mB −KPv/mB BPv/mB KPv/mB
1 0 0 0
BPv/mW KPv/mW −BPv/mW −(KPv +KW )/mW
0 0 1 0
⎞⎟⎟⎟⎟⎟⎟⎟⎠
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YW
YW
⎞⎟⎟⎟⎟⎟⎟⎟⎠
+
⎛⎜⎜⎜⎜⎜⎜⎜⎝
(1/mB)
0
(−1/mW )
0
⎞⎟⎟⎟⎟⎟⎟⎟⎠Fa +
⎛⎜⎜⎜⎜⎜⎜⎜⎝
0
0
(KW/mW )
0
⎞⎟⎟⎟⎟⎟⎟⎟⎠YR (66)
The linearization point is the suspension position when the wheel is vertical and the lower arm
is horizontal.
A linearization of the strut would mean replacing
• The inclined strut connected between body and the point s on the lower arm
with
• Equivalent vertical strut connected directly between body and wheel.
This replacement would allow simplifying the suspension into two masses, one above the other
(wheel and body) moving only vertically (Fig 43).
The goal is to have the same dynamics in both the nonlinear and linearized systems:
• System with inclined strut
• System with vertical strut
To have same dynamics we need:
• The wheel to body distance cg and its derivative cg00 should be the same in both models.
• The equivalent vertical forces on body and wheel should be the same in both models.
We want to find coefficients (functions) fKv and fBv that would allow us to convert between the
equivalent, linear, vertical spring rate KPv and damping BPv on one side, and the actual inclined
strut spring rate KP and damping BP on the other.
86
Figure 42: Nonlinear suspension with inclined strut.
KPv = KP fKv(θL) (67)
BPv = BP fBv(θL) (68)
If we want to use the real world inclined strut properties in a system with vertical masses we
need to:
1. Convert inclined forces applied at lower arm into vertical forces applied directly onto wheel
and body.
2. Convert length as well as speed of expansion/contraction of inclined strut into length and its
derivative of the vertical strut. This is necessary because the forces of a strut depend on its
length variation (spring) and the derivative of that length (damper).
Note that the linearization is at the suspension position when the lower arm is horizontal θL ≈ 0.
8.1.1.1 Converting inclined strut forces to equivalent vertical forces applied directly at wheeland body.
The force FS that the inclined strut exerts is in-line with its axis. It is the sum of the spring and
damper forces.
Fspring = KP (−∆Lzs) + Fspring 0 (69)
87
Figure 43: Simple two-mass suspension representation with vertical strut connected directly be-tween body and wheel masses.
Fspring 0 is the static force exerted by the spring at the equilibrium (linearization) point.
∆Lzs = Lzs − Lzs 0 (70)
where ∆Lzs is the deviation of the strut length from the strut length Lzs 0 at the linearization
point.
Fdamper = −BPL0damper (71)
FS = Fdamper + Fspring + Fa (72)
The actual strut axis is inclined. Thus FS has a horizontal and vertical component.
For the linearization we are mainly interested in the vertical component.
The equivalent vertical force FSv from the inclined strut on the wheel and the body is:
FSv = sin(θS(t))(lcs/lcd)FS (73)
This holds exactly for the position where the lower arm is horizontal.
The vertical upward force exerted by the strut on the vehicle body at point z is:
88
FS on body at point z = FS sin(θS(t)) (74)
The vertical downward force on vehicle body indirectly from the strut through lower arm at
point c is:
FS on body at point c = FS sin(θS(t))(lds/lcd) (75)
The vertical downward force on the wheel indirectly from the strut through lower arm at point
d is:
FS onwheel at point d = FS sin(θS(t))(lcs/lcd) (76)
FS on body at point c + FS on body at point z = −FS onwheel at point d = sin(θS(t))(lcs/lcd)FS (77)
The conversion between the forces of the inclined and equivalent vertical strut is given by:
FSv = KFSvFS (78)
where FSv is the force of the equivalent vertical strut in Fig 43, while FS is the total force of
the actual inclined strut in Fig 42.
KFSv = sin(θS(t))(lcs/lcd) (79)
KFSv is the coefficient to convert vertical force FSv at point d, into inclined strut force FS .
The vertical force at point d is the same force FSv that a vertical strut would exert on a vertically
moving wheel in the simple linear model from Eq 66.
KFSv = FSv/FS (80)
Here is how to calculate sin(θS(t)) from θL
lzm = Yzc − lcs sin(θL(t)) (81)
lms = lcs cos(θL(t))−Xzc (82)
89
where Xzc is the horizontal distance between points x and c.
Lzs =pl2zm + l2ms (83)
The value of sin(θS(t)) is given by:
sin(θS(t)) = lzm/Lzs (84)
For horizontal lower arm sin(θL(t)) ≈ 0 and cos(θL(t)) ≈ 1,thus the explicit form of the inclinedto vertical force transformation coefficient KFSv is:
KFSv = (lcs/lcd)Yzc/(pY 2zc + (lcs −Xzc)2) (85)
8.1.1.2 Converting length and velocity of inclined strut into those of an equivalent verticalstrut.
For the same movement of body and wheel, the inclined strut contracts and expands by a different
length compared to a vertical strut.
The following differences between inclined and vertical strut should be taken into account:
• The length of the strut contraction/expansion for the same wheel & body movements is
different (affects spring force)
• The speed of strut contraction/expansion for the same wheel & body movements is different(affects damper force)
Both the vertical and inclined strut length and derivative can be represented as functions of the
angle θL(t) and its derivative θ0L(t)
Length and velocity of inclined strut
lzm = Yzc − lcs sin(θL(t)) (86)
lms = lcs cos(θL(t))−Xzc (87)
Lzs =pl2zm + l2ms (88)
The length of the inclined strut is Lzs
90
∆Lzs = Lzs − lzs0 (89)
Lzs0 =pY 2zc + (lcs −Xzc)2 where the equilibrium length Lzs0 is the strut length at horizontal
lower arm.
The coefficient converting angle derivative θ0L(t) into inclined strut linear derivative L0zs
is Kdlzs
Kdlzs = (2lzm(− cos(θL(t)))lcs + 2lms(− sin(θL(t)))lcs)/(2pl2zm + l2ms) (90)
L0zs = Kdlzsθ0L(t) (91)
Length and velocity of equivalent vertical strut Here we assume that the vertical strut is
attached to body and wheel directly and the body and wheel move only vertically. The body is
exactly above the wheel.
Then the length of the equivalent vertical strut Ldzv (the distance between the points d and z
of an equivalent linear system) is:
Ldzv = Ydz = YB − YW (92)
The derivative of the length of the equivalent vertical strut L0dzv is:
L0dzv = Y 0dz = Y 0
B − Y 0W (93)
We can approximate wheel movement with respect to body as the vertical movement of point
d:
Ydz = Yzc − lcd sin(θL(t)) (94)
The expansion/contraction of the vertical strut is then
∆Ydz = (Ydz − Ydz0) where Ydz0 = Yzc is the length at the point of linearization (horizontal
lower arm).
∆Ydz = (Ydz − Ydz0) = Yzc − lcd sin(θL(t))− Yzc (95)
91
The amount contraction/expansion of the equivalent vertical strut is:
∆Ydz = −lcd sin(θL(t)) (96)
The speed of expansion/contraction of the vertical strut is:
Y 0dz = −lcd cos(θL(t))θ0L(t) (97)
Converting the amount of strut contraction/expansion between inclined and vertical
struts At the linearization position of the strut (lower arm is horizontal) sin(θL(t)) ≈ 0 and
cos(θL(t)) ≈ 1.The coefficient to convert the amount of contraction/expansion of an inclined strut into those
of a vertical strut is KLv:
KLv = ∆Ydz/∆Lzs (98)
KLv = (−lcd sin(θL(t)))/(p(Yzc − lcs sin(θL(t)))2 + (lcs cos(θL(t))−Xzc)2−p
Y 2zc + (lcs −Xzc)2) (99)
KLv = (lcd/lcs)³p
(lcs −Xzc)2 + Y 2zc
´/Yzc (100)
Converting strut velocity between inclined and vertical struts The coefficient to convert
the amount of contraction/expansion of an inclined strut into those of a vertical strut is KdLv:
KdLv = Y 0dz/L
0zs (101)
KdLv = (−lcd cos(θL(t))θ0L(t))/Kdlzsθ0L(t) (102)
KdLv = (−lcd cos(θL(t)))/((2lzm(− cos(θL(t)))lcs+
2lms(− sin(θL(t)))lcs)/(2pl2zm + l2ms)) (103)
92
KdLv = (lcd)/((2lzmlcs)/(2pl2zm + l2ms)) (104)
KdLv = (lcdpl2zm + l2ms)/(lzmlcs) (105)
At the linearization point θL → 0. taking that limit into account the coefficient KdLv takes the
value:
KdLv = (lcd/lcs)(1/ sin(θS(t))) (106)
KdLv = 1/(sin(θS(t))(lcs/lcd)) (107)
Interestingly there is a connection between the strut expansion and velocity coefficients KdLv
and KLv and the strut force transformation coefficient KFSv at the limit θL → 0:
KdLv = 1/KFSv (108)
KLv = (lcd/lcs)p(lcs −Xzc)2 + Y 2
zc/Yzc = 1/(sin(θS(t))(lcs/lcd)) (109)
KLv = 1/KFSv (110)
8.1.1.3 Converting between the damper coefficients of vertical and inclined struts
The coefficient to convert between the damper coefficients of the inclined strut BP and the damper
coefficient of the equivalent vertical strut BPv is fBv:
BPv = BP fBv(θL) (111)
The inclined strut damper force is:
Fdamper = −BPL0zs (112)
The equivalent vertical strut damper force is:
93
Fdamper v = −BPvY0dz (113)
The two forces can be expressed into each other by the coefficient KFSv .
FSv = KFSvFS (114)
After substituting the damper forces of the two struts we arrive at:
KFSv = Fdamper v/Fdamper (115)
KFSv = (−BPvY0dz)/(−BPLzs) (116)
KFSv = (BPv/BP )(Y0dz/Lzs) (117)
KFSv = (BPv/BP )KdLv (118)
KFSv = (BPv/BP )(1/KFSv) (119)
(BPv/BP ) = K2FSv (120)
Thus the conversion of the damping coefficient of the real world inclined strut BP into the
damping of the equivalent linearized vertical strut from the two mass model BPv is given by
BPv = BP fBv (121)
fBv = Y 2zc(lcs/lcd)
2/((lcs −Xzc)2 + Y 2
zc)
8.1.1.4 Converting between spring coefficients of vertical and inclined struts
The coefficient to convert between the spring rate coefficients of the inclined strut KP and the
spring rate coefficient of the equivalent vertical strut KPv is fKv:
94
KPv = LP fKv(θL) (122)
The inclined strut spring force is:
∆Fspring = KP (−∆Lzs) + Fspring0 (123)
The equivalent vertical strut spring force is:
∆Fspring v = KPv(−∆Ydz) + Fspring0 v (124)
The two forces can be expressed into each other by the coefficient KFSv .
FSv = KFSvFS (125)
After substituting the spring forces of the two struts we eventually arrive at:
∆Fspring v = KFSv∆Fspring (126)
KPv(−∆Ydz) + Fspring0 v = KFSvKP (−∆Lzs) + Fspring0 v (127)
And eventually:
KPv∆Ydz = KFSvKP∆Lzs (128)
(KPv/KP ) = KFSv∆Lzs/∆Ydz = KFSv/KLv (129)
(KPv/KP ) = K2FSv
(130)
Thus the conversion of the spring rate coefficient of the real world inclined strut KP into the
spring rate of the equivalent linearized vertical strut from the two mass model KPv is given by
KPv = KP fKv (131)
fKv = Y 2zc(lcs/lcd)
2/((lcs −Xzc)2 + Y 2
zc)
95
8.1.2 Checking the nonlinear model by comparing with a simple two-mass linearmodel
This subsection checks the validity of the full nonlinear suspension model by comparing it with a
linear two-mass suspension model. There are no serious flaws in the full nonlinear model described
by equations 352 and 353 if its numeric simulation is similar to the numeric simulation of the
equivalent linear model described by Eq 66 (Eq 66 is repeated here for convenience as Eq 132). If
the simulation results for the two models subjected to the same road profile are similar, then the
full nonlinear model is likely to be correct and contains no major inaccuracies.
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YW
YW
⎞⎟⎟⎟⎟⎟⎟⎟⎠=
⎛⎜⎜⎜⎜⎜⎜⎜⎝
−BPv/mB −KPv/mB BPv/mB KPv/mB
1 0 0 0
BPv/mW KPv/mW −BPv/mW −(KPv +KW )/mW
0 0 1 0
⎞⎟⎟⎟⎟⎟⎟⎟⎠
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YW
YW
⎞⎟⎟⎟⎟⎟⎟⎟⎠
+
⎛⎜⎜⎜⎜⎜⎜⎜⎝
(1/mB)
0
(−1/mW )
0
⎞⎟⎟⎟⎟⎟⎟⎟⎠Fa +
⎛⎜⎜⎜⎜⎜⎜⎜⎝
0
0
(KW/mW )
0
⎞⎟⎟⎟⎟⎟⎟⎟⎠YR (132)
The strut of the nonlinear model is de-energized and its residual damping coefficient BP is
used to calculate the damping of the equivalent two mass linear model BPv. The two damping
coefficients differ as the inclined strut expands and contracts at different speed from the speed at
which the distance between the body and wheel expands and contracts. This is described by Eq
121 repeated for convenience here in Eq 133.
BPv = BP fBv(θL) (133)
fBv = Y 2zc(lcs/lcd)
2/((lcs −Xzc)2 + Y 2
zc)
Similarly the amount of expansion/contraction of the inclined strut of the full nonlinear model
differs from the amount of expansion/contraction between body and wheel. This requires different
spring rate coefficients of the spring rates of the nonlinearKP and linearKPv models if the behavior
is to be the same. This is described by Eq 131 repeated for convenience here in Eq 134.
96
Figure 44: Comparison of YW step responses of nonlinear and equivalent linear suspension models.
KPv = KP fKv(θL) (134)
fKv = Y 2zc(lcs/lcd)
2/((lcs −Xzc)2 + Y 2
zc)
The results of a numerical simulation where both models are subjected to a road disturbance in
the form of a lightly filtered step function are shown in Fig 44 for the wheel elevation step response
YW (t) and in Fig 45 for the vehicle body elevation step response YB(t). As can be seen the results
are visually close enough to suggest that both systems behave very similarly. The relative difference
is below 5% for the wheel elevation response and below 7% for the body elevation response. This
relative difference is measured during the high level of the disturbance square wave as relative
deviation has little meaning when very small deviation signals are compared. The formula used is:
Erel(t) = (∆Ylinear(t)−∆Ynonlinear(t))/∆Ynonlinear(t) (135)
where ∆Ylinear and ∆Ynonlinear are deviations from the signal equilibrium values (equilibrium
values are 0.12m for YW and 0.4m for YB).
97
Figure 45: Comparison of YB step responses of nonlinear and equivalent linear suspension models.
8.1.3 Conclusion
The Comparison of the simulation results of the full nonlinear model with an equivalent linear model
reveals strong similarity. This suggests that there are no major problems with the full nonlinear
suspension model.
This similarity is to be expected since the magnetorheological damper - a major source of non-
linearity is de-energized and exhibits significantly weaker nonlinearity. Note that in this comparison
similarity was sought. Small signal amplitudes are involved with road disturbance step height of
less than one inch. The operating point is remains close to the point at which linearization was
used to obtain the equivalent linear model. At higher amplitudes the nonlinearity due to suspension
geometry will be more prominent. Also note that in the current setup, the relative error will be
larger than the stated above after the 5th second (see Fig 45). This is due to the fact that signals
with smaller amplitudes are involved while absolute differences remain large due to the phase offset
between the simulations.
98
8.2 Checking the nonlinear model by comparison with a similarmodel derived by Joo Dae Sung
The goal of this comparison is to check the validity of the full nonlinear model developed in this
work by comparing it with another existing model. The model to compare with is recreated in
Simulink and Stateflow from the descriptions in the Ph.D. dissertation of Joo Dae Sung [10].
Numerical simulations of the step response of the two models are compared. In addition a study
of the influence of sample step time size on simulation accuracy is performed.
8.2.1 Comparison of the simulation results of the two models
For the purpose of comparison two Simulink/Stateflow models are created implementing the equa-
tions of the two models. Both are subjected to a filtered series of road elevation step disturbances.
The comparison results for body elevation YB are shown on Figure 46. Several simulation of the
two models are overlaid for various simulation steps. The regions highlighted with arrows are shown
on Figures 47, 48, 49 and 50 in more detail.
The relative deviation between the results of the simulations of the two models is calculated as:
∆YB relative = (YB method 1 − YB method 2) / (YB method 2 − YB steady state method 2) (136)
With small simulation step of 0.0001s (execution rate of 10KHz) the two models produce almost
identical simulation results with worst case relative difference of only 0.0009%.
This is a remarkable similarity and offers good reassurance that the full nonlinear model devel-
oped in this work is free of symbolical derivation errors and fulfills the original requirements.
8.2.2 Study of simulation accuracy as function of sample time size
As already discussed at small simulation steps both models provide very good performance. Below
the sensitivity of simulation accuracy to larger sample time step sizes is studied. This is done by
comparing simulation results at various sample rates. As a reference - a simulation with very small
sample time of 0.000001s is used.
The comparison results are shown on Figures 46 through 50. Figure 46 shows overlaid simulation
for the body elevation of the two models at various simulation steps. The regions highlighted with
arrows are shown on Figures 47, 48, 49 and 50 in more detail.
The relative error is calculated as:
99
Figure 46: Body elevation - general view. The moments highlighted by the arrows are shown inseparate plots below.
100
Figure 47: Detail view of the suspension at the beginning of the simulation.
Erelative = (Eabsolute error) / (YB oscillation amplitude) (137)
Erelative = (Eabsolute error) / (YB − YB steady state offset) (138)
Erelative = (YB current step − YB very small time step) / (YB very small time step − YB steady state) (139)
Figures 48 and 50 show the relative error of the two solution methods as the step size increases.
Those relative error plots are for the moments 0.93s and 20.5s (see arrows on the general YB plot in
Fig 46). At the sample rate of 0.006s (16 times the wheel resonant frequency) Joo Dae Sung’s model
produces worst case relative errors of 8.3% and -2.7% (for the moments 0.93s and 20.5s). For the
same cases the model derived in this work produces errors 0.00057% and 0.14%. A disadvantage of
the method employed in this work is the more complex symbolic transformations needed to derive
an explicit solution.
Reasons for the difference in sensitivity to sample time increases of the two models.
The model used by Joo Dae Sung involves an algebraic loop and thus needs smaller execution
steps to provide good accuracy. In contrast the solution proposed in this work offers an explicit
101
Figure 48: More detail at 0.93s. Variations of the output of the algebraic loop method are visibleas the sample time increases.
102
Figure 49: Even more detail at 0.93s. The direct solution method in black is relatively insensitiveto simulation step increases. Several of the algebraic loop simulations are out of the printablewindow area.
103
Figure 50: Detail of the simulation at moment 20.5s.
104
Figure 51: Structure of Joo Dae Sung’s model.
solution without an algebraic loop and as a result offers better numerical accuracy at larger simu-
lation steps. This tolerance to larger simulation step sizes is important in this work since there is a
requirement for a real time simulation applicability and use in hardware-in-the loop applications.
Both models perform identically at small simulation steps and are equally suited for off line non-real
time simulations.
8.2.3 The structure of Joo Dae Sung’s model
The structure of Joo’s model is presented in Fig 51. If viewing an electronic document, please zoom
in for more detail. For printing the same image is rotated and enlarged at the end of the chapter
(Fig 52). Joo’s equations use angular accelerations in order to directly calculate linear body and
wheel accelerations thus introducing an algebraic loop.
Definition 1 Algebraic loop is a concept from the field of numerical simulation. This is a specific
arrangement of one or more functions connected in a loop without any delays anywhere in the loop.
The current step output value of the function is needed as the current input of the function. In
simple terms this is a "Catch 22" situation where the current output should be provided as current
105
input in order to calculate the current output. An algebraic loop is a manifestation of an algebraic
equation with implicit solution. The absence of an explicit solution does not always mean that no
solution is available. The simulation software may try to solve the implied algebraic equation either
analytically in some simple linear cases or more often iteratively at every simulation step. This
allows to numerically solve equations that are very hard to solve analytically. The downside is
that iterative solutions could lead to slower simulation. There will be a trade-off between accuracy
(number of iterations) and speed of execution. If the major (model) simulation step is very small,
the number of algebraic loop solution iterations can be decreased. In cases where the algebraic
loop signal has a small contribution to the overall value of the solution, a single iteration may be
sufficient. An algebraic loop with a single iteration can be presented as a one step simulation delay
where the previous step output is fed back in the solution. Care should be taken then to avoid large
simulation steps in order to preserve accuracy.
8.2.4 Conclusion
The comparison of the two models shows almost identical simulation results with largest relative
difference only 0.0009%. This is a remarkable similarity and offers good reassurance that the full
nonlinear model developed in this work is free of symbolical derivation errors and fulfills the original
requirements.
The suspension model developed in this work is well suited to real time simulation use as the
accuracy of its simulation is affected very little by increases in sample time size.
106
Figure 52: Structure of Joo Dae Sung’s model (rotated image).
107
CHAPTER 9
REAL TIME MODEL IMPLEMENTATION - ISSUES AND
PERFORMANCE
This chapter describes problems and solutions that are specific to real time simulation of the
suspension model. The main topic is improving the execution speed of the numerical simulation.
9.1 Choice of tools
In many cases - two different tools are used: one for symbolic math equation manipulation and one
for off-line and real-time model simulation. The software tools used in this case were Mathematica
by Wolfram Research, and Simulink and Stateflow by The Mathworks. The task of translation
of equations into simulatable models requires a solution to automate formulae export and model
building. Most symbolic math packages have the ability to export ANSI C code packaged as S-
functions into Simulink. An example would be the Block Builder by Waterloo Maple. This approach
has the downside of encapsulating and hiding the algorithm during the modeling stage. As an
alternative, a simple script was developed by the author to automatically convert symbolic math
package formulae into Stateflow charts. It consisted of a Microsoft Word macro front-end converter
and an optional M-script Stateflow chart builder. Another way to import complex arithmetic
expressions in a Simulink model would be to use Embedded Matlab Function blocks. Stateflow
charts were selected in this case due to the graphical presentation of the algorithm and expectations
for higher reliability (Stateflow is a widely used product with a long track history).
9.2 Numerical integration methods and sample rates
It should be noted that Stateflow charts may not be best suited for higher order numerical inte-
gration methods. Due to a software limitation of the real time software solution, Stateflow charts
do not execute during the intermediate simulation steps required by the higher order integration
methods. If higher order integration methods are used, Embedded Matlab functions should be used
instead. In the discussed experiment the requirement of high speed and high sample rate implied
the use of low calculation requirement methods with Euler being the notable choice. This is one
108
Figure 53: Computational effort for ODE1 (Euler) vs ODE4 (Runge Kutta) integration methods.
reason why the Euler integration method (backward and forward) is often used in HIL simulations.
Another reason is that when discontinuities are present in some highly nonlinear, stiff models it
may be more advantageous to decrease the step using the Euler method, than to keep the larger
step and use a Runge Kutta method. This can be observed in some models with discontinuities
such as gearshifts and hydraulic valves. As can be seen from Fig 53 the ODE4 integration method
requires approximately 4 times more computational time per step.
Usually only a small portion of the model requires smaller steps. In real time Simulink models
executing of a subsystem at a higher sample rate than the surrounding model is best implemented
by first converting it to discrete time.
9.3 Discrete time modeling
Simulink allows an engineer to work in virtual continuous time supplying the numerical integration
algorithms. In some cases a move to an explicit discrete time model can offer certain advantages.
One such advantage as mentioned above is the ability to use multiple sample rates. Another
advantage is the ability to use different numerical integration methods in different parts of the
109
model. As discussed earlier in the comments of Fig 28 the second integrators calculating the
position signals Yb, Yw and cg use the backward Euler integration method to improve the overall
stability margin. The integrators calculating signals DYb, DYw and Dcg are limited to the
Forward Euler method due to an immediate(same step) feedback between their input and output.
9.4 Lookup tables9.4.1 Execution speed optimization of lookup tables
As mentioned earlier, no analytic solution could be obtained for the conversion of the distance
cg = YBW into angles θU , θL, θW . Therefore the angle tables had to be precalculated in reverse -
starting from the output values of θU (see Fig 31). This resulted in non-equidistant tables where
input vector points are unevenly spaced. A careful selection of search algorithm is required for
large non-equidistant tables to avoid high computation times. In the case of a smoothly varying
input (suspension displacement can not change abruptly) a local search type algorithm can provide
consistently low execution times. The input vector index and fraction search result is shared by all
table interpolations via a common pre-lookup index search block as shown in Fig 31.
A significant step in speeding up computations was taken by precalculating not only the linear
to angle conversion but all coefficient calculations as shown in Fig 29 and Fig 33. The initializa-
tion script of the model can be set up to precalculates the lookup table values based on current
parameters.
9.4.2 Accuracy of lookup table implementation
Fig 54 shows the experimentally measured relative error introduced by replacing the formulae
calculating coefficients KBaXf , KBaXe, KBaXk, KBaY f , KBaY e, KBaY k, KBaThetaL, KBaThetaU ,
KBaThetaW , KBFn, KBFcm,KBFs, KBgravity and KdU , KdL, KdW with lookup tables (the model
is subjected to two step disturbances of YR). It demonstrates that with sufficiently large tables
the loss of accuracy can be negligible (less than 0.000005%). Modern HIL hardware has sufficient
memory for large lookup tables. The DS1006 board from dSPACE (released 2005) has 256Mb of
RAM. If three quarters of that memory were to be allocated to lookup tables it could hold over
200 equidistant 2D tables with 15556 elements each, and with 64 bit floating point precision.
110
Figure 54: The accuracy penalty of using lookup tables is rather small when sufficiently largetables are used.
111
9.5 Speed of execution of quarter vehicle model
The process of running a Simulink model on a real time hardware involves several steps. First the
Simulink model is manually instrumented with hardware specific I/O blocks. It is then converted
to C code by a code generator (an automated procedure). The C code is then compiled, linked and
downloaded to the real time hardware (also automated procedure). Fig 55 shows the experimentally
measured execution time of the model when run on a DS1006 board with a 2.2GHz Opteron
processor. As can be expected there is little difference between the speed of the explicit discrete
time integration algorithm and the similar continuous time Euler integration method solver provided
by Simulink. The real improvement comes from the introduction of precalculated lookup tables.
The maximum achievable sample rates are:
• 107 Hz maximum sample rate for the suspension model with analytical coefficient calculation.
• 1.7 kHz maximum sample rate for the suspension model with lookup table coefficient calcu-
lation.
Using lookup tables for coefficient calculation results in more than 15 times faster model exe-
cution on the real time hardware. This coupled with the minimal loss of accuracy as seen in Fig
54 is a strong case in support of lookup table usage. One disadvantage of using lookup tables is
the difficulty in tuning parameters at run time. Every change of a suspension parameter requires
recalculation of the tables. This would be slower than modifying a parameter at a single memory
location and would require restarting/pausing the simulation.
A more efficient code generator was tested in a bid to further improve performance. The results
in Fig 56 and Fig 57 show that no significant improvement in speed was observed with the change
of the code generator. The author concludes that a Stateflow centric model containing mainly large
numerical expressions is converted almost directly to C code and leaves little room for optimization.
In other words - the optimization was already done in the early model development stages by the
symbolic math software. The standard code generator used was Real Time Workshop by the
Mathworks. The high efficiency production code generator was Targetlink by dSPACE. It should
be noted that Targetlink is a discrete time only production oriented code generator and is therefore
not practical for general hardware in the loop use. The use of lookup tables was significantly more
effective than the use of advanced Simulink diagram to C code converter tool (code generator).
112
Figure 55: Suspension model execution times on real time hardware. The use of lookup tablesprovides significant speedup of execution.
113
Figure 56: Suspension model execution times on real time hardware.
Figure 57: Suspension model execution times on real time hardware.
114
In all instances the quoted execution time was the actual time it took to compute the model.
Note that to calculate the total execution time on the real time hardware one should add 1.6μs
operating system overhead and the time it takes to access the hardware I/O.
9.6 Conclusions on real time model implementation
The developed full nonlinear model is capable of real time execution on the test hardware. The
quoted execution times of the lookup table based model are significantly faster than the fastest
sample rate that may be physically required by a suspension model. This allows the described
model to be incorporated as part of a larger model or to be run on lower end hardware.
9.6.1 Some observations on the process of converting equations of motion into a realtime model
Below is a summary of the author’s experience as a result of working on this project. Special
emphasis is given to ways of achieving better computational efficiency.
9.6.1.1 General Rules for Achieving Model Efficiency
• Optimize the differential equations before modeling. Use a symbolic math package. Sym-bolic optimizations matter much more than compiler or code generator optimizations. Use a
symbolic algebra package and common sense.
• Use lookup tables to precalculate complex expressions.
• Use fast sample rates only for the parts of the model that need them. Those parts of themodel may need to be converted to discrete time due to real time software limitations.
• Compare benchmarks and use the fastest integration method that would provide sufficientaccuracy. Sample rate (time step) may also be influenced by hardware I/O.
9.6.1.2 General Modeling Practices
• Preserve the model in an editable state until the latest stages of model preparation for realtime execution. This would allow fuller parameterization and promote experimentation and
better algorithm understanding.
• Automate time consuming procedures for faster iterations and to encourage experimentation.
115
• Stateflow charts are not designed for differential equations and would not execute during
the minor steps of higher order numeric integration methods. This limitation is encountered
during execution on the real time hardware. Embedded Matlab functions could be a better
alternative.
9.6.1.3 Equations of Motion, and modeling
• It is of significant convenience to separate a system into a linear dynamic part and static
nonlinear part. With proper precautions linear theory methods may be used on the linear
parts of the system.
• A nonlinear system can be represented as a system that resembles a linear system but with
varying coefficients. This could simplify the analytical solution of nonlinear differential equa-
tions and improve their understanding. The varying coefficients are functions of the current
state of the system. They are used in the pseudo-linear dynamic part to calculate the new
state of the system.
• The nonlinear varying coefficients can be calculated by lookup tables.
9.6.1.4 Discrete time modeling
• Discrete time models can execute at different sample rates on the dSPACE real time hardwarewith the Real Time Workshop code generator.
• Different parts of the model can utilize different integration methods. This could result inbetter stability at large time steps (higher execution speed)
• If the limits of hardware processing power are approached, a compromise will have to bemade. Either use lower order (Euler) method with small time step or use a higher order
method (Runge Kutta ODE4) with proportionally larger time step, or use high sampling rate
only for the parts of the model that require it.
• Linear feedback loops in the continuous model can be converted into equivalent transferfunctions by analyzing and solving the loop. This may allow more stable integration methods
to be used such as the Implicit (Backward) Euler method.
• In rare cases a model may simulate better with the low order Euler integration method.
116
• If better stability is needed in a nonlinear feedback loop - an Implicit (Backward Euler)method can be used coupled with iterative solution to solve the algebraic loop.
9.6.1.5 Lookup Tables
• Some kinematic equations cannot be solved analytically. Iterative numerical solutions or tablelookup approach is mandated.
• Real time execution of large non-equidistant lookup tables requires careful selection of searchmethods.
• The discussed quasi-linearization approach using variable coefficients requires in general N-dimensional tables for system with N states. This could lead to high memory consumption
for high order systems (the old compromise of code size vs. speed).
• Modern day dedicated hardware solutions have sufficient memory for large table implemen-tations.
117
PART II
Suspension Control
CHAPTER 10
SENSORS AND SIGNAL PROCESSING
This chapter discusses sensor types and arrangement as well as signal processing of sensor mea-
surements such as obtaining velocity estimate from acceleration measurements.
10.1 Variables to be measured10.1.1 The ideal case
As discussed in earlier chapters a quarter vehicle suspension has two degrees of freedom and can be
described by second order equations of motion. Consequently the classic state control of such system
requires the measurement of the system’s two states (displacements) and their first derivatives (four
total). In the current context this means that the vertical position and velocity of the quarter vehicle
body and the wheel are needed.
10.1.2 The real world case
Measurement of the absolute position (vertical elevation) of the wheels of a moving vehicle is
quite challenging technically. Relative wheel to body position and velocity is often used due to
significantly easier measurement implementation. They are commonly complemented by vehicle
body acceleration and an estimate of absolute body velocity. In some rare cases an attempt is made
to estimate tire deflection or even predict road elevation [36] though these tasks are technically quite
challenging.
10.1.3 Full vehicle with four corner measurements
A full vehicle control system would require the measurements of four relative wheel-to-body dis-
placement at each corner as well as measurement of body roll and pitch. Vehicle body roll is angular
left to right rocking along an axis parallel with the direction of travel. It is critical for stability and
safety (rollover is an extreme example). Body pitch is front to back rocking due to different times
of bump impact and different resonant frequencies of front and back suspensions. It has noticeable
impact on comfort [37] (p. 176). See Fig 58 for clarification of vehicle body movement terms.
118
Figure 58: Vehilce body motions (source: "Fundamentals of Vehicle Dynamics" T. Gillespie).
10.1.4 Example application
A sample sensor configuration with four relative wheel-to-body position sensors and four body
mounted accelerometers is presented in Fig 59. It is a typical arrangement allowing mounting all
sensors on the vehicle body. This is also the sensor arrangement used by the Delphi Magneride
suspension control system [29].
10.2 Signal Processing for estimation of vehicle body velocity
The popular skyhook controller (see Eq 160) relies on the measurement of absolute vehicle body
velocity. This is not directly measurable, but can be estimated through the integration of a body
mounted accelerometer sensor. Real world accelerometer data integration is vulnerable to the
accumulation of errors. Special measures should be taken to avoid a drift of the zero level of
velocity estimation. The drift is mainly caused by the various nonlinearities of the accelerometer.
The response to positive and negative accelerations as well as to large and small accelerations could
be different. In the transducer static function U = K(a), K can be different for positive, negative
accelerations as well as for large and small ones [33].
One simple approach is to pass the acceleration signal through a high pass filter with a cutoff
119
Figure 59: Typical sensor arrangement for suspension control (source: Terje Rølvåg - "Design andoptimization of Suspension Systems and Components", NUTS).
frequency of 0.1Hz [35]. The result would be a signal with no offset that can be integrated. This
approach is vulnerable to calculation errors that could result in a slow drift.
A safer approach is to provide a weak negative feedback around the integrator. This approach
to approximation of integral action is quite old. It has been known since the time of pneumatic
regulators that a first order lag dynamic system with very long time constants approximates inte-
gration reasonably well (when shorter time intervals are concerned). This is how the quite imprecise
pneumatic governors achieved integration for PI control more than 50 years ago. See Fig 60 for
a Simulink diagram implementing such approximate integration with low frequency filtering. It
presents the case of an integrator with a leaky memory. For short time periods (relatively fast
signal changes) the feedback is too slow and too weak and the output is an integral of the input.
For static or nearly static signals (those we do not want to integrate) the feedback eventually com-
pensates the input, thus rendering the output zero. This "leaky memory" allows to forget old,
accidentally integrated errors and thus avoid drifts.
The resultant transfer function with respect to velocity would be of the type:
V elocity(s)
Acceleration(s)=
s
(s2 +Kvels+Kpos)(140)
The two coefficients Kvel and Kpos have very small positive values. Sample values giving corner
120
Figure 60: Estimating velocity and position from accelerometer measurements using a "leaky"integrator.
frequency of 0.1Hz are: Kvel = 0.8884, Kpos = 0.3948. See the bode plot in Fig 61. The transfer
function approximates an integrator for the working frequency range (in our case above 0.2 Hz).
At very low frequencies (below our range of interest) this function acts as a high pass filter (this is
why a second order transfer function was used). The output settles back at zero when the input
acceleration is zero for a sufficiently long time.
A slightly different form of this approach is used by [34]. It uses a formula equivalent to the
one in Eq 140 in the form:
V elocity(s)
Acceleration(s)=
s
(s2 + 2ζωns+ ω2n)
(141)
where ζ = 0.707, for maximum sharpness of the transition at the corner frequency ωn (ωn is
the corner frequency in rad/s).
10.3 Sensors10.3.1 Accelerometers.
High quality accelerometers are widely available [30].
Acceleration sensors should be selected based on:
121
Figure 61: Bode plots of a practical "leaky" integrator overlaid on the bode plot of an idealintegrator.
122
• Frequency range. The recommended frequency range of the body accelerometers is downto 0.5Hz, preferably down to 0.3Hz. This allows accurate measurements of body resonant
frequency movements in the 1Hz frequency range.
• Dynamic range is especially important for measurement of wheel acceleration. The sensorcan be overloaded and accuracy would drop.
• Accuracy is very important since the output of the accelerometer would be integrated toderive velocity and in some limited cases even position.
In low cost applications only three instead of four body accelerometers may be used (this
assumes that vehicle body is ideal rigid body with the accelerations of three point sufficient to
determine the acceleration of any other point). Wheel acceleration is more expensive and harder
to measure due to the adverse environment and vibrations the wheel is exposed to.
10.3.2 Position sensors
A wide variety of position sensors exist that can measure body to wheel distances of a suspension.
They could be based on various principles including capacitive, inductive, optical, resistive, with
the various magnetic field based sensors sometimes selected for their high reliability and tolerance
for harsh environments [32] and [31]. It is also possible to use to some extent accelerometer data
to estimate position if there are sensors that can provide several suspension position reference
points. It should also be noted that as opposed to passive suspensions — semiactive suspensions
with magneto-rheological dampers generate powerful magnetic fields that can interfere with some
strut based sensors.
Wheel relative position sensors are of special importance in off-road applications in order to
avoid bottoming out of the suspension and the associated structural damage.
10.3.3 Current and voltage measurement.
This is important in controlling the magnetic field in a semiactive magneto-rheological damper.
10.3.4 Magnetic field measurement
It is also possible to directly measure the magnetic field in the piston of the magneto rheological
damper in order to linearize it and control magnetic hysteresis.
123
10.3.5 Force measurement
It may be possible to measure strut to body forces by measuring the differential pressure above/below
the damper piston. The cost of the pressure sensors would be high, but not prohibitively expensive
for specialized applications.
10.3.6 Wheel horizontal acceleration measurement.
In addition to vertical accelerations, longitudinal forces and accelerations can be measured or
estimated. This could allow early warning of a steep high bump even before the wheel has started
moving up significantly (as the push backward is felt early).
10.3.7 Road disturbance prediction
The author is of the opinion that it should be possible to use front wheel information to estimate
road elevation and then use that information as road disturbance preview information for the rear
wheels. Such an algorithm should be especially valuable in railroad applications where each wheel
follows the same path.
124
CHAPTER 11
RIDING COMFORT, SUSPENSION PERFORMANCE
CRITERIA
11.1 Introduction
This chapter discusses various objective measurable criteria for vehicle passenger ride comfort. It
presents an overview of existing publications. A large portion of the chapter is devoted to vertical
vehicle body acceleration and its effect on comfort at different frequencies. The author has added his
personal observations on the effects of jerk (acceleration derivative) and offers a simple explanation
on why jerk causes discomfort. A specific filtering of the vehicle body acceleration power spectrum
density curve is proposed. The goal of that filtering is to simplify the interpretation and comparison
of PSD curves while preserving the area under the curve. At the end of the chapter a handful of
methods are selected to be used in this work.
11.2 Ride comfort basics
Riding comfort in a vehicle is greatly influenced by the vibrations to which the occupants are
subjected. A major portion of those vibrations are in the vertical direction and are caused by
imperfections of the road surface. The frequency spectrum of those vibrations is often divided
into ride (0-25Hz) and noise (above 25Hz). Incidentally both suspension models and methods for
vibration isolation differ for higher and lower frequencies. The focus of this work is study and
control of the ride of a vehicle.
11.2.1 Passenger perception and comfort
Vehicle passenger discomfort is caused by the movement of body parts and organs in absolute
terms as well as in relation to one another. In the author’s opinion the second motion is especially
important. The passenger body is isolated from the vehicle body vibrations by the elastic cushioning
of the seat. At very low frequencies (below 0.2 Hz) the passenger body, all its parts and body organs
move as one approximately in phase with the disturbing forces. One of the few parts of the body
out of phase is the liquid in the vestibular system. As a result, the main discomfort to the passenger
125
then is due to motion sickness. As the frequency increases, body organs and parts start to noticeably
lag and lead the body in motion. The reason is that body organs are elastically connected to their
surrounding tissue and skeleton. An extreme example of this phenomenon is the ‘sinking stomach’
experience during choppy flights over the Arizona desert. As frequency increases further (2.5 Hz
and above) body parts start to resonate. Different parts resonate at different frequencies. Pelvis
and Thorax at approximately 3Hz, internal organs at 5 to 7 Hz, up to Eyes at 80 Hz [37].
The passengers are sensitive to the accelerations they are subjected to, since those accelerations
cause internal forces on body parts F = ma. Those forces on body parts cause deviations of organ
positions as the organs are supported by elastic connecting tissue. At fixed acceleration and force
the static translation can be given as L = kF . The changes in acceleration cause changes of forces
acting on the body. This results in changes in organ positions. This, in the author’s experience,
is one of the main reasons for jerk (derivative of acceleration) playing a major role in perceived
comfort. Sudden changes of acceleration cause sudden changes of the relative position between
body organs and body parts which leads to considerable discomfort. This phenomenon has been
studied by the author during his work at COMECO Inc. In elevator control, electric machines can
provide significant torque. This torque can exhibit significant nonlinearity with respect to control
commands during braking, when comfort is sometimes sacrificed for the sake of exact positioning.
11.2.2 Frequency dependent human sensitivity to vibrations.
The ISO 2631 standard [47] provides a basis for comparing data pertaining to the effects of human
exposure to whole-body vibration. First issued in 1985, ISO 2631 defines the limits of exposure
within the frequency range 1 to 80 Hz to periodic vibrations and random vibrations with a dis-
tributed frequency spectrum. The ISO 2631 standard describes riding comfort in terms of lines or
limits of discomfort [37] (p.182). This is a family of RMS acceleration spectral curves for different
times of exposure (See Fig 62). The allowable RMS acceleration varies with frequency. The graph
is usually drawn using a log-log scale. The highest sensitivity is at the body and organ resonant
frequencies between 4 and 8 Hz. The curves suggest that humans are most sensitive to vibrations
in the frequency band around 5 Hz.
[37] lists a number of similar frequency vs acceleration based criteria from various sources
including NASA studies (see Figures 63 and 64)
126
Figure 62: RMS values of the vertical acceleration causing reduced efficiency of a sitting subjectas a function of the frequency. The curves for different exposure times are shown according to theISO 2631 standard (source: T. Gillespie "Fundamentals of Vehicle Dynamics" [37]).
127
Figure 63: RMS Acceleration comfort curves - various standards (source: T. Gillespie "Fundamen-tals of Vehicle Dynamics" [37]).
Figure 64: Nasa Discomfort acceleration curves for vibration in transport (source: through T.Gillespie "Fundamentals of Vehicle Dynamics" [37]).
128
11.3 Common Criteria for ride comfort11.3.1 Acceleration
Vehicle body or seat acceleration is the chief criterion of ride comfort. RMS acceleration is often
used [23], [37]. As discussed earlier, the human body is most sensitive to acceleration disturbances
with frequency content between 4Hz and 8 Hz. Thus a frequency based acceleration criterion is
needed. Real world test signals are normally non-periodic. For non-periodic signals the spectral
content of vehicle body acceleration is measured by using the acceleration power spectral density
curve.
11.3.1.1 Information on Power Spectral Density (PSD)
PSD is a frequency related criterion of ride comfort used for aperiodic disturbances [23], [47], [41].
Periodic signals are characterized by their spectrum. Similarly aperiodic signals are characterized
by their power spectral density (PSD) function. They are studied using the methods of statistical
signal processing. Note that according to signal theory the power of a signal is proportional to the
square of the signal amplitude P = s2(t). Power spectral density can be practically defined as a
curve representing the power of a signal in various frequency ranges. The power of the signal in a
given frequency band can be calculated by integrating the Power Spectral Density function over a
frequency range F1 to F2:
P =
Z F2
F1
S(f)df +
Z −F1
−F2
S(f)df (142)
where S is power spectral density. In our case the PSD of the vehicle body acceleration is used.
Note that for acceleration signals, power spectral density is measured in (m/s2)2/Hz (sometimes
written as g2/Hz). The power spectral density can also be calculated by integrating only over
positive frequencies (the spectrum is symmetric).
The PSD function of a signal can be calculated with Matlab’s Signal Processing toolbox. This
can be done by first creating a periodogram spectrum object containing the test data, and then using
the psd() function on that object . The periodogram method is a nonparametric PSD estimation
method. Other nonparametric methods available are the Welch method and the Multitaper method.
Parametric methods of power spectral density estimation are also available such as: Yule-Walker
autoregressive (AR) method, Burg method and the Covariance method. The periodogram method
is a commonly used nonparametric method. It works well with longer time sequences. In contrast
129
parametric methods offer advantages with shorter time sequences. Windowing is often applied on
the test data and can be specified as parameter of the spectrum.periodogram() function when
creating the test data periodogram object.
The root mean square value of the vehicle body acceleration with reference to the frequency
range F1 to F2 is a square root of the power spectral density [23]:
arms =
sZ F2
F1
Sa(f)df (143)
where Sa is acceleration power spectral density.
11.3.1.2 Using acceleration PSD to evaluate passenger comfort
As defined in the ISO 2631 standard, acceleration amplitudes should be expressed as an RMS value
and evaluated in one-third octave frequency bands. This can be done by integrating the acceleration
PSD using Eq 143. A sample resultant curve is presented in Fig 65. Note that two frequencies are
an octave apart if the ratio of the higher frequency to the lower frequency is two. One third of an
octave interval would then be between frequencies with ratio 2(1/3).
One standard series of frequencies marking the ends of a series of 1/3 octave frequency bands
is: 0.353, 0.444, 0.560, 0.706 , 0.889, 1.12, 1.41, 1.78, 2.24, 2.82, 3.55, 4.47, 5.62, 7.08, 8.91, 11.2,
14.1, 17.8 Hz.
The evaluation of the acceleration spectral density in frequency bands allows easy comparison
between the ride comfort levels in different vehicles. Together with the discomfort curves it allows
determining an absolute level of ride comfort. From his own experiments the author has concluded
that a simple, more flexible criterion may be preferable for relative comparison of the performance
of two suspension control algorithms. The acceleration PSD functions of both algorithms can be
plotted on top of each other. To filter out spikes, moving average window filtering is used (see Fig
66 for an example). This light, low pass filtering preserves the PSD curve shape and allows better
understanding of resonance peaks than the use of only a single number to represent each frequency
range as the ISO 2631 standard mandates (compare the staircase shaped plot from Fig 66 with
the plots in Fig 65). Note that moving average filtering does not change the overall area under the
PSD curve. This is crucial since it is the area under the curve that determines RMS acceleration.
130
Figure 65: Example of acceleration Spectral Density converted to ISO2631 RMS acceleration points(source: “High-Speed Craft Motions: a Case Study” 2005 Kelly Haupt, Naval Surface WarfareCenter, Norfolk, Virginia).
131
Figure 66: Comparison of filtered vehicle body acceleration PSD. As proposed - a moving averagewindow filter is used to filter out spikes.
132
11.3.2 Jerk - the derivative of vehicle body acceleration
Jerk is another critical factor for ride comfort. [49], [50], [71] note the importance of the jerk the
passenger is subjected to as a critical measure of ride quality. [23] lists jerk as a significant ride
comfort factor at lower frequencies.
Peak jerk is often used as additional ride comfort criterion that should be minimized or limited.
A weighted combination of peak and RMS jerk value can also be used. It should be noted that
active and especially semiactive suspensions can introduce excessive jerk values. Without taking
jerk into account it is not uncommon for a semiactive suspension to cause subjectively worse ride
than a comparable passive suspension. This can happen if the suspension control is designed to
improve only traditional ride comfort criteria such as vehicle body acceleration PSD and RMS
acceleration [40], [76].
11.4 Common criteria for suspension isolation11.4.1 Criteria based on harmonic excitation and linear system theory
Parameters or properties of the suspension itself are used to measure how well the suspension
attenuates road disturbances. Prominent among these are linear frequency based criteria. They
are often presented as real valued functions of frequency. The shape and level of the function curve
is used to judge system properties. For example, in the case of road to body frequency response,
ride is improved by lowering the frequency response and designing for less prominent resonant
peaks. This simple rule holds for most of the frequency based criteria listed below.
11.4.1.1 Frequency response
• Road to vehicle body elevation Gbr(ω) = Yb(ω)/Yr(ω). The peaks at body and wheel resonant
frequencies carry important information about ride comfort.
• Road to wheel elevation (for road holding and wheel rattle space) Gwr(ω) = Yw(ω)/Yr(ω).
This is also called rattle space response, unsprung mass (wheel response) and is related to
road holding. It also affects the requirement for length of suspension travel during suspension
mechanical design.
• Actuator force to body elevation gain (for control / controllability) Gba(ω) = Yb(ω)/Fa(ω)
133
For a linear system the frequency response is sufficient to fully characterize the system. This
holds though only partially for many nonlinear systems (it is still possible to infer approximately
from the frequency response the nonlinear system’s behavior when subjected to nonperiodic signals).
Practical approaches to measuring frequency domain responses The simplest approach
is to use consecutive passes with input sinusoidal signals of increasing frequencies. This (with
the addition of a second pass for large amplitudes) is one of the most reliable methods when
nonlinearities are involved. For linear systems it is also possible to use white noise input or impulse
response.
11.4.1.2 Road to body acceleration response
Hbr(ω) = Yb(ω)/Yr(ω) [37] (p.151).
For a linear system the acceleration response can be derived by differentiation of the frequency
response . For a real world nonlinear system there can be differences and the actual body and road
accelerations need to be used. The reason is that a nonlinear system may produce an output signal
with much higher derivatives (different shape than the input signal). This can be quite noticeable
when output amplitude changes as for example when a resonance is encountered.
11.4.1.3 Road to body modified acceleration response
Mbr(ω) = Yb(ω)/Yr(ω) [24], [48].
This criterion may be able to indirectly measure the propensity of the suspension to produce
vehicle body jerk. In general this would measure the tendency of the suspension to produce abrupt
nonlinear body movements from relatively less abruptly changing, smoother road movements.
These performance criteria normally use harmonic road excitation and largely rely on linear
system theory. Most were originally designed to evaluate linear systems. Some caution should
be exercised when applying to real world systems. Note for example that suspension frequency
response is very different for very small excitations as the suspension stiffens due to internal friction.
Thus for some trucks ride is actually more uncomfortable on smoother roads with small surface
imperfections.
134
11.4.2 Criteria of suspension isolation based on measured ride quality using aperiodicroad inputs.
In this case the suspension is subjected to some preselected road excitation. Various criteria of
ride comfort are then used to evaluate the passenger comfort. A disadvantage of this method is
that it is related to specific road excitation. The advantage is that the excitation can be arbitrarily
complex with varying magnitudes, velocities of input and discontinuities. This allows better real
world evaluation of nonlinear suspension behavior.
This approach requires the definition of standard road excitations (road profiles) as well as
measures of ride comfort.
11.4.2.1 Response to real world/synthetic road profiles
Real world road profiles allow testing of control algorithms and actuators with real world data. A
disadvantage is the difficulty in comparing results between different studies and authors as different
studies use different road profiles. The Transportation Institute at the University of Michigan has
provided road profile data for public use as well as the RoadRuff software to manipulate and convert
the profiles. It is also possible to synthesize road profiles, though in this author’ opinion this task
requires significant knowledge and experience.
Measures of road profile roughness Various measures have been created to quantify the
roughness of road profiles. It should be noted that road roughness standard measures, such as the
IRI and RN numbers described below, were created and defined chiefly for road quality evaluation
and maintenance purposes, not as measures to define standard road excitations for vehicle testing.
IRI International Roughness Index IRI (International Roughness Index) is a measure
of road roughness that affects perceived ride quality [46]. In simple terms it measures the total
suspension travel per kilometer of road length (measured in m/km). It is calculated starting with
the actual road profile and subjecting it to the mathematical model of a standard "golden car"
quarter vehicle [44]. There is software available from the University of Michigan to calculate IRI
criteria values from road profiles [38]. In numerous real world data studies it was found that the
IRI number is closely correlated with the values of weighted RMS acceleration of vehicle body and
seat [39].
135
RN (Road Number) The road number uses road Power Spectrum Density and applies to it
specific mathematical transformations in order to produce a single numerical value measuring road
roughness [43]. Similarly to the IRI value, RN applies weighting on road roughness depending on
its influence on perceived ride quality (humans are more sensitive to vibrations in certain frequency
ranges). The calculation of the RN number is described in [42] and was further revised and clarified
in [38] and [45].
ISO standard acceleration PSD ceiling limits The ISO standard specifies a ceiling to
the road profile acceleration PSD function that allows the classification of roads into very good,
good, normal, poor or very poor Fig 67 [23] (p.423). The description specifies two linear segments
forming the ceiling for the road Power Spectrum Density.
It is possible thus to generate a road profile to match a certain value of the PSD road roughness
criteria listed above.
11.4.2.2 Response to simple, aperiodic deterministic road disturbances
• Step with instantaneous transition
• Step with fixed slope transition
• Very short bump with sloped sides
• Very short pothole with nearly vertical sides
In most case the selected disturbance is a single bump of some specific shape. One example is
described by [51]. This source describes a half sinusoid shaped bump:
YR =
⎧⎪⎨⎪⎩ 0.5π sin 20π(t− 0.3) for t ∈ [0.3, 0.4]0 all other times
(144)
Ride quality criteria to be used with the simple deterministic aperiodic road excita-
tions The vehicle is subjected to simple deterministic aperiodic road excitations and the resultant
vehicle response can be evaluated using the ride comfort criteria listed below:
• RMS vehicle body acceleration
• Peak vehicle body acceleration136
Figure 67: Road quality PSD classification according to the ISO standard (source: G. Genta"Motor Vehicle Dynamics" [23]).
137
• Acceleration Power Spectrum Density curve
• RMS acceleration for one third octave frequency intervals according to the ISO standard
• Jerk RMS
• Peak jerk
• Peak to peak vehicle body deviation (measure of floating)
• Vehicle body overshoot after step road disturbance
• Vehicle body damping ratio after step or short bump/pothole disturbance.
11.4.3 On deterministic vs statistical methods of presenting, analyzing and specifyingride comfort related data
This is a short justification of the author’s preference for deterministic methods in test road dis-
turbance selection and ride criteria selection.
The literature review performed by the author revealed that statistical methods are often used
in the study of both road excitation and the resulting ride quality. The author concludes that
such results allow easier comparison between different studies and facilitates standardization. The
downside is that such results may require more time and effort to be fully analyzed by reviewers and
thus may make finding inaccuracies harder. This has led the author to support the view that more
complex ride quality evaluation methods are to be used after the usefulness of simpler deterministic
ones have been exhausted.
The behavior of nonlinear systems differs when input signals have different amplitudes and
shapes. Some researchers generate pseudorandom road test data by starting with a known road
PSD profile and then generating from it a signal with the corresponding spectrum. The phase of
the frequency components is varied randomly. The opinion of this author is that the use of random
test data is justified for the low amplitude variations due to random road imperfections. One
could argue that larger amplitude road imperfections are not completely random. The shape of
potholes, speed bumps and railroad crossings are examples. A set of real experimental data as well
as deterministic test patterns is thus better suited for ride evaluation. In the author’s opinion it is
more valuable to use real world road data as the appearance of potholes and bumps is not clearly
138
specified by the listed criteria, but is very important in judging the behavior of highly nonlinear
suspension control systems.
11.5 Selected criteria and methods to be used in this work11.5.1 Selected suspension control performance criteria
11.5.1.1 Integral performance criteria
Two composite performance criteria were used. The first one takes into account passenger comfort
as represented by the square of vehicle body vertical acceleration Y 2B, road holding represented
by the square of the variations of tire force ∆F 2tire and realizability (control effort) represented
by the square of the actuator force requested by the control algorithm F 2actuator requested. The first
composite integral performance criterion is denoted by PC1 an is defined by Eq 145. The Simulink
model implementation of the PC1 performance criterion is represented in Fig 68.
PC1 = QY b comfort
1
tend
Z tend
0Y 2B +QFtire roadholding
1
tend
Z tend
0∆F 2
tire
+QFcontrol effort1
tend
Z tend
0F 2actuator requested (145)
The variations of tire height ∆Ytire are nearly proportional to the variations ∆Ftire due to
the nearly negligible tire damping. This was used in early experiments to replace the term
QFtire roadholding1
tend
R tend0 ∆F 2
tire with the equivalent term QY tire road holding1
tend
R tend0 ∆Y 2
tire. The
ratio of the weighted component of the performance criterion PC1 for most controllers and the
default road profile were approximately:
Comfort (QY b comfort1
tend
R tend0 Y 2
B) = 68%
Road holding (QFtire roadholding1
tend
R tend0 ∆F 2
tire) =29%
Control force realizability (QFcontrol effort1
tend
R tend0 F 2
actuator requested) = 3%
A more comprehensive control performance criterion incorporates the effects of vehicle body
jerk on passenger comfort. The largest jerk peaks are summed and used as a comfort criterion.
The expressionPn
0 max (|...Y B|) represents the sum of the largest n body jerk peaks. In view of
the length of the available road profiles the number of peaks was selected as n = 8. The peak
detection algorithm functions as follows: Processing begins once all simulation data has been
stored in a buffer. The jerk signal time sequence is searched for the largest absolute jerk value.
The found peak jerk value is added to the sum. A short time window surrounding the peak is
excluded from future searches. Then the search is repeated to find the next peak. Evaluation
139
Figure 68: Performance criterion PC1 incorporates body acceleration, tire height (tire force) andcontrol force.
of jerk peaks requires special attention when simple, low order suspension models are used. In
such cases instantaneous changes of the damper current cause instantaneous changes of simulated
damper force resulting in instantaneous changes of simulated vehicle body acceleration YB. Then
the simulated spike of the jerk...Y B = d(YB)/dt is a meaningless spike with infinitely large height
and infinitely short duration. Such a spike is neither simulatable, nor measurable. To spread out
the energy of the simulated jerk spike over a measurable period of time, the body acceleration YB
can be filtered before differentiating it to obtain the jerk value...Y B. Xubin Song uses a first order
filter in his dissertation [84]. When necessary the present work uses a second order low pass filter
with poles: 200± 20i. Note that when a more sophisticated suspension model is used such filteringis unnecessary since step force commands are filtered by the dynamics of the damper coil and the
damper bushing precluding instantaneous changes in vehicle body acceleration.
The second composite integral performance criterion which includes the effect of jerk peaks is
denoted by PC2 an is defined by Eq 146.
140
Figure 69: Composite performance riterion PC2 takes into account the effects of jerk.
PC2 = Qpeak...Y b comfort
nX0
max (| ...Y B|) +QY b comfort
1
tend
Z tend
0Y 2B
+QFtire roadholding1
tend
Z tend
0∆F 2
tire +QFcontrol effort1
tend
Z tend
0F 2actuator requested (146)
The simulink model of the resultant performance criterion is represented in Fig 69.
The ratio of the weighted component of the performance criterion PC2 for most controllers and
the default road profile were approximately:
Comfort (QY b comfort1
tend
R tend0 Y 2
B) = 54.5%
Road holding (QFtire roadholding1
tend
R tend0 ∆F 2
tire) =24.4%
Control force realizability (QFcontrol effort1
tend
R tend0 F 2
actuator requested) = 2%
Sum of the eight largest jerks Qpeak...Y b comfort
Pn0 max (|
...Y B|) = 19.6%
141
To study better the various aspects of the algorithm performance the following components of
the performance criterion may also be studied:
PCY b comfort = QY b comfort
1
tend
Z tend
0Y 2B (147)
PCFtire roadholding = QFtire roadholding1
tend
Z tend
0∆F 2
tire (148)
The value of all described performance criteria is to be minimized for best performance.
The selection of the values of the weight coefficientsQY b comfort, QFtire roadholding, QFcontrol effort
and Qpeak...Y b comfort posed a special problem. In the end they were selected iteratively. An ini-
tial set of weight coefficient values was selected and an optimization of controller coefficients was
performed. Then the ratio between the weighted components of the integral criterion was ana-
lyzed. The weight coefficients were adjusted in order for example to shift the balance between
comfort (QY b comfort1
tend
R tend0 Y 2
B) and road holding (QFtire roadholding1
tend
R tend0 ∆F 2
tire) as desired.
The process was then repeated. Usually two to three iterations were found to be sufficient to achieve
reasonable balance between the criterion components.
11.5.1.2 PSD of YB and YB as performance criteria
Power Spectral Density is a finer measure of body acceleration than the acceleration RMS value
because it provides spectral information. As discussed in chapter 11 humans are more sensitive to
vibrations in certain frequency ranges [37]. The Power Spectral Density (PSD) of the controlled
variables is compared. This approach proved faster and easier to implement compared with obtain-
ing the frequency response of the nonlinear system frequency point by frequency point and then
repeating for different amplitudes (the system is nonlinear). The periodogram method was selected
as a generic and popular nonparametric method. It is simple to tune and also works well with
the available road profile test time sequences. The available road profiles result in time sequences
of 14 seconds at a vehicle speed of 50 mph which is quite long compared with the longest period
(the lowest frequency of interest). The input excitation of the system is provided by applying a
road profile with sufficiently wide spectrum. Random signals are allowed in the preliminary study
of algorithm performance. A lower PSD curve of body elevation or body acceleration indicates
better passenger comfort. The objective of most semiactive control algorithms is suppressing the
142
low frequency resonance of vehicle body. In this respect lower PSD curve levels in the 1Hz region
are indication of better performance. The PSD curve of vehicle elevation YB represents the body
resonance most clearly. A light moving window filtering may be used to achieve a smoother PSD
curve and make visual comparison easier.
11.5.2 Methodology of algorithm performance comparison
To ensure objective comparison of control algorithms the following approach is employed. A default
road profile with sufficiently wide spectrum is applied as input excitation of the suspension system.
The coefficients of each control algorithm are tuned using a multidimensional gradient descent
algorithm to minimize criteria PC1 or PC2 (see Eq 145, 146). This ensures that all algorithms
are properly tuned optimally and provide the best performance that can be obtained from them.
During the experiments it was noted that rather different control algorithm coefficients result from
coefficient optimization when the road profile is severely lacking in certain spectrum bands. This
skewed tuning negatively affects performance with other road profiles (robustness).
To empirically test for robustness, the performance of the algorithms tuned for the default
road profile is also evaluated with two other road profiles with different spectral distribution and
amplitude.
11.5.2.1 Road profiles
Three road profiles were used. Real measurement road data was used as recorded and provided by
the Transportation Research Institute at the University of Michigan. The test results presented
use data from five 300 m road segments. It was constructed by joining two 150m road segments
from adjacent locations for the default profile and profile 2. Profile 3 was constructed by repeating
the same road segment twice - first from the left wheel and then from the right wheel. At vehicle
speed of 22.4 m/s (50mph) a 150m profile yields 13.6s of simulation road excitation. The road
profile selected as default is shown in Fig 70. It provides road excitation with peak to peak vertical
displacement of 0.03m (1.18 inches) and includes a small bump at 9.7s. It is considered to have the
most balanced PSD distribution of the three profiles. The other two profiles are shown in Fig 71
and Fig 72. The PSD of all three road profiles is shown in Fig 73.
143
Figure 70: Default test road profile.
Figure 71: Road profile 2.
144
Figure 72: Road profile 3.
Figure 73: Power Spectrum Density of test road profiles.
145
11.5.3 Summary
1. Relative comparisons of algorithm performance are used. The suspension isolation criteria
employed are targeted towards detailed comparison of the performance of various algorithms
within the scope of this work. This type of comparison can be called relative, since the result
is that some of the presented algorithms are shown to perform better than others.
2. Real world road profiles are used as provided by the University of Michigan
3. Integral performance criteria are used to evaluate performance and compare different algo-
rithms. The selected criteria balance requirements for low RMS body acceleration, low tire
force variations and reasonably low control effort (comfort, road holding and realizability).
4. Peak jerk values are included in the performance criterion. There is a lack of standardization
on how the effects of jerk are evaluated. When semiactive suspensions are used, jerk tends
to appear in short spikes. Thus it is practical to use the sum of the largest jerk spikes as a
criterion.
5. Vehicle body elevation and acceleration power spectrum density resulting from real road
profiles were used to visually compare control algorithms. The author’s experience is that
the calculated PSD curve can be rather "noisy" with many very narrow spikes. To simplify
comparison, a moving average filtering of the PSD curve with a very narrow window is
proposed.
146
CHAPTER 12
SEMI ACTIVE SUSPENSION CONTROL
12.1 Introduction and key research points
The topic of this chapter is the control of semiactive quarter vehicle suspensions. The main problems
and some popular control algorithms are described. Original research topics are also outlined.
A review of available research publications indicates that just about every standard control
algorithm has been tried and tested extensively for comfort improving suspension control. In
comparison less attention has been paid to the problems arising from the bilinear nature of the
semiactive control (the damper can only deliver outward force on compression and inward on
expansion). The problems of switching on and off of damper control action and the resultant body
jerk are explored in detail only by a few authors. This prompted the author to focus research
efforts on jerk mitigation algorithms as the main control related topic of this dissertation. Another
interesting, not fully explored area of research is the treatment of actuator saturation due to large
amplitude low frequency road disturbances.
12.2 Short overview of research publications on semiactive sus-pension control
Karnopp and Crosby, introduced on-off skyhook control in 1974 [53]. Since then there has been a
constant search for better semiactive suspension control algorithms.
There was significant interest in on-off semiactive control in the years following. Notable exam-
ples are [55] describing a valve controlled damper and [56].
Research in optimal suspension control was carried out to outline the theoretically achievable
performance boundaries of linear suspension control. Seminal research was published by Hrovat
[79], [80]. Important research in clipped optimal state space LQ feedback control of semiactive
suspensions was published by Butsuen [48].
Semiactive suspension control research received renewed attention after the introduction of
magneto-rheological fluid dampers with a wide temperature operating range and high durability.
The dampers were made available by Lord Corporation around 1995 and publicized to the research
147
community in 1996 [57].
A number of nonlinear controllers have been designed in the quest for improvement over the
classic linear control methods:
Fuzzy control was one of the approaches used to implement nonlinear feedback. A number of
fuzzy controllers have been researched for suspension control. One of many examples is the fuzzy
controller designed by Miao Yu [58]. Its inputs are unsprung mass velocity, sprung mass velocity
as well as relative velocity. Joo Dae Sung [10] also designed a fuzzy logic controller. He used as
inputs body velocity, body to wheel relative velocity and body to wheel relative displacement. He
found the fuzzy controller performance to be slightly superior to on-off skyhook control.
Sliding mode controllers have been used in some cases to linearize the highly nonlinear actuator.
A notable early example is [60]. [10] also implements sliding mode control. Sliding mode control by
its very nature is prone to oscillations with higher frequencies not originally present in the linear
system. Care should be taken to avoid excessive jerk that may be caused as a result.
Model Reference Adaptive Control has been used - [81] is one example. Neural Networks
have also been used to provide better adaptation to changing parameters and environments. Two
examples out of numerous studies are [61] and [62]. Even Genetic algorithms have been used by
[63] for controller optimization.
Some researchers have combined different control methods in the search for improved control.
[78] combines linear quadratic regulator (LQR) and sliding mode control methods. They used the
LQR method to obtain the sliding surface. Another combination of control methods was described
in [64]. It employed fuzzy rules to calculate the switching function of a sliding mode controller.
12.3 System from control point of view
The wheel and body system has two degrees of freedom: Body position YB and wheel position YW .
A strut comprised of damper with damping BP and spring with spring rate constant KP generates
forces between body and wheel (see Fig 74). A tire with spring constant KW generates forces
between road and wheel. It is assumed that all bodies are moving only in the vertical direction,
springs and dampers are linear with respect to deflection and the tire remains in contact with road
surface at all times. Tire damping is ignored as [11] has measured tire damping to be only 0.31%
of typical strut damping. This is a simplified and linearized quarter vehicle model, used only for
the control algorithm development. Testing and comparison of control algorithms will use the full
148
Figure 74: Two degree of freedom linear quarter vehicle model.
nonlinear model.
The only practical actuation can be exerted between body and wheel. This leaves us to control
two variables: YB and YW with only one control variable — the force of the actuator in the strut.
When the actuator is a semi-active damper with variable damping (see Fig 75), the control choices
are even more limited. The main limitation is that a damper can only apply force in direction
opposite to the direction of the damper motion.
A sample control system configuration for the entire vehicle is shown in Fig 76. This is a
configuration similar to the one used by Delphi in their Magneride semiactive suspension.
12.4 Linear Quarter Vehicle Model
One form of state space equations of the linear system is described in Eq 149:
149
Figure 75: Quarter vehicle model with semiactive damper - linear model.
Figure 76: Semiactive control - sensors and actuators (courtesy of Terje Rølvåg, Norwegian Uni-versity for Science and Technology).
150
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YW
YW
⎞⎟⎟⎟⎟⎟⎟⎟⎠=
⎛⎜⎜⎜⎜⎜⎜⎜⎝
−BP/mB −KP /mB BP/mB KP /mB
1 0 0 0
BP /mW KP/mW −BP/mW −(KP +KW )/mW
0 0 1 0
⎞⎟⎟⎟⎟⎟⎟⎟⎠
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YW
YW
⎞⎟⎟⎟⎟⎟⎟⎟⎠
+
⎛⎜⎜⎜⎜⎜⎜⎜⎝
(1/mB)
0
(−1/mW )
0
⎞⎟⎟⎟⎟⎟⎟⎟⎠Fa +
⎛⎜⎜⎜⎜⎜⎜⎜⎝
0
0
(KW/mW )
0
⎞⎟⎟⎟⎟⎟⎟⎟⎠YR (149)
This representation may be convenient in studying the behavior of the linear quarter vehicle
suspension. Another form of the state space equations that may be better suited to suspension
control problems is shown in Eq 150 and 151:
x =
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YW
YBW
⎞⎟⎟⎟⎟⎟⎟⎟⎠(150)
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YW
YBW
⎞⎟⎟⎟⎟⎟⎟⎟⎠=
⎛⎜⎜⎜⎜⎜⎜⎜⎝
−BPmB
0 BPmB
−KPmB
1 0 0 0
BPmW
−KWmW
− BPmW
KP+KWmW
1 0 −1 0
⎞⎟⎟⎟⎟⎟⎟⎟⎠
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YW
YBW
⎞⎟⎟⎟⎟⎟⎟⎟⎠
+
⎛⎜⎜⎜⎜⎜⎜⎜⎝
1mB
0
− 1mW
0
⎞⎟⎟⎟⎟⎟⎟⎟⎠Fa +
⎛⎜⎜⎜⎜⎜⎜⎜⎝
0
0
KWmW
0
⎞⎟⎟⎟⎟⎟⎟⎟⎠YR (151)
Or in short form:
x = Ax+B Fa + LYR (152)
151
12.5 Disturbances
The main disturbance comes from the road elevation YR. It has a wide spectrum with amplitudes
decreasing with frequencies (see the power spectral density of road profiles in Fig 73). Potholes
and bumps constitute a special case of large non-periodic disturbances.
A linear suspension system model has the following disturbance path transfer function (Eq 153):
HDist(s) =YB(s)
YR(s)=
(BPKW s+KWKP )⎛⎜⎜⎜⎜⎝mBmW s4 + (BPmB +BPmW ) s
3+
(KPmB +KWmB +KPmW ) s2+
BPKW s+KPKW
⎞⎟⎟⎟⎟⎠(153)
It exhibits two resonant frequencies:
Sprung mass (body) frequency ωbody commonly ranging from 5 to 15 rad/s (0.8 to 2.5Hz) and
unsprung mass (wheel) frequency ωwheel commonly ranging from 62 to 81 rad/s (10 to 13 Hz).
The frequency response of the disturbance channel from road surface elevation to vehicle body
vertical deviation is shown in Fig 77. The frequency response figures cited in this chapter were
obtained from a Matlab presentation of the linear model from Eq 149 with the bode() command of
the Control System Toolbox.
Thomson [65] proves that an invariant point exists in the road disturbances to sprung mass
(body) acceleration Bode plot that depends only on suspension properties and can not be influenced
by linear control. This point magnitude is Hrw(ωwheel) =√mW KW/mB and is located at the
unsprung mass (wheel) resonant frequency ωwheel =pKW/mW . The existence of this invariant
point is closely related to the control problems in the vicinity of the unsprung mass (wheel) resonant
frequency ωwheel.
12.6 Control characteristics of the linear system
The control path open loop control transfer function from actuator force to body position is:
HContr(s) =YB(s)
Fa(s)=
¡mW s2 +KW
¢⎛⎜⎜⎜⎜⎝mBmW s4 + (BPmB +BPmW ) s
3+
(KPmB +KWmB +KPmW ) s2+
BPKW s+KPKW
⎞⎟⎟⎟⎟⎠(154)
152
Figure 77: Frequency response of the disturbance channel.
153
Figure 78: Control channel frequency response.
The corresponding frequency response is presented in Fig 78. Note that for a semiactive sus-
pension the actuator force would be:
Fa = −BP (YB − YW ) = −BP YBW (155)
As will be discussed later, no transfer function exists in the classical case for the channel from
the damping BP to body elevation YB.
The frequency response slope in Fig 78 between ωbody and ωwheel, and above ωwheel is 40dB/dec.
The control path open loop transfer function from strut force to wheel position is presented in
Fig 79.
154
Figure 79: Frequency response of wheel movement to strut force variation.
155
12.7 Difficulty of wheel control at wheel resonance by a strut mountedactuator
The notch at the wheel hop resonance frequency ωwheel in Fig 78 implies problems of using a control
system that applies force between body and wheel to control body position in that frequency region.
This inherent problem of force control by using an actuator located between body and wheel has
been discussed in detail by [66] and also summarized in [67]. S. Ikenaga in [68] comes to the
conclusion that "Motions of the sprung mass at the wheel resonant frequency ωwheel cannot be
reduced if the only control input is a force applied between the sprung and unsprung masses (as
is the case for vehicle suspension systems)." In short the reason is that "... selecting this input
places a zero near the wheel frequency ωwheel resulting in an uncontrollable mode due to effective
pole-zero cancellations." The same source also claims that an active design is needed for effective
rejection of disturbances above the wheel resonant frequency.
12.8 Redesigning the suspension specifically for semiactive control
Sjostrom in [69] describes a solution for control of the natural resonance of the wheel and the
resulting "wheel-hop." Similarly patent application DE,A, 2217539 describes a special damping
mass connected to the wheel and controlled to damp the wheel movements. A similar solution
is described in Patent Application EP,A,-200384 also briefly described in the annual publication
"Bosch Kraftfahrtechniches Taschenbuch." Common to all of these solutions is that an additional
resonance damping mass is attached to the wheel via additional damper and spring in order to
damp resonance and decrease wheel-hop. These solutions require radical change of the suspension
design and are therefore not considered applicable to this study.
Butsuen [48] concludes that softer spring and lower minimum damping coefficient result in
better semiactive suspension control. Even this measure is not always easily accommodated in
practical designs. The author received feedback from GM engineers that rattle space considerations
of semiactive control systems are still rarely taken into account at design time. A semiactive
suspension option can dramatically improve ride on vehicles with already soft suspensions such as
the Buick Lucerne and Kia Amanti.
156
12.9 Performance limits of linear suspension control
In embarking on a search for improved control algorithms it is always useful to have some un-
derstanding about the border between the possible and the most likely unattainable performance
results. It is the opinion of this author that except in the case of highly nonlinear systems, the
performance of full state feedback control can be used as guidance of what can be achieved and to
some degree improved upon by a well designed nonlinear controller. In this connection the author
performed a literature survey on optimal suspension control. A widely cited research on optimal
suspension control was published by Hrovat et al [79] and [80]. The author was strongly influenced
by the work of Tetsuro Butsuen who in [48] studies in great detail optimal active control and most
importantly clipped optimal semiactive control. A starting point of Butsuen’s studies is LQ optimal
control i.e. full state feedback. The employed full state feedback requires measurement of sprung
and unsprung mass velocities, relative body to wheel position and tire deflection. Butsuen then
proceeds to compare the optimal full state feedback LQ controller with an optimally tuned passive
suspension and also a proportional body velocity feedback (skyhook). Butsuen [48] concludes:
“The use of sprung mass absolute velocity captures nearly all of the beneficial effects of
full state ride quality design without the high frequency harshness problem. It also has
the advantage of being very easy to design since there is only one parameter to choose.”
In other words the proportional skyhook control is very close in effectiveness to the clipped
optimal control of a semiactive suspension. It should be noted that before performing control
algorithm comparisons Butsuen first derives the optimal damping and spring coefficient for his
reference passive suspension - something not claimed or discussed in detail by many authors.
Butsuen also shows that optimal active or semiactive control can not be expected to improve
high frequency body response in comparison with an optimally tuned passive suspension.
12.10 Semiactive suspension control - control via damping coeffi-cient variations
Suspension control is invariably implemented by placing an actuator connected between body and
wheel. It is designed to exert controllable force that affects body and wheel acceleration. A
semiactive actuator is considerably cheaper to build and operate, but is only able to dissipate
157
Figure 80: Frequency response of the disturbance channel for low and high strut damping.
energy. A typical example would be a variable damper. Magneto rheological dampers are most
commonly used.
12.10.1 Influence of slowly varying damping values on suspension characteristics
12.10.1.1 Influence of damping on road disturbance isolation with respect to vehicle body
Fig 80 illustrates the influence of the value of the damping coefficient on the road to body frequency
response. It is clear that damping coefficient variation results in significant changes of system
disturbance response. Lower damping results in suppression of disturbances with higher frequencies,
but increases vehicle body resonance at ωbody. Damping variations have little influence on the
disturbance response at frequencies around the wheel resonance ωwheel.
The frequency response curves in Fig 80 represent system behavior when the damping coefficient
BP varies much slower than the test frequencies involved. In a suspension control system the
damping can be changed practically instantaneously. These frequency responses provide only a
158
Figure 81: Frequency response of rattle space YBW to road disturbances at high and low damping.
preliminary study of what the results may be of a control system that varies the value of the
damping coefficient.
12.10.1.2 Influence of damping on required rattle space
The choice of damping is subject to another compromise as well. Damping affects rattle space
YBW = YB − YW design specifications. In simple terms low damping causes large oscillations of
the wheel which means large movements of wheel in relation to body. That has to be accounted in
vehicle mechanical design by provisions for sufficiently large free wheel movement. The influence
of damping on rattle space is clearly visible on the plot of rattle space frequency response to road
input presented in Fig 81.
The corresponding road elevation to rattle space transfer function is:
159
HRattle(s) =YBW (s)
YR(s)=
KWmB s2⎛⎜⎜⎜⎜⎝mBmW s4 + (BPmB +BPmW ) s
3+
(KPmB +KWmB +KPmW ) s2+
BPKW s+KPKW
⎞⎟⎟⎟⎟⎠(156)
Very low damping combined with low spring rate can cause excessive wheel oscillations with
the wheel hitting the suspension stops (resulting in suspension damage).
12.10.2 Inherent nonlinearity of variable damping control systems when suspensiondamping BP is considered as control input.
The control system analysis above assumes that Fa is the system control input. When a semiactive
damper actuator is used the control force is not independently controllable. It is governed by
equation 155 and depends on both BP and the signal difference (YB − YW ). A product of two
variables is a nonlinear operation. The author has thus come to the realization that no transfer
function can be derived connecting control input BP to body and wheel velocities and accelerations.
The author has also come to the conclusion that a linear control system that uses the suspension
damping BP as control signal would result in an inherently nonlinear system. This is true even
if the damper were to be a perfectly linear device. A control algorithm which varies the damping
coefficient BP linearly as a function of any system state (for example YB and YB as in BP =
K1YB + K2YB) would result in a nonlinear closed loop system since BP itself is multiplied by
(YB − YW ) to arrive at the actuator force Fa = −BP (YB − YW ). The actuator force thus becomes
a nonlinear function of system states Fa = −(K1YB +K2YB)(YB − YW ).
12.10.3 Quasi-linearity of variable damping control systems when damper force isused as control input.
The suspension system controlled by a variable damper is linear if the damper force Fa is assumed
to be the system control input. It should be noted that there are limitations on the achievable
values of the damper force Fa in a semiactive suspension. For example when wheel to body relative
velocity (YB− YW ) is zero, the damper force Fa becomes zero regardless of the value of the dampingBP . The properties of magnetorheological semiactive damper allow the approximate assumption
that damper force is proportional to damper current. This assumption of a linear relationship can
be reinforced by using local damper force control loop.
160
12.10.4 General outline of semiactive suspension strategy
A simplified description of the most common control strategy for passenger comfort is as follows:
Low overall damping BP is used in order to lower road disturbances transmission to body at
higher frequencies (above ωbody). In a passive suspension case this low damping would have caused
a pronounced low frequency resonant peak at ωbody and consequently considerable heaving of the
vehicle with the body resonant frequency. The main function of a semi active suspension would
then be to decrease the resonant peak at ωbody. This suspension control approach is studied in
detail by Karnopp in 1974 [53] and Hrovat 1988 [79].
12.10.5 Stability of semi-active control.
A passive damper can only remove energy form the system. Even at the lowest damping setting
the magneto rheological damper still functions as an energy dissipating device. There are no parts
of the suspension that add energy to the mechanical system. This assures that all oscillations are
damped. The semi-active suspension control system is inherently stable at all cases.
Other problems to be addressed are excessive variations of damper force and chattering - such
as the one exhibited by the acceleration driven damper algorithm described in [82].
12.10.6 Semiactive actuator nonlinearities
There are limitations on the force that the control algorithm can apply. It is possible to realize
only control force requests Fa that are in phase with the damper velocity (YB − YW ). Outward
force can only be exerted at damper compression, while inward force only at expansion. No force
can be applied when the wheel is moving at the same speed as the body (body to wheel distance is
constant and relative speed is zero). The relative speeds of body and wheel determine the possible
force direction.
There are six combinations as listed in the table below:
161
Figure 82: Damper ideal vs realistic damping values range.
Body and Wheel movement Damper Force on body
Wheel moving ∙ faster than Body ↑ contracts ↑Wheel moving ↑ slower than Body ∙ expands ↓Wheel moving ↓ while Body moving ↑ expands ↓Wheel moving ↑ while Body moving ↓ contracts ↑Wheel moving ¸ faster than Body ↓ expands ↓Wheel moving ↓ slower than Body ¸ contracts ↑At certain moments the force exerted by the damper would be opposite of the force requested
by the control algorithm. The only action possible then would be to lower the damping to minimum
in order to minimize the force, as no sign reversal is possible.
There is also force saturation from above (maximum force) which is clearly observed at low
speeds.
The damper working region is graphically presented in Fig 82. This is a static graph that omits
the effects of damper hysteresis observable during normal cyclical operation.
12.10.7 Effects of actuator nonlinearity on control system bandwidth.
Body oscillations at lower frequencies have significantly higher amplitudes. This can be easily
deduced from road power density curves and vehicle frequency response. Consequently control
force would contain large amplitude low frequency content. The author has come to the conclusion
that for best effectiveness at low frequencies, when large disturbances are encountered, it would
162
Figure 83: Saturation in order to increase low frequency signal RMS value when signal range islimited.
be advantageous to cause the damper force to reach its saturation limits for large portion of the
time. This would significantly increase the area under the force curve and consequently increase
the RMS control input at lower frequencies (see Fig 83). The downside would be a decrease
of controllability at higher frequencies during actuator saturation. Note that to achieve higher
actuator forces, damping has to be on average higher (see Eq 155). The reaching of force signal
limits implies reaching saturation limits for damping. The higher damping values significantly
increase the transmissibility of higher frequency disturbances. This can be foreseen by noting
the BPKW s term in the numerator of HDist(s) from Eq 153. Thus saturation of damping on
the lower end (when the control algorithm is requesting minimum (or negative) force is much
more acceptable and desirable, while saturation at higher end of damping poses high frequency
transmissibility problems.
A simple solution to avoid high damping would be to stress saturation on the lower end of
damper force and damping coefficient as illustrated by Fig 84.
A side effect of saturation is that it limits the control system bandwidth to frequencies not much
higher than ωbody.
12.10.8 Jerk spikes when semiactive control is used
As discussed in the chapter on ride comfort, jerk or the third derivative of vehicle body vertical
displacement has significant impact on perceived ride comfort. Excessive jerk...Y B can be caused
by any suspension control system if the actuator force Fa changes abruptly.
163
Figure 84: Pronounced force and Damping coefficeint saturation from below.
d(YB)
dt= mB
d(Fa)
dt(157)
In a semiactive suspension this problem is particularly hard to solve. Even if the algorithm is
designed to only vary the required control force slowly, it may still be forced to switch control on and
off as the limitations of the semiactive damper are encountered. The damper force is determined
by two variables: damping coefficient BP and relative wheel to body speed YBW (Fa = −BP YBW ).
For a passive suspension, the damper force varies proportionally to wheel to body relative speed.
When this speed drops to zero the force drops to zero as well. Control algorithm force request is
generally out of phase with the relative wheel to body speed. For example the control algorithm
could continue to request significant nonzero force while the damper relative speed drops to zero.
Initially, as damper relative speed YBW decreases, the requested force can still be delivered with
increase in the damping BP = −Fa/YBW . Then a moment is reached when the speed drops toolow, then reaches zero and then reverses. The requested force can no longer be delivered. The
operation point exits the damper operating region.
12.10.8.1 Elevated Jerk levels with precise exiting of the damper operating region with exactdetection of damper reversal.
As damper velocity falls the semiactive damper can no longer deliver the force requested by the
control algorithm. at low damper velocities the damper force drops fast (see Fig 85). This fast
change of damping force causes corresponding change of the vehicle body acceleration (elevated
jerk levels) and contributes to the discomfort of vehicle occupants. The force drop may be even
164
Figure 85: Drop of damper force as damper active region is exited.
more sudden if a local force loop servo controller is used without any precautions. Such a controller
would try to implement the requested force by actually increasing damper current as the damper
slows down. This will continue till the very last moment before the “switch off” command.
12.10.8.2 Jerk spikes with imprecise exiting of the damper operating region due to inexactdetection of damper reversal
Due to measurement signal processing there are small phase shifts (delays) in damper velocity
measurements. These play a significant role in the generation of jerk by semiactive suspensions.
Such delay in switching the damper off can cause very abrupt damper force drops and contribute
to significant jerk spikes. Xubin Song points out in [83] that the filtering of sensor measurements
introduces phase delay and consequently causes damper switching delay. Due to the phase delay
in measurement and computation, the process of damper reversal and damper loosening do not
exactly coincide. The damper remains stiff as the velocity reverses. As a result the damper force
falls and reverses with damper velocity. Then it starts growing in the opposite direction. At some
moment the algorithm belatedly realizes that a reversal has occurred and commands switching off
the damper. This happens at (already reversed) nonzero damper force. The result is a very abrupt
drop of damper force — as fast as the damper can loosen (see Fig 86). If the delay in switching is
significant, the abrupt force changes would be quite noticeable and unpleasant. Fig 87 illustrates
165
Figure 86: Abrupt drop of damper force as the moment of damper working region enter/exit ismisidentified.
the force discontinuities that result from force switching with imprecise zero crossing detection of
the damper relative velocity.
12.11 Suspension control algorithms
The following suspension control algorithms are investigated: full state space control using the
state space representation from Eq 151, continuous skyhook and combined continuous skyhook-
groundhook control. The topic has been thoroughly researched over the years and is included
here to provide background to following chapters and present the author’s understanding of the
problem of semiactive control. A comparison between the selected state space feedback and the
hybrid skyhook-groundhook control is performed. Some interesting observations on the tuning of
skyhook-groundhook control are presented. This study is a preliminary research in the properties
of the aforementioned control algorithms and as such uses a linear state space plant model as
described in Eq 151. The general Simulink diagram of this experiment can be seen in Fig 99.
12.11.1 Skyhook controller
A common suspension control algorithm is the classic Skyhook controller [53]. It attempts to
emulate the ideal setup (see Fig 88) where a damper is attached between vehicle body and a
vertically stationary reference point. The force on the body Fa is proportional to body vertical
166
Figure 87: Discontinuities in the damper force due to imprecise zero crossing detection of damperrelative velocity.
167
Figure 88: Ideal skyhook damper.
speed and the damping coefficient:
Fa = −YB Bsky (158)
A skyhook controller improves the frequency response of the body at low frequencies. In partic-
ular it decreases the body resonance at ωbody while leaving the performance and higher frequencies
unaffected. This allows the use of low damping BP0 in order to improve ride at higher frequencies.
The skyhook control would eliminate the resonance at ωbody which becomes pronounced at lower
damping BP0. The frequency response of a suspension with a skyhook damper for various values
the damping Bsky is presented in Fig 89.
The disturbance channel transfer function of the skyhook controlled vehicle is:
HDistSky(s) =YB(s)
YR(s)=
(BP0KW s+KWKP )⎛⎜⎜⎜⎜⎝mBmW s4 + (BP0mB +BP0mW +BskymW ) s
3+
(BskyBP0 +KPmB +KWmB +KPmW ) s2+
(BskyKW +BskyKP +BP0KW ) s+KPKW
⎞⎟⎟⎟⎟⎠(159)
The plot of the body acceleration frequency response to road velocity input HaSky(s) =YB(s)
YR(s)
confirms that a skyhook controller improves ride at low frequencies See Fig 90.
168
Figure 89: Distrubance channel frequency response of skyhook controlled suspension at variousskyhook coefficients.
169
Figure 90: Frequency response of wheel movement to strut force variation at various skyhookcoefficients.
170
Figure 91: Realistic implementation of skyhook control.
Figure 92: Skyhook controller block diagram
The described arrangement of the skyhook control with a damper attached to a reference plane
cannot be realistically implemented as described. A realizable approximation of this control algo-
rithm is to use an actuator between body and wheel and provide approximately the same force Fa
on the body (see Fig 91).
The realistic skyhook applies force only when inside the damper active region. The function
describing a realistic skyhook controller is:
Fa =
⎧⎪⎨⎪⎩ KY bYB YBYBW ≥ 00 YBYBW < 0
(160)
The value of the coefficient KY b is negative to ensure negative feedback (actuator force opposing
body velocity). Fig 92 shows a block diagram of the skyhook control.
Fig 93 shows a Simulink implementation of the semiactive skyhook control. The displayed
coefficient value KY b = −274 is a result of optimization that minimizes the criterion PC2 when
171
Figure 93: Simulink implementation of semiactive standard skyhook control.
the default road profile is applied and the controller is coupled with the full nonlinear suspension
model.
Fig 94 shows the a 3-D surface representing the realistic skyhook control algorithm. Note the
discontinuity of control as the relative damper velocity YBW passes through zero.
Fig 95 shows the velocities and the damper force of ideal and realistic, semiactive skyhook
control.
Fig 96 presents the frequency response of a suspension with a realistic skyhook controller as
described by Eq 160. Note how the resonant peak is suppressed by the semiactive suspension while
the higher frequency response is left unaffected. In contrast an increase in passive damping decreases
the resonant peak, but also causes undesired increase in transmissibility at higher frequencies.
The realistic skyhook control has little effect on high frequency performance.
A significant disadvantage of the classical skyhook control is the excessive body jerk due to
abrupt switching of damper force on and off.
12.11.2 Groundhook-Skyhook control
The ideal, theoretical version this type of control can be represented by two dampers - each between
a reference plane and one of the two masses of the quarter vehicle suspension. This control algorithm
combines the skyhook algorithm with the groundhook algorithm studied in detail in [59].
A realistic form of the control for use with a semiactive actuator is described by Eq 161.
172
Figure 94: Semiactive standard skyhook control surface.
Figure 95: Ideal skyhook vs realistic skyhook using a semiactive damper with nonzero minimaldamping.
173
Figure 96: Realistic Skyhook controller frequency response.
Fcontrol semiactive =
⎧⎪⎨⎪⎩ Flinear requested −Flinear requestedYBW ≥ 00 −Flinear requestedYBW < 0
(161)
Flinear requested = Fskyhook + Fgroundhook
Fskyhook = KY b YB
Fgroundhook = KY w YW
The Simulink representation of the algorithm is shown in Fig 97. The displayed coefficient
values are a result of optimization that minimizes the criterion PC1 when the default road profile
is applied and the controller is coupled with the linear suspension model from Eq 151.
12.11.3 State space feedback control
A full state space feedback based on the state space form of Eq 151 is used. The linear state space
controller is augmented for use with a semiactive actuator.
Fcontrol semiactive =
⎧⎪⎨⎪⎩ Flinear requested −Flinear requestedYBW ≥ 00 −Flinear requestedYBW < 0
(162)
Flinear requested = KY b YB +KY b∆YB +KY w YW +KY bw∆YBW
174
Figure 97: Simulink model of semiactive skyhook-groundhook controller.
175
Figure 98: Simulink model of semiactive state space feedback controller.
where ∆YB and ∆YBW are the deviations of body elevation and body to wheel distance from
their equilibrium values. The Simulink representation of the algorithm is shown in Fig 98. An LQR
control optimal tuning was initially investigated for this full state control feedback, but proved
unsuitable for the nonlinear, semiactive control application. Subsequently an optimization based
on numerical simulation and the minimization of criterion PC1 was used. The displayed coefficient
values are a result of optimization that minimizes the criterion PC1 when the default road profile
is applied and the controller is coupled with the linear suspension model from Eq 151.
12.11.4 Simple comparison of skyhook-groundhook control vs full state feedback con-trol
A simple comparison was performed between the performance of the full state feedback control
and the skyhook-groundhook control as shown in Fig 99. Both controllers were applied to a linear
model of the quarter vehicle suspension from Eq 151 and subjected to the selected default profile in
Fig 70. The coefficients of the controllers were optimized to minimize the value of the criterion PC1
176
Figure 99: Test of closed loop linear system using performance criterion PC1
from Eq 145. The resultant coefficient and performance criterion values are shown in Fig 97 and 98.
Despite the differences in coefficient values the optimal achievable performance criterion values were
very similar: 5275078.3 for the full state space control vs 5275212.4 for the skyhook-groundhook.
The difference was in the fourth significant digit and had little practical significance.
Further comparison in the frequency domain indicated that the PSD curves of body elevation YB
and especially body acceleration YB also were quite similar as can be seen in Fig 100 and 101. Thus
after double-checking the results - the author decided to use the skyhook-groundhook or simpler
(skyhook only) algorithms for further experiments on coefficient optimal tuning and jerk mitigation.
This reduction of the number of tunable coefficients was also needed to simplify coefficient tuning
and interpretation of results during the following more detailed research experiments.
The removal of the YBW feedback loop is only for simplifying theoretical research. Even though
it does not seem essential to linear model operation, a nonlinear feedback based on body to wheel
distance YBW can be very useful for preventing of bottoming out of the suspension. As the sus-
pension stop is approached, the damper should be stiffened in order to reduce the risk of actually
hitting the suspension stop. Such feedback will be based on damper length YBW and also the sign
177
Figure 100: Full state feedback vs skyhook-groundhook control - PSD of body elevation (compar-ison of body resonance lower frequency range).
and magnitude of damper velocity YBW . Movement away from the suspension stop should not be
hindered. This precaution becomes more important with the use of a semiactive suspension which
can have softer springs and low residual damping.
12.11.5 On the tuning of skyhook-groundhook control
A study was carried out to identify the influence of skyhook-groundhook controller coefficients on
suspension performance.
12.11.5.1 Tuning for road holding
The influence of controller coefficients values on road holding is studied using the criterion PCFtire roadholding
described in Eq 148. The results are shown in Fig 102 with dark blue regions indicating best perfor-
mance (minimum). It is evident that larger positive values of the groundhook coefficient result in
lower tire forces (dark blue area). Note that in the employed setup, positive values of the ground-
hook coefficient result in negative feedback in the wheel acceleration loop KC_dY w YW . Moderate
values of the skyhook coefficient KC_dY b also slightly improve road holding.
178
Figure 101: Full state feedback vs skyhook-groundhook control - PSD of body acceleration (com-parison of wheel resonsnce high frequency range).
12.11.5.2 Tuning for comfort (measured by body acceleration)
The influence of controller coefficients on comfort is studied using the criterion PCY b comfort de-
scribed in Eq 147. The results are shown in Fig 103 with dark blue regions indicating best per-
formance (minimum). There is an optimal value for the skyhook coefficient beyond which comfort
starts to decrease. The mutually exclusiveness of road holding and comfort becomes very clear
when studying the influence of the groundhook coefficient. Positive values of the groundhook coef-
ficient (good road holding) result in pronounced decrease of comfort (yellow-orange-red area). The
decrease of the groundhook feedback KC_dY w YW from values corresponding to negative feedback
(KC_dY w > 0) not only down to zero, but to mild positive feedback (KC_dY w < 0) yields a cor-
responding slight improvement of comfort. This phenomenon has a simple explanation: When the
wheel encounters a bump it starts moving up YW > 0. To decrease the force Fa > 0 transferred
from the wheel to vehicle body the damper stiffness is decreased. This lowered damper stiffness
decreases the downward damper force on the wheel −Fa and helps to increase the speed of thewheel upward (positive feedback). It should be noted that this positive feedback control loop is
superimposed on the stronger negative feedback of the residual (minimum) damping. Even at the
lowest possible stiffness the damper still exerts some downward force on the wheel counteracting
179
its motion upwards. If the positive feedback is further strengthened (KC_dY w < −450), the wheelbecomes underdamped with long oscillations after a bump and the comfort suffers. This change of
the sign of the groundhook coefficient when changing the priority between road holding and comfort
has not been covered in the literature available to the author and is thus brought to the attention
of the reader. It should be noted that the improvement to comfort by utilizing negative ground-
hook coefficients is not a dramatic one. A switch to Skyhook only control with zero groundhook
coefficient may often be sufficient to achieve good comfort oriented control.
12.11.5.3 Tuning using composite performance criterion
The influence of the controller coefficients on the composite performance criterion PC1 from Eq
145 and Fig 68 is studied. The results are shown in Fig 104 with dark blue regions indicating
best performance (minimum). By comparing with Fig 102 and 103 it becomes obvious that the
criterion weightings are comfort oriented. The contour plot closely resembles the comfort only
criterion plot from Fig 103. The optimal values for the skyhook and groundhook coefficients are
easily identifiable.
12.11.5.4 Tuning for lower body jerk
An additional study was done to evaluate the influence of controller coefficients on the jerk spikes.
These spikes are chiefly caused by the switching of the semiactive control on and off as the damper
working region is entered/exited. The results are presented in Fig 105. The increase of the skyhook
coefficient results in a slight increase of the amplitude of the jerk spikes. In contrast the increase
of the groundhook coefficient (improving road holding) results in marked increase of jerk spike
amplitudes. incidentally the same changes in the groundhook coefficient that improve comfort
through decreasing body accelerations also improve comfort due to decrease of vehicle body jerk
peaks.
12.11.5.5 Tuning for transitioning between road holding and comfort
A study is carried out on the optimal skyhook and groundhook coefficient combinations for various
weights of the composite performance criterion PC1. It allows better understanding of how the
balance various requirements affects the values of the control algorithm coefficients. The main
application would be a controller that dynamically switches priorities between road holding and
comfort. Thirty-three different combinations of performance criterion weightings are selected and
180
Figure 102: Tire force contour plot of skyhook-groundhook control for various control coefficients.
Figure 103: Body acceleration contour plot of skyhook-groundhook control for various controlcoefficients.
181
Figure 104: Performance cirterion PC1 contour plot of skyhook-groundhook control for variouscontrol coefficients.
Figure 105: Body jerk contour plot of skyhook-groundhook control for various control coefficients.
182
an optimal pair of skyhook-groundhook coefficient is found for each of them. The results are
presented in Fig 106 and 107. Note that the two plots are to be only considered together since they
present pairs of optimal coefficient values. The horizontal axis presents a choice between better
road holding or better comfort. Three different lines represent various control effort weightings
from low restriction on control effort to high penalty for large control effort. As can be expected
better comfort requires larger skyhook coefficients and negative groundhook coefficients. Better
road holding conversely requires lower skyhook coefficients and positive groundhook coefficients
(negative feedback in the wheel velocity control loop). To test the validity of the curves and the
reliability of the presented conclusions, a control test is performed with another road profile. The
result is shown on the same plot for comparison.
A supervisory control algorithm can be used to select a point along the curves in Fig 106 and
107. Based on steering, break and gas pedal input, longitudinal and lateral acceleration plus vehicle
speed, a point on the curves is selected representing a balance of comfort and road holding. This
can be combined with anti-dive and anti-squat control under braking and acceleration as well as
body roll control in cornering.
12.12 Summary
Vehicle suspensions exhibit two intrinsic resonances respectively of the body and wheel masses
at approximately 1 and 10 Hz. There are limitations inherent to the suspension control system
design where the control force is exerted between body and wheel. One such limitation is that
there is compromise between achieving comfort or road holding. Another limitation is that body
acceleration control is not possible at the wheel resonance frequency. Semiactive control is quite
efficient in suppressing the body resonant frequency though.
A notable limitation of semiactive control is the inability of semiactive dampers to deliver
outward forces during expansion and inward forces during compression. This leads to interruptions
of control output.
Without special measures semiactive control can cause sudden changes of damper force resulting
in sudden changes of body acceleration. These cause vehicle body jerk spikes.
A comparison of full state feedback to skyhook-groundhook semiactive control shows that there
is no practical difference in performance according to the selected performance criteria.
Optimal tuning of the skyhook-groundhook semiactive control is researched. Optimal coefficient
183
Figure 106: Optimal values of the groundhook coefficient.
184
Figure 107: Optimal values of the skyhook coefficient.
185
curves are determined for various performance criterion weights. These optimal coefficient curves
can be used by a supervisory control algorithm that would dynamically balance the contradicting
needs of comfort and road holding.
186
CHAPTER 13
JERK MITIGATION
This chapter discusses methods to reduce jerk introduced by the semiactive control while preserving
the control algorithm efficiency.
As pointed out earlier, semiactive suspension control is prone to force discontinuities that in
turn cause jerk spikes and thus adversely affect comfort. For that reason the discussed suspension
control algorithms are augmented with jerk mitigation features. This chapter presents various
approaches to achieve jerk mitigation.
The purpose of jerk mitigation is to provide the force requested by the original control algorithm
when inside the damper working region while avoiding abrupt changes of actuator force when
entering/exiting that region. This should allow the original control algorithm to perform its function
while introducing a minimal amount of jerk.
For the purpose of classification the author divides the jerk mitigation methods into two groups:
a) level based methods researched by Nobles, Ahmadian, Song, Southward [71], [77], [76], [84], [89]
and b) time based jerk mitigation methods as suggested by the author of this research work.
13.1 General approach to desired force modulation in order tominimize jerk
13.1.1 Force deliverability criterion
It would be convenient to have a ‘force deliverability’ criterion to determine whether the requested
control is in phase with the relative damper velocity YBW and is therefore realizable. A continuously
varying (‘analog’) criterion would not only indicate whether the system is inside the damper active
region, but also how close it is to entering/exiting that region. Ahmadian and Song describe such
continuously varying criterion for a skyhook controller in [77]. Below the author formalizes and
widens the concept of such a criterion to apply to the desired force output of any controller. The
criterion of whether the desired control force is realizable and the active damper region is entered
is defined by Eq 163:
187
Cx(t) = −ForiginalControlYBW (163)
When Cx(t) > 0 , ForiginalControl and the actual damper force Fa are in phase.
13.1.2 Force modulation based on the force deliverability criterion
The force deliverability criterion Cx(t) allows us to measure how close the system is to enter-
ing/exiting the damper active region. This information can be used to modulate the original force
request of the control algorithm:
FaModulated = fM(t)ForiginalControl (164)
where fM(t) is a force modulating function. The force modulating function approaches zero in
a smooth curve as the border of the damper active region is approached fM(t) = f (Cx(t)).
The modulated force is calculated as:
FaModulated =
⎧⎪⎨⎪⎩ fM(t)ForiginalControl Cx(t) ≥ 00 Cx(t) < 0
(165)
The modulated force means a corresponding modulation of the damping coefficient:
BaModulated = −fM(t)ForiginalControlYBW
(166)
When Cx(t) < 0, damping Ba is held at minimum (zero) and the damper force is brought as
close to zero as possible.
The equivalent damping coefficient Ba and its related variable the driving current Idamper are
limited by power limitations as well as the danger that the stiff damper would transmit too much
high frequency harshness. This means that the control algorithm should have a provision for
limiting the requested equivalent damping coefficient.
13.1.3 Definition of static, map-based jerk mitigation methods.
One approach is to implement fM as a static function of only the present value of the damper
relative velocity YBW (t) or possibly a static function of the force deliverability criterion Cx(t) =
−ForiginalControlYBW . These methods are henceforth referred to as static, map-based jerk mitigationmethods. They rely on a static modulation function that is often implemented as a nonlinear
188
Figure 108: Example of static map-based modulation surface applied to skyhook control.
mapping function (lookup table). An example of such a map applied to the discontinuous surface
of standard skyhook control from Fig 94 is shown in Fig 108. Note the lack of discontinuity. Also
note that modulation is applied regardless of the rate of change of the signals YBW and YB. This
means that the rate of change of the transition from high force to zero force will vary. Static,
map-based jerk mitigation methods have been researched thoroughly in [71], [77], [76], [84] and
[89]. Static, map based methods provide the same modulation regardless of the rate of change of
the input signals (here mainly the velocity YBW ). To get a more consistent rate of change from
the force modulation independent of the rate change of the input signals, a time based approach is
needed.
13.1.4 Definition of time based modulation with prediction for jerk mitigation
To minimize jerk a more refined modulation would modify the control signal only during a short
time interval just before/after the active region criterion Cx(t) crosses zero (the damper active
region is about to be exited or has just been entered). This means a soft landing at zero current. It
is relatively easy to generate a force request that starts smoothly from zero and increases henceforth.
A significantly more challenging problem is to start decreasing the requested force in anticipation of
189
the criterion falling to zero. Two processes need to be anticipated: a) the damper may slow down,
stop and reverse, b) the requested force also may decrease and change sign. The main features of
this modulation scheme are that modulation is time based and depends on the use of prediction
or signal derivatives. In the case of ramping control force output after entering the damper active
region, the modulation uses either counting time to reach the nominal force request within a
predetermined time interval or uses rate limiting. All those approaches result in modulation that
can not be expressed as a static function of present signal values. In the following chapters the
author suggests some methods to implement such time based jerk mitigating modulation. There
were very few mentions found in the available literature of such time-based jerk mitigation methods.
Stiller in US Patent 6871731 [75] discusses rate limiting or filtering the overall semiactive controller
output. During early experiments the author came to the conclusion that such radical modification
of control output adversely affects system dynamics and control behavior. It was probably for that
reason that Stiller suggests reducing rate limiting as vehicle speed increases and the demands for
semiactive control performance increase.
Fig 109 shows the idealized, desired behavior of the described modulation. It delivers damper
force when available with smooth transitions to zero force when the damper can not deliver it.
In real time, the prediction of whether and when the damper working region would be exited
can only be made with a certain probability (in simple terms - the chance of zero crossing within
the time horizon is present, but less than 100%). In some cases the control force has to be decreased
as the probability of exiting the damper working region increases. Note how the actual damper
force drops when the “force deliverability” criterion drops close to zero and almost crosses negative
at time 2.755s. One more reason to decrease the actual force is that when the criterion drops close
to zero at that time, this is mainly due to the relative damper speed dropping. High forces cannot
be delivered at very low damper speeds due to the limitations of the damper (limits on coil current,
magnetic saturation, fluid viscosity limits). Also note that it is desirable to smoothly lower the
actual damper force command (red line) to zero slightly before or at the moment when the damper
active region is exited (criterion drops to zero). This is illustrated by the graphics at time 2.62s.
On the graph the RMS value of the modulated, actual damper force is lower than the requested
one. Without some sort of correction, this would result in weaker control action. One way to
deliver sufficient control effort energy is to tune the original controller more aggressively in order
190
Figure 109: Desired modulation of damper force to minimize jerk.
191
to increase requested force values and consequently force actual force values higher. The author’s
experiments resulted in comparable control performance of linear and realistic semiactive control
with ratios KLINEAR/KSEMIACTIV E ∈ [0.6 , 0.8].
13.2 Static jerk mitigation methods
Here static map-based jerk mitigation methods are discussed in detail. A skyhook controller is used
as a basic control algorithm to which jerk mitigation is applied.
13.2.1 Classic No-Jerk Skyhook Control
To avoid excessive jerk, control force requests have to be modulated and lowered to zero as damper
velocity approaches zero. A simple approach to achieve such modulation is to multiply the control
signal by the magnitude of the relative speed Fa = Fdesired |YBW |. This approach is used in the socalled modified skyhook control as described by Ahmadian and Song [76]:
|Fa| ∼ Ia =
⎧⎪⎨⎪⎩ K¯YBYBW
¯YBYBW ≥ 0
0 YBYBW < 0(167)
A generalized formula of this control algorithm is presented by Eq 168. In future discussions
this algorithm is referred to as classic no-jerk skyhook control.
Fa =
⎧⎪⎨⎪⎩ KYBYB
¯YBW
¯YBYBW ≥ 0
0 YBYBW < 0(168)
Fig 110 shows a Simulink implementation of the classic no-jerk skyhook algorithm. The dis-
played coefficient value KY b = −16318 is a result of optimization that minimizes the criterionPC2 when the default road profile is applied and the controller is coupled with the full nonlinear
suspension model.
Fig 111 illustrates the result of the modulation of this modified skyhook algorithm.
Graphically this control algorithm can be presented by the surface in Fig 112. As can be seen
from this 3D surface the resultant control algorithm differs significantly from the standard skyhook
algorithm in Fig 94. In later experiments it was found out that this jerk mitigation algorithm
modifies radically the original control behavior to offer excellent jerk mitigation at the expense of
other performance criteria.
192
Figure 110: Classic skyhook conrtol - Simulink diagram.
193
Figure 111: Standard skyhook control signal plot. Note the smooth transition of the modifiedskyhook algorithm control current.
Figure 112: Surface map a classic no-jerk skyhook controller.
194
Figure 113: Virginia Tech No-Jerk algorithm.
Figure 114: Equivalent control surface of the Virginia-Tech algorithm.
13.2.2 Virginia Tech approach to skyhook jerk mitigation
This approach to jerk reduction is described by US patent 6,115,658 [77]. It describes a way to
reduce the jerk specifically of a Skyhook controller. The method employs a static map (one or two
dimensional table) that decreases delivered damper force as damper speed YBW slows (force can
not be delivered) or body direction of movement YB starts to reverse. The control diagram has the
structure shown in Fig 113.
The Virginia Tech algorithm is equivalent to a nonlinear control law described by the control
surface in Fig 114.
The force modulating coefficient of the Virginia-Tech algorithm is given as:
fM(t) = 1− exp⎛⎝−
¯YBW
¯V0
⎞⎠ (169)
195
Figure 115: Level modulated skyhook - surface map.
Where V0 is a constant shaping the force modulating surface.
A second version of the force modulating coefficient is described as:
fM(t) = 1− exp⎛⎝−
¯YBW YB
¯V0
⎞⎠ (170)
The force deliverability criterion of the Virginia-Tech algorithm can be described asCx(t)=YBW YB
13.2.2.1 Proposed variants of map based jerk mitigation modulation
The author suggests a generalized (and possibly smoother) force modulating function. It is defined
as:
fM(t) = 1− exp (−α |Cx(t)|) exp (−β |Cx(t)|) (171)
Where α and β are complex numbers.
Another possible modulation surface proposed by the author is presented in Fig 115. For the
purposes of further discussion it will be referred to as level-based modulation skyhook.
This jerk mitigation algorithm is implemented by the Simulink diagram in Fig 116.
196
Figure 116: Level modulated skyhook.
197
Figure 117: Smooth transition from zero to one - Simulink diagram.
The contents of the block labeled "Smooth saturation to one" is shown in Fig 117.
For the purposes of real time testing this algorithm is speed optimized by precalculating the
static gradual transition smoothing function into a lookup table. The resultant Simulink model
is shown in Fig 118. The displayed coefficient values of KY b = −1004 and smooth transitionthresholds TrY b = 0.0679 and TrY bw = 0.0592 are a result of an optimization minimizing criterion
PC2 with the full nonlinear suspension model and the default road profile.
The smooth, gradual transition curves of the lookup tables in Fig 118 are identical. They are
calculated using a function proposed by the author in Eq 172.
fsmooth transition(x) =
⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩
³x 2a+1
´n0 < x < aÃ
x
Ãa + x−a
1+(x−a)2(1−a)2
!2
a+1
!n
a < x < 1
1 1 < x
(172)
The smooth, gradual transition lookup table function is shown in Fig 119.
198
Figure 118: Level modulated skyhook. Fast executing variant with precalculated lookup tables.
Figure 119: Smooth transition from 0 to 1 for a = 0.5 and n = 2.
199
The skyhook with level based modulation presented in Fig 118 is described by Eq 173:
FaModulated =
⎧⎪⎨⎪⎩ fM(t)KYBYB YBYBW ≥ 0
0 YBYBW < 0(173)
fM(t) = fM YB(t) fM YBW
(t)
fM YB(t) =
⎧⎪⎨⎪⎩ 1¯YB
¯≥ TrY b
fsmooth transition
³¯YB/TrY b
¯´ ¯YB
¯< TrY b
fM YBW(t) =
⎧⎪⎨⎪⎩ 1¯YBW
¯≥ TrY bw
fsmooth transition
³¯YBW/TrY bw
¯´ ¯YBW
¯< TrY bw
These static map-based control algorithms work well, though they exhibit certain limitations.
They do not take into account the rate of change of YBW and YB. Higher rates of change of YBW and
YB may thus result in noticeable jerk values. In addition the algorithms suppress disproportionately
all force control signals when the value of the signals YBW and YB is low, regardless of their rate of
change and tendency to soon cross zero. An algorithm that takes into account the rate of change
of YBW and YB as well as the sign of that rate of change can offer advantages in jerk control.
13.3 Dynamic time-based force modulation for jerk mitigation
Here dynamic, time-based jerk mitigation methods are discussed in detail. A skyhook controller is
used as a basic control algorithm to which jerk mitigation is applied.
13.3.1 Modulation using filtered boolean criterion "inside the active damper region"
As discussed earlier Stiller et al. in [75] suggests rate limiting or filtering the overall output of the
skyhook control algorithm. This "all time on" filtering of the control algorithm output adversely
affects the control system dynamics. Instead the author here suggests to filter only the switching
command that enables/disables semiactive control action. The advantage is that the main control
action path is not subjected to filtering. The control algorithm is thus described by Eq 174.
200
Fa = Frequested fM(t) (174)
Frequested = KYBYB
fM(s) =
µ1
a1s2 + a2s+ 1
¶CBoolean(s)
CBoolean(t) =
⎧⎪⎨⎪⎩ 1 YBYBW ≥ 00 YBYBW < 0
Once the damper working region is entered/exited the filter output settles at 1/0 and the control
becomes equivalent to the standard skyhook control. This type of jerk mitigation can be applied
not only to skyhook control, but to any semiactive control algorithm. A Simulink implementation
of this algorithm is shown in Fig 120. The displayed filter and coefficient values are a result of
optimization that minimizes the criterion PC2 when the default road profile is applied and the
controller is coupled with the full nonlinear suspension model. Thus filter coefficients were selected
as a1 = 0.000024752 and a2 = 0.0099. while the skyhook coefficient was selected as KYB= −1762.
In further discussions this algorithm will be referred as filtered switch skyhook. A downside of this
approach is the lag in semiactive switching action at the borders of the damper working region
due to the influence of the filter. This causes unwanted forces to be delivered in the direction
opposite the one required as the damper working region is exited and the filter slowly decreases the
modulation signal gradually shutting control off. Also due to this lag the adverse effects described
in Fig 85 are not properly addressed. These factors limit the amount of filtering (magnitude of
filter time constants) that can be used.
13.3.2 Modulation using time from/to enter/exit of the damper active region - pre-diction modulated skyhook
The author proposes below a prediction-based force modulating function. It is described by the
diagram in Fig 121 and is summarized by Eq 175.
201
Figure 120: Filtering the on/off switching of control action as damper working region is en-tered/exited.
Figure 121: General diagram of prediction-based modulation.
202
Figure 122: Predictor of time to exiting the damper active region.
Fa = Frequested fM(t) (175)
Frequested = KYBYB (when using skyhook control)
fM = μ = fsmooth transition(τ)CBoolean
CBoolean(t) =
⎧⎪⎨⎪⎩ 1 YBYBW ≥ 00 YBYBW < 0
Where τ is the time to/from entering/exiting the damper working region and fsmooth transition(τ)
is the smooth, gradual transition function from Eq 172 and Fig 119.
As discussed earlier a force deliverability criterion Cx(t) is calculated indicating whether the
system is within the damper active region. A predictor is used to estimate the time τ1 left until
the damper active region is exited (see Fig 122). A detailed treatment of the topic of prediction
and prediction algorithms is provided in chapter 14.
A time counter is used to count the time τ2 since the damper active region was entered. Those
times are shown as blue lines in Fig 123 and Fig 124. Time to/from zero crossing (if properly
determined) is a linear function. A smooth transition is desirable in order to produce modu-
lation signals (and forces) without abrupt changes to the first derivative. Based on the time
τ to/from entering/exiting the damper active region a force modulation function is calculated
fM(t) = fsmooth transition (τ(t)). The control force signal is then modulated so that it smoothly
reached zero at the moment the border between the active and inactive damper region is crossed
(see red line in Fig 123 and Fig 124). The dynamic property of the algorithm comes from the
203
Figure 123: Time to exiting the damper active region and force modulation.
fact that the predictor takes into account the speed and acceleration of the criterion Cx(t) as it
approaches a zero crossing.
Since accurate prediction of zero crossing can not always be guaranteed, a backup mechanism
is introduced in the form of a light filtering or rate limiting of the gradual transition modulation
function fM(t) as given by Eq 175. It should be noted that here the lag introduced by the filtering of
the modulation signal is to a large part compensated by the significant phase lead of the prediction.
In this respect, if a strong filter action is selected with sufficiently large time constants, the applied
prediction can be regarded a special case of lead circuit minimizing the filter lag. Note that the
applied filtering affects only the modulation channel and not the main control loop. As a result the
high frequency dynamics of the control system is affected much less in comparison with the case
when filtering is applied to the overall force output of the control algorithm.
204
Figure 124: Time since entering the damper active region and force modulation.
Fa = Frequested fM(t) (176)
Frequested = KYBYB (when using skyhook control)
fM(s) =
µ1
a1s2 + a2s+ 1
¶fM predictionunfiltered(s)
fM prediction unfiltered = fsmooth transition(τ)CBoolean
CBoolean(t) =
⎧⎪⎨⎪⎩ 1 YBYBW ≥ 00 YBYBW < 0
On Fig 125 is shown the top level Simulink diagram of a skyhook control with prediction based
jerk mitigation.
On Fig 126 is shown the internal implementation of the prediction based jerk mitigation.
Fig 127 shows a faster implementation of the same prediction based jerk mitigation. It uses a
lookup table to provide the smooth, gradual transition between 0% and 100% modulation.
The proposed time-based prediction modulation can be applied to various semiactive control
algorithms. Fig 128 shows an application to the jerk mitigation of a skyhook-groundhook algorithm.
205
Figure 125: Prediction modulated skyhook - Simulink diagram (top level).
Figure 126: Prediction modulated skyhook - prediction modulation subsystem.
206
Figure 127: Prediction modulated skyhook - prediction modulation subsystem fast implementationwith lookup table.
Figure 128: Prediction modulated Skyhook-Groundhook - Simulink diagram.
207
13.4 Influence of jerk mitigation modulation on control force wave-forms
The goal of jerk mitigation is to prevent any fast changes of the semiactive control algorithm re-
quested force while preserving the force waveform. Fig 129, 130, 131, 132 and 133 demonstrate the
effects of jerk mitigation modulation on the algorithm requested control force. The plots are results
of simulations with the full, nonlinear model and a skyhook controller with various jerk mitiga-
tion algorithms and the default road profile. Fig 129 allows easy comparison between level based
modulation and prediction modulation time-based modulation. A plot of the standard skyhook
(unmodulated) force is provided for reference. All algorithms use the same skyhook coefficient.
The outputs of both the time prediction and the level based modulation are very lightly filtered by
a second order filter with very small time constants to provide further smoothing. Note that the
level based skyhook requests disproportionately lower output forces for lower unmodulated force
levels. Compare the level based modulation algorithm behavior at time 3.8s (below the modulation
threshold) and 3.9s (above the modulation threshold). The level prediction algorithm does not
suffer from this problem. It is capable of delivering even rather low unmodulated forces as long as
the interval during which the damper is within its working region is sufficiently long.
Fig 130, 131, 132 and 133 demonstrate the behavior of an optimally tuned prediction modulated
skyhook controller versus a standard skyhook controller. Performance criterion PC2 is used in the
tuning of both algorithms (imposes penalty for large jerk spikes). Note how the standard skyhook
algorithm had to be drastically detuned in order to confine the jerk spikes.
Fig 131 shows the same setup, but with filtering added as described in Eq 176 and Fig 126.
The need of filtering becomes apparent from the requested force waveform in Fig 132. The
oscillation at time 6.61s is caused by momentary error of the zero crossing prediction.
Fig 133 shows the beneficial effect of filtering the output of the jerk mitigation algorithm. This
is the same waveform as in Fig 132 but with filtering applied.
13.5 Effect of jerk mitigation on control performance
Special jerk mitigation measures can reduce the vehicle body jerk peaks with the goal of improv-
ing overall passenger comfort. The jerk mitigation here is perceived as an add-on algorithm that
can modulate various existing suspension algorithms. This modulation by its very nature though,
208
Figure 129: Comparison of control forces from various jerk mitigation algorithms.
209
Figure 130: Control force of prediction modulated skyhook - low signal.
210
Figure 131: Control force of prediction modulated skyhook with additional filtering - low signal.
211
Figure 132: Control force of prediction modulated skyhook - large signal.
212
Figure 133: Control force of prediction modulated skyhook with additional filtering - large signal.
213
changes the dynamics of the original algorithm. A series of experiments was carried out that demon-
strated that there is a trade-off between reduction of vehicle body jerk peaks by jerk mitigation
and reduction of RMS acceleration. The findings of this study are summarized in Fig 134, 135, and
136. The study compares a standard skyhook controller to a skyhook controller with prediction
modulated skyhook. A linear suspension model is used with the default road profile. Fig 134
demonstrates that there is a penalty for applying jerk mitigation. Both the standard skyhook and
the skyhook with jerk mitigation improve the RMS acceleration in comparison with the passive
suspension. The improvement with jerk mitigation are about 13% lower than with the standard
skyhook. On the other hand as shown in Fig 135, jerk mitigation offers significant improvement in
reducing jerk peaks. Jerk mitigation results in 88% less increase of undesired jerk in comparison
with standard skyhook. The increase is measured over the measure of the jerk peaks for a passive
suspension. This demonstrates the advantage of using jerk mitigation. Comfort is improved due
to significant reduction of vehicle body jerk while suffering relatively small penalty in increase of
acceleration. In short: all else being equal - semiactive suspension control increases jerk, but also
drastically improves body RMS acceleration. With the use of jerk mitigation, body jerk can be
significantly decreased. Semiactive control allows the use of dampers with low minimal (residual)
damping. An optimally tuned passive suspension would require the use of higher damping. As a
result of this higher damping of the passive suspension, a suspension with semiactive control and
good jerk mitigation can actually produce even lower jerk than a passive one.
Jerk mitigation seems to have little effect on road holding at least as far as the comfort oriented
skyhook control is concerned - see Fig 136. A study with a skyhook-groundhook control may reveal
further insights.
Jerk mitigation is best suited to algorithms with continuous output (except for the switching
on and off when entering/exiting the damper working region). Algorithms that are very sensitive
of damper high frequency dynamics and use it to frequently switch their internal structure suffer
greater decrease of performance. The two examples of such algorithms studied were a sliding control
algorithm and the variable structure skyhook/acceleration feedback (ADD) algorithm described in
[82]. In addition to being ill suited to jerk mitigation, both algorithms tended to introduce very
large and frequent jerk spikes in comparison with the standard skyhook controller and were thus
eliminated from the study early on.
214
Figure 134: Comparison between skyhook algorithms with and without jerk mitigation - bodyacceleration.
Figure 135: Comparison between skyhook algorithms with and without jerk mitigation - bodyjerk.
215
Figure 136: Comparison between skyhook algorithms with and without jerk mitigation - tire force.
13.6 Comparison of jerk mitigation algorithms
A comparison of jerk mitigation algorithms was performed. Four different jerk mitigation algorithms
were used. A skyhook controller was used as a basic control algorithm to be modulated by the four
jerk mitigation algorithms. The controller was coupled with the full nonlinear suspension model as
see in Fig 27. The selected real world road profiles were applied to the system. The default road
profile is used unless otherwise specified. The control algorithm parameters were tuned to minimize
the performance criterion PC2. The compared algorithms were as follows:
1. Standard skyhook controller without jerk mitigation - see Fig 93 and Eq 160.
2. Prediction modulated skyhook - Fig 125, Fig 127 and Eq 176.
3. Filtered switch skyhook - Fig 120 and Eq 174.
4. Level modulated skyhook - Fig 118 and Eq 173.
5. Classic no-jerk skyhook - Fig 110 and Eq 168.
To provide reference to the comparison the following algorithms are added to some comparisons.
216
• Passive suspension - with damping optimally tuned to minimize the PC2 performance crite-
rion. Note that this results in damping higher than the minimum, residual damping of the
de-energized semiactive damper.
• Skyhook-groundhook controller with prediction modulation Fig 97, Eq 161. This was addedto demonstrate the use of the prediction based jerk mitigation modulation on a controller
other than the traditional skyhook. Note that the tuning is largely centered on improving
comfort. Experiments with tuning for high performance in road holding were not included in
this report.
The optimal values of the algorithm parameters minimizing the performance criterion PC2 are
listed on the corresponding figures.
13.6.1 Comparison in the frequency domain
A comparison in the frequency domain is performed. Fig 137 presents a general view of the power
spectrum density of vehicle body acceleration when each of the jerk mitigation methods is applied.
The PSD curves are lightly filtered with a moving window of length 5 counts to simplify the visual
comparison of the noisy plots.
In order to keep the jerk peaks noise down, the standard skyhook controller had to be tuned
down significantly. As a result the acceleration at the body 1Hz resonance is not as well contained.
On the other side its weaker semiactive control action results in lower harmonics in the area of 2
to 7Hz (especially at 2Hz and 4Hz). Interestingly the level modulated skyhook offers very good
performance above the body resonance to be exceeded only by the weakly tuned standard skyhook
controller.
Fig 138 presents a detailed view of the low frequency portion of the PSD plot. note that both
Fig 137 and 138 use logarithmic PSD scale making the differences appear less prominent.
Fig 139 presents a detailed view of the low frequency region of the PSD curves. Here a linear
scale is used for the power spectrum density (unlike the log scale of Fig 137 and 138 ). No filtering
is necessary as only few points are presented and the plot has fewer spikes. The linear scale allows
easy comparison of the levels of acceleration power spectrum density. The difference in performance
between the best and the worst algorithm results is nearly two times . The plot indicates that the
prediction modulation skyhook offers best performance for reducing acceleration at body resonance.
217
Figure 137: Power Spectral Density of vehicle body acceleration - log scale, light filtering.
Figure 138: Power Spectral Density of vehicle body acceleration. Body resonance frequency rangewith log scale and light filtering.
218
Figure 139: Power Spectral Density of vehicle body acceleration. Body resonance frequency rangewith linear scale and no filtering.
It is followed closely by the filtered switch skyhook method, though that one suffers from higher
level of disturbances in the frequency band surrounding 2Hz.
13.6.2 Comparison using integral performance criteria
A comprehensive comparison in the time domain is performed using integral performance criteria.
All seven algorithms are compared using all three test road profiles. In addition to the composite
integral criterion PC2 the individual components of that criterion (body acceleration, jerk and tire
force) are also compared, as well as rattle space and the amplitude of vehicle body oscillations.
A simulation is run for each algorithm with each of the three test road profiles. An example of
the resulting simulation plots is given by Fig 140, 141, 142 and 143. These are the plots for the
prediction modulated skyhook and the default road profile.
In the end visual examination and comparison of the simulation plots turned out too cumber-
some. The plots were rather noisy which made plotting them on top of each other for comparison
impractical. The integral performance criteria were significantly easier to compare. Fig 144, 145,
146, 147, 148 and 149 present bar graph plots of various criteria. The data from the tests with
all three road profiles is combined on a single plot for each criterion. The results from the default
219
Figure 140: Vehicle body jerk...Y B. Skyhook controller with prediction based jerk mitigation.
220
Figure 141: Body elevation YB. Skyhook controller with prediction based jerk mitigation.
221
Figure 142: Body to wheel distance YBW . Skyhook controller with prediction based jerk mitigation.
222
Figure 143: Tire force FN . Skyhook controller with prediction based jerk mitigation.
223
profile are at top of the figure, from profile 2 - in the middle and from profile 3 - at the bottom.
Fig 144 presents the composite performance criterion PC2 by Fig 69 and Eq 146. Note that
the algorithm coefficients were optimized for the first road profile (top group of bar graphs). With
the default profile - the prediction based modulation skyhook offers the best performance, followed
by the filtered switch skyhook. It is interesting to note that the standard skyhook is about as
good as an optimally tuned passive suspension. This is due to the jerk penalty of the employed
performance criterion. The skyhook-groundhook algorithm with prediction based jerk mitigation
exhibits similar performance to the prediction based skyhook version. This is due to the heavier
stress in the selected performance criterion weightings on comfort and lighter ones for road holding.
Road profile 2 subjects the system to high frequency, nearly random disturbances. The selected
skyhook control offers improvement over the passive suspension in all cases. Interestingly, in this
case no jerk mitigation algorithm offers great advantage over the standard skyhook control (no
jerk mitigation). The reason is that none of the jerk mitigation algorithms is very good with
high frequency disturbances. This is confirmed by the larger jerk experienced with road profile
2 (see the middle group of bar graphs in Fig 146). Road profile 3 subjects the system to lower
frequency disturbances. As a result most algorithms are undertuned for this situation. The time
based modulation algorithms (prediction based modulation and filtered switch modulation) slightly
outperform the level based modulation algorithms (classic no-jerk skyhook and level modulated
skyhook).
Fig 145 presents a comparison of the algorithms using the RMS body acceleration as criterion.
It reflects the efficiency of the control algorithms to suppress vehicle body movements. This can
be seen by the similarity with the body deviation results in Fig 149. During earlier experiments
(see Fig 134) it was found that the closer the modulated control is to the original skyhook and the
higher the skyhook coefficient is tuned - the lower (better) is the resultant body acceleration. This
is where the advantage of the prediction modulation becomes apparent. Its efficient jerk mitigation
allows higher tuning of the control coefficient without causing excessive jerk peaks. Compare this
with the standard skyhook controller which had to be seriously detuned in order to avoid large jerk
peaks and thus comes here last of all semiactive control algorithms. The classic no-jerk skyhook
modulation is very efficient in jerk mitigation but modifies the skyhook control so much that it loses
the acceleration competition. It performs best though with the high frequency, small amplitude
224
Figure 144: Composite performance criterion of supension control PC2
225
disturbances of road profile 2. Interestingly the filtered switch skyhook offers the best performance
with the large smooth bumps of road profile 3. One reason may be that jerk mitigation needs to be
performed less frequently with large, low frequency disturbances as the wheel movement direction
reverses a little less frequently. The filtered switch skyhook has the closest resemblance to the
original, standard skyhook control. This may have contributed to its good results.
Fig 146 presents a comparison of the jerk mitigation ability of the algorithms using the sum
of the largest 8 jerk peaks as criterion. The prediction modulation offers very good results in
jerk mitigation. This is only to be expected from such an elaborate algorithm with computational
effort on average 6 times larger than the other algorithms (see Fig 150). As can be expected the
passive suspension results in low peak jerk levels. The semiactive algorithms with jerk mitigation
outperform the passive suspension on Road profile 2. The reason is that they use lower default
(minimal, residual) damping value. As the disturbances are low in amplitude and high in frequency
the vehicle body responds with very weak oscillations (see Fig 149). The resultant control action is
correspondingly weak causing little increase of damping. The passive suspension on the other hand
has a higher fixed damping that was tuned for a different road profile. As a result it transfers higher
jerk peaks to the vehicle body. In the case of road profile 2 - detuning of the control algorithms or
lowering the minimal (residual) damping may be beneficial. The classic no-jerk skyhook offers on
average the second best good jerk mitigation for the three road profiles.
Fig 147 and 148 present comparison of respectively tire force and rattle space variations. Both
are related to road holding. Low tire force variations are directly related to better road holding
while lower wheel to body movements (rattle space) results in better positioning of the wheel with
respect to the road (camber angle and inward/outward scrubbing) and thus also improves the road
holding. The filtered skyhook controller (the closest thing in this comparison to a high coefficient
standard skyhook) offers the best road holding performance. The standard skyhook is tuned too
low to be able to compete successfully.
Fig 149 presents a comparison of the body oscillation amplitudes (RMS of body deviation).
The results are similar to the body acceleration comparison in Fig 145.
13.6.2.1 Comparison of computational effort on a production purpose embedded hardware
An evaluation of the required computational resources needed to execute each algorithm was per-
formed. The study used a common commercially available microcontroller - MPC 5554 by Freescale
226
Figure 145: RMS of vehicle body acceleration.
227
Figure 146: Sum of the 8 largest body jerk peaks.
228
Figure 147: RMS of tire force variations.
229
Figure 148: RMS of body to wheel deviation.
230
Figure 149: RMS of body elevation deviation.
231
semiconductor. An Axiom branded evaluation board was used. It had 128Mhz internal clock. Data
was stored in the external 512Kb SRAM memory. Code was flashed to the internal 2Mb FLASH
ROM memory. The compiler used was a Green Hills v4.2 compiler for the Freescale 5500 family.
Floating point code was generated with one exception where int32 fixed point code was used to test
an experimental implementation of the prediction modulated skyhook. To make the comparison
more realistic the input processing (filtering of all signals and integration of the body acceleration
signal) was included for all algorithms. RAM data (buffer size of the predictor in the prediction
modulation skyhook) and constant data (lookup tables in level modulation and prediction modu-
lation algorithms) were not optimized and are thus not compared. The results are presented in Fig
150, 151 and 152. The prediction modulation requires on average 6.25 times more computational
effort than the other algorithms. It is also interesting to note the in spite of the highly efficient
floating point unit built into the Freescale 5554 microcontroller it still takes 1.46 times longer to
calculate the algorithm using float32 data type variables compared with a fixed point implemen-
tation using int32 variables. The development and debugging of the fixed point code required a
major effort though. The prediction algorithm uses an efficient least squares algorithm which tends
to use both very large and very small values. This makes the scaling of the fixed point code rather
difficult. the code size of the fixed point code is 1.56 times larger than the floating point code. this
is mainly due to the rescaling operations (usually implemented as shifts).
The practicality of the proposed algorithms is evaluated by Fig 151. It presents the best sample
rate achievable by a controller running four copies of the algorithm (one for each of the four wheels)
plus some time allocated for system overhead. As can be seen by the results the achievable sample
rate is at least 13 times higher than the 1KHz sample rate quoted by Delphi for their Magneride
semiactive control system [29].
13.6.3 Comparison summary
All studied jerk mitigation methods perform their task adequately. The proposed prediction based
jerk mitigation method achieves on average the best performance by keeping jerk low while intro-
ducing minimal changes in the original control signal waveform amplitude, shape and phase, and
thus maintains good acceleration control. If jerk mitigation is outweighed by the need to keep body
acceleration down, the filtered switch modulation algorithm also offers very good performance with
the added advantage of very simple implementation, fast calculation and easy tuning.
232
Figure 150: Execution time of suspension algorithms (one wheel only).
Figure 151: Execution time of suspension algorithms for complete four-wheel control system.
233
Figure 152: Code size of suspension algorithms.
13.7 Summary for jerk mitigation
1. Low vehicle body jerk levels are required for passenger comfort. Semiactive suspension control
algorithms introduce specific interruptions in damper control force. Special measures are
needed to avoid force jumps that cause jerk spikes. These measures are implemented by
jerk mitigation algorithms that make sure that no sudden force changes are requested by the
control algorithm.
2. A common jerk mitigation approach is to modulate the control force request signal after it
was calculated by the semiactive algorithm. There is a difference between the original control
algorithm control request and the actual force request produced after the jerk mitigation
modulation is applied.
3. A study is performed on how jerk mitigation affects various performance criteria of semiactive
control algorithms.
4. The standard approach to jerk mitigation is to use static modulation usually based on the
current value of the strut velocity signal. Such methods are called here “static, map-based”
methods.
234
5. A novel approach to jerk mitigation is suggested that uses time based modulation. Such
modulation limits the intervention of the jerk mitigation algorithm to a short time interval
surrounding the reversal moment of the damper.
6. A sophisticated time based jerk mitigation algorithm is proposed that relies on prediction of
the moment of damper reversal.
7. A simple time based algorithm is proposed that applies filtering only to the jerk semiactive
on-off switching command (in contrast to filtering the final control request.
8. A variation of a static, map-based jerk mitigation method is proposed with special surface
formula.
9. An extensive comparison of the performance and execution effort of five jerk mitigation algo-
rithms is performed.
235
CHAPTER 14
PREDICTION OF DAMPER FORCE REVERSALS
This chapter discusses various methods for estimating future values of the damper speed YBW of
the quarter vehicle suspension. Of particular interest is the time from the current moment till an
estimated reversal of the damper - when YBW crosses zero and changes sign. The prediction of this
event is needed in order to implement efficient force modulation for jerk mitigation. This prediction
of the time to zero crossing of YBW is used by the prediction based modulation algorithm for jerk
mitigation (See Eq 176 and Fig 127 from chapter 13).
14.1 The System
The closed loop system consists of:
1. The quarter vehicle plant as shown in Fig 153 with open loop state space equations (178) and
(179).
2. The control system that measures YB and YBW and applies control force F = Fa by controlling
the semiactive actuator’s stiffness Bp. For the purposes of control the control system can
derive estimates of the signals YBW , YB, YB. The sign of the control force is determined and
limited by the sign of the damper velocity YBW (limitations of the bilinear system).
3. The variations of the road elevation YR are considered hard to estimate, unpredictable dis-
turbance.
The continuous time state space equations are:
x =
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YBW
YBW
⎞⎟⎟⎟⎟⎟⎟⎟⎠(177)
236
Figure 153: Quarter vehicle suspension
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YBW
YBW
⎞⎟⎟⎟⎟⎟⎟⎟⎠=
⎛⎜⎜⎜⎜⎜⎜⎜⎝
0 0 −BPmB
−KPmB
1 0 0 0
0 KWmW
−BP (mB+mW )mBmW
−KP+KWmW
− KPmB
0 0 1 0
⎞⎟⎟⎟⎟⎟⎟⎟⎠
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YBW
YBW
⎞⎟⎟⎟⎟⎟⎟⎟⎠
+
⎛⎜⎜⎜⎜⎜⎜⎜⎝
1mB
0
1mB
+ 1mW
0
⎞⎟⎟⎟⎟⎟⎟⎟⎠Fa +
⎛⎜⎜⎜⎜⎜⎜⎜⎝
0
0
−KWmW
0
⎞⎟⎟⎟⎟⎟⎟⎟⎠YR (178)
Or in short form:
x = Ax+B Fa + LYR (179)
The state vector is chosen such that all state variables are measurable with sensors without
the need of a complex observer. This state space model is discretized for use in fixed sample time
simulation.
14.2 Quick review of Jerk Mitigation Strategy
1. Predict the time to reversal of YBW or requested control force Fa.
2. If there is a reversal of YBW or Fa within the prediction horizon — implement jerk mitigation.
3. Prediction of the road surface disturbance (variations of YR) is not possible. It is thus assumed
that YR = 0 in the prediction interval.
237
In summary: if the unmodulated control algorithm is projected to produce jerk — then jerk
mitigation is implemented.
14.3 The Prediction Goal
The goal is to predict:
1. The moment of reversal of the relative body-to-wheel motion (YBW changes sign and crosses
zero). Taking action in advance of the reversal moment is important to mitigate high jerk
spikes.
2. Sudden jumps or drops of the calculated control signal. Such abrupt changes normally happen
only when the damper active region is entered or exited due to reversal of YBW and are covered
by the previous point. Abrupt changes of the control signal calculated by the original control
algorithm (before the limitation of the bilinear system are applied) are less likely. This is
because most control algorithms would use a linear or smoothly nonlinear feedback from the
measurements of the smoothly varying system states.
The precise absolute positions of the wheel or body are irrelevant. Any offsets or small drifts of
those values are unimportant. The important parameter is the moment of reversal of the relative
body-to-wheel movement YBW . This makes the precise prediction of the sign of the velocity YBW
the key goal in this prediction.
14.4 Prediction Using State Space Model and Current State Mea-surements or Estimates
The strategy of this prediction approach is to measure/estimate the states of the system and then
simulate the natural undisturbed motion of the closed loop system in the future. This simulation
would be used for prediction. It turns out that all but one of the system states are directly
measurable (YBW , YBW , YB). The only one that is not accurately measurable and has unknown
offset is the body position YB. As discussed earlier the offset of YB is little importance in this case.
The strategy can be summarized as follows:
1. Obtain the latest measured (and lightly filtered) values of YBW , YBW , YB. Assume YB = 0.
238
2. Simulate the natural motion of the closed loop system. That system comprises linear quarter
vehicle suspension as described by Eq (178) and a simplified control algorithm without jerk
mitigation.
3. Within the prediction time horizon check if there is a sign reversal of either the requested
control force Fa or of the body to wheel velocity YBW .
This prediction relies on the discrete time state space model of the system and the knowledge
of the last state vector.
A suitable state vector choice as described earlier is:
x =
⎛⎜⎜⎜⎜⎜⎜⎜⎝
YB
YB
YBW
YBW
⎞⎟⎟⎟⎟⎟⎟⎟⎠(180)
The discrete time state space equation of motion is (181). Note that the matrices A and B here
are different from their continuous time counterparts in equation (178).
xk+1 = Axk +B uk (181)
This equation already provides an estimate of the future state xk+1. The prediction for the
state vector in the next time step k + 2 can be recursively obtained as:
xk+2 = Axk+1 +B uk+1 (182)
In explicit form it will be:
xk+2 = A2 xk +AB uk +B uk+1 (183)
The explicit solution of the state vector prediction for the period from k to k+n is as described
by [91]:
239
⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝
xk+1
xk+2
xk+3
...
xk+n
⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠=
⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝
A
A2
A3
...
An
⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠xk +
⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝
B 0 0 · · ·AB B 0 · · ·A2B AB B
......
......
...
An−1B An−2B An−3B · · ·
⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠
⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝
uk
uk+1
uk+2
...
uk+n−1
⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠(184)
Or in short form:
xn = Pxx xk +Hx un (185)
Where xn are predicted future state values and un are future control inputs.
The future values of the control signal uk+i are needed. If the control algorithm is nonlinear,
it can not be included in the linear state space formula 184. In that case an iterative simulation
approach may be more applicable using equations 181, 182 and so on till the end of the prediction
period k + n. The nonlinear control algorithm fcontrol(x) can then be calculated externally to the
plant equations:
uk = fcontrol(xk) (186)
The prediction would be achieved by iteratively calculating the equations:
xi+1 = Axi +B ui (187)
ui = fcontrol(xi)
Where i ranges from k to k + n. This is equivalent to a digital simulation of n steps ahead at
every real time step starting from the current state estimates.
See Fig 154, 155, 156 and 157 for a graphic diagram representation.
Remark: It should be noted that a common definition of prediction is a process that uses
past inputs and outputs plus future (expected or planned) inputs to predict future outputs. When
initial conditions in the form of the last state vector are used instead of previous inputs and outputs
we are usually talking about simulation. It can be said that the method above performs prediction
via simulation. The selected approach relies on direct measurement of the state vector. In case of
a real world noisy measurement in the author’s opinion either sophisticated filtering needs to be
implemented or some kind of an observer.
240
Figure 154: Model based prediction - general Simulink diagram. Note the n-step predictor in thecenter.
Figure 155: n-step predictor with closed loop system model on the left, and YBW zero crossingdetection on the right.
241
Figure 156: Discrete time model of the suspension. This is used as plant model in the closed loopsystem model of the n-step predictor.
Figure 157: Simplified semiactive controller. This is the controller in the closed loop system modelof the n-step predictor.
242
Figure 158: Model based prediction with filtering - general Simulink diagram. The filter is on theleft and the n-step predictor is on the right.
14.4.1 Performance
This prediction algorithm provided good short term prediction of future system states during
tests. The downside was the complex algorithm with many tunable parameters, relatively large
computational effort and somewhat lower noise resistance of the selected implementation.
14.5 Prediction Using State Space Model and filtered state Mea-surements or Estimates
This strategy (presented in Fig 158) is very similar to the already described strategy of "Prediction
using state space model and state measurements." It strives to improve noise rejection by adding
state space vector filtering to the previously described method from Fig 154.
The author experimented with a filtering algorithm using a simplified observer with carefully
selected poles. A linear model of the closed loop system is used. This closed loop model is forced
to follow the measured noisy states by a negative feedback. The feedback applies corrective input
whenever the model states deviate from the measured, noisy states. The closed loop system model
is unable to follow the noisy input exactly and does this with certain lag. In this way a filtering
action is introduced. The states of the system model are the filtered state output. The strength of
243
the observer feedback controls the filter poles. See Fig 160 for details.
In order to be able to apply a standard pole placement procedure, a linearized version of the
closed loop suspension control system is needed. This allows to calculate the values of the filter coef-
ficients K_filter in Fig 160 (Kfilter in Eq 189). The nonlinear element in this setup is the semiac-
tive controller. For the purposes of linearization the Controller in Fig 160 ( fcontrol(x) in Eq 187)
is assumed a linear proportional control with coefficient vector KLinear Control = 0.8KSemiActive.
The transition matrix of the equivalent linear closed loop control system assumed for the pole
placement purposes is thus described by Eq 188.
AClosedLoop = AOpenLoop +BOpenLoopKLinear Control (188)
The linear observer (filter) whose poles are being placed is described by Eq 189. Again note
that this linear form is used only to calculate the coefficient Kfilter.
xfiltered = AClosedLoop xfiltered +Kfilter (xmeasured − xfiltered) (189)
The matrix AClosedLoop in Eq 188 and Eq 189 is the transition matrix of the closed loop suspen-
sion control system (including the linearized controller). The matrices AOpenLoop and BOpenLoop
are the matrices A and B from the continuous time state space equations of the quarter vehicle
suspension as described by Eq 179.
The structure of the filtering algorithm is also analogous to the structure of a Kalman filter. See
the diagram of a Kalman filter in Fig 159 as presented by [95]. Note the portion of the diagram in
the thin dark gray dashed line rectangle in Fig 159 and compare with the filter used by the author
in Fig 160. In our case the system model that is used for filtering is the model of the closed loop
semiactive control system described by Eq 187.
Unlike the sophisticated selection of the feedback gain Kt employed by the Kalman filter in Fig
159, the author here uses a simple pole placement technique that a designer of a classical state
space system observer would use (see Fig 160). The feedback coefficient is denoted as Kt in Fig
159 and K_filter in Fig 160. It is clear that this is an inferior solution compared to a real Kalman
filter. A filter with minimal lag was needed and the described setup was deemed satisfactory - one
of many possible solutions. The diagram representing the filter is shown in Fig 160. The controller
subsystem in Fig 160 is same as the one presented in Fig 157. It is linearized for the purposes
244
Figure 159: Diagram of Kalman Filter by Prof. Stephen Boyd, Stanford University [95].
245
Figure 160: Filter of measured state vector - design with pole placement in continuous time sdomain.
of pole placement with linearized gain 80% of the nonlinear semiactive control gain KC from Fig
157. That 80% equivalence linearization factor was arrived to experimentally while searching for a
linear gain that would minimize the RMS of the difference between the body accelerations of the
nonlinear and linearized models.
The filtering algorithm in Fig 160 is a continuous time model. To simulate it in discrete time and
optimize calculation efficiency the linear portion was discretized (that includes everything shown
in Fig 160 except the nonlinear semiactive controller). The resultant Simulink diagram is shown in
Fig 161.
14.5.1 Performance
The prediction algorithm with filtering provided good short term prediction of future system states
with improved disturbance filtering. The downside was an increasingly complex algorithm with
many tunable parameters and relatively large computational effort.
246
Figure 161: Filter of measured state vector - discrete time implementation optimized for fastexecution.
14.6 Prediction Using Enhanced Derivatives - Polynomial Fit andExtrapolation
As discussed earlier the goal is to predict reversal of the body-to-wheel damper motion YBW . This
is equivalent to zero crossing of the derivative YBW . A derivative of a signal can be used to predict
future values of that signal. Using higher order derivatives and sophisticated filtering a better
prediction can be made.
The information conveyed by the derivative of a signal is closely related to the information
conveyed by a polynomial fit for that signal. A first order derivative dx/dt is equivalent to a
linear approximation. Adding second order derivative d2x/dt2 would add information for the signal
curvature - information also conveyed by a second order polynomial fit. In this manner it can be
said that an extrapolation of a polynomial fit to predict future signal values is similar to using
derivatives for prediction. Using many points back to produce a polynomial fit can be considered
similar to the signal filtering when calculating a derivative. Giving the latest data points more
weight is equivalent to the way time based IIR filters "forget" older time points. Unlike linear,
time based filters the polynomial fit is not explicitly based on a consecutive time sequence. Input
data can be examined in arbitrary order. The processing can be done in stages: one fit is found,
247
outliers are thrown out then a better fit is found.
14.6.1 Prediction using polynomial fit of body-to-wheel distance YBW
In this prediction method a second order polynomial fit is found for the body to wheel distance
signal YBW . For this purpose a window of the past n sample data points of YBW are kept in
memory. The polynomial fit is calculated by using an efficient implementation of a weighted least
squares algorithm. The resultant polynomial is extrapolated in the near future. If there is an
extremum of the polynomial within the prediction time horizon, a reversal of YBW is predicted for
that moment see Fig 162 and Eq 190.
A second order polynomial is used. Limiting the order to two significantly simplifies the poly-
nomial fit and extremum finding calculations.
A buffer keeps the last n data points of YBW . A second buffer keeps the squared values Y 2BW
of those data points.
The length of the memory buffer is an important design element. A short memory buffer would
result in low noise rejection. A long memory buffer would result in low responsiveness to the latest
signal changes (filtering). the memory buffer for a second order polynomial should definitely be
shorter than the length of a half sine wave of the wheel resonant frequency 12Twheel. The length
of the memory buffer is experimentally selected between 13Twheel and
29Twheel. The process of the
polynomial fit of YBW is summarized by Eq 190.
YBW (t)⇒ ffit 1(tpredict ahead) = c(t) (tpredict ahead)2 + b(t) tpredict ahead + a(t) (190)
More weight is added to the latest data points in order to make the prediction more sensitive
to the latest changes of the signal.
The general view of the Simulink diagram implementing the algorithm is presented in Fig 163.
A Stateflow chart was used as the calculations were rather complex.
Fig 163 presents the root of the Stateflow chart. The algorithm is split into three stages
executed at each simulation step: 1. add the new input measurement to the data buffer, 2. find a
polynomial fit of the new buffer data, 3. find the extremum of the polynomial (damper reversal).
If the predicted extremum of the polynomial is in the near future - jerk mitigation measures can
be implemented.
248
Figure 162: Prediction using polynomial fit of YBW and extremum detection.
Figure 163: Simulink model of YBW polynomial fit prediction.
249
Figure 164: Root level of the Stateflow chart implementing the YBW polynomial fit prediction.
Fig 165 presents the polynomial fit portion of the algorithm. This produces the coefficients of
the parabola that fits the input signal. An efficient implementation of a least squares algorithm is
used for the polynomial fit. Note that in certain cases the algorithm can divide very small numbers
with unpredictable results. This had to be taken into account by protecting against division by
very small values of the coefficient d in Fig 165.
Fig 166 presents the extremum find portion of the algorithm. This produces time from the
current moment to the moment of reversal. A special attention is paid to the case when the
curvature of the parabola is very small (c ≈ 0).
14.6.2 Performance
This YBW polynomial fit and extremum prediction algorithm turned to be robust and insensitive
to both noise and plant model parameter/control algorithm coefficient variations. One reason may
have been the direct use of the YBW position sensor data without the need of further filtering or
derivatives. The downside was that the algorithm is viable only for rather short prediction horizons.
14.6.3 Prediction using polynomial fit of body-to-wheel distance derivative YBW
This approach uses a filtered derivative YBW of the body to wheel distance. A second order
polynomial is fitted to the YBW derivative signal. The polynomial is extrapolated in the future. If
a zero crossing of the polynomial is found within the prediction period, a zero crossing of YBW is
reported. This zero crossing of YBW is equivalent to YBW damper reversal. See Fig 167 and Eq
191 for details.
YBW (t)⇒ ffit 2(tpredict ahead) = c(t) (tpredict ahead)2 + b(t) tpredict ahead + a(t) (191)
250
Figure 165: Polynomial fit portion of the Stateflow chart implementing the YBW polynomial fitprediction.
251
Figure 166: Parabola extremum finding portion of the Stateflow chart implementing the YBWpolynomial fit prediction.
Figure 167: Prediction using polynomial fit of YBW and zero crossing detection.
252
Figure 168: Simulink model of prediction using YBW polynomial fit and zero crossing detection.
The derivative YBW (t) is calculated by the transfer function:
YBW (s) =s
Tfilts+ 1YBW (s) (192)
The filtering time constant was selected experimentally as Tfilt = 0.005 to 0.01s. It provides
additional filtering and if so desired - allows the use of larger sample period for the polynomial fit
that follows. This larger sample step decreases the memory and computational requirements of the
polynomial fit algorithm. The filtering introduces phase lag that is easily counteracted by slightly
increasing the prediction horizon and then subtracting the average lag delay.
The general view of the Simulink diagram implementing the algorithm is presented in Fig 168.
Again a Stateflow chart was used to hold the calculations.
Fig 169 presents the root of the Stateflow chart. Here there is explicit initialization step per-
formed only once at the boot time. The normal run of the algorithm is split into three stages
executed at each simulation step: 1. add the new input measurement to the data buffer, 2. find
a polynomial fit of the new buffer data, 3. find the zero crossing of the polynomial (YBW = 0
means damper reversal). If the predicted YBW zero crossing is in the near future - jerk mitigation
measures can be implemented.
253
Figure 169: Root level of the Stateflow chart implementing the YBW polynomial fit and zerocrossing detection
Fig 170 presents the polynomial fit portion of the algorithm. This produces the coefficients of
the parabola that fits the input signal. An efficient implementation of a least squares fit algorithm
is used for the polynomial fit. It is very similar to the one in Fig 165. In certain cases the algorithm
can divide very small numbers with unpredictable results. This had to be taken into account by
protecting against division by very small values of the coefficient d.
Fig 171 presents the zero crossing detection portion of the algorithm. This produces time from
the current moment to the moment of zero crossing of the polynomial (YBW = 0 means damper
reversal). A special attention is paid to the case when the curvature of the parabola is very small
(c ≈ 0) as well as when the input signal is nearly constant both coefficients b and c are practically
zero..
14.6.4 Performance
The YBW polyfit zero crossing prediction algorithm was found to be robust and insensitive to both
noise and plant model parameter/control algorithm coefficient variations.
254
Figure 170: Polynomial fit portion of the Stateflow chart implementing the YBW polynomial fitand zero crossing detection.
255
Figure 171: Zero Crossing, root finding portion of the Stateflow chart implementing the YBWpolynomial fit and zero crossing detection.
256
14.6.4.1 Alternative simplified, computationally efficient polynomial fit.
In order to decrease the execution effort the author experimented with an alternative algorithm of
a polynomial fit. It is based on the fact that three points are necessary to define a second order
polynomial. Those points are obtained from the input data YBW (t) in the following manner. The
last n points of the input data are kept in a memory buffer. That buffer contains three segments:
Oldest, data newer data and latest data. the data in each segment of the buffer is averaged to
arrive at one master data point. The resultant three master data points are used to determine
the parabola polynomial coefficients. This algorithm is less computationally intensive than a least
squares fit.
Buffer segments, weighting and filtering The width of each of the three buffer segments
(how many data points it contains) determines the weighting of new vs. old data. A larger buffer
segment results in more filtering and less weight of individual data points within that segment. In
that way the latest data points can be given most weight. The relative lengths of the three buffer
segments were selected as 14 (newest data),
13 (older data),
512 (oldest data). This corresponds to
absolute lengths of 0.33Twheel, 0.44Twheel, 0.55Twheel. Improved fit is achieved when using shorter
segments whose borders do not touch as shown in Fig 172. One advantage of this unconventional
"non-least squares" method is that outliers can be relatively easily identified and removed from the
three buffer segments.
Remark: Note that since data between the segments is thrown out, the equivalent of sampling
is introduced. During some late additional tests it became clear that this algorithm is sensitive to
noise with certain frequencies (a result of the aforementioned sampling). This problem is easy to
visualize if one imagines noise sine wave that has its positive peak at the center of the first buffer
segment, its next negative peak is at the center of the middle segment and the following positive peak
is at the center of the third segment. Such noise would be disproportionately amplified. For this
reason, despite its lower computational effort, this polynomial fit method was abandoned in favor of
the weighted least squares fit.
The general view of the Simulink diagram implementing the algorithm is presented in Fig 173.
A Stateflow chart was used to model the algorithm as most convenient approach.
Fig 174 shows the root level of the Stateflow chart implementing the 3-segment zero crossing
257
Figure 172: Prediction using 3-segment polynomial fit of YBW and zero crossing detection.
Figure 173: Simulink model of prediction using 3-segment polynomial fit of YBW and zero crossingdetection.
258
Figure 174: Root level of the Stateflow chart implementing the YBW 3-segment polynomial fit andzero crossing detection.
prediction algorithm.
14.6.5 Choice between polynomial fit of YBW and YBW .
A polynomial fit tries to capture information about the signal. The higher the order of the poly-
nomial - the more information is captured and represented. One practical problem though is that
higher order polynomial fits require significant computational effort to calculate. Here the author
suggests that in certain respects more information about the signal can be captured if a polynomial
fit of its derivative is calculated.
Let us consider two signals: a signal v(t) and its derivative v(t). The author suggests that a
polynomial fit F2(t) of a signal derivative v(t) may be equivalent to a derivative of the polynomial
fit F1(t) of the signal v(t) itself.
This can be seen by comparing equations (193) and (194).
259
v(t)⇒ F1 = d1t3 + c1t
2 + b1t+ a (193)
v(t)⇒ F2 = 3d1t2 + 2c1t+ b1 (194)
Note that the polynomial fit F2 of the derivative signal v(t) is of only second order while the
matching polynomial fit F1 of signal v(t) is of third order. If the offset a is of no importance
and a high precision derivative v(t) can be calculated, then it is computationally advantageous to
use polynomial fit of the derivative v(t) instead of the signal v(t). A third order polynomial fit is
usually more precise, but requires significantly higher computational effort to get a polynomial fit.
By computing only a second order polynomial fit of the derivative signal v(t), most of the benefits
of the third order polynomial fit of the signal v(t), are obtained.
In reality obtaining a derivative of the signal is not trivial and involves the introduction of
a phase delay. The experimental results show that the polynomial fit of the derivative provides
significantly earlier albeit not as precise detection of damper reversals (see Fig 178 for illustration).
14.7 Experimental results of damper reversal prediction algorithms
Setup:
The system providing the measured signals used for prediction comprises of a full detail nonlinear
quarter vehicle model coupled with a conservatively tuned skyhook controller.
Real road data was used as collected by the University of Michigan. The designated default
profile was used.
Polynomial prediction algorithm prediction methods use memory buffer of 21 points. Model
based prediction methods use time horizon of 18 steps.
Fig 175, 176, 177 and 178 show how all four prediction algorithms predicted the same event in
several different road conditions. It can be seen that as the damper velocity YBW decreases, the
signal to noise ratio deteriorates and reliable prediction becomes more difficult. Fig 179 present the
calculation effort on a modern embedded microcontroller. A MPC5554 Freescale microcontroller
with 128 MHz internal clock was used for benchmarking. An assessment is provided for the achiev-
able sample rate of an algorithm servicing all four wheels with 20 microseconds system overhead
(see Fig 180).
260
14.7.1 Conclusion
1. State Space model based prediction with filtering was the most accurate method tested. It is
also the most computationally intensive (see Fig 179) and most complex to tune as it requires
proper identification of the suspension system. It can be seen from Fig 178 and 177 that the
model based prediction method without filtering is sensitive to disturbances. The addition of
sensor data filtering improves prediction quality and introduces small lag.
2. Polynomial fit prediction based on parabola fit to YBW and extremum finding is robust
providing consistent results. It is best suited to shorter prediction horizons.
3. Polynomial fit prediction based on parabola fit to YBW and zero crossing finding is capable of
longer time horizons. There is a small phase delay due to the derivative filter calculations that
can be compensated for. This is the prediction method selected by the author (recommended
method).
4. The simplified polynomial fit using three buffer segments is the least computationally intensive
method. During extensive additional tests it proved sensitive to noise with certain frequencies.
All prediction methods except the unfiltered model based prediction method are fit for the
purpose of predicting damper reversal. The model based prediction methods require large compu-
tational effort and have difficulty achieving the 1KHz sample time used by commercially available
semiactive control systems (Delphi’s Magneride) when other parts of the control algorithm are
added. The model based prediction methods may be streamlined by using linear control model
and larger simulation step to improve performance (estimated 40% improvement). The polynomial
fit based prediction methods offer significantly faster execution and are easier to tune (the only
tunable parameter is the length of the memory buffer). This prompted the author to select the
prediction method based on polynomial fit prediction of YBW and zero crossing detection.
261
Figure 175: Comparison of damper reversal detection algorithms - very large damper speeds.
262
Figure 176: Comparison of damper reversal detection algorithms - large damper speeds.
263
Figure 177: Comparison of damper reversal detection algorithms - medium damper speeds andstrong disturbances.
264
Figure 178: Comparison of damper reversal detection algorithms - small damper speeds.
265
Figure 179: Comparison of damper reversal detection algorithms - execution time.
Figure 180: Comparison of damper reversal detection algorithms - achievalbe sample time.
266
CHAPTER 15
DISSERTATION CONCLUSION
This dissertation covered topics in suspension modeling and suspension control. The modeling
related research centered on producing a computationally efficient real time model that can be
used for hardware in the loop simulation. The suspension control research concentrated on jerk
mitigation - a function that is vital to the proper functioning of semiactive control algorithms.
15.1 On suspension modeling
A quarter-vehicle model was developed. It was designed to be computationally efficient and was
successfully run in real time on HIL hardware.
The modeled suspension was of the double wishbone design. It featured a controllable magneto
rheological damper and was later used for design of a semiactive suspension control systems.
The model included the nonlinearities of both the suspension trigonometry and the magneto
rheological damper.
A method to speed up model calculations was explored where part of the algorithm was pre-
calculated in lookup tables. This was possible because model calculations were separated in two
parts:
1. Calculation of nonlinear varying coefficients (no dynamics involved).
2. Calculation of differential equations using the nonlinear time varying coefficients
The result was an accurate, efficient model that was used for experiments and research of
suspension control topics.
A limitation of the approach using lookup tables is the need to recalculate the tables when a
suspension parameter is changed such as the weight or size of a suspension part.
In summary the approach was to achieve efficiency by performing optimizations in advance.
Some optimizations consisted of analytic formula simplification to achieve explicit solution while
others are through numerical methods by pre-calculating the lookup tables.
267
15.2 On suspension control
The optimal tuning of semiactive skyhook-groundhook controller was explored. Numerical simula-
tions of the nonlinear plant and semiactive controller were used. This provided understanding into
how different comfort and road-holding requirements affect semiactive controller tuning.
Special attention was given to jerk mitigation and its influence on various aspects of semiactive
control performance. A number of jerk mitigation algorithms were studied — some well established
and some new, introduced by this work. Most of the existing jerk algorithms rely on static formulae
that can be expressed as nonlinear surfaces modulating the control effort. The author proposed a
time based method that utilizes prediction of the damper reversal and applies modulation only when
such reversal is approaching. The proposed jerk mitigation algorithm was tested and compared
extensively by using the developed plant model. Real road profiles were used in the comparisons.
A real time execution speed benchmark was performed showing that all studied algorithms are
practically feasible on a production grade microcontroller.
The proposed jerk mitigation algorithms performed well improving upon common algorithms in
the field. As in many other engineering applications — a well designed algorithm of greater sophisti-
cation and complexity outperforms a simpler algorithm. Common downsides of such algorithms are
greater computational effort, less robustness and more difficult tuning. The author has managed
to avoid the last two, leaving increased (though acceptable) computational effort as the only major
drawback.
15.3 Future research directions
A promising area of future work in semiactive suspensions is micro amplitude damping and fre-
quency dependent damping [Mark Frissora, Tenneco Automotive]. The goal is to provide lower
damping for high frequency, low amplitude road disturbances in order to achieve reduced harshness.
This will become feasible with better sensing using wheel mounted accelerometers and advanced
rheological dampers featuring lower friction. A very promising area that is still far from large scale
use is the introduction of fast damper force feedback. This will revolutionize semiactive suspen-
sion control as long as cost effective differential pressure transducer solutions can be developed.
An interesting development was announced by ArvinMeritor in 2007. It has pioneered in Europe
air springs with stiffness that can be tuned in real time during vehicle maneuvers (response time
268
below two seconds). This opens new possibilities for real time suspension tuning and new control
strategies combining relatively slower spring tuning with fast damper control.
269
APPENDIX A
DERIVATION OF THE WHEEL AND BODY EQUATIONS
A.1 Derivation of trigonometric derivative transformation coeffi-cients
This section describes derivative transformations in suspension trigonometry. It derives derivatives
of angles as function of derivatives of the distance between wheel and body. The transformations
to be derived are presented by Eq 195, 196, 197 for first derivative and Eq 198, 199, 200 for second
derivative. See Fig 8 for illustration.
θU0(t) = KdUcg
0(t) (195)
θL0(t) = KdLcg
0(t) (196)
θW0(t) = KdW cg0(t) (197)
θ00U (t) = KaU cg0(t)2 +QaU cg00(t) (198)
θ00L(t) = KaL cg0(t)2 +QaL cg
00(t) (199)
θ00W (t) = KaW cg0(t)2 +QaW cg00(t) (200)
An expanded form of the second derivative transform will also be derived as presented by Eq
201, 202, 203.
θU00(t) = XaULθL
0(t)2 + YaUUθU0(t)2 + ZaUW θW
0(t)2 +QaUcg00(t) (201)
θL00(t) = XaLLθL
0(t)2+ YaLUθU
0(t)2+ ZaLW θW
0(t)2+QaLcg
00(t) (202)
θW00(t) = XaWLθL
0(t)2 + YaWUθU0(t)2 + ZaWW θW
0(t)2 +QaW cg00(t) (203)
Where KdU , KdL, KdW , KaU , K2aL, KaW , QaU , QaL, QaW , XaUL, YaUU , ZaUW , QaU , XaLL,
YaLU , ZaLW , QaL, XaWL, YaWU , ZaWW , QaW are functions of the current mechanism position as
determined by the angles: θW (t), θL(t), θU (t) and mechanism dimensions: dh, bd, ab, cd.
270
Note that cg(t) = YB(t)− YW (t) = YBW (t)
The basic equations expressing the relation between the suspension angles θW (t), θL(t), θU (t)
and wheel to body distance cg(t) are:
−cd sin(θL(t)) + dh sin(θW (t)) = cg(t) (204)
bd sin(θW (t))− ab sin(θU (t)) + cd sin(θL(t)) = yac (205)
cd cos(θL(t)) + bd cos(θW (t))− ab cos(θU (t))− xac = 0 (206)
By taking derivative with respect to time of those equations the following equations are arrived
at:
−cd cos(θL(t))θL0(t) + dh cos(θW (t))θW0(t) = cg0(t) (207)
cd cos(θL(t))θL0(t)− ab cos(θU (t))θU
0(t) + bd cos(θW (t))θW0(t) = 0 (208)
−cd sin(θL(t))θL0(t) + ab sin(θU (t))θU0(t)− bd sin(θW (t))θW
0(t) = 0 (209)
Equations 207, 208 and 209 are solved for θ0W (t), θ0L(t), θ
0U(t) to derive the coefficients KdU ,
KdL, KdW used in Eqs 195, 196, 197:
KdU =bd (cos(θW (t)) sin(θL(t))− cos(θL(t)) sin(θW (t)))
ab
⎛⎜⎝ (−bd− dh) cos(θL(t)) cos(θW (t)) sin(θU(t))+
cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(210)
KdL =bd (cos(θW (t)) sin(θU(t))− cos(θU (t)) sin(θW (t)))
cd
⎛⎜⎝ (−bd− dh) cos(θL(t)) cos(θW (t)) sin(θU (t))+
cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(211)
KdW =cos(θU (t)) sin(θL(t))− cos(θL(t)) sin(θU (t))⎛⎜⎝ (−bd− dh) cos(θL(t)) cos(θW (t)) sin(θU (t))+
cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(212)
To derive the acceleration transformation coefficients Equations 207, 208 and 209 are differen-
tiated again:
271
cg00(t) = cd sin(θL(t))θL0(t)
2 − dh sin(θW (t))θW0(t)
2
− cd cos(θL(t))θL00(t) + dh cos(θW (t))θW
00(t) (213)
0 = −cd sin(θL(t))θL0(t)2 + ab sin(θU (t))θU0(t)2 − bd sin(θW (t))θW
0(t)2
+ cd cos(θL(t))θL00(t)− ab cos(θU (t))θU
00(t) + bd cos(θW (t))θW00(t) (214)
0 = −cd cos(θL(t))θL0(t)2 + ab cos(θU (t))θU0(t)2 − bd cos(θW (t))θW
0(t)2
− cd sin(θL(t))θL00(t) + ab sin(θU (t))θU
00(t)− bd sin(θW (t))θW00(t) (215)
By solving equations 213, 214, 215 for θU 00(t), θL00(t), θW 00(t) and then rearranging the terms,
the coefficients XaUL, YaUU , ZaUW , QaU , XaLL, YaLU , ZaLW , QaL, XaWL, YaWU , ZaWW , QaW of
equations 201, 202, 203 are derived as follows:
The coefficients XaUL, YaUU , ZaUW , QaU of equation 201 are:
XaUL =cd (bd+ dh) cos(θW (t))
ab
⎛⎜⎝ (bd+ dh) cos(θL(t)) cos(θW (t)) sin(θU (t))−cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(216)
YaUU =
⎛⎜⎜⎜⎜⎝−dh cos(θW (t)) sin(θL(t)) sin(θU (t))−
cos(θL(t))
⎛⎜⎝ (bd+ dh) cos(θU(t)) cos(θW (t))+
bd sin(θU (t)) sin(θW (t))
⎞⎟⎠⎞⎟⎟⎟⎟⎠
⎛⎜⎝ (bd+ dh) cos(θL(t)) cos(θW (t)) sin(θU (t))
− cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(217)
ZaUW =bd (bd+ dh) cos(θL(t))
ab
⎛⎜⎝ (bd+ dh) cos(θL(t)) cos(θW (t)) sin(θU (t))
− cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(218)
272
QaU = − bd (cos(θW (t)) sin(θL(t))− cos(θL(t)) sin(θW (t)))
ab
⎛⎜⎝ (bd+ dh) cos(θL(t)) cos(θW (t)) sin(θU (t))
− cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(219)
The coefficients XaLL, YaLU , ZaLW , QaL of equation 202 are:
XaLL = −
⎛⎜⎜⎜⎜⎝dh cos(θL(t)) cos(θU (t)) cos(θW (t))+
sin(θL(t))
⎛⎜⎝ (bd+ dh) cos(θW (t)) sin(θU (t))
−bd cos(θU (t)) sin(θW (t))
⎞⎟⎠⎞⎟⎟⎟⎟⎠
⎛⎜⎝ (−bd− dh) cos(θL(t)) cos(θW (t)) sin(θU (t))+
cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(220)
YaLU =ab dh cos(θW (t))
cd
⎛⎜⎝ (−bd− dh) cos(θL(t)) cos(θW (t)) sin(θU (t))+
cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(221)
ZaLW = − bd dh cos(θU (t))
cd
⎛⎜⎝ (−bd− dh) cos(θL(t)) cos(θW (t)) sin(θU (t))
+ cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(222)
QaL =bd (cos(θW (t)) sin(θU (t))− cos(θU (t)) sin(θW (t)))
cd
⎛⎜⎝ (−bd− dh) cos(θL(t)) cos(θW (t)) sin(θU (t))
+ cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(223)
The coefficients XaWL, YaWU , ZaWW , QaW of equation 203 are:
XaWL =cd cos(θU (t))⎛⎜⎝ (bd+ dh) cos(θL(t)) cos(θW (t)) sin(θU (t))−
cos(θU(t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(224)
YaWU = − ab cos(θL(t))⎛⎜⎝ (bd+ dh) cos(θL(t)) cos(θW (t)) sin(θU (t))−cos(θU(t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(225)
273
ZaWW =
⎛⎜⎜⎜⎜⎜⎜⎜⎝
bd cos(θL(t)) cos(θU (t)) cos(θW (t))−dh cos(θU (t)) sin(θL(t)) sin(θW (t))+
bd cos(θL(t)) sin(θU (t)) sin(θW (t))+
dh cos(θL(t)) sin(θU(t)) sin(θW (t))
⎞⎟⎟⎟⎟⎟⎟⎟⎠⎛⎜⎝ (bd+ dh) cos(θL(t)) cos(θW (t)) sin(θU(t))−cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(226)
QaW =− cos(θU (t)) sin(θL(t)) + cos(θL(t)) sin(θU (t))⎛⎜⎝ (bd+ dh) cos(θL(t)) cos(θW (t)) sin(θU (t))−
cos(θU (t)) (dh cos(θW (t)) sin(θL(t)) + bd cos(θL(t)) sin(θW (t)))
⎞⎟⎠(227)
The coefficients KaU , K2aL, KaW , QaU , QaL, QaW of equations 198, 199, 200 are derived by
substituting equations 195, 196, 197 into equations 201, 202, 203:
θ00U (t) =¡XaULKdL + YaUUKdU + ZaUWK2
dW
¢cg0(t)2 +QaUcg
00(t) (228)
θ00L(t) =¡XaLLKdL + YaLUKdU + ZaLWK2
dW
¢cg0(t)2 +QaLcg
00(t) (229)
θ00W (t) =¡XaWLKdL + YaWUKdU + ZaWWK2
dW
¢cg0(t)2 +QaW cg00(t) (230)
KaU = XaULKdL + YaUUKdU + ZaUWK2dW (231)
KaL = XaLLKdL + YaLUKdU + ZaLWK2dW (232)
KaW = XaWLKdL + YaWUKdU + ZaWWK2dW (233)
A.2 Acceleration coordinate transformation for centers of massand joint points as function of mechanism angles
This section expresses horizontal and vertical accelerations of centers of mass points and joint
points of all mechanism parts as functions of mechanism angles θW (t), θL(t), θU (t) (see Fig 8).
The horizontal distances, velocities and accelerations are marked with X while vertical distances,
velocities and accelerations are marked with Y .
The X axis position equations of the joints a, b, c, d, h and centers of mass e, f , k are:
274
Xc = XB = 0 (234)
Xa = Xac (235)
Xe(t) = laeCos(θU (t)) +Xac (236)
Xf (t) = lcfCos(θL(t)) (237)
Xb(t) = labCos(θU (t)) +Xac (238)
Xd(t) = lcdCos(θL(t)) (239)
Xk(t) = Xb(t)− lbkCos(θW (t)) (240)
Xh(t) = Xd(t)− ldhCos(θW (t)) (241)
By taking the derivative of those X axis position equations twice with respect to time, the X
axis accelerations of the joints and center of mass are obtained as:
Xe00(t) = − cos(θU (t))laeθU 0(t)2 − sin(θU (t))laeθU 00(t) (242)
Xf00(t) = − cos(θL(t))lcfθL0(t)2 − sin(θL(t))lcfθL00(t) (243)
Xb00(t) = − cos(θU (t))labθU 0(t)2 − sin(θU (t))labθU 00(t) (244)
Xd00(t) = − cos(θL(t))lcdθL0(t)2 − sin(θL(t))lcdθL00(t) (245)
Xk00(t) = − cos(θU (t))labθU 0(t)2 + cos(θW (t))lbkθW 0(t)2− (246)
− sin(θU (t))labθU 00(t) + sin(θW (t))lbkθW 00(t)
Xh00(t) = − cos(θL(t))lcdθL0(t)2 + cos(θW (t))ldhθW 0(t)
2− (247)
− sin(θL(t))lcdθL00(t) + sin(θW (t))ldhθW 00(t)
The Y axis position equations of the joints a, b, c, d, h and centers of mass e, f , k are:
275
YB(t) = Yc(t) (248)
YW (t) = Yh(t) (249)
Yd(t) = YB(t) + lcd sin(θL(t)) (250)
Yd(t) = YW (t) + lhd sin(θW (t)) (251)
Yk(t) = YW (t) + lhk sin(θW (t)) (252)
Yk(t) = YB(t) + lcd sin(θL(t)) + ldk sin(θW (t)) (253)
Ye(t) = YB(t) + Yac + lae sin(θU (t)) (254)
Ye(t) = YW (t) + lhb sin(θW (t))− lbe sin(θU (t)) (255)
Yf (t) = YB(t) + lcf sin(θL(t)) (256)
Yf (t) = YW (t) + lhd sin(θW (t))− ldf sin(θL(t)) (257)
YB(t) = YW (t) + lhd sin(θW (t))− ldf sin(θL(t))− lcf sin(θL(t)) (258)
By taking the derivative of those Y axis position equations twice with respect to time, the Y
axis accelerations of the joints and center of mass are obtained as:
276
Yd00(t) = − sin(θL(t))lcdθL0(t)2 + YB
00(t) + cos(θL(t))lcdθL00(t) (259)
Yd00(t) = − sin(θW (t))lhdθW 0(t)2 + YW
00(t) + cos(θW (t))lhdθW00(t) (260)
Yk00(t) = − sin(θW (t))lhkθW 0(t)
2+ YW
00(t) + cos(θW (t))lhkθW00(t) (261)
Yk00(t) = − sin(θL(t))lcdθL0(t)2 − sin(θW (t))ldkθW 0(t)2+ (262)
+ YB00(t) + cos(θL(t))lcdθL
00(t) + cos(θW (t))ldkθW00(t)
Ye00(t) = − sin(θU (t))laeθU 0(t)2 + YB
00(t) + cos(θU (t))laeθU00(t) (263)
Ye00(t) = sin(θU (t))lbeθU
0(t)2 − sin(θW (t))lhbθW 0(t)2+ (264)
+ YW00(t)− cos(θU (t))lbeθU 00(t) + cos(θW (t))lhbθW 00(t)
Yf00(t) = − sin(θL(t))lcfθL0(t)2 + YB
00(t) + cos(θL(t))lcfθL00(t) (265)
Yf00(t) = sin(θL(t))ldfθL
0(t)2 − sin(θW (t))lhdθW 0(t)2+ (266)
+ YW00(t)− cos(θL(t))ldfθL00(t) + cos(θW (t))lhdθW 00(t)
YB00(t) = sin(θL(t))lcfθL
0(t)2 − cos(θL(t))lcfθL00(t) + sin(θL(t))ldfθL0(t)2+ (267)
+ YW00(t)− sin(θW (t))lhdθW 0(t)2−
− cos(θL(t))ldfθL00(t) + cos(θW (t))lhdθW 00(t)
A.2.1 Derivation of equations for strut length, strut velocity and strut force compo-nents
Strut length is given by the following equations:
lzm(t) = yzc − lcs sin(θL(t)) (268)
lms(t) = lcs cos(θL(t))− xzc (269)
lzs(t) =plzm(t)2 + lms(t)2 (270)
Strut length derivative is given by the following equations:
277
l0zs(t) = KdlzsθL0(t) (271)
Kdlzs(t) =2lzm (− cos(θL(t))lcs) + 2lms (− sin(θL(t))lcs)
2plzm
2 + lms2
(272)
The strut exerts force Fs on both vehicle body and suspension lower arm. The force Fs is in
line with the length of the strut and at angle θS(t) with the horizontal plane. The strut force Fs
can be subdivided into a vertical and horizontal components Fsv(t) and Fsh(t):
Fsv(t) = Fs(t) KFsv (273)
Fsh(t) = Fs(t) KFsh (274)
where the coefficients KFsv and KFsh are:
KFsv(t) =lzmlzs
(275)
KFsh(t) =lms
lzs(276)
The component of the strut force that is at right angle to the lower suspension arm is here
denoted by Fsr:
Fsr(t) = Fs(t) KFsr (277)
KFsr(t) =sin(θL(t))lms + cos(θL(t))lzm
lzs(278)
All forces are positive when pointing towards the lower arm. When the side of the damper
attached to vehicle body is considered all forces are positive when pointing towards vehicle body.
A.3 Derivation of body YB00 and wheel YW 00 accelerations
This section derives formulae for the accelerations YB 00 and YW00.
It is useful for both theoretical analysis and Stateflow simulation.
The names of variables and coefficients match those in the actual model Stateflow charts.
The results of those derivations will be the following equations:
Intermediate equation form:
278
cg00(t) =−KcgGravity −KcgFcmFcm(t)−KcgFnFN(t)−KcgFsFs(t)−KdCGsqcg
0(t)2
−1 +KaCG(279)
Final form of the equations used for simulation:
YW00 = KaY wdCGsqcg
0(t)2+KaY wFcmFcm(t)+
KaY wFnFN (t) +KaY wFsFs(t) +KaY wGravity (280)
YB00 = KaY bdCGsqcg
0(t)2+KaY bFcmFcm(t)+
KaY bFn FN (t) +KaY bFsFs(t) +KaY bGravity (281)
The starting point are the D’Alembert equations for each suspension part. According to the
D’Alembert’s principle the sum of all forces on a body including joint, inertial and gravity forces is
zero. Similarly the sum of all torques and inertial moments at the body center of mass is also zero.
Sum of vertical forces on vehicle body (here Fs(t)KFsv is the vertical force from the strut on
the vehicle body):
mBYB00(t) = Fs(t)KFsv − FaY (t)− FcY (t)−mBg (282)
Sum of horizontal forces on upper suspension arm:
mUXe00(t) = FaX(t) + FbX(t) (283)
Sum of vertical forces on upper suspension arm:
mUYe00(t) = FaY (t) + FbY (t)−mUg (284)
Sum of torques and inertial moments on upper suspension arm:
IUθU00(t) = FaX(t)lae sin(θU (t))− FaY (t)lae cos(θU (t))−
FbX(t)lbe sin(θU (t)) + FbY (t)lbe cos(θU (t)) (285)
279
Sum of horizontal forces on lower suspension arm (here Fs(t)KFsh is the horizontal force from
the strut on the lower arm):
mLXf00(t) = FcX(t) + FdX(t) + Fs(t)KFsh (286)
Sum of vertical forces on lower suspension arm:
mLYf00(t) = FcY (t)− Fs(t)KFsv −mLg + FdY (t) (287)
Sum of torques and inertial moments on lower suspension arm:
ILθL00(t) = FcX(t)lcf sin(θL(t))− FcY (t)lcf cos(θL(t))−
FdX(t)ldf sin(θL(t)) + FdY (t)ldf cos(θL(t))− Fs(t)lsfKFsr (288)
Sum of horizontal forces on wheel:
mwXk00(t) = −FbX(t)− FdX(t)− Fcm(t) (289)
Sum of vertical forces on wheel:
mwYk00(t) = −FbY (t)− FdY (t) + FN (t)−mwg (290)
Here FN is the vertical force of tire on the rim. It is positive when pointing upward.
Sum of torques and inertial moments on wheel:
IW θW00(t) = −FbY (t)lbk cos(θW (t)) + FbX(t)lbk sin(θW (t))+
FdY (t)ldk cos(θW (t))− FdX(t)ldk sin(θW (t))−
Fcm(t)lhk sin(θW (t))− FN(t)lhk cos(θW (t)) (291)
Next the joint forces FaX(t), FaY (t), FbX(t), FbY (t), FcX(t), FcY (t), FdX(t), FdY (t) are elimi-
nated from the D’Alembert equations 282, 283, 284, 285, 286, 287, 288, 289, 290, 291.
The result are two equations of the accelerations at center of mass points e, f , k:
280
The first of those equations of the accelerations at center of mass points is the relatively simpler
Eq 292:
mBYB00(t) = −gmB − gmL − gmU − gmw + FN(t)
−mUYe00(t)−mLYf
00(t)−mwYk00(t) (292)
The second of those equations of the accelerations at center of mass points is rather complex
(Eq 293). To simplify the presentation it will be expressed by using coefficients that will be defined
separately (see Equations 294 to 308).
0 = KBaXfXf00(t) +KBaXeXe
00(t) +KBaXkXk00(t) +KBaY fYf
00(t) +KBaY eYe00(t)+
KBaY kYk00(t) +KBaThetaLθL
00(t) +KBaThetaUθU00(t) +KBaThetaW θW
00(t)+
KBFnFN (t) +KBFcmFcm(t) +KBFsFs(t) +KBgravity (293)
The coefficientsKBaXf ,KBaXe,KBaXk,KBaY f ,KBaY e,KBaY k,KBaThetaL,KBaThetaU ,KBaThetaW ,
KBFn, KBFcm,KBFs, KBgravity are functions of the angles of the suspension parts θW (t), θL(t),
θU (t) as described in equations 294 to 308.
KBaXf = CsinUsubW sin(θL(t)) (lae + lbe) lcf (lbk + ldk)mL (294)
KBaXe = CsinLsubW sin(θU (t))lae (lcf + ldf ) (lbk + ldk)mU (295)
KBaXk = (lae + lbe) (lcf + ldf ) (296)
(CsinUsubW sin(θL(t))lbk + CsinLsubW sin(θU (t))ldk)mw (297)
KBaY f = −CsinUsubW cos(θL(t)) (lae + lbe) lcf (lbk + ldk)mL (298)
KBaY e = −CsinLsubW cos(θU (t))lae (lcf + ldf ) (lbk + ldk)mU (299)
281
KBaY k = − (lae + lbe) (lcf + ldf )
⎛⎜⎝ CsinUsubW cos(θL(t))lbk+
CsinLsubW cos(θU (t))ldk
⎞⎟⎠mw (300)
KBaThetaL = −CsinUsubW iL (lae + lbe) (lbk + ldk) (301)
KBaThetaU = −CsinLsubW iU (lcf + ldf ) (lbk + ldk) (302)
KBaThetaW = −CsinLsubU iW (lae + lbe) (lcf + ldf ) (303)
KBFn = (lae + lbe) (lcf + ldf )
⎛⎜⎝ CsinUsubW cos(θL(t))lbk+
CsinLsubW cos(θU (t))ldk − CsinLsubU cos(θW (t))lhk
⎞⎟⎠ (304)
KBFcm = (lae + lbe) (lcf + ldf )
⎛⎜⎝ CsinUsubW sin(θL(t))lbk+
CsinLsubW sin(θU (t))ldk − CsinLsubU sin(θW (t))lhk
⎞⎟⎠ (305)
KBFs = −CsinUsubW (lae + lbe) (lbk + ldk) (306)
((KFsv cos(θL(t)) +KFsh sin(θL(t))) lcf +KFsrlsf ) (307)
KBgravity = g(−lbe(CsinUsubW cos(θL(t))lbk (ldfmw + lcf (mL +mw))+
ldk
⎛⎜⎝CsinLsubW cos(θU (t))ldfmw + lcf
⎛⎜⎝ CsinUsubW cos(θL(t))mL+
CsinLsubW cos(θU (t))mw
⎞⎟⎠⎞⎟⎠⎞⎟⎠−
lae(lbk(ldf (CsinLsubW cos(θU(t))mU + CsinUsubW cos(θL(t))mw)+
lcf (CsinUsubW cos(θL(t))mL + CsinLsubW cos(θU (t))mU + CsinUsubW cos(θL(t))mw))+
ldk
⎛⎜⎝ CsinLsubW cos(θU (t))ldf (mU +mw)+
lcf (CsinUsubW cos(θL(t))mL + CsinLsubW cos(θU (t)) (mU +mw))
⎞⎟⎠⎞⎟⎠⎞⎟⎠ (308)
The expressions CsinUsubW , CsinLsubW , CsinLsubU expand to:
282
CsinUsubW = cos(θW (t)) sin(θU (t))− cos(θU (t)) sin(θW (t)) (309)
CsinLsubW = cos(θW (t)) sin(θL(t))− cos(θL(t)) sin(θW (t)) (310)
CsinLsubU = cos(θU (t)) sin(θL(t))− cos(θL(t)) sin(θU (t)) (311)
Next the accelerations of the center of mass points e, f , k in equations 292 and 293 are expressed
in terms of the angular positions, accelerations and velocities of the suspension parts θW (t), θL(t),
θU (t), θ0W (t), θ0L(t), θ
0U (t), θ
00W (t), θ
00L(t), θ
00U (t). This is done by using the expressions for the center
of mass accelerations from equations 242, 243, 246, 261, 263, 265.
The result of this substitution of equations 242, 243, 246, 261, 263, 265 into Eq 293 is Eq 312:
0 = CBaY wYW00(t) +CBaY bYB
00(t) + CBdThetdLsqθL0(t)
2+ CBdThetdUsqθU
0(t)2
+ CBdThetdWsqθW0(t)2 + CBaThetaLθL
00(t) +CBaThetaUθU00(t) + CBaThetaW θW
00(t)+
CBFnFN (t) + CBFcmFcm(t) + CBFsFs(t) + CBgravity (312)
To simplify the presentation of Eq 312 the coefficients CBaY w, CBaY b, CBaThetaL, CBaThetaU ,
CBaThetaW , CBdThetdLsq, CBdThetdUsq, CBdThetdWsq, CBFn, CBFcm, CBFs, CBgravity are used as
described in equations 313 to 324.
CBaY w = KBaY k (313)
CBaY b = KBaY e +KBaY f (314)
CBaThetaL = KBaThetaL +KBaY f cos(θL(t))lcf −KBaXf sin(θL(t))lcf (315)
CBaThetaU = KBaThetaU −KBaXk sin(θU (t))lab+
KBaY e cos(θU (t))lae −KBaXe sin(θU (t))lae (316)
CBaThetaW = KBaThetaW +KBaXk sin(θW (t))lbk +KBaY k cos(θW (t))lhk (317)
283
CBdThetdLsq = −KBaXf cos(θL(t))lcf −KBaY f sin(θL(t))lcf (318)
CBdThetdUsq = −KBaXk cos(θU (t))lab −KBaXe cos(θU (t))lae −KBaY e sin(θU(t))lae (319)
CBdThetdWsq = KBaXk cos(θW (t))lbk −KBaY k sin(θW (t))lhk (320)
CBFn = KBFn (321)
CBFcm = KBFcm (322)
CBFs = KBFs (323)
CBgravity = KBgravity (324)
In a similar way to Eq 312, the equations for the center of mass accelerations Eq 242, 243, 246,
261, 263, 265 are substituted into Eq 292 to produce Eq 325:
mBYB00(t) = −gmB − gmL − gmU − gmw + FN(t)−
mL
³− sin(θL(t))lcfθL0(t)2 + YB
00(t) + cos(θL(t))lcfθL00(t)
´−
mU
³− sin(θU (t))laeθU 0(t)2 + YB
00(t) + cos(θU (t))laeθU00(t)
´−
mw
³− sin(θW (t))lhkθW 0(t)
2+ YW
00(t) + cos(θW (t))lhkθW00(t)
´(325)
The following step is to substitute the trigonometric transformations Eq 195, 196, 197 for the
angle first derivatives and Eq 201, 202, 203 for the angle second derivatives into Equations 312
and 325. This substitution produces equations with variables YB 00(t), YW 00(t), cg(t), cg00(t), cg0(t),
cg0(t)2, θL00(t), θU 00(t), θW 00(t), θL0(t), θU 0(t), θW 0(t), FN(t), Fcm(t), Fs(t). Note that the distance
cg(t) = YB(t)− YW (t) and consequently cg00(t) = YB00(t)− YW
00(t).
The substitution of equations 195, 196, 197, 201, 202, 203 into Eq 312 produces Eq 326:
284
0 = CBgravity +CBFcmFcm(t) + CBFnFN(t) + CBFsFs(t)+
(CBdThetdUsqK2dU + CBdThetdLsqK
2dL + CBdThetdWsqK
2dW+
CBaThetaUK2dLXaUL + CBaThetaLK
2dLXaLL +CBaThetaWK2
dLXaWL+
CBaThetaUK2dUYaUU + CBaThetaLK
2dUYaLU +CBaThetaWK2
dUYaWU+
CBaThetaUK2dWZaUW + CBaThetaLK
2dWZaLW+
CBaThetaWK2dWZaWW )cg
0(t)2+
(CBaThetaUQaU +CBaThetaLQaL + CBaThetaWQaW ) cg00(t)+
CBaY bYB00(t) + CBaY wYW
00(t) (326)
The substitution of equations 195, 196, 197, 201, 202, 203 into Eq 325 produces Eq 327:
0 = gmB + gmL + gmU + gmw − FN (t)+
(K2dLXaLL cos(θL(t))lcfmL +K2
dUYaLU cos(θL(t))lcfmL+
K2dWZaLW cos(θL(t))lcfmL −K2
dL sin(θL(t))lcfmL +K2dLXaUL cos(θU (t))laemU+
K2dUYaUU cos(θU (t))laemU +K2
dWZaUW cos(θU (t))laemU−
K2dU sin(θU (t))laemU +K2
dLXaWL cos(θW (t))lhkmw+
K2dUYaWU cos(θW (t))lhkmw +K2
dWZaWW cos(θW (t))lhkmw−
K2dW sin(θW (t))lhkmw)cg
0(t)2+⎛⎜⎝ QaL cos(θL(t))lcfmL+
QaU cos(θU (t))laemU +QaW cos(θW (t))lhkmw
⎞⎟⎠ cg00(t)+
(mB +mL +mU )YB00(t) +mwYW
00(t) (327)
The system of simultaneous equations 327 and 326 are then solved for YB 00(t) and YW00(t) into
the form:
YB00(t) = Fun
³cg(t), cg0(t)2, cg00(t), FN (t), Fcm(t), Fs(t)
´(328)
YW00(t) = Fun
³cg(t), cg0(t)2, cg00(t), FN (t), Fcm(t), Fs(t)
´(329)
285
Equation 328 takes the concrete form 330:
YB00(t) = KsimY baCG cg00(t) +KsimY bdCGsqcg
0(t)2 +KsimY bcgFcmFcm(t)+
KsimY bcgFn FN(t) +KsimY bcgFsFs(t) +KsimY bcgGravity (330)
The coefficients of Eq 330 KsimY baCG, KsimY bdCGsq, KsimY bcgFcm, KsimY bcgFs, KsimY bcgFn,
KsimY bcgGravity are given by equations 331 to 336.
KsimY baCG = (−CBaY wQaL cos(θL(t))lcfmL − CBaY wQaU cos(θU(t))laemU+ (331)⎛⎜⎝ CBaThetaUQaU +CBaThetaLQaL +CBaThetaWQaW−CBaY wQaW cos(θW (t))lhk
⎞⎟⎠mw
⎞⎟⎠ /
(CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw)
KsimY bdCGsq =1
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw(332)¡−CBaY w
¡¡K2dLXaLL +K2
dUYaLU +K2dWZaLW
¢cos(θL(t))−K2
dL sin(θL(t))¢
lcfmL − CBaY w
⎛⎜⎝ ¡K2dLXaUL +K2
dUYaUU +K2dWZaUW
¢cos(θU (t))−K2
dU sin(θU (t))
⎞⎟⎠ laemU+
(CBdThetdUsqK2dU + CBdThetdLsqK
2dL + CBdThetdWsqK
2dW+
CBaThetaUK2dLXaUL + CBaThetaLK
2dLXaLL + CBaThetaWK2
dLXaWL+
CBaThetaUK2dUYaUU + CBaThetaLK
2dUYaLU +CBaThetaWK2
dUYaWU+
CBaThetaUK2dWZaUW + CBaThetaLK
2dWZaLW + CBaThetaWK2
dWZaWW−
CBaY w
⎛⎜⎝ ¡K2
dLXaWL +K2dUYaWU +K2
dWZaWW
¢cos(θW (t))
−K2dW sin(θW (t))
⎞⎟⎠ lhk)mw)
KsimY bcgFcm =CBFcmmw
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw(333)
KsimY bcgFs =CBFsmw
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw(334)
KsimY bcgFn =CBaY w + CBFnmw
CBaY wmB +CBaY wmL + CBaY wmU − CBaY bmw(335)
286
KsimY bcgGravity = −CBaY wgmB + CBaY wgmL + CBaY wgmU − CBgravitymw + CBaY wgmw
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw(336)
Equation 329 takes the concrete form of Eq 337:
YW00(t) = KsimY waCG cg00(t) +KsimY wdCGsqcg
0(t)2 +KsimY wcgFcmFcm(t)+
KsimY wcgFn FN(t) +KsimY wcgFsFs(t) +KsimY wcgGravity (337)
The coefficients of Eq 337 KsimY waCG, KsimY wdCGsq, KsimY wcgFcm, KsimY wcgFs, KsimY wcgFn,
KsimY wcgGravity are given by equations 338 to 343.
KsimY waCG = − 1
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw(338)
((CBaThetaUQaU + CBaThetaLQaL + CBaThetaWQaW )mB+⎛⎜⎝ CBaThetaUQaU + CBaThetaLQaL + CBaThetaWQaW
−CBaY bQaL cos(θL(t))lcf
⎞⎟⎠mL + CBaThetaUQaUmU + CBaThetaLQaLmU + CBaThetaWQaWmU−
CBaY bQaU cos(θU (t))laemU − CBaY bQaW cos(θW (t))lhkmw)
287
KsimY wdCGsq = − 1
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw(339)
((CBdThetdUsqK2dU + CBdThetdLsqK
2dL + CBdThetdWsqK
2dW+
CBaThetaUK2dLXaUL + CBaThetaLK
2dLXaLL + CBaThetaWK2
dLXaWL+
CBaThetaUK2dUYaUU +CBaThetaLK
2dUYaLU + CBaThetaWK2
dUYaWU+
CBaThetaUK2dWZaUW + CBaThetaLK
2dWZaLW +CBaThetaWK2
dWZaWW )mB+
(CBdThetdUsqK2dU + CBdThetdLsqK
2dL + CBdThetdWsqK
2dW+
CBaThetaUK2dLXaUL + CBaThetaLK
2dLXaLL + CBaThetaWK2
dLXaWL+
CBaThetaUK2dUYaUU +CBaThetaLK
2dUYaLU + CBaThetaWK2
dUYaWU+
CBaThetaUK2dWZaUW + CBaThetaLK
2dWZaLW +CBaThetaWK2
dWZaWW−
CBaY b
⎛⎜⎝ ¡K2
dLXaLL +K2dUYaLU +K2
dWZaLW
¢cos(θL(t))
−K2dL sin(θL(t))
⎞⎟⎠ lcf )mL+
CBdThetdUsqK2dUmU + CBdThetdLsqK
2dLmU +CBdThetdWsqK
2dWmU+
CBaThetaUK2dLXaULmU + CBaThetaLK
2dLXaLLmU +CBaThetaWK2
dLXaWLmU+
CBaThetaUK2dUYaUUmU + CBaThetaLK
2dUYaLUmU + CBaThetaWK2
dUYaWUmU+
CBaThetaUK2dWZaUWmU + CBaThetaLK
2dWZaLWmU+
CBaThetaWK2dWZaWWmU − CBaY bK
2dLXaUL cos(θU (t))laemU−
CBaY bK2dUYaUU cos(θU (t))laemU − CBaY bK
2dWZaUW cos(θU (t))laemU+
CBaY bK2dU sin(θU (t))laemU − CBaY bK
2dLXaWL cos(θW (t))lhkmw−
CBaY bK2dUYaWU cos(θW (t))lhkmw − CBaY bK
2dWZaWW cos(θW (t))lhkmw+
CBaY bK2dW sin(θW (t))lhkmw)
KsimY wcgFcm = − CBFcm (mB +mL +mU )
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw(340)
KsimY wcgFs = − CBFs (mB +mL +mU )
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw(341)
KsimY wcgFn = − CBaY b + CBFnmB + CBFnmL + CBFnmU
CBaY wmB +CBaY wmL + CBaY wmU − CBaY bmw(342)
288
KsimY wcgGravity =
⎛⎜⎜⎜⎜⎝(−CBgravity +CBaY bg)mB+
(−CBgravity + CBaY bg)mL−CBgravitymU + CBaY bgmU + CBaY bgmw
⎞⎟⎟⎟⎟⎠CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw
(343)
By Subtracting equations 330 and 337, and also noting that:
cg(t) = YB(t)− YW (t),
cg0(t) = YB0(t)− YW
0(t),
cg00(t) = YB00(t)− YW
00(t)
An equation in cg(t) is derived of the from:
cg00(t) = Fun³cg(t), cg0(t)
2, FN (t), Fcm(t), Fs(t)
´(344)
This equation can finally be solved for cg00(t). Its concrete form is Eq :
cg00(t) =−KcgGravity −KcgFcmFcm(t)−KcgFnFN(t)−KcgFsFs(t)−KdCGsqcg
0(t)2
−1 +KaCG(345)
The coefficients KaCG, KdCGsq, KcgFcm, KcgFs, KcgFn, KcgGravity are given by Eq 346 to 351:
KaCG =1
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw( (346)
(CBaThetaUQaU + CBaThetaLQaL + CBaThetaWQaW )mB+⎛⎜⎝ CBaThetaUQaU +CBaThetaLQaL +CBaThetaWQaW−(CBaY b + CBaY w)QaL cos(θL(t))lcf
⎞⎟⎠mL+
CBaThetaUQaUmU + CBaThetaLQaLmU + CBaThetaWQaWmU−
CBaY bQaU cos(θU (t))laemU − CBaY wQaU cos(θU (t))laemU+
CBaThetaUQaUmw + CBaThetaLQaLmw + CBaThetaWQaWmw−
CBaY bQaW cos(θW (t))lhkmw − CBaY wQaW cos(θW (t))lhkmw)
289
KdCGsq =1
CBaY wmB +CBaY wmL + CBaY wmU − CBaY bmw( (347)
(CBdThetdUsqK2dU + CBdThetdLsqK
2dL + CBdThetdWsqK
2dW+
CBaThetaUK2dLXaUL + CBaThetaLK
2dLXaLL + CBaThetaWK2
dLXaWL+
CBaThetaUK2dUYaUU + CBaThetaLK
2dUYaLU + CBaThetaWK2
dUYaWU+
CBaThetaUK2dWZaUW + CBaThetaLK
2dWZaLW + CBaThetaWK2
dWZaWW )mB+
(CBdThetdUsqK2dU + CBdThetdLsqK
2dL + CBdThetdWsqK
2dW + CBaThetaUK
2dLXaUL+
CBaThetaLK2dLXaLL + CBaThetaWK2
dLXaWL +CBaThetaUK2dUYaUU + CBaThetaLK
2dUYaLU+
CBaThetaWK2dUYaWU + CBaThetaUK
2dWZaUW + CBaThetaLK
2dWZaLW+
CBaThetaWK2dWZaWW − (CBaY b + CBaY w) ((K
2dLXaLL +K2
dUYaLU+
K2dWZaLW ) cos(θL(t))−K2
dL sin(θL(t)))lcf )mL +CBdThetdUsqK2dUmU+
CBdThetdLsqK2dLmU + CBdThetdWsqK
2dWmU + CBaThetaUK
2dLXaULmU+
CBaThetaLK2dLXaLLmU +CBaThetaWK2
dLXaWLmU + CBaThetaUK2dUYaUUmU+
CBaThetaLK2dUYaLUmU + CBaThetaWK2
dUYaWUmU + CBaThetaUK2dWZaUWmU+
CBaThetaLK2dWZaLWmU +CBaThetaWK2
dWZaWWmU − CBaY bK2dLXaUL cos(θU (t))laemU−
CBaY wK2dLXaUL cos(θU (t))laemU − CBaY bK
2dUYaUU cos(θU (t))laemU−
CBaY wK2dUYaUU cos(θU (t))laemU − CBaY bK
2dWZaUW cos(θU (t))laemU−
CBaY wK2dWZaUW cos(θU (t))laemU + CBaY bK
2dU sin(θU(t))laemU+
CBaY wK2dU sin(θU(t))laemU + CBdThetdUsqK
2dUmw + CBdThetdLsqK
2dLmw+
CBdThetdWsqK2dWmw + CBaThetaUK
2dLXaULmw + CBaThetaLK
2dLXaLLmw+
CBaThetaWK2dLXaWLmw + CBaThetaUK
2dUYaUUmw + CBaThetaLK
2dUYaLUmw+
CBaThetaWK2dUYaWUmw +CBaThetaUK
2dWZaUWmw + CBaThetaLK
2dWZaLWmw+
CBaThetaWK2dWZaWWmw − CBaY bK
2dLXaWL cos(θW (t))lhkmw−
CBaY wK2dLXaWL cos(θW (t))lhkmw −CBaY bK
2dUYaWU cos(θW (t))lhkmw−
CBaY wK2dUYaWU cos(θW (t))lhkmw − CBaY bK
2dWZaWW cos(θW (t))lhkmw−
CBaY wK2dWZaWW cos(θW (t))lhkmw + CBaY bK
2dW sin(θW (t))lhkmw+
CBaY wK2dW sin(θW (t))lhkmw)
290
KcgFcm =CBFcm (mB +mL +mU +mw)
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw(348)
KcgFs =CBFs (mB +mL +mU +mw)
CBaY wmB +CBaY wmL + CBaY wmU − CBaY bmw(349)
KcgFn =CBaY b + CBaY w + CBFnmB + CBFnmL + CBFnmU + CBFnmw
CBaY wmB + CBaY wmL + CBaY wmU − CBaY bmw(350)
KcgGravity =(CBgravity − (CBaY b + CBaY w) g) (mB +mL +mU +mw)
CBaY wmB + CBaY wmL +CBaY wmU − CBaY bmw(351)
By substituting cg00(t) from Eq 345 into equations 330 and 337 the simulatable equations 352
and 353 calculating YB00(t) and YW
00(t) can be derived. These equations are used in numerical
simulations of the body and wheel subsystem.
YB00(t) = KaY bdCGsqcg
0(t)2 +KaY bFcmFcm(t) +KaY bFn FN (t) +KaY bFsFs(t) +KaY bGravity
(352)
YW00(t) = KaY wdCGsqcg
0(t)2 +KaY wFcmFcm(t) +KaY wFn FN(t) +KaY wFsFs(t) +KaY wGravity
(353)
KaY bdCGsq = −KdCGsqKsimY baCG
−1 +KaCG+KsimY bdCGsq (354)
KaY bFcm = −KcgFcmKsimY baCG
−1 +KaCG+KsimY bcgFcm (355)
KaY bFn = −KcgFnKsimY baCG
−1 +KaCG+KsimY bcgFn (356)
KaY bFs = −KcgFsKsimY baCG
−1 +KaCG+KsimY bcgFs (357)
KaY bGravity = −KcgGravityKsimY baCG
−1 +KaCG+KsimY bcgGravity (358)
291
KaY wdCGsq = −KdCGsqKsimY waCG
−1 +KaCG+KsimY wdCGsq (359)
KaY wFcm = −KcgFcmKsimY waCG
−1 +KaCG+KsimY wcgFcm (360)
KaY wFn = −KcgFnKsimY waCG
−1 +KaCG+KsimY wcgFn (361)
KaY wFs = −KcgFsKsimY waCG
−1 +KaCG+KsimY wcgFs (362)
KaY wGravity = −KcgGravityKsimY waCG
−1 +KaCG+KsimY wcgGravity (363)
292
APPENDIX B
CALCULATION OF COEFFICIENTS IN THE SIMULINK
MODEL
The contents of the graphical function Get_angle_coefficients is shown in Fig 181. It calculates
the KdU , KdL, KdW as described in Eq 210, 211, 212 and values given by Eq 210, 211, 212. The
same graphical function also calculates coefficients XaUL, YaUU , ZaUW , QaU , XaLL, YaLU , ZaLW ,
QaL, XaWL, YaWU , ZaWW , QaW as described in Eq 201, 202, 203 with values given by Eq 216
to 227. Note that the coefficients K1dU, K2dL and K3dW in the model are the same as the
coefficient KdU , KdL, KdW . from Eq 195, 196, 197.
Fig 182 shows the contents of the graphical function Get_coeffs_KB calculating the coeffi-
cients KBaXf , KBaXe, KBaXk, KBaY f , KBaY e, KBaY k, KBaThetaL, KBaThetaU , KBaThetaW , KBFn,
KBFcm,KBFs, KBgravity using the formulae Eq 294 to 308. It also uses Eq 275, 276, 278 to calculate
coefficients KFsv, KFsh, KFsr. This graphical function is called by the state chart Get Coefficients
shown in Fig 32.
Fig 183 shows the contents of the graphical function Get_coeffs_CB calculating the coefficients
CBaY w, CBaY b, CBaThetaL, CBaThetaU , CBaThetaW , CBdThetdLsq, CBdThetdUsq, CBdThetdWsq, CBFn,
CBFcm, CBFs, CBgravity as described in Eq 313 to 324. This graphical function is called by the
state chart Get Coefficients shown in Fig 32.
Fig 184 shows the contents of the graphical function Get_coeffs_KCG calculating the coeffi-
cients KaCG, KdCGsq, KcgFcm, KcgFs, KcgFn, KcgGravity using the formulae from Eq 346 to 351.
This graphical function is called by the state chart Get Coefficients shown in Fig 32.
Fig 185 shows the contents of the graphical function Get_coeffs_Ksim_aYw calculating the
coefficients KsimY waCG, KsimY wdCGsq, KsimY wcgFcm, KsimY wcgFs, KsimY wcgFn, KsimY wcgGravity
Using the formulae from Eq 338 to 343. This graphical function is called by the state chart Get
Coefficients shown in Fig 32.
Fig 186 shows the contents of the graphical function Get_coeffs_Ksim_aYb calculating the
coefficients KsimY baCG, KsimY bdCGsq, KsimY bcgFcm, KsimY bcgFs, KsimY bcgFn, KsimY bcgGravity using
293
Figure 181: Contents of the graphical function Get_angle_coefficients from the Stateflow chartGet angle derivartives.
294
Figure 182: Contents of the Get_coeffs_KB graphical function from the Get Coefficients Stateflowchart.
295
Figure 183: Contents of the Get_coeffs_CB graphical function from the Get Coefficients Stateflowchart.
296
Figure 184: Contents of the Get_coeffs_KCG graphical function from the Get Coefficients State-flow chart.
297
Figure 185: Contents of the Get_coeffs_Ksim_aYw graphical function from the Get CoefficientsStateflow chart.
298
the formulae from Eq 331 to 336. This graphical function is called by the state chartGet Coefficients
shown in Fig 32.
Fig 187 shows the contents of the graphical function Get_coeffs_aYw calculating the final coef-
ficients KaY wFcm, KaY wFn, KaY wFs, KaY wdCGsq, KaY wGravity using Eq 354 to 363. This graphical
function is called by the state chart Get Coefficients shown in Fig 32.
Fig 188 shows the contents of the graphical function Get_coeffs_aYb calculating the final coeffi-
cientsKaY bFcm,KaY bFn,KaY bFs,KaY bdCGsq,KaY bGravity,KaY wFcm,KaY wFn,KaY wFs,KaY wdCGsq,
KaY wGravity using the formulae from Eq 354 to 363. This graphical function is called by the state
chart Get Coefficients shown in Fig 32.
299
Figure 186: Contents of the Get_coeffs_Ksim_aYb graphical function from the Get CoefficientsStateflow chart.
300
Figure 187: Contents of the Get_coeffs_K_aYw graphical function.
Figure 188: Contents of the Get_coeffs_K_aYb Stateflow graphical function from the Get Coef-ficients Stateflow chart.
301
REFERENCES
[1] S. Stamatov, M. Krishnan, S. Yost, "Using Quasi-linearization for Real Time Dynamic Simu-lation of a Quarter Vehicle Suspension", SAE International World Congress, Detroit 2007
[2] Robert L. Norton, Design of Machinery, McGraw-Hill Professional, 2003
[3] B. Minaker, P. Frise, Linearizing the Equations of Motion for Multibody Systems Using anOrthogonal Complement Method", J. Vibration and Control, Vol 11, No 51, 2005
[4] R. Q. van der Linde, A. L. Schwab, "Lecture Notes Multibody Dynamics", WB1413, course1997/1998, Laboratory for Engineering Mechanics, Delft University of Technology, 2002, Avail-able: http://audiophile.tam.cornell.edu/~als93/Publications/LinSch02.pdf
[5] Kurt Anderson, Mojtaba Oghbaei, “Dynamic Simulation of Multibody Systems Using a NewState-Time Methodology”, J. Multibody System Dynamics, 2005, Vol 14, No1, pp. 61-80
[6] A. D. Lewis, “Math 439 Course Notes - Lagrangian Mechanics, Dynamics, and Control",Queen’s University, Kingston, ON Canada, 2003
[7] G. Pelz, Mechatronic Systems Modelling and Simulation with HDLs, Wiley, 2003 pp. 100-110
[8] D. Baraff, "Linear-Time Dynamics using Lagrange Multipliers", Proc. Annual Conference onComputer Graphics and Interactive Techniques (SIGGRAPH ), 1996, Vol. 30, pp.137-146
[9] J. Baumgarte, "Stabilization of constraints and integrals of motion in dynamical systems"Computer Methods in Applied Mechanics, 1972.
[10] J. Dae Sung - "Sliding-mode neural-network-inference fuzzy logic controller of nonlinear ac-tive suspension system", Ph.D. dissertation, Dept. Elect. Eng., University of Detroit Mercy,Detroit, Mi. 1999
[11] W. E. Misselhorn, "Verification of Hardware in the loop as a valid testing method for suspensiondevelopment" M.S. Thesis, Faculty of Eng., University of Pretoria, 2005
[12] Simon Iwnicki, "Handbook of Railway Vehicle Dynamics" CRC, 2006
[13] D.Carlson, D.M.Catanzarite and K.A.St. Clair, "Commercial Magneto-rheological Fluid De-vices", Proc. 5th Int. Conf. on Electro-Rheological Fluids, Magneto-Rheological Suspensions20-28, 1996
[14] Lord Corporation — “What is Magneto-Rheological (MR) Fluid?" article, Avail-able: http://www.lord.com/Home/MagnetoRheologicalMRFluid/MRFluidTechnology/WhatisMR/tabid/3772/Default.aspx
[15] Xiao Qing Ma, S. Rakheja, Chun-Yi Su, "Development and Relative Assessments of Modelsfor Characterizing the Current Dependent Hysteresis Properties of Magnetorheological FluidDampers", J. of Intelligent Material Systems and Structures, Jan. 2007
[16] S. J. Dyke, B. F. Spencer, M. K. Sain, J. D. Carlson, "Modeling and control of magnetorheo-logical dampers for seismic response reduction," Smart Materials and Structures, 1996, Vol 5,pp 565-575
302
[17] B. F. Spencer, S. J. Dyke, M. K. Sain, J. D. Carlson, “Phenomenological Model of a Magne-torheological Damper”, ASCE J. of Engineering Mechanics, 1996
[18] Y.K. Wen, “Method for Random Vibration of Hysteretic Systems”, J. Eng. Mech. ASCE, Vol102, 1976
[19] S. Dyke, B.F. Spencer Jr., M.K. Sain, J.D. Carlson, "Modeling and Control of Magnetorheo-logical Dampers for Seismic Response Reduction", Smart Mater. Struct. 1996 Vol 5 pp.565-575
[20] I. H. Shames, F. A. Cozzarelli, Elastic and Inelastic Stress Analysis, Prentice Hall, pp. 120-123,1992
[21] S.B. Choi, Y. M. Han, "MR seat suspension for vibration control of a commercial vehicle",Int. J. of Vehicle Design, Vol 31, 2003
[22] C. Seung-Bok, L. Hwan-Soo, H. Sung-Ryong, C. Chae-Cheon, "Control and response charac-teristics of a magneto-rheological fluid damper for passenger vehicle", Proc. SPIE, 2001
[23] G. Genta, Motor Vehicle Dynamics: Modeling & Simulation,World Scientific Publishing, Jun,1997
[24] R. Rajamani, Vehicle Dynamics and Control, Springer, October, 2005
[25] Y. Shen, M. F. Golnaraghi, G. R. Heppler, "Analytical and Experimental Study of the Re-sponse of a Suspension System with a Magnetorheological Damper" , J. Intelligent MaterialSystems and Structures, Vol 16, 2005
[26] H. B. Pacejka, Tyre and Vehicle Dynamics, Butterworth Heinemann, 2002
[27] J. C. Dixon, Tires, Suspension and Handling, Second Ed., SAE, London, 1996
[28] J. Svendenius, M. Gäfvert, A Semi-Empirical Tire-Model Including the Effects of Camber, Tec.Rep, Dept. Autom. Contr, Lund Institute of Technology, 2004
[29] S. Hamman - Delphi, "Delphi Magneride System Specifications", Tech. Pres., 2005, Available:https://delphi.com/shared/pdf/ppd/chsteer/magneride.pdf
[30] J. S. Wilson, Sensor Technology Handbook, Elsevier, 2005
[31] J. G. Webster, The Measurement Instrumentation and Sensors Handbook, CRC Press 1999
[32] I. Sinclair, Sensors and Transducers, Butterworth Heinmann, 2001
[33] N. V. Kirianaki, Data Acquisition and Signal Processing for Smart Sensors, Wiley, 2002
[34] Gao B., Darling J., Tilley D.G., Williams R.A.,"Modelling and simulation of a semi-active sus-pension system", Proc. Eighteenth International Conference on Systems Engineering, Coven-try, U.K., 2006
[35] Sasaki, Kimiaki "A Lateral Semi-Active Suspension of Tilting Train", QR of RTRI, Vol. 41,No. 1, Mar. 2000
[36] R. K. Mehra, J. N. Amin, "Active Suspension Using Preview Information and Model PredictiveControl", Proc. IEEE Int., Conf. on Control Applications, 1997
[37] T. Gillespie, Fundamentals of Vehicle Dynamics, SAE, 1992
[38] M. Sayers, S. Karamihas, The Little Book of Profiling, University of Michigan, 1998
303
[39] S. Karamihas, "Task 16: Ride Measurement Experiment", Rep., University of Michigan Trans-portation Research Institute, Sept. , 2006
[40] D.C. Karnopp, M.J. Crosby, R.A. Harwood, "Vibration Control Using Semi-active Force Gen-erators" Trans. ASME, J. of Eng. for Ind., May 1974, pp. 619-626.
[41] B.S.I. Panel, Proposal for Generalized Road Inputs to Vehicles, ISO/TC 108/WG9 Document5, 1972
[42] M.S. Janoff, J.B. Nick, P.S. Davit, G.F. Hayhoe, Pavement Roughness and Rideability, NCHRPReport 275, Transportation Research Board, National Research Council, Washington, DC,1985.
[43] M. W. Sayers, S. M. Karamihas, Interpretation of Road Roughness Profile Data, FHWA-RD-96-101, Federal Highway Administration, U.S. Department of Transportation, Washington,DC, 1996
[44] American Society for Testing and Materials, E1926-98 (2003), Standard Practice of ComputingInternational Roughness Index of Roads From Longitudinal Profile Measurements, Volume4.03, Road and Paving Materials, Annual Book of ASTM Standards, West Conshohocken,PA, 2004.
[45] Achieving a High Level of Smoothness in Concrete Pavements Without Sacrificing Long-TermPerformance, Federal Highway Administration, Pub.No. FHWA-HRT-05-068, Oct. 2005
[46] American Society for Testing and Materials, Annual Book of ASTM Standards, Volume 4.03,Road and Paving Materials, Philadelphia, PA, 1999
[47] Mechanical vibration and shock — Evaluation of Human Exposure to Whole — Body Vibration.Part 1: General Requirements, ISOstandard2631-1, 1997
[48] T. Butsuen, "The Design of Semi-Active Suspensions for Automotive Vehicles", Ph.D. Disser-taion, MIT, 1989
[49] D. Hrovat, and M. Hubbard, "A comparison between jerk optimal and acceleration optimalvibration isolation" J. of Sound and Vibration, 1987, vol 12, pp. 1201-2210
[50] D. C. Rutledge, M. Hubbard, D. Hrovat, "A two DOF model for jerk optimal vehicle suspen-sions," Vehicle System Dynamics, 1996, Vol 25, pp. 113-136
[51] A. Hac, "Optimal linear preview of active vehicle suspension", Vehicle System Dynamics Vol21, 1992
[52] M. J. Crosby, D. C. Karnopp, "The Active Damper" The Shock and Vibrations Bulletin 43,Naval Research Laboratory, Washington, DC, 1973.
[53] D. C. Karnopp, M. J. Crosby, R. A. Harwood, "Vibration Control Using Semi-Active ForceGenerators" ASME J. Eng. Ind., 1974, 96, No. 2, pp. 619—626
[54] D.C. Karnopp, M.J. Crosby, "System for controlling the transmission of energy between spacedmembers", United States Patent No 3 807 678, 1974
[55] Y. Guy, M. W. Kerastas, R. E. Bruckman, "A Solenoid-Actuated Pilot Valve in a SemiactiveDamping System", SAE Paper No. 881139, 1988
[56] M. R. Jolly, L. R. Miller, "The Control of Semi-Active Dampers Using Relative FeedbackSignals", SAE Paper No. 892483, 1989
304
[57] J. D. Carlson, D. M. Catanzarite, K. A. St. Clair, "Commercial Magneto-Rheological FluidDevices" Proc. of the 5th Int Conf on ER Fluids, Magneto-Rheological Suspensions and As-sociated Technology, 1996, W. A. Bullough, ed., World Scientific Publishing, Singapore, pp.20-28
[58] Miao Yu, C. R. Liao, W. M. Chen and S. L. Huang, "Study on MR Semi-active SuspensionSystem and its Road Testing", J. Intelligent Material Systems and Structures, Vol.17 No.801May, 2006
[59] Valasek, M., Novak, M., Sika, Z. and Vaculın, O."Extended ground-hook - new concept ofsemi-active control of truck’s suspension. Vehicle", J. System Dynamics, 27:5-6, pp. 289—303,1997
[60] A. Alleyne, J. K. Hedrick, "Nonlinear Adaptive Control of Active Suspensions," IEEE Trans.on Control Systems Technology, 3:1, 94-101, 1995
[61] A. Moran, M. Nagai, "Optimal active control of nonlinear vehicle suspensions using neuralnetworks", JSME International Journal, 1994, 37(4) pp.707-718
[62] D. Guo, H. Hu, J. Yi "Neural Network Semi-active Control for Vibration of Vehicle Suspensionswith Magnetorheological Damper", J. Vibration Control, 2004, Vol.10, No 3, pp.461-471
[63] A.E. Baumal, J.J. McPhee, P.H. Calamai, "Application of Genetic Algorithms to the Opti-mization of an Active Vehicle Suspension Design", Computer Methods in Applied Mechanicsand Engineering, vol.163, pp.87-94, 1998
[64] H. Liu, K. Nonami, T. Hagiwara, "Semi-active Fuzzy Sliding Mode Control of Full Vehicle andSuspensions", J. Vibration and Control, Vol. 11, No. 8, pp.1025-1042, 2005
[65] A.G. Thomson, "Design of Active Suspensions", Proc. Inst. Mech. Eng., Vol 185, No.36, 1971
[66] A. Alleyne, R. Liu, "On the Limitations of Force Tracking Control of Hydraulic Servosystems",ASME J. Dynamic Systems Measurement and Control, Vol. 121, No. 2, June, 1999, pp. 184-190
[67] Y. Zhang A. Alleyne, "A Simple Novel Approach to Active Vibration Isolation With Electro-hydraulic Actuation", ASME J. Dynamic Systems Measurement and Control, Vol. 125, No.1,March , 2003, pp. 125-128
[68] S. Ikenaga, F.L. Lewis, J. Campos, L. Davis, "Active suspension control of ground vehiclebased on full-vehicle model" Proc. American Control Conf., pp. 4019-4024, Chicago, June2000
[69] S. Sjostrom, "Suspension system with improved resonance damping and a method for regulat-ing the suspension system", US Patent 5337864, August 16, 1994
[70] D. Karnopp, "Design principles for vibration control of systems using semi-active dampers",Trans. ASME, September, 1990, Vol. 112, pp.448-455
[71] L.R. Miller, C.M. Nobles, "Methods for eliminating jerk and noise in semi active suspensions",Trans. SAE, 1990, Sec. 2, pp.943-951, Paper No. 902284.
[72] E. Guglielmino, T. Sireteanu, C. W. Stammers, G. Ghita, M. Giuclea, Semi-active SuspensionControl, Springer, 2008
[73] R.T. Tong, "Ride control: a two states design for heavy vehicle suspension", PhD Dissertation,University of Illinois at Chicago, 2001
305
[74] S. Stamatov, M. Krishnan, S. Yost, "Low Jerk Predictive Force Modulation for Semi-ActiveSuspension Control", SAE International World Congress, Detroit 2008
[75] A. Stiller et al., Continental AG - "Adjustable Shock Absorber for a Motor Vehicle", US PatentNo.: US 6871731 B2, March, 2005 Patent
[76] M. Ahmadian, X. Song, S. Southward, "No-Jerk Skyhook Control Methods for SemiactiveSuspensions", Trans. ASME, 2004, Vol. 126, No4, pp.580-584
[77] M. Ahmadian, X. Song, B. Reichert S, Southward, "No-jerk semi-active skyhook controlmethod and apparatus", US Patent 6115658, Sept. 2000
[78] T. Yoshimura, A. Kume, M. Kurimoto, J. Hino, "Construction of an active suspension systemof a quarter-car model using the concept of sliding mode control" J. Sound and Vibration, Vol239, No2, pp.187—199, 2001
[79] D. Hrovat, D. L. Margolis, M. Hubbard, "An Approach Toward the Optimal Semi-ActiveSuspension" ASME J. Dyn. Syst., Meas., Control, 110, 1988
[80] D. Hrovat, "Survey of Advanced Suspension Developments and Related Optimal Control Ap-plications" Automatica, 33, 1997
[81] F. Bakhtiari-Nejad, A. Karami-Mohammadi, "Active Vibration Control of Vehicles With Elas-tic Body, Using Model Reference Adaptive Control", ASME J. Vibration and Control, 1998
[82] Sergio M. Savaresi1, "Mixed Sky-Hook and ADD: Approaching the Filtering Limits of a Semi-Active Suspension", ASME J. Dyn. Syst., Meas., Control, Vol 129, July 2007
[83] Xubin Song, Mehdi Ahmadian, "Characterization of Semiactive Control System Dynamicswith Magneto-Rheological Suspensions", to be published in 2008-2009
[84] Xubin Song, "Design of Adaptive Vibration Control Systems with Application to Magneto-Rheological Dampers", Ph.D. Dissertation, Virginia Polytechnic and State University, Blacks-burg, Virginia, 1999
[85] Xubin Song, Mehdi Ahmadian, Steve Southward, “An Adaptive Semiactive Control AlgorithmFor Vehicle Suspension Systems”, Proc. ASME IMECE, Washington, D.C., 2003
[86] Xubin Song, Mehdi Ahmadian, “Study of Semiactive Adaptive Control Algorithms withMagneto-Rheological Seat Suspension” Proc. SAE World Congress Detroit, Michigan, 2004
[87] Xubin Song, Mehdi Ahmadian, Steve Southward, Lane Miller, “An Adaptive Semiactive Con-trol Algorithm for Magnetorheological Suspension Systems”, J. of Vibration and Acoustics,Vol. 127 / 493, Oct 2005
[88] Mehdi Ahmadian, Nader Vahdati, “Transient Dynamics of Semiactive Suspensions with HybridControl”, J. of Intelligent Material Systems and Structures, 17; 145, 2006
[89] Y. Liu, T.P. Waters, M.J. Brennan ,“ A Comparison Of Semi-Active Damping Control Strate-gies For Vibration Isolation Of Harmonic Disturbances”, J. of Sound and Vibration 280, 2005
[90] Xubin Song, Mehdi Ahmadian, Steve Southward, “Analysis and Strategy for SuperharmonicsWith Semiactive Suspension Control Systems”, J. of Dynamic Systems, Measurement, andControl Vol. 129 / 795, Nov 2007
[91] J.A. Rossiter - "Model Based Predictive Control: a practical approach", CRC Press, 2003
306
[92] Sohel Anwar , Mohammad Hasan - "Sliding Mode Observer and Long Range Prediction BasedFault Tolerant Control of a Steer-By-Wire System"
[93] K. Belda, J. Böhm - "Multidimensional Input-Output Formulation of Adaptive PredictiveControl"
[94] Michael Nikolaou - "Model Predictive Controllers: A Critical Synthesis of Theory and Indus-trial Needs"
[95] Stephen Boyd, "EE363 Linear Dynamical Systems", Lecture Notes 2008, Stanford University
307
The End
308