1 Introduction

The high-accuracy performance of the XY stage in a machine tool, which is the main requirement to achieve high-quality products, has attracted increasing attention for wide applications, including in semiconductors, and in scientific, electromechanical, and biomedical equipment manufacturing [1,2,3,4,5]. The ball screw system, which is popularly used in the two-axis motion stage, applies a ball knot on the screw, and is much efficient at converting rotary motion to linear motion. A precision ground ball screw can improve accuracy, but is costlier than a lead screw and, will still wear over time, resulting in reduced accuracy and repeatability. Therefore, the effects of nonlinear friction, coupled interference, and unmodeled dynamics always exist in motion control, and can significantly affect the tracking performance of the controlled system. Reducing the effect of nonlinear uncertainty and disturbance is always a challenging problem in controller design. Accordingly, many advanced control schemes were developed to compensate for these difficulties and obtain a precise positioning.

In recent years, several methods were applied for motion control to obtain high-speed and high-accuracy machining quality. These methods include the cross-coupled [2], neural network [3], fuzzy [4], fuzzy wavelet neural network [5], and sliding mode control methods [1, 6, 7]. Wu et al. [2] proposed an integral design control method for a biaxial system using cross-coupled control (CCC). Their method used the contour algebraic equation and its partial derivatives to represent the contour error model. The contour control effort distribution was decided at a desired point. The CCC stability condition was derived based on the contour error transfer function that could improve the contour following accuracy. A recurrent neural network controller [3] was developed for the two-axis computer numerical machine driven by two permanent magnet synchronous motors (PMSMs). The adaptive learning method was derived, and the system tracked various contours with robust control performance. A self-organizing recurrent fuzzy wavelet neural network controller [5] incorporating a mixed \( {\text{H}}_{2} /{\text{H}}_{\infty } \) approach was applied in the XY table system. The control algorithm was developed in dSPACE DS1104 board to control an XY table actuated by two permanent magnet linear synchronous motors. This control architecture had good performance, and was more suitable for controlling an XY table when uncertainties occurred. Thus, the effects of the nonlinear friction and disturbance uncertainty occurring in the position system are the main obstacles in achieving a high-accuracy performance. In addition, using the interpolator algorithm [8,9,10,11] is important in generating the parametric curves [8] and obtaining a better trajectory planning in motion control. Yau [10] developed the non-uniform rational B-spline (NURBS) parameters and interpolation algorithm using the FPGA architecture in a motion controller. The Cox–de Boor algorithm was implemented, and the experimental results using the XY stage verified the good computation performance and tracking capability. The integration of the NURBS interpolator and controller design is a very critical issue to be utilized for contour planning in the motion control design.

Intelligent fuzzy algorithms [12,13,14,15,16,17,18,19] combined with sliding mode control (SMC)-based methods [1, 17,18,19,20,21,22,23] achieve an excellent performance by designing suitable adaptation rules rather than requiring expert experience. Two types of fuzzy system were first introduced by Zadeh [8], namely type-1 fuzzy logic system (T1FLS) and type-2 fuzzy logic system (T2FLS). T2FLS [12,13,14,15,16,17,18,19] was constructed using three-dimensional membership functions and footprint of uncertainty (FOU). The main advantage of T2FLS is that it can handle a system that involves uncertainties and nonlinear dynamical characteristics [16]. Wu [17] and Navarro [18] made a comparison between a T1PI fuzzy logic controller (FLC) and T2PI FLC, showing that the T2 PI FLC can cope with uncertainty and achieve a higher accuracy.

SMC [1, 20,21,22,23] had been widely used to provide eminent features, such as ease of implementation, and is the most promising robust control method that asymptotically converges to the sliding surface. However, the chattering problem is the main shortcoming of the basic SMC. The adaptive fuzzy sliding mode controller [21] was proposed to alleviate the chattering in the nonlinear systems. The adaptive proportional–integral (PI) controller was used to obtain the smooth control input. Type-2 fuzzy neural network SMC methods [22, 23] were presented for SISO nonlinear systems. They can have a smoother response and a better performance compared with T1 FLC structure when slow and fast disturbances are experienced. However, only numerical examples [20,21,22,23] were realized and provided to validate the proposed methods and results. The genetic algorithm [24] was developed to optimize the membership functions of type-2 fuzzy controller, including standard deviation, mean and amplitude of lower MF. The integral squared error (ISE) is utilized to obtain the optimized MFs. A nonlinear quasi-PID scheme [25] was presented for transportation control of double-pendulum cranes. The proposed controller could work well in the presence of unodeled dynamics, actuating constraints, and large swing angles. A neural network-based adaptive control method [26] is developed to provide effective control of both actuated and unactuated state variables base on the original nonlinear ship-mounted crane dynamics without any linearizing operations. The experimental results are conducted to verify the practicability and robustness of the proposed approach.

This research proposes an interval type-2 fuzzy PI sliding mode controller (IT2FPISMC) for precision trajectory tracking using optical encoder sensors in the XY stage. The scheme aims to apply the type-2 fuzzy method to approach the unknown nonlinear functions and use the PI control to alleviate the chattering phenomenon. The PI control scheme is presented to effectively attenuate the chattering and approximate the discontinuous control signal. The projection algorithm is also employed for the adaptive law to ensure the boundaries of the parameters. The Lyapunov and Barbalat lemmas are applied to guarantee the convergence of the controlled system. With the use of the NURBS interpolator algorithm, the biaxial motion stage is experimented using four standard contours to enhance the robustness of the controlled system. The four standard contours are (1) circle, (2) bowknot, (3) heart, and (4) star. The experimental results are conducted and compared to show the trajectory tracking capabilities.

This paper is divided into five sections. Section 2 elaborates the architecture of the controlled system and the dynamic model of the XY stage. Section 3 describes the proposed IT2FPISMC method. Section 4 exhibits the experimental results. Section 5 summarizes the conclusions of this study.

2 Control System Modeling

Figure 1a shows the experimental XY-type platform for our motion control application. This research implemented the adaptive interval type-2 fuzzy-based control system using a Pentium computer. We install the digital/analog converter card and an encoder card in the computer. The controlled plant is actuated by two servomotor drives, and the rated output power, torque, speed, and current of the PMSM motor are 400 W, 1.3 Nm, 3000 rpm, and 2.3 A, respectively. The XY motion stage has a 2 mm screw pitch, 260 mm of x-axis travel, and 350 mm of y-axis travel. Mercury II 5000 series optical encoder sensors were installed to provide the high precision requirement in the position feedback loop. The system was implemented using the AC servo drive Melservo-J2S-Super series manufactured by Mitsubishi. The drive system can provide three operation modes: position control, speed control, and torque control. Given that it considered system parameter uncertainty and external disturbances, including friction force, cross-coupling, and load effect, the XY stage equipment was a second-order nonlinear system in practical applications. The single-axis stage system is illustrated in Fig. 1b. The associated mathematical model can be represented as follows:

$$ \ddot{x} = f({\mathbf{x}}) + g({\mathbf{x}})u(t) + d(t) $$
(1)
$$ y = x $$
(2)

where \( {\text{x}} \) is the stage displacement of the x- or y-axes; \( {\mathbf{x}} \) is the state vector; \( {\text{f}}({\mathbf{x}}) \) is the nonlinear function of state variables; \( {\text{g}}({\mathbf{x}}) \) is the control gain; \( {\text{u}}(t) \) is the input control voltage; \( {\text{d}}(t) \) is the lumped system uncertainty and coupled interference, which is bounded; \( \left| {{\text{d}}({\text{t}})} \right| < {\text{D}}^{\text{U}} \); and \( {\text{D}}^{\text{U}} \) is assumed to be a given positive constant. The system in Eq. (1) is assumed to be controllable, and \( {\text{g}}({\mathbf{x}}) \ne 0 \) is required for vector \( {\mathbf{x}} \) in certain controllability regions. Without loss of generality, \( 0 < {\text{g}}({\mathbf{x}}) < \infty \) is assumed. The control objective is to design a control law \( {\text{u(t)}} \), such that state \( {\text{x}} \) can track a desired reference trajectory \( {\text{x}}_{\text{d}} \) in the presence of the model uncertainty and external disturbance. The state vector of the system \( {\mathbf{x}} \in {\text{R}}^{2} \) can be written as follows:

$$ {\mathbf{x}} = \left[ {x,\dot{x}} \right]^{T} = \left[ {x_{1} ,x_{2} } \right]^{T} $$
(3)

The ideal position signal is assumed to be \( {\text{x}}_{\text{d}} \), and the tracking error is defined as \( {\text{e}} = {\text{x}} - {\text{x}}_{\text{d}} \). The error vector is \( e = \left[ {{\text{e}},{\dot{\text{e}}}} \right]^{\text{T}} \), and the sliding surface can be defined as:

$$ s ({\mathbf{e}} )= k_{1} e + \dot{e} = {\mathbf{k}}^{T} {\mathbf{e}} $$
(4)

with \( {\mathbf{k}} = \left[ {{\text{k}}_{ 1} , 1} \right]^{\text{T}} \), where the vector \( {\mathbf{k}} \) is the coefficient vector of the Hurwitz polynomial \( {\text{h}}\left(\uplambda \right) =\uplambda + {\text{k}}_{1} \). The control strategy is selected to obtain the error vector on the sliding surface \( {\text{s}}({\mathbf{e}}) = 0 \) for all \( {\text{t}} \ge 0 \) and achieve this condition. The continuous differentiable Lyapunov function \( {\text{V}} \) is defined as follows:

$$ V = \frac{ 1}{ 2}s{}^{2}({\mathbf{e}}) $$
(5)

The differential operator is used, and can be expressed as follows:

$$ \begin{aligned} \dot{V} & = s \cdot \dot{s} = s \cdot \left( {k_{1} \dot{e} + \ddot{e}} \right) = s \cdot \left( {k_{1} \dot{e} - \ddot{x}_{d} + \ddot{x}} \right) \\ & = s \cdot \left( {k_{1} \dot{e} - \ddot{x}_{d} + f({\mathbf{x}}) + g({\mathbf{x}})u + d} \right) \\ & \le -\upeta\left| s \right| \\ \end{aligned} $$
(6)

where \( \upeta \) is a positive constant. If \( {\text{f}}({\mathbf{x}}) \) and \( {\text{g}}({\mathbf{x}}) \) are known in advance, then the ideal sliding control law \( {\text{u}} \) is defined as follows:

$$ \begin{aligned} u & = u{}_{eq}^{{}} - u_{sw} = \frac{1}{{g({\mathbf{x}})}}\left[ { - f({\mathbf{x}}) - k_{1} e + \ddot{x}_{d} - \eta_{\Delta } sgn(s)} \right] \\ & = \frac{1}{{g({\mathbf{x}})}}\left[ { - f({\mathbf{x}}) - k_{1} e + \ddot{x}_{d} - u_{p} } \right] \\ \end{aligned} $$
(7)

with \( {\text{u}}{}_{\text{eq}}^{{}} = \frac{1}{{{\text{g}}({\mathbf{x}})}}\left[ { - {\text{f}}({\mathbf{x}}) - {\text{k}}_{1} {\text{e}} + {\ddot{\text{x}}}_{\text{d}} } \right] \), \( {\text{u}}_{\text{sw}} = \frac{1}{{{\text{g}}({\mathbf{x}})}}{\text{u}}_{\text{p}} \), \( {\text{u}}_{\text{p}} =\upeta_{\Delta } \text{sgn} ({\text{s}}) \), \( \upeta_{\Delta } = {\text{D}} +\upeta \), \( \text{sgn} ({\text{s}}) = \left\{ {\begin{array}{*{20}l} 1 \hfill & {{\text{s}} > 0} \hfill \\ 0 \hfill & {{\text{s}} = 0} \hfill \\ { - 1} \hfill & {{\text{s}} < 0} \hfill \\ \end{array} } \right. \), where \( {\text{u}}{}_{\text{eq}}^{{}} \) is the equivalent control input, and \( {\text{u}}_{\text{sw}} \) is the switching control input. Functions \( {\text{f}}({\mathbf{x}}) \) and \( {\text{g}}({\mathbf{x}}) \) are usually unknown in the actual system. Therefore, applying the control law in Eq. (7) to the XY motion system is difficult. Thus, the switching control \( {\text{u}}_{\text{sw}} \) can lead to the chattering phenomenon, which is undesired in conventional SMC control. Accordingly, the interval type-2 FLS approximation controller and the adaptive PI controller are constructed to solve these difficulties by introducing the fuzzy switching controller.

Fig. 1
figure 1

a Experimental setup of the two-axis PMSM driven motion stage, b single-axis linear motion stage

3 Proposed Adaptive IT2FPISMC Method

3.1 Interval Type-2 Fuzzy Logic System

Figure 2a illustrates a block diagram of the type-2 fuzzy system, including a fuzzifier, a rule base, an inference engine, a type reducer, and a defuzzifier. These functions can be designed and described as follows:

Fig. 2
figure 2

Structure of fuzzy logic system a type 2 fuzzy system structure, b the singleton fuzzification with a minimum t-norm operation

  1. (a)

    Fuzzification The IT2FLS inference method was utilized to approximate \( {\text{f}}({\mathbf{x}}) \) and \( {\text{g}}({\mathbf{x}}) \). Both state variable sets (\( {\text{x}}_{1} \), \( {\text{x}}_{2} \)) from Eq. (3) were used as the input parameters in the fuzzy system for trajectory control. These sets were used to transform the input vector \( {\mathbf{x}} = \left[ {{\text{x}}_{1} ,{\text{x}}_{2} } \right]^{\text{T}} \in {\text{X}}_{1} \times {\text{X}}_{2} \equiv {\mathbf{X}} \) into the interval type-2 fuzzy set \( {\tilde{\text{X}}}_{\text{i}}^{\text{n}} \) defined in \( {\mathbf{X}} \). The number of inputs is two. The Gaussian primary membership functions are expressed herein as follows:

    $$ \overline{u}_{{\tilde{X}_{i}^{n} }} (x_{i} ) = exp\left[ { - \left( {\frac{{x_{i} - m}}{\upbeta}} \right)^{2} } \right]\quad {\text{i }} = \, 1, \, 2 $$
    (8)
    $$ \underline{u}_{{\tilde{X}_{i}^{n} }} (x_{i} ) = a \cdot exp\left[ { - \left( {\frac{{x_{i} - m}}{\upbeta}} \right)^{2} } \right]\quad {\text{i }} = \, 1, \, 2 $$
    (9)

    where \( \overline{\text{u}} ( \bullet ) \) and \( \underline{\text{u}} ( \bullet ) \) denote the grade of the upper and lower membership functions, respectively. \( \upbeta \) is the standard deviation of the lower and upper membership functions; \( {\text{m}} \) is the mean value; and \( {\text{a}} \) is the FOU width coefficient defined between the upper and lower membership functions.

  2. (b)

    Rule base The fuzzy rules represent the relationship between the input as the antecedent and the output as the consequent type-2 fuzzy set. \( {\text{N}} \) rules are assumed to exist in the T2FLS. The nth type-2 fuzzy rule can be expressed as follows:

    Rule n: IF \( {\text{x}}_{1} \) is \( {\tilde{\text{X}}}_{1}^{\text{n}} \) AND \( {\text{x}}_{2} \) is \( {\text{X}}_{2}^{\text{n}} \),

    $$ {\text{THEN}}\;{\text{y}}\;{\text{is}}\;{\tilde{\text{Y}}}^{\text{n}} \quad n = \, 1,2, \ldots N $$
    (10)

    where \( {\tilde{\text{X}}}_{1}^{\text{n}} \) and \( {\tilde{\text{X}}}_{{\underline{2} }}^{\text{n}} \) are the type-2 fuzzy sets of the IF part, and \( {\tilde{\text{Y}}}^{\text{n}} \) is the consequent T2 fuzzy set replaced by \( {\tilde{\text{Y}}}^{\text{n}} = \left[ {{\bar{\text{y}}}^{\text{n}} ,\underline{\text{y}}^{\text{n}} } \right] \). \( {\bar{\text{y}}}^{\text{n}} \) and \( \underline{\text{y}}^{\text{n}} \) are the upper and lower values of the type-1 fuzzy system, respectively.

  3. (c)

    Inference engine The type-2 fuzzy inference engine can combine rules and establish a mapping from the input type-2 fuzzy sets to the output type-2 fuzzy sets. The firing strength of the nth rule can be represented as follows:

    $$ F^{n} ({\mathbf{x}} )= \left[ {\begin{array}{*{20}c} {\bar{f}_{{}}^{n} ({\mathbf{x}} )} & {\underline{f}^{n} ({\mathbf{x}} )} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\bar{f}_{{}}^{n} } & {\underline{f}^{n} } \\ \end{array} } \right]\quad n = \, 1, \, 2, \ldots N $$
    (11)
    $$ \bar{f}_{{}}^{n} ({\mathbf{x}} )= \overline{u}_{{\tilde{X}_{1}^{n} }} (x_{1} ) \times \overline{u}_{{\tilde{X}_{2}^{n} }} (x_{2} ) $$
    (12)
    $$ \underline{f}^{n} ({\mathbf{x}} )= \underline{u}_{{\tilde{X}_{1}^{n} }} (x_{1} ) \times \underline{u}_{{\tilde{X}_{2}^{n} }} (x_{2} ) $$
    (13)

    where \( {\bar{\text{f}}}_{{}}^{\text{n}} ({\mathbf{x}} ) \) and \( \underline{\text{f}}^{\text{n}} ({\mathbf{x}} ) \) are the nth upper and lower membership functions, respectively. The fuzzification with a minimum t-norm was applied here (Fig. 2b).

  4. (d)

    Output processing Various type of reductions were proposed in the literature [12,13,14], including centroid, center of set, height, and modified height. The center of sets (COS)-type reduction was used herein to compute the fuzzy output. The output can be expressed as follows:

    $$ Y_{cos} ({\mathbf{x}} )= \int_{{y^{1} }} { \cdots \int_{{y^{N} }} {\int_{{f^{1} }} { \cdots \int_{{f^{N} }} {1/\frac{{\sum\nolimits_{n = 1}^{N} {f^{n} y^{n} } }}{{\sum\nolimits_{n = 1}^{N} {f^{n} } }}} } } } = [y_{l} ,y_{r} ] $$
    (14)

    where \( {\text{y}}_{\text{r}} \) is the right endpoint, and \( {\text{y}}_{\text{l}} \) is the left endpoint, which is derived from the consequent centroid set \( \left[ {\begin{array}{*{20}c} {{\text{y}}_{\text{l}}^{\text{n}} } & {{\text{y}}_{\text{r}}^{\text{n}} } \\ \end{array} } \right] \) and the firing strength \( {\text{f}}^{\text{n}} \in {\text{F}}^{\text{n}} ({\mathbf{x}} )= \left[ {\begin{array}{*{20}c} {{\bar{\text{f}}}_{{}}^{\text{n}} } & {\underline{\text{f}}^{\text{n}} } \\ \end{array} } \right] \), respectively. \( {\text{y}}_{\text{r}} \) and \( {\text{y}}_{\text{l}} \) are given as follows using the singleton fuzzier, product inference engine, and COS type reducer:

    $$ y_{r} = \frac{{\sum\nolimits_{n = 1}^{N} {f_{r}^{n} y_{r}^{n} } }}{{\sum\nolimits_{n = 1}^{N} {f_{r}^{n} } }} = \sum\limits_{n = 1}^{N} {y_{r}^{n} \xi_{r}^{n} } = {\mathbf{y}}_{r}^{T} {\varvec{\upxi}}_{r}^{{}} $$
    (15)
    $$ y_{l} = \frac{{\sum\nolimits_{n = 1}^{N} {f_{l}^{n} y_{l}^{n} } }}{{\sum\nolimits_{n = 1}^{N} {f_{l}^{n} } }} = \sum\limits_{n = 1}^{N} {y_{l}^{n} \xi_{l}^{n} } = {\mathbf{y}}_{l}^{T} {\varvec{\upxi}}_{l}^{{}} $$
    (16)

    with \( {\varvec{\upxi}}_{r}^{n} = f_{r}^{n} /\left( {\sum\nolimits_{i = 1}^{N} {f_{r}^{n} } } \right) \), \( {\varvec{\upxi}}_{l}^{n} = \underline{{f_{l}^{n} }} /\left( {\sum\nolimits_{n = 1}^{N} {f_{l}^{n} } } \right) \), where \( {\mathbf{y}}_{\text{r}}^{{}} = \left[ {{\text{y}}_{\text{r}}^{1} , \ldots ,{\text{y}}_{\text{r}}^{\text{N}} } \right]^{\text{T}} \) and \( {\mathbf{y}}_{l}^{{}} = \left[ {{\text{y}}_{\text{l}}^{1} , \ldots ,{\text{y}}_{\text{l}}^{\text{N}} } \right]^{\text{T}} \) are the right and left endpoint vectors, respectively; and \( {\varvec{\upxi}}_{\text{r}} \) and \( {\varvec{\upxi}}_{\text{l}} \) are the regressive vectors. We briefly describe the computation procedures for the rightmost point \( {\text{y}}_{\text{r}} \). Without losing generality, we assume that \( {\text{y}}_{\text{r}}^{\text{n}} \) is arranged in an ascending order (i.e., \( {\text{y}}_{\text{r}}^{1} \le {\text{y}}_{\text{r}}^{2} \le \cdots \le {\text{y}}_{\text{r}}^{\text{N}} \)).

    • Step 1. Calculate \( {\text{y}}_{\text{r}} \) in Eq. (15) by initially setting \( {\text{f}}_{\text{r}}^{\text{n}} = ({\bar{\text{f}}}_{{}}^{\text{n}} + \underline{\text{f}}^{\text{n}} )/2 \) for \( {\text{n}} = 1,2, \ldots ,{\text{N}} \). Here \( {\bar{\text{f}}}_{{}}^{\text{n}} \) and \( \underline{\text{f}}^{\text{n}} \) are precomputed using Eqs. (12) and (13), respectively. Let \( {\text{y}}_{\text{r}}^{'} \) = \( {\text{y}}_{\text{r}} \).

    • Step 2. Find \( {\text{R}} \) (\( 1\le {\text{R}} \le {\text{N}} - 1 \)), such that \( {\text{y}}_{\text{r}}^{\text{R}} \le y_{\text{r}}^{'} \le {\text{y}}_{\text{r}}^{{{\text{R}} + 1}} \).

    • Step 3. Compute \( {\text{y}}_{\text{r}} \) in Eq. (15) with \( {\text{f}}_{\text{r}}^{\text{n}} = \underline{\text{f}}^{\text{n}} \) for \( {\text{n}} \le {\text{R}} \) and \( {\text{f}}_{\text{r}}^{\text{n}} = {\bar{\text{f}}}_{{}}^{\text{n}} \) for \( {\text{n}} > {\text{R}} \), then let \( {\text{y}}_{\text{r}}^{{\prime \prime }} \) = \( {\text{y}}_{\text{r}} \).

    • Step 4. If \( {\text{y}}_{\text{r}}^{{\prime }} \ne {\text{y}}_{\text{r}}^{{\prime \prime }} \), then go to step 5. If \( {\text{y}}_{\text{r}}^{{\prime }} \ne {\text{y}}_{\text{r}}^{{\prime \prime }} \), then set \( {\text{y}}_{\text{r}} = {\text{y}}_{\text{r}}^{{\prime \prime }} \) and go to step 6.

    • Step 5. Set \( {\text{y}}_{\text{r}}^{{\prime }} = {\text{y}}_{\text{r}}^{{\prime \prime }} \), and return to step 2.

    • Step 6. End.

    The number \( {\text{R}} \) can be obtained from two separate sides from the abovementioned algorithm, such that one side is the lower firing strengths \( \underline{\text{f}}^{\text{n}} \)’s, and another side is the upper firing strengths \( {\bar{\text{f}}}_{{}}^{\text{n}} \)’s. \( {\text{y}}_{\text{r}} \) can then be rewritten as follows:

    $$ y_{r} = \frac{{\sum\nolimits_{n = 1}^{R} {\underline{f}^{n} y_{r}^{n} } + \sum\nolimits_{R + 1}^{N} {\bar{f}_{{}}^{n} y_{r}^{n} } }}{{\sum\nolimits_{n = 1}^{\text{R}} {\underline{f}^{n} } + \sum\nolimits_{{n = {\text{R}} + 1}}^{N} {\bar{f}_{{}}^{n} } }} = \sum\limits_{n = 1}^{R} {\underline{q}_{r}^{n} y_{r}^{n} } + \sum\limits_{n = R + 1}^{N} {\bar{q}_{r}^{n} y_{r}^{n} } = \left[ {\begin{array}{*{20}c} {\underline{{\mathbf{y}}}_{r}^{T} } & {{\bar{\mathbf{y}}}_{r}^{T} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\underline{{\mathbf{Q}}}_{r} } \\ {{\bar{\mathbf{Q}}}_{r} } \\ \end{array} } \right] = {\varvec{\uptheta}}_{r}^{T} {\varvec{\upxi}}_{r} $$
    (17)

    with \( \underline{\text{q}}_{\text{r}}^{\text{n}} = \underline{\text{f}}^{\text{n}} /{\text{D}}_{\text{r}} \), \( {\bar{\text{q}}}_{\text{r}}^{\text{n}} = {\bar{\text{f}}}_{{}}^{\text{n}} /{\text{D}}_{\text{r}} \), \( {\text{D}}_{\text{r}} = \sum\limits_{{{\text{n}} = 1}}^{\text{R}} {\underline{\text{f}}^{\text{n}} } + \sum\limits_{{{\text{n}} = {\text{R}} + 1}}^{\text{N}} {{\bar{\text{f}}}_{{}}^{\text{n}} } \), \( {\varvec{\uptheta}}_{\text{r}}^{{}} = \left[ {\begin{array}{*{20}c} {\underline{{\mathbf{y}}}_{\text{r}}^{{}} } \\ {{\bar{\mathbf{y}}}_{\text{r}}^{{}} } \\ \end{array} } \right] \), \( {\varvec{\upxi}}_{\text{r}} = \left[ {\begin{array}{*{20}c} {\underline{{\mathbf{Q}}}_{\text{r}} } \\ {{\bar{\mathbf{Q}}}_{\text{r}} } \\ \end{array} } \right] \).

    The process to compute \( {\text{y}}_{\text{l}} \) is similar to that used to compute \( {\text{y}}_{\text{r}} \). In step 2, we must determine \( {\text{L}} \) (\( 1 \le {\text{L}} \le {\text{M}} - 1 \)), such that \( {\text{y}}_{\text{l}}^{\text{L}} \le {\text{y}}_{\text{l}}^{'} \le {\text{y}}_{\text{l}}^{{{\text{L}} + 1}} \). In step 3, let \( {\text{f}}_{\text{l}}^{\text{n}} = \bar{f}_{{}}^{\text{n}} \) for \( {\text{n}} \le {\text{L}} \), and \( {\text{f}}_{\text{l}}^{\text{n}} = \underline{\text{f}}^{\text{n}} \) for \( {\text{n}} > {\text{L}} \). The output variable \( {\text{y}}_{\text{l}} \)can then be expressed as follows:

    $$ y_{l} = \frac{{\sum\nolimits_{n = 1}^{L} {\bar{f}_{{}}^{n} y_{l}^{n} } + \sum\nolimits_{L + 1}^{N} {\underline{f}^{n} y_{l}^{n} } }}{{\sum\nolimits_{n = 1}^{\text{L}} {\bar{f}^{n} } + \sum\nolimits_{{n = {\text{L}} + 1}}^{N} {\underline{f}^{n} } }} = \sum\limits_{n = 1}^{L} {\bar{q}_{l}^{n} y_{l}^{n} } + \sum\limits_{n = L + 1}^{N} {\underline{q}_{l}^{n} y_{l}^{n} } = \left[ {\begin{array}{*{20}c} {{\bar{\mathbf{y}}}_{l}^{T} } & {\underline{{\mathbf{y}}}_{l}^{T} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\underline{{\mathbf{Q}}}_{l} } \\ {{\bar{\mathbf{Q}}}_{l} } \\ \end{array} } \right] = {\varvec{\uptheta}}_{l}^{T} {\varvec{\upxi}}_{l} $$
    (18)

    with \( \underline{\text{q}}_{\text{l}}^{\text{n}} = \underline{\text{f}}^{\text{n}} /{\text{D}}_{\text{l}} \), \( {\bar{\text{q}}}_{\text{l}}^{\text{n}} = {\bar{\text{f}}}_{{}}^{\text{n}} /{\text{D}}_{\text{r}} \), \( {\text{D}}_{\text{l}} = \sum\limits_{{{\text{n}} = 1}}^{\text{L}} {{\bar{\text{f}}}_{{}}^{\text{n}} } + \sum\limits_{{{\text{n}} = {\text{L}} + 1}}^{\text{N}} {\underline{\text{f}}^{\text{n}} } \), \( {\varvec{\uptheta}}_{l}^{{}} = \left[ {\begin{array}{*{20}c} {{\bar{\mathbf{y}}}_{\text{l}}^{{}} } \\ {\underline{{\mathbf{y}}}_{\text{l}}^{{}} } \\ \end{array} } \right] \), \( {\varvec{\upxi}}_{\text{r}} = \left[ {\begin{array}{*{20}c} {\underline{{\mathbf{Q}}}_{\text{r}} } \\ {{\bar{\mathbf{Q}}}_{\text{r}} } \\ \end{array} } \right] \).

  5. (e)

    Defuzzifier The type reduction output is fed into the fuzzy defuzzification. The crisp output is calculated using the average value of the two endpoints, and can be written as follows:

    $$ y({\mathbf{x}}) = \frac{{y_{l} + y_{r} }}{2} = \frac{1}{2}({\varvec{\uptheta}}_{l}^{T} {\varvec{\upxi}}_{l} + {\varvec{\uptheta}}_{r}^{T} {\varvec{\upxi}}_{r} ) $$
    (19)

3.2 Proposed IT2FPISMC Method

The sliding mode controller in Eq. (7) can be realized when functions \( {\text{f}}\left( {\mathbf{x}} \right) \) and \( {\text{g}}\left( {\mathbf{x}} \right) \) are known in advance. The functions \( {\text{f}}({\mathbf{x}}) \) and \( {\text{g}}({\mathbf{x}}) \) cannot be exactly obtained in practical systems. Based on the universal approximation, the fuzzy systems \( {\hat{\text{f}}}({\mathbf{x}}\left| {\uptheta_{\text{f}} } \right.) \) and \( {\hat{\text{g}}}({\mathbf{x}}\left| {\uptheta_{\text{g}} } \right.) \) are designed to approach functions \( {\text{f}}\left( {\mathbf{x}} \right) \) and \( {\text{g}}\left( {\mathbf{x}} \right) \), respectively. The adaptive PI controller combined with IT2FSMC was investigated herein to alleviate the chattering phenomenon and enhance the steady-state response. Figure 3 shows the architecture of the proposed IT2FPISMC for a single-axis motion system. The error state \( {\text{s(}}{\mathbf{e}} ) \) in Eq. (4) lies in the pre-specific boundary layer (\( \left| {\text{s}} \right| < {\upvarphi } \), \( {\upvarphi } \) is the thickness of the boundary layer); hence, the discontinuous switch term in Eq. (7) can be substituted by the continuous PI scheme. The PI controller is presented as follows:

$$ \hat{u}_{p} = \theta_{\text{P}} \cdot s ({\mathbf{e}} )+\uptheta_{I} \cdot \int {s ({\mathbf{e}} )dt} $$
(20)

where \( \hat{u}_{p} \) is the PI controller output; and \( \uptheta_{\text{P}} \) and \( \uptheta_{\text{I}} \) are the proportional (P) and integral (I) gains, respectively.

Fig. 3
figure 3

The structure of the proposed IT2FPISMC motion control stage system

This can be rewritten as the following vector form:

$$ \hat{u}_{p} (s\left| {{\varvec{\uptheta}}_{p} } \right.) = {\varvec{\uptheta}}_{p}^{T} {\varvec{\uppsi}}(s) $$
(21)

where \( {\varvec{\uptheta}}_{p} = [\uptheta_{p} ,\uptheta_{\text{I}} ]^{T} \in {\mathbf{R}}^{2} \) is an adjustable parameter vector, and \( {\varvec{\uppsi}}({\text{s}}) = [{\text{s(}}{\mathbf{e}} ),\int {{\text{s(}}{\mathbf{e}} ) {\text{dt}}} ]^{\text{T}} \in {\mathbf{R}}^{2} \) is the regression vector. The control input \( {\hat{\text{u}}}_{\text{p}} \) is kept at a saturation value because the error state is bigger than the boundary layer (\( \left| {\text{s}} \right| \ge {\upvarphi } \)). Accordingly, the PI control input \( {\hat{\text{u}}}_{\text{p}} \) can be expressed as follows:

$$ \hat{u}_{p} (s|{\varvec{\uptheta}}_{p} ) = \left\{ {\begin{array}{*{20}l} {{\varvec{\uptheta}}_{p}^{T} {\varvec{\uppsi}}(s)} & {\left| s \right| < \upvarphi } \\ {\upeta_{\Delta } \text{sgn} (s)} & {\left| s \right| \ge \upvarphi } \\ \end{array} } \right. $$
(22)

The adaptive control law is expressed as follows:

$$ u = \frac{1}{{\hat{g}({\mathbf{x}}\left| {{\varvec{\uptheta}}_{g} } \right.)}}\left[ { - \hat{f}\left( {{\mathbf{x}}\left| {{\varvec{\uptheta}}_{f} } \right.} \right) - k_{1} e + \ddot{x}_{d}^{{}} - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p} )} \right] $$
(23)

with \( {\hat{\text{f}}}({\mathbf{x}}\left| {{\varvec{\uptheta}}_{\text{f}} } \right.) = \frac{{{\hat{\text{f}}}_{\text{l}} + {\hat{\text{f}}}_{\text{r}} }}{2} = \frac{{{\varvec{\uptheta}}_{{{\text{f}}l}}^{\text{T}} {\varvec{\upxi}}_{\text{l}} + {\varvec{\uptheta}}_{{{\text{f}}r}}^{\text{T}} {\varvec{\upxi}}_{\text{r}} }}{2} = {\varvec{\uptheta}}_{\text{f}}^{\text{T}} {\varvec{\upxi}}_{\text{f}} \), \( {\hat{\text{g}}}({\mathbf{x}}\left| {{\varvec{\uptheta}}_{\text{g}} } \right.) = \frac{{{\hat{\text{g}}}_{l} + {\hat{\text{g}}}_{r} }}{2} = \frac{{{\varvec{\uptheta}}_{\text{gl}}^{\text{T}} {\varvec{\upxi}}_{\text{l}} + {\varvec{\uptheta}}_{\text{gr}}^{\text{T}} {\varvec{\upxi}}_{\text{r}} }}{2} = {\varvec{\uptheta}}_{\text{g}}^{\text{T}} {\varvec{\upxi}}_{\text{g}} \), \( {\hat{\text{u}}}_{\text{p}} ({\text{s}}|{\varvec{\uptheta}}_{p} ) = {\varvec{\uptheta}}_{\text{p}}^{\text{T}} {\varvec{\uppsi}}({\text{s}}) \).

The chattering of the sliding surface can be eliminated using a PI controller. This PI controller can be applied to substitute for the switching control when \( |{\text{s}}| < {\upvarphi } \); otherwise, the control input was maintained at the saturation value when \( |{\text{s}}| \ge {\upvarphi } \). Thus, \( {\hat{\text{u}}}_{\text{p}} ({\mathbf{z}}\left| {\uptheta_{\text{p}} } \right.) =\upeta_{\Delta } \text{sgn} ({\text{s}}) \) if \( |{\text{s}}| \ge {\upvarphi } \) happens. The adaptation control law can be designed and selected as follows:

$$ {\dot{\boldsymbol{\theta }}}_{fl} =\upgamma_{1} s{\varvec{\upxi}}_{fl} ({\mathbf{x}}) $$
(24)
$$ {\dot{\boldsymbol{\theta }}}_{fr} =\upgamma_{2} s{\varvec{\upxi}}_{fr} ({\mathbf{x}}) $$
(25)
$$ {\dot{\boldsymbol{\theta }}}_{gl} =\upgamma_{3} s{\varvec{\upxi}}_{gl} ({\mathbf{x}})u(t) $$
(26)
$$ {\dot{\boldsymbol{\theta }}}_{gr} =\upgamma_{4} s{\varvec{\upxi}}_{gr} ({\mathbf{x}})u(t) $$
(27)
$$ {\dot{\boldsymbol{\theta }}}_{p} =\upgamma_{5} s{\varvec{\uppsi}}(s) $$
(28)

where \( \upgamma_{1} > 0 \), \( \upgamma_{2} > 0 \), \( \upgamma_{3} > 0 \), \( \upgamma_{4} > 0, \) and \( \upgamma_{5} > 0 \) are the adaptation rates. The abovementioned control law can be modified by the projection algorithm to ensure that the adaptive parameters are bounded [21, 23]. Parameters, \( {\text{M}}_{\text{fl}} \), \( {\text{M}}_{\text{fr}} \), \( {\text{M}}_{\text{gl}} \), \( {\text{M}}_{\text{gr}} \), and \( {\text{M}}_{\text{p}} \) are the prespecified boundaries of the estimated vectors of \( {\varvec{\uptheta}}_{\text{fl}} \), \( {\varvec{\uptheta}}_{\text{fr}} \), \( {\varvec{\uptheta}}_{\text{gl}} \), \( {\varvec{\uptheta}}_{\text{gr}} \), and \( {\varvec{\uptheta}}_{\text{p}} \), respectively. Equations (24) and (25) can be modified as follows:

$$ {\dot{\boldsymbol{\theta }}}_{fl} = \left\{ {\begin{array}{*{20}l} {\upgamma_{1} s{\varvec{\upxi}}_{fl} } \hfill & {\left( {\left| {{\varvec{\uptheta}}_{fl} } \right| < M_{fl} } \right)\;or\;\left( {\left| {{\varvec{\uptheta}}_{fl} } \right| = M_{fl} \;and\;s{\varvec{\uptheta}}_{fl}^{T} {\varvec{\upxi}}_{fl} \le 0} \right)} \hfill \\ {P_{fl} \left( {\upgamma_{1} s{\varvec{\upxi}}_{fl} } \right)} \hfill & {\left( {\left| {{\varvec{\uptheta}}_{fl} } \right| \ge M_{fl} \;and\;s{\varvec{\uptheta}}_{fl}^{T} {\varvec{\upxi}}_{fl} > 0} \right)} \hfill \\ \end{array} } \right. $$
(29)
$$ {\dot{\boldsymbol{\theta }}}_{fr} = \left\{ {\begin{array}{*{20}l} {\upgamma_{2} s{\varvec{\upxi}}_{fr} } \hfill & {\left( {\left| {{\varvec{\uptheta}}_{fr} } \right| < M_{fr} } \right)\;or\;\left( {\left| {{\varvec{\uptheta}}_{fr} } \right| = M_{fr} \;and\;s{\varvec{\uptheta}}_{fr}^{T} {\varvec{\upxi}}_{fr} \le 0} \right)} \hfill \\ {P_{fr} \left( {\gamma_{2} s{\varvec{\upxi}}_{fr} } \right)} \hfill & {\left( {\left| {{\varvec{\uptheta}}_{fr} } \right| \ge M_{fr} \;and\;s{\varvec{\uptheta}}_{fr}^{T} {\varvec{\upxi}}_{fr} > 0} \right)} \hfill \\ \end{array} } \right. $$
(30)

with \( {\text{P}}_{{{\text{f}}l}} (\upgamma_{1} {\text{s}}{\varvec{\upxi}}_{fl} ) =\upgamma_{1} {\text{s}}{\varvec{\upxi}}_{\text{fl}} -\upgamma_{1} {\text{s}}\frac{{{\varvec{\uptheta}}_{\text{fl}} {\varvec{\uptheta}}_{\text{fl}}^{\text{T}} {\varvec{\upxi}}_{\text{fl}} }}{{\left| {{\varvec{\uptheta}}_{\text{fl}} } \right|^{2} }} \), \( {\text{P}}_{\text{fr}} (\upgamma_{2} {\text{s}}{\varvec{\upxi}}_{\text{fr}} ) =\upgamma_{2} {\text{s}}{\varvec{\upxi}}_{\text{fr}} -\upgamma_{2} {\text{s}}\frac{{{\varvec{\uptheta}}_{\text{fr}} {\varvec{\uptheta}}_{{{\text{f}}r}}^{\text{T}} {\varvec{\upxi}}_{\text{fr}} }}{{\left| {{\varvec{\uptheta}}_{\text{fr}} } \right|^{2} }} \), where \( {\text{M}}_{\text{fl}} \) and \( {\text{M}}_{\text{fr}} \) are the parameter boundaries of the estimated parameters \( \uptheta_{\text{fl}} \) and \( \uptheta_{\text{fr}} \), respectively. Equations (26) and (27) can then be modified as follows:

$$ {\dot{\boldsymbol{\theta }}}_{gl} = \left\{ {\begin{array}{*{20}l} {\upgamma_{3} s{\varvec{\upxi}}_{gl} u} \hfill & {\left( {\left| {{\varvec{\uptheta}}_{gl} } \right| < M_{gl} } \right)\;or\;\left( {\left| {{\varvec{\uptheta}}_{gl} } \right| = M_{gl} \;and\;s{\varvec{\uptheta}}_{gl}^{T} {\varvec{\upxi}}_{gl} u \le 0} \right)} \hfill \\ {P_{gl} \left( {\upgamma_{3} s{\varvec{\upxi}}_{gl} u} \right)} \hfill & {\left( {\left| {{\varvec{\uptheta}}_{gl} } \right| \ge M_{gl} \;and\;s{\varvec{\uptheta}}_{gl}^{T} {\varvec{\upxi}}_{gl} u > 0} \right)} \hfill \\ \end{array} } \right. $$
(31)
$$ {\dot{\boldsymbol{\theta }}}_{gr} = \left\{ {\begin{array}{*{20}l} {\upgamma_{4} s{\varvec{\upxi}}_{gr} u} \hfill & {\left( {\left| {{\varvec{\uptheta}}_{gr} } \right| < M_{gr} } \right)\;or\;\left( {\left| {{\varvec{\uptheta}}_{gr} } \right| = M_{gr} \;and\;s{\varvec{\uptheta}}_{gr}^{T} {\varvec{\upxi}}_{gr} u \le 0} \right)} \hfill \\ {P_{gr} \left( {\gamma_{4} s{\varvec{\upxi}}_{gr} u} \right)} \hfill & {\left( {\left| {{\varvec{\uptheta}}_{gr} } \right| \ge M_{gr} \;and\;s{\varvec{\uptheta}}_{gr}^{T} {\varvec{\upxi}}_{gr} u > 0} \right)} \hfill \\ \end{array} } \right. $$
(32)

with \( {\text{P}}_{\text{gl}} (\upgamma_{3} {\text{s}}{\varvec{\upxi}}_{\text{gl}} {\text{u}}) = \gamma_{3} {\text{s}}{\varvec{\upxi}}_{\text{gl}} {\text{u}} -\upgamma_{3} {\text{s}}\frac{{{\varvec{\uptheta}}_{\text{gl}} {\varvec{\uptheta}}_{\text{gl}}^{\text{T}} {\varvec{\upxi}}_{\text{gl}} {\text{u}}}}{{\left| {{\varvec{\uptheta}}_{\text{gl}} } \right|^{2} }} \), \( {\text{P}}_{\text{gr}} (\upgamma_{4} {\text{s}}{\varvec{\upxi}}_{\text{gr}} {\text{u}}) =\upgamma_{4} {\text{s}}{\varvec{\upxi}}_{\text{gr}} {\text{u}} -\upgamma_{4} {\text{s}}\frac{{{\varvec{\uptheta}}_{\text{gr}} {\varvec{\uptheta}}_{\text{gr}}^{\text{T}} {\varvec{\upxi}}_{\text{gr}} u}}{{\left| {{\varvec{\uptheta}}_{\text{gr}} } \right|^{2} }} \), where \( {\text{M}}_{\text{gl}} \) and \( {\text{M}}_{\text{gr}} \) are the parameter boundaries of the estimated parameters \( \uptheta_{\text{gl}} \) and \( \uptheta_{\text{gr}} \), respectively. Equation (28) can then be modified as:

$$ {\dot{\boldsymbol{\theta }}}_{p} = \left\{ {\begin{array}{*{20}l} {\gamma_{ 5} s{\varvec{\uppsi}}\left( s \right)} \hfill & {\left( {\left| {{\varvec{\uptheta}}_{p} } \right| < M_{p} } \right)\;or\;\left( {\left| {{\varvec{\uptheta}}_{p} } \right| = M_{p} \;{\text{and}}\;s{\varvec{\uptheta}}_{p}^{T} {\varvec{\uppsi}}\left( s \right) \ge 0} \right)} \hfill \\ {P_{p} \left( {\gamma_{ 5} s{\varvec{\uppsi}}\left( s \right)} \right)} \hfill & {\left( {\left| {{\varvec{\uptheta}}_{p} } \right| \ge M_{p} \;and\;{\text{s}}{\varvec{\uptheta}}_{p}^{T} {\varvec{\uppsi}}\left( s \right) < 0} \right)} \hfill \\ \end{array} } \right. $$
(33)

with \( P_{p} (\gamma_{5} s{\varvec{\uppsi}}) = \gamma_{5} s{\varvec{\uppsi}} - \gamma_{5} s\frac{{{\varvec{\uptheta}}_{p} {\varvec{\uptheta}}_{p}^{T} {\varvec{\uppsi}}}}{{\left| {{\varvec{\uptheta}}_{p} } \right|^{2} }} \), where Mp denotes the parameter boundaries of the estimated parameters θp.

3.3 Stability Analysis

Theorem 1

The nonlinear system is considered in the form of Eqs. (1) and (2). If the control law (23) can be used in the system, the functions\( {\hat{\text{f}}}({\mathbf{x}}) \), \( {\hat{\text{g}(}}{\mathbf{x}} ) \), and\( {\hat{\text{u}}}_{\text{p}} \)are approximated by Eqs. (19) and (22), and the parameter vectors of\( {\varvec{\uptheta}}_{\text{fl}} \), \( {\varvec{\uptheta}}_{\text{fr}} \), \( {\varvec{\uptheta}}_{\text{gl}} \), \( {\varvec{\uptheta}}_{\text{gr}} \), and \( {\varvec{\uptheta}}_{\text{p}} \)are adjusted by adaptive laws (24)–(28), respectively. The signals of the closed-loop control system are bounded, and the trajectory errors asymptotically converge to zero.

Proof

The optimal parameter vectors can be defined as follows:

$$ {\varvec{\uptheta}}_{f}^{*} = arg\mathop {min}\limits_{{{\varvec{\uptheta}}_{f} \in \varOmega_{f} }} \left[ {\mathop {sup}\limits_{{{\mathbf{x}} \in R^{n} }} \left| {\hat{f}\left( {{\mathbf{x}}\left| {{\varvec{\uptheta}}_{f} } \right.} \right) - f\left( {\mathbf{x}} \right)} \right|} \right] $$
(34)
$$ {\varvec{\uptheta}}_{g}^{*} = arg\mathop {min}\limits_{{{\varvec{\uptheta}}_{g} \in \varOmega_{g} }} \left[ {\mathop {sup}\limits_{{{\mathbf{x}} \in R^{n} }} \left| {\hat{g}\left( {{\mathbf{x}}\left| {{\varvec{\uptheta}}_{g} } \right.} \right) - g\left( {\mathbf{x}} \right)} \right|} \right] $$
(35)
$$ {\varvec{\uptheta}}_{p}^{*} = arg\mathop {min}\limits_{{{\varvec{\uptheta}}_{p} \in \varOmega_{p} }} \left[ {\mathop {sup}\limits_{{{\mathbf{z}} \in R^{2} }} \left| {\hat{u}_{p} (s|{\varvec{\uptheta}}_{p} ) - u_{sw} } \right|} \right] $$
(36)

where \( {\Omega}_{\text{f}} \), \( {\Omega}_{\text{g}} \), and \( {\Omega}_{\text{p}} \) are the constant set values for \( \theta_{\text{f}} \), \( \theta_{\text{g}} \), and \( \theta_{\text{p}} \), respectively. The stability of the design control must be guaranteed by the assumption of the parameter boundaries expressed in Eq. (29)–(33). The parameters can be defined as follows:

$$ \varOmega_{f} = \{ {\varvec{\uptheta}}_{f} \in {\mathbf{R}}^{n} | { |}{\varvec{\uptheta}}_{{\mathbf{f}}} | \, \le \, M_{f} \} $$
(37)
$$ \varOmega_{g} = \{ {\varvec{\uptheta}}_{g} \in {\mathbf{R}}^{n} { | }0 <\upvarepsilon \le \left| {{\varvec{\uptheta}}_{g} } \right| \, \le \, M_{g} \} $$
(38)
$$ \varOmega_{p} = \{ {\varvec{\uptheta}}_{p} \in {\mathbf{R}}^{2} | { |}{\varvec{\uptheta}}_{p} | \, \le \, M_{p} \} $$
(39)

with \( M_{f} = \frac{{M_{\text{fl}} + M_{\text{fr}} }}{2} \), \( M_{\text{g}} = \frac{{M_{\text{gl}} + M_{\text{gr}} }}{2} \), where \( M_{f} \), \( M_{g} \), and \( M_{p} \) are positive constants. The time derivative of the sliding surface error function \( s ({\mathbf{e}} ) \) is expressed as follows:

$$ \begin{aligned} \dot{s} & = k_{1} \dot{e} + f\left( {\mathbf{x}} \right) + g\left( {\mathbf{x}} \right)u + d - \ddot{x}_{d}^{{}} \\ & = f\left( {\mathbf{x}} \right) - \hat{f}\left( {{\mathbf{x}}\left| {{\varvec{\uptheta}}_{f} } \right.} \right) + g\left( {\mathbf{x}} \right)u - \hat{g}\left( {{\mathbf{x}}\left| {{\varvec{\uptheta}}_{g} } \right.} \right)u + d - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p} ) \\ & = \hat{f}\left( {{\mathbf{x}}\left| {{\varvec{\uptheta}}_{f}^{*} } \right.} \right) - \hat{f}\left( {{\mathbf{x}}\left| {{\varvec{\uptheta}}_{f} } \right.} \right) + \left[ {\hat{g}\left( {{\mathbf{x}}\left| {{\varvec{\uptheta}}_{g}^{*} } \right.} \right)u - \hat{g}\left( {{\mathbf{x}}\left| {{\varvec{\uptheta}}_{g} } \right.} \right)} \right]_{{}}^{{}} u + \left[ {\hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{*} ) - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p} )} \right] +\upomega - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{*} ) \\ & = \left( {{\varvec{\uptheta}}_{f}^{*T} {\varvec{\upxi}}_{f} - {\varvec{\uptheta}}_{f}^{T} {\varvec{\upxi}}_{f} } \right) + \left( {{\varvec{\uptheta}}_{g}^{*T} {\varvec{\upxi}}_{g} - {\varvec{\uptheta}}_{g}^{T} {\varvec{\upxi}}_{g} } \right)u + \left( {{\varvec{\uptheta}}_{p}^{*T} {\varvec{\uppsi}} - {\varvec{\uptheta}}_{p}^{T} {\varvec{\uppsi}}} \right) + d - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{*} ) +\upomega \\ & = {\boldsymbol{\upvarphi }}_{f}^{T} {\varvec{\upxi}}_{f} + {\boldsymbol{\upvarphi }}_{g}^{T} {\varvec{\upxi}}_{g} u + {\boldsymbol{\upvarphi }}_{g}^{T} {\varvec{\uppsi}} + d - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{*} ) +\upomega \\ & = \frac{1}{2}\left( {{\boldsymbol{\upvarphi }}_{fl}^{T} {\varvec{\upxi}}_{fl} + {\boldsymbol{\upvarphi }}_{fr}^{T} {\varvec{\upxi}}_{fr} } \right) + \frac{1}{2}\left( {{\boldsymbol{\upvarphi }}_{gl}^{T} {\varvec{\upxi}}_{gl} + {\boldsymbol{\upvarphi }}_{gr}^{T} {\varvec{\upxi}}_{gr} } \right)u + {\boldsymbol{\upvarphi }}_{p}^{T} {\varvec{\uppsi}} + d - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{*} ) +\upomega \\ \end{aligned} $$
(40)

with \( \upomega = [{\text{f}}\left( {\mathbf{x}} \right) - {\hat{\text{f}}}(\varvec{x}|{\varvec{\uptheta}}_{\text{f}}^{*} )] + [{\text{g}}\left( {\mathbf{x}} \right) - {\hat{\text{g}}}(\varvec{x}|{\varvec{\uptheta}}_{\text{g}}^{*} )]{\text{u}} \), \( {\boldsymbol{\upvarphi }}_{\text{f}} = {\varvec{\uptheta}}_{\text{f}}^{*} - {\varvec{\uptheta}}_{\text{f}} \), \( {\boldsymbol{\upvarphi }}_{\text{fl}} = {\varvec{\uptheta}}_{\text{fl}}^{*} - {\varvec{\uptheta}}_{\text{fl}} \), \( {\boldsymbol{\upvarphi }}_{\text{fr}} = {\varvec{\uptheta}}_{\text{fr}}^{*} - {\varvec{\uptheta}}_{\text{fr}} \)\( {\boldsymbol{\upvarphi }}_{\text{g}} = {\varvec{\uptheta}}_{\text{g}}^{*} - {\varvec{\uptheta}}_{\text{g}} \), \( {\boldsymbol{\upvarphi }}_{\text{gl}} = {\varvec{\uptheta}}_{\text{gl}}^{*} - {\varvec{\uptheta}}_{\text{gl}} \), \( {\boldsymbol{\upvarphi }}_{\text{gr}} = {\varvec{\uptheta}}_{\text{gr}}^{*} - {\varvec{\uptheta}}_{\text{gr}} \), and \( {\boldsymbol{\upvarphi }}_{\text{p}} = {\varvec{\uptheta}}_{\text{p}}^{*} - {\varvec{\uptheta}}_{\text{p}} \), where \( \upomega \) is the minimum approximation error. The Lyapunov candidate function can be defined as follows:

$$ V = \frac{1}{2}\left( {s^{2} + \frac{1}{{2\gamma_{1} }}{\boldsymbol{\upvarphi }}_{fl}^{T} {\boldsymbol{\upvarphi }}_{fl} + \frac{1}{{2\gamma_{2} }}{\boldsymbol{\upvarphi }}_{fr}^{T} {\boldsymbol{\upvarphi }}_{fr} + \frac{1}{{2\gamma_{3} }}{\boldsymbol{\upvarphi }}_{gl}^{T} {\boldsymbol{\upvarphi }}_{gl} + \frac{1}{{2\gamma_{4} }}{\boldsymbol{\upvarphi }}_{gr}^{T} {\boldsymbol{\upvarphi }}_{gr} + \frac{1}{{\gamma_{5} }}{\boldsymbol{\upvarphi }}_{p}^{T} {\boldsymbol{\upvarphi }}_{p} } \right) $$
(41)

where \( \gamma_{\text{n}} \) is a positive constant value (\( {\text{n}} = 1,2,3,4,5 \)). The time derivative of function V can be expressed as follows:

$$ \begin{aligned} \dot{V} & = s\dot{s} + \frac{1}{{2\gamma_{1} }}{\boldsymbol{\upvarphi }}_{fl}^{T} {\dot{\boldsymbol{\upvarphi }}}_{fl} + \frac{1}{{2\gamma_{2} }}{\boldsymbol{\upvarphi }}_{fr}^{T} {\dot{\boldsymbol{\upvarphi }}}_{fr} + \frac{1}{{2\gamma_{3} }}{\boldsymbol{\upvarphi }}_{gl}^{T} {\dot{\boldsymbol{\upvarphi }}}_{gl} + \frac{1}{{2\gamma_{4} }}{\boldsymbol{\upvarphi }}_{gr}^{T} {\dot{\boldsymbol{\upvarphi }}}_{gr} + \frac{1}{{\gamma_{5} }}{\boldsymbol{\upvarphi }}_{p}^{T} {\dot{\boldsymbol{\upvarphi }}}_{p} \\ & = s\left( {\frac{1}{2}\left( {{\boldsymbol{\upvarphi }}_{fl}^{T} {\varvec{\upxi}}_{fl} + {\boldsymbol{\upvarphi }}_{fr}^{T} {\varvec{\upxi}}_{fr} } \right) + \frac{1}{2}\left( {{\boldsymbol{\upvarphi }}_{gl}^{T} {\varvec{\upxi}}_{gl} + {\boldsymbol{\upvarphi }}_{gr}^{T} {\varvec{\upxi}}_{gr} } \right)u + {\boldsymbol{\upvarphi }}_{p}^{T} {\varvec{\uppsi}} + d - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{*} ) +\upomega} \right) \\ & \quad + \frac{1}{{2\gamma_{1} }}{\boldsymbol{\upvarphi }}_{fl}^{T} {\dot{\boldsymbol{\upvarphi }}}_{fl} + \frac{1}{{2\gamma_{2} }}{\boldsymbol{\upvarphi }}_{fr}^{T} {\dot{\boldsymbol{\upvarphi }}}_{fr} + \frac{1}{{2\gamma_{3} }}{\boldsymbol{\upvarphi }}_{gl}^{T} {\dot{\boldsymbol{\upvarphi }}}_{gl} + \frac{1}{{2\gamma_{4} }}{\boldsymbol{\upvarphi }}_{gr}^{T} {\dot{\boldsymbol{\upvarphi }}}_{gr} + \frac{1}{{\gamma_{5} }}{\boldsymbol{\upvarphi }}_{p}^{T} {\dot{\boldsymbol{\upvarphi }}}_{p} \\ & = \frac{1}{{2\gamma_{1} }}{\boldsymbol{\upvarphi }}_{fl}^{T} \left( {{\dot{\boldsymbol{\upvarphi }}}_{fl} + \gamma_{1} s{\varvec{\upxi}}_{fl} } \right) + \frac{1}{{2\gamma_{2} }}{\boldsymbol{\upvarphi }}_{fr}^{T} \left( {{\dot{\boldsymbol{\upvarphi }}}_{fr} + \gamma_{2} s{\varvec{\upxi}}_{fr} } \right) + \frac{1}{{2\gamma_{3} }}{\boldsymbol{\upvarphi }}_{gl}^{T} \left( {{\dot{\boldsymbol{\upvarphi }}}_{gl} + \gamma_{3} s{\varvec{\upxi}}_{gl} u} \right) + \frac{1}{{2\gamma_{4} }}{\boldsymbol{\upvarphi }}_{gr}^{T} \left( {{\dot{\boldsymbol{\upvarphi }}}_{gr} + \gamma_{4} s{\varvec{\upxi}}_{gr} u} \right) \\ & \quad + \frac{1}{{\gamma_{5} }}{\boldsymbol{\upvarphi }}_{p}^{T} \left( {{\dot{\boldsymbol{\upvarphi }}}_{p} + \gamma_{5} s{\varvec{\uppsi}}} \right) + sd - s\hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{*} ) + s\upomega \\ & \le \frac{1}{{2\gamma_{1} }}{\boldsymbol{\upvarphi }}_{fl}^{T} \left( {{\dot{\boldsymbol{\upvarphi }}}_{fl} + \gamma_{1} s{\varvec{\upxi}}_{fl} } \right) + \frac{1}{{2\gamma_{2} }}{\boldsymbol{\upvarphi }}_{fr}^{T} \left( {{\dot{\boldsymbol{\upvarphi }}}_{fr} + \gamma_{2} s{\varvec{\upxi}}_{fr} } \right) + \frac{1}{{2\gamma_{3} }}{\boldsymbol{\upvarphi }}_{gl}^{T} \left( {{\dot{\boldsymbol{\upvarphi }}}_{gl} + \gamma_{3} s{\varvec{\upxi}}_{gl} u} \right) + \frac{1}{{2\gamma_{4} }}{\boldsymbol{\upvarphi }}_{gr}^{T} \left( {{\dot{\boldsymbol{\upvarphi }}}_{gr} + \gamma_{4} s{\varvec{\upxi}}_{gr} u} \right) \\ & \quad + \frac{1}{{\gamma_{5} }}{\boldsymbol{\upvarphi }}_{p}^{T} \left( {{\dot{\boldsymbol{\upvarphi }}}_{p} +\upgamma_{5} s{\varvec{\uppsi}}} \right) + sd - s\left( {\upeta_{\Delta } + D} \right)sgn\left( s \right) + s\upomega \\ \end{aligned} $$
(42)

with \( {\dot{\boldsymbol{\upvarphi }}}_{\text{fl}} = - {\dot{\boldsymbol{\theta }}}_{\text{fl}} \), \( {\dot{\boldsymbol{\upvarphi }}}_{\text{fr}} = - {\dot{\boldsymbol{\theta }}}_{\text{fr}} \), \( {\dot{\boldsymbol{\upvarphi }}}_{\text{gl}} = - {\dot{\boldsymbol{\theta }}}_{\text{gl}} \), \( {\dot{\boldsymbol{\upvarphi }}}_{\text{gr}} = - {\dot{\boldsymbol{\theta }}}_{\text{gr}} \), \( {\dot{\boldsymbol{\upvarphi }}}_{\text{p}} = - {\dot{\boldsymbol{\theta }}}_{\text{p}} \).

By substituting the adaptive laws of Eqs. (24)–(28) into Eq. (42), the equation can be derived as follows:

$$ \begin{aligned} \dot{V} & \le sd - s\left( {\upeta_{\Delta } + D} \right)sgn\left( s \right) + s\upomega \\ & = sd - \left| s \right|\left( {\upeta_{\Delta } + D} \right) + s\upomega \\ & \le - \left| s \right|\upeta_{\Delta } + s\upomega \le 0 \\ \end{aligned} $$
(43)

Based on the universal approximation theorem, the minimum approximation error \( \upomega \) becomes a very small value, and can result in \( {\dot{\text{V}}} \le 0 \). One can state [21] that all the feedback system signals (\( s \), \( {\varvec{\uptheta}}_{\text{fl}} \), \( {\varvec{\uptheta}}_{\text{fr}} \), \( {\varvec{\uptheta}}_{\text{gl}} \), \( {\varvec{\uptheta}}_{\text{gr}} \), and \( {\varvec{\uptheta}}_{p} \)) were bounded. The sliding surface error \( {\text{s(}}{\mathbf{e}} )= {\mathbf{k}}^{\text{T}} {\mathbf{e}} \), and \( {\mathbf{e}} \) was bounded if \( {\text{e}}(0) \) was bounded. This finding implied that the reference trajectory \( {\text{x}}_{\text{d}} ({\text{t}}) \) was bounded, and state \( {\text{x}}({\text{t}}) \) was bounded accordingly. We need to prove \( \lim_{{{\text{t}} \to \infty }} \left| {\text{s}} \right| = 0 \) to imply that \( \lim_{{{\text{t}} \to \infty }} \left| {{\text{e}}({\text{t}})} \right| = 0 \) and establish an asymptotic convergence. Suppose we chose variable \( \upeta_{\text{d}} > 0 \), then Eq. (43) is given as follows:

$$ \dot{V} \le - |\upomega||s| -\upeta_{\Delta } |s| \le - \eta_{d} |s| $$
(44)

with \( {{\upeta }}_{\text{d}} = ({{\upeta }}_{\Delta } + \left|\upomega \right|) \).

Integrating the above equation with respect to time, it yields:

$$ \int\limits_{0}^{t} {|s(\tau )|d\tau } \le \frac{1}{{\eta_{d} }}[V(0) - V(t)] $$
(45)

\( V(0) \) is bounded, and \( V(t) \) is non-increasing and bounded. Hence, we find that the sliding surface error \( {\text{s}}({\mathbf{e}}) \) is bounded, implying that \( s \in {\text{L}}_{\infty } \) [21]. With the use of Barbalat’s lemma [1], \( {\text{s}}({\mathbf{e}}) \) will converge to zero as \( {\text{t}} \to \infty \). This lemma also implies that \( \lim_{{{\text{t}} \to \infty }} \left| {{\text{e}}({\text{t}})} \right| = 0 \). Thus, the designed system is stable, and the error will asymptotically converge to zero. Therefore, the stability of our developed IT2FPISMC is guaranteed.

4 Experimental Results

4.1 Contour Planning

Contour planning plays an important role in the control of a precise XY table. The mathematical NURBS method was used herein to generate the curve trajectory. The general form of the NURBS curve interpolator can be expressed as follows:

$$ C\left( p \right) = \sum\limits_{i = 0}^{\text{I}} {R_{{i,k_{d} }} \left( p \right)} V_{i} = \frac{{\sum\nolimits_{i = 0}^{\text{I}} {N_{{i,k_{d} }} \left( p \right)w_{i} V_{i} } }}{{\sum\nolimits_{i = 0}^{\text{I}} {N_{{i,k_{d} }} \left( p \right)w_{i} } }} = \frac{A\left( p \right)}{w\left( p \right)} $$
(46)
$$ R_{i,k} \left( u \right) = \frac{{N_{{i,k_{d} }} \left( p \right)w_{i} }}{{\sum\nolimits_{i = 0}^{\text{I}} {N_{{i,k_{d} }} \left( p \right)w_{i} } }} $$
(47)

where {\( {\text{V}}_{\text{i}} \)} denotes the control points; {\( {\text{w}}_{\text{i}} \)} denotes the weights of {\( {\text{V}}_{\text{i}} \)}; {\( {\text{w}}_{\rm i} {\text{V}}_{\rm i} \)} denotes the weighted control points; {\( {\text{A}}\left( {\text{p}} \right) \)} is the weighted B-spline; {\( {\text{w}}\left( {\text{p}} \right) \)} is the weighting function; \( {\text{k}}_{\text{d}} \) is the degree of the NURBS curve; and \( ( {\text{I}} + 1 ) \) is the number of control point. {\( {\text{N}}_{{{\text{i}},{\text{k}}_{\text{d}} }} \left( {\text{p}} \right) \)} is the \( {\text{k}}_{\text{d}}^{\text{th}} \)-degree B-spline basis function, and {\( {\text{R}}_{{{\text{i}},{\text{k}}_{\text{d}} }} \left( {\text{p}} \right) \)} is the rational B-spline basis function. The \( {\text{k}}_{\text{d}}^{\text{th}} \)-degree B-spline basis function can be expressed as follows:

$$ N_{i,0} \left( p \right) = \left\{ {\begin{array}{*{20}l} 1 \hfill & {for\;p_{1} \le p \le p_{i + 1} } \hfill \\ 0 \hfill & {otherwise} \hfill \\ \end{array} } \right. $$
(48)
$$ N_{{i,k_{d} }} \left( p \right) = \frac{{\left( {p - p_{i} } \right)}}{{\left( {p_{{i + k_{d} - 1}} - p_{i} } \right)_{{}}^{{}} }}N_{{i,k_{d} - 1}} \left( p \right) + \frac{{\left( {p_{{i + k_{d} }} - p} \right)}}{{\left( {p_{{i + k_{d} }} - p_{i + 1} } \right)_{{}}^{{}} }}N_{{i + 1,k_{d} - 1}} \left( p \right)\quad {\text{i}} = 0,1,2, \ldots ,{\text{I}} $$
(49)

where \( {\mathbf{P}} = \left\{ {{\text{p}}_{0} ,{\text{p}}_{1} , \ldots ,{\text{p}}_{{{\text{I}} + {\text{k}}_{\text{d}} }} } \right\} \) represents the knot vector.

Four contour shapes were applied for this proposed adaptive IT2FPISMC control system, namely circular, bowknot, heart, and star curves. To generate these contours, the degree of the NURBS curve \( {\text{k}}_{\text{d}} \), control points \( {\mathbf{V}} \), knot vectors \( {\mathbf{P}} \), and weights of the NURBS curve \( {\mathbf{w}} \) are expressed as follows:

  1. 1.

    Circular contour: The parameters of the NURBS curve are set as follows:

    $$ {\text{k}}_{\text{d}} = 2 $$
    (50)
    $$ {\mathbf{V}} = [V_{0} ,V_{1} ,V_{2} ,V_{3} ,V_{4} ,V_{5} ,V_{6} ] = [(2.5,0),(2.5,2.5),( - 2.5,2.5),( - 2.5,0),( - 2.5, - 2.5),(2.5, - 2.5),(2.5,0)]\;({\text{unit}}:{\text{ cm}},{\text{ cm}}) $$
    (51)
    $$ {\mathbf{P}} = [P_{0} ,P_{1} ,P_{2} ,P_{3} ,P_{4} ,P_{5} ,P_{6} ,P_{7} ,P_{8} ,P_{9} ] = [0,0,0,0.25,0.5,0.5,0.75,1,1,1] $$
    (52)
    $$ {\mathbf{w}} = \left[ {w_{0} ,w_{1} ,w_{2} ,w_{3} ,w_{4} ,w_{5} ,w_{6} } \right] = [1,0.5,0.5,1,0.5,0.5,1] $$
    (53)
  2. 2.

    Bowknot contour: The parameters of the NURBS curve are set as follows:

    $$ {\text{k}}_{\text{d}} = 2 $$
    (54)
    $$ {\mathbf{V}} = [V_{0} ,V_{1} ,V_{2} ,V_{3} ,V_{4} ,V_{5} ,V_{6} ] = [(0,0),( - 1.5, - 1.5),( - 1.5,1.5),(0,0),(1.5, - 1.5),(1.5,1.5),(0,0)]\quad ({\text{unit}}:{\text{ cm}},{\text{ cm}}) $$
    (55)
    $$ {\mathbf{P}} = [P_{0} ,P_{1} ,P_{2} ,P_{3} ,P_{4} ,P_{5} ,P_{6} ,P_{7} ,P_{8} ,P_{9} ] = [0,0,0,0.25,0.5,0.5,0.75,1,1,1] $$
    (56)
    $$ {\mathbf{w}} = \left[ {w_{0} ,w_{1} ,w_{2} ,w_{3} ,w_{4} ,w_{5} ,w_{6} } \right] = [1,2.5,2.5,1,2.5,2.5,1] $$
    (57)
  3. 3.

    Heart contour: The parameters of the NURBS curve are set as follows:

    $$ {\text{k}}_{\text{d}} = 2 $$
    (58)
    $$ {\mathbf{V}} = [V_{0} ,V_{1} ,V_{2} ,V_{3} ,V_{4} ,V_{5} ,V_{6} ] = [(0,0),( - 3,2),( - 2,5),(0,3.6),(2,5),(3,1),(0,0)]\quad ({\text{unit:}}\;{\text{cm, cm}}) $$
    (59)
    $$ {\mathbf{P}} = [P_{0} ,P_{1} ,P_{2} ,P_{3} ,P_{4} ,P_{5} ,P_{6} ,P_{7} ,P_{8} ,P_{9} ] = [0,0,0,0.25,0.5,0.5,0.75,1,1,1] $$
    (60)
    $$ {\mathbf{w}} = \left[ {w_{0} ,w_{1} ,w_{2} ,w_{3} ,w_{4} ,w_{5} ,w_{6} } \right] = [1,1,1,1,1,1,1] $$
    (61)
  4. 4.

    Star contour: The parameters of the NURBS curve are set as follows:

    $$ {\text{k}}_{\text{d}} = 2 $$
    (62)
    $$ \begin{aligned} {\mathbf{V}} & = [V_{0} ,V_{1} ,V_{2} ,V_{3} ,V_{4} ,V_{5} ,V_{6} ,V_{7} ,V_{8} ,V_{9} ,V_{10} ,V_{11} ,V_{12} ] \\ & = [(0,6),( - 0.5,6),( - 1.5,4),( - 4,4),( - 2,2),( - 2.5,0),(0,1.5), \\ & \quad (2.5,0),(2,2),(4,4)(1.5,4),(0.5,6),(0,6)]\quad ({\text{unit}}:{\text{ cm}},{\text{ cm}}) \\ \end{aligned} $$
    (63)
    $$ {\mathbf{P}} = [P_{0} ,P_{1} ,P_{2} ,P_{3} ,P_{4} ,P_{5} ,P_{6} ,P_{7} ,P_{8} ,P_{9} ,P_{10} ,P_{11} ,P_{12} ,P_{13} ,P_{14} ] = [0,0,0,0.1,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.8,1,1,1] $$
    (64)
    $$ {\mathbf{w}} = \left[ {w_{0} ,w_{1} ,w_{2} ,w_{3} ,w_{4} ,w_{5} ,w_{6} ,w_{7} ,w_{8} ,w_{9} ,w_{10} ,w_{11} ,w_{12} } \right] = [1,1,1,1,1,1,1,1,1,1,1,1,1] $$
    (65)

    Figure 4a–d depict the desired contours of the circle, bowknot, heart, and star, respectively, based on the abovementioned parameter setting.

    Fig. 4
    figure 4

    The designed NURBS curves, a circular contour, b bowknot contour, c heart contour, and d star contour

4.2 Parameter Setting and Performance Measurement

The experiments were conducted to fulfill the performances of the adaptive IT2FPISMC control. The contour error is the difference between the desired contour and the real contour. The average tracking error (ATE) \( {\text{E}}_{\text{m}} \) can be defined as follows:

$$ E_{m} = \sum\limits_{k = 1}^{K} {\frac{E(k)}{n}} $$
(66)

with \( {\text{E}}({\text{k}}) = \sqrt {{\text{e}}_{\text{x}}^{2} ({\text{k}}) + {\text{e}}_{\text{y}}^{2} ({\text{k}})} \), where \( {\text{e}}_{\text{x}}^{{}} ({\text{k}}) \) is the tracking error in the x-axis; \( {\text{e}}_{\text{y}}^{{}} ({\text{k}}) \) is the tracking error in the y-axis; and \( {\text{K}} \) is the total number of contour points. The tracking error standard deviation (TESD), \( {\text{E}}_{\text{STD}} \), can be written as follows:

$$ E_{\text{STD}} = \sqrt {\frac{{\sum\nolimits_{k = 1}^{K} {(E(k) - {\text{E}}_{m} )^{2} } }}{K}} $$
(67)

The ATE is used to compare the tracking trajectory performance, whereas the TESD is used to measure the oscillation of the contour tracking. Three types of control algorithms are compared herein: (a) the conventional PID control method, (b) the conventional IT2FSMC method with sign function, and (c) the proposed IT2FPISMC method. The membership functions for the fuzzy controllers \( {\hat{\text{f}(}}{\mathbf{x}} ) \) and \( \hat{g} ({\mathbf{x}} ) \) are designed as follows:

$$ \begin{aligned} \overline{u}_{{\tilde{X}_{1}^{n} }} (x_{i} ) & = exp[ - ((x_{i} + \pi /12)/(\pi /18))^{2} ],\quad \underline{u}_{{\tilde{X}_{1}^{n} }} (x_{i} ) = a \cdot exp[ - ((x_{i} + \pi /12)/(\pi /24))^{2} ] \\ \overline{u}_{{\tilde{X}_{2}^{n} }} (x_{i} ) & = exp[ - ((x_{i} + \pi /6)/(\pi /18))^{2} ],\quad \underline{u}_{{\tilde{X}_{2}^{n} }} (x_{i} ) = a \cdot exp[ - ((x_{i} + \pi /6)/(\pi /24))^{2} ] \\ \overline{u}_{{\tilde{X}_{3}^{n} }} (x_{i} ) & = exp[ - ((x_{i} )/(\pi /18))^{2} ],\quad \underline{u}_{{\tilde{X}_{3}^{n} }} (x_{i} ) = a \cdot exp[ - ((x_{i} )/(\pi /24))^{2} ], \\ \overline{u}_{{\tilde{X}_{4}^{n} }} (x_{i} ) & = exp[ - ((x_{i} - \pi /6)/(\pi /18))^{2} ],\quad \underline{u}_{{\tilde{X}_{4}^{n} }} (x_{i} ) = a \cdot exp[ - ((x_{i} - \pi /6)/(\pi /24))^{2} ] \\ \overline{u}_{{\tilde{X}_{5}^{n} }} (x_{i} ) & = exp[ - ((x_{i} - \pi /12)/(\pi /18))^{2} ],\quad \underline{u}_{{\tilde{X}_{5}^{n} }} (x_{i} ) = a \cdot exp[ - ((x_{i} - \pi /12)/(\pi /24))^{2} ], \\ \end{aligned} $$

with \( a = \left\{ {\begin{array}{*{20}c} {0.8} & {{\text{i}} = 1} \\ {0.5} & {{\text{i}} = 2} \\ \end{array} } \right. \), where \( {\text{x}}_{1} \) and \( {\text{x}}_{2} \) are the position and the velocity variables, respectively. The initial state was selected as \( {\mathbf{x}}(0) = [ {\text{x}}_{ 1} ( 0 ) , {\text{x}}_{ 2} ( 0 ) ]^{\text{T}} = \left[ {1,0} \right]^{\text{T}} \). We set all initial values of \( {\varvec{\uptheta}}_{\text{fl}} (0) \), \( {\varvec{\uptheta}}_{\text{fr}} (0) \), \( {\varvec{\uptheta}}_{\text{gl}} (0) \), and \( {\varvec{\uptheta}}_{\text{gr}} (0) \) to be 0.1 and \( {\varvec{\uptheta}}_{\text{p}} (0) \) to be \( [ 0. 0 2 , 0. 0 4 ]^{\text{T}} \). The 25 adjusted variables existed in these regressive vectors. The sampling frequency of our IT2FPISMC system was 1 kHz for the position loop.

4.3 Experimentation

The proposed control algorithms in the experiments were realized and implemented. A platform with 1 kHz sample frequency was applied for the encoder interface and control algorithm execution. The system read the position information of the XY stage from the optical encoder sensors. The tracking errors and their derivatives were then computed. The control commands according to our proposed IT2FPISMC algorithm were calculated and sent to the servo drive by two DAC interfaces. Table 1 shows the parameter settings used for the x- and y-axes in the following experiments. These parameters were determined by empirical rules to achieve a better transient and steady-state response in the experimentation condition considering the stability requirement. The tracking performances are illustrated as follows:

Table 1 Experimental parameters
  1. 1.

    Circular contour It shows the experimental results of the proposed IT2FPISMC controller for the circle contour in Fig. 5. The total control point was seven. Figure 4a presents the reference trajectory. Figure 5a, b illustrate the x- and y-axis direction responses, respectively. Figure 5c, d depict the x- and y-axis tracking errors. The stage position of each axis can precisely track the desired command. Figure 5e illustrates the tracking responses of the motion trajectory of the two-dimensional circular contour. Figure 6a–e show the experimental results of the conventional IT2FSMC method with sign function. The displacement errors can be effectively reduced and lie within 30 µm as the proposed control method was being developed. The ATE of our proposed scheme was 22.346 µm, and the TESD was 4.632 µm.

    Fig. 5
    figure 5

    Experimental results obtained using IT2FPISMC to control the two-axis stage. a X-axis direction response, b Y-axis direction response, c X-axis position tracking error, d Y-axis position tracking error, and e circular trajectory

    Fig. 6
    figure 6

    Experimental results obtained using IT2FSMC to control the two-axis stage. a X-axis direction response, b Y-axis direction response, c X-axis position tracking error, d Y-axis position tracking error, and e circular trajectory

  2. 2.

    Bowknot contour We selected seven control points in the bowknot contour. Figure 4b shows the corresponding tracking trajectory. Figure 7a–e present the experiment results of the XY stage system for the IT2FPISMC structure, including tracking responses, associated tracking errors, and bowknot trajectory. These results indicated that both axes exhibited small error responses, and the tracking performances can be guaranteed. The tracking contours were close to the reference paths, and the displacement errors were significantly reduced in the tracking process. Figure 8a–e show the experimental results of the conventional IT2FSMC method with sign function for bowknot trajectory. The ATE was 15.956 µm, and the associated TESD for the bowknot curve was 12.132 µm. Our proposed scheme had a favorable accuracy, and the maximum position error can be controlled within 50 µm.

    Fig. 7
    figure 7

    Experimental results obtained using IT2FPISMC to control the two-axis stage. a X-axis direction response, b Y-axis direction response, c X-axis position tracking error, d Y-axis position tracking error, and e bowknot curve trajectory

    Fig. 8
    figure 8

    Experimental results obtained using IT2FSMC to control the two-axis stage. a X-axis direction response, b Y-axis direction response, c X-axis position tracking error, d Y-axis position tracking error, and e bowknot curve trajectory

  3. 3.

    Heart contour The total control point in the heart contour was seven. Figure 4c shows the associated trajectory. The tracking performances, tracking errors, and tracking trajectory for the x- and y-axes are demonstrated in Fig. 9a–e, respectively. The performances of the transient and steady responses illustrated the robustness of the proposed structure under parameter uncertainties and external disturbances. Figure 10a–e show the experimental results of the conventional IT2FSMC method with sign function for heart contour. The ATE of our proposed scheme was 21.539 µm, while the TESD for the heart contour was 7.846 µm.

    Fig. 9
    figure 9

    Experimental results obtained using IT2FPISMC to control the two-axis stage. a X-axis direction response, b Y-axis direction response, c X-axis position tracking error, d Y-axis position tracking error, and e heart curve trajectory

    Fig. 10
    figure 10

    Experimental results obtained using IT2FSMC to control the two-axis stage. a X-axis direction response, b Y-axis direction response, c X-axis position tracking error, d Y-axis position tracking error, and e heart curve trajectory

  4. 4.

    Star trajectory We designed the total control point as 13. Figure 4d shows the reference outline. Figure 11a–e show the tracking responses of the position displacement, tracking error, and motion trajectory in the star contour, respectively. The proposed adaptive structure can handle the model uncertainty and alleviate the chattering phenomenon. Figure 12a–e show the experimental results of the conventional IT2FSMC method with sign function for star trajectory. The ATE of our proposed method was 15.350 µm, and the TESD was 6.085 µm. The proposed controller can guarantee the asymptotic stability and exhibit a better tracking capability.

Table 2 shows both the tracking errors of our IT2FPISMC method and those of the traditional PID and IT2FSMC methods. The proposed IT2FPISMC method demonstrated more accurate performances, showing a 21.33% improvement in the ATE and a 34.64% improvement in the TESD compared with the conventional IT2FSMC method. These results conclude that the proposed IT2FPISMC system achieved the lowest ATE and TESD tracking errors. Our proposed structure was robust with respect to unmodeled dynamics and external disturbances for different reference contours. In summary, the IT2FPISMC approach achieves the desired tracking performances while ensuring the robustness of the precision system (Figs. 5, 7, 9, 11).

Table 2 Experimental results of contour tracking errors
Fig. 11
figure 11

Experimental results obtained using IT2FPISMC to control the two-axis stage. a X-axis direction response, b Y-axis direction response, c X-axis position tracking error, d Y-axis position tracking error, and e star curve trajectory

Fig. 12
figure 12

Experimental results obtained using IT2FSMC to control the two-axis stage. a X-axis direction response, b Y-axis direction response, c X-axis position tracking error, d Y-axis position tracking error, and e star curve trajectory

5 Conclusion

The development of an IT2FPISMC control system for tracking the various contours was successfully demonstrated in this research. A type-2 fuzzy control structure that can handle the rules and parameter uncertainties was designed to approximate the unknown nonlinear function in the industrial XY-driven motion stage. Moreover, the fuzzy PI sliding mode control was more robust against external disturbances and alleviated the chattering condition. The adjustable parameter vectors of the adaptive type-2 fuzzy controller can be adaptively tuned by the output feedback control law, and asymptotic stability was guaranteed based on the Lyapunov synthesis approach. The real-time NURBS interpolation was realized. Accordingly, four contour trajectories, namely circular contour, bowknot contour, heart contour, and star contour, were experimented to illustrate the effectiveness of the proposed system. The experimental results were obtained, showing that the indirect control IT2FPISMC method can deal with chattering and significantly alleviate the contour errors. On average, it can achieve 21.33% and 34.64% improvement of the ATE and the TESD, respectively, compared with the conventional IT2FSMC strategy. From the performance indices of the experimental results, the proposed scheme can achieve good control performance and superior robustness for the two-axis trajectory control with regard to model uncertainties and external disturbances. Therefore, our developed strategy can be easily realized and implemented for positioning systems.