Controlling a DC Motor through Lypaunov-like Functions and SAB Technique

In this paper, state adaptive backstepping and Lyapunov-like function methods are used to design a robust adaptive controller for a DC motor. The output to be controlled is the motor speed. It is assumed that the load torque and inertia moment exhibit unknown but bounded time-varying behavior


INTRODUCTION
DC motors are commonly used in industry applications [1], [2]. A significant difficulty for DC-motor control design is the unknown time-varying nature of its parameters [3], [4]. An important framework for motor control design is the state adaptive backstepping (SAB) technique presented in [5], as can be noticed from [6], [7]. Nussbaum gain techniques are usually incorporated in the SAB control framework in order to handle the effect of unknown time-varying parameters and to improve the robustness of the system. Robust SAB control schemes incorporate a compensation term in the control law, and some modification in the update law, for instance the σ modification, see [8]. Nevertheless, upper or lower bounds of the plant model coefficients have to be known to guarantee asymptotic convergence of the tracking error to a residual set of user-defined size. In [9] a non-adaptive state backstepping control scheme is developed. The resulting time derivative of the Lyapunov function involves an unknown, time varying but bounded term, whose upper bound is unknown, such that the backstepping states remain bounded and converge to residual set whose size depends on plant parameters. IJECE ISSN: 2088-8708 2181 signals, as can be noticed from [17].
In [18], a linear induction motor is considered. The friction force and unknown time-varying model parameters lead to a lumped bounded uncertain term whose upper bound is unknown. The goal is to control the mover position. The drawback is that the identification error is assumed constant in the definition of the Lyapunov function. In [6], a synchronous motor driven through AC/DC rectifiers and DC/AC inverters is considered. It is assumed that the motor parameters experience unknown time-varying but bounded behavior. The goal is to control the motor speed, the rectifier output voltage and the d component of the stator current; the tracking error converges to a residual set whose size depends on unknown motor parameters and user-defined controller parameters. Therefore, if upper bounds of unknown motor parameters are known and controller parameters are properly chosen, the size of the residual set can be user-defined also.
Other works address the problem of designing a controller for different motors [19,20,21]; despite the fact that the controlled systems operate as it is expected, the main disadvantages of these works are: the size of the output error cannot be determined, and no analyses of the system behavior inlcuding measurement noise are presented. In [22] two coupled controllers are designed: a Linear Quadratic Gaussian (LQG) and a MRAS-based Learning Feed-Forward Controller (LFFC); eventhough the simulation results demonstrate the potential benefits of the proposed controlled, the LQG algorithm may fail to ensure closed-loop stability when variations in the uncertainties are large enough. In [23] a plant model in controllable form with unknown varying but bounded parameters is considered, being the upper bounds of such parameters unknown. A SAB control scheme is developed, and overcomes the main drawback of the Nussbaum gain method, as a result, the transient error is upper bounded by an unknown constant that does not depend on integral terms. Nevertheless, the control scheme is only valid for plant models in "companion form". The method is based on the Lyapunov-like function technique appearing in [24], [25].
In addition to the undesired unknown time-varying nature of plant parameters, other important issue is the measurement noise. Tracking performance can be degraded, even if the controller is robust against modeling uncertainty and disturbances (cf. [26], [27]). Some of the main techniques to tackle the effect of measurement noise are: high gain observers, interval observers, filter theory and the technique developed in [9]. High gain observers are useful to estimate system states and output derivatives (see [28], [29]). In [28], a nonlinear plant model in state-space form and a plant model in controllable form, are considered, respectively. Both plant models involve known constant coefficients. The real output is defined as the first state, and is measured, whereas the other states are not. The output measurement is expressed as the sum of the real output plus a bounded measurement noise parameter. The observer depends on the difference between the noisy output measurement and the output estimate. The stability analysis indicates that the state estimation error converges to a residual set whose upper bound depends on the magnitude of both the measurement noise and the observer parameters. Such upper bound has a global minimum for some value of the observer gain (see [28] and [29]). The main drawbacks of the design are: the size of the residual set is unknown, so that the upper limit of the steady state of the state estimation error is unknown, and second, the coefficients of the plant model are required to be known. Interval observers provide an upper and a lower bound for each unmeasured state variable (see [30], [31]). The main disadvantage of the interval observers is that several upper and lower bounds of the plant model parameters are required to be known.
In [9], it is assumed that the measurements of the plant states are corrupted by noise and are described by a measurement model, which consists of a polynomial with respect to the real state vector, with degree one and unknown but bounded time-varying coefficients, being the time derivatives of such coefficients unknown and bounded. If each measurement model is differentiated with respect to time, the time derivative of the state measurement is a linear polynomial of degree one with respect to the time derivative of the real state vector. The states resulting from the backstepping state transformation are defined in terms of the noisy measurements instead of the real states. To compute the time derivative of each quadratic function of the backstepping procedure, each measurement model is differentiated. In [32], the state adaptive backstepping (SAB) of [5] is used as the basic framework for controlling a DC permanent magnet motor whose voltage is supplied by a buck power converter, but the effect of noisy measurement is not taken into account.
In the present paper, significant modifications are incorporated to the control scheme presented in [32], in order to handle the effect of measurement noise: i) a measurement model is used to define the relationship between the motor current (i a ) and the motor speed (W m ), and their corresponding noisy measurements (i a|m and W m|m , ii) the states of the backstepping state transformation are defined in terms of the noisy measurements, and ISSN: 2088-8708 iii) the differentiation of each quadratic-like function with respect to time involves the differentiation of each measurement model. The controller is implemented in a digital platform to carry out the real experiments. The main contribution of this paper respect to close ones are: a) the relationship between the real and the measured state is taken into account in the control design procedure: in the definition and differentiation of the backstepping states as well as in the definition and differentiation of the quadratic functions, b) upper or lower bounds of the noise model parameters or their combination are not required to be known by the controller, and c) the convergence of the tracking error to a residual set of user-defined size is proven in presence of noisy measurments.
The rest of the paper is organized as follows. In section 2., the plant model and the control goal are described. In section 3. the controller is designed. In section 4., the bounded nature of the closed loop signals and the convergence of the tracking error are proven. In section 5., numerical and experimental results are presented. Finally, discussion and conclusions are presented in Section 6..

PLANT MODEL AND CONTROL GOAL
The DC motor is represented by the following plant model (see [33]): The state variables are: the armature current i a and the motor speed W m . u is the control input and it corresponds to a voltage value. The following assumptions are made for the model (1): Ai) the parameters T L and J eq are time-varying, unknown and upper bounded by unknown constants, and J eq is positive and lower bounded by an unknown positive constant, Aii) parameters B, k t , R a , L a , k e are unknown, positive and constant, and Aiii) W m and i a are measured, but their measurements W m|m , i a|m are noisy and satisfy: W m|m = a 6 W m + a 7 and i a|m = a 8 i a + a 9 where the parameters a 6 , a 7 , a 8 , and a 9 are unknown, time-varying and upper bounded by unknown positive constants, their time derivatives are unknown, time-varying and bounded by unknown positive constants and the parameters a 6 and a 8 are positive and lower bounded by unknown positive constants. The above expressions are based on [9]. For a simpler control design, the plant model (1) is rewritten as: where so that a 1 , a 2 , a 3 , a 4 , a 5 , and b are positive, a 1 , a 2 , and a 3 are time-varying, a 4 , a 5 and b are constant, and y m and x 2m are the noisy measurements of W m and i a , respectively. Assumption Ai implies that the parameters a 1 , a 2 , a 3 are unknown and time -varying, but they are upper bounded by unknown constants. Assumption Aii implies that a 2 > 0, and the parameters a 4 , a 5 , and b are unknown and constant. Assumption Aiii implies that the states x 1 = y and x 2 are unknown but their measurements y m and x 2m are known, the parameters a 6 , a 7 , a 8 , a 9 ,ȧ 6 ,ȧ 7 , a 8 , andȧ 9 are unknown and time-varying but bounded, and the parameters a 6 and a 8 are positive. In summary, the system (1) satisfies the following properties: Pi) a 1 , a 2 , a 3 , a 4 , a 5 , b, a 6 , and a 8 are positive, Pii) the parameters IJECE ISSN: 2088-8708 2183 a 1 , a 2 , a 3 , a 6 , a 7 , a 8 , a 9 ,ȧ 6 ,ȧ 7 ,ȧ 8 , andȧ 9 are unknown, time-varying and upper bounded by unknown constants, Piii) the parameters a 2 , a 6 , a 8 , and 1/a 8 are positive and lower bounded by unknown positive constants, Piv) the parameters a 4 , a 5 , and b are unknown, positive and constant, and Pv) the values of y = x 1 = W m and x 2 = i a are unknown, whereas their measurements y m and x 2m are known.
Taking into account the model, the control goal can be defined as follows. Let the following reference model:ÿ where W mref is the user-defined reference value, and a m1 and a mo are user-defined positive constants. Hence, the desired output y d is provided by (10) subject to i) a mo and a m1 are user-defined but positive and constant, and ii) W mref is user-defined and bounded but it may be time-varying. Therefore, equation (10) is a stable reference model. The tracking error is defined as: where y m is defined in (6), y d is the desired output and is provided by (10), Ω e is a residual set whose size is defined by C be which is an user-defined positive constant. The goal of the control design is to formulate a control law and an update law for the plant model (1), subject to assumptions Ai to Aiii, such that: CGi) the tracking error e asymptotically converges to the residual set Ω e , CGii) the control and update laws do not involve discontinuous signals, CGiii) the control law and the updated parameters are bounded, and CGiv) all the closed loop signals are bounded.

CONTROL DESIGN
In this section, a controller for the plant (1) is developed, it takes into account the assumptions Ai to Aiii, and the goals CGi to CGiv stated previously. The procedure is similar to that in [32], but there are several differences due to the presence of measurement noise. Therefore, the procedure omits the steps that are quite similar to those in [32]. The state adaptive backstepping (SAB) presented in [5] is used as control framework, but important modifications are incorporated in order to tackle the effect of unknown time-varying plant model coefficients and measurement noise.
The controller design procedure is organized in the following steps: i) define the first new state z 1 and differentiate it with respect to time, ii) define a quadratic function V z1 that depends on z 1 , and differentiate it with respect to time, iii) express the terms that involve time-varying coefficients, as functions of upper constant bounds, and parameterize such bounds as function of parameter and regression vectors, iv) express the parameter vector in terms of updating error vector and update parameter vector, and define the second new state z 2 , v) differentiate z 2 with respect to time, define a quadratic function V z that depends on z 1 and z 2 , and differentiate it with respect to time, vi) express the terms that involve time varying coefficients as function of upper constant bounds, and parameterize in terms of parameter and regression vectors, vii) express the parameter vector in terms of updating error vector and updated parameter vector, and formulate the control laws, and viii) formulate the Lyapunov-like function, differentiate it with respect to time and formulate the update laws.
Step 0. In this step, the model (3)-(4) is expressed in terms of y m , x 2m , using the noise models (6)-(7). Differentiating (6) and using (3), yields: solving (6) and (7) for x 1 and x 2 and substituting into the above expression we obtain the basic expression forẏ m : Differentiating (7) with respect to time and incorporating (4), yields: ISSN: 2088-8708 solving (6) and (7) for x 1 and x 2 and incorporating in the above equation we obtain the basic expression forẋ 2m which isẋ Remark 3..1 In order to consider the noisy y m and x 2m instead of the real but unknown values x 1 and x 2 , in the remaining procedure equations (14) and (16) are used instead of equations (3) and (4).
Step 1. In this step, the first state variable is defined and differentiated with respect to time. The state variable z 1 is defined as the tracking error: where y d is provided by (10). Differentiating (17) with respect to time and using (14), yields: Step 2. In this step, a quadratic function that depends on z 1 is defined and differentiated with respect to time. Such quadratic form is defined as: Differentiating (20) with respect to time, using (19) and adding and substracting c 1 z 2 1 yields: The term −c 1 z 2 1 has been added to obtain asymptotic convergence of the tracking error later. The unknown and time varying behavior of the bounded parameters a 1 , a 2 , a 3 , a 6 ,ȧ 6 , a 7 ,ȧ 7 , a 8 , and a 9 is a significant obstacle for the controller design. For this reason, the terms that involve such coefficients will be expressed as function of upper constant bounds.
Step 3. Recall that a 1 , a 2 , a 3 , a 6 , a 7 , a 8 , a 9 ,ȧ 6 , andȧ 7 are time-varying, unknown and bounded. In this step, the terms that involve such time-varying parameters are expressed as function of upper and lower constant bounds, and such bounds are parameterized in terms of parameter and regression vectors. The term that involves the brackets in (21) yields: whereμ 10 ,μ 11 are unknown positive constants such that −a1a6+ȧ6 a6 − a 3 a 6 +ȧ 7 ≤μ 11 (23) As mentioned in [32], Young's inequality must be applied to (22), such that the |z 1 | term leads to z 2 1 , to allow a proper definition of z 2 . Arranging (22), and applying Young's inequality ( [34]), yields: where c a is a positive constant that should be chosen to fulfill certain conditions that will be defined later. Substituting into (21), yields:V The terms that involve x 2m , z 2 should be grouped in a new known state variable z 2 , according to the procedure in [5]. Nevertheless, the unknown time-varying behavior of parameter a 2 a 6 /a 8 poses a significant obstacle. To remedy such situation, a positive constant lower bound of a 2 a 6 /a 8 will be used. Property Pi mentions that a 2 , a 6 , and a 8 are positive, whereas property Piii implies that a 2 , a 6 , and 1/a 8 are lower bounded by unknown positive constants. Therefore, whereμ l12 is an unknown positive constant lower bound. Incorporating the constantμ l12 into (26) and arranging, yields:V where ϕ 1 is a known regression vector and θ 1 is an unknown constant parameter vector given by: Step 4. In this step, the unknown parameter vector θ 1 is expressed in terms of an updating error vector and an updated parameter vector, and then a new state variable z 2 is defined. The parameter vector θ 1 can be rewritten as: whereθ whereθ 1 is an updated parameter vector provided by an updating law that will be defined later, andθ 1 is an updating error. Substituting (32) into (29), yields: As can be noticed from [23] and [24] the updated parameterθ 1 is non-negative, so that The accomplishment of this property will be shown later. In view of this fact and incorporating the inequality (27) in the term ϕ 1θ1 0.5c −2 a µ l12 z 2 1 and arranging, yields: ISSN: 2088-8708 where Step 5. In this step, the state variable z 2 is differentiated with respect to time, a quadratic function V z is defined as function of z 1 and z 2 , and such function is differentiated with respect to time. Differentiating (36) with respect to time, yields:ż Substituting (18) into (37) and arranging, yields: where ϕ 1b and ϕ 1c are known scalar functions,θ 1 [2] andθ 1 [3] are the second and third entries of the vectorθ 1 , and y d ,ẏ d , andÿ d are provided by (10). Substituting (14) and (16) into (39) and arranging, yields: + − a 2 a 6 a 9 a 8 − a 3 a 6 +ȧ 7 − (ȧ 6 − a 6 a 1 ) a 7 a 6 ϕ 1b + a 4 a 8 a 7 a 6 + (−ȧ 8 + a 5 a 8 ) a 9 a 8 +ȧ 9 + a 8 bu + ϕ 1c The quadratic form that depends on z 1 and z 2 is defined as: Differentiating with respect to time, incorporating (35) and (42), and adding and subtracting −c 2 z 2 2 , yields: x 2m +ȧ 6 − a 6 a 1 a 6 ϕ 1b y m + a 2 a 6 a 8 ϕ 1b x 2m + − a 2 a 6 a 9 a 8 − a 3 a 6 +ȧ 7 − (ȧ 6 − a 6 a 1 ) a 7 a 6 ϕ 1b + a 4 a 8 a 7 a 6 + (−ȧ 8 + a 5 a 8 ) a 9 a 8 +ȧ 9 + c 2 z 2 + a 8 bu + ϕ 1c IJECE ISSN: 2088-8708 2187 The control input u is defined as follows: where u a is an user-defined constant. The constant u a was incorporated in order to avoid abrupt control input behavior at the beginning of the closed loop operation. Therefore, it should be chosen as the open loop value of the control input. The control u b is established by the controller design. Substituting (45) into (44), yields: Step 6. Recall that a 1 , a 2 , a 3 , a 6 , a 7 , a 8 , a 9 ,ȧ 6 ,ȧ 7 ,ȧ 8 are unknown and time-varying. In this step, the terms that involve such parameters are expressed in terms of upper bounds, and parameterized in terms of parameter and regression vectors. The term that involves the squared brackets can be rewritten as: x 2m +ȧ 6 − a 6 a 1 a 6 ϕ 1b y m + − a 2 a 6 a 9 a 8 − a 3 a 6 +ȧ 7 − (ȧ 6 − a 6 a 1 ) a 7 a 6 ϕ 1b + a 4 a 8 a 7 a 6 + (−ȧ 8 + a 5 a 8 ) a 9 a 8 +ȧ 9 + a 8 bu a + ϕ 1c + c 2 z 2 ≤ |z 2 | [μ 13 |y m | +μ 14 |x 2m | +μ 15 |ϕ 1b y m | +μ 16 |z 1 + ϕ 1b x 2m | +μ 17 |ϕ 1b | +μ 18 +μ 19 |u a | + |ϕ 1c + c 2 z 2 |] From equations (46), (47), and as can be inferred from [32] there are two significant obstacles. First, the |z 2 | term may lead to discontinuous signals in the definition of u b . This can be remedied by using Young's inequality. Second, the unknown varying behavior of a 8 b makes it difficult for u to eliminate the effect of the terms that involve unknown time varying parameters. This can be remedied by incorporating a positive constant lower bound of a 8 b.
Step 7. Since the parameter vector θ 2 is unknown, in this step it is expressed in terms of an updated parameter vector and an updating error vector; after of this the control law is formulated. The parameter θ 2 can be rewritten as whereθ 2 is an updated parameter vector provided by an update law which is defined in the step 8, andθ 2 is an updating error vector given bỹ Substituting (53) into (50) yields: z 2 a 2 a 6 a 8 (z 1 + ϕ 1b x 2m ) − a 4 a 8 a 6 y m +ȧ 8 − a 5 a 8 a 8 x 2m +ȧ 6 − a 6 a 1 a 6 ϕ 1b y m + − a 2 a 6 a 9 a 8 − a 3 a 6 +ȧ 7 − (ȧ 6 − a 6 a 1 ) a 7 a 6 ϕ 1b + a 4 a 8 a 7 a 6 + (−ȧ 8 + a 5 a 8 ) a 9 a 8 +ȧ 9 + a 8 bu a + ϕ 1c + c 2 z 2 ≤ √μ l20 |z 2 |φ θ 2 − √μ l20 |z 2 |φ θ 2 incorporating the inequality (49) and applying Young's inequality (cf. [34] pp. 123) to the term √μ l20 |z 2 |φ θ 2 , yields: where c c is a positive constant that satisfies some some conditions that will be defined in the Step 8. Substituting (56) into (46) and arranging yields: with the aim to cancel the effect of the term a 8 bz 2 (1/2)c −2 2 z 2 (φ θ 2 ) 2 , the expression for u b is chosen as: In view of (45), the control law for u is: substituting (59) into (57), yields: The above expression implies that the time derivative of the Lyapunov function would contain the term (3/2)c 2 a + (1/2)c 2 c , so that the required negativeness properties would be altered. Therefore, the quadratic functionV z is considered, which is a truncated function of V z and vanishes when V z is lower or equal than the constant C bvz . The quadratic functionV z is defined as: where V z is defined in (43). The function defined by (60) and (61) has the following properties:V z ≥ 0, V z ≤ 3C bvz + 3V z andV z and ∂V z /∂V z are locally Lipschitz continuous. Differentiating (60) with respect to time, yields: Combining (62) with (60) yields: Step 8. In this step, the Lyapunov-like function is formulated and differentiated with respect to time, and the update laws are formulated. The Lyapunov-like function is defined as: whereθ 1 andθ 2 are defined in (33) and (54) respectively, andV z is defined in (60). The vectorx(t) contains the closed loop states z 1 (t), z 2 (t),θ 1 ,θ 2 . For the sake of simplicity, V (x(t)) is represented as V . Differentiating (65) and (67) with respect to time, yields:V Incorporating (64) and (69) into (68), yields: ISSN: 2088-8708 To cancel the effect of the terms that involve the updating errorsθ 1 andθ 2 , the update laws are formulated as: where Γ 1 and Γ 2 are 3 × 3 and 8 × 8 diagonal matrices, respectively, whose elements are user-defined positive constants. The involved state dependent parameters are: ϕ 1 (30), ∂V z /∂V z (63),φ (51), and z 2 (36). From (30) and (63) it follows that (73) together with (71) leads toθ 1 = |θ 1 | ≥ 0. Substituting (71) and (72) into (70), yields: Although the control law (59) and the update laws (71) and (72) have been formulated, the values of the constants c a and c c have not been defined. Expression (74) can be rewritten as: The constants c a and c c are defined as user-defined positive constants that satisfy: A simple choice that satisfies the above requirement is: From (63) it follows that: From (78), (76) and (75) it follows that:V   ii) The diagonal elements of Γ 1 and Γ 2 matrixes are positive and constant (Γi jj) > 0); they affect the dynamics ofθ 1 andθ 2 , therefore, they must be chosen by trial and error simulations so as to obtain a suitable transient behavior ofθ 1 ,θ 2 and tracking error e, and a suitable value of the control input u. Small values for elements Γi jj lead to a slow convergence of tracking error. iii) c a and c c are positive and are set such that 3c 2 a + c 2 c ≤ 2 min{c 1 , c 2 }C bvz according to equation (76); a simple values that satisfy such requirement is c a = c c = V z C be min{c 1 , c 2 }. iv) C be is the size of the residual set Ω e to which the tracking error converges; hence, it should be chosen as the maximun absolut value of the allowed tracking error in steady state. v) c 1 and c 2 are positive constants used in the backstepping procedure. They may be chosen by trial and error so as to acieve suitable transient behavior of the tracking error.
Hereafter, the upper bound for the tracking error e is established. From (88) and (94) it follows that the quadratic form V θ0 can be rewritten as: Notice that expression (80) indicates that the upper bound for e(t) can be rendered small by choosing large values of γ 1/1 , γ 1/2 , γ 1/3 , γ 2/1 , · · · , γ 2/8 and a low value of C be . However, hardware considerations must be taken into account.  (1), which is subject to assumptions Ai to Aiii, ii) the state dependent signals z 1 (17), z 2 (36), ϕ 1 (30), ϕ 1b (40), ϕ 1c (41),φ (51), V z (43), V z (60) and ∂V z /∂V z (63), iii) the signals y d ,ẏ d ,ÿ d provided by equation (10), where a mo , a m1 are user-defined positive constants, and W mref is a user-defined reference value, and iv) the user-defined positive constants c 1 , c 2 , the diagonal elements of Γ 1 and Γ 2 , c a , c c , C be , a mo , a m1 , where c a and c c must satisfy (76). In addition, C bvz = (1/2)C 2 be and u a is an user-defined constant. If the controller defined in (59), (71), and (72) is applied, then the tracking error e asymptotically converges to a residual set Ω e , whose size C be is user-defined: where Arranging and integrating (100) it is obtained: it follows that f g ∈ L 1 . In order to apply Barbalat's Lemma it is necessary to prove that f g ∈ L ∞ andḟ g ∈ L ∞ . Since V z ∈ L ∞ it follows from (102) that f g ∈ L ∞ . Differentiating (102) with respect to time yields: Notice that ∂f g /∂V z is continuous with respect to V z . Since V z ∈ L ∞ then ∂f g /∂V z ∈ L ∞ . Because z 1 ∈ L ∞ , z 2 ∈ L ∞ , x 1 ∈ L ∞ , x 2 ∈ L ∞ , and u ∈ L ∞ it follows from (19) and (37) thatż 1 ∈ L ∞ andż 2 ∈ L ∞ . Thus, from (44) it follows thatV z ∈ L ∞ . Because ∂f g /∂V z ∈ L ∞ andV z ∈ L ∞ then it follows from (104) thatḟ g ∈ L ∞ . Because f g ∈ L ∞ andḟ g ∈ L ∞ the Barbalat's Lemma (cf. [35]  The size of the residual set is given by C be which is user-defined, positive and constant; even more, C be does not depend on i) plant model parameters. ii) bounds of plant model parameters. iii) measurement model parameters. iv) bounds of measurement model parameters. These features of C be are achieved by the control design procedure and te main tasks to this end are: i) to incorporate unknown positive constant bounds to handle unknown parameters from the plant and the measurement models. ii) to incorporate these bounds in the parametrizations. iii) to incorporate a truncation in the quadratic formV z .

NUMERICAL AND EXPERIMENTAL RESULTS
The permanent magnet DC motor (PMDC) has the following characteristics: a rated power of 250 Watts, a power voltage of 42 VDC, a rated current of 6 Amps, and a maximum speed of 4000 rpm. The motor speed W m is recorded by an encoder of 1000 pulses per turn. The armature current i a is measured by a series resistance. The backstepping control technique is implemented in the control and development card dSPACE DS1104. This card is programmed from Matlab /Simulink platform and it has a graphical display interface called ControlDesk. The sampling rate for all variables (W m and i a ) is set to 4 kHz. The state variable i a is 12-bits resolution; the controlled variable W m is sensed by an encoder which has 28-bits resolution. At each sampling time (250 µs) the controller uses the measured W m|m and i a|m to calculate the voltage to feed the motor. The control law and the update laws defined in section 3., and the parameters C be , c 1 , c 2 , Γ 1 , Γ 2 , u a and W mref are entered to the control block by the user. The motor parameters and the user defined controller parameters are stated in Table 1, including the size of the residual set Ω e , i.e. C be , which has been fixed to 5.
The measured values W m|m and i a|m are used by the backstepping controller to compute z 1 , z 2 , ϕ 1 , ϕ, ϕ 1b , ϕ 1c , ∂V z /∂V z , V z , andV z , and then to computeθ 1 ,θ 2 , and u, according to remark 3..2. To test the performance of the backstepping controller, simulations and experiments are considered. In the simulation case, the motor model (1) is used to generate the values of W m|m and i a|m . In this case, the motor parameters presented in Table 1 are introduced by the user, in order to allow the numerical simulation of model (1). In the experimental case, the values of W m|m and i a|m are measured by sensors. Recall that the values of motor parameters R a , L a , B, J eq , k t , k e , T f ric , and T L are not involved in the control and update laws.     The steady state error for the simulation and experimental cases is lower than 2.5 % when W mref = 200 rad/s, and lower than 1.7 % when W mref = 300 rad/s. Notice that the user-defined size C be = 5 stated in Table  1 is achieved by both simulation and experiments as the tracking error converges to a residual set of lower size, as can be seen in figure 1. During the transient state the error gets below −5 or above 5 because the controller was designed to operate in continuous time, whereas the implemented controller works in discrete time; however, in steady state the error converges to a pre-defined residual set.

CONCLUSIONS
The time-varying nature of the parameters, noise and plant models leads to lumped parameter terms, and each of those lumped terms has to be treated as an unique parameter. The main tasks to handle the effect of such terms are: i) to incorporate unknown positive constant upper bounds, ii) to incorporate unknown positive constant lower bounds, iii) to incorporate the lower bounds in the parametrizations, and iv) to incorporate a truncation in the quadratic form that depends on the backstepping states. In addition, the application of the Young's inequality allows to avoid the presence of discontinuous signals in the control and update laws. The truncation of the quadratic form allows to obtain an adequate time derivative of the Lyapunov-like function, guaranteeing adequate boundedness and convergence properties.
The stability analysis indicates that the transient value of the tracking error is upper bounded by a positive constant that depends on initial values of both the system states and updated parameters. This guarantees that the transient tracking error can be rendered small by properly choosing: i) the gains of the update law, and ii) the initial value of the desired output. Such bounded nature of the tracking error is an important benefit with respect to closely related controllers that use the Nussbaum gain method. The convergence analysis indicates that the residual set for the convergence of the real but unknown error depends on the magnitude of the noise parameters. In addition, if the noise parameters are such that noise is absent, then the residual set of the real but unknown error is the same as the residual set of the current tracking error.