Keywords

1 Introduction

Servo motors are a kind of widely used driving motors in the industry applications [1]. To achieve high precision motion control of such mechanisms, it is essential to derive accurate model of the whole systems. However, this is not a trivial task. In practical applications, the uncertainties that degrade the motion control performance include both internal and external disturbances such as friction, load, torque, and also modeling error. To handle such uncertainties and disturbances, there are two widely used approaches: adaptive control and disturbance observer. In the adaptive control framework, e.g., [2, 3], an important assumption is that the unknown dynamics should be strictly reformulated as a linearly parameterized form. To relax this assumption, some functional approximators, e.g., neural network, fuzzy system, were further incorporated into the control synthesis of nonlinear servo motion mechanisms [46]. However, the function approximation is only valid for continuous functions in a compact set, and only semi-global stability can be proved.

In the past decades, disturbance observer (DOB) [7, 8] was also proposed, where the disturbances and modeling uncertainties are lumped as a time-varying disturbance, which is estimated using an observer. Traditional design methods of DOB are based on frequency domain techniques so that they cannot be extended to nonlinear systems [9]. In [7], a two-stage design procedure to improve disturbance attenuation ability of linear/nonlinear controllers is proposed. The DOB-based control can compensate the unparameterizable uncertainties, and has a simplified structure. In generic nonlinear DOB design, an observer has a similar structure to original system and there are several parameters to be set. In our recent work [10], we proposed a simply yet effective Unknown input observer (UIO) to address the engine torque estimation. The convergence and robustness are also rigorously analyzed.

The aim of this paper is to exploit the idea of UIO proposed in [10] for the precision motion control of nonlinear servo systems with disturbances. First, we present the design of UIO based on available system variables to design the disturbance estimators. We also compare the estimation response of the proposed UIO to other three estimators, e.g., extended state observer (ESO) [11, 12], nonlinear disturbance observer (NDO) [13], and sliding model observer [14]. The proposed UIO is incorporated into the control design to alleviate the effects of these unknown dynamics, e.g., friction and disturbance. Comparative simulations are included to show the satisfactory control performance.

2 Problem Formulation

In this paper, the following servo motion system driven by a linear DC motor as [15] will be considered as follows:

$$ \left\{ {\begin{array}{*{20}l} {\dot{x}_{1} = x_{2} } \hfill \\ {\dot{x}_{2} = \left( {a\dot{x}_{1} + u - f_{f} - f_{r} - f_{l} } \right)\,/\,b} \hfill \\ \end{array} } \right. $$
(1)

where u is the control voltage, \( x_{1} ,\;x_{2} \) are the motor rotation position and speed; \( f_{f} \) is the friction force, \( f_{r} \) is the ripple force, and \( f_{l} \) is the applied load force. The parameters a, b denote the effect of mechanical and electrical dynamics, whose nominal values are available for most physical systems.

The objective of this paper is to introduce an alternative control scheme for system (1) in the presence of unknown dynamics \( f_{f} ,\;f_{r},\,f_{l} \). In particular, the UIO proposed in [10] is modified to estimate and then compensate these unknown forces, which leads to a simple but efficient two-step control design procedure.

3 Disturbance Observer Design

We first consider the estimation of the unknown dynamics using the unknown input observer. Thus, we rewrite the second equation of the system (1) as

$$ \dot{x}_{2} = [ax_{2} + u - F(x_{1} ,x_{2} )]\,/\,b $$
(2)

where \( F(x_{1} ,x_{2} ) = f_{f} + f_{r} + f_{l} \) is the lumped unknown dynamics.

This section first presents theoretical developments of a new input observer to estimate the unknown dynamics. Without loss of generality, we assume the derivative of \( F(x_{1} ,x_{2} ) \) is bounded, i.e., \( { \sup }_{t \ge 0} \left| {\dot{F}(x_{1} ,x_{2} )} \right| \le \hbar \) holds for a constant \( \hbar > 0 \).

  1. A.

    Unknown Input Observer Design

We define the filtered variables \( x_{2f} ,\;u_{f} \) of \( x_{2} \), u as

$$ \left\{ {\begin{array}{*{20}l} {k\dot{x}_{2f} + x_{2f} = x_{2} ,} \hfill & {x_{2f} (0) = 0} \hfill \\ {k\dot{u}_{f} + u_{f} = u,} \hfill & {u_{f} (0) = 0} \hfill \\ \end{array} } \right. $$
(3)

where \( k > 0 \) is a filter parameter.

An ideal invariant manifold [16] will be used to inspire the design of UIO.

Lemma 1

[10] Consider system ( 2 ) and filter operation ( 3 ), the variable

$$ \beta = (x_{ 2} - x_{ 2f} )\,/\,k - (ax_{2f} + u_{f} - F)\,/\,b $$
(4)

is ultimately bounded for any finite \( k > 0 \), and

$$ \mathop { \lim }\limits_{k \to 0} [\mathop { \lim }\limits_{t \to \infty } \{ (x_{ 2} - x_{ 2f} )\,/\,k - (ax_{2f} + u_{f} - F)\,/\,b\} ] = 0, $$

Proof

We refer to [10] for a similar proof. ◇

The above ideal invariant manifold provides a mapping from the filtered variables \( x_{2f} ,u_{f} \) to the unknown dynamics F. Thus, it can be used to design an estimator for F without knowing any information of \( \dot{x}_{2} \). Based on the invariant manifold, a feasible estimator of \( F(x_{1} ,x_{2} ) \) is given by

$$ \widehat{F} = ax_{2f} + u_{f} - b(x_{2} - x_{ 2f} )\,/\,k $$
(5)

Clearly, only the filter constant \( k > 0 \) should be selected by the designer.

The convergence property of the proposed observer can be summarized as

Theorem 1

For system ( 2 ) with unknown input observer ( 5 ), the estimation error \( e_{F} = F - \widehat{F} \) is bounded by \( \left| {e_{F} (t)} \right| \le \sqrt {e_{F}^{2} (0)e^{ - t/k} + k^{2} \,\hbar^{2} } \) and thus \( F \to \widehat{F} \) holds for \( k \to 0 \) or \( \hbar \to 0 \).

Proof

We apply a low-pass filter \( ( \cdot )_{f} = [ \cdot ]\,/\,(ks + 1) \) on both sides of (2), so that

$$ \frac{s}{ks + 1}[x_{2} ] = \frac{a}{b} \cdot \frac{1}{ks + 1}\left[ {x_{2} } \right] + \frac{1}{b} \cdot \frac{1}{ks + 1}\left[ u \right] - \frac{1}{b} \cdot \frac{1}{ks + 1}\left[ F \right] $$
(6)

We consider (6) together with the first equation of (3) and have

$$ \dot{x}_{2f} = \frac{{x_{2} - x_{2f} }}{k} = \frac{{ax_{2f} + u_{f} - F_{f} }}{b} $$
(7)

where \( F_{f} \) is the filtered version of F given by \( k\dot{F}_{f} + F_{f} = F \). Then it follows from (5) and (7) that \( \widehat{F} = F_{f} \), that is, the estimator gives the filtered version of the unknown dynamics. In this case, we can prove that the estimation error can be small using sufficiently small k. For this purpose, we derive the estimation error as

$$ e_{F} = F - \widehat{F} = \left( {1 - \frac{1}{ks + 1}} \right)F = \frac{ks}{ks + 1}[F] $$
(8)

To facilitate the convergence proof, we further represent the estimation error (8) in the time-domain as

$$ \dot{e}_{F} = \dot{F}-\dot{\hat{F}} = \dot{F} - \frac{1}{k}\left({F - F_{f} } \right) = - \frac{1}{k}e_{F} + \dot{F} $$
(9)

Select a Lyapunov function as \( V = \frac{1}{2}e_{F}^{2} \), then its derivative can be given as

$$ \dot{V} = e_{F} \dot{e}_{F} = - \frac{1}{k}e_{F}^{2} + e_{F} \dot{F} \le - \frac{1}{k}V + \frac{k}{2}\hbar^{2} $$
(10)

We can calculate the solution of (10) as \( V(t) \le e^{ - t/k} V(0) + k^{2} \hbar^{2} \,/\,2 \), so \( \left| {e_{F} (t)} \right| \le \sqrt {e_{F}^{2} (0)e^{ - t/k} + k^{2} \hbar^{2} } \). In this case, one can verify that \( e_{F} (t) \to 0 \) for \( k \to 0 \) and/or \( \hbar \to 0 \). ◇

  1. B.

    Comparison to different disturbance estimation methods

In this subsection, we will compare the proposed UIO with other three estimators for system (2) to show their convergence and implementation.

B.1: Extended state observer (ESO)

ESO was initially proposed by Han in [11, 12], and has gained many applications [1]. The basic idea of ESO is to regard the lumped disturbances as a new state variable of the system, which can be estimated via a high-gain observer. Considering F as an extended state as \( x_{3} = F \), then the Eq. (2) can be rearranged as

$$ \left\{ {\begin{array}{*{20}l} {\dot{x}_{2} = (ax_{2} + u - F)\,/\,b} \hfill \\ {\dot{x}_{3} = c\left( t \right)} \hfill \\ \end{array} } \right. $$
(11)

where \( c\left( t \right) = \dot{F} \) is assumed to be bounded. Thus we can design an ESO as

$$ \left\{ {\begin{array}{*{20}l} {\dot{z}_{1} = - [z_{2} - \beta_{1} \left( {z_{1} - x_{2} } \right)]\,/\,b + u\,/\,b + ax_{2} \,/\,b} \hfill \\ {\dot{z}_{2} = - \beta_{2} \left( {z_{1} - x_{2} } \right)} \hfill \\ \end{array} } \right. $$
(12)

where \( \beta_{1} ,\;\beta_{ 2} \) are the feedback gains in the observer, \( z_{1} \) is the estimation of \( x_{2} \) and \( z_{2} \) is the estimation of F. A feasible way to determine \( \beta_{1} ,\;\beta_{ 2} \) can be given as \( s^{2} + \beta_{1} s + \beta_{2} = (s + p)^{2} \), where \( p > 0 \). As analyzed in [17], if \( \dot{F} \) is bounded, then \( z_{1} \to x_{2} \) and \( z_{2} \to F \) hold for \( p \to \infty \). In this paper, to make a trade-off between the convergence and robustness, we set \( p = 1000 \) in the simulations. The induced high-gain of ESO leads to a potential peaking phenomena as shown in [17], which may degrade the transient control response when the estimated state \( z_{2} \) is used.

B.2: Nonlinear disturbance observer (NDO)

The authors of [13] provide a nonlinear disturbance observer to estimate the unknown disturbances. From system (2), we know \( F = - b\dot{x}_{2} { + }ax_{2} { + }u \). Then we let \( L > 0 \) as the observer gain, so that a direct DO with exponential convergence can be formulated as

$$ \dot{\hat{F}} = - L\hat{F} + { }L\left({- b\dot{x}_{2} + { }ax_{2} + { }u} \right) $$
(13)

However, the above DO requires prior knowledge of acceleration signal \( \dot{x}_{2} \), which may not be available or measured in actual systems.

To address this issue, we design an auxiliary variable \( z = \hat{F} + Lbx_{2} \), and then design the following NDO as

$$ \left\{ {\begin{array}{*{20}l} {\widehat{F} = z - Lbx_{2} } \hfill \\ {\dot{z} = - Lz + L(ax_{2} + u + Lbx_{2} )} \hfill \\ \end{array} } \right. $$
(14)

Then the observer error is derived from (14) as

$$ \dot{e}_{F} = \dot{F} - L\left( { - z - ax_{2} - u - Lbx_{2} + b\dot{x}_{2} } \right) = - L\left( {F - \widehat{F}} \right) + \dot{F} = - Le_{F} + \dot{F} $$
(15)

It is interesting to find that the error dynamics of NDO shown in (15) are in the same form of that of the proposed UIO. Thus, it can be proved that the observer error \( e_{F} \) of (15) will converge to zero for \( \dot{F} = 0 \) and/or \( L \to \infty \). Thus, the response of NDO is the same as UIO. However, no auxiliary variable needs to be defined in the proposed UIO.

B.3: Sliding mode observer (SMO)

We assume the disturbance \( F(t) \) is bounded, i.e., holds for . Then, we can define the following sliding mode observer

$$ \dot{\hat{x}}_{2} = \frac{1}{b}[ax_{2} + u - \sigma \,{\text{sign}}\,(x_{ 2} - \hat{x}_{ 2} )] $$
(16)

with a small positive constant .

Then the observer output error between (2) and (16) can be obtained as \( e_{f} = x_{2} - \hat{x}_{2} \), so that its derivative is

$$ b\dot{e}_{f} = - F{ + }\sigma \,{\text{sign}}\,(e_{f} ) $$
(17)

Based on the sliding mode theory and the equivalent control method [14], we know that \( e_{f} \) will reach the sliding mode surface \( e_{f} = 0 \) in finite time, and thus for any bounded disturbance F. However, a well-recognized issue in the sliding model observer is the chattering due to the signum function. To reduce the chattering, a low-pass filter is adopted to give the following estimator:

$$ \widehat{F} = \frac{1}{ks + 1}\left[ {\sigma \,{\text{sign}}\,(e_{f} )} \right] $$
(18)

In this case, we can verify the estimator error of (18) is the same as (8). Consequently, the steady-state convergence response of the sliding mode observer (16) is comparable to those of UIO and NDO. However, the estimated dynamics may not be smooth although the high-frequency switching can be reduced by introducing the low-pass filter in (18). This will be further shown in simulations. Moreover, the upper bound of the unknown dynamics \( F(t) \) should be known in the sliding mode observer design to determine the constant \( \sigma \).

4 Control Design with Disturbance Observer

In this section, we will incorporate the proposed UIO into the control design for (1) to achieve output tracking for a given command \( x_{1d} \). System (1) with the estimator (5) can be given as

$$ \left\{ {\begin{array}{*{20}l} {\dot{x}_{1} = x_{2} } \hfill \\ {\dot{x}_{2} = \frac{ 1}{b}[ax_{2} + u - \widehat{F}(x_{1} ,x_{2} ) - e_{F} ]} \hfill \\ \end{array} } \right. $$
(19)

We define an auxiliary variable defined as

$$ p = \dot{e} + k_{2} e $$
(20)

where e is the tracking error as \( e = x_{1} - x_{1d} \), and \( k_{2} \) is a positive constant.

Then we get the derivative of p as

$$ \dot{p} = {\ddot{\textit{e}}} + k_{2} \dot{e}\text{=}[ax_{2} + u - \widehat{F}(x_{1}, x_{2}) - e_{F}]\;/\;b - {\ddot{\textit{x}}}_{1d} + k_{2} \dot{e} $$
(21)

The controller can be designed as

$$ u = - k_{1} p + \widehat{F} - ax_{2} - b(k_{2} \dot{e} - {\ddot{\textit{x}}}_{1d}) $$
(22)

where \( k_{1} > 0 \) is the feedback gain.

Then the following theorem summarizes the main results of this paper:

Theorem 3

For the motor system ( 1 ), the controller ( 22 ) with the estimator ( 5 ) is designed. Then, for any unknown dynamics F, the estimation error \( e_{F} \) and the tracking error e will converge to a small compact set around zero, whose size depends on the bound \( { \sup }_{t \ge 0} \left| {\dot{F}} \right| \le \hbar \).

Proof

Substituting (22) into (21), we have the tracking control error as

$$ \dot{p}{ = }\frac{ 1}{b}\left( { - k_{1} p - e_{F} } \right) $$
(23)

Select a Lyapunov function as \( V = \frac{1}{2}bp^{2} + \frac{1}{2}e_{F}^{2} \), so that its time derivative can be calculated along as

$$ \dot{V} = bp\dot{p} + e_{F} \dot{e}_{F} = - k_{1} p^{2} - pe_{F} - \frac{1}{k}e_{F}^{2} + e_{F} \dot{F} \le - \alpha V + \frac{\eta }{2}\hbar^{2} $$
(24)

where \( \alpha = { \hbox{min} }\,\{ 2(k_{1} - \eta \,/\,2)\,/\,b,\;2(1\,/\,k - 1\,/\,\eta )\} \) is positive for \( k_{1} > \eta \,/\,2 > k\,/\,2,\;k > 0 \). Thus, we can obtain from (24) that \( V(t) \le e^{ - \alpha t} V(0) + \eta \hbar^{2} /(2\alpha ) \) holds and this implies that p and \( e_{F} \) will exponentially converge to a compact set defined by \( \Omega : = \left\{ {p,e_{F} |\left| p \right| \le \sqrt {\eta \hbar^{2} /\alpha b} ,\left| {e_{F} } \right| \le \sqrt {\eta \hbar^{2} /\alpha } } \right\} \). ◇

5 Simulations

This section will present comparative simulation results to demonstrate the validity of the proposed method, and to compare the estimation response of the above mentioned four estimators for F. The parameters of model (1) can be found in [15], which lead to the lumped parameters \( a = - 123,\;b = 0.69 \). Moreover, the ripple force is given by

$$ f_{r} = A_{r} \,{ \sin }\,\left( {2\pi x_{1} \,/\,P + \varphi } \right) $$
(25)

where \( \omega = 2\pi /P = 314 \) and \( \varphi = 0.05\pi \). The friction model is given as

$$ f_{f} = \left[ {f_{c} + \left( {f_{s} - f_{c} } \right)e^{{ - \left( {x_{2} \,/\,\dot{x}_{s} } \right)^{2} }} } \right]\,{\text{sign}}\,(x_{2} ) + Bx_{2} $$
(26)

where \( f_{s} = 20,\;f_{c} = 10,\;\dot{x}_{s} = 0.1,\;B = 10 \) define the effects of the maximum static friction, the coulomb friction the Stribeck effect and the viscous friction. Moreover, the external load is given as \( f_{l} = 50\,{ \sin }\,(2\pi t) \). In the control design, the filter parameter is \( k = 0.001 \), and the feedback gains used in the controller are chosen as \( k_{1} = 2,k_{2} = 500 \).

Figure 1a shows the tracking responses of the motor position and speed using the presented control (22) with the proposed UIO. It is shown that fairly smooth and satisfactory control performance can be obtained. The profiles of the estimated disturbances are given in Fig. 1b, c. The first picture of Fig. 1b shows the estimation response of F using the four estimators, and its zoom-in view of the estimation between 0.2 and 0.3 s is shown in Fig. 1c. We can see the major trends of F can be accurately captured, although there is a small phase delay (about 0.001 s). This phase delay comes from the introduced low-pass filter (3). It is noted that k should be chosen as a trade-off between the estimation performance and robustness.

Fig. 1
figure 1

Simulation results: a Tracking control response of the proposed control (22) with (5); b Estimation performance of UIO (5), ESO (12), NDO (14) and SMO (18); c The zoom-in plot of (b); d Estimator errors of UIO (5), ESO (12), NDO (14) and SMO (18)

Moreover, we compare their estimation error responses in Fig. 1d. It can be found that the performance of NDO is indeed very similar to that of UIO, which are all better than that of ESO and SMO. In particular, the phase delay of NDO is smaller than that of ESO. Moreover, the implementation of the proposed UIO is simpler than that of ESO. On the other hand, as we stated in Sect. 3, SMO creates oscillated estimation results. The estimation errors of all these four different estimators shown in Fig. 1d further confirm the above analysis.

6 Conclusion

In this paper, we propose a new nonlinear disturbance observer for servo mechanisms by extending the principle of a recently proposed unknown input observer. This new UIO has only one constant to be selected and a simpler structure, while its convergence response is comparable to that of generic NDO, ESO and SMO. The proposed estimator is incorporated into the feedback control design to achieve precision motion control. The closed-loop system stability including the UIO can be rigorously proved. Simulations are given to verify the theoretical analysis. The results demonstrate that the proposed UIO can achieve a superior estimation compared to ESO and SMO. Future work will focus on the robustness analysis for the proposed UIO and other estimators.