Simulation-based multi-objective optimization of a fuzzy controller forsemi-active suspension
Louis BALZER(1) , Valentin MEES(1) , Jonathan MILLITZER(1) , Giovanni LAPICCIRELLA(1)(1) Fraunhofer Institute for Structural Durability and System Reliability LBF, Germany, louis.balzer@lbf.fraunhofer.de

Abstract
This paper presents a simulation-based design process for a fuzzy-controlled semi-active suspension systemapplied to a real-time vehicle simulation. Firstly a control architecture for the fuzzy-logic controller is defined.
Secondly different Genetic Algorithms (GAs) are configured for the optimization of the control parameters. A
multi-objective optimization is performed in order to simultaneously improve safety and comfort of the driving
vehicle, defined using two independent cost functions. The contact forces at the wheels estimate the driving
safety and the vibration in the car body indicates driving comfort. The performance of the controller is compared for each set of parameters obtained by the different GAs adopted. A reduced order real-time simulation
environment has been set up for a holistic vehicle simulation, which includes a Finite Element Model (FEM) of
the chassis, non-linear suspensions, multi-body physics and the designed digital controller. Finally, the real-timeenvironment is integrated into an overall optimization process and is used for fitness evaluation. The semi-active
system under test allows shifting the Pareto front beyond the limit of passive systems, achieving simultaneously
better safety and comfort. The different GAs come up with various near-optimal solutions, which are comparedusing their Pareto fronts.
Keywords: Genetic Algorithms, Semi-Active Suspension, Pareto Front, Multi-objective Optimization

1

INTRODUCTION

The suspension system of a vehicle is a key component for safety and comfort. Hence, the design of a vehicle
suspension system is of particular importance as safety and comfort are contradictory requirements and often a
trade-off between safety and comfort has to be chosen. The respective individual optimal solutions regarding
safety and comfort are characterized by a Pareto front. In order to overcome the limits of traditional suspension
systems, active suspensions provide improvements by applying an extra force along the in-parallel arrangementof the damper and the spring. Semi-active dampers provide a trade-off by changing the behavior of the damper
without the power requirements of an active system. Various control approaches have been the scope of pastand recent research activities. An application of fuzzy control for suspension can be found in [1] for the active
suspension of a motor coach. A fuzzy controller was also used to address the non-linearity of a semi-active
damper [2]. It creates four areas defined by the impact of the voltage at the damper on the dynamical system.
Feedback gains corresponding to those areas are used to calculate the reference for the voltage at the damper.
A commonly used control strategy for active or semi-active suspension is the skyhook controller. This method
consists in creating a virtual suspension between the vehicle and a fix point in the sky. A skyhook controller fora semi-active damper is proposed in [3] whereas the parameters of such a controller can further be optimized
to improve comfort and road holding [4]. In [5], sky- and groundhook controllers are applied to the semi-active
dampers of a complete vehicle model. In many cases, control parameters have to be optimized with regard toa specific target behavior. Several classes of Genetics Algorithms (GAs) were developed in order to find nearoptimal solutions to an optimization problem. GAs are metaheuristic methods based on the natural evolution of
a population: the survival of the fittest. Sets of parameters are seen as individuals who mate, mutate and are
selected according to objective functions. Distributed Evolutionary Algorithm in Python (DEAP) [6] provides alibrary to prototype such optimization processes. The optimization of a fuzzy controller for an active damper
via Particle Swarm Optimization (PSO) is described in [7], where the antecedents of the fuzzy control are

3265

optimized for a single objective. In a previous work [8], the authors of this paper compared different methods
for a semi-active damper with two objective functions: Evolution Algorithm (EA), Evolution Strategy (ES) andPSO.
This paper illustrates the application of a semi-active suspension which is driven by a fuzzy controller. As several control parameters have to be optimized simultaneously, the optimization makes use of the Python package
DEAP implementing an ES [9], where the mutation parameters are also taken into account in the evolutionary
process. The proposed multi-objective optimization uses the selection method of the Strength Pareto Evolutionary Algorithm 2 (SPEA2) described in [10]. For a fast simulation-based control design, a Python interface
manages the data transfer between the host PC running the Python DEAP package and a real-time simulation
hardware implementing a high-precision simulation model of the full vehicle.
Besides that, the paper is organized as follows: Firstly the system under test is presented, consisting of thesimulation model and the control method. Secondly the optimization of the parameters using an ES is described.
Eventually some simulations results are discussed in order to compare the control laws obtained by different
optimization settings against a sky-/groundhook method.

2

SYSTEM DESCRIPTION

The simulation model of the vehicle is based on a non-linear Multi-Body System (MBS) composed of thechassis, suspensions, wheels, tires and powertrain. A reduced order Finite Element Model (FEM) of the car
body includes 16 high-frequency modes of the car’s chassis up to 100 Hz. The semi-active dampers along withthe control law are implemented in Simulink. The excitation comes from a generated road profile and somedriving behavior based on interaction with the gas and brake pedals as well as with the steering wheel. Theinterfaces between the different parts can be found in Figure 1. The subsystems are interacting with each othervia velocities and forces.

Figure 1. Structure of the model of the vehicle and connection of the real-time simulation environment to the
Python DEAP package.
Only the FEM is a linear model. The MBS and the semi-active damper present non-linear behaviors, making amodel-based control difficult to implement and encouraging a simulation-based approach.
The current flowing through the damper determines its behavior: for 0 A the damper is hard i.e. its viscouscoefficient is high whereas it is soft (low viscous coefficient) for 1.5 A. In the following, the current in thedamper is normed by 1.5 A in order to deal with a value between 0 and 1. Figure 2 shows the structure of the
fuzzy controller.
The inputs are the displacement and the velocity differences x and v at the suspension. Corresponding weighting
factors ωdisp,i (x) and ωspeed, j (v), also called antecedents are computed according to the membership functions
x 7→ ωdisp,i (x) ∈ [0, 1] for i ∈ [1..Ndisp ]v 7→ ωspeed, j (v) ∈ [0, 1] for j ∈ [1..Nspeed ],

3266

(1)

Figure 2. Structure of the fuzzy controller. The current is calculated according to the velocity and the displacement of the suspension.
where Ndisp and Nspeed are respectively the number of membership functions related to the displacement andspeed. Each membership function has a triangular shape as in the left part of Figure 2 and is defined by its
center i.e. the position of its maximum. The output, i.e. the current flowing through the damper I is calculatedbyNspeed Ndisp

I= ∑∑ ωdisp,i (x)ωspeed, j (v)Ii, j(2)

j=1 i=1

where the Ii, j are the consequents of the controller, i.e. the value of the output at the points of the map formedby the partition of the velocity and the displacement. The fuzzy control law is defined by the positions of
the centers for the antecedents calculation and the entries of the 2-dimension table defining the consequents.
For comparison, a simple sky-/groundhook controller is implemented by merging a skyhook and a groundhook
controller. The skyhook controller sets the damper to its hard configuration (normed current of 0) if the velocityof the car body vbody has the same direction as the velocity difference of the suspension v. Otherwise thedamper is soft (normed current of 1).
(
0, if vbody v > 0
Isky =
1, otherwise(3)

The groundhook controller sets the damper to its hard configuration (normed current of 0) if the difference ofthe vertical velocities of the wheel and the road vwheel − vroad has the same direction as the velocity differenceof the suspension v. Otherwise the damper is soft (normed current of 1).
(
0, if (vwheel − vroad )v > 0
Iground =1, otherwise(4)

The resulting driving current I is then calculated using the weighted combination of the skyhook and groundhook output, where α ∈ [0, 1] is the weighting parameter:
I = αIsky + (1 − α)Iground .

(5)

3267

3

OPTIMIZATION WITH GENETIC ALGORITHM

Due to the large amount of control parameters to be optimized within a simulation-based control design procedure, an ES is chosen for parameter optimization. As stated before, the optimization is implemented within
the Python DEAP package [6]. An ES is a type of GA where an individual inherits the mutation properties
from its parents. It means for each gene there is a so-called strategy defining the standard deviation of themutation of this gene. For a more detailed explanation of the ES, the reader is invited to have a look at [9]. In
the following the implementation of the ES as used for the optimization of the fuzzy parameters is presented.
Two parents are generating two children by exchanging one part of their genome via the two points crossover method (Python DEAP: cxESTwoPoint). Two points are randomly chosen for both parents and the part of
the genome between those two points is exchanged to create the two children. Each gene has then the sameprobability of undergoing a mutation. When it does, the corresponding strategy first undergoes a multiplicative
mutation following a log-normal distribution (Python DEAP: mutESLogNormal). It means the current value ofthe strategy is multiplied by a factor y, where y is a realization of eX with X following a normal distribution.
The gene undergoes a normally-distributed mutation, where the standard deviation is the newly calculated strategy. Every child is then evaluated, i.e. its fitness is calculated by means of the related real-time simulation
environment (c.f. Figure 1). Since the fitness depends on the genome, it is expected that the individuals havedifferent fitnesses.Within the scope of the work presented, the fitness function is to be minimized, i.e. the aimof the algorithm is to reduce the fitness. Evaluating the fitness is the most time-consuming step, since it requires
to run a simulation, whereas all the other steps are only simple calculations. The selection process takes thebest individuals from the old population and the offspring to define the new population. This method is known
as (µ + λ )-selection. It has the advantage of ensuring convergence in the sense that the new population is atleast as good as the previous one. For multi-objective problems, the selection is not universally defined because
there is no canonical relation of order in multi-dimensional spaces. Thus the SPEA2 [10] selection process(Python DEAP: selSPEA2) is used. It is based on the Pareto front concept and the notion of domination: an
individual A dominates an individual B if and only if the values of the fitness of A are smaller than those of B
and at least one is strictly smaller. All the non-dominated individuals are forming the Pareto front.
3.1 Application to semi-active suspension
To optimize the multi-parameter control law of a semi-active damper, either the outputs (consequents) or boththe centers (antecedents) and the outputs form the genome of an individual. In this case the genome of eachindividual consists of parameters defining a fuzzy controller: the consequents and the positions of the centers.
In a previous work [8], the same authors only optimized the consequents. The consequents are normed currents
between 0 and 1 and the centers lie between ±4 m s−1 for the velocity and ±0.1 m for the displacement. When
only the consequents are optimized, the centers are uniformly set between ±2 m s−1 for the velocity and between±0.15 m for the displacement. The genome of an individual contains the information of the control law: theantecedents defines the membership functions of Equation 1 and the consequents are the parameters Ii, j ofEquation 2.
The fitness is composed of two values: one defining the safety and one defining the comfort. An individual isevaluated by running the simulation of a car with the control parameters corresponding to its genome for thetime Tsim . The two objective functions defining the fitness are computed from the simulation results. The safety
cost Jsafety takes into account the contact forces Fi between the tires i and the road: when those are smaller
than a given threshold F0 , the square of the difference increases the cost as in Equation 6.
Jsafety =1Tsim

Z Tsim 40∑ min ((Fi (t) − F0 ), 0)2 dt

(6)

i=1

The comfort cost Jcomfort takes into account the derivative of the velocity of a point in the car body (i.e. theseat rail) vlf , filtered (Butterworth low-pass filter, order: 8, cut-off frequency: 10 Hz) in order to penalize only
the low frequencies up to 10 Hz.

3268

1
Jcomfort =Tsim

Z Tsim 02dvlf (t) dt
dt(7)

In this application, the ES runs for 100 generations and the population consists of 20 individuals for eachgeneration.

4

SIMULATION RESULTS

Several simulations are run with different controllers. The first configuration involves a setup where each controller configuration is characterized by a constant damper current (Constant). The Sky/ground controller configuration implements a sky-/groundhook control (c.f. Equation 5) with different weight values α. The third
configuration ES25 indicates a fuzzy controller according to Equation 2 where five membership functions are
selected for the velocity and displacement input respectively which leads to a total of 25 consequents to be optimized. The fourth configuration ES100 increases the number of membership functions to a total of ten for thevelocity and the displacement input respectively leading to a total of 100 consequents to be optimized. Within
the last configuration ES25+10, again five membership functions for the velocity and the displacement input
are used leading to the optimization of 25 consequents, together with the centers of the membership functions
ωspeed, j and ωdisp,i for the velocity and the displacement input respectively. The last configuration involves a
total of 35 independent control parameters to be optimized by means of the ES.
In Figure 3 the fitnesses of the individuals of each of the 100 generations are represented for the ES with
optimizations of centers and consequents: ES25+10.

Figure 3. Generations 1 to 100 of the ES25+10.
The first generation is spread out over a large area with high costs. With increasing generation number, due tothe selection process both fitnesses decrease, leading to better trade-off between safety and comfort. Also, theformation of a Pareto front indicating a multitude of respective optimal parameter configurations is becoming
obvious in this illustration. The different controller configurations are compared by the evaluation of their Pareto
front after 100 generations in Figure 4.
The sky-/groundhook control Sky/ground is found to be slightly better than the configuration Constant implementing a constant current. Also it should be noted, that the Sky/ground configuration only forms a small setof solutions mainly varying the driving comfort for different control parameters. The optimized fuzzy controller
ES25 with 25 parameters shows better performances for both driving safety and comfort with a large Pareto
front and the configuration ES100 with 100 parameters is even better. The best performance for both driving

3269

Figure 4. Pareto fronts of the ESs after 100 generations versus constant current and sky-/groundhook.
safety as well as comfort is achieved by the ES25+10 configuration. This configuration also shows a small
Pareto front concentrating control parameter configurations leading to high driving safety and comfort. The
non-intuitive results is that ES25+10 is better than ES100. It shows optimizing the centers has a significant
impact and is highly advisable compared to just increasing the number of consequents.
An exemplary parameter set for an optimized fuzzy controller obtained by ES25+10 is represented by two
illustrations in Figure 5. Figure 5a underlines the relationship between the centers related to the velocity, theones related to the displacement and the values of the consequents. In Figure 5b, the values of the same
individual are interpolated in order to describe the control law by presenting directly the normed current as afunction of the velocity and the displacement of the input of the fuzzy-based suspension controller.

(a) Genome of an individual.

(b) Inputs-Output law.

Figure 5. Representations of an exemplary optimized fuzzy controller (with ES25+10). The blue points in (b)are the position of the centers, i.e. the entries of (a).
It can be seen in Figure 5a for this member of the Pareto front of ES25+10 that some centers are very close
to each other and the corresponding consequents are very different. For example the current changes drastically3270

for a small change of displacement: 0 to 1 when the displacement changes from −0.065 m to −0.062 m for avelocity of −1.2 m s−1 . It sharpens the control law representation of Figure 5b.
To evaluate the robustness of the solutions, the Pareto fronts of the controller configurations Constant, ES25
and ES25+10 are evaluated with new simulations. The model of the vehicle stays the same, but the external
excitations are different: a new road profile is used and the driver adopts a new behavior. The resulting fitnesses
are presented in Figure 6.

Figure 6. Evaluation of the Pareto fronts with different external conditions.
Comparing the results for a different excitation mechanism, again confirms the results gained by the previous
investigation. Even though a slightly higher driving comfort can be achieved with a constant damper current(Constant) for the given excitation mechanism, a higher driving safety whilst maintaining a comfortable overall behavior at the same time can only be achieved by introducing fuzzy-based suspension control. Obviously,a suitable control parameter configuration has to be selected from the Pareto front of the design space. Interestingly, all parameter configurations of the ES25+10 configuration show a comparable better performancecompared to a fixed current setup.

5

CONCLUSIONS

A simulation-based approach was used to develop a control law for the semi-active suspension of a vehicle.
Following an Evolution Strategy, a near-optimal fuzzy controller was implemented to increase comfort and safety
in the vehicle in comparison to simple control laws: sky/groundhook and constant current. The robustness wasbriefly investigated by evaluating the solution with different external conditions. One main aspect is that themodel of the vehicle is only used to evaluate the fitness. Therefore the proposed method is highly flexible andcan be used with models of different structure, representation or complexity as long as it can be simulated andyields meaningful fitness values. One of the remaining challenges is the estimation of the distance between theobtained near-optimal solutions and the optimal solution.
The results obtained within the scope of this work further motivate the development of automatized NVH design
processes based upon multi-objective optimization. Combined with the increasing accuracy of simulation-based
NVH design processes, this will possibly open up new application areas of complex adaptive NVH systems
based upon multi-parameter fuzzy-based control approaches.

3271

ACKNOWLEDGEMENTS
This work was supported by the research project Digitalization in testing technology funded by Fraunhofer Institute for Structural Durability and System Reliability LBF. The support is greatly acknowledged. Special thanks
go to Christoph Tamm and Riccardo Bartolozzi, who were responsible for implementing the FEM and MBS
models used in the real-time simulation.
The authors would like to thank OPAL-RT Germany GmbH for providing a real-time simulator OP4510 for
significantly accelerating the simulation-based control design process. By doing so, the authors gained oneorder of magnitude for the time needed to run the optimization algorithm.

REFERENCES[1] Yoshimura, T.; Isari, Y.; Li, Q.; Hino, J. Active suspension of motor coaches using skyhook damper andfuzzy logic control. Control Engineering Practice, Vol 5 (2), 1997, pp 175-184.
[2] Tang, X.; Du, H.; Sun, S.; Ning, D.; Xing, Z.; Li, W. Takagi-Sugeno fuzzy control for a semi-active
vehicle suspension system with an magneto-rheological damper and experimental validation. IEEE/ASME
Transactions on Mechatronics, Vol 22, 2017, pp 291-300.
[3] F. Yao, G.;Yap, F.F.; Chen, G.; Li, W.; H. Yeo, S. MR damper and its application for semi-active controlof vehicle suspension system. Mechatronics, 12, 2002, pp 963-973.
[4] Poussot-Vassal, C.; Sename, O.; Dugard, L.; Ramírez-Mendoza, R.A.; Leonardo, F. Optimal skyhook control
for semi-active suspensions. Proceedings of the 4th IFAC Symposium on Mechatronics Systems, Heidelberg,
Germany, September 12-14, pp 608-613.
[5] Lozoya-Santos, J.J.; Morales-Menendez, R.; Ramirez-Mendoza, R.A. Evaluation of on–off semi-active vehicle suspension systems by using the hardware-in-the-loop approach and the software-in-the-loop approach.
Proceedings of the Institution of Mechanical Engineers, Part D: Journal of Automobile Engineering, Vol 229(1), 2015, pp 52–69.
[6] Fortin, F.A.; De Rainville, F.M.; Gardner, M.A.; Parizeau, M.; Gagné, C. DEAP: Evolutionary algorithms
made easy. Journal of Machine Learning Research, Machine Learning Open Source Software (13), 2012, pp
2171-2175.
[7] Elena Herrera, I.; Mandow, A.; Garcia, A. Using particle swarm optimization for fuzzy antecedent parameter identification in active suspension control. 26th Mediterranean Conference on Control and Automation(MED), Zadar, Croatia, June 19-22, 2018. In CD-ROM.
[8] Mees, V.; Balzer, L.; Lapiccirella G.; Millitzer, J. Pareto-Optimierung eines Systems zur aktiven
Schwingungsminderung mit Hilfe evolutionärer Algorithmen und Echtzeitsimulation am Beispiel eines semiaktiven Dämpfers. 4SMARTS, Darmstadt, May 22-23, 2019. (unpublished, accepted)[9] Beyer, H.G.; Schwefel, H.P. Evolution strategies - A comprehensive introduction. Natural Computing, (1).
pp 3-52.
[10] Zitzler, E.; Laumanns, M.; Thiele, L. SPEA2: Improving the strength pareto evolutionary algorithm, TIKReport 103, Swiss Federal Institute of Technology (ETH) Zurich, 2001.

3272