1. Field of the Invention
The present invention relates generally to electronically-controlled suspension systems based on soft computing optimization.
2. Description of the Related Art
Feedback control systems are widely used to maintain the output of a dynamic system at a desired value in spite of external disturbances that would displace it from the desired value. For example, a household space-heating furnace, controlled by a thermostat, is an example of a feedback control system. The thermostat continuously measures the air temperature inside the house, and when the temperature falls below a desired minimum temperature the thermostat turns the furnace on. When the interior temperature reaches the desired minimum temperature, the thermostat turns the furnace off. The thermostat-furnace system maintains the household temperature at a substantially constant value in spite of external disturbances such as a drop in the outside temperature. Similar types of feedback controls are used in many applications.
A P(I)D control system is a linear control system that is based on a dynamic model of the suspension system. In classical control systems, a linear dynamic model is obtained in the form of dynamic equations, usually ordinary differential equations. The suspension system is assumed to be relatively linear, time invariant, and stable. However, many real-world suspension systems, such as vehicle suspension systems, are time varying, highly non-linear, and unstable. For example, the dynamic model may contain parameters (e.g., masses, inductance, aerodynamics coefficients, etc.), which are either only approximately known or depend on a changing environment. If the parameter variation is small and the dynamic model is stable, then the P(I)D controller may be satisfactory. However, if the parameter variation is large or if the dynamic model is unstable, then it is common to add Adaptive or Intelligent (AI) control functions to the P(I)D control system.
Classical advanced control theory is based on the assumption that all controlled “suspension systems” can be approximated as linear systems near equilibrium points. Unfortunately, this assumption is rarely true in the real world. Most suspension systems are highly nonlinear, and often do not have simple control algorithms. In order to meet these needs for a nonlinear control, systems have been developed that use Soft Computing (SC) concepts such as Fuzzy Neural Networks (FNN), Fuzzy Controllers (FC), and the like. By these techniques, the control system evolves (changes) in time to adapt itself to changes that may occur in the controlled “suspension system” and/or in the operating environment.
Control systems based on SC typically use a Knowledge Base (KB) to contain the knowledge of the FC system. The KB typically has many rules that describe how the SC determines control parameters during operation. Thus, the performance of an SC controller depends on the quality of the KB and the knowledge represented by the KB. Increasing the number of rules in the KB generally increases (very often with redundancy) the knowledge represented by the KB but at a cost of more storage and more computational complexity. Thus, design of a SC system typically involves tradeoffs regarding the size of the KB, the number of rules, the types of rules. etc. Unfortunately, the prior art methods for selecting KB parameters such as the number and types of rules are based on ad hoc procedures using intuition and trial-and-error approaches.
Control of a vehicle suspension system is particularly difficult because the excitation of the suspension system is based on the road that the vehicle is driven on. Different roads can produce strikingly different excitations with different stochastic properties. Control of the suspension system in a soft computing control system is based on the information in the KB, and good control is achieved by using a good KB. However, the varying stochastic conditions produced by different roads makes it difficult to create a globally optimized KB that provides good control for a wide variety of roads.
The present invention solves these and other problems by providing a SC optimizer for designing a globally-optimized KB to be used in a SC system for an electronically-controlled suspension system. In one embodiment, the SC optimizer includes a fuzzy inference engine. In one embodiment, the fuzzy inference engine includes a Fuzzy Neural Network (FNN). In one embodiment, the SC Optimizer provides Fuzzy Inference System (FIS) structure selection, FIS structure optimization method selection, and Teaching signal selection.
The control system uses a fitness (performance) function that is based on the physical laws of minimum entropy and, optionally, biologically inspired constraints relating to rider comfort, driveability, etc. In one embodiment, a genetic analyzer is used in an off-line mode to develop a teaching signal. In one embodiment, an optional information filter is used to filter the teaching signal to produce a compressed teaching signal. The compressed teaching signal can be approximated online by a fuzzy controller that operates using knowledge from a knowledge base. The control system can be used to control complex suspension systems described by linear or nonlinear, stable or unstable, dissipative or nondissipative models. The control system is configured to use smart simulation techniques for controlling the shock absorber (suspension system).
In one embodiment, the control system includes a Fuzzy Inference System (FIS), such as a neural network that is trained by a genetic analyzer. The genetic analyzer uses a fitness function that maximizes sensor information while minimizing entropy production based on biologically-inspired constraints.
In one embodiment, a suspension control system uses a difference between the time differential (derivative) of entropy (called the entropy production rate) from the learning control unit and the time differential of the entropy inside the controlled process (or a model of the controlled process) as a measure of control performance. In one embodiment, the entropy calculation is based on a thermodynamic model of an equation of motion for a controlled process suspension system that is treated as an open dynamic system.
The control system is trained by a genetic analyzer that generates a teaching signal. The optimized control system provides an optimum control signal based on data obtained from one or more sensors. For example, in a suspension system, a plurality of angle and position sensors can be used. In an off-line learning mode (e.g., in the laboratory, factory, service center, etc.), fuzzy rules are evolved using a kinetic model (or simulation) of the vehicle and its suspension system. Data from the kinetic model is provided to an entropy calculator that calculates input and output entropy production of the model. The input and output entropy productions are provided to a fitness function calculator that calculates a fitness function as a difference in entropy production rates for the genetic analyzer constrained by one or more constraints obtained from rider preferences. The genetic analyzer uses the fitness function to develop a training signal for the off-line control system. The training signal is filtered to produce a compressed training signal. Control parameters from the off-line control system are then provided to an online control system in the vehicle that, using information from a knowledge base, develops an approximation to the compressed training signal.
One embodiment provides a method for controlling a nonlinear object (e.g., a suspension system) by obtaining an entropy production difference between a time differentiation (dSu/dt) of the entropy of the suspension system and a time differentiation (dSc/dt) of the entropy provided to the suspension system from a controller. A genetic algorithm that uses the entropy production difference as a fitness (performance) function evolves a control rule in an off-line controller. The nonlinear stability characteristics of the suspension system are evaluated using a Lyapunov function. The genetic analyzer minimizes entropy and maximizes sensor information content. Filtered control rules from the off-line controller are provided to an online controller to control suspension system. In one embodiment, the online controller controls the damping factor of one or more shock absorbers (dampers) in the vehicle suspension system.
In some embodiments, the control method also includes evolving a control rule relative to a variable of the controller by means of a genetic algorithm. The genetic algorithm uses a fitness function based on a difference between a time differentiation of the entropy of the suspension system (dSp/dt) and a time differentiation (dSc/dt) of the entropy provided to the suspension system. The variable can be corrected by using the evolved control rule.
In one embodiment, a self-organizing control system is adapted to control a nonlinear suspension system. The AI control system includes a simulator configured to use a thermodynamic model of a nonlinear equation of motion for the suspension system. The thermodynamic model is based on a Lyapunov function (V), and the simulator uses the function V to analyze control for a state stability of the suspension system. The control system calculates an entropy production difference between a time differentiation of the entropy of said suspension system (dSp /dt) and a time differentiation (dSc/dt) of the entropy provided to the suspension system by a low-level controller that controls the suspension system. The entropy production difference is used by a genetic algorithm to obtain an adaptation function wherein the entropy production difference is minimized in a constrained fashion. The genetic algorithm provides a teaching signal. The teaching signal is filtered to remove stochastic noise to produce a filtered teaching signal. The filtered teaching signal is provided to a fuzzy logic classifier that determines one or more fuzzy rules by using a leaming process. The fuzzy logic controller is also configured to form one or more control rules that set a control variable of the controller in the vehicle.
In one embodiment, a physical measure of control quality is based on minimum entropy production and using this measure for a fitness function of genetic algorithm in optimal control system design. This method provides a local entropy feedback loop in the control system. The entropy feedback loop provides for optimal control structure design by relating stability of the suspension system (using a Lyapunov function) and controllability of the suspension system (based on entropy production of the control system).
In one embodiment, the user makes the selection of parameters for a fuzzy model, including one or more of: the number of input and/or output variables; the type of fuzzy inference model (e.g., Mamdani, Sugeno, Tsukamoto, etc.); and the preliminary type of membership functions.
In one embodiment, a Genetic Algorithm (GA) is used to optimize linguistic variable parameters and the input-output training patterns. In one embodiment, a GA is used to optimize the rule base, using the fuzzy model, optimal linguistic variable parameters, and a teaching signal.
One embodiment includes fine tuning of the FNN. The GA produces a near-optimal FNN. In one embodiment, the near-optimal FNN can be improved using classical derivative-based optimization procedures.
One embodiment includes optimization of the FIS structure by using a GA with a fitness function based on a response of the actual suspension system model.
One embodiment includes optimization of the FIS structure by a GA with a fitness function based on a response of the actual suspension system.
The result is a specification of an FIS structure that specifies parameters of the optimal FC according to desired requirements.
In one embodiment, the adjustable dampers 801-804 each have an actuator that controls a rotary valve. In one embodiment, a hard-damping valve allows fluid to flow in the adjustable dampers to produce hard damping, and a soft-damping valve allows fluid to flow in the adjustable dampers to produce soft damping. The actuators control the rotary valves to allow more or less fluid to flow through the valves, thereby producing a desired damping. In one embodiment, the actuator is a stepping motor that receives control signals from a controller, as described below.
A road signal m(t) 110 is provided to the suspension system 120 as an external excitation. Movement of the suspension system 120 is often discussed in terms of acceleration and jerk. However, accleration and jerk are not well suited to control both the suspension system stability and riding comfort. The stability is dominated mainly by a low frequency component around 1 Hz and the comfort by frequency components above 4 or 5 Hz. Three axes of heave, pitch and roll also have to be considered. Therefore, in this case, a fitness function FF is expressed as follows:
FF=|Ap(1)|+|Ar(1)|+Ah(4)|+Ah(5)|+. . . +|Ah(10)
where Ap(1) is the amplitude of the 1 Hz pitch angular acceleration, Ar(1) the 1 Hz component of the roll acceleration, Ah(4) the 4 Hz component of the heave acceleration, and so on. This fitness function FF is minimized by the GA 131 and a teaching signal K is created that is used for knowledge base creation for the fuzzy controller 153 by the FNN 142.
Using a set of inputs, and the fitness function 132, the genetic algorithm 131 works in a manner similar to an evolutional process to arrive at a solution which is, hopefully, optimal.
The genetic algorithm 131 generates sets of “chromosomes” (that is, possible solutions) and then sorts the chromosomes by evaluating each solution using the fitness function 132. The fitness function 132 determines where each solution ranks on a fitness scale. Chromosomes (solutions) that are more fit are those chromosomes that correspond to solutions that rate high on the fitness scale. Chromosomes that are less fit, are those chromosomes that correspond to solutions that rate low on the fitness scale.
Chromosomes that are relatively more fit are kept (survive) and chromosomes that are relatively less fit are discarded (die). New chromosomes are created to replace the discarded chromosomes. The new chromosomes are created by crossing pieces of existing chromosomes and by introducing mutations. The success or failure of the optimization often ultimately depends on the selection of the performance (fitness) function 132.
Evaluating the motion characteristics of a nonlinear suspension system is often difficult, in part due to the lack of a general analysis method. Conventionally, when controlling a suspension system with nonlinear motion characteristics, it is common to find certain equilibrium points of the suspension system and the motion characteristics of the suspension system are linearized in a vicinity near an equilibrium point. Control is then based on evaluating the pseudo (linearized) motion characteristics near the equilibrium point. This technique is scarcely, if at all, effective for suspension systems described by models that are unstable or dissipative.
Computation of optimal control based on soft computing includes the GA 131 as the first step of global search for optimal solution on a fixed space of positive solutions. The GA searches for a set of control gains for the suspension system. Firstly the gain vector K={k1, . . . , kn} is used by a conventional proportional-integral-differential (PID) controller 150 in the generation of a signal δ(K)which is applied to the suspension system. The entropy S(δ(K)) associated to the behavior of the suspension system on this signal is assumed as a fitness function to minimize. The GA is repeated several times at regular time intervals in order to produce a set of weight vectors. The vectors generated by the GA 131 are then provided to the FNN/SCO 142 and the output KB of the FNN/SCO 142 is provided to the FC 143. The FC 143 uses the KB to generate gain schedules for the PID-controller 150 that controls the suspension system.
The intelligent control systems design technology based on soft computing includes the following two process stages:
The first stage is the acquisition of a robust teaching signal for optimal control without unacceptable loss of information. The output of the first stage is the robust teaching signal, which contains the necessary information about the controlled object behavior and corresponding behavior of control system.
The second stage is the approximation of the teaching signal by building of some fuzzy inference system. The output of the second stage is a knowledge base (KB) for fuzzy controller.
The design of optimal fuzzy controller means the design of an optimal Knowledge Base of the FC including optimal numbers of input-output membership functions, their optimal shapes and parameters and a set of optimal fuzzy rules.
In one embodiment for the Stage 2 realization, optimal FC can be obtained using a fuzzy neural network with the learning method based on the error back propagation algorithm. The error back propagation algorithm is based on the application of the gradient descent method to the structure of the FNN. The error is calculated as a difference between the desired output of the FNN and an actual output of the FNN. Then the error is “back propagated” through the layers of the FNN, and parameters of each neuron of each layer are modified towards the direction of the minimum of the propagated error.
The back propagation algorithm has a few disadvantages. In order to apply the back propagation approach it is necessary to know the complete structure of the FNN prior to optimization. The back propagation algorithm can not be applied to a network with an unknown number of layers and/or an unknown number nodes. The back propagation process cannot modify the types of the membership functions;
Usually, the initial state of the coefficients for the back propagation algorithm is set up randomly, and, as a result, the back propagation algorithm often gets only a “local” optimum close to the initial state. One way to avoid this is to manually set to the learning rates, but in this case operator should be confident about the expected result. The error back propagation algorithm is used in many Adaptive Fuzzy Modeler (AFM) systems, such as, for example, the AFM provided by STMicroelectronics (STM) and used as an example herein. The AFM provides implementation of Sugeno 0 order fuzzy inference systems from in-out data using error back propagation. The algorithm of the AFM has the following steps:
In the first step, a user specifies the parameters of a future FNN such as the number of inputs, the number of outputs, and the number of fuzzy sets for each input/output. Then AFM “optimizes” the rule base using the so-called “let the best rule win” (LBRW) technique. During this phase, the membership functions are fixed as uniformly distributed among the universe of discourse, and AFM calculates the firing strength of the each rule, eliminating the rules with zero firing strength, and adjusting centers of the consequents of the rules with nonzero firing strength. It is possible during optimization of the rule base to specify the learning rate parameter, depending on the current problem.
In the AFM, there is also an option to build a rule base manually. In this case, user can specify the centroids of the input fuzzy sets, and then according to the specification, system builds rule base automatically.
In the second step, AFM offers building of the membership functions. User can specify the shape factors of the input membership functions. Supported by AFM shape factors are: Gaussian, Isosceles Triangular, and Scalene Triangular. The user must also specify the type of a fuzzy end operation in the Sugeno model: supported methods are Product and Minimum.
After specification of the membership function shape and Sugeno inference method, the AFM starts optimization of the membership function shapes, using the structure of the rules, developed during stage 1. There are also some optional parameters to control optimization rate such as a target error and the number of iterations, the network should make. The termination condition on the optimization is reaching of the number of iterations, or when the error reaches its target value.
The STM AFM inherits the weakness of the back propagation algorithm described above, and the same limitations. The user must specify the types of membership functions, the number of membership functions for each linguistic variable and so on. The rule number optimizer in the AFM is called before membership function optimization, and as a result, the system can become unstable during membership function optimization phase.
The P(I)D controller 150 has a substantially linear transfer function and thus is based upon a linearized equation of motion for the controlled “suspension system” 120. Prior art GA used to program P(I)D controllers typically use simple fitness functions and thus do not solve the problem of poor controllability typically seen in linearization models. As is the case with most optimizers, the success or failure of the optimization often ultimately depends on the selection of the performance (fitness) function 132.
The SSCQ 130 finds teaching patterns (input-output pairs) for optimal control by using the GA 131 based on a mathematical model of the controlled suspension system 120 and physical criteria of minimum of entropy production rate. The FLCS 240 produces an approximation of the optimal control produced by the SSCQ 130 by programming the optimal FC 243.
The SSCQ 130 provides acquisition of a robust teaching signal for optimal control. The output of SSCQ 130 is the robust teaching signal, which contains the necessary information about the optimal behavior of the suspension system 120 and corresponding behavior of the control system 200.
The SC optimizer 242 produces an approximation of the teaching signal by building a Fuzzy Inference System (FIS). The output of the SC optimizer 242 includes a Knowledge Base (KB) for the optimal FC 243.
The optimal FC operates using the optimal KB from the FC 243 including, but not limited to, the number of input-output membership functions, the shapes and parameters of the membership functions, and a set of optimal fuzzy rules based on the membership functions.
In one embodiment, the optimal FC 243 is obtained using a FNN trained using a training method, such as, for example, the error back propagation algorithm. The error back propagation algorithm is based on application of the gradient descent method to the structure of the FNN. The error is calculated as a difference between the desired output of the FNN and an actual output of the FNN. Then the error is “back propagated” through the layers of the FNN, and the parameters of each neuron of each layer are modified towards the direction of the minimum of the propagated error. The back propagation algorithm has a few disadvantages. First, in order to apply the back propagation approach, it is necessary to know the complete structure of the FNN prior to the optimization. The back propagation algorithm can not be applied to a network with an unknown number of layers or an unknown number of nodes. Second, the back propagation process cannot modify the types of the membership functions. Finally, the back propagation algorithm very often finds only a local optimum close to the initial state rather than the desired global minimum. This occurs because the initial coefficients for the back propagation algorithm are usually generated randomly.
The error back propagation algorithm is used, in a commercially available Adaptive Fuzzy Modeler (AFM). The AFM permits creation of Sugeno 0 order FIS from digital input-output data using the error back propagation algorithm. The algorithm of the AFM has two steps. In the first AFM step, a user specifies the parameters of a future FNN. Parameters include the number of inputs and number of outputs and the number of fuzzy sets for each input/output. Then AFM “optimizes” the rule base, using a so-called “let the best rule win” (LBRW) technique. During this phase, the membership functions are fixed as uniformly distributed among the universe of discourse, and the AFM calculates the firing strength of the each rule, eliminating the rules with zero firing strength, and adjusting centers of the consequents of the rules with nonzero firing strength. It is possible during optimization of the rule base to specify the learning rate parameter. The AFM also includes an option to build the rule base manually. In this case, user can specify the centroids of the input fuzzy sets, and then the system builds the rule base according to the specified centroids.
In the second AFM step, the AFM builds the membership functions. The user can specify the shape factors of the input membership functions. Shape factor supported by the AFM include: Gaussian; Isosceles Triangular; and Scalene Triangular. The user must also specify the type of fuzzy AND operation in the Sugeno model, either as a product or a minimum.
After specification of the membership function shape and Sugeno inference method, the AFM starts optimization of the membership function shapes. The user can also specify optional parameters to control optimization rate such as a target error and the number of iterations.
The AFM inherits the limitations and weaknesses of the back propagation algorithm described above. The user must specify the types of membership functions, the number of membership functions for each linguistic variable and so on. AFM uses -rule number optimization before membership functions optimization, and as a result, the system becomes very often unstable during the membership function optimization phase.
This control system 500 includes an online control module 502 in the vehicle and a learning (offline) module 501. The learning module 501 includes a learning FC 518, such as, for example, the FC systems as discussed in connection with
The actual control module 502 includes a fuzzy controller 524. A control-rule output from the FC 518 is-provided to a control-rule input of the fuzzy controller 524. A sensor-data input of the online FC 524 receives sensor data from a suspension system 526. A control output from the fuzzy controller 524 is provided to a control input of the suspension system 526. A disturbance, such as a road-surface signal, is provided to a disturbance input of the kinetic model 520 and to the vehicle and suspension system 526.
The actual control module 502 is installed into a vehicle and controls the vehicle suspension system 526. The learning module 501 optimizes the actual control module 502 by using the kinetic model 520 of the vehicle and the suspension system 526. After the learning control module 501 is optimized by using a computer simulation, one or more parameters from the FC 518 are provided to the actual control module 502.
In one embodiment, a damping coefficient control-type shock absorber is employed, wherein the FC 524 outputs signals for controlling a throttle in an oil passage in one or more shock absorbers in the suspension system 526.
As shown in
The teaching signal acquisition stage 301 includes the acquisition of a robust teaching signal without the loss of information. In one embodiment, the stage 301 is realized using stochastic simulation of a full car with the Simulation System of Control Quality (SSCQ) under stochastic excitation of a road signal. The stage 301 is based on models of the road, of the car body, and of models of the suspension system. Since the desired suspension system control typically aims for the comfort of a human, it is also useful to develop a representation of human needs, and transfer these representations into the fitness function 132 as constraints 233.
The output of the stage 301 is a robust teaching signal Ki, which contains information regarding the car behavior and corresponding behavior of the control system.
Behavior of the control system is obtained from the output of the GA 131, and behavior of the car is a response of the model for this control signal. Since the teaching signal Ki is generated by a genetic algorithm, the teaching signal Ki typically has some unnecessary stochastic noise in it. The stochastic noise can make it difficult to realize (or develop a good approximation for) the teaching signal Ki. Accordingly, in a second stage 302, the information filter 241 is applied to the teaching signal Ki to generate a compressed teaching signal Kc. The information filter 241 is based on a theorem of Shannon's information theory (the theorem of compression of data). The information filter 241 reduces the content of the teaching signal by removing that portion of the teaching signal Ki that corresponds to unnecessary information. The output of the second stage 302 is a compressed teaching signal Kc.
The third stage 303 includes approximation of the compressed teaching signal Kc by building a Fuzzy Inference System (FIS) using a fuzzy logic classifier (FLC). Information of car behavior can be used for training an input part of the FIS, and corresponding information of controller behavior can be used for output-part training of the FIS.
The output of the third stage 303 is a knowledge base (KB) for the FC 143 obtained in such a way that it has the knowledge of car behavior and knowledge of the corresponding controller behavior with the control quality introduced as a fitness function in the first stage 301 of development. The KB is a data file containing control laws of the parameters of the fuzzy controller, such as type of membership functions, number of inputs, outputs, rule base, etc.
In the fourth stage 304, the KB can be verified in simulations and in experiments with a real car, and it is possible to check its performance by measuring parameters that have been optimized.
To summarize, the development of the KB for an intelligent control suspension system includes:
I. Obtaining a stochastic model of the road or roads.
II. Obtaining a realistic model of a car and its suspension system.
III. Development of a Simulation System of Control Quality with the car model for genetic algorithm fitness function calculation, and introduction of human needs in the fitness function.
IV. Optionally, development of the information compressor (information filter).
V. Optimization of the KB for the FC using a Soft Computing Optimizer.
VI. Approximation of the teaching signal with a fuzzy logic classifier system (FLCS) and obtaining the optimized KB for the FC.
VII. Verification of the KB in experiment and/or in simulations of the full car model with fuzzy control.
I. Obtaining Stochastic Models of the Roads
It is useful to consider different types of roads as stochastic processes with different auto-correlation functions and probability density functions.
The results of statistical analysis of actual roads, as shown in
R(τ)=B(0)exp{−α1|τ|}; (1.1)
R(τ)=B(0)exp{−α1|τ|}cos β1τ; (1.2)
where α1and β1are the values of coefficients for single velocity of motion. The ranges of values of these coefficients are obtained from experimental data as:
α1=0.014 to 0.111; β1=0.025 to 0.140.
For convenience, the roads are divided into three classes:
A. √{square root over (B(0))}≦10 cm—small obstacles;
B. √{square root over (B(0))}=10 cm to 20 cm—medium obstacles;
C. √{square root over (B(0))}>20 cm—large obstacles.
The presented auto-correlation functions and its parameters are used for stochastic simulations of different types of roads using forming filters. The methodology of forming filter structure can be described according to the first type of auto-correlation functions (1.1) with different probability density functions.
Consider a stationary stochastic process X(t) defined on the interval [xl),Xr], which can be either bounded or unbounded. Without loss of generality, assume that X(t) has a zero mean. Then xl<0 and xr>0. With the knowledge of the probability density p(x) and the spectral density ΦXX(ω) of X(t), one can establish a procedure to model the process X(t).
Let the spectral density be of the following low-pass type:
where σ2 is the mean-square value of X(t). If X(t) is also a diffusive Markov process, then it is governed by the following stochastic differential equation in the Ito sense:
dX=−αXdt+D(X)dB(t), (2.2)
where α is the same parameter in (2.1), B(t) is a unit Wiener process, and the coefficients−αX and D(X) are known as drift and the diffusion coefficients, respectively. To demonstrate that this is the case, multiply (2.2) by X(t−τ) and take the ensemble average to yield
where R(τ) is the correlation function of X(t), namely, R(τ)=E[X(t−τ)X(t)]. Equation (2.3) has a solution
R(τ)=Aexp(−α|τ|) (2.4)
in which A is arbitrary. By choosing A=σ2, equations (2.1) and (2.4) become a Fourier transform pair. Thus equation (2.2) generates a process X(t) with a spectral density (2.1). Note that the diffusion coefficient D(X) has no influence on the spectral density.
Now it is useful to determine D(X) so that X(t) possesses a given stationary probability density p(x). The Fokker-Planck equation, governing the probability density p(x) of X(t) in the stationary state, is obtained from equation (2.2) as follows:
where G is known as the probability flow. Since X(t) is defined on [xl,xr], G must vanish at the two boundaries x=xl and x=xr. In the present one-dimensional case, G must vanish everywhere; consequently, equation (2.5) reduces to
Integration of equation (2.6) results in
where C is an integration constant. To determine the integration constant C, two cases are considered. For the first case, if xl=−∞,or xr=∞, or both, then p(x) must vanish at the infinite boundary; thus C=0 from equation (2.7). For the second case, if both xl and Xr are finite, then the drift coefficient −αxl at the left boundary is positive, and the drift coefficient −αxr at the right boundary is negative, indicating that the average probability flows at the two boundaries are directed inward. However, the existence of a stationary probability density implies that all sample functions must remain within [xl,xr], which requires additionally that the drift coefficient vanish at the two boundaries, namely, D2(xl)=D2(xr)=0. This is satisfied only if C=0. In either case,
Function D2(x), computed from equation (2.8), is non-negative, as it should be, since p(x)≧0 and the mean value of X(t) is zero. Thus the stochastic process X(t) generated from (2.2) with D(x) given by (2.8) possesses a given stationary probability density p(x) and the spectral density (2.1).
The Ito type stochastic differential equation (2.2) may be converted to that of the Stratonovich type:
where ξ(t) is a Gaussian white noise with a unit spectral density. Equation (2.9) is better suited for simulating sample functions. Some illustrative examples are given below.
Example 1: Assume that X(t) is uniformly distributed, namely,
Substituting (2.10) into (2.8)
D2(X)=α(Δ2−X2). (2.11)
In this case, the desired Ito equation is given by
dX=−αXdt+√{square root over (αβ(Δ2−X2))}dB(t). (2.12)
It is of interest to note that a family of stochastic processes can be obtained from the following generalized version of (2.12):
dX=−αXdt+√{square root over (αβ(Δ2−X2))}dB(t). (2.13)
Their appearances are strikingly diverse, yet they share the same spectral density (2.1).
Example 2: Let X(t) be governed by a Rayleigh distribution
p(x)=γ2x exp(−γx), γ>0,0≦x <∞. (2.14)
Its centralized version Y(t)=X(t)−2/γ has a probability density
p(y)=γ(γy+2)exp(−γy+2), −2/γ≦y∞. (2.15)
From equation (2.8),
The Ito equation for Y(t) is
and the correspondence equation for X(t) in the Stratonovich form is
Note that the spectral density of X(t) contains a delta function (4/γ2)δ(ω) due to the nonzero mean 2/γ.
Example 3: Consider a family of probability densities, which obeys an equation of the form
Equation (2.19) can be integrated to yield
p(x)=C1 exp(∫J(x)dx) (2.20)
where C1 is a normalization constant. In this case
D2(x)=−2α exp[−J(x)]∫x exp[J(x)]dx. (2.21)
Several special cases may be noted. Let
J(x)=−γx2−δx4, −∞<X<∞ (2.22)
where γ can be arbitrary if δ>0. Substitution of equation (2.22) into equation (2.8) leads to
where erfc(y) is the complementary error function defined as
The case of γ<0 and δ>0 corresponds to a bimodal distribution, and the case of γ>0 and δ=0 corresponds to a Gaussian distribution.
The Pearson family of probability distributions corresponds to
In the special case of a0+b1=0,
From the results of statistical analysis of forming filters with auto-correlation function (1.1) one can describe typical structure of forming filters as in Table 1:
The structure of a forming filter with an auto-correlation function given by equations (1.2) and (1.3) is derived as follows. A two-dimensional (2D) system is used to generate a narrow-band stochastic process with the spectrum peak located at a nonzero frequency. The following pair of Ito equations describes a large class of 2D systems:
dx1=(a11x1+a12x2)dt+D1(X1,X2)dB1(t), dx2=(a21x1+a22x2)dt+D2(x1,x2)dB2(t), (3.1)
where Bi, i=1,2 are two independent unit Wiener processes.
For a system to be stable and to possess a stationary probability density, is required that a11<0, a22<0 and a11a22−a12a21>0. Multiplying (3.1) by x1(t−τ) and taking the ensemble average, gives
where R11(τ)=M[x1(t−τ)x1(t)], R12(τ)=M[x1(t−τ)x2(t)] with initial conditions R11(0)=m11=M[x12], R12(0)=m12=M[X1X2].
Differential equations (3.2) in the time domain can be transformed (using the Fourier transform) into algebraic equations in the frequency domain as follows
where {overscore (R)}ij(ω) define the following integral Fourier transformation:
Then the spectral density S11(ω) of x1(t) can be obtained as
where Re denotes the real part.
Since Rij(τ)→0 as τ→∞, it can be shown that
and equation (3.3) is obtained using this relation.
Solving equation (3.3) for {overscore (R)}ij(ω) and taking its real part, gives
where A1=a11+a22, and A2=a11a22−a12a21.
Expression (3.5) is the general expression for a narrow-band spectral density. The constants aij, i, j=1,2, can be adjusted to obtain a best fit for a target spectrum. The task is to determine non-negative functions D12(x1,x2) and D22(x1,x2) for a given p(x1,x2).
Forming filters for simulation of non-Gaussian stochastic processes can be derived as follows. The Fokker-Planck-Kolmogorov (FPK) equation for the joint density p(x1,x2) of x1(t) and x2(t) in the stationary state is given as
If such D12(x1,x2) and D22(x1,x2) functions can be found, then the equations of forming filters for the simulation in the Stratonovich form are given by
(3.6)
where ξi(t),i=1,2, are two independent unit Gaussian white noises.
Filters (3.1) and (3.6) are non-linear filters for simulation of non-Gaussian random processes. Two typical examples are provided.
Example 1: Consider two independent uniformly distributed stochastic process x1 and X2, namely,
Δ1≦X1≦Δ1, −Δ2≦x2≦Δ2.
In this case, from the FPK equation, one obtains
which is satisfied if
D12=−a11(Δ1−x12), D12=−a22(Δ2−x22).
The two non-linear equations in (3.6) are now
which generate a uniformly distributed stochastic process x1(t) with a spectral density given by (3.5).
Example 2: Consider a joint stationary probability density of x1(t) and x2(t) in the form
A large class of probability densities can be fitted in this form. In this case
The forming filter equations (3.6) for this case can be described as following
If σik(x,t) are bounded functions and the functions Fi(x,t) satisfy the Lipshitz condition ∥F(X′−x∥≦K∥x′−x∥, K=const >0, then for every smoothly-varying realization of process y(t) the stochastic equations can be solved by the method of successive substitution which is convergent and defines smoothly-varying trajectories x(t). Thus, Markovian process x(t) has smoothly trajectories with the probability 1. This result can be used as a background in numerical stochastic simulation.
The stochastic differential equation for the variable xi is given by
These equations can be integrated using two different algorithms: Milshtein; and Heun methods. In the Milshtein method, the solution of stochastic differential equation (4.1) is computed by means of the following recursive relations:
where ηi(t) are independent Gaussian random variables and the variance is equal to 1.
The second term in equation (4.2) is included because equation (4.2) is interpreted in the Stratonovich sense. The order of numerical error in the Milshtein method is δt. Therefore, small δt (i.e., δt=1×10−4 for σ=1) is to be used, while its computational effort per time step is relatively small. For large σ, where fluctuations are rapid and large, a longer integration period and small δt is used. The Milshtein method quickly becomes impractical.
The Heun method is based on the second-order Runge-Kutta method, and integrates the stochastic equation by using the following recursive equation:
The Heun method accepts larger δt than the Milshtein method without a significant increase in computational effort per step. The Heun method is usually used for σ2>2.
The time step δt can be chosen by using a stability condition, and so that averaged magnitudes do not depend on δt within statistical errors. For example, δt=5×10−4 for σ2=1 and δt=1×10−5 for σ2=15. The Gaussian random numbers for the simulation were generated by using the Box-Muller-Wiener algorithms or a fast numerical inversion method.
Table 2 summarizes the stochastic simulation of typical road signals.
−Δ1>y1<Δ1−Δ2<y2<Δ2
The Timer 1021 controls the activation moments of the SSCQ 1030. An output of the timer 1021 is provided to an input of the mode selector 1029. The mode selector 1029 controls operational modes of the SSCQ 1030. In the SSCQ 1030, a reference signal y is provided to a first input of the fitness function calculator 1032. An output of the fitness function calculator 1032 is provided to an input of the GA 1031. A CGSe output of the GA 1031 is provided to a training input of the damping force controller 1034 through the buffer 1027. An output of the damping force controller 1034 is provided to an input of the evaluation model 1036. An Xe output of the evaluation model 1036 is provided to a second input of the fitness function calculator 1032. A CGSi output of the GA 1031 is provided (through the buffer 1001) to a training input of the damping force controller 1050. A control output from the damping force controller 1050 is provided to a control input of the suspension system simulation model 1020. The stochastic road signal generator 1010 provides a stochastic road signal to a disturbance input of the suspension system simulation model 1020 and to a disturbance input of the evaluation model 1036. A response output Xi from the suspension system simulation model 1020 is provided to a training input of the evaluation model 1036. The output vector Ki from the SSCQ 1030 is obtained by combining the CGSi output from the GA 1031 (through the buffer 1001) and the response signal Xi from the suspension system simulation model 1020.
The road signal generator 1010 generates a road profile. The road profile can be generated from stochastic simulations as described above, or the road profile can be generated from measured road data. The road signal generator 1010 generates a road signal for each time instant (e.g., each clock cycle) generated by the timer 1021.
The simulation model 1020 is a kinetic model of the full car and suspension system with equations of motion, as obtained, for example, in connection with FIG. 13 below. In one embodiment, the simulation model 1020 is integrated using high-precision order differential equation solvers.
The SSCQ 1030 is an optimization module that operates on a discrete time basis. In one embodiment, the sampling time of the SSCQ 1030 is the same as the sampling time of the control system 1050. Entropy production rate is calculated by the evaluation model 1036, and the entropy values are included into the output (Xe) of the evaluation model 1036.
The following designations regarding time moments are used herein:
T=Moments of SSCQ calls
Tc=the sampling time of the control system 1050
Te=the evaluation (observation) time of the SSCQ 1030
tc=the integration interval of the simulation model 1020 with fixed control parameters, tc∈[T;T+Tc]
te=Evaluation (Observation) time interval of the SSCQ, tc∈[T;T+Te]
1. At the initial moment (T=0) the SSCQ 1030 is activated and the SSCQ 1030 generates the initial control signal CGSi(T).
2. The simulation model 1020 is integrated using the road signal from the stochastic road generator 1010 and the control signal CGSi(T) on a first time interval tc to generate the output Xi.
3. The output Xi and with the output CGSi(T) are is saved into the data file 1060 as a teaching signal Ki.
4. The time interval T is incremented by Tc(T=T+Tc).
5. The sequence 1-4 is repeated a desired number of times (that is while T<TF). In one embodiment, the sequence 1-4 is repeated until the end of road signal is reached
Regarding step 1 above, the SSCQ 1030 has two operating modes:
The operating mode of the SSCQ 1030 is controlled by the mode selector 1029 using information regarding the current time moment T, as shown in
The structure of the output buffer 1001 is shown below as a set of row vectors, where first element of each row is a time value, and the other elements of each row are the control parameters associated with these time values. The values for each row include a damper valve position VPFL, VPFR, VPRL, VPRR, corresponding to front-left, front-right, rear-left, and rear-right respectively.
The output buffer 1001 stores optimal control values for evaluation time interval te from the control simulation model, and the evaluation buffer 1022 stores temporal control values for evaluation on the interval te for calculation of the fitness function.
Two simulation models are used. The simulation model 1020 is used for simulation and the evaluation model 1036 is used for evaluation. There are many different methods for numerical integration of systems of differential equations. Practically, these methods can be classified into two main classes: (1) variable-step integration methods with control of integration error; and (2) fixed-step integration methods without integration error control.
Numerical integration using methods of type (1) is very precise, but time-consuming. Methods of type (2) are typically faster, but with smaller precision. During each SSCQ call in the GA mode, the GA 1031 evaluates the fitness function 1032 many times and each fitness function calculation requires integration of the model of dynamic system (the integration is done each time). By choosing a small-enough integration step size, it is possible to adjust a fixed-step solver such that the integration error on a relatively small time interval (like the evaluation interval te) will be small and it is possible to use the fixed-step integration in the evaluation loop for integration of the evaluation model 1036. In order to reduce total integration error it is possible to use the result of high-order variable-step integration of the simulation model 1020 as initial conditions for evaluation model integration. The use of variable-step solvers to integrate the evaluation model can provide better numerical precision, but at the expense of greater computational overhead and thus longer run times, especially for complicated models.
The fitness function calculation block 1032 computes a fitness function using the reference signal Y and the response (X) from the evaluation model 1036 (due to the control signal CGSe(tn) provided to the evaluation module 1036).
The fitness function 1032 is computed as a vector of selected components of a matrix (xe) and its squared absolute value using the following form:
where:
i denotes indexes of state variables which should be minimized by their absolute value; j denotes indexes of state variables whose control error should be minimized; k denotes indexes of state variables whose frequency components should be minimized; and wr, r=i, j, k are weighting factors which represent the importance of the corresponding parameter from the human feelings point of view. By setting these weighting function parameters, it is possible to emphasize those elements from the output of the evaluation model that are correlated with the desired human requirements (e.g., handling, ride quality, etc.). In one embodiment, the weighting factors are initialized using empirical values and then the weighting factors are adjusted using experimental results.
Extraction of frequency components can be done using standard digital filtering design techniques for obtaining the filter parameters. Digital filtering can be provided by a standard difference equation applied to elements of the matrix Xe:
a(1)ƒ(xek(te(N)))=b(1)xe(te(N))+b(2)xek(te(N−1))+ . . . +b(nb+1)xek(te(N−nb)) −a(2)ƒ(xek(tek(N−1)))− . . . −a(na+1)ƒ(xek(te(N−na))) (5.2)
where a,b are parameters of the filter, N is the number of the current point, and nb, na describe the order of the filter. In case of a Butterworth filter, nb=na.
In one embodiment, the GA 1031 is a global search algorithms based on the mechanics of natural genetics and natural selection. In the genetic search, each design variable is represented by a finite length binary string and then these finite binary strings are connected in a head-to-tail manner to form a single binary string. Possible solutions are coded or represented by a population of binary strings. Genetic transformations analogous to biological reproduction and evolution are subsequently used to improve and vary the coded solutions. Usually, three principle operators, i.e., reproduction (selection), crossover, and mutation are used in the genetic search.
The reproduction process biases the search toward producing more fit members in the population and eliminating the less fit ones. Hence, a fitness value is first assigned to each string (chromosome) the population. One simple approach to select members from an initial population to participate in the reproduction is to assign each member a probability of selection on the basis of its fitness value. A new population pool of the same size as the original is then created with a higher average fitness value.
The process of reproduction simply results in more copies of the dominant or fit designs to be present in the population. The crossover process allows for an exchange of design characteristics among members of the population pool with the intent of improving the fitness of the next generation. Crossover is executed by selecting strings of two mating parents, randomly choosing two sites.
Mutation safeguards the genetic search process from a premature loss of valuable genetic material during reproduction and crossover. The process of mutation is simply to choose few members from the population pool according to the probability of mutation and to switch a 0 to 1 or vice versa at randomly sites on the chromosome.
The Fuzzy Logic Classification System (FLCS) 240 shown in
As described above, the output of the SSCQ is a teaching signal Ki that contains the information of the behavior of the controller and the reaction of the controlled object to that control. Genetic algorithms in general perform a stochastic search. The output of such a search typically contains much unnecessary information (e.g., stochastic noise), and as a result such a signal can be difficult to interpolate. In order to exclude the unnecessary information from the teaching signal Ki, the information filter 241 (using as a background the Shannon's information theory) is provided. For example, assume that A is a message source that produces the message a with probability p(a), and further assume that it is desired to represent the messages with sequences of binary digits (bits) that are as short as possible. It can be shown that the mean length L of these bit sequences is bounded from below by the Shannon entropy H(A) of the source: L≧H(A), where
Furthermore, if entire blocks of independent messages are coded together, then the mean number {overscore (L)} of bits per message can be brought arbitrary close to H(A).
This noiseless coding theorem shows the importance of the Shannon entropy H(A) for the information theory. It also provides the interpretation of H(A) as a mean number of bits necessary to code the output of A using an ideal code. Each bit has a fixed ‘cost’ (in units of energy or space or money), so that H(A) is a measure of the tangible resources necessary to represent the information produced by A.
In classical statistical mechanics, in fact, the statistical entropy is formally identically to the Shannon entropy. The entropy of a macrostate can be interpreted as the number of bits that would be required to specify the microstate of the system.
Assume x1, . . . , XN are N independent, identical distributed random variables, each with mean {overscore (x)} and finite variance. Given δ, ε>0, there exist N0 such that, for N≧N0,
This result is known as the weak law of large numbers. A sufficiently long sequence of independent, identically distributed random variables will, with a probability approaching unity, have an average that is close to mean of each variable.
The weak law can be used to derive a relation between Shannon entropy H(A) and the number of ‘likely’ sequences of N identical random variables. Assume that a message source A produces the message a with probability p(a). A sequence α=a1a2 . . . aN of N independent messages from the same source will occur in ensemble of all N sequences with probability P(α)=p(a1)·p(a2)·p(aN). Now define a random variable for each message by x=−log2p(a), so that H(A)={overscore (x)}. It is easy to see that
From the weak law, it follows that, if go ε, δ>0, then for sufficient large N
for N sequences of α. It is possible to partition the set of all N sequences into two subsets:
a) A set Λ of “likely” sequences for which
b) A set of ‘unlikely’ sequences with total probability less than ε, for which this inequality fails.
This provides the possibility to exclude the ‘unlikely’ information from the set Λ which leaves the set of sequences Λ1 with the same information amount as in set Λ but with a smaller number of sequences.
The SCO 242 is used to find the relations between (Input) and (Output) components of the teaching signal Kc. The SCO 242 is a tool that allows modeling of a system based on a fuzzy logic data structure, starting from the sampling of a process/function expressed in terms of input-output values pairs (patterns). Its primary capability is the automatic generation of a database containing the inference rules and the parameters describing the membership functions. The generated Fuzzy Logic knowledge base (KB) represents an optimized approximation of the process/function provided as input. FNN performs rule extraction and membership function parameter tuning using learning different learning methods, like error back propagation, fuzzy clustering, etc. The KB includes a rule base and a database. The rule base stores the information of each fuzzy rule. The database stores the parameters of the membership functions. Usually, in the training stage of the FIS, the parts of the KB are obtained separately.
The FC 243 is an on-line device that generates the control signals using the input information from the sensors comprising the following steps: (1) fuzzyfication; (2) fuzzy inference; and (3) defuzzyfication.
Fuzzyfication is a transferring of numerical data from sensors into a linguistic plane by assigning membership degree to each membership function. The information of input membership function parameters stored in the knowledge base of fuzzy controller is used.
Fuzzy inference is a procedure that generates linguistic output from the set of linguistic inputs obtained after fuzzyfication. In order to perform the fuzzy inference, the information of rules and of output membership functions from knowledge base is used.
Defuzzyfication is a process of converting of linguistic information into the digital plane. Usually, the process of defuzzyfication include selecting of center of gravity of a resulted linguistic membership function.
Fuzzy control of a suspension system is aimed at coordinating damping factors of each damper to control parameters of motion of car body. Parameters of motion can include, for example, pitching motion, rolling motion, heave movement, and/or derivatives of these parameters. Fuzzy control in this case can be realized in the different ways, and different number of fuzzy controllers used. For example, in one embodiment fuzzy control is implemented using two separate controllers, one controller for the front wheels, and one controller for the rear wheel shock absorbers 803, 804 and one controller for the front wheel shock absorbers 801, 802. In one embodiment a single controller controls the actuators for the shock absorbers 801-804.
Structure of the Soft Computing Optimizer
In
In one embodiment, the SC optimizer 242 includes (as shown in
In one embodiment, output from the SC optimizer 242 can be exported to other programs or systems for simulation or actual control of a suspension system 130. For example, output from the FC optimizer 242 can be exported to a simulation program for simulation of suspension system dynamic responses, to an online controller (to use in control of a real suspension system), etc.
The Operation of the SC Optimizer
In Stage 1, the user selects a fuzzy model by selecting one of parameters such as, for example, the number of input and output variables, the type of fuzzy inference model (Mamdani, Sugeno, Tsukamoto, etc.), and the source of the teaching signal
In Stage 2, a first GA (GA1) optimizes linguistic variable parameters, using the information obtained in Stage 1 about the general system configuration, and the input-output training patterns, obtained from the training signal as an input-output table. In one embodiment, the teaching signal is obtained using the structure presented above.
In Stage 3, a precedent part of the rule base is created and rules are ranked according to their firing strength. Rules with high firing strength are kept, whereas weak rules with small firing strength are eliminated.
In Stage 4, a second GA (GA2) optimizes a rule base, using the fuzzy model obtained in Stage 1, optimal linguistic variable parameters obtained in Stage 2, selected set of rules obtained in Stage 3 and the teaching signal.
In Stage 5, the structure of FNN is further optimized. In order to reach the optimal structure, the classical derivative-based optimization procedures can be used, with a combination of initial conditions for back propagation, obtained from previous optimization stages. The result of Stage 5 is a specification of fuzzy inference structure that is optimal for the suspension system 120. Stage 5 is optional and can be bypassed. If Stage 5 is bypassed, then the FIS structure obtained with the GAs of Stages 2 and 4 is used.
In one embodiment, Stage 5 can be realized as a GA which further optimizes the structure of the linguistic variables, using set of rules obtained in the Stage 3 and 4. In this case only parameters of the membership functions are modified in order to reduce approximation error.
In one embodiment of Stage 4 and Stage 5, selected components of the KB are optimized. In one embodiment, if the KB has more than one output signals, the consequent part of the rules may be optimized independently for each output in Stage 4. In one embodiment, if KB has more than one input, membership functions of selected inputs are optimized in Stage 5.
In one embodiment, while Stage 4 and Stage 5 the actual suspension system response in form of the fitness function can be used as performance criteria of FIS structure while GA optimization.
In one embodiment, the SC optimizer 242 uses a GA approach to solve optimization problems related with choosing the number of membership functions, the types and parameters of the membership functions, optimization of fuzzy rules and refinement of KB.
GA optimizers are often computationally expensive because each chromosome created during genetic operations is evaluated according to a fitness function. For example, a GA with a population size of 100 chromosomes evolved 100 generations, may require up to 10000 calculations of the fitness function. Usually this number is smaller, since it is possible to keep track of chromosomes and avoid re-evaluation. Nevertheless, the total number of calculations is typically much greater than the number of evaluations required by some sophisticated classical optimization algorithm. This computational complexity is a payback for the robustness obtained when a GA is used. The large number of evaluations acts as a practical constraint on applications using a GA. This practical constraint on the GA makes it worthwhile to develop simpler fitness functions by dividing the extraction of the KB of the FIS into several simpler tasks, such as: define the number and shape of membership functions; select optimal rules; fix optimal rules structure; and refine the KB structure. Each of these tasks are discussed in more detail below. In one embodiment, the SC optimizer 242 uses a divide-and-conquer type of algorithm applied to the KB optimization problem.
Definition of the Numbers and of Shapes of the Membership Functions with GA
In one embodiment, the teaching signal, representing one or more input signals and one or more output signals, can be presented as shown in
Each component of the teaching signal (input or output) is assigned to a corresponding linguistic variable, in order to explain the signal characteristics using linguistic terms. Each linguistic variable is described by some unknown number of membership functions, like “Large”, “Medium”, “Small”, etc.
“Vertical relations” represent the explicitness of the linguistic representation of the concrete signal, e.g., how the membership functions is related to the concrete linguistic variable. Increasing the number of vertical relations will increase the number of membership functions, and as a result, will increase the correspondence between possible states of the original signal, and its linguistic representation. An infinite number of vertical relations would provide an exact correspondence between signal and its linguistic representation, because each possible value of the signal would be assigned a membership function, but in this case the situations as “over learning” may occur. Smaller number of vertical relations will increase the robustness, since some small variations of the signal will not affect much the linguistic representation. The balance between robustness and precision is a very important moment in design of the intelligent systems, and usually this task is solved by Human expert.
“Horizontal relations” represent the relationships between different linguistic variables. Selected horizontal relations can be used to form components of the linguistic rules.
To define the “horizontal” and “vertical” relations mathematically, consider a teaching signal:
[x(t),y(t)],
Where:
t=1, . . . , N—time stamps;
N—number of samples in the teaching signal;
x(t)=(x1(t), . . . xm(t))—input components;
y(t)=(y1(t), . . . yn(t))—output components.
Define the linguistic variables for each of the components. A linguistic variable is usually defined as a quintuple: (x,T(x),U,G,M), where x is the name of the variable, T(x) is a term set of the x, that is the set of the names of the linguistic values of x, with a fuzzy set defined in U as a value, G is a syntax rule for the generation of the names of the values of the x and M is a semantic rule for the association of each value with its meaning. In the present case, x is associated with the signal name from x or y, term set T(x) is defined using vertical relations, U is a signal range. In some cases, one can use normalized teaching signals, then the range of U is [0,1]. The syntax rule G in the linguistic variable optimization can be omitted, and replaced by indexing of the corresponding variables and their fuzzy sets.
Semantic rule M varies depending on the structure of the FIS, and on the choice of the fuzzy model. For the representation of all signals in the system, it is necessary to define m+n linguistic variables:
Let [X,Y], X=(X1, . . . ,Xm), Y=(Y1, . . . , Yn) be the set of the linguistic variables associated with the input and output signals correspondingly. Then for each linguistic variable one can define a certain number of fuzzy sets to represent the variable:
X1:{μX
Y1:{μY
Where
μX
μY
Usually, at this stage of the definition of the KB, the parameters of the fuzzy sets are unknown, and it may be difficult to judge how many membership functions are necessary to describe a signal. In this case, the number of membership functions lX
Knowing the number of membership functions, it is possible to introduce a constraint on the possibility of activation of each fuzzy set, denoted as pX
This constraint will cluster the signal into the regions with equal probability, which is equal to division of the signal's histogram into curvilinear trapezoids of the same surface area. Supports of the fuzzy sets in this case are equal or greater to the base of the corresponding trapezoid. How much greater the support of the fuzzy set should be, can be defined from an overlap parameter. For example, the overlap parameter takes zero, when there is no overlap between two attached trapezoids. If it is greater than zero then there is some overlap. The areas with higher probability will have in this case “sharper” membership functions. Thus, the overlap parameter is another candidate for the GA1 search. The fuzzy sets obtained in this case will have uniform possibility of activation.
Modal values of the fuzzy sets can be selected as points of the highest possibility, if the membership function has unsymmetrical shape, and as a middle of the corresponding trapezoid base in the case of symmetric shape. Thus one can set the type of the membership functions for each signal as a third parameter for the GA1.
The relation between the possibility of the fuzzy set and its membership function shape can also be found from geometrical view point. The possibility of activation of each membership function is calculated as follows:
Mutual possibility of activation of different membership functions can be defined as:
where * denotes selected T-norm (Fuzzy AND) operation; j=1, . . . , lX, l=1, . . . ,lX
In fuzzy logic literature, T-norm, denoted as * is a two-place function from [0,1]×[0,1] to [0,1]. It represents a fuzzy intersection operation and can be interpreted as minimum operation, or algebraic product, or bounded product or drastic product. S-conorm, denoted by {dot over (+)}, is a two-place function, from [0,1]×[0,1] to [0,1]. It represents a fuzzy union operation and can be interpreted as algebraic sum, or bounded sum and drastic sum. Typical T-norm and S-conorm operators are presented in the Table 3.
If i=k, and j≠l, then equation (8.2) defines “vertical relations”; and if i≠k, then equation (8.2) defines “horizontal relations”. The measure of the “vertical” and of the “horizontal” relations is a mutual possibility of the occurrence of the membership functions, connected to the correspondent relation.
The set of the linguistic variables is considered as optimal, when the total measure of “horizontal relations” is maximized, subject to the minimum of the “vertical relations”.
Hence, one can define a fitness function for the GA1 which will optimize the number and shape of membership functions as a maximum of the quantity, defined by equation (8.2), with minimum of the quantity, defined by equation (8.1).
The chromosomes of the GA1 for optimization of linguistic variables according to Equations (8.1) and (8.2) have the following structure:
Where:
Ix(y)
αX(Y)
Tx(y)
Another approach to the fitness function calculation is based on the Shannon information entropy. In this case, instead of the equations (8.1) and (8.2), for the fitness function representation, one can use the following information quantity taken from the analogy with information theory:
In this case, GA1 will maximize the quantity of mutual information (8.2a), subject to the minimum of the information about each signal (8.1a). In one embodiment, the combination of information and probabilistic approach can also be used.
In case of the optimization of number and shapes of membership functions in Sugeno-type FIS, it is enough to include into GA chromosomes only the input linguistic variables. The detailed fitness functions for the different types of fuzzy models will be presented in the following sections, since it is more related with the optimization of the structure of the rules.
Results of the membership function optimization GA1 are shown in
Optimal Rules Selection
The pre-selection algorithm selects the number of optimal rules and their premise structure prior optimization of the consequent part.
Consider the structure of the first fuzzy rule of the rule base
R1(t)=IF x1(t) is μ11(x1) AND x1
THEN y1(t) is μm+1{l
Where:
m is the number of inputs;
n is the number of outputs;
xi(t), i=1, . . . , m are input signals;
yj(t), j=1, . . . , n are output signals;
μkl
k=1, . . . , m+n are the indexes of linguistic variables;
lk=2, 3, . . . are the numbers of the membership functions of each linguistic variable;
μk{l
{lk} means the selection of one of the possible indexes; and
t is a time stamp.
Consider the antecedent part of the rule:
RlN1(t)=IF x1(t) is μ11(x1) AND xl
The firing strength of the rule R1 in the moment t is calculated as follows:
Rƒs(t)=min [μ11(x1(t))), μ21(x2(t))), . . . , μm1(xm(t))]
for the case of the min-max fuzzy inference, and as
Rƒs1(t)=Π[μ11(t)), μ21(x2(t)), . . . , μm1(xm(t))]
for the case of product-max fuzzy inference.
In general case, here can be used any of the T-norm operations.
The total firing strength Rƒs1 of the rule, the quantity Rƒs1(t) can be calculated as follows:
for a continuous case, and:
for a discrete case.
In a similar manner, the firing strength of each s-th rule is calculated as:
where
is a linear rule index
In one embodiment, the local firing strength of the rule can be calculated in this case instead of integration, the maximum operation is taken in Eq. (8.3):
In this case, the total strength of all rules will be:
where:
Number of rules in complete rule base
Quantity Rƒs is important since it shows in a single value the integral characteristic of the rule base. This value can be used as a fitness function which optimizes the shape parameters of the membership functions of the input linguistic variables, and its maximum guarantees that antecedent part of the KB describes well the mutual behavior of the input signals. Note that this quantity coincides with the “horizontal relations,” introduced in the previous section, thus, it is optimized automatically by GA1.
Alternatively, if the structure of the input membership functions is already fixed, the quantities Rƒss can be used for selection of the certain number of fuzzy rules. Many hardware implementations of FCs have limits that constrain, in one embodiment, the total possible number of rules. In this case, knowing the hardware limit L of a certain hardware implementation of the FC, the algorithm can select L≦L0 of rules according to a descending order of the quantities Rƒss. Rules with zero firing strength can be omitted.
It is generally advantageous to calculate the history of membership functions activation prior to the calculation of the rule firing strength, since the same fuzzy sets are participating in different rules. In order to reduce the total computational complexity, the membership function calculation is called in the moment t only if its argument x(t) is within its support. For Gaussian-type membership functions, support can be taken as the square root of the variance value σ2.
An example of the rule pre-selection algorithm is shown in
This algorithm produces an optimal configuration of the antecedent part of the rules prior to the optimization of the rules. Optimization of the consequential part of KB can be applied directly to the optimal rules only, without unnecessary calculations of the “un-optimal rules”. This process can also be used to define a search space for the GA (GA2), which finds the output (consequential) part of the rule.
Optimal Selection of Consequental Part of KB with GA2
A chromosome for the GA2 which specifies the structure of the output part of the rules can be defined as:
[I1, . . . , IM], Ii=[I1, . . . , In], Ik={1, . . . , lY
where:
Ii are groups of genes which code single rule;
Ik are indexes of the membership functions of the output variables;
n is the number of outputs; and
M is the number of rules.
In one embodiment, the history of the activation of the rules can be associated with the history of the activations of membership functions of output variables or with some intervals of the output signal in the Sugeno fuzzy inference case. Thus, it is possible to define which output membership functions can possibly be activated by the certain rule. This allows reduction of the alphabet for the indexes of the output variable membership functions from {{1, . . . , lY
{lminY
Thus the total search space of the GA is reduced. In cases where only one output membership function is activated by some rule, such a rule can be defined automatically, without GA2 optimization.
In one embodiment, for a Sugeno 0 order FIS, instead of indexes of output membership functions, corresponding intervals of the output signals can be taken as a search space.
For some combinations of the input-output pairs of the teaching signal, the same rules and the same membership functions are activated. Such combinations are uninteresting from the rule optimization view point, and hence, can be removed from the teaching signal, reducing the number of input-output pairs, and as a result total number of calculations. The total number of points in the teaching signal (t), in this case, will be equal to the number of rules plus the number of conflicting points (points when the same inputs result in different output values).
FIGS. 24A-F show plots of the teaching signal reduction using analysis of the possible rule configuration for three signal variables. FIGS. 24A-C show the original signals. FIGS. 24D-F show the results of the teaching signal reduction using the rule activation history. The number of points in the original signal is about 600. The number of points in reduced teaching signal is about 40. Bifurcation points of the signal, as shown in
Fitness Evaluation is GA2
The previous section described optimization of the FIS, without the details into the type of FIS selection. In one embodiment, the fitness function used in the GA2 depends, at least in part, on the type of the optimized FIS. Examples of fitness functions for the Mamdani, Sugeno and/or Tsukamoto FIS models are described herein. One of ordinary skill in the art will recognize that other fuzzy models can be used as well.
Define error Ep as a difference between the output part of teaching signal and the FIS output as:
where x1p,x2p, . . . ,xnP and dp are values of input and output variables in the p training pair, respectively. The function F(x1p,x2p, . . . ,xnp) is defined according to the chosen FIS model.
Mamdani Model
For the Mamdani model, the function F(x1p,x2p, . . . ,xnp) is defined as:
where
and {overscore (y)}l is the point of maximum value (called also as a central value) of μyl(y), Π denotes the selected T-norm operation.
Sugeno Model Generally
Typical rules in the Sugeno fuzzy model can be expressed as follows:
IF x1 is μ(l)j
THEN y=ƒl(x1, . . . ,xn),
where l=1,2, . . . , M—the number of fuzzy rules M defined as {number of membership functions of x1 input variable}x {number of membership functions of x2 input variable}× . . . ×{number of membership functions of xn input variable}.
The output of Sugeno FIS is calculated as follows:
First-Order Sugeno Model
Typical rules in the first-order Sugeno fuzzy model can be expressed as follows:
IF x1 is μ(l)j
THEN y=ƒl(x1, . . . ,xn)=p1(l)x1+p2(l)x2+ . . . pn(l)xn+r(l),
(Output variables described by some polynomial functions.)
The output of Sugeno FIS is calculated according equation (8.6).
Zero-Order Sugeno Model
Typical rules in the zero-order Sugeno FIS can be expressed as follows:
IF x1 is μ(l)j
THEN y=r(l),
The output of zero-order Sugeno FIS is calculated as follows
Tsukamoto Model
The typical rule in the Tsukamoto FIS is:
IF x1 is μ(l)j
THEN y is μk(l)(y),
where j1 ∈Im
The output of the Tsukamoto FIS is calculated as follows:
Refinement of the KB Structure with GA
Stage 4 described above generates a KB with required robustness and performance for many practical control system design applications. If performance of the KB generated in Stage 4 is, for some reason, insufficient, then the KB refinement algorithm of Stage 5 can be applied.
In one embodiment, the Stage 5 refinement process of the KB structure is realized as another GA (GA3), with the search space from the parameters of the linguistic variables. In one embodiment, the chromosome of GA3 can have the following structure:
{[Δ1,Δ2,Δ3]}L;Δi∈[−prmij,1−prmij];i=1,2,3;j=1,2, . . . , L, where L is the total number of the membership functions in the system In this case, the quantities Δi are modifiers of the parameters of the corresponding fuzzy set, and the GA3 finds these modifiers according to the fitness function as a minimum of the fuzzy inference error. In such an embodiment, the refined KB has the parameters of the membership functions obtained from the original KB parameters by adding the modifiers prmnewi=prmi+Δi.
Different fuzzy membership function can have the same number of parameters, for example Gaussian membership functions have two parameters, as a modal value and variance. Iso-scalene triangular membership functions also have two parameters. In this case, it is advantageous to introduce classification of the membership functions regarding the number of parameters, and to introduce to GA3 the possibility to modify not only parameters of the membership functions, but also the type of the membership functions, form the same class. Classification of the fuzzy membership functions regarding the number of parameters is presented in the Table 4.
GA3 improves fuzzy inference quality in terms of the approximation error, but may cause over learning, making the KB too sensitive to the input. In one embodiment, a fitness function for rule base optimization is used. In one embodiment, an information-based fitness function is used. In another embodiment, the fitness function used for membership function optimization in GA1 is used. To reduce the search space, the refinement algorithm can be applied only to some selected parameters of the KB. In one embodiment, refinement algorithm can be applied to selected linguistic variables only.
The structure realizing evaluation procedure of GA2 or GA3 is shown in
In one embodiment, evaluation function calculation block 17104 calculates approximation error as a weighted sum of the outputs of the adder 17103.
In one embodiment, evaluation function calculation block 17104 calculates the information entropy of the normalized approximation error.
Optimization of KB Based on Suspension System Response
In one embodiment of Stages 4 and 5, the fitness function of GA can be represented as some external function
In one embodiment, function ƒ might be an actual suspension system controlled by an adaptive P(I)D controller with coefficient gains scheduled by FC and measurement system provides as an output some performance index of the KB.
In one embodiment, the output of the suspension system provides data for calculation of the entropy production rate of the suspension system and of the control system while the suspension system is controlled by the FC with the structure from the KB.
In one embodiment, the evaluation function is not necessarily related to the mechanical characteristics of the motion of the suspension system (such as, for example, in one embodiment control error) but it may reflect requirements from the other viewpoints such as, for example, entropy produced by the system, or harshness and or bad feelings of the operator expressed in terms of the frequency characteristics of the suspension system dynamic motion and so on.
In one embodiment, the evaluation function calculation block 18107 forms evaluation function as a minimum of the entropy production rate of the suspension system 18103 and of the P(I)D controller 18102.
In one embodiment, the evaluation function calculation block 18107 applies Fast Fourier Transformation on one or more outputs of the measurement system 18105, to extract one or more frequency characteristics of the suspension system output for the evaluation.
In one embodiment, the KB evaluation system based on suspension system dynamics 18100 uses a nonlinear model of the suspension system 18103.
In one embodiment, the KB evaluation system based on suspension system dynamics 18100 is realized as an actual suspension system with one or more parameters controlled by the adaptive P(I)D controller 18102 with control gains scheduled by the FC 18101.
In one embodiment, suspension system 18103 is a stable suspension system.
In one embodiment, suspension system 18103 is an unstable suspension system.
The output of the SC optimizer 18001 is an optimal KB 18002.
Teaching Signal Acquisition
In the previous sections it was stated that the SC optimizer 242 uses as an input the teaching signal which contains the suspension system response for the optimal control signal. One embodiment of teaching signal acquisition is described in connection with
The structure presented in
The control signal evaluation system based on suspension system dynamics 19100 includes the buffer 19101, the adaptive P(I)D controller 19102 which uses Buffer 19101 as a scheduler of the coefficient gains, the suspension system 19103, the stochastic excitation generation system 19104, the measurement system 19105, the adder 19106, and the evaluation function calculation block 19107. Output of the P(I)D controller 19102 is provided as a control force to the suspension system 19103 and as a first input to the evaluation function calculation block 19107. Output of the excitation generation system 19104 is provided to the Suspension system 19103 to simulate an operational environment. An output of Suspension system 19103 is provided to the measurement system 19105. An output of the measurement system 19105 is provided to the negative input of the adder 19106 and together with the reference input Xref forms in adder 19106 control error which is provided as an input to P(I)D controller 19102. An output of the measurement system 19105 is provided as a second input of the evaluation function calculation block 19107. The evaluation function calculation block 19107 forms the evaluation function of the control signal and provides it to the fitness function input of the SSCQ 19001. The fitness function block of the SSCQ 19001 ranks the evaluation value of the control signal presented in the current chromosome into the fitness scale according to the current parameters of the GAO.
An output of the SSCQ 19001 is the optimal control signal 19002.
In one embodiment, the teaching for the SC optimizer 242 is obtained from the optimal control signal 19002 as shown in
In one embodiment, optimal suspension system response 20003 can be transformed in a manner that provides better performance of the final FIS.
In one embodiment, high and/or low and/or band pass filter is applied to the measured optimal suspension system response 20003 prior to optimal teaching signal 20004 formation.
In one embodiment, detrending and/or differentiation and/or integration operation is applied to the measured optimal suspension system response 20003 prior to optimal teaching signal 20004 formation.
In one embodiment, other operations which the person skill of art may provide is applied to the measured optimal suspension system response 20003 prior to optimal teaching signal 20004 formation.
Comparison Between Back Propagation FNN and SC Optimizer Control Results.
Many controlled plants must be moved from one control state to another control state in a stepwise fashion. For example, a stepping motor moves by stepping in controlled increments and cannot be arbitrarily moved from a first shaft position to a second shaft position without stepping through all shaft positions in between the first shaft position and the second shaft position.
In one embodiment, a Genetic Algorithm with step-coded chromosomes is used to develop a teaching signal that provides good control qualities for a controller with discrete constraints, such as, for example, a step-constrained controller. The step-coded chromosomes are chromosomes where at least a portion of the chromosome is constrained to a stepwise alphabet. The step-coded chromosome can also have portion which are position coded (i.e., coded in a relatively more continuous manner that is not stepwise constrained).
Every electromechanical control system has a certain time delay, which is usually caused by the analog to digital conversion of the sensor signals, computation of the control gains in the computation unit, by mechanical characteristics of the control actuator, and so on. Additionally, many control units do not have continuous characteristics. For example, when the control actuators are step motors, such step motors can change only one step up or one step down during a control cycle. From an optimization point of view, such a stepwise constraint can constrain the search space of the genetic algorithm 131 in the SSCQ 130. In other words, to control a step-motor with N positions, it is not necessary to check all the possible N positions each time the stepper motor position is updated. It is enough to check only the cases when the stepper motor position is going change one step up, one step down, or hold position. This gives only 3 possibilities, and thus, reduces the search space from the size of N points to three points. Such reduction of the search space will lead to better performance of the genetic algorithm 131, and thus, will lead to better overall performance of the intelligent control system.
As described above, the SSCQ 130 can be used to perform optimal control of different kinds of nonlinear dynamic systems, when the control system unit is used to generate discrete impulses to the control actuator, which then increases or decreases the control coefficients depending on the specification of the control actuator (such as, for example, the actuators in the dampers 801-804).
Without loss of generality, the conventional PID controller 150 in the control system 100 (shown in
Time column corresponds to time assigned after decoding of a chromosome, and STEP denotes the changing direction values from the stepwise alphabet {−1,0,1} corresponding to (STEP UP, HOLD, STEP DOWN) respectively.
In order to map such step-like control signals into the real parameters of the controller, an additional model of the control system that accepts such step-like inputs is developed by addition of the following transformation:
Step-based coding reduces the search space of the GA.
Coupled Nonlinear Oscillators Simulation Results.
The nonlinear equations of motion for coupled nonlinear oscillators (such as a suspension system) are as follows:
Here ξ(t) is the given stochastic excitation (non-Gaussian, Rayleigh, noise). Equations of entropy production are the following:
The system (9.1) is a stable system (in Lyapunov sense).
In this example one state variable y is controlled. Consider the following model parameters: β1=0.03;β2=0.3;ω1=1.5;ω2=4;k=10;l=0.5;M=5. Initial conditions and reference signal are the following: [1 0] [0 0]; y=0.05. In this example a Sugeno 0 FIS is used with three inputs and three outputs variables. Inputs varaibles are: control error, derivative of control error and integral of control error. Output variables are K-gains of PID Controller. By using the SC Optimizer and a teaching signal (TS) obtained outside of the SC Optimizer one can design a KB which optimally approximates the given training signal. For the training signal design uses the stochastic simulation system based on a GA with a chosen fitness function that minimizes control error and entropy production rate. The KB design process by using he SC Optimizer is characterized as follows:
For comparisions of control quality and robustness between the of SC Optimizer, a FNN and a traditional PID, the following control criteria are use:
We use the following control quality criteria:
The control quality of FCSCO obtained by SC Optimizer (with 30 rules) can be compared with the FCFNN obtained by traditional SC approach based on FNN-tuning (with 42 rules) and traditional PID-Controller with K=(10 10 10). Results of comparison are shown in Table 5 and in
Table 5 shows dynamic and thermodynamic characteristics of the suspension system motion along y-axis under SCO, FNN and PID control.
Results of comparison show that the fuzzy PID-controller designed by the SC Optimizer realizes more effective control than the FCFNN- and traditional PID-controllers.
It is also useful to take the FCSCO and FCFNN developed for the above case (see FIGS. SW1,2,3,4, and 5) and use them in a new control situation. Consider the following change of initial control situation: (1) new reference signal=0.1 and (2) new model parameters β1=0.3;β2=0.3;ω1=1.5;ω2=4;k=1;l=0.5;M=5 Compare now control performance in the new control situation of FCSCO obtained by SCO (with 30 rules), FCFNN obtained by traditional SC-approach based on FNN-tuning (with 42 rules) and traditional PID-Controller with K=(10 10 10). Results are shown in Table 6 and in
Simulations results given above (as in training signal control situation and in the new control situation) show that the fuzzy PID-controller designed by the SC Optimizer with relatively fewer rules than a traditional FNN controller realizes more effective and robust control than the FNN and/or a traditional PID-controller.
Although the foregoing has been a description and illustration of specific embodiments of the invention, various modifications and changes can be made thereto by persons skilled in the art, without departing from the scope and spirit of the invention as defined by the claims attached hereto.