1 Introduction

Robust control is concerned with control performance in the presence of uncertainties, external disturbances, and plant parameter variations. Sliding mode control (SMC) is one such strategy that has matured into an effective technique for controlling uncertain systems [1, 2].

The current sliding mode strategies are concerned mostly with systems that are linear in the input. This formulation restricts the application potential of SMC. Under this formulation, systems with an input nonlinearity are usually approached by introducing a coordinate transformation [1, 3] or exact linearization [4]. The robustness, however, is a concern and may result in performance degradation and in some cases even in instability. A modified sliding condition combined with equivalent control [5] can improve robustness. An adaptive robust finite-time controller [6] is introduced for synchronization of two different uncertain chaotic systems (master-slave) with input nonlinearities. The control, however, is discontinuous and requires the bounds of uncertainty.

The uncertain parameters [7] or the bounds of uncertainties [8] can be estimated adaptively and combined with SMC for robust performance. The robustness is also achieved by adaptively estimating the uncertainties using fuzzy and neural network [911]. The adaptive estimation algorithms can effectively take care of structured uncertainties; however, sensor errors or accumulation of numerical errors may lead the system toward instability [12].

A control design augmented by the estimates of uncertainties and disturbances can effectively alleviate the problem. In this design, the effect of uncertainties is compensated by augmenting the controller designed for nominal system with the estimates. Techniques like unknown input observer (UIO) [13], perturbation observer (PO) [14], disturbance observer (DO) [15], extended state observer (ESO) [16], and time delay control (TDC) [17] have been in place for quite sometime, to estimate the effects of uncertainties and disturbances. These techniques have been efficiently used in robustifying the control for nonlinear systems [18] and uncertain chaotic systems [19]. An application of TDC for DC servo motor control [20] is also reported.

The uncertainty and disturbance estimator (UDE)[21] (redefined as inertial delay control (IDC) as explained in Remark 3) is an effective technique for estimating slow-varying uncertainties. This method has been applied to SMC of linear systems [22], linear and nonlinear systems with state delays [23, 24], and input-output linearization [25].

In this paper, sliding mode control (SMC) combined with IDC is extended to a matched uncertain system with control appearing through a nonlinear function as in [5, 26]. This formulation appears in many practical applications like motion control [27], magnetic levitation [4, 9] underwater vehicles [28], vehicle control [29], and underactuated systems [30]. The robustness is assured through IDC that estimates the lumped uncertainty comprising uncertainty in plant as well as input matrix and unknown disturbance. The developed strategy is applied to a representative nonlinear second-order example as in [20] and a benchmark inverted pendulum problem [31]. The main contributions of this paper are as follows:

  1. (i)

    The system considered here covers a large class of practical applications.

  2. (ii)

    The proposed method does not require any knowledge of the bounds of uncertainties and disturbances.

  3. (iii)

    The method of IDC is extended to uncertain system, with nonlinearity in the input vector (in addition to the uncertainty in the plant matrix) and state-dependent disturbances.

  4. (iv)

    The ultimate boundedness of estimation error (\(\tilde{e}\)) and the sliding variable (\(\sigma \)) is proved and validated by simulation of a numerical example and a practical application.

The paper is organized as follows: Sect. 2 states the problem with the necessary assumptions. Section 3 explains the design of model following control followed by uncertainty estimation in Sect. 4. Section 5 gives the stability analysis. The performance is illustrated by a numerical example in Sect. 6 followed by an application to inverted pendulum system in Sect. 7 and conclusion in Sect. 8.

2 Problem statement

Consider a nonlinear single input, single output uncertain system given by,

$$\begin{aligned} \dot{x} \!=\! f(x,t) \!+\! g(x,t)\,u \!+\! \Delta f(x,t) \!+\! \Delta g(x,t)\,u \!+\!\mathrm{d}(x,t)\nonumber \\ \end{aligned}$$
(1)
  • \(x\) \(\in \) \(\mathbb {R}^n\) is the state vector

  • \(u\) \(\in \) \(\mathbb {R}^1\) is the control input

  • \(f(x,t)\) is known nonlinear system vector

  • \(g (x,t)\) is known nonlinear input vector

  • \(\Delta f(x,t)\) & \(\Delta g(x,t)\) are uncertainties in plant and input vector, respectively

  • \(d(x,t)\,\in \,\mathbb {R}^n\) is the unmeasurable disturbance

Assumption 1

The uncertainties \(\Delta f(x,t), \Delta g(x,t)\), and disturbance \(d(x,t)\) satisfy the matching conditions given by

$$\begin{aligned}&\left. \begin{array}{lcl} \Delta f(x,t) &{}=&{} g(x,t)\cdot e_{f}(x,t) \\ \Delta g(x,t) &{}=&{} g(x,t)\cdot e_{g}(x,t) \\ \mathrm{d}(x,t) &{}=&{} g(x,t)\cdot e_{d}(x,t) \end{array} \right\} \end{aligned}$$
(2)

where \(e_f,\, e_g\), and \(e_d\) are unknown.

The Eq. (2) is the well-known matching condition required to guarantee invariance and is an explicit statement of the structural constraint stated in [32]. Using the Assumption 1, the uncertainty and disturbances can be combined into a lumped uncertainty term \(e(x,u,t)\,\in \,\mathbb {R}^1\) and is given as

$$\begin{aligned} e(x,u,t)=e_f(x,t)+ e_g(x,t)\,u + e_d(x,t) \end{aligned}$$
(3)

The system (1) can now be rewritten as

$$\begin{aligned} \dot{x} = f(x,t)+ g(x,t)\,u + g(x,t) \cdot e(x,u,t) \end{aligned}$$
(4)

Assumption 2

The lumped uncertainty \(e(x,t)\) is continuous and satisfies

$$\begin{aligned} \left| \frac{\mathrm{d}^{(j)}e(x,t)}{\mathrm{d}t^{(j)}}\right| \le \mu \qquad \text {for}\, j = 0,1,2,\ldots ,r \end{aligned}$$
(5)

where \(\mu \) is a small positive number.

Remark 1

The Assumption 2 implies that the uncertainty \(e(x,u,t)\) and its derivatives up to some finite order (\(r\)) be bounded but the bound is not required to be known. The assumption includes a fairly large class of uncertainties and disturbances that can be estimated by inertial delay control (IDC) described in Sect. 4.

A model following control is to be designed for the uncertain plant (4), such that it follows the desired model given by

$$\begin{aligned} \dot{x_m}=A_m x_m+b_m u_m \end{aligned}$$
(6)

where \(x_m\,\in \,\mathbb {R}^n\) is the model state, \(u_m\,\in \,\mathbb {R}^1\) is the reference input, and \(A_m\) and \(b_m\) are user selected matrix of suitable dimensions such that (6) gives the desired response. The following assumption is needed on the structure of the model to ensure perfect model following.

Assumption 3

$$\begin{aligned} \left. \begin{array}{rll} f(x,t)-A_m\,x &{}=&{} g(x,t) \cdot L \\ b_m &{}=&{} g(x,t)\cdot M \end{array} \right\} \end{aligned}$$
(7)

where \(L\) and \(M\) are suitable known matrices of appropriate dimensions.

The objective is to design a control \(u\) such that the uncertain plant (4) follows the desired model (6) inspite of uncertainties and disturbances represented by \(e(x,u,t)\).

3 Design of control

A model following control is designed, based on the sliding surface of Ackermann [33]. The control is designed to ensure sliding and the choice of sliding surface ensures that the system follows the desired model.

3.1 Sliding surface

The sliding surface is defined as

$$\begin{aligned} \sigma =b^Tx+z, \qquad z(0)=-b^Tx(0) \end{aligned}$$
(8)

where \(b=[0 \quad 1]^T\). The auxiliary variable \(z\) is defined as

$$\begin{aligned} \dot{z}=-b^TA_m\,x - b^Tb_m\,u_m \end{aligned}$$
(9)

A sliding surface of (8) gives full order sliding and eliminates reaching phase [33]. It can be easily verified that with this sliding surface and auxiliary variable dynamics (9), when \(\sigma \) goes to 0, the plant follows the desired model.

3.2 Model following control

A control is designed such that the sliding condition is satisfied and plant follows the desired model. The control \(u\) is designed as \(u = u_{eq}+u_n\) with \(u_{eq}\) catering to the nominal (known) terms and \(u_n\) to take care of uncertainty in (11). Differentiating (8) and using (4) and (9),

$$\begin{aligned} \dot{\sigma }&= b^T\left[ f(x,t)+g(x,t)\,u+g(x,t)\,e(x,u,t)\right] \nonumber \\&-\,b^TA_m\,x-b^Tb_m\,u_m \end{aligned}$$
(10)

Using (7) in (10),

$$\begin{aligned} \dot{\sigma }= b^Tg\,L+b^Tg\,u+b^Tg\,e(x,u,t)-b^Tg\,M\,u_m\nonumber \\ \end{aligned}$$
(11)

For the sake of simplicity, \(b^Tg(x,t)\) is written as \(b^Tg\).

Let the control \(u\) be expressed as

$$\begin{aligned} u=u_{eq}+u_n \end{aligned}$$
(12)

with

$$\begin{aligned} u_{eq}=-L+Mu_m-(b^Tg)^{-1}k\sigma \end{aligned}$$
(13)

where \(k\) is a positive constant. Using (12) and (13) in (11),

$$\begin{aligned} \dot{\sigma }= b^Tg\,u_n+b^Tg\,e(x,u,t)-k\sigma \end{aligned}$$
(14)

The control strategy is to estimate \(e(x,u,t)\) as \(\hat{e}(x,u,t)\) (18) using inertial delay control (Sect. 4) and use \(-\hat{e}(x,u,t)\) as a component in control to cancel the effect of \(e(x,u,t)\).

Let

$$\begin{aligned} u_n=-\hat{e}(x,u,t) \end{aligned}$$
(15)

Using (15) in (14),

$$\begin{aligned} \dot{\sigma }=-k\,\sigma +b^Tg\,\tilde{e}(x,u,t) \end{aligned}$$
(16)

with

$$\begin{aligned} \tilde{e}(x,u,t)=e(x,u,t)-\hat{e}(x,u,t) \end{aligned}$$
(17)

Remark 2

It is seen from (16) that, as \(\tilde{e} \rightarrow 0\), i.e. \(\hat{e}(x,u,t)\approx e(x,u,t)\), sliding condition is satisfied and \(\sigma \) will asymptotically approach 0, if \(k > 0\). This implies that the uncertain plant follows the desired model i.e., \(\dot{x}=A_m\,x+b_m\,u_m\).

4 Estimation of uncertainty

The uncertainty and disturbance estimator (UDE) [21] is a promising strategy for estimating slow-varying uncertainties. The UDE control algorithm is based on the assumption that a signal can be approximated and estimated using a filter with the right bandwidth. The opposite of estimate is then used in control to negate the effect of the uncertainty [22]. The lumped uncertainty \(e(x,u,t)\) can be estimated as

$$\begin{aligned} \hat{e}(x,u,t) = G_f(s)\,e(x,u,t) \end{aligned}$$
(18)

where \(G_f(s)\) is a strictly proper low-pass filter with unity steady-state gain and sufficiently large bandwidth.

Remark 3

The estimate (\(\hat{e}\)) is obtained by passing lumped uncertainty (\(e\)) through an inertial filter \(G_f(s)\). In analogy with time delay control (TDC) in which the estimates are obtained by delaying the plant signals in time, the method of UDE is redefined as inertial delay control (IDC). The order of estimation filter (\(n\)) shall imply the order (\(n\)) of IDC.

Using (14) and (15),

$$\begin{aligned} e(x,u,t)=(b^Tg)^{-1}(\dot{\sigma }+k\sigma )+\hat{e}(x,u,t) \end{aligned}$$
(19)

Using (19) in (18),

$$\begin{aligned} \hat{e}(x,u,t)=G_f(s)\,\left\{ (b^Tg)^{-1}(\dot{\sigma }+k\sigma )+\hat{e}(x,u,t)\right\} \nonumber \\ \end{aligned}$$
(20)

Specifically for a choice of \(G_f(s)\) given by

$$\begin{aligned} G_f(s)=\frac{1}{1+\tau s} \qquad \text {(first-order filter)} \end{aligned}$$
(21)

where \(\tau \) is a small positive constant. The Eq. (20) can be written as

$$\begin{aligned}&\tau \dot{\hat{e}}(x,u,t)+\hat{e}(x,u,t)\nonumber \\&\qquad =(b^Tg)^{-1}(\dot{\sigma }+k\sigma )+\hat{e}(x,u,t) \end{aligned}$$
(22)

Therefore, with a first-order low-pass filter (i.e., 1st-order IDC),

$$\begin{aligned} \hat{e}(x,u,t)=\frac{(b^Tg)^{-1}}{\tau }\left( \sigma + k\int \limits _0^t\sigma \right) \end{aligned}$$
(23)

From Eqs. (17), (18), and (21),

$$\begin{aligned} \dot{\tilde{e}}(x,u,t) = -\frac{1}{\tau } \tilde{e}(x,u,t) + \dot{e}(x,u,t) \end{aligned}$$
(24)

Remark 4

If \(\dot{e}=0\), \(\tilde{e}\) goes to zero asymptotically, otherwise it is ultimately bounded. If \(\dot{e}\) is not small, but \(\ddot{e}\) is small, i.e., \(j=2\) in (5), then the accuracy of estimation can be improved by estimating \(e\) as well as \(\dot{e}\).

4.1 Improvement in estimation: 2nd-order IDC

The uncertainty (\(e\)) and its derivative (\(\dot{e}\)) can be estimated using a second-order filter of the form

$$\begin{aligned} G_f(s)=\frac{1+2\tau s}{\tau ^2s^2+2\tau s+1} \qquad \hbox {(}2\mathrm{nd}\, \hbox {order IDC)} \end{aligned}$$
(25)

where \(\tau \) is a small positive constant. Let \(\hat{e_1}\) be the estimate of \(e(x,u,t)\) and \(\hat{e_2} = \dot{\hat{e_1}}\) be the estimate of \(\dot{e}(x,u,t)\).

The estimation errors are derived using (17)

$$\begin{aligned} \tilde{e_1}&= e-\hat{e_1} \end{aligned}$$
(26)
$$\begin{aligned} \tilde{e_2}&= \dot{e}-\hat{e_2} \end{aligned}$$
(27)

Using (18) and (25),

$$\begin{aligned}&\hat{e_1} = \left( \frac{1+2\tau s}{\tau ^2s^2+2\tau s+1}\right) \,e\end{aligned}$$
(28)
$$\begin{aligned}&\tau ^2\ddot{\hat{e_1}}+2\tau \dot{\hat{e_1}}+\hat{e_1}=2\tau \dot{e}+e \nonumber \\&\quad \quad \dot{\hat{e_2}} = \frac{2}{\tau }\tilde{e_2}+\frac{1}{\tau ^2}\tilde{e_1}\end{aligned}$$
(29)
$$\begin{aligned}&\dot{\tilde{e_2}} = -\frac{1}{\tau ^2}\tilde{e_1}-\frac{2}{\tau }\tilde{e_2}+\ddot{e} \end{aligned}$$
(30)

The estimation error equations can be expressed in the state variable form as

$$\begin{aligned} \dot{\tilde{e_1}}&= \hat{e_2} \nonumber \\ \dot{\tilde{e_2}}&= -\frac{1}{\tau ^2}\tilde{e_1}-\frac{2}{\tau }\tilde{e_2}+\ddot{e}\end{aligned}$$
(31)
$$\begin{aligned} \dot{\tilde{e}}&= A\tilde{e}+E\ddot{e} \end{aligned}$$
(32)

where

$$\begin{aligned} \tilde{e}=\left[ \begin{array}{c} \tilde{e_1} \\ \tilde{e_2} \end{array}\right] , \quad A=\left[ \begin{array}{c c} 0 &{} 1 \\ -\frac{1}{\tau ^2} &{} -\frac{2}{\tau } \end{array}\right] , \quad E=\left[ \begin{array}{c} 0 \\ 1 \end{array}\right] \end{aligned}$$
(33)

Therefore, with a second-order low-pass filter (i.e., 2nd-order IDC),

$$\begin{aligned} \hat{e_1}=(b^Tg)^{-1}\left( \frac{2}{\tau }\sigma +\frac{2\tau k+1}{\tau ^2}\int \limits _0^t\sigma +\frac{k}{\tau ^2}\int \limits _0^t\int \limits _0^t\sigma \right) \nonumber \\ \end{aligned}$$
(34)

5 Stability

In this section, it is proved that estimation error (\(\tilde{e}\)) and sliding variable (\(\sigma \)) are ultimately bounded. The stability is analyzed for 2nd-order IDC. From (32) and (33), it is observed that for \(\tau >0\), the eigen values of \(A\) can be placed arbitrarily. If \(\tau \) is selected such that all eigen values of \(A\) have negative real parts, one can always find a positive definite matrix \(P\) such that

$$\begin{aligned} PA + A^TP = -Q \end{aligned}$$
(35)

for a given positive definite matrix \(Q\). Let \(\lambda \) be the smallest eigen value of \(Q\).

Defining a Lyapunov function as

$$\begin{aligned} V(\tilde{e})=\tilde{e}^TP\,\tilde{e} \end{aligned}$$
(36)

Taking derivative of \(V(\tilde{e})\) along (24)

$$\begin{aligned} \dot{V}(\tilde{e})&= \tilde{e}^TP\dot{\tilde{e}}+\dot{\tilde{e}}^TP\tilde{e} \end{aligned}$$
(37)
$$\begin{aligned}&= \tilde{e}^T(PA + A^TP)\tilde{e}+2\tilde{e}^TPE\ddot{e} \end{aligned}$$
(38)
$$\begin{aligned}&= -\tilde{e}^TQ\tilde{e}+2\tilde{e}^TPE\ddot{e} \end{aligned}$$
(39)
$$\begin{aligned}&\le -\lambda \Vert \tilde{e}\Vert ^2+2\Vert \tilde{e}\Vert \,\Vert PE\Vert \,\mu \end{aligned}$$
(40)
$$\begin{aligned}&\le -\Vert \tilde{e}\Vert \left( \Vert \tilde{e}\Vert \lambda -2\Vert PE\Vert \mu \right) \end{aligned}$$
(41)

Thus, the estimation error (\(\tilde{e}\)) is ultimately bounded by

$$\begin{aligned} \Vert \tilde{e}\Vert \le \lambda _{\tilde{e}} = \frac{2\,\Vert PE\Vert \,\mu }{\lambda } \end{aligned}$$
(42)

The bound on \(|\sigma |\) is now determined using (16)

$$\begin{aligned} \dot{\sigma }=-k\,\sigma +b^Tg\,\tilde{e} \end{aligned}$$
(43)

Therefore,

$$\begin{aligned} \sigma \dot{\sigma }&= -k\sigma ^2+b^{T}g\sigma \tilde{e} \end{aligned}$$
(44)
$$\begin{aligned}&\le -k|\sigma |^2+|b^{T}g|\,|\sigma |\,\Vert \tilde{e}\Vert \end{aligned}$$
(45)
$$\begin{aligned}&\le -|\sigma |\left( k\,|\sigma |-|b^{T}g|\,\lambda _{\tilde{e}}\right) \end{aligned}$$
(46)

Thus, the sliding variable (\(\sigma \)) is ultimately bounded by

$$\begin{aligned} |\sigma | \le \lambda _{\sigma } = \frac{|b^Tg|\,\lambda _{\tilde{e}}}{k} \end{aligned}$$
(47)

It is seen from (42) and (47) that \(\Vert \tilde{e}\Vert \) and \(|\sigma |\) are ultimately bounded and the bounds can be lowered by appropriate choice of control parameters \(k\) and \(\tau \). Thus, the practical stability is proved in the sense of [34].

6 Numerical example

The effectiveness of the proposed strategy is illustrated with the numerical example as in [20]. The plant dynamics are as in (1) with

$$\begin{aligned}&f(x,t)=\left[ \begin{array}{c c} 0 &{} 1\\ \frac{2\,x_2\sin {x_1}}{\frac{2}{3}+\cos {x_1}} &{} \frac{\cos {x_1}}{\frac{2}{3}+\cos {x_1}} \end{array} \right] \left[ \begin{array}{c} x_1 \\ x_2 \end{array} \right] \end{aligned}$$
(48)
$$\begin{aligned}&\Delta f(x,t)=\left[ \begin{array}{c c} 0 &{} 0\\ 0.2\sin {x_2} &{} 0.1\cos {x_2} \end{array} \right] \left[ \begin{array}{c} x_1 \\ x_2 \end{array} \right] \end{aligned}$$
(49)
$$\begin{aligned}&g(x,t)=\left[ \begin{array}{c} 0 \\ \frac{1}{\frac{2}{3}+\cos {x_1}} \end{array} \right] , \nonumber \\&\Delta g(x,t)=\left[ \begin{array}{c} 0 \\ 0.1\sin {x_2} \end{array} \right] \end{aligned}$$
(50)

The structure of the model to be followed is as in (6) with

$$\begin{aligned} A_m =\left[ \begin{array}{c c} 0 &{} 1\\ -\omega _n^2 &{} -2\zeta \omega _n \end{array} \right] , \quad b_m=\left[ \begin{array}{c} 0 \\ -\omega _n^2 \end{array} \right] \end{aligned}$$
(51)

The initial conditions for the plant and model are

$$\begin{aligned} x(0) = \left[ 1 \quad 0 \right] ^T \qquad x_m(0) = \left[ 0 \quad 1 \right] ^T \end{aligned}$$
(52)

The disturbance is

$$\begin{aligned} \mathrm{d}(x,t)=\left[ \begin{array}{c} 0 \\ x_1^2\,\sin {(t)}+x_2\,\cos {(t)}+1 \end{array} \right] \end{aligned}$$
(53)

6.1 Case 1 : model following

A model following control with uncertainty estimated by a first-order IDC (23) is considered here and the simulation results are showed in Fig. 1. The model parameters are \(\zeta =1\) and \(\omega _n=6\) in (51). The plant and the model have an initial condition mismatch (52). The control gain is \(k=2\) and filter time constant is \(\tau =1\,ms\). The reference input is a square wave of amplitude 1 and frequency 0.9 rad/sec. The response of the plant states (\(x\)), in Fig. 1a, b, shows that the plant follows the model very closely even with uncertainty in plant (49) as well as input vector (50) as also state-dependent nonlinear disturbance (53). The sliding variable (\(\sigma \)) and estimation error (\(\tilde{e}\)) are bounded as seen in Fig. 1d,f.

Fig. 1
figure 1

Model following with uncertainty estimation. a Plant (straight lines) and model (dotted lines) state \(x_1\), b plant (straight lines) and model (dotted lines) state \(x_2\), c control \(u\), d sliding variable \(\sigma \), e uncertainty \(e\) (straight lines) and \(\hat{e}\) (dotted lines), f estimation error \(\tilde{e}\)

6.2 Case 2 : robustness

The robustness analysis with a first-order IDC (23) is presented in this section. The uncertainty in \(f(x,t)\) (49) is same as in Case 1 whereas the uncertainty in \(g(x,t)\) (50) is increased by considering \(g(x,t) = [0 \quad 0.6\sin {x_2}]^T\). The results are shown in Fig. 2. The performance of first-order IDC (23) is also tested for a fast disturbance. The disturbance considered is \(d(x,t)= x_1^2\,\sin {(10\,t)}+x_2\,\cos {(10\,t)}+1\) and the results are shown in Fig. 3. The results are a confirmation of the theory and IDC can indeed compensate fast-varying disturbances and large input vector uncertainties. This implies a good model following and the same is evident from Figs. 2a, b and 3a, b. The sliding variable (\(\sigma \)) and estimation error (\(\tilde{e}\)) are also bounded as expected. It may be noticed that the disturbance has terms that vary in a sinusoidal fashion. As a result, the rate of change of uncertainty \(\dot{e}(x,u,t)\) also has terms that vary in a sinusoidal fashion. Therefore, the estimates \(\hat{e}(x,u,t)\) and \(\tilde{e}\) also show a sinusoidal variation as is to be expected.

Fig. 2
figure 2

Robustness for increased uncertainty in \(g(x,t)\). a Plant (straight lines) and model (dotted lines) state \(x_1\), b plant (straight lines) and model (dotted lines) state \(x_2\), c control \(u\), d sliding variable \(\sigma \), e uncertainty \(e\) (straight lines) and \(\hat{e}\) (dotted lines), f estimation error \(\tilde{e}\)

Fig. 3
figure 3

Robustness for fast disturbance. a Plant (straight lines) and model (dotted lines) state \(x_1\), b plant (straight lines) and model (dotted lines) state \(x_2\). c control \(u\), d sliding variable \(\sigma \), e uncertainty \(e\) (straight lines) and \(\hat{e}\) (dotted lines), f estimation error \(\tilde{e}\)

6.3 Case 3 : improvement with higher order filter

The improvement in accuracy of estimation using a second-order IDC (34) is presented here. The reduction of (\(\sigma \)) and estimation error (\(\tilde{e}\)) in comparison to the results of Case 1 is shown in Fig. 4. It can be seen that the bounds are reduced by a factor of more than 10.

Fig. 4
figure 4

Comparison between first-order and second-order IDC for estimation accuracy. a \(\sigma \) with 1st order filter, b \(\sigma \) with 2nd order filter, c \(\tilde{e}\) with 1st order filter, d \(\tilde{e}\) with 2nd order filter

7 Application to inverted pendulum system

The inverted pendulum system is widely used in the literature to check the validity of control strategies, owing to its challenging dynamic structure. A nonlinear control based on sliding plane [35], adaptive-\(H_{\infty }\) control [36], SMC with QFT [37] are some of the nonlinear designs reported in literature. A SMC combined with self-tuning fuzzy inference scheme [38] provides good tracking performance. However, the control input is very high initially; it is effectively addressed in the proposed design by choice of a suitable sliding surface and auxiliary variable.

The theoretical results of nonlinear sliding mode control design are applied to an inverted pendulum stabilization problem. The stabilization problem is to design a controller to keep the pendulum in its unstable equilibrium point in the presence of disturbances.

The dynamics of the inverted pendulum can be written as in [31, 35].

$$\begin{aligned} \left. \begin{array}{lcl} \dot{x_1} &{}=&{} x_{2} \\ \dot{x_2} &{}=&{}\! \displaystyle \frac{g\sin (x_1)\!-\!\frac{m\,l\,x_2^2\cos (x_1)\sin {x_1}}{(m_c\!+\!m)}}{l\left[ \frac{4}{3}\!-\!\frac{m\cos ^2(x_1)}{(m_c+m)}\right] }\!+\!\frac{\frac{\cos (x_1)}{(m_c\!+\!m)}}{l\left[ \frac{4}{3}\!-\!\frac{m\cos ^2(x_1)}{(m_c\!+\!m)}\right] }u(t)\!+\!\mathrm{d}(t) \\ y &{}=&{} x_1 \end{array} \!\!\right\} \end{aligned}$$
(54)

where \(\left[ x_1 \quad x_2 \right] ^T\) are the state variables—position and velocity of the pole in \(radians\) and \(radians/sec\), \(u(t)\) is the control input in \(V, d(t)\) is the external disturbance and \(y\) is the output. The model parameters are: \(m_c\) is the mass of cart, \(m\) is the mass of pole and \(l\) is half length of the pole.

The system state equations in (54) can be represented generically as

$$\begin{aligned} \dot{x} = f(x,t) + g(x,t)\,u + d(x,t) \end{aligned}$$
(55)
  • \(x\) \(\in \) \(\mathbb {R}^n\) is the state vector

  • \(u\) \(\in \) \(\mathbb {R}^1\) is the control input

  • \(f(x,t)\) is known nonlinear system vector

  • \(g (x,t)\) is known nonlinear input vector

  • \(d(x,t)\) is the unmeasurable disturbances

$$\begin{aligned} f(x)&= \left[ \begin{array}{c} x(2) \\ \frac{g\sin (x_1)-m\,l\,x_2^2\cos (x_1)\sin {x_1}/(m_c+m)}{l\left[ \frac{4}{3}-m\cos ^2(x_1)/(m_c+m)\right] } \end{array} \right] \\ g(x)&= \left[ \begin{array}{c} 0 \\ \frac{\cos (x_1)/(m_c+m)}{l\left[ \frac{4}{3}-m\cos ^2(x_1)/(m_c+m)\right] } \end{array} \right] \\ \mathrm{d}(t)&= \left[ \begin{array}{c} 0 \\ 20\sin (2\,\pi \,t) \end{array} \right] \end{aligned}$$

The nonlinear system and input vector may have uncertainties; \(\Delta f\), \(\Delta g\). As is evident, the uncertainties \(\Delta f, \Delta g\) and disturbance \(\mathrm{d}(x,t)\) satisfy matching conditions. Thus, the system (55) can now be rewritten as in (4),

$$\begin{aligned} \dot{x} = f(x,t)+ g(x,t)\,u + g(x,t) \cdot e(x,u,t) \end{aligned}$$
(56)

where \(e(x,u,t)\) is the lumped uncertainty as in (3) comprising uncertainty in plant and input vector as well as unknown disturbance.

A trajectory tracking control with uncertainty estimated by a first-order IDC (23) is considered here and the simulation results are shown in Fig. 5. The reference is \(r(t)=0.2\sin \left( \pi \,t+\frac{\pi }{2}\right) \). The nominal values of model parameters are \(m_c=1\) kg, \(m=0.1\) kg, \(l=0.5\) m. An uncertainty of 50 % is added in \(m\) to check the robustness of control. It is observed from Fig. 5a that the tracking accuracy is good inspite of uncertainties. It may be noted that no disturbance is added for this case.

Fig. 5
figure 5

Inverted Pendulum without disturbance. a Plant output \(y\) (in radians), b control \(u\) (in V), c sliding variable \(\sigma \), d estimation error \(\tilde{e}\)

In the second case, a time-varying disturbance is added to the plant and the trajectory tracking control performance is shown in Fig. 6. The disturbance considered is \(\mathrm{d}(t)=20\sin (2\,\pi \,t)\), with all other parameters same as the previous case. The first-order IDC (23) is able to compensate this time-varying disturbance and the control ensures a good tracking performance and disturbance rejection as seen in Fig. 6a. The plot of \(\tilde{e}\) which is the difference between \(e\) and \(\hat{e}\) is also sinusoidal but bounded.

Fig. 6
figure 6

Inverted Pendulum with disturbance. a Plant output \(y\) (in radians), b control \(u\) (in V), c sliding variable \(\sigma \), d estimation error \(\tilde{e}\)

The choice of sliding surface ensures that the magnitude of control is within limits. The same can be observed from Figs. 5b and 6b for both the cases. The sliding variable (\(\sigma \)) and estimation error (\(\tilde{e}\)) are bounded for both the cases as seen in Figs. 5c, d and 6c, d. The sinusoidal variation in the plot of \(\sigma \) in Fig. 6c is expected because the disturbance \(\mathrm{d}(t)\) has sinusoidal components in it.

The bounds can be lowered using a smaller value of \(\tau \) as seen in Fig. 7. The estimation error (\(\tilde{e}\)) and sliding variable (\(\sigma \)) are bounded and the same is shown for a longer simulation time of 25 s in Fig. 8. The accuracy of estimation is further improved using a second-order filter. The bounds on estimation error (\(\tilde{e}\)) and sliding variable (\(\sigma \)) are further lowered by using a second-order filter as seen in the comparative results shown in Fig. 8a, b, c, d.

Fig. 7
figure 7

Estimation accuracy with different values of \(\tau \). a Estimation error (\(\tilde{e}\)) with \(\tau =1\) ms, b estimation error (\(\tilde{e}\)) with \(\tau =0.1\) ms

Fig. 8
figure 8

Increased robustness with 2nd order filter. a \(\tilde{e}\) with 1st order filter and \(\tau =1\) ms, b \(\sigma \) with 1st order filter and \(\tau =1\) ms, c \(\tilde{e}\) with 2nd order filter and \(\tau =1\) ms, d \(\sigma \) with 2nd order filter and \(\tau =1\) ms

8 Conclusion

In this paper, a robust sliding mode control strategy using IDC is extended to uncertain nonlinear system with nonlinearity in the plant as well as input vector and subjected to time-varying disturbance. The proposed control enforces sliding without using the discontinuous control and without requiring the knowledge of uncertainties or their bounds. The IDC is able to compensate significant uncertainties as well as fast disturbances. The paper proposes an approach for improving the accuracy of estimation to cover a large class of disturbances. It is proved that the ultimate boundedness of uncertainty estimation error and sliding variable is guaranteed, and the bounds can be lowered by appropriate choice of design parameters. The accuracy of estimation is improved using a second-order filter. The theoretically expected results are verified by computer simulation in MATLAB-SIMULINK environment. The efficacy of the design is also confirmed on an application to inverted pendulum system.