EP1885054B1  Method of estimating the state of a system and related device for estimating position and speed of the rotor of a brushless motor  Google Patents
Method of estimating the state of a system and related device for estimating position and speed of the rotor of a brushless motor Download PDFInfo
 Publication number
 EP1885054B1 EP1885054B1 EP06425561A EP06425561A EP1885054B1 EP 1885054 B1 EP1885054 B1 EP 1885054B1 EP 06425561 A EP06425561 A EP 06425561A EP 06425561 A EP06425561 A EP 06425561A EP 1885054 B1 EP1885054 B1 EP 1885054B1
 Authority
 EP
 European Patent Office
 Prior art keywords
 ref
 motor
 function
 state
 rotor
 Prior art date
 Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
 Expired  Fee Related
Links
 238000000034 method Methods 0.000 claims description 36
 238000005259 measurement Methods 0.000 claims description 13
 238000004422 calculation algorithm Methods 0.000 claims description 8
 230000001276 controlling effect Effects 0.000 claims description 7
 230000000875 corresponding Effects 0.000 claims description 5
 238000005070 sampling Methods 0.000 claims description 2
 239000011159 matrix material Substances 0.000 description 26
 238000004088 simulation Methods 0.000 description 8
 238000010586 diagram Methods 0.000 description 7
 230000003042 antagnostic Effects 0.000 description 3
 239000005557 antagonist Substances 0.000 description 3
 230000001808 coupling Effects 0.000 description 3
 238000010168 coupling process Methods 0.000 description 3
 238000005859 coupling reaction Methods 0.000 description 3
 230000001537 neural Effects 0.000 description 3
 230000005540 biological transmission Effects 0.000 description 2
 230000002708 enhancing Effects 0.000 description 2
 239000000446 fuel Substances 0.000 description 2
 230000001965 increased Effects 0.000 description 2
 230000001939 inductive effect Effects 0.000 description 2
 230000000051 modifying Effects 0.000 description 2
 238000005312 nonlinear dynamic Methods 0.000 description 2
 239000007787 solid Substances 0.000 description 2
 241000196324 Embryophyta Species 0.000 description 1
 230000002159 abnormal effect Effects 0.000 description 1
 230000032683 aging Effects 0.000 description 1
 230000004075 alteration Effects 0.000 description 1
 238000004364 calculation method Methods 0.000 description 1
 238000001514 detection method Methods 0.000 description 1
 238000006073 displacement reaction Methods 0.000 description 1
 230000002068 genetic Effects 0.000 description 1
 230000003287 optical Effects 0.000 description 1
 238000005457 optimization Methods 0.000 description 1
 239000002245 particle Substances 0.000 description 1
 230000000306 recurrent Effects 0.000 description 1
 239000003638 reducing agent Substances 0.000 description 1
 230000011664 signaling Effects 0.000 description 1
 230000000576 supplementary Effects 0.000 description 1
Images
Classifications

 G—PHYSICS
 G05—CONTROLLING; REGULATING
 G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
 G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
 G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
 G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators

 H—ELECTRICITY
 H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
 H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMOELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
 H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
 H02P21/13—Observer control, e.g. using Luenberger observers or Kalman filters

 H—ELECTRICITY
 H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
 H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMOELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
 H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
 H02P21/14—Estimation or adaptation of machine parameters, e.g. flux, current or voltage
 H02P21/18—Estimation of position or speed

 H—ELECTRICITY
 H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
 H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMOELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
 H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
 H02P21/24—Vector control not involving the use of rotor position or rotor speed sensors
Description
 This invention relates the techniques for estimating the evolution of a system and more particularly to a method for estimating the state of a system. The method of this invention may be used for estimating position and speed of a brushless motor without employing speed and position sensors and may be implemented in a hardware form. The invention further relates to a device for generating estimation signals of position and speed of the rotor of a brushless motor, to a feedback control device of a brushless motor and to a power steering system that implement the method of this invention.
 Electric motors are used in the automotive field not only in electrically powered cars but also as actuators in servosystems for driving pumps, compressors and the like.
 Many functional devices of a car are motorized, such as the fuel pump, the overmodulation compressor, the transmission gears, the power steering, and so forth.
 Traditionally, these functional devices were servoassisted by exploiting the motor torque available on the shaft of the thermal engine of the car. This implied inefficiencies in using part of the mechanical energy obtained by burning fuel for powering these devices. Lately the use of electric motors, that notoriously convert electric energy into mechanical energy, has become more and more the preferred choice. Permanent magnet brushless motors are often preferred in these automotive applications. The characteristics of permanent magnet brushless motors are particularly suitable for automotive applications: they are relatively lightweight, have a high power density, a small size and are very reliable, though they are relatively expensive (due to the costs of the magnets used for fabricating the rotor), more difficult to control than a traditional DC electrical machine, and require more or less precise angular position sensors (depending on the brushless motor and the control strategy).
 In particular, when implementing control strategies that contemplate a sinusoidal modulation of the PWM (Pulse Width Modulation), whether DC (trapezoidal induced back electromotive force) or AC (sinusoidal induced back electromotive force), it is necessary to use sensors of the angular position, such as (incremental or absolute) encoders and resolvers that are relatively expensive (encoders) or require complicated sensing techniques (resolvers).
 For these reasons, the use of sensorless control algorithms that, based upon the detection of quantities the value of which is measurable and/or available in a simple and economic way, provide a more or less approximated estimation of the angular position of the rotor. Many applications do not allow to use sensorless techniques because, particularly modelbased techniques (that is the techniques based on a mathematic model of the physical system) do not allow an accurate estimation of the angular position at low speeds and do not provide any estimation at practically null speed.
 In certain applications this problem is eliminated by implementing alignment procedures and by using startup ramps destined to initialize the sensorless algorithm. It is evident that certain applications, such as for example electrically assisted power steering systems, do not allow pauses between the instant of application of the reference signal and its effective actuation. For these applications, that are safetycritical applications, sensorless algorithms may be a reliable alternative.
 Often in traditional control systems, a second angular position sensor is commonly installed for controlling that the first sensor be working correctly. Indeed, a sensorless estimation algorithm could compensate errors due to aging or to alterations of the main sensor, making superfluous the second sensor and thus solving the drawback of its encumbrance.
 Many examples of use of estimators of the angular position of the rotor of a permanent magnet brushless machine may be found in literature [4]. In particular, as far as the modelbased approaches are concerned, one of the most used techniques is based on the socalled "state observers" for monitoring the state of the system. In this case it is necessary to know at least roughly a mathematical model of the electric machine.

Figure 1 illustrates the block diagram of a typical field oriented control of a permanent magnet brushless machine (BLDC). The feedback signals, I_{sd} (direct current) and I_{sq} (quadrature current), that the PI controllers compare with the reference currents${\mathit{I}}_{\mathit{sd}}^{\mathit{ref}}$ and${\mathit{I}}_{\mathit{sq}}^{\mathit{ref}},$ are obtained with a double transform of the phase currents of the motor I_{U}, I_{V} and I_{W}. These currents, measured by sensors, are first transformed from the threephase statoric reference system to a twophase statoric reference system (Clarke transform),$$\begin{array}{l}{I}_{\mathrm{\alpha}}={I}_{U}\\ {I}_{\mathrm{\beta}}=\frac{{I}_{U}}{\sqrt{3}}+\frac{2{I}_{V}}{\sqrt{3}}\\ 0={I}_{U}+{I}_{V}+{I}_{W}\end{array}$$  In order to transform the currents I _{α} , I _{β} in a rotoric reference system (that is a time invariant system of coordinates) a further transform is necessary (Park transform) in which the angular position θ of the rotor is used:
$$\begin{array}{l}{I}_{\mathit{sd}}={I}_{\mathrm{\alpha}}\phantom{\rule{1em}{0ex}}\mathrm{cos}\left(\mathrm{\theta}\right)+{I}_{\mathrm{\beta}}\phantom{\rule{1em}{0ex}}\mathrm{sin}\left(\mathrm{\theta}\right)\\ {I}_{\mathit{sq}}={I}_{\mathrm{\alpha}}\phantom{\rule{1em}{0ex}}\mathrm{sin}\left(\mathrm{\theta}\right)+{I}_{\mathrm{\beta}}\phantom{\rule{1em}{0ex}}\mathrm{cos}\left(\mathrm{\theta}\right)\end{array}$$  The PI controllers (that is the controllers with a proportionalintegral action), generate reference voltages
${U}_{\mathit{sd}}^{\mathit{ref}}$ and${U}_{\mathit{sq}}^{\mathit{ref}}$ in function of the difference between the reference currents and the feedback currents. These voltages, after having been transformed with the inverse of the Park transform,$$\begin{array}{l}{U}_{\mathrm{\alpha}}^{\mathit{ref}}={U}_{\mathit{sd}}^{\mathit{ref}}\phantom{\rule{1em}{0ex}}\mathrm{cos}\left(\mathrm{\theta}\right){U}_{\mathit{sq}}^{\mathit{ref}}\phantom{\rule{1em}{0ex}}\mathrm{sin}\left(\mathrm{\theta}\right)\\ {U}_{\mathrm{\beta}}^{\mathit{ref}}={U}_{\mathit{sd}}^{\mathit{ref}}\phantom{\rule{1em}{0ex}}\mathrm{sin}\left(\mathrm{\theta}\right)+{U}_{\mathit{sq}}^{\mathit{ref}}\phantom{\rule{1em}{0ex}}\mathrm{cos}\left(\mathrm{\theta}\right)\end{array}$$
are supplied to the PWM generator.  The dynamics of the brushless motor may be studied both in the system of coordinates (d,q) as well as in the system (α,β). In the system (d,q), the dynamics of the system is expressed by the following equations:
$$\begin{array}{l}{L}_{\mathit{sq}}{\dot{I}}_{\mathit{sq}}={L}_{\mathit{sd}}{z}_{p}\dot{\mathrm{\theta}}{I}_{\mathit{sd}}{c}_{M}\dot{\mathrm{\theta}}{R}_{s}{I}_{\mathit{sq}}+{U}_{\mathit{sq}}\\ {L}_{\mathit{sd}}{\dot{I}}_{\mathit{sd}}={L}_{\mathit{sq}}{z}_{p}\dot{\mathrm{\theta}}{I}_{\mathit{sq}}{R}_{s}{I}_{\mathit{sd}}+{U}_{\mathit{sd}}\\ {J}_{M}\ddot{\mathrm{\theta}}={b}_{M}\dot{\mathrm{\theta}}+{c}_{M}{I}_{\mathit{sq}}{M}_{\mathit{load}}\end{array}$$
wherein z_{p} indicates the number of polar pairs, c_{M} the constant of the electric machine (that is the ratio between the generated torque and the current I_{sq} circulating when the rotor is blocked), R_{s} and L_{s} the resistance and the inductance of the windings, U_{sd} and U_{sq} the reference voltages. As far as the equation of mechanical equilibrium is concerned, J_{M}, b_{M} and M_{load} indicate the momentum of inertia, a dampening coefficient and the load moved by the electric machine, respectively.  In most of the followed approaches, the dynamics of the brushless motor is approximated with that of a DC motor, that is it is assumed that I_{sd} be null. In practice, equations (4) are simplified as follows:
$$\begin{array}{l}{L}_{\mathit{sq}}{\dot{I}}_{\mathit{sq}}={c}_{M}\dot{\mathrm{\theta}}{R}_{s}{I}_{\mathit{sq}}+{U}_{\mathit{sq}}\\ {J}_{M}\ddot{\mathrm{\theta}}={b}_{M}\dot{\mathrm{\theta}}+{c}_{M}{I}_{\mathit{sq}}{M}_{\mathit{load}}\end{array}$$  The values of state variables of the brushless motor, that in equation (5) are the current I_{sq} and the speed θ̇, may be estimated with the socalled "state estimators", that are algorithms for calculating the values of state variables of a system, if a mathematical model thereof defined in function of the detected inputs and outputs variables is known.
 A state observer that is largely used for controlling brushless motors is the socalled Luenberg state observer [4].
 This state observer, even if it is relatively simple, applies only for systems the dynamics of which is described by linear equations. In practice, it may be applied for tracking the kinematics of the rotor of a brushless electric machine if the approximation of equations (5) is reasonable.
 In case it is not possible to estimate the angular position by using the linear equations (5), the parameters of the observer must be estimated by introducing a Lyapunov function to be minimized.
 This technique is rather complicated because it presumes that an exact model of the motor be known and an appropriate choice of the Lyapunov function to be minimized. Moreover, it is necessary to estimate at least two of the three phase currents of the motor and the supply voltages.
 A state observer that considers also the noise that disturbs the measurement of the values of state variables is the extended Kalman filter. In order to better understand the field of application of this invention, the functioning of an extended Kalman filter is briefly explained.
 From a statistical point of view, the optimal state observer is the Kalman filter. The gain of the filter is calculated considering also the statistical properties of the noise of the process (uncertainty relative to the knowledge of the dynamics of the system) and of the measurement error.
 The extended Kalman filter (EKF) is an improvement of the Kalman filter suitable for systems having a nonlinear dynamics and may be used for estimating speed and position of the rotor. Therefore, it is possible to use equations (4) as a mathematical model of the brushless motor.
 The advantage in respect to other "modelbased" approaches (such as the Luenberger state observer) consists in not needing to use a linear approximation of the nonlinear mathematical model that describes the dynamics of the motor.
 The extended Kalman filter applies to discretetime state equations such as:
$$\begin{array}{ll}\stackrel{\u203e}{x\left(k+1\right)}=\stackrel{\u203e}{f\left(\stackrel{\u203e}{x\left(k\right)}\stackrel{\u203e}{u\left(k\right)}\right)}+\stackrel{\u203e}{v\left(k\right)}& \stackrel{\u203e}{x\left(0\right)}=\stackrel{\u203e}{{x}_{0}}\\ \stackrel{\u203e}{y\left(k\right)}=\stackrel{\u203e}{g\left(\stackrel{\u203e}{x\left(k\right)}\right)}+\stackrel{\u203e}{w\left(k\right)}& \phantom{\rule{1em}{0ex}}\end{array}$$
being 
x(k) the state of the system, 
u(k) the input of the system, 
y(k) the output of the system, 
v(k) the process noise, 
w(k) the measurement noise  In order to apply the EKF to a system of continuoustime nonlinear system of equation, the system of nonlinear equations is linearized and discretized around sampling instants taken at constant intervals, thus the standard Kalman filter is applied to the linearized system of discretetime equations.
 The a priori estimation of the state variables
x̂(k+1k) of the system at the step k+1 is a function of the a priori estimationx(kk) and of the measure of the input variablesu(k) at step k, that is:$$\stackrel{\u203e}{\hat{x}\left(k+1k\right)}=\stackrel{\u203e}{f\left(\stackrel{\u203e}{\hat{x}\left(kk\right)}\stackrel{\u203e}{u\left(k\right)}\right)}$$  In order to calculate the a posteriori estimation
x̂(kk) , the measurement of the outputŷ(k) of the system at the current step is used, that is$$\stackrel{\u203e}{\hat{x}\left(kk\right)}=\stackrel{\u203e}{\hat{x}\left(kk1\right)}+\stackrel{\u203e}{\stackrel{\u203e}{K\left(k\right)}}\cdot \left(\stackrel{\u203e}{y\left(k\right)}\stackrel{\u203e}{g\left(\stackrel{\u203e}{\hat{x}\left(kk1\right)}\stackrel{\u203e}{u\left(k\right)}\right)}\right)$$
beingK(k) the gain of the Kalman filter at the step k, that is tied to the values of the covariance matrices of the process and measurement noise.  In order to make the Kalman filter provides accurate estimations of the outputs of the system, the values of the matrix of gains
K(k) are adjusted such that the estimated values of the outputsg(x̂(kk1) ,u(k)) by the Kalman filter be as close as possible to the effectively measured outputsy(k) .  By linearizing and discretizing a system of inputstateoutput equations, the result is that the variation of the state of the system from step k to step k+1, that is
$$\stackrel{\u203e}{\mathrm{\Delta}x\left(k\right)}=\frac{\stackrel{\u203e}{x\left(k+1\right)}\stackrel{\u203e}{x\left(k\right)}}{{T}_{s}}$$
may be described as follows:$$\begin{array}{ll}\stackrel{\u203e}{\mathrm{\Delta}x\left(k+1\right)}=\stackrel{\u203e}{\stackrel{\u203e}{{F}_{1}\left(k\right)}}\cdot \stackrel{\u203e}{\mathrm{\Delta}x\left(k\right)}+\stackrel{\u203e}{\stackrel{\u203e}{{F}_{2}\left(k\right)}}\cdot \stackrel{\u203e}{\mathrm{\Delta}u\left(k\right)}+\stackrel{\u203e}{v\left(k\right)}& \stackrel{\u203e}{x\left(0\right)}=\stackrel{\u203e}{{x}_{0}}\\ \stackrel{\u203e}{\mathrm{\Delta}y\left(k\right)}=\stackrel{\u203e}{\stackrel{\u203e}{C\left(k\right)}}\cdot \stackrel{\u203e}{\mathrm{\Delta}x\left(k\right)}+\stackrel{\u203e}{w\left(k\right)}& \phantom{\rule{1em}{0ex}}\end{array}$$
and the gainK(k) of the EKF filter is:$$\stackrel{\u203e}{\stackrel{\u203e}{K\left(k\right)}}=\stackrel{\u203e}{\stackrel{\u203e}{P\left(kk1\right)}}\cdot \stackrel{\u203e}{\stackrel{\u203e}{{C\left(k\right)}^{T}}}\cdot {\left(\stackrel{\u203e}{\stackrel{\u203e}{C\left(k\right)}}\cdot \stackrel{\u203e}{\stackrel{\u203e}{P\left(kk1\right)}}\cdot \stackrel{\u203e}{\stackrel{\u203e}{{C\left(k\right)}^{T}}}+\stackrel{\u203e}{\stackrel{\u203e}{R}}\right)}^{1}$$
with$$\stackrel{\u203e}{\stackrel{\u203e}{P\left(k+1k\right)}}=\stackrel{\u203e}{\stackrel{\u203e}{{F}_{1}\left(k\right)}}\cdot \stackrel{\u203e}{\stackrel{\u203e}{P\left(kk\right)}}\cdot \stackrel{\u203e}{\stackrel{\u203e}{{{F}_{1}\left(k\right)}^{T}}}+\stackrel{\u203e}{\stackrel{\u203e}{Q}}$$ $$\stackrel{\u203e}{\stackrel{\u203e}{P\left(kk\right)}}=\left(\stackrel{\u203e}{\stackrel{\u203e}{I}}\stackrel{\u203e}{\stackrel{\u203e}{K\left(k\right)}}\cdot \stackrel{\u203e}{\stackrel{\u203e}{C\left(k\right)}}\right)\cdot \stackrel{\u203e}{\stackrel{\u203e}{P\left(kk1\right)}}$$
beingP(k+1k) andP(kk) covariance matrices associated to the estimations of the state a priori and a posteriori, respectively. The latter express the uncertainties that affect the a priori and a posteriori estimations of the state, respectively. For the system of equations that describe a brushless motor, choosing as state, input and output variables the following quantities:$$\begin{array}{ccc}\stackrel{\u203e}{x}={\left[{I}_{\mathit{sq}}{I}_{\mathit{sd}}\mathrm{\omega}\mathrm{\theta}\right]}^{T};& \stackrel{\u203e}{\begin{array}{c}u\end{array}}={\left[{U}_{\mathit{sq}}{U}_{\mathit{sd}}\right]}^{T};& \stackrel{\u203e}{y}={\left[{I}_{\mathit{sq}}{I}_{\mathit{sd}}\mathrm{\omega}\mathrm{\theta}\right]}^{T};\end{array}$$
being ω = θ̇, it is:$$\begin{array}{cc}\stackrel{\u203e}{f\left(\stackrel{\u203e}{x}\stackrel{\u203e}{u}\right)}={T}_{s}\left(\begin{array}{c}\frac{{R}_{s}\cdot {I}_{\mathit{sd}}}{{L}_{s}}+{z}_{p}\cdot \mathrm{\omega}\cdot {I}_{\mathit{sq}}\\ \frac{{R}_{s}\cdot {I}_{\mathit{sq}}}{{L}_{s}}{z}_{p}\cdot \mathrm{\omega}\cdot {I}_{\mathit{sd}}\frac{{c}_{M}\mathrm{\omega}}{{L}_{s}}\\ \frac{{b}_{M}}{{J}_{M}}\mathrm{\omega}+\frac{{c}_{M}}{{J}_{M}}{I}_{\mathit{sq}}\\ \mathrm{\omega}\end{array}\right)+\left(\begin{array}{c}\frac{{U}_{\mathit{sd}}}{{L}_{s}}\\ \frac{{U}_{\mathit{sq}}}{{L}_{s}}\\ \frac{{M}_{\mathit{load}}}{{J}_{M}}\\ 0\end{array}\right);& \stackrel{\u203e}{g\left(\stackrel{\u203e}{x}\stackrel{\u203e}{u}\right)}=\left(\begin{array}{c}{I}_{\mathit{sd}}\\ {I}_{\mathit{sq}}\\ \mathrm{\omega}\\ \mathrm{\theta}\end{array}\right)\end{array}$$
having supposed, for sake of simplicity, L_{sd} = L_{sq} = L_{s}. As a consequence:$$\stackrel{\u203e}{\stackrel{\u203e}{{F}_{1}\left(k\right)}}={\left[{\u25bf}_{\stackrel{\u203e}{x}}\stackrel{\u203e}{f\left(\stackrel{\u203e}{x}\stackrel{\u203e}{u}\right)}\right]}_{\stackrel{\u203e}{x}=\stackrel{\u203e}{x\left(k\right)},\stackrel{\u203e}{u}=\stackrel{\u203e}{u\left(k\right)}}={T}_{s}\left(\begin{array}{cccc}\frac{{R}_{s}}{{L}_{s}}& {z}_{p}\cdot \mathrm{\omega}\left(k\right)& {z}_{p}\cdot {I}_{\mathit{sq}}\left(k\right)& 0\\ {z}_{p}\cdot \mathrm{\omega}\left(k\right)& \frac{{R}_{s}}{{L}_{s}}& \frac{{c}_{M}}{{L}_{s}}{z}_{p}\cdot {I}_{\mathit{sd}}& 0\\ 0& \frac{{c}_{M}}{{J}_{M}}& \frac{{b}_{M}}{{J}_{M}}& 0\\ 0& 0& 1& 0\end{array}\right)$$ $$\stackrel{\u203e}{\stackrel{\u203e}{C\left(k\right)}}={\left[{\u25bf}_{\stackrel{\u203e}{x}}\stackrel{\u203e}{g\left(\stackrel{\u203e}{x}\stackrel{\u203e}{u}\right)}\right]}_{\stackrel{\u203e}{x}=\stackrel{\u203e}{x\left(k\right)},\stackrel{\u203e}{u}=\stackrel{\u203e}{u\left(k\right)}}=\left(\begin{array}{cccc}1& 0& 0& 0\\ 0& 1& 0& 0\\ 0& 0& 1& 0\\ 0& 0& 0& 1\end{array}\right)$$  In practice, the EKF may be used when the covariance matrices of the process noise
Q and of the measurement noiseR are known. If these matrices are known, it is possible to calculate at each step the gain of the EKF and thus to estimate the state of the system. In [4] different modelbased approaches are compared for estimating the angular position of the rotor of a permanent magnet brushless machine, a Luenberger state observer, a reduced Luenberger state observer, an EKF and so on. The best performances in terms of accuracy in tracking the kinematics of the rotor are provided by the EKF. In the cited article the computational loads (that is scalar multiplications, integrations, trigonometric functions) of the various approaches are compared among them, and it results that the EKF is very burdensome form a computational point of view.  As for other modelbased approaches, there is no a deterministic and objective method for determining the covariance matrices of the measurement and process noise, and they must be fixed for using the extended Kalman filter. An imprecise estimation of the matrices
Q andR may cause an imprecise control of the system to be controlled.  Moreover, an inappropriate choice of the values of the components of the covariance matrix
P(00) associated to the estimation a posteriori of the initial state may worsen sensibly the precision of the control.  The published patent application
US 2005/0007044 discloses a method and an apparatus for realizing a state observer control system for a motor that uses an extended Kalman filter to predict rotor positions and/or speed under variable loading conditions.  The article by Alma Y. Alanis et al., "Discretetime recurrent neural induction motor control using Kalman learning", IJCNN 2006, International Joint Conference on Neural Networks, July 2006, pages 19932000, XP002410493, discloses a technique for tracking evolutions of discretetime induction motors in presence of bounded disturbances, using a high order neural network structure to identify the plant model and a discretetime control law that combines discrete time and sliding control modes.
 These drawbacks are obviated with the method of this invention for estimating data of the state of a system. The method of this invention, as well as the EKF filters, allows to use nonlinear mathematical models that describe the systems, but ensures a more accurate precision.
 This outstanding result is due to the fact that the method of this invention is based on the EKF technique, but it differs from it for adapting it to work with a filter that implements a first degree Stirling approximation formula.
 Moreover, the matrices
Q ,R andP(00) are estimated during an offline training phase by means of an evolutionary algorithm for minimizing a preestablished cost function defined in function of the estimated outputs of the system, of the detected outputs, of the estimated values of at least a state of the system and of the corresponding detected values in response to a preestablished input pattern. This allows even to obtain accurate estimations of data of state of a system without knowing all initial conditions.  Preferably, the cost function is the mean square error of the difference between the estimated and the measured outputs and between the estimated values of at least a state variable of the system and the corresponding detected values, in response to a preestablished input pattern.
 Once the offline training phase is finished, the matrices
Q ,R andP(00) are known and it is possible to estimate data of state starting from the inputs and the outputs of the system. In practice, by applying the just described technique to a brushless motor, it is possible to estimate position and speed of the rotor of the motor without installing dedicated sensors thereon, but simply by detecting the currents that flows through the windings (that are the outputs of the brushless motor) and the driving voltages of the motor (that are the inputs of the motor).  The method of this invention for estimating position and speed of a brushless motor may be implemented in a relative device. Such a device may be used for controlling a brushless motor, or it may be introduced in the control loop of a brushless motor of a power steering system, in order to make the driver feel an antagonist torque on the steering wheel determined, according to a preestablished waveform, in function of the speed of the vehicle and of the steering angle.
 Alternatively, the methods of this invention may even be implemented via software by a program executed by a computer or a microprocessor.
 The invention is defined in the annexed claims.


Figure 1 depicts a block diagram of a typical field oriented control of a permanent magnet brushless machine. 
Figure 2 compares the second order polynomial approximations of a function f (solid line) obtained respectively with the Stirling interpolation formula (dotdashed line) and with the series of Taylor (dashed line). 
Figure 3 is a block diagram of the model of state observer of this invention used for tracking the kinematics of the rotor of a permanent magnet brushless machine (i.e. BLDC motor). 
Figure 4 schematically depicts the operation carried out by the evolutionary algorithms on the covariance matrices of the state variables and on the covariance matrix of the process noise. 
Figure 5 depicts a block diagram of a column EPS system in HILS (HardwareInTheLoop Simulation) configuration. 
Figure 6 depicts a torque sensor used for measuring the steering torque TS felt by a driver while steering. 
Figure 7 depicts schematically the rackpinion system associated to the considered EPS system. 
Figure 8 depicts a typical waveform of the load torque (solid line) due to friction between the road and the wheels in function of the steering angle (dashed line) determined by a driver during the motion of a vehicle. 
Figure 9 depicts a block diagram of the control logic for reducing the steering torque in an EPS system of this invention. 
Figure 10 depicts a possible waveform of the reference steering torque in function of the speed of the vehicle and of the steering angle. 
Figure 11 is a sample 3D representation of a typical lookup table used for describing how the reference steering torque depends on the vehicle speed and on the steering angle. 
Figure 12 compares the waveform of the estimated position of the rotor in function of the time with that measured by an ad hoc sensor and with that estimated using only an inputstateoutput mathematical model of the system, using a specific test pattern and ignoring the initial position of the rotor. 
Figure 13 is a magnified view of a portion of the graph ofFigure 12 between about 0.8 and 1.15 seconds. 
Figure 14 is a magnified view of a portion of the graph ofFigure 12 between about 0.2 and 0.225 seconds. 
Figure 15 compares the estimated speed of the rotor according to the method of this invention with that measured by an ad hoc sensor and with that estimated using only an inputstateoutput mathematical model of the system. 
Figure 16 is a magnified view of a portion of the graph ofFigure 12 between about 1.7 and about 1.95 seconds. 
Figure 17 compares the speed of the rotor estimated according to the method of this invention with that measured by an ad hoc sensor and with that estimated using only an inputstateoutput mathematical model of the system, ignoring the initial speed of the rotor. 
Figure 18 compares the rotor position estimated by the non optimized state observer DD1 with the position of the rotor measured by an ad hoc sensor and with the angular position of the rotor estimated using only an inputstateoutput mathematical model of the system, ignoring both the initial speed and the initial position of the rotor.  This invention discloses a method based on a socalled freederivative state observer for estimating data of state variables of a system that may be used, in particular, for estimating, in a sensorless fashion, speed and position of the rotor of a brushless motor without installing dedicated sensors.
 Compared with other modelbased approaches used for tracking the kinematics of the rotor (such as the Extended Kalman Filter), the method of this invention is advantageous both from the point of view of the computational load required for its implementation and from the point of view of the rapidity of its response and the accuracy of its estimations.
 As far as the tuning of parameters of the "free derivative" filter is concerned, the method of this invention uses a soft computing procedure based on the use of evolutionary algorithms.
 The method has been tested on an EPS application (Electric Power Steering), that is on specific application patterns of an EPS system wherein the brushless motor is used for providing a torque for helping the driver while steering.
 In order to better understand the method of this invention, a brief introduction to "free derivative" observers is provided hereinbelow.
 Numerous articles available in literature show how in different applications concerning systems with nonlinear dynamics the use of freederivative state observers for estimating the state variables of the systems provides more accurate results than traditional approaches such as EKF [3].
 Before showing how a freederivative state observer can be used for carrying out an accurate tracking of the kinematics of the rotor of a permanent magnet brushless machine, a brief introduction to the techniques used for developing this state observer is provided. In particular, a different way of approximating locally an arbitrary function without using the classic Taylor expansion of the function will be shown.
 Given an analytic function f, it may be represented in a neighborhood of a point x̅ with the well known Taylor series expansion,
$$f\left(x\right)=f\left(\stackrel{\u203e}{x}\right)+f\u02b9\left(\stackrel{\u203e}{x}\right)\left(x\stackrel{\u203e}{x}\right)+\frac{{f}^{\left(2\right)}\left(\stackrel{\u203e}{x}\right)}{2}{\left(x\stackrel{\u203e}{x}\right)}^{2}+\frac{{f}^{\left(3\right)}\left(\stackrel{\u203e}{x}\right)}{6}{\left(x\stackrel{\u203e}{x}\right)}^{3}+\dots $$  In general, with the Taylor series expansion, the more elements of the series are considered, the more accurate is the approximation of the function.
 There are various formulas for interpolating functions that do not require the calculation of derivatives but simply need evaluating the function in a finite number of points. Implementation of these interpolating formulas is simpler than traditional interpolating formulas.
 One of the most known interpolating formulas is the Stirling formula. Given two operators δ and µ such that
$$\begin{array}{l}\mathrm{\delta}f\left(x\right)=f\left(x+\frac{h}{2}\right)f\left(x\frac{h}{2}\right)\\ \mathrm{\mu}f\left(x\right)=\frac{1}{2}\left(f\left(x+\frac{h}{2}\right)+f\left(x\frac{h}{2}\right)\right)\end{array}$$
the approximation of the function f in the neighborhood of a point x may be expressed as follows,$$f\left(x\right)=f\left(\stackrel{\u203e}{x}+\mathit{ph}\right)=f\left(\stackrel{\u203e}{x}\right)+p\mathrm{\mu \delta}f\left(\stackrel{\u203e}{x}\right)+\frac{{p}^{2}}{2}{\mathrm{\delta}}^{2}f\left(\stackrel{\u203e}{x}\right)+\left(\begin{array}{c}p+1\\ 3\end{array}\right){\mathrm{\mu \delta}}^{3}f\left(\stackrel{\u203e}{x}\right)+\frac{{p}^{2}\left({p}^{2}1\right)}{2\cdot 3\cdot 4}{\mathrm{\delta}}^{4}f\left(\stackrel{\u203e}{x}\right)+\left(\begin{array}{c}p+2\\ 5\end{array}\right){\mathrm{\mu \delta}}^{5}f\left(\stackrel{\u203e}{x}\right)+\dots $$
wherein 1<p<1. By limiting the polynomial approximation to the second order,$$f\left(x\right)\approx f\left(\stackrel{\u203e}{x}\right)+{f}_{\mathit{DD}}^{\u02b9}\left(\stackrel{\u203e}{x}\right)\left(x\stackrel{\u203e}{x}\right)+\frac{{f}_{\mathit{DD}}^{\mathrm{\u02b9\u02b9}}\left(\stackrel{\u203e}{x}\right)}{2}{\left(x\stackrel{\u203e}{x}\right)}^{2}$$
wherein$$\begin{array}{cc}{f}_{\mathit{DD}}^{\u02b9}\left(\stackrel{\u203e}{x}\right)=\frac{f\left(\stackrel{\u203e}{x}+h\right)f\left(\stackrel{\u203e}{x}h\right)}{2h}& {f}_{\mathit{DD}}^{\mathrm{\u02b9\u02b9}}\left(\stackrel{\u203e}{x}\right)=\frac{f\left(\stackrel{\u203e}{x}+h\right)+f\left(\stackrel{\u203e}{x}h\right)2f\left(\stackrel{\u203e}{x}\right)}{{h}^{2}}\end{array}$$  Equation (14) may be interpreted as a Taylor approximation in which the derivatives are substituted by central finite differences such as equations (15). In order to evaluate the accuracy of the approximation it is sufficient to substitute in equation (14) the Taylor series expansion (equation (11)) in place of f(x̅ + h) and f(x̅  h). Therefore,
$$f\left(\stackrel{\u203e}{x}\right)+{f}_{\mathit{DD}}^{\u02b9}\left(\stackrel{\u203e}{x}\right)\left(x\stackrel{\u203e}{x}\right)+\frac{{f}_{\mathit{DD}}^{\mathrm{\u02b9\u02b9}}\left(\stackrel{\u203e}{x}\right)}{2}{\left(x\stackrel{\u203e}{x}\right)}^{2}=f\left(\stackrel{\u203e}{x}\right)+f\u02b9\left(\stackrel{\u203e}{x}\right)\left(x\stackrel{\u203e}{x}\right)+\frac{f\mathrm{\u02b9\u02b9}\left(\stackrel{\u203e}{x}\right)}{2}{\left(x\stackrel{\u203e}{x}\right)}^{2}+\left(\frac{{f}^{\left(3\right)}\left(\stackrel{\u203e}{x}\right){h}^{2}}{2\cdot 3}+\frac{{f}^{\left(5\right)}\left(\stackrel{\u203e}{x}\right){h}^{4}}{2\cdot 3\cdot 4\cdot 5}+\dots \right)\left(x\stackrel{\u203e}{x}\right)+\left(\frac{{f}^{\left(4\right)}\left(\stackrel{\u203e}{x}\right){h}^{2}}{2\cdot 3\cdot 4}+\frac{{f}^{\left(6\right)}\left(\stackrel{\u203e}{x}\right){h}^{4}}{2\cdot 3\cdot 4\cdot 5\cdot 6}+\dots \right){\left(x\stackrel{\u203e}{x}\right)}^{2}$$  From equation (16) it is possible to infer that the polynomial approximation to the second order based on the Stirling formula coincides with the Taylor approximation of the function to the second order but for a remainder (that is of the two last terms at the right side of equation (16)) the value of which may be controlled through the parameter h.
 This is one of the characteristics that characterize the Stirling interpolation formula and thus makes the approximation of functions with this formula more flexible in than with traditional approaches.

Figure 2 compares the polynomial approximation to the second order of a function f in the neighborhood of a point x̅ carried out respectively with the Stirling approximation formula and the Taylor series expansion. It is possible to infer that the approximation obtained with the Taylor series expansion worsen significantly the more we get far from point x̅. The Stirling interpolation formula of the second order, with the parameter h equal to 3.5 fairly approximates the function even relatively far from the point of interest.  The Stirling approximation formula of the second order (equation (14)) in the multidimensional case assumes the following form:
$$f\left(x\right)\approx f\left(\stackrel{\u203e}{x}\right)+{\tilde{D}}_{\mathrm{\Delta}x}f+\frac{{{\tilde{D}}^{2}}_{\mathrm{\Delta}x}f}{2}$$
where operators D̃ _{Δx } and${\tilde{D}}_{\mathrm{\Delta}x}^{2}$ are defined by the following equations:$$\begin{array}{l}{\tilde{D}}_{\mathrm{\Delta}x}f=\frac{1}{h}\left({\displaystyle \sum _{p=1}^{n}}\mathrm{\Delta}{x}_{p}{\mathrm{\mu}}_{p}{\mathrm{\delta}}_{p}\right)f\left(\stackrel{\u203e}{x}\right)\\ {\tilde{D}}_{\mathrm{\Delta}x}^{2}f=\frac{1}{{h}^{2}}\left({\displaystyle \sum _{p=1}^{n}}{\left(\mathrm{\Delta}{x}_{p}\right)}^{2}{\mathrm{\delta}}_{p}^{2}+{\displaystyle \sum _{p=1}^{n}}{\displaystyle \sum _{q=1,q\ne p}^{n}}\mathrm{\Delta}{x}_{p}\mathrm{\Delta}{x}_{q}{\mathrm{\delta}}_{p}^{2}\left({\mathrm{\mu}}_{p}{\mathrm{\delta}}_{p}\right)\left({\mathrm{\mu}}_{q}{\mathrm{\delta}}_{q}\right)\right)f\left(\stackrel{\u203e}{x}\right)\end{array}$$  In equations (18) µ _{p} and δ _{p} represent the average and difference operators, respectively.

 While the Taylor series expansions of f and f̃ in a neighborhood of points x̅ and z̅, respectively, is the same, the Stirling approximation formula does not provide the same result:
$$2{\mathrm{\mu}}_{p}{\mathrm{\delta}}_{p}\tilde{f}\left(\stackrel{\u203e}{z}\right)=\tilde{f}\left(\stackrel{\u203e}{z}+h{e}_{p}\right)\tilde{f}\left(\stackrel{\u203e}{z}h{e}_{p}\right)=f\left(\stackrel{\u203e}{x}+h{s}_{p}\right)f\left(\stackrel{\u203e}{x}h{s}_{p}\right)$$
wherein e_{p} is the unity vector with p components, that is:$${e}_{p}=\left[\begin{array}{c}1\\ \vdots \\ 1\end{array}\right]$$
and sp indicates the pth column of matrix S. It is possible to show that with an appropriate choice of the linear transform S and of the parameter h it is possible to optimize the approximation of a function f of a stochastic variable.  Let us suppose to know mean and covariance of a vector x of stochastic variables,
$$\begin{array}{cc}\stackrel{\u203e}{x}=E\left[x\right],& {P}_{x}=E\lfloor \left(x\stackrel{\u203e}{x}\right){\left(x\stackrel{\u203e}{x}\right)}^{T}\rfloor \end{array}$$
and of determining average, covariance and stochastic correlation of a function f of the variable x,$$\begin{array}{l}\stackrel{\u203e}{y}=E\left[f\left(x\right)\right]\\ {P}_{y}=E\left[\left(f\left(x\right)\stackrel{\u203e}{y}\right){\left(f\left(x\right)\stackrel{\u203e}{y}\right)}^{T}\right]\\ {P}_{\mathit{xy}}=E\left[\left(x\stackrel{\u203e}{x}\right){\left(f\left(x\right)\stackrel{\u203e}{y}\right)}^{T}\right]\end{array}$$  Let us calculate the above mentioned mean values using an approximation of the function based on the Stirling approximation formula. In this context it is particularly useful a linear transform such as
$$z={S}^{1}x$$
where the matrix S is the Cholesky factor of the covariance matrix P_{x}, that is it is a upper triangular matrix for which the following equation:$${P}_{x}=S{S}^{T}$$  Hereinafter only the function f̃(z) defined by equation (20) will be considered. Given a first order approximation of the function f̃(z),
$$y=\tilde{f}\left(\stackrel{\u203e}{z}+\mathrm{\Delta}z\right)\approx \tilde{f}\left(\stackrel{\u203e}{z}\right)+{\tilde{D}}_{\mathrm{\Delta}z}\tilde{f}$$
being E[Δz] = 0, the expected value of y, that is the average of the function f̃(z) is$$\stackrel{\u203e}{y}=E\lfloor \tilde{f}\left(\stackrel{\u203e}{z}\right)+{\tilde{D}}_{\mathrm{\Delta}z}\tilde{f}\rfloor =\tilde{f}\left(\stackrel{\u203e}{z}\right)=f\left(\stackrel{\u203e}{x}\right)$$  As far as the expected value of the covariance is concerned, considering that E[Δz] = 0 and that E└Δz_{i} Δz_{j} ┘ = 0, i ≠ j, the following equation holds:
$$\begin{array}{ll}{P}_{y}& =E\left[\left(\tilde{f}\left(z\right)+{\tilde{D}}_{\mathrm{\Delta}z}\tilde{f}\tilde{f}\left(\stackrel{\u203e}{z}\right)\right){\left(\tilde{f}\left(z\right)+{\tilde{D}}_{\mathrm{\Delta}z}\tilde{f}\tilde{f}\left(\stackrel{\u203e}{z}\right)\right)}^{T}\right]\\ \phantom{\rule{1em}{0ex}}& =E\left[\left({\tilde{D}}_{\mathrm{\Delta}z}\tilde{f}\left(z\right)\right){\left({\tilde{D}}_{\mathrm{\Delta}z}\tilde{f}\left(z\right)\right)}^{T}\right]=E\left[\left({\displaystyle \sum _{p=1}^{n}}\mathrm{\Delta}{z}_{p}{\mathrm{\mu}}_{p}{\mathrm{\delta}}_{p}\tilde{f}\left(\stackrel{\u203e}{z}\right)\right){\left({\displaystyle \sum _{p=1}^{n}}\mathrm{\Delta}{z}_{p}{\mathrm{\mu}}_{p}{\mathrm{\delta}}_{p}\tilde{f}\left(\stackrel{\u203e}{z}\right)\right)}^{T}\right]\\ \phantom{\rule{1em}{0ex}}& ={\mathrm{\sigma}}_{2}{\displaystyle \sum _{p=1}^{n}}\left({\mathrm{\mu}}_{p}{\mathrm{\delta}}_{p}\tilde{f}\left(\stackrel{\u203e}{z}\right)\right){\left({\mathrm{\mu}}_{p}{\mathrm{\delta}}_{p}\tilde{f}\left(\stackrel{\u203e}{z}\right)\right)}^{T}\\ \phantom{\rule{1em}{0ex}}& =\frac{1}{4{h}^{2}}{\displaystyle \sum _{p=1}^{n}}\left(\tilde{f}\left(\stackrel{\u203e}{z}+h{e}_{p}\right)\tilde{f}\left(\stackrel{\u203e}{z}h{e}_{p}\right)\right){\left(\tilde{f}\left(\stackrel{\u203e}{z}+h{e}_{p}\right)\tilde{f}\left(\stackrel{\u203e}{z}h{e}_{p}\right)\right)}^{T}\end{array}$$  Exploiting equation (21), the final formula is obtained
$${P}_{y}=\frac{1}{4{h}^{2}}{\displaystyle \sum _{p=1}^{n}}\left(f\left(\stackrel{\u203e}{x}+h{s}_{x,p}\right)f\left(\stackrel{\u203e}{x}h{s}_{x,p}\right)\right){\left(f\left(\stackrel{\u203e}{x}+h{s}_{x,p}\right)f\left(\stackrel{\u203e}{x}h{s}_{x,p}\right)\right)}^{T}$$ 
 Using a second order approximation of the function f̃(z),
$$y\approx \tilde{f}\left(\stackrel{\u203e}{z}\right)+{\tilde{D}}_{\mathrm{\Delta}z}\tilde{f}+\frac{1}{2}{\tilde{D}}_{\mathrm{\Delta}z}^{2}\tilde{f}=\tilde{f}\left(\stackrel{\u203e}{z}\right)+\frac{1}{h}\left({\displaystyle \sum _{p=1}^{n}}\mathrm{\Delta}{z}_{p}{\mathrm{\mu}}_{p}{\mathrm{\delta}}_{p}\right)\tilde{f}\left(\stackrel{\u203e}{z}\right)+\frac{1}{2{h}^{2}}\left({\displaystyle \sum _{p=1}^{n}}{\left(\mathrm{\Delta}{z}_{p}\right)}^{2}{\mathrm{\delta}}_{p}^{2}+{\displaystyle \sum _{p=1}^{n}}{\displaystyle \sum _{q=1,q\ne p}^{n}}\left(\mathrm{\Delta}{z}_{q}\mathrm{\Delta}{z}_{p}\right)\left({\mathrm{\mu}}_{p}{\mathrm{\mu}}_{q}\right)\left({\mathrm{\delta}}_{p}{\mathrm{\delta}}_{q}\right)\right)\tilde{f}\left(\stackrel{\u203e}{z}\right)$$
it is possible to obtain more accurate estimations of the average and of the covariance of the function f̃(z), respectively$$\stackrel{\u203e}{y}=\frac{{h}^{2}n}{{h}^{2}}f\left(\stackrel{\u203e}{x}\right)+\frac{1}{2{h}^{2}}{\displaystyle \sum _{p=1}^{n}}\left(\tilde{f}\left(\stackrel{\u203e}{x}+h{s}_{x,p}\right)\tilde{f}\left(\stackrel{\u203e}{x}h{s}_{x,p}\right)\right)$$ $${P}_{y}=\frac{1}{4{h}^{2}}{\displaystyle \sum _{p=1}^{n}}\left(f\left(\stackrel{\u203e}{x}+h{s}_{x,p}\right)f\left(\stackrel{\u203e}{x}h{s}_{x,p}\right)\right){\left(f\left(\stackrel{\u203e}{x}+h{s}_{x,p}\right)f\left(\stackrel{\u203e}{x}h{s}_{x,p}\right)\right)}^{T}+\frac{{h}^{2}1}{4{h}^{2}}{\displaystyle \sum _{p=1}^{n}}\left(f\left(\stackrel{\u203e}{x}+h{s}_{x,p}\right)f\left(\stackrel{\u203e}{x}h{s}_{x,p}\right)2f\left(\stackrel{\u203e}{x}\right)\right){\left(f\left(\stackrel{\u203e}{x}+h{s}_{x,p}\right)f\left(\stackrel{\u203e}{x}h{s}_{x,p}\right)2f\left(\stackrel{\u203e}{x}\right)\right)}^{T}$$  EKF is one of the most known state observers used for tracking the functioning state of a nonlinear system. It is based on the Taylor series approximation formula, that depends only upon the current estimation of the state variables of the system and not upon the uncertainty/variance associated to this estimation.
 The socalled DD1 and DD2 filters, described in the document [3], are among the most known state observer, they are used for tracking nonlinear systems and they are based on the Stirling approximation formula. These filters are based to the first and second order approximations, respectively, described by equations (27), (29), (31) and (32).
 Deep investigations carried out by the present applicant indicated that one of the characteristics that distinguish the latter approach compared with traditional approaches (such as the EKF), is an approximation of the dynamics of the system that considers not only the current estimation of the state variables but also uncertainties relating to these estimations.
 In order to further enhance precision, it has been devised a technique for using filters DD1 and DD2 in an algorithm similar to EKF in which inner parameters of the filters DD1 and DD2 are established through evolutionary algorithms.
 Hereinafter, reference will be made exclusively to the case in which the filter to be used is a DD1 filter, but the same considerations apply, mutatis mutandis, also if a filter DD2 or any other filter based on the Stirling approximation formula of any order, even larger than the second order, is used.
 Compared to the EKF, the Jacobian matrix of equation (10) is substituted by the finite differences. While the formulas for updating the state are the same of that used in an EKF, formulas for updating covariance matrices are sensibly different.
 Given the Cholesky factorizations of the covariance matrices Q, R, of process noise and of measurement noise, that corrupts measures of the outputs of the process, and the Cholesky factorizations of the covariance matrices P̅, P̂ associated to the estimation of the state a priori and a posteriori, respectively,
$$\begin{array}{ll}Q={S}_{v}{S}_{v}^{T}& R={S}_{w}{S}_{w}^{T}\\ \stackrel{\u203e}{P}={\stackrel{\u203e}{S}}_{x}{\stackrel{\u203e}{S}}_{x}^{T}& \hat{\begin{array}{c}P\end{array}}={\hat{S}}_{x}{\hat{S}}_{x}^{T}\end{array}$$
for equation (29) it is:$$\begin{array}{l}{S}_{x\hat{x}}^{\left(1\right)}\left(k\right)=\left\{{S}_{x\hat{x}}^{\left(1\right)}\left(ij\right)\right\}=\left\{\left({f}_{i}\left({\hat{x}}_{k}+h{\hat{s}}_{x,j},{u}_{k},{\stackrel{\u203e}{v}}_{k}\right){f}_{i}\left({\hat{x}}_{k}h{\hat{s}}_{x,j},{u}_{k},{\stackrel{\u203e}{v}}_{k}\right)\right)/2h\right\}\\ {S}_{\mathit{xv}}^{\left(1\right)}\left(k\right)=\left\{{S}_{\mathit{xv}}^{\left(1\right)}\left(ij\right)\right\}=\left\{\left({f}_{i}\left({\hat{x}}_{k},{u}_{k},{\stackrel{\u203e}{v}}_{k}+h{s}_{v,j}\right){f}_{i}\left({\hat{x}}_{k},{u}_{k},{\stackrel{\u203e}{v}}_{k}h{s}_{v,j}\right)\right)/2h\right\}\\ {S}_{y\stackrel{}{x}}^{\left(1\right)}\left(k\right)=\left\{{S}_{y\stackrel{}{x}}^{\left(1\right)}\left(ij\right)\right\}=\left\{\left({g}_{i}\left({\stackrel{\u203e}{x}}_{k}+h{\stackrel{\u203e}{s}}_{x,j},{\stackrel{\u203e}{w}}_{k}\right){g}_{i}\left({\stackrel{\u203e}{x}}_{k}h{\stackrel{\u203e}{s}}_{x,j},{\stackrel{\u203e}{w}}_{k}\right)\right)/2h\right\}\\ {S}_{\mathit{yw}}^{\left(1\right)}\left(k\right)=\left\{{S}_{\mathit{yw}}^{\left(1\right)}\left(ij\right)\right\}=\left\{\left({g}_{i}\left({\stackrel{\u203e}{x}}_{k},{\stackrel{\u203e}{w}}_{k}+h{s}_{w,j}\right){g}_{i}\left({\stackrel{\u203e}{x}}_{k},{\stackrel{\u203e}{w}}_{k}h{s}_{w,j}\right)\right)/2h\right\}\end{array}$$
wherein ŝ_{x,j}, s̅_{x,j}, s_{w,j}, s_{v,j} is the jth column of the matrix Ŝ_{x} , S̅_{x} , S_{w}, S_{v}, respectively. 


 For the a priori update of the state equation (27) is used. In this case f represent the nonlinear function that ties the state variables of the system, the inputs and the process noise at step kth to the a priori estimation of the state variables at step (k+1)th. Therefore, by applying equation (27), the following equation is obtained:
$${\stackrel{\u203e}{x}}_{k+1}\approx \tilde{f}\left({\stackrel{\u203e}{z}}_{k}\right)=f\left({\hat{x}}_{k}{u}_{k}{\stackrel{\u203e}{v}}_{k}\right)$$
while, for the a priori update of the covariance matrix of the state, equations (29) and (35) are obtained,$$\stackrel{\u203e}{P}\left(k+1\right)=\left[\begin{array}{cc}{S}_{x\hat{x}}^{\left(1\right)}\left(k\right)& {S}_{\mathit{xv}}^{\left(1\right)}\left(k\right)\end{array}\right]{\left[\begin{array}{cc}{S}_{x\hat{x}}^{\left(1\right)}\left(k\right)& {S}_{\mathit{xv}}^{\left(1\right)}\end{array}\left(k\right)\right]}^{T}={S}_{x\hat{x}}^{\left(1\right)}\left(k\right){\left({S}_{x\hat{x}}^{\left(1\right)}\left(k\right)\right)}^{T}+{S}_{\mathit{xv}}^{\left(1\right)}\left(k\right){\left({S}_{\mathit{xv}}^{\left(1\right)}\left(k\right)\right)}^{T}$$  The Cholesky factor of the covariance matrix of the state is immediately obtainable. Being
$${\stackrel{\u203e}{S}}_{x}\left(k+1\right)=\lfloor \begin{array}{cc}{S}_{x\hat{x}}^{\left(1\right)}& {S}_{\mathit{xv}}^{\left(1\right)}\end{array}\rfloor $$
a rectangular matrix is obtained. Through a Householder triangularization, the Cholesky factor of the covariance matrix of the state at step k+1 is obtained.  As far as the a posteriori estimation of data of state variables of the system is concerned, the outputs of the process are estimated by using the second of the two nonlinear functions that describe the dynamics of the system, that is:
$${\stackrel{\u203e}{y}}_{k}=g\left({\stackrel{\u203e}{x}}_{k}{\stackrel{\u203e}{w}}_{k}\right)$$  As far as the covariance matrix P_{y} (k) is concerned, associated to the estimation error of the outputs of the process, it is to be noticed that the following matrix
$${S}_{y}\left(k\right)=\lfloor \begin{array}{cc}{S}_{y\stackrel{\u203e}{x}}^{\left(1\right)}\left(k\right)& {S}_{\mathit{yw}}^{\left(1\right)}\left(k\right)\end{array}\rfloor $$
is a Cholesky factor of the matrix P_{y} (k):$${P}_{y}\left(k\right)={S}_{y}\left(k\right){\left({S}_{y}\left(k\right)\right)}^{T}$$  The matrices S_{y} (k) and S̅_{x} (k) are transformed in square matrices through the Householder triangularization. By substituting equations (35) in equation (30) the following expression for the crosscovariance matrix of the DD1 filter is obtained,
$${P}_{\mathit{xy}}\left(k\right)={\stackrel{\u203e}{S}}_{x}\left(k\right){\left({S}_{\stackrel{\u203e}{y}x}^{\left(1\right)}\left(k\right)\right)}^{T}$$  The a posteriori state is updated with the well known formula
$${\hat{x}}_{k}={\stackrel{\u203e}{x}}_{k}+{K}_{k}\left({y}_{k}{\stackrel{\u203e}{y}}_{k}\right)$$
wherein the gain K_{k} of the filter has the following expression:$${K}_{k}={P}_{\mathit{xy}}\left(k\right){\left[{S}_{y}\left(k\right){\left({S}_{y}\left(k\right)\right)}^{T}\right]}^{1}$$ 
 Even for using a DD1 or DD2 filter it is necessary to know the covariance matrices of the process noise, of the measurement noise and of the initial value of the covariance matrix relative to the estimation of the state variables.
 This difficulty is overcome, according to an aspect of this invention, by carrying out a preliminary offline tuning. This preliminary operation is carried out by driving the system according to a preestablished input pattern, sensing the values of output variables and of at least a state variable instant by instant through sensors and updating the covariance matrices of the measurement noise and the process noise and the initial values of the covariance matrix of the state with and evolutionary algorithm such to minimize a preestablished cost function.
 Preferably, this cost function is the root mean square of the difference between the estimated values and the respective sensed values.
 Once the covariance matrices Q̅, R̅ and the initial values of the covariance matrix of the state are determined offline, the state observer is trained for estimating data of state variables of the system without using the sensor of the state variable. Such a state observer may be used in particular (but not only) for controlling a brushless motor without using any position and/or speed sensor.
 In order to better understand how the control method of this invention works, let us refer to the case of a brushless motor, but the same considerations hold mutatis mutandis for any other physical system the functioning of which is to be controlled, such as DC or AC electric motors.
 The freederivative state observer shown above is used for estimating position and speed of a permanent magnet brushless motor.
Figure 3 depicts the block diagram of a state observer of this invention OPTIMIZED STATE OBSERVER for controlling in a field oriented mode the brushless motor BLDC motor.  The inputs of the state observer of this invention are the voltages
${\mathit{U}}_{\mathit{sq}}^{\mathit{ref}}$ and${\mathit{U}}_{\mathit{sd}}^{\mathit{ref}}$ generated by the controllers PI that implement a proportionalintegral function, that control the electric machine through the PWM stage and the currents I_{sq} and I_{sd} in the rotoric reference system. The values of these currents are obtained by measuring the currents I_{U}, I_{V} and I_{W} and by applying the above mentioned Clarke and Park transforms.  A characteristic of the state observer of this invention consists in that it is capable of estimating speed and position of a brushless motor without using a dedicated sensor (such as resolvers, Hall sensors, encoders and the like). The estimation of the rotor position is used for carrying out the direct and inverse Park transforms.
 The initial values of the covariance matrix of the state variables and the covariance matrices associated to the process noise and measurement noise are determined in an offline tuning phase.
Figure 4 shows how the initial value of the covariance matrix of the state variables and how the covariance matrix relative to the process noise are adjusted because of the automatic tuning guided by evolutionary algorithms.  The performances of the state observer are excellent thanks to the tuning procedure of the parameters of the filter.
 Compared with other known approaches available in literature, such as the approaches described in the introduction (Luenberger observer, EKF), the state observer of this invention may be used for estimating position and speed of the rotor of a brushless motor even without knowing the initial position of the rotor, but by knowing exclusively its initial speed. This is not a limitation when the initial speed is known (e. g. it is null), for example it the control of the motor starts when it is still.
 Also this characteristic distinguishes the method of this invention from other approaches, making it implementable in realtime applications that involve electric machines such as the EPS systems [7].
 As an application of a system on which to test the method of this invention for controlling a brushless motor, a column type EPS system [1] and [2] has been considered. The brushless motor contained therein is connected to the steering column through torque reducers.
Figure 5 describes the experimental setup of the EPS system in HILS configuration (HardwareIntheLoop Simulation). A further brushless motor is used for providing to the rackpinion system different profiles of load torques.  Through these profiles it is possible to simulate the torque that opposes the steering action of the driver due to the coupling of the wheels of the vehicle with the road during the running of the vehicle. In HILS configuration both brushless motors, the motor that powers the steering by supplying a supplementary steering torque through the torque reduction gears and the motor that supplies an antagonist torque to the rackpinion system, are controlled by a PC. The torque and the steering angle are measured by a torque sensor mounted on the top of the steering column.

Figure 8 depicts the sensor. The sensor is a torsion bar in which two optical encoders measure respectively the angular position of the steeringwheel θ _{SW} (steering angle) and the angular position θ _{SS} in respect to the steering column (that is the angular position in respect to the steering shaft). The steering torque applied by the driver during the motion of the vehicle is given by the following relation,$${T}_{S}={k}_{\mathit{torsion}}\mathrm{\Delta \theta}={k}_{\mathit{torsion}}\left({\mathrm{\theta}}_{\mathit{SW}}{\mathrm{\theta}}_{\mathit{SS}}\right)$$
wherein k_{torsion} is the torsion rigidity of the torsion bar.  From a mechanic point of view the described EPS system in
Figures 5 and 6 may be subdivided into two parts, a steering column and an assisting electric motor. Let T_{s}, T_{l}, T_{m} be the steering torque, the load torque transmitted from the rackpinion system to the steering column and the torque generated by the assisting electric motor, respectively. As far as the load torque T_{l} is concerned, it takes into account the friction between the wheels and the road and the efficiency of the mechanic gears for transmitting torques (rackpinion, steering shaft and the like). From the equation that describes the mechanical equilibrium of the electric motor,$${J}_{m}{\ddot{\mathrm{\theta}}}_{m}+{b}_{M}{\dot{\mathrm{\theta}}}_{m}={T}_{m}\frac{{T}_{l}}{N}$$
wherein J_{m} and b_{M} are the inertia momentum and the dampening coefficient of the electric motor, N is the ratio reduction/transmission relative to the reduction gear that couples the assisting electric motor to the steering column.  In practice, the position θ _{m} of the rotor of the electric motor (the rotor is connected to a servosystem that, through a reduction gear allows the motor to transfer the generated torque to the steering torque) and the angle θ _{SS} sensed by the torque sensor to the steering shaft are tied to the ratio N, indeed θ_{m} = Nθ_{SS}. The equations used for describing the functioning of the brushless motor of this application are equations (4).
 In order to complete the model of the EPS system, an estimation of the load torque T_{l} is required. In order to estimate the resisting torque due to the coupling of the wheels with the road the Dugoff model [5] has been used. Referring to
Figure 7 , transversal friction F_{y} and longitudinal friction F_{x} that act on the wheel during the motion of the vehicle are expressed through the following equations:$$\begin{array}{l}{F}_{x}=\frac{A{K}_{x}s}{1s}\\ {F}_{y}=\frac{A{K}_{y}\phantom{\rule{1em}{0ex}}\mathrm{tan\alpha}}{1s}\end{array}$$
wherein K_{x} and K_{y} represent the longitudinal and the lateral rigidity of the wheel, while A, s, α are respectively the area of contact of the wheel with the road surface, the slipping ratio and the slipping angle. The force F_{R} transmitted to the rack by friction that acts on the wheels is$${F}_{R}={F}_{x}\phantom{\rule{1em}{0ex}}\mathrm{sin\delta}+{F}_{y}\phantom{\rule{1em}{0ex}}\mathrm{cos\delta}$$
wherein δ is the real steering angle transmitted to the wheel from the steering system. It is tied to the steering angle fixed by the driver through a simple linear equation, θ_{SW} = nδ. The factor n considers how, in function of the geometricmechanical characteristics of the EPS system, the steering angle θ_{SW} imposed by the driver is transmitted to the wheels.  The antagonist torque T_{road} due to the coupling of the wheels with the road is simply obtained by the vector product of the force F_{R} to which the rack is subjected during the motion of the vehicle and the radius r of the pinion:
$${T}_{\mathit{road}}={F}_{R}\times r=\left(\frac{A{K}_{x}s}{1s}\mathrm{sin}\left(\frac{{\mathrm{\theta}}_{\mathit{sw}}}{n}\right)+\frac{A{K}_{y}\phantom{\rule{1em}{0ex}}\mathrm{tan\alpha}}{1s}\mathrm{cos}\left(\frac{{\mathrm{\theta}}_{\mathit{sw}}}{n}\right)\right)\times r$$ 
Figure 8 depicts the graph of the load torque due to friction between the road and the wheels of the vehicle for certain established values of the slipping angle and of the slipping ratio (s, α).  For sake of ease, in the simulation of the EPS system it has been assumed that the load torque T_{1} coincides with the torque T_{road}, that is contributions to T_{l} due to the efficiency of the steering system have been neglected.
 The main functions of an EPS system are the reduction of the steering torque and the improvement of the return of the steering wheel to its start position after a cornering (a displacement describing a J). In a typical cornering, an assisting torque is initially provided to the steering column for reducing the torque that a driver feels while steering. Immediately after the steering action, the EPS system rotates the steeringwheel to its initial position without oscillations and overshoots, that otherwise would be present if the power steering system was not present.
 In other words, time intervals in which the control logic circuitry of the EPS is enabled for reducing the steering torque and for rotating the steering wheel in its initial position are distinct.
 In the ECU that manage EPS systems two distinct control logics are implemented for these two distinct control/servoassistance actions. In simulations carried out it has been considered only the first of these two distinct aspects of the action of an EPS system.

Figure 9 depicts a block diagram of the control logic for reducing the steering torque in an EPS system.  The idea of this control consists in encoding in the block TORQUE MAP the driving style of a driver, that is a function of the speed V of the vehicle and of the steering angle θ _{SW} established by the driver. The objective of the control is to make that the torque felt by the driver while steering, that is T_{S}, be as close as possible to the reference torque, that is T_{rs}, stored in the lookup table of the block TORQUE MAP. The function that gives the steering torque upon the vehicle speed and the steering angle θ _{SW} may be illustrated as follows:
 it is well known that at low speeds, for example during parking maneuvers or in traffic jams, drivers desire a relevant assisting torque T_{a} be supplied by the electric motor for driving with a little effort, while at high speeds drivers desire a stronger steering torque, in order to feel more secure while steering, that is a weaker assisting torque T_{a} is required from the EPS system;
 the assisting torque increases with the steering angle, for example proportionally to it.
 In
Figure 10 the graphs of the reference steering torque in function of the speed of the vehicle and of the steering angle are depicted. A sample 3D representation of a lookup table of the reference steering torques is depicted inFigure 11 .  All the mechanical part of the column EPS system described in this chapter have been modeled using the MATLAB/SIMULINK^{™} tool.
 In the architecture of EPS system described in the previous section a model of a permanent magnet brushless machine controlled with a field oriented control technique has been used. The free derivative state observer uses this model for estimating at each simulation step angular position and speed of the rotor of the electric machine. The testing of the model has been carried out on typical pattern of the application of EPS system, that is for sinusoidal waveforms of the steering angle and increasing profiles of the vehicle speed. The results obtained with the simulation demonstrate the effectiveness of this invention.

Figures 12 ,13 ,14 ,15, 16 illustrate the results of a simulation of the EPS system in which the kinematics (position and speed) of the rotor of the brushless motor has been estimated on a test pattern by means of the method of this invention and compared with that measured through dedicated sensors.  Comparing the results it is evident that only with the method of this invention it is possible to obtain accurate estimations even if the initial position of the rotor is not known. Indeed, in the graph of
Figure 12 , the curve, that represent the graph of the position of the rotor obtained by using solely the equations of the dynamics of the system, do not track the sensed values because it is not possible to compensate the fact that the initial position of the rotor is unknown. The waveform is sinusoidal, but it is translated in respect to the sensed waveform by a certain amount.  This result shows that the method of this invention is capable of estimating correctly the position of the rotor even when the assumed initial state of the system is not accurately determined. Such a situation could occur when the electric motor is startedup, because the initial speed of the rotor is known (it is null) but it could not be possible to determine precisely its initial position.

Figure 14 is a detail view of the graph ofFigure 12 . It is evident how fast the values estimated with the method of this invention are corrected for tracking the waveform that describes the measured position of the rotor by a dedicated sensor.  Moreover, the method of this invention is effective even when both speed and initial position of the rotor are unknown.

Figure 18 depicts the result of a simulation in which also the initial speed of the rotor has been supposed unknown. This situation could occur for example in an EPS application when, because of the fact that the vehicle is running fast in a highway, the electric motor is disabled, or in an ebrake application when, because of an abrupt brake after having brought a piston in its rest position, the rotor of an electric motor is disconnected from the servosystem that couples it to the piston. In both cases, the method of this invention is capable of resuming in a short time an efficient tracking of the kinematics of the rotor even using an inaccurate determination of the initial conditions.  It is worth remarking an important aspect of this invention: parameters of the filter DD1 are optimized through evolutionary (genetic) algorithms, such as the PSOA (Particle Swarm Optimization Algorithm) or ES (Evolution Strategies). The optimized tuning procedure of this invention not only simplifies the setup phase of the considered model of the state observer but, which is of paramount importance, allows to enhance the tracking performances.

Figure 18 shows the results that have been obtained, after having spent a very long time for searching the optimal values of parameters of the filter in the estimation of the angular position of the rotor of the brushless machine on the same specific patterns of the same application considered inFigures 12 ,13 and 14 . With an optimized tuning of the parameters of the filter, it is possible to compensate immediately the fact that the initial angular position of the rotor is unknown and it is possible to have a negligible error in steadystate conditions.  From the test of the described model in a simulation of an EPS application, it is evident that the method for estimating data of state variables can be used for tracking the kinematics of the rotor of a brushless motor. A device of this invention for estimating speed and position of a rotor of a motor could replace a dedicated sensor used for monitoring the rotor position.
 In safety critical applications (for example the ebrake) in which two or more sensors of different kind are used, such a device could be used instead of one of these sensors. For non safetycritical applications, it could be used for a sensorless control of the brushless electric machine.
 Finally, independently from the type of application, the method of this invention could be used in a diagnostic device for sensing, possibly in advance, abnormal functioning of certain parts of the system, such as for example possible faults of sensors, of actuators, or even variations of intrinsic structural parameters of the system. Depending on the cases, these faults could be simply diagnosed for signaling the driver that parts/subsystems of the vehicle need to be checked, or could be balanced/compensated by adjusting internal parameters of the control system.

 [1] J. H. Kim, J. B. Song, Control Logic for an Electric Power Steering System using Assist Motor, Mechatronics 12, pp. 447459, 2002.
 [2] A. Badawy, J. Zuraski, F. Bolourchi and A. Chandy, Modeling and Analysis of an Electric Power Steering System, SAE paper 1999010399, 1999.
 [3] M. Norgaard, N. K. Poulsen, O. Ravn, Advances in DerivativeFree State Estimation for Nonlinear Systems, Department of Mathematical Modelling and Department of Automation Technical University of Denmark, technical report: IMMREP199815.
 [4] W. Reinelt, C. Lundquist, and H. Johansson, OnLine Sensor Monitoring in an Active Front Steering System using Extended Kalman Filter, SAE paper 2005011271.
 [5] H. Dugoff, P.S. Fancher, An Analysis of the tyre Traction Properties and their Influenceon Vehicle Dynamic Performance, SAE paper 700377, 1970.
 [6] H.G. Beyer, The Theory of Evolution Strategies, Natural Computing Series, Springer, 2001.
 [7] P. Vas, Sensorless Vector and Direct Torque Control, Oxford Science Pubblications, Springer, 1998.
Claims (11)
 A method for estimating data of state variables of a system, whereby an inputstateoutput mathematical model of the system is known, comprising the following steps:installing a circuit for estimating data of state variables of the system, comprising at least a filter implementing an estimation according to a Stirling approximation formula of any order, in function of input data, output data of the system and of parameters of the filter representing values of components of covariance matrices of process noise and of measurement noise of the system;training said estimator by carrying out offline the steps of:supplying the system with preestablished input patterns and detecting corresponding output data and a datum of at least a state variable of the system,estimating said a datum of said at least one state variable of the system for said input preestablished patterns,adjusting said parameters of the filter with an evolutionary algorithm for minimizing a preestablished cost function defined in function of the estimated output data of the system, of the sensed output data, of said at least one estimated datum of state of the system and of the corresponding sensed datum of state;estimating said data of state of the system during the normal functioning using said offline trained estimator.
 The method of claim 1, wherein said preestablished cost function is the root means square of the difference between the estimated output data of the system and the sensed output data and between said at least one estimated datum of state of the system and the corresponding sensed datum of state.
 The method of claim 1, wherein said evolutionary algorithm is a PSOA or a ES.
 The method of claim 1, wherein said filter is a DD1 or a DD2 filter.
 A method for estimating position and speed of the rotor of a brushless motor controlled in a feedback loop that includes circuit means for generating feedback signals representing the currents (I_{sq} , I_{sd} ) circulating in the motor in respect to a rotoric reference system in function of the currents sensed in the windings of the motor, a controller input with said representative signals
$({\mathit{I}}_{\mathit{sq}}^{\mathit{ref}},$ ${\mathit{I}}_{\mathit{sd}}^{\mathit{ref}}),$ generating respective control voltages$\left({\mathit{U}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{U}}_{\mathit{sd}}^{\mathit{ref}}\right)$ in said rotoric reference system, a power stage input with said control voltages$\left({\mathit{U}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{U}}_{\mathit{sd}}^{\mathit{ref}}\right)$ and driving said motor in PWM mode for nullifying the difference between said feedback signals (I_{sq},I_{sd} ) and the respective reference signals$\left({\mathit{I}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{I}}_{\mathit{sd}}^{\mathit{ref}}\right),$ said method comprising executing at each PWM cycle the following operations: sampling said control voltages$\left({\mathit{U}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{U}}_{\mathit{sd}}^{\mathit{ref}}\right);$  calculating values of said currents (I_{sq}, I_{sd} ) circulating in the motor in respect to the rotoric reference in function of the estimated position of the rotor at the current PWM cycle; estimating said values of position and speed of the rotor at the next PWM cycle through the method of claim 1 in function of said samples of the control voltages$\left({\mathit{U}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{U}}_{\mathit{sd}}^{\mathit{ref}}\right)$ and of the values of said currents (I_{sq}, I_{sd} ).  The method of claim 5, wherein the values of said currents (I_{sq}, I_{sd} ) circulating in the motor referred to the rotoric reference system are obtained from sensed samples of the current flowing through the windings of the motor by carrying out a Clarke transform followed by a Park transform defined in function of the estimated position of the rotor at the current PWM cycle.
 A device for generating signals representative of the speed and of the position of the rotor of a brushless motor controlled in a feedback loop that includes circuit means adapted to generate feedback signals representing the currents (I_{sq}, I_{sd} ) circulating in the motor in respect to a rotoric reference system in function of the currents sensed in the windings of the motor, a controller input with said representative signals
$\left({\mathit{I}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{I}}_{\mathit{sd}}^{\mathit{ref}}\right),$ adapted to generate respective control voltages$\left({\mathit{U}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{U}}_{\mathit{sd}}^{\mathit{ref}}\right)$ in said rotoric reference system, a power stage input with said control voltages$\left({\mathit{U}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{U}}_{\mathit{sd}}^{\mathit{ref}}\right)$ and adapted to drive said motor in PWM mode for nullifying the difference between said feedback signals (I_{sq}, I_{sd} ) and the respective reference signals$\left({\mathit{I}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{I}}_{\mathit{sd}}^{\mathit{ref}}\right),$ said =device comprising a DD1 or DD2 filter adapted to implement an estimation according to a Stirling approximation formula of any order, is input with said control voltages$\left({\mathit{U}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{U}}_{\mathit{sd}}^{\mathit{ref}}\right)$ and said feedback signals (I_{sq}, I_{sd} ) and is trained to generate estimated values of position and speed of the rotor according to the method of claim 1.  A device for feedback controlling a brushless motor, comprising:circuit means adapted to generate feedback signals representing the currents (I_{sq}, I_{sd} ) circulating in the motor in respect to a rotoric reference system in function of the currents sensed in the windings of the motor and in function of the position of the rotor at the current PWM;a controller input with said representative signals
$\left({\mathit{I}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{I}}_{\mathit{sd}}^{\mathit{ref}}\right),$ adapted to generate respective control voltages$\left({\mathit{U}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{U}}_{\mathit{sd}}^{\mathit{ref}}\right)$ in said rotoric reference system;a power stage input with said control voltages$\left({\mathit{U}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{U}}_{\mathit{sd}}^{\mathit{ref}}\right)$ and adapted to drive said motor in PWM mode for nullifying the difference between said feedback signals (I_{sq}, I_{sd} ) and the respective reference signals$\left({\mathit{I}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{I}}_{\mathit{sd}}^{\mathit{ref}}\right);$ a device of claim 6 adapted to generate signals representing the speed and position of the rotor at the successive PWM cycle.  A power steering system adapted to generate an auxiliary steering torque (T_{a} ) while steering, comprising:a brushless motor adapted to generate said auxiliary torque (T_{a} ) in function of control signals input thereto;a sensor adapted to generate a signal representing a total torque (T_{S} ) that driver must balance;a control circuitry of the motor comprising:the device of claim 8 adapted to control said motor in function of reference signals
$\left({\mathit{I}}_{\mathit{sq}}^{\mathit{ref}},{\mathit{I}}_{\mathit{sd}}^{\mathit{ref}}\right)$ of the currents circulating in the motor referred to a rotoric reference system,  The power steering system of claim 9, further comprising circuit means adapted to establish said reference value (T_{rs} ) in function of the vehicle speed on which the power steering system is installed and of the steering angle of the vehicle.
 Program for computer loadable in the internal memory of a computer, comprising a software code adapted to carry out the steps of the method according to one of claims from 1 to 6 when said code is executed by said computer.
Priority Applications (1)
Application Number  Priority Date  Filing Date  Title 

EP06425561A EP1885054B1 (en)  20060803  20060803  Method of estimating the state of a system and related device for estimating position and speed of the rotor of a brushless motor 
Applications Claiming Priority (3)
Application Number  Priority Date  Filing Date  Title 

EP06425561A EP1885054B1 (en)  20060803  20060803  Method of estimating the state of a system and related device for estimating position and speed of the rotor of a brushless motor 
DE602006009643T DE602006009643D1 (en)  20060803  20060803  A system for estimating the state of a system and associated apparatus for determining the position and speed of a brushless motor 
US11/833,053 US7659685B2 (en)  20060803  20070802  Method of estimating the state of a system and relative device for estimating position and speed of the rotor of a brushless motor 
Publications (2)
Publication Number  Publication Date 

EP1885054A1 EP1885054A1 (en)  20080206 
EP1885054B1 true EP1885054B1 (en)  20091007 
Family
ID=37460189
Family Applications (1)
Application Number  Title  Priority Date  Filing Date 

EP06425561A Expired  Fee Related EP1885054B1 (en)  20060803  20060803  Method of estimating the state of a system and related device for estimating position and speed of the rotor of a brushless motor 
Country Status (3)
Country  Link 

US (1)  US7659685B2 (en) 
EP (1)  EP1885054B1 (en) 
DE (1)  DE602006009643D1 (en) 
Cited By (3)
Publication number  Priority date  Publication date  Assignee  Title 

DE102013009518A1 (en)  20130606  20141211  Audi Ag  Motor vehicle with a fuel heater 
CN104993765A (en) *  20150804  20151021  重庆大学  Method for estimating rotating speed of brushless direct current motor 
RU2617586C1 (en) *  20151013  20170425  Борис Александрович Челдышов  Noncontact torque drive 
Families Citing this family (53)
Publication number  Priority date  Publication date  Assignee  Title 

DE102006061929A1 (en) *  20061220  20080626  TakataPetri Ag  Optical steering angle sensor for determining the absolute value of the steering angle 
US8700686B1 (en) *  20071113  20140415  The Mathworks, Inc.  Robust estimation of time varying parameters 
CN101355337B (en) *  20080819  20100602  华南理工大学  Control method for driving permanent magnet synchronous motor base on magnetic field orthotropic control 
JP2010095075A (en)  20081015  20100430  Jtekt Corp  Vehicle steering apparatus 
DE102008064001A1 (en) *  20081219  20100624  Abb Technology Ag  Method for diagnosing actuators 
KR20110128907A (en) *  20090304  20111130  폴 슈레 앙스띠뛰  Control concept for a digitally controlled magnetic supply device 
DE102010004658A1 (en) *  20091125  20110526  Continental Automotive Gmbh  Method for operating a fuel pump in a motor vehicle and fuel pump 
FR2959030B1 (en) *  20100414  20120706  Commissariat Energie Atomique  DEVICE AND METHOD FOR OBSERVING OR CONTROLLING A NONLINEAR SYSTEM 
US8190307B2 (en) *  20100823  20120529  King Fahd University Of Petroleum & Minerals  Control optimization method for helicopters carrying suspended loads 
US8473147B2 (en) *  20110323  20130625  GM Global Technology Operations LLC  State of health indicator for a vehicle fuel delivery system 
DE102011076734A1 (en) *  20110530  20121206  Robert Bosch Gmbh  Method and device for angle estimation in a synchronous machine 
US20130043815A1 (en) *  20110815  20130221  HsiaYuan Hsu  Protection circuit for a d.c. brushless motor pump 
US20130320894A1 (en) *  20110815  20131205  HsiaYuan Hsu  Protection circuit for a d.c. brushless motor pump 
US9097767B2 (en) *  20120109  20150804  GM Global Technology Operations LLC  DCmotor and fuel pump faults and brushwear prognosis 
US8593088B2 (en) *  20120113  20131126  Chrysler Group Llc  Method and system for controlling an electric motor for a vehicle 
CN104205615B (en) *  20120315  20180803  博格华纳瑞典公司  Road vehicle electric drive shaft device 
KR101349464B1 (en) *  20120705  20140109  현대자동차주식회사  Commercial vehicle's hybrid power steering system and performance and fuel ratio improving method thereof 
US9219432B2 (en) *  20120725  20151222  System General Corporation  Control systems and methods for angle estimation of permanent magnet motors 
CN102843089B (en) *  20120823  20141105  四川长虹电器股份有限公司  Control method of permanent magnet synchronous motor (PMSM) for frequency conversion refrigerator 
EP2725706A1 (en) *  20121023  20140430  ABB Technology AG  Model predictive control with reference tracking 
CN103840725B (en) *  20121126  20160518  台达电子工业股份有限公司  Permanentmagnet synchronous motor rotor position deviation measurement device and method 
TWI475238B (en) *  20121129  20150301  Ind Tech Res Inst  Method for estimating power of motor and apparatus using the same 
US9479099B2 (en) *  20130130  20161025  Infineon Technologies Ag  Stator flux magnitude and direction control strategies for permanent magnet synchronous motors 
US9444382B2 (en) *  20130130  20160913  Infineon Technologies Ag  Optimized field oriented control strategies for permanent magnet synchronous motors 
US8981702B2 (en) *  20130315  20150317  Texas Instruments Incorporated  Automated motor control 
US20140327379A1 (en) *  20130503  20141106  Texas Instruments Incorporated  Position sensorless drive system and method for permanent magnet motors 
US9024569B2 (en) *  20130628  20150505  Eaton Corporation  System and method of rotor time constant online identification in an AC induction machine 
CN103414416A (en) *  20130711  20131127  中国大唐集团科学技术研究院有限公司  Permanent magnet synchronous motor sensorless vector control system based on EKF 
JP6130275B2 (en) *  20130905  20170517  カルソニックカンセイ株式会社  Estimation apparatus and estimation method 
US9146557B1 (en) *  20140423  20150929  King Fahd University Of Petroleum And Minerals  Adaptive control method for unmanned vehicle with slung load 
EP2940857B1 (en) *  20140428  20181128  dSPACE digital signal processing and control engineering GmbH  Method for emulating a threephase brushless DC motor with a load emulator 
FR3028362B1 (en) *  20141110  20161223  Renault Sa  METHOD AND SYSTEM FOR CONTROLLING A SYNCHRONOUS ELECTRIC MACHINE WITH PERMANENT MAGNETS. 
TWI551874B (en) *  20150313  20161001  財團法人工業技術研究院  Motor efficiency analysis method for motor inverter 
CN104811117B (en) *  20150508  20171121  张家港智电柔性输配电技术研究所有限公司  A kind of method of permanentmagnetic synchronous motor rotor speed estimate 
DE102015108617A1 (en) *  20150601  20161201  Brose Fahrzeugteile GmbH & Co. Kommanditgesellschaft, Würzburg  Brushless DC motor 
CN105024613A (en) *  20150626  20151104  广东美的制冷设备有限公司  Obtaining method of motor offline resistance value, controller and air conditioner 
US9995119B2 (en) *  20151116  20180612  Ge Oil & Gas Esp, Inc.  Electric submersible pumping system with permanent magnet motor 
US10846596B2 (en) *  20151123  20201124  Daniel Chonghwan LEE  Filtering, smoothing, memetic algorithms, and feasible direction methods for estimating system state and unknown parameters of electromechanical motion devices 
US10459472B2 (en) *  20151207  20191029  Hamilton Sundstrand Corporation  Model predictive control optimization for power electronics 
CN106130426B (en) *  20160718  20180925  南京理工大学  Based on EKF without sensor ultrahigh speed permanent magnet synchronous motor method for controlling number of revolution 
CN106998160A (en) *  20170418  20170801  广东浪潮大数据研究有限公司  A kind of condition control method of brshless DC motor, device and brshless DC motor 
US10333444B2 (en)  20170831  20190625  Eaton Intelligent Power Limited  System and method for stability control in adjustable speed drive with DC link thin film capacitor 
US10520728B2 (en) *  20171017  20191231  Visteon Global Technologies, Inc.  Embedded optimization algorithm of parameters to drive deployment mechanism for displays 
CN108177652A (en) *  20171227  20180619  广州大学  The track keeping method and system of a kind of fourwheel steering delivery vehicle 
FR3076331B1 (en) *  20180102  20200214  Foundation Brakes France  BRAKE ACTUATOR AND METHOD OF CONTROLLING THE SAME 
CN108306567A (en) *  20180120  20180720  江南大学  It is a kind of based on IGSO optimize EKF without sensor permanent magnet synchronous motor speed estimation method 
CN108717266B (en) *  20180530  20210312  迪比（重庆）智能科技研究院有限公司  Neural selfadaptive tracking control method for wind field fan power based on disturbance observer 
CN109062052B (en) *  20180831  20210518  湖北工业大学  Quadrotor unmanned aerial vehicle integral sliding mode control method based on extended state observer 
FR3086473B1 (en) *  20180920  20201002  Ifp Energies Now  METHOD OF DETERMINING THE MAGNETIC FLOW OF AN ELECTRIC MACHINE 
CN109149923B (en) *  20181008  20200526  淮阴工学院  APFC control system for estimating control rate on line 
CN109270455B (en) *  20181024  20210202  郑州轻工业学院  Induction motor state monitoring method based on weaksensitivity ensemble Kalman filtering 
CN109713971B (en) *  20190301  20200512  北京理工大学  Disturbance suppression method for permanent magnet synchronous motor 
TWI717001B (en) *  20190905  20210121  登騰電子股份有限公司  Motor controller and motor control method 
Family Cites Families (5)
Publication number  Priority date  Publication date  Assignee  Title 

US6316904B1 (en) *  20000627  20011113  Ford Global Technologies, Inc.  Speed and rotor time constant estimation for torque control of an induction motor 
US6832119B2 (en) *  20010920  20041214  Ge Fanuc Automation North America, Inc.  Methods and systems for torque ripple compensation 
US6768284B2 (en) *  20020930  20040727  Eaton Corporation  Method and compensation modulator for dynamically controlling induction machine regenerating energy flow and direct current bus voltage for an adjustable frequency drive system 
US7276877B2 (en)  20030710  20071002  Honeywell International Inc.  Sensorless control method and apparatus for a motor drive system 
JP4589093B2 (en) *  20041210  20101201  日立オートモティブシステムズ株式会社  Synchronous motor driving apparatus and method 

2006
 20060803 DE DE602006009643T patent/DE602006009643D1/en active Active
 20060803 EP EP06425561A patent/EP1885054B1/en not_active Expired  Fee Related

2007
 20070802 US US11/833,053 patent/US7659685B2/en active Active
Cited By (3)
Publication number  Priority date  Publication date  Assignee  Title 

DE102013009518A1 (en)  20130606  20141211  Audi Ag  Motor vehicle with a fuel heater 
CN104993765A (en) *  20150804  20151021  重庆大学  Method for estimating rotating speed of brushless direct current motor 
RU2617586C1 (en) *  20151013  20170425  Борис Александрович Челдышов  Noncontact torque drive 
Also Published As
Publication number  Publication date 

DE602006009643D1 (en)  20091119 
EP1885054A1 (en)  20080206 
US20090033259A1 (en)  20090205 
US7659685B2 (en)  20100209 
Similar Documents
Publication  Publication Date  Title 

EP1885054B1 (en)  Method of estimating the state of a system and related device for estimating position and speed of the rotor of a brushless motor  
CN104163198B (en)  Driven steering device  
JP5124483B2 (en)  Method and apparatus for driving a synchronous machine  
US20070085414A1 (en)  Estimating torque/force exerted by a load against a motordriven actuator  
US20040189240A1 (en)  Sensorless control of switched reluctance electric machines  
EP2234266A1 (en)  Motor control device and electric power steering device  
JP2002320398A (en)  Rotor angle detector of dc brushless motor  
US9540044B2 (en)  Hand wheel angle from vehicle dynamic sensors or wheel speeds  
CN103929111A (en)  Motor control device and electric power steering apparatus  
Lee et al.  Modelbased fault detection and isolation for electric power steering system  
JP4655677B2 (en)  Power transmission system test apparatus and control method thereof  
US20040189239A1 (en)  Identification of parameters for switched reluctance electric machines  
Klier et al.  Active front steering (part 1): Mathematical modeling and parameter estimation  
EP2830211A1 (en)  Control device for threephase ac induction motor and control method for threephase ac induction motor  
KR101888518B1 (en)  Motor control apparatus and active roll stabilizer having the same and motor control method  
CN111510041A (en)  Running state evaluation method and system of permanent magnet synchronous motor  
KR20200023807A (en)  Steer by Wire System and Controlling Method Thereof  
DE102018123459A1 (en)  Precontrol of permanent magnet dc motors  
US20190256126A1 (en)  Quadrant based friction compensation for tire load estimation in steering systems  
Weiskircher et al.  Rack force estimation for electric power steering  
Zhang et al.  Adaptive feedforward control of the steerbywire system based on the online parameter estimator  
US20060082335A1 (en)  Method for detecting rotor angle of DC brushless motor and controller of DC brushless motor  
KR20190034938A (en)  Steer by Wire System and Controlling Method Thereof  
KR101962647B1 (en)  Steer by Wire System and Controlling Method Thereof  
Cholakkal et al.  Fault tolerant control of electric power steering using robust filtersimulation study 
Legal Events
Date  Code  Title  Description 

AX  Request for extension of the european patent to 
Extension state: AL BA HR MK YU 

AK  Designated contracting states: 
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR 

17P  Request for examination filed 
Effective date: 20080729 

17Q  First examination report 
Effective date: 20080826 

AKX  Payment of designation fees 
Designated state(s): DE FR GB IT 

AK  Designated contracting states: 
Kind code of ref document: B1 Designated state(s): DE FR GB IT 

REG  Reference to a national code 
Ref country code: GB Ref legal event code: FG4D 

REF  Corresponds to: 
Ref document number: 602006009643 Country of ref document: DE Date of ref document: 20091119 Kind code of ref document: P 

RAP2  Transfer of rights of an ep granted patent 
Owner name: STMICROELECTRONICS SRL 

26N  No opposition filed 
Effective date: 20100708 

PG25  Lapsed in a contracting state announced via postgrant inform. from nat. office to epo 
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIMELIMIT Effective date: 20091007 

REG  Reference to a national code 
Ref country code: FR Ref legal event code: ST Effective date: 20110502 

PG25  Lapsed in a contracting state announced via postgrant inform. from nat. office to epo 
Ref country code: FR Free format text: LAPSE BECAUSE OF NONPAYMENT OF DUE FEES Effective date: 20100831 

PGFP  Postgrant: annual fees paid to national office 
Ref country code: GB Payment date: 20110728 Year of fee payment: 6 

GBPC  Gb: european patent ceased through nonpayment of renewal fee 
Effective date: 20120803 

PG25  Lapsed in a contracting state announced via postgrant inform. from nat. office to epo 
Ref country code: GB Free format text: LAPSE BECAUSE OF NONPAYMENT OF DUE FEES Effective date: 20120803 

PGFP  Postgrant: annual fees paid to national office 
Ref country code: DE Payment date: 20130722 Year of fee payment: 8 

REG  Reference to a national code 
Ref country code: DE Ref legal event code: R119 Ref document number: 602006009643 Country of ref document: DE 

REG  Reference to a national code 
Ref country code: DE Ref legal event code: R119 Ref document number: 602006009643 Country of ref document: DE Effective date: 20150303 

PG25  Lapsed in a contracting state announced via postgrant inform. from nat. office to epo 
Ref country code: DE Free format text: LAPSE BECAUSE OF NONPAYMENT OF DUE FEES Effective date: 20150303 