1 Introduction

The primary function of a vehicle suspension system is to isolate passengers and the chassis from the roughness of the road to provide a more comfortable ride and to increase the road handling. In the other words, a very important role of the suspension system is the riding control (Guclu and Gulez 2008; Güçlü 2003).

Engineers and researchers in the automotive industry field devoted particular attention to discuss the problem of vehicle suspension control in order to improve the characteristics of both ride comfort and driving safety. The developments on suspension system start from passive suspension system to intelligent suspension system. The intelligent suspension system includes control strategies, sensor technology and actuators that are added with passive components to improve the riding and handling qualities for modern vehicles. By using this arrangement, significant achievements in vehicle response can be carried out, where the suspension systems become controllable systems (Lajqi and Pehan 2012; Lin and Lian 2011).

There are many types of actuators which can be connected in parallel with the passive elements to improve the riding control such as hydraulic actuator, magneto-rheological actuator or pneumatic actuator. In this work, nonlinear hydraulic actuators are used.

Due to fast developments in the control technology, electronically controlled suspension has gained more interest for improving the riding requirements. Many types of controller systems such as adaptive control, LQR, LQG, \(H_{\infty }\) control are developed for vehicle suspensions model with active components to obtain more comfortable riding for passengers and guarantee road handling for the vehicle (Guclu and Gulez 2008; Ansari and Taparia 2013; Güçlü 2003).

One of the most important control systems is the self-tuning fuzzy logic control that has developed rapidly in the last two decades as the effective alternative to some conventional controls. It has shown success in many control strategies and engineering applications in particular when the ability to describe the system model mathematically becomes more difficult or even impossible due to highly nonlinear, time variant and ill-defined processes. Mathematical model of a system is required for designing the conventional controllers. While the fuzzy logic-based control theory is a rule based on system, hence it does not require a mathematical model because it depends on the expertise of designer (Lee 1990a; Yue et al. 2008; Rao and Anusha 2013).

Without doubt, the nonlinearity and uncertainties inherently exist in the suspension system; therefore, the nonlinear effect has to be taken into account when designing the robust control system. The complexity and the nonlinearity inherently exist in most practical systems which present a big challenge for designing robust controllers for these systems (Buckley and Ying 1989). Knowledge-based control more and more tries to integrate the knowledge of human operators or process engineers into the controller’s design. Fuzzy control shows good performance for controlling nonlinear and uncertain systems that could not be controlled satisfactorily using conventional PID controller. The main advantages of the fuzzy logic controller (FLC) are: It can be applied to plants that are difficult to model mathematically and the controller can be designed to apply heuristic rules that reflect the experience of human experts.

Despite this success, there are some significant drawbacks in this approach, especially in the design of fuzzy controllers, which unlike traditional controllers has several effective parameters that can be adjustable. While there is no systematic process or general rules to tune these parameters, the designing task is not easy and relies on the quality of the human expert. In other words, it needs specialist knowledge and requires a great deal of time to adjust the control parameters. Also, it is often hard to justify the choices for many parameters in the fuzzy controller (e.g., the membership functions, rules and scaling gains) (Buckley and Ying 1989; Layne and Passino 1996; Saeed and Mehrdadi 2011).

The membership functions (MFs) and the rules base represent the key components in fuzzy control system. The determination of the most appropriate membership functions and its boundaries consisting of the rule base makes significant effects on the final implementation of the controller. Traditionally, the selection of good performance membership functions relies on human experience, or it can be done by tedious trial and error method. These methods consume effort and time while they do not always represent an optimal fuzzy controller design. So that, one of the optimization methods should be used for choosing the optimal parameters of membership functions (Abedinia et al. 2011; Pelusi 2011).

To overcome the drawbacks of traditional fuzzy control system, some authors presented several optimization techniques to optimize the parameters that define the membership functions. The techniques that have been utilized to optimize the parameter of fuzzy membership functions are genetic algorithm (GA), artificial neural network (ANN), particle swarm optimization (PSO) and so on. One of these algorithms is the artificial bee colony (ABC) proposed by Karaboga (2005) and Turanoglu et al. (2011).

In this paper, the mathematical model for full vehicle nonlinear active suspension systems with eight degrees of freedom and included a passenger seat with nonlinear hydraulic actuators has been derived to take into consideration all the motions of the vehicle (vertical motion, pitching movement and rolling movement). To improve the performance of the vehicle suspension system with FLC and also to eliminate the previous fuzzy control drawback, the ABC-based approach is proposed for the simultaneous off-line tuning of MFs of a fuzzy logic controller by considering an efficient optimization formulation. This proposed fuzzy control scheme based on ABC optimization algorithm is called (ABCF). The ABC algorithm is a robust searching and optimization technique that has been applied in many practical researches and has proved its superior capabilities, such as faster convergence and better global minimum achievement (Turanoglu et al. 2011).

2 Mathematical Model for Full Vehicle Nonlinear Active Suspension System with Passenger Seat

A full vehicle model with eight degrees of freedom (8DOF) is considered for analysis to investigate the problem of balancing riding comfort and road handling, where a passenger seat is included in the vehicle model to predict the response of the passenger due to road disturbances as shown in Fig. 1. A number of researchers dealt with the suspension models as linear system by ignoring the nonlinear behavior of suspension systems in order to simplify the mathematical model of full vehicle. But on the other hand, the results will become more realistic when taking into consideration the effects of nonlinearities behavior of suspension systems such as dry friction on dampers and springs. Therefore, in this work, the effects of the nonlinearities forces which inherently exist in damper, spring and actuator have been taken into consideration.

Fig. 1
figure 1

Full vehicle model with 8DOF

As shown in Fig. 1, the full vehicle nonlinear active suspension system with a passenger seat model, which is used in this study, consists of:

  1. 1.

    Sprung mass (Ms) refers to the part of the car that is supported on springs.

  2. 2.

    Unsprung mass (Mus) refers to the mass of wheel assembly or, in other words, the unsprung mass is the total mass of the components under the suspension system.

  3. 3.

    Passenger seat.

In this model, the tires have been replaced with their equivalent stiffness and damping. The tires are modeled by linear springs in parallel with linear dampers, while the suspension systems and passenger seat are modeled by nonlinear hydraulic actuators which are connected in parallel with nonlinear springs and nonlinear dampers. The spring in the model of the tire and suspension system has stiffness coefficient labeled as kti and ksi, respectively, whereas the damper in the model of the tire and suspension system has damping coefficient labeled as cti and csi, respectively.

In order to control the vehicle body motions, the vehicle model sprung mass is considered to have 3DOF. They are represented by three types of motions: heave motion, rolling motion and pitching motion. While passenger seat and four unsprung mass have 1DOF for each, it is represented by heave motion. The mathematical model was derived based on the work carried out in Riaz and Khan (2016), Aldair (2012).

Based on the Newton’s third law of motion, the differential equations of the full vehicle nonlinear active suspension system can be obtained as explained below.

The heave motion of sprung mass can be written as

$$M_{\rm{s}} \ddot{z}_{\rm{c}} = - \mathop \sum \limits_{i = 1}^{5} F_{{{\rm{ks}}i}} - \mathop \sum \limits_{i = 1}^{5} F_{{{\rm{cs}}i}} + \mathop \sum \limits_{i = 1}^{5} F_{i}$$
(1)

where Fksi are the nonlinear forces of ith spring, Fcsi are the nonlinear forces of ith damper, and Fi is the applied nonlinear force between the sprung mass and unsprung masses which is generated from ith hydraulic actuator. Those nonlinear forces can be written as

$$F_{{{\rm{ks}}i}} = K_{{{\rm{s}}i}} \left( {z_{{{\rm{s}}i}} - z_{{{\rm{us}}i}} } \right) + \zeta K_{{{\rm{s}}i}} \left( {z_{{{\rm{s}}i}} - z_{{{\rm{us}}i}} } \right)^{3}$$
(2)
$$F_{{{\rm{cs}}i}} = C_{{{\rm{s}}i}} \left( {\dot{z}_{{{\rm{s}}i}} - \dot{z}_{{{\rm{us}}i}} } \right) + \zeta C_{{{\rm{s}}i}} \left( {\dot{z}_{{{\rm{s}}i}} - \dot{z}_{{{\rm{us}}i}} } \right)^{2} {\rm{sgn}}\left( {\dot{z}_{{{\rm{s}}i}} - \dot{z}_{{{\rm{us}}i}} } \right)$$
(3)
$$F_{i} = F_{{{\rm{h}}i}} - F_{{{\rm{f}}i}}$$
(4)

where \(z_{{{\rm{us}}i}}\) (for i = 1,…,4) are vertical displacements for each corner point of unsprung masses and \(z_{{{\rm{us}}i }}\) (for i = 5) is the vertical displacement of passenger seat. \(\zeta\) is the empirical operator, \(F_{{{\rm{h}}i}}\) is the ith nonlinear hydraulic force, and \(F_{{{\rm{f}}i}}\) is the ith nonlinear frictional force.

The force \(F_{{{\rm{h}}i}}\) that is generated by the ith hydraulic actuators can be written as

$$F_{{{\rm{h}}i}} = A_{\rm{p}} P_{{{\rm{L}}i}}$$
(5)

where \(P_{{{\rm{L}}i}}\) is the pressure across the ith actuator’s piston or the load pressure, which can be written in terms of spool valve displacement \(x_{{{\rm{v}}i}}\) as:

$$\begin{aligned} \dot{P}_{{{\rm{L}}i}} & = - \beta P_{{{\rm{L}}i}} - \sigma A_{\rm{p}} \dot{x}_{{{\rm{p}}i}} \\ & \quad + \sigma C_{\rm{d}} \omega x_{{{\rm{v}}i}} \sqrt {\frac{1}{\rho }\left( {P_{{{\rm{s}}i}} - {\rm{sgn}}\left( {x_{{{\rm{v}}i}} } \right)P_{{{\rm{L}}i}} } \right)} \\ \end{aligned}$$
(6)

where \(x_{{{\rm{p}}i}}\) is the difference between the vertical displacement of ith corner of sprung mass \(z_{{{\rm{s}}i }}\) and the vertical displacement of corresponding ith unsprung mass \(z_{{{\rm{us}}i}}\), i.e., \(x_{{{\rm{p}}i}} = z_{{{\rm{s}}i}} - z_{{{\rm{us}}i}}\).

The actuator friction represents the friction associated with mechanical surfaces rubbing together, bearing friction and viscous friction. This frictional force is a significant value and cannot be neglected. Frictional forces are modeled with an approximation of Signum function (Rajamani and Hedrick 1995). Therefore, the mathematical model of frictional forces can be written as:

$$F_{{{\text{f}}i}} = \left\{ {\begin{array}{*{20}l} {\mu \,{\text{sgn(}}\dot{x}_{{{\text{p}}i}} )} \hfill & {{\text{for}}\quad \left| {\dot{x}_{{{\text{p}}i}} } \right| \ge 0.01} \hfill \\ {\mu \,{ \sin }\left( {\frac{{\pi \dot{x}_{{{\text{p}}i}} }}{0.02}} \right)} \hfill & {{\text{for}}\quad \left| {\dot{x}_{{{\text{p}}i}} } \right| < 0.01} \hfill \\ \end{array} } \right.$$
(7)

where µ is the empirical operator.

The rolling motions of the sprung mass can be given as:

$$\begin{aligned} J_{x} \ddot{\alpha } & = \left( {\left( {F_{{{\text{ks}}1}} - F_{{{\text{ks}}2}} - F_{{{\text{ks}}3}} + F_{{{\text{ks}}4}} } \right)\frac{b}{2} + b_{\text{s}} F_{{{\text{ks}}5}} } \right) \\ & \quad + \left( {\left( {F_{{{\text{cs}}1}} - F_{{{\text{cs}}2}} - F_{{{\text{cs}}3}} + F_{{{\text{cs}}4}} } \right)\frac{b}{2} + b_{\text{s}} F_{{{\text{cs}}5}} } \right) \\ & \quad + \left( {\left( {F_{3} - F_{1} + F_{2} - F_{4} } \right)\frac{b}{2} - b_{\text{s}} F_{5} } \right) + T_{x} \\ \end{aligned}$$
(8)

where Jx is the roll moment of inertia about x axis and Tx is the cornering torque.

The pitching motion of sprung mass can be written as

$$\begin{aligned} J_{y} \ddot{\eta } & = \left( {F_{{{\text{ks}}3}} + F_{{{\text{ks}}4}} } \right)l_{2} - \left( {F_{{{\text{ks}}1}} + F_{{{\text{ks}}2}} } \right)l_{1} + l_{\text{s}} F_{{{\text{ks}}5}} \\ & \quad + \left( {F_{{{\text{cs}}3}} + F_{{{\text{cs}}4}} } \right)l_{2} - \left( {F_{{{\text{cs}}1}} + F_{{{\text{cs}}2}} } \right)l_{1} + l_{\text{s}} F_{{{\text{cs}}5}} \\ & \quad + \left( {F_{1} + F_{2} } \right)l_{1} - \left( {F_{3} + F_{4} } \right)l_{2} - l_{\text{s}} F_{5} + T_{y} \\ \end{aligned}$$
(9)

where Jy is the pitch moment of inertia about y axis. Ty is the braking torque.

The heave motion of unsprung masses can be governed by the following equation

$$M_{{{\text{us}}i}} \ddot{z}_{{{\text{us}}i}} = - k_{{{\text{t}}i}} \left( {z_{{{\text{us}}i}} - u_{{{\text{r}}i}} } \right) - c_{{{\text{t}}i}} \left( {\dot{z}_{{{\text{us}}i}} - \dot{u}_{{{\text{r}}i}} } \right) + F_{{{\text{ks}}i}} + F_{{{\text{cs}}i}} - F_{i}$$
(10)

where uri is the road input.

3 Fuzzy Logic Controller (FLC)

The first fuzzy logic controller was developed by E. H. Mandeni in 1975 for practical application to a steam engine. The dynamic behaviors of a fuzzy system in the FLC are characterized by a set of linguistic description rules based on expert knowledge and do not demand the mathematical modeling knowledge (Singh and Aggarwal 2016). These rules are linguistic in nature and always utilize a simple cause and effect relationship to link a fuzzy partitioning of a certain state space of the system to a precise control signal utilizing an appropriate defuzzification process (Lee 1990a; Al-Holou et al. 1996).

Typical FLC consists of three principal components: fuzzification, inference mechanism and defuzzification as illustrated in Fig. 2.

Fig. 2
figure 2

Block diagram of the FLC

  • Fuzzification

The first step in the FLC is the fuzzifier, which is associated with the inaccuracy and vagueness in natural language. The fuzzification is the process that converts the numerical input (the most variables in the real word are found as crisp or classical variables) to the relevant fuzzy variable known as linguistic variable which utilized its own fuzzy sets and their proper membership functions. Then, these data are used in the fuzzy inference process to obtain the desired output. Fuzzification plays a main role in coping with uncertain information which may be subjective or objective in nature (Yue et al. 2008; Bai and Wang 2006).

  • Inference mechanism

The inference mechanism has two principal jobs. In the first job, the premises of all rules are compared to the controller inputs to determine which rules can be applied to the present status. This step is called matching. In the second job, the conclusions are calculated utilizing the active present rules. This step is called inference. The important item to focus on is how to quantify the logical operation “and” in the premise part of the rules. There are several methods for introducing the value of the premise part of qth fuzzy rule \((\mu_{{{\text{premise}}\left( {q } \right)}} )\) when the “and” operator is used (Aldair 2012).

  1. 1.

    Minimum It is defined as:

    $$\mu_{{{\text{premise}}\left( {q } \right)}} = \hbox{min} \left\{ {\mu_{{A_{1}^{j,q} }} (u_{1} ), \mu_{{A_{2}^{j,q} }} (u_{2} ),\, \ldots ,\,\mu_{{A_{n}^{j,q} }} (u_{n} )} \right\}.$$
  2. 2.

    Product It is defined as:

    $$\mu_{{{\text{premise}}\left( {q } \right)}} = \mu_{{A_{1}^{j,q} }} (u_{1} )* \times \mu_{{A_{2}^{j,q} }} (u_{2} )*\, \ldots *\,\mu_{{A_{n}^{j,q} }} (u_{n} ).$$

The value of the conclusion part of qth fuzzy rule (\(\mu_{\left( q \right)} (y_{s} )\)) can be explained by utilizing one of the following shapes

  1. i.

    Minimum It is defined as:

    $$\mu_{\left( q \right)} \left( {y_{s} } \right) = { \hbox{min} }\left\{ {\mu_{{{\text{premise}}\left( {q } \right)}} ,\mu_{{\tilde{B}_{s}^{r,q} }} \left( {y_{s} } \right)} \right\}.$$
  2. ii.

    Product It is defined as:

    $$\mu_{\left( q \right)} \left( {y_{s} } \right) = \mu_{{{\text{premise}}\left( {q } \right)}} *\mu_{{\tilde{B}_{s}^{r,q} }} \left( {y_{s} } \right)$$

where \(\mu_{{\tilde{B}_{s}^{r,q} }} \left( {y_{s} } \right)\) is the output membership function that corresponds to the present rule.

  • Defuzzification

It is the last step in the FLC, where the control outputs are derived from the incorporation of input, membership function and fuzzy rules. The defuzzification is mapping from a space of the fuzzy control action defined over an output universe of discourse into a space of the nonfuzzy control action. This process is necessary because the crisp control action is required in many practical applications. In most cases, the input for the defuzzification process is a fuzzy set and the output is a single number (Yue et al. 2008; Lee 1990b).

The commonly utilized strategies to perform the defuzzification process may be described as:

  1. A.

    The center of area (COA) method

The COA method is widely used to describe the defuzzification stage. It generates the center of gravity (COG) of the possibility distribution of the implication fuzzy output. The output of the fuzzy system can be calculated by the following equation (Lee 1990b):

$$y_{s}^{\text{crisp}} = \frac{{\mathop \sum \nolimits_{q} b_{q} \int {\mu_{\left( q \right)} \left( {y_{s} } \right)} }}{{\mathop \sum \nolimits_{q} \int {\mu_{\left( q \right)} \left( {y_{s} } \right)} }}$$
(11)

where bq denotes the center of the membership function of the consequent of qth rule, at which the membership function reaches the maximum value. The term \(\int {\mu_{\left( q \right)} \left( {y_{s} } \right)}\) is the area under the membership function \(\mu_{\left( q \right)} \left( {y_{s} } \right)\).

  1. B.

    The mean of maximum (MOM) method

The MOM method generates a control action which represents the mean value of all local control actions whose membership functions reach the maximum. More specifically, in the case of a discrete universe, the control action may be expressed as (Lee 1990b)

$$y_{s}^{\text{crisp}} = \frac{{\mathop \sum \nolimits_{q} b_{q} }}{n}$$
(12)

where n is the number of output that has the highest values.

4 Artificial Bee Colony Algorithm (ABC)

In the last years, with the growth of computer technology, the Swarm Intelligence (SI) inspired by social insects has become one of the most interesting research areas to many scientists of related fields and has attracted much attention. Swarm Intelligence is defined by Bonabeau as (any trying to design algorithms or distributed problem-solving devices inspired by the collective behavior of social insect colonies and other animal societies…). In general manner, the term swarm is utilized to indicate any restrained collection of individuals or interacting agents (Karaboga 2005; Liao et al. 2014). The development of Swarm Intelligence algorithms has been expanded in the utilization of optimization techniques and improved the reliability of the optimization results obtained by classic approaches. The aim of these optimization algorithms is to find a set of values for the parameters that have been suggested for solving difficult optimization problem due to their production of effective solutions for problems in an acceptable time and simple structure. There are many complex multivariable optimization problems with arbitrarily high dimensionality which cannot be certifiably solved within bounded computation time. So search algorithms capable of finding near-optimum or at least practically good solutions within reasonable computation time have drawn the attention of the scientific community (Yan and Li 2011; Alam and Islam 2011).

One of these algorithms is the ABC algorithm proposed by Karaboga (2005). The natural behavior of bees and their collective activities in their colony such as memorizing, learning and information sharing characteristics in their hives have attracted researchers for developing optimization algorithm (Yan and Li 2011).

Artificial bee colony is a bio-inspired optimization algorithm that mimics food foraging behavior of bee colonies, where the action of the honey bees foraging is the main element of the ABC algorithm. This algorithm has attracted much attention due to it has lesser number of control variables and superior convergence, so it is well suited to solve multidimensional optimization problems. The colony of artificial bees contains two kinds of bees: employed and unemployed bees (Pareek et al. 2014).

In the ABC algorithm, the first half of the colony constitutes the employed bees and the second half constitutes the onlooker bees, and it is assumed that for every food source there is only one employed bee. In other words, the number of employed bees is equal to the number of food sources around the hive, so the number of the employed bees or the onlooker bees is equal to the number of solutions in the population (Karaboga and Basturk 2007).

5 The Procedures of ABC Algorithm

The classical ABC algorithm includes four phases: initialization, employed, onlooker and scout bee phase as will be discussed below.

5.1 Initialization Phase

In this phase, at first the ABC parameters like maximum cycle number, colony dimension, limit parameter and numbers of variables are initialized. Then, initializing the population with FS feasible solution (food sources) \(x_{s} \left( {s = 1,2, \ldots ,{\text{FS}}} \right)\) is generated randomly for each employed bee, where FS denotes the size of population (or number of employed bees) and each solution of xi is represented by D-dimensional vector, and D represents number of food source or the number of optimization parameters (Kishor and Singh 2015).

After producing new solutions for the employed bees, the fitness values (nectar amount) of each individual solution are calculated (Kishor and Singh 2015), and the fitness function used in this study is described in Eq. (13)

$${\text{fit}}_{\text{s}} = \frac{1}{{1 + f\left( {X_{\text{s}} } \right)}}$$
(13)

where \(f\left( {X_{\text{s}} } \right)\) is the objective function, and in this study an objective function is ISE cost function determined from Eq. (14):

$$J_{\text{c}} = \sum e\left( t \right)^{2}$$
(14)

where e(t) is the error signal.

5.2 Employed Bee Phase

Each employed bee flies to the food source (solution) area which exists in its memory since it visited that food source by itself previously and then produced a modification on this solution (position) by means of the local information, and a new food source within the neighborhood of its current food source is determined by the following Eq. (15) (Karaboga et al. 2007):

$$v_{{{\text{s}}j}} = x_{{{\text{s}}j}} + \varphi_{{{\text{s}}j}} \left( {x_{{{\text{s}}j}} - x_{nj} } \right);\;{\text{s}},n \in \left\{ {1,2, \ldots ,{\text{FS}}} \right\};\;j \in \left\{ {1,2, \ldots ,D} \right\}$$
(15)

where \(v_{{{\text{s}}j}}\) is the candidate food source (new solution). \(\varphi_{{{\text{s}}j}}\) is a uniformly distributed real number determined randomly within the range [− 1, 1]. \(x_{nj}\) is the jth dimension of the neighbor employed bee. s represents the current iteration. n, j are the index of the solution determined randomly (\(n \ne s\)).

Then, the nectar amounts (i.e., fitness value) for the new sources (new solution) are evaluated by Eq. (13), after that a greedy selection process is applied between old and new solutions. If the nectar amount of the new source is higher than the old one, then the employed bee memorizes and exploits the new solution and ignores the old one. Otherwise, the new food source will be forgotten and the old one will be retained, and it should be mentioned that of all given cycles only one solution of an employed bee is modified at each iteration (Liao et al. 2014).

5.3 Onlooker Bee Phase

After all employed bees complete their search process, they share the position of food source and nectar amount information with onlooker bee which is waiting at the dance area, observing the waggle dance. Then, the quantity of a solution (xs) is evaluated by the probability value (Ps) described in Eq. (16) (Liao et al. 2014).

$$P_{\rm{s}} = \frac{{{\rm{fit}}_{\rm{s}} }}{{\mathop \sum \nolimits_{m = 1}^{\rm{FS}} {\rm{fit}}_{\rm{m}} }}$$
(16)

where fits is the fitness value of the solution vs.

Then, each onlooker bee chooses an employed bee (food source) depending on the probability value of food source, after that each onlooker bee xs carries out a random search around the selected food source to produce the new solution vs by using its employed bee vn as in Eq. (15). Then, the fitness of each onlooker bee is evaluated and greedy selection scheme is applied, and if the new solution is better than the old solution, the old solutions are replaced with the new one (Alam and Islam 2011; Ren et al. 2016).

5.4 Scout Bee Phase

If the profitability (fitness) of a particular food source is not improved further through a certain number of cycles, it is considered that this food source is abandoned and the employed bee associated with this solution becomes a scout bee, and these scout bees begin a search randomly in order to discover new solution using Eq. (15) (Kishor and Singh 2015).

$$x_{{{\rm{s}}j}} = x_{j}^{ \hbox{min} } + {\text{rand}}\left( {0,1} \right)*\left( {x_{j}^{ \hbox{max} } - x_{j}^{ \hbox{min} } } \right)$$
(17)

where \(x_{j}^{ \hbox{max} }\) and \(x_{j}^{ \hbox{min} }\) are the upper and lower bound of the parameter to be optimized.

Then, the abandoned food position and objective function are updated, if the new solution is better compared to the existing solution, at last the abandonment counter is reset, and the scout bee becomes an employed bee again. The predetermined number of cycles for abandoning the food source called “limit” is an important control parameter determined by the following Eq. (16) (Karaboga et al. 2007).

$${\text{limit}} = {\text{number}}\;{\text{of}}\;{\text{onlooker}}\;{\text{bees}}*D$$
(18)

The ABC is an iterative algorithm where for each cycle the updating phases are repeated and the best solution obtained so far is stored at each iteration. This continues until the maximum cycle number (MCN) which is specified previously is reached, and then, the searching process is stopped.

6 Numerical Simulation and Results

In this section, the simulation results for full vehicle nonlinear active suspension systems including passenger seat with hydraulic actuators are presented. To improve the performance of the FLC and to eliminate the previous fuzzy control drawback, the ABC-based approach has been used to adapt the centers of the output membership functions of the fuzzy logic controller. The MATLAB/SIMULINK program package has been utilized to simulate the ABCF control scheme with the controlled system, where five fuzzy controllers have been designed: one for each suspension system and one for the passenger seat. The ABCF control scheme together with the controlled system (during the training phase) is illustrated in Fig. 3. The adaptation factor \(p\left( {kT} \right)\) which comes from bee colony algorithm is utilized to adapt the center of the output MFs of fuzzy controller. To modify the centers of the output membership functions, the active set of rules for the fuzzy controller at time \(\left( {kT - T} \right)\) is first determined (\(\mu_{i} \left( {e\left( {kT - k} \right),ce\left( {kT - T} \right)} \right) > 0)\), and then, only the centers of the output membership functions (which were found in the active set of rules) are modified by using the following equation:

$$c_{m} \left( {kT} \right) = c_{m} \left( {kT - T} \right) + p\left( {kT} \right)$$
(19)

where \(c_{m} \left( {kT} \right)\) represents the center of the mth output membership function at the time kT.

Fig. 3
figure 3

ABC fuzzy controller structure with plant

Each input and output of the fuzzy control have seven membership functions linked with seven linguistic values defined as: NB negative big, NM negative medium, NS negative small, ZE zero, and PS positive small, PM positive medium and PB positive big. These MFs are selected to be symmetric triangular in shape because they are widely used and convenient. The input membership functions are equally distributed on the normalized input universe of discourse, while the distributed output MFs on the output universe of discourse are initialized randomly.

The fuzzy controller rules table, which is given in Table 1, represents linguistic values of IF–THEN rules, and the total number of rules is 7 × 7 = 49 which is designed heuristically based on the knowledge of the controlled system.

Table 1 Rule base for the fuzzy control

Then, the COG defuzzification method is utilized to obtain the crisp output. This output represents the control output signal or the input signal to the controlled system.

As illustrated previously, the first step in designing ABC algorithm for the optimal tuning is producing the initial population, which illustrates the food source locations randomly, and the parameters of ABC algorithm which are used in this case are listed in Table 2.

Table 2 Parameters of ABC algorithm

The road profile inputs are imposed as a periodic square input with 0.01 m amplitude and 0.3334 Hz frequency to implement the training task. After training phase, the optimal values of the centers (cm) of output MFs of the five fuzzy controllers that are obtained from using the ABCF control are given in Table 3, where all the initial values are selected equal to zero.

Table 3 Optimal solutions of ABC

The output membership functions of the fuzzy controller are given in Fig. 4.

Fig. 4
figure 4

Output membership function of the fuzzy controller

The vertical displacement for each corner of the vehicle body (P1, P2, P3 and P4), passenger seat (P5) and vehicle center (Pc), which are obtained during training phase with ABCF approach, are shown in Figs. 5, 6, 7, 8, 9 and 10.

Fig. 5
figure 5

Vertical displacement at P1 for a first seven training periods, b last seven training periods

Fig. 6
figure 6

Vertical displacement at P2 for a first seven training periods, b last seven training periods

Fig. 7
figure 7

Vertical displacement at P3 for a first 7 training periods, b last 7 training periods

Fig. 8
figure 8

Vertical displacement at P4 for a first 7 training periods, b last 7 training periods

Fig. 9
figure 9

Vertical displacement at P5 for a first seven training periods, b last seven training periods

Fig. 10
figure 10

Vertical displacement at Pc for a first seven training periods, b last seven training periods

In order to evaluate the effectiveness of the proposed controller, the designed controller with optimal values of the center output MFs must be examined. Figure 11 illustrates the comparison between outputs response of controlled system with ABCF and corresponding outputs response of the passive system for vertical displacement at each corner of the vehicle body (P1, P2, P3, P4) and vertical displacement at passenger seat (P5), while Fig. 12 illustrates the comparison between outputs response of controlled system with ABCF and corresponding outputs response of the passive system for vertical displacement at vehicle center point (Pc), pitch angle and roll angle. For obtaining those responses, the square input has been provided as a road profile with a range [− 0.01, 0.01] m.

Fig. 11
figure 11

Time response of vertical displacement at aP1, bP2, cP3, dP4, eP5

Fig. 12
figure 12

Time response for a vertical displacement at Pc, b pitch angle, c roll angle

7 Robustness Test of the FMRLC

The robustness is an important matter of any suggested controller in order to confirm the effectiveness of the controller. The system must stay stable and have an acceptable response when the various types of disturbance inputs are applied on it. So, in this section the robustness of the ABCF controller will be studied by applying four types of disturbances to test the efficiency of proposed controller.

  • Sine wave signal with different amplitude is applied as the road profile

The amplitude of the sine signal is changed from 0.01 to 0.1 m with fixed frequency (0.1 Hz) and is applied as road profile input, where the cost function for each value is computed by using the following equation:

$$J_{\rm{c}} = 0.5\mathop \sum \limits_{i = 1}^{5} z_{{{\rm{s}}i}}^{2}$$
(20)

The response of the cost function against the different amplitude values of sine signal input for passive and active vehicle is shown in Fig. 13a.

Fig. 13
figure 13

Cost functions against the different amplitude of a sine wave, b square wave, c bending torque, d braking torque

  • Square wave with different amplitude is applied as the road profile

The square input signal is proved as input road profile with frequency (0.1 Hz); its amplitude is varied from 0.01 to 0.1 m. Figure 13b illustrates the response of the cost function against the different amplitude values of square signal input.

  • A bending inertia torque (Tx) is applied with different values

The values of bending torque changed from 1000 to 10,000 N/m with random road profile input have been applied to the system. The response of cost function is plotted as function of Tx as shown in Fig. 13c.

  • The braking inertia torque (Ty) is applied with different values

The values of braking torque from 1000 to 10,000 N/m with random signal applied as road profile have been applied to the system. The response of the cost function is plotted as function of Ty as shown in Fig. (13d).

8 Conclusions

According to this study, ABCF technique is proposed to improve the performance of full vehicle active suspension system and the simulation results have been presented. The motivation of utilizing the proposed ABCF control scheme is to improve the vehicle suspension system and overcome the drawback of using the fuzzy system alone as a controller, where it is hard to justify the selection of fuzzy controller parameters using classical methods.

The suggested control scheme has the ability of tuning some of its parameters depending on the errors between the system outputs and the desired outputs. The designed controllers generate suitable control signals to modify the hydraulic actuators forces to reduce the tendency of vehicle to rollover during sharp maneuvers such as cornering and breaking. Also, the designed controllers have the ability to minimize the vertical displacements at each suspension when traveling on rough roads and achieve the objectives control.

Five ABCF controllers have been designed, one for each suspension system. The center parameters of the output membership functions, obtained from using the ABCF controller approach during the training phase, are set as parameters of the output membership functions of the fuzzy controller during the working phase. The results of proposed model are compared with the passive system. According to the results of the computer simulation when only the square input has been applied as road profile, the suspension system with the ABCF control scheme gives the superior performance compared to the passive system. Also, the obtained results show that the full vehicle active suspension system responses have been improved by 95% in terms of passive suspension system when ABCF controllers are used.

Eventually, the robustness of the proposed approach is tested against changes in parameters, where four types of disturbances are applied; the results demonstrate that the fuzzy controller improves the performance of the cost function of the controlled system. From the results, the performances of the cost functions by using the ABCF control are superior compared to the performances of the cost functions for passive system for the same disturbances applied.