1 Introduction

Industrial products are continually pushing for high quality and reductions in cycle times. As a result, the demand for a precision X–Y motion system is rapidly increasing in manufacturing and industrial tools, such as computer numerical control (CNC) machineries, printed circuit board equipment, laser/water jet cutting machines, and aerospace/automotive applications. The micrometer-level motion system development is becoming increasingly crucial in satisfying the requirements for high contouring accuracy and mass manufacturing of miniaturized functional products. Due to compact construction and relative low losses, the permanent magnet synchronous motor (PMSM) [6] is widely applied in industrial XY stage tools. The PMSM is the most widely used architecture, yet it has some disadvantages, such as reduced accuracy, a complex mechanical structure, difficult adjustments, and low reliability. Moreover, the servo performance of the two-axis motion stage is affected by nonlinear friction characteristics, backlash, unmodeled dynamics, and other time-varying uncertainties.

Various motion control techniques are applied in the XY stage and can be classified into self-tuning PID method [7], H optimization technique [8], repetitive control method [6], cross-coupled control [9], adaptive neural network control methods [10,11,12], sliding mode control techniques [13,14,15], and intelligent approaches [26,27,28,29,30]. Liu et al. presented the H-based precision motion system [8] for high-speed direct-drive positioning mechanisms. This system investigates a cascaded robust feedback control architecture, which includes an inner loop velocity controller, an outer position control, and an auto-tuning feedforward compensator. The contour control [9] presented an integral design method that includes contour error model, contour control effort distribution, and the cross-coupled control algorithm. An analysis of experimental results showed that the method improves contour precision in situations with small tracking errors with and without disturbance. However, the nonlinear friction and backlash effects occurred in the position system is the main obstacle to high-accuracy performance. Intelligent algorithms coupled with sliding mode-based methods [16,17,18,19,20] achieve outstanding performance by designing suitable adaptation rules rather than requiring expert experience. The fuzzy method is developed to extract linguistic control rules from experts and can cope with system parameter changes. Sliding mode control (SMC) is a robust scheme for controlling uncertain and nonlinear plants [3, 4]. The integration of fuzzy-based techniques and SMCs can be an important research focus in XY motion industrial applications [16, 17]. The SMC method [16], which can compensate for unmolded dynamics, was implemented on an XY parallel stage driven by piezoelectric actuators for accuracy tracking control. A velocity observer was adopted to estimate the feedback velocity from a measured position. A recurrent neural network-based SMC scheme [13] that uses a computed torque structure was designed for trajectory tracking; this scheme can cope with system uncertainty in a motion system. Sugeno-type adaptive fuzzy neural network [17] was employed in a nonlinear disturbance observer for two-axis precision motion control. The observer is applied to estimate lumped disturbance. However, the SMC inherits a discontinuous control action, and chattering occurs when the system operates near the sliding surface [18,19,20,21]. The adaptive fuzzy wavelet neural sliding mode controller [22] was proposed for the nonlinear systems. The adaptive PI controller is used to obtain the smooth control input. However, only numerical examples [18,19,20,21,22] are realized and provided to validate the proposed methods and results. The neural network learning adaptive robust controller [23, 24] was presented for the industrial linear motor stage because of its good tracking performance and disturbance rejection ability. This method is capable of parametric adaptation and neural network compensation for an actual dynamic permanent magnet linear synchronous motor stage under different external disturbances. The adaptive nonlinear disturbance observer (ANDO) [25] using the double-loop self-organizing recurrent wavelet neural network (DLSORWNN) and H control is developed to control a two-axis motion control system driven by two-permanent magnet linear synchronous motor (PMLSM) servo drives. This system is successful development and has a good dynamic performance of an X–Y table when uncertainties occur. The adaptive universe-based fuzzy control method [26, 27] was proposed to achieve global asymptotic model-free trajectory-independent tracking of a marine vehicle. Wang et al. [28,29,30] presented the universal adaptive fuzzy control scheme for practical tracking control of a class of nonlinear system with unknown dynamics. The above studies consistently verify that the adaptive and intelligent structures with nonlinear approximation ability can improve control performances.

In this research, the AFSMC strategy is proposed for precision trajectory tracking for the XY stage.

The AFSM method takes advantage of both SMC and fuzzy control to enhance the control performance. The unknown system functions are approximated using fuzzy systems and the fuzzy switching technique is applied to mitigate chattering. By replacing the switching part of traditional part of SMC with fuzzy controller, the chattering is attenuated. The projection algorithm is also employed for adaptive law to ensure the parameter boundaries. The system stability of the motion stage can be guaranteed by applying Lyapunov theory. The biaxial motion stage is tested with four contours, namely (1) star, (2) four-leaf, (3) window, and (4) circular reference contours. Simulation and experimental results demonstrate that the developed controller provides improved tracking performances with regard to model uncertainties.

This paper is organized as follows. The system architecture of XY stage is introduced in Sect. 2. The proposed AFSMC design is described in Sect. 3. Section 4 provides the simulation and experimental results. Lastly, briefly conclusion is given in Sect. 5.

2 System Architecture

The mechanical dynamic equation [10, 13] of the single-axis stage with the friction model is given by

$$ M_{i} \ddot{x}_{i} + B_{i} \dot{x}_{i} + F_{Li} + F_{fi} (v_{i} ) = F_{ei} $$
(1)

where \( i = x,y \)(x and y denote the axis), \( x_{i} \) is the platform displacement, \( M_{i} \) denotes the mass of the motion table, with \( M_{i} = M_{in} + \Delta M_{i} \), value \( M_{in} \) is the nominal value of \( M_{i} \) and \( \Delta M_{i} \) is the uncertainty of \( M_{i} \). \( B_{i} \) is the viscous friction coefficient, with \( B_{i} = B_{in} + \Delta B_{i} \), value \( B_{in} \) is the nominal value of \( B_{i} \), and \( \Delta B_{i} \) is the uncertainty of \( B_{i} \). \( F_{Li} \) is the external disturbance term, including loading and cross-coupled interference due to the two-axis mechanism in the stage. \( F_{fi} (v_{i} ) \) is the friction force, and \( v_{i} \) is the linear velocity of the X (Y-)-axis. \( F_{ei} \) is the electromagnet-driven force. Considering Coulomb friction, viscous friction, and Stribeck effect, the friction force can be formulated as follows:

$$ F_{fi} (v_{i} ) = F_{Ci} \text{sgn} (v_{i} ) + (F_{Si} - F_{Ci} )e^{{\left[ { - \left( {{{v_{i} } \mathord{\left/ {\vphantom {{v_{i} } {v_{Si} }}} \right. \kern-0pt} {v_{Si} }}} \right)^{2} } \right]}} \text{sgn} (v_{i} ) + K_{Vi} v_{i} $$
(2)

where \( F_{Si} \) denotes the static friction coefficient, \( F_{Ci} \) represents the Coulomb friction coefficient, \( v_{si} \) denotes the Stribeck velocity coefficient, \( K_{vi} \) represents the viscous friction coefficient, and \( \text{sgn} ( \cdot ) \) is the mathematical sign function. The mathematical model of the stator voltage equations [9,10,11,12, 23] in the d–q reference frame is given as:

$$ V_{qi} = R_{si} i_{qi} + \omega_{si}\Phi _{di} + L_{qi} \frac{{{\text{d}}i_{qi} }}{{{\text{d}}t}} $$
(3)
$$ V_{di} = R_{si} i_{di} - \omega_{si}\Phi _{qi} + L_{di} \frac{{{\text{d}}i_{di} }}{{{\text{d}}t}} $$
(4)

with

$$ \Phi _{qi} = L_{qi} i_{qi} ,\;\Phi _{di} = L_{di} i_{di} +\Phi _{fi} $$

where \( V_{qi} \), \( V_{di} \), \( i_{qi} \), and \( i_{di} \) are the dq-axis voltages and currents, respectively. \( R_{si} \) indicates the stator resistance,\( L_{di} \) and \( L_{qi} \) denote the d–q-axis stator inductance, respectively. \( \Phi _{fi} \) denotes the permanent magnet flux linkage, and \( \omega_{si} \) is the inverter frequency. The electromagnetic torque is given as

$$ T_{ei} = \frac{3}{2}P_{b} \left( {\Phi _{di} i_{qi} -\Phi _{qi} i_{di} } \right) $$
(5)

where \( P_{b} \) is number of pole pairs. The electromagnet-driven force [13] is expressed by

$$ F_{e} = K_{t} i_{q}^{{}} $$
(6)

where \( K_{t} \) is the force constant. The motion controls of X- and Y-axes are actuated separately, and all the subscripts i are neglected for simplicity in the following sections. The mechanical model of the XY table is rewritten as

$$ \ddot{x} = A_{n} \dot{x} + B_{n} F_{e} + C_{n} \left[ {F_{L} + F_{f} (v)} \right] $$
(7)

with

$$ A_{n} = - BM^{ - 1} ;\;B_{n} = M^{ - 1} ;\;C_{n} = - M^{ - 1} $$

where \( A_{n} \), \( B_{n} \), and \( C_{n} \) are the nominal parameters of the dynamic system. In practical conditions, the actual system model changes when the drive system operates under different environments. We consider the effects of load disturbance, parameter uncertainty, and cross-coupling interference here. The equivalent mechanical dynamics can be represented as

$$ \ddot{x} = (A_{n} + \Delta A_{n} )\dot{x} + (B_{n} + \Delta B_{n} )F_{e} + (C_{n} + \Delta C_{n} )\left[ {F_{L} + F_{f} (v)} \right] = A_{n} \dot{x} + B_{n} F_{e} + D_{a} $$
(8)

with

$$ D_{a} = \Delta A_{n} \dot{x} + \Delta B_{n} F_{e} + (C_{n} + \Delta C_{n} )\left[ {F_{L} + F_{f} (v)} \right] $$

where \( \Delta A_{n} \), \( \Delta B_{n} \), and \( \Delta C_{n} \) are the uncertainties of the mechanical system parameters, respectively. \( D_{a} \) denotes the system uncertainty, which is bounded.

The experimental setup for the implementation of the proposed X–Y stage system is depicted in Fig. 1a. In the study, our proposed control algorithm was implemented by MATLAB/Simulink tool on a Pentium G2030 computer. The control signals and feedback signals are processed by the digital/analog (D/A) converter card and encoder interface card, respectively. The sampling frequency used in the experimentation was set for 1 kHz and the controlled PMSM motor are 400 W. The developed stage system is 260 mm and 350 mm of travel in X- and Y-axes, respectively. Mercury II 5000 Series encoders are installed to provide the high-precision requirement in the position feedback loop. Figure 1b shows the drive system of the PMSM actuated stage. The system is implemented by using the AC servo drive Melservo-J2S-Super Series manufactured by Mitsubishi Co. The drive system can provide three operation modes, namely position control, speed control, and torque control modes, and is applicable to a wide range of fields, including precision positioning, smooth speed control of machine tools, industrial machines, line control, and tension control. Given that it considers system parameter uncertainty and external disturbances, including friction force, cross-coupling, and load effect, the XY stage equipment is a second-order nonlinear system in practical applications. The fuzzy SMC-type controller is designed to actuate the PMSM-driven system for precision motion control.

Fig. 1
figure 1

a Photograph of the two-axis PMSM-driven motion stage, b the AC servo drive system of the stage

3 Proposed AFSMC Method

Figure 2 illustrates the architecture of our proposed AFSMC for a single-axis motion system. The mathematic model of the PMSM-driven system in Eq. (8) is derived and rewritten as a general second-order dynamic system:

$$ \ddot{x} = f({\mathbf{x}}) + g({\mathbf{x}}) + d(t) $$
(9)
$$ y = x $$
(10)

where x is the stage X- or Y-axis displacement variable, and \( {\mathbf{x}} = \left[ {\begin{array}{*{20}c} {x_{1} } & {x_{2} } \\ \end{array} } \right]^{T} = \left[ {\begin{array}{*{20}c} x & {\dot{x}} \\ \end{array} } \right]^{T} \in R^{2} \) is the state vector of the system, which we assume to be available for measurement. We assume that the upper bound of the disturbance is D, i.e., \( \left| {d(t)} \right| \le D \). The control objective is to design a control law u so that the state x can track a desired reference trajectory ym in the presence of model uncertainty and external disturbance. The output tracking error is defined as \( e = y_{m} - y = y_{m} - x \), and the tracking error vector is \( {\mathbf{E}} = \left[ {e,\dot{e}} \right]^{T} = \left[ {e_{1} ,e_{2} } \right]^{T} \). The sliding surface is defined as

$$ s ({\mathbf{E}} )= - {\mathbf{K}}^{T} {\mathbf{E}} = - (k_{1} e + \dot{e}) $$
(11)

with

$$ {\mathbf{K}} = [k_{1} ,1]^{T} $$

where \( k_{1} \, \) is positive constant, \( {\mathbf{K}} \) is the coefficient vector of the Hurwitz polynomial. The continuous differentiable Lyapunov function is defined as

$$ V = \frac{1}{2}s{}^{2}({\mathbf{E}}) $$
(12)
Fig. 2
figure 2

Block diagram of the proposed AFSMC for nonlinear motion stage

The differential operator is used in Eq. (12), that is,

$$ \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{y}_{m} + \ddot{x}} \right) \\ \, & = s \cdot \left( { - k_{1} \dot{e} - \ddot{y}_{m} + f({\mathbf{x}}) + g({\mathbf{x}})u + d} \right) \\ \end{aligned} $$
(13)

If \( f({\mathbf{x}}) \) and \( g({\mathbf{x}}) \) are known in advance, then the ideal sliding control law \( u \) is defined as

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

with \( u{}_{\text{eq}}^{{}} = \frac{1}{{g({\mathbf{x}})}}\left[ { - f({\mathbf{x}}) + k_{1} e + \ddot{y}_{m}^{{}} } \right],\)\( u_{\text{sw}} = \frac{1}{{g({\mathbf{x}})}}u_{P} , \)\( u_{p} = \eta_{\Delta } \text{sgn} (s),\)\(\eta_{\Delta } = D + \eta , \)\( \text{sgn} (s) = \left\{ {\begin{array}{*{20}c} 1 & {\quad s > 0} \\ 0 & {\quad s = 0} \\ { - 1} & {\quad s < 0} \\ \end{array} } \right.\) , where \( u{}_{\text{eq}}^{{}} \) is the equivalent control input, \( u_{\text{sw}} \) is the hitting (switching) control input term, and \( \eta_{\Delta } \) and \( \eta \) are positive constants. The control law u above is substituted into Eq. (13); then,

$$ \begin{aligned} \dot{V} & = s \cdot \left( { - k_{1} \dot{e} - \ddot{y}_{m} + f({\mathbf{x}}) - f({\mathbf{x}}) + k_{1} e + \ddot{y}_{m}^{{}} - \eta_{\Delta } \text{sgn} (s) + d} \right) \\ \, & \le - \eta \left| s \right| \\ \end{aligned} $$
(15)

By using the control law, the state can always approach the sliding surface and hit it. In the actual system, the functions \( f({\mathbf{x}}) \) and \( g({\mathbf{x}}) \) are usually unknown. Therefore, applying the control law in Eq. (14) to the XY motion system is difficult. Thus, the switching control \( u_{\text{sw}} \) can lead to the chattering phenomenon, which is undesired in conventional SMC control. To solve these difficulties, the AFSM controller is constructed by introducing the fuzzy switching controller to overcome the mentioned challenges.

3.1 Fuzzy Inference System

The fuzzy method is applied to approximate the uncertain control law or an unknown system function [2, 5]. The estimating functions of \( f({\mathbf{x}}) \) and \( g({\mathbf{x}}) \) in Eq. (9) are introduced. The fuzzy approximator consists of a set of fuzzy IF–Then rules in which the lth rule is of the form

$$ R_{{}}^{l} :\;{\text{IF}}\;x_{1} \;{\text{is}}\;A_{1}^{l} ,\;{\text{and}}\;x_{2} \;{\text{is}}\;A_{2}^{l} \;{\text{THEN}}\;y_{\text{O}} \;{\text{is}}\;\theta^{\text{l}} ,\;{\text{for}}\;l = 1,2, \ldots ,M$$

where \( x_{1} \) and \( x_{2} \) are the input variables, and \( y_{O} \) is the output variable. \( (A_{1}^{l} ,A_{2}^{l} ) \) and \( \theta^{l} \) are the associated fuzzy inference sets, l is the rule index number, and M is the total number of rules. The fuzzy system with product inference engine, singleton fuzzier, Gaussian membership function, and center average defuzzifier is said to be a universal approximator and can be used as an adaptive fuzzy controller for nonlinear motion stage systems. With the design of a fuzzy system with singleton fuzzification, product inference, and a center average defuzzifier [2, 3], the outputs of the two fuzzy systems are

$$ \hat{f}({\mathbf{x}}|{\varvec{\uptheta}}_{f} )= {\varvec{\uptheta}}_{f}^{T} {{\varvec{\upxi}} {\mathbf{(x)}}} $$
(16)
$$ \hat{g}\left( {{\mathbf{x}}|{\varvec{\uptheta}}_{g} } \right) = {\varvec{\uptheta}}_{g}^{T} {{\varvec{\upxi}} {\mathbf{(x)}}} $$
(17)

with

$$ \mu_{{A_{i} }}^{{l_{i} }} (x_{i} ) = \exp \left[ { - {{(x_{i} - m_{i} )^{2} } \mathord{\left/ {\vphantom {{(x_{i} - m_{i} )^{2} } {\sigma_{i}^{2} }}} \right. \kern-0pt} {\sigma_{i}^{2} }}} \right]\quad {\text{for}}\;i\, = \,1, \, 2 $$

where \( {\varvec{\uptheta}}_{f}^{{}} \) and \( {\varvec{\uptheta}}_{g}^{{}} \) are the parameter vectors, \( {{\varvec{\upxi}} {\mathbf{(x)}}} \) is the regressive vector, and \( \mu_{{A_{i} }}^{{l_{i} }} \left( {x_{i} } \right) \) is the fuzzy membership function of the linguistic variable \( x_{i} \). \( m_{i} \) denotes the mean value, and \( \sigma_{i}^{{}} \) denotes the variance of Gaussian function.

3.2 Stability Analysis AFSMC method

The fuzzy systems \( \hat{f}\left( {{\mathbf{x}}|{\varvec{\uptheta}}_{f} } \right) \) and \( \hat{g}({\mathbf{x}}|{\varvec{\uptheta}}_{g} ) \) are designed to approximate system \( f({\mathbf{x}}|{\varvec{\uptheta}}_{f} ) \) and \( g({\mathbf{x}}|{\varvec{\uptheta}}_{g} ) \), respectively. The fuzzy system \( \hat{u}_{p} (s|{\varvec{\uptheta}}_{p} ) \) is used to approximate the switching control input \( u_{p} \). The adaptive control law [3, 4] can be represented as

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

with

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

where \( {\varvec{\uptheta}}_{p} \) is an adjustable parameter vector and \( {\varvec{\uppsi }}(s) \) is the regression vector. The adaptation control law can be designed and selected as follows:

$$ {\dot{\varvec{\uptheta }}}_{f} = r_{1} s{\varvec{\upxi}}({\mathbf{x}}) $$
(19)
$$ {\dot{\varvec{\uptheta }}}_{g} = r_{2} s{\varvec{\upxi}}({\mathbf{x}})u $$
(20)
$$ {\dot{\varvec{\uptheta }}}_{p} = r_{3} s{\varvec{\uppsi}}(s) $$
(21)

where r1, r2, and r3 are the positive adjusting constants. The soft fuzzy switch \( \hat{u}_{p} \) is used to replace the crisp switching \( u_{P} \) to avoid the chattering.

To ensure that the adaptive parameters are bounded, the above control law can be modified by the projection algorithm [3, 4]. The parameters \( M_{f} \), \( M_{g} \), and \( M_{p} \) are the pre-specified boundaries of the estimated parameters of \( {\varvec{\uptheta}}_{f} \), \( {\varvec{\uptheta}}_{g} \), and \( {\varvec{\uptheta}}_{p} \), respectively. The vector-modified methods are represented as

  1. 1.

    For vector \( {\varvec{\uptheta}}_{f} \), the following adaptive law can be utilized:

    $$ {\dot{\varvec{\uptheta }}}_{f} = \left\{ {\begin{array}{*{20}l} {r_{1} s{\varvec{\upxi }}({\mathbf{x}})} \hfill & {{\text{ }}(|\theta {}_{f}| < M_{f} )\;{\text{ or}}\;(|{\varvec{\uptheta }}{}_{f}| = M_{f} \;{\text{and}}\;s{\varvec{\uptheta }}_{f}^{T} {\varvec{\upxi }}({\mathbf{x}}){\text{ }} \le {\text{ }}0{\text{ }})} \hfill \\ {P_{f} \left[ {r_{1} s{\varvec{\upxi }}({\mathbf{x}})} \right]} \hfill & {(|{\varvec{\uptheta }}{}_{f}| = M_{f} \;{\text{and}}\;s{\varvec{\uptheta }}_{f}^{T} {\varvec{\upxi }}({\mathbf{x}}){\text{ }} > {\text{ }}0{\text{ }})} \hfill \\ \end{array} } \right. $$
    (22)

    with

    $$ P_{f} \left[ {r_{1} s{{\varvec{\upxi}} {\mathbf{(x)}}}} \right] = r_{1} s{{\varvec{\upxi}} {\mathbf{(x)}}} - r_{1} s{\varvec{\uptheta}}_{{\mathbf{f}}} {\varvec{\uptheta}}_{{\mathbf{f}}}^{{\mathbf{T}}} {\varvec{\upxi}}({\mathbf{x}})|{\varvec{\uptheta}}_{{\mathbf{f}}} |^{ - 2} $$

    where \( M_{f} \) is the selected boundary for the vector \( {\varvec{\uptheta}}_{f} \) and \( P_{f} \left[ \bullet \right] \) is the projection operation.

  2. 2.

    For vector \( {\varvec{\uptheta}}_{g} \), if the element \( {\varvec{\uptheta}}_{gi} = \varepsilon \) occurs, then the following adaptive law can be used:

    $$ {\dot{\varvec{\uptheta }}}_{gi} = \left\{ {\begin{array}{*{20}l} {r_{2} s{\varvec{\upxi}}({\mathbf{x)}}u(t)} \hfill & {\quad (s{\varvec{\upxi}}_{\text{i}} ({\mathbf{x}} )u < { 0 )}} \hfill \\ 0 \hfill & {\quad (s{\varvec{\upxi}}_{\text{i}} ({\mathbf{x}} )u \, \ge \, 0{ )}} \hfill \\ \end{array} } \right. $$
    (23)

    where \( {\varvec{\upxi}}_{\text{i}} ({\mathbf{x}} ) \) is the ith element in \( {\varvec{\upxi}} ({\mathbf{x}} ) \). Otherwise, the following adaptive law can be adopted:

    $$ {\dot{\varvec{\uptheta }}}_{g} = \left\{ {\begin{array}{*{20}l} {r_{2} s{\varvec{\upxi }}({\mathbf{x}})u} \hfill & {(|\theta {}_{g}| < M_{g} )\;{\text{or}}\;(|\theta {}_{g}| = M_{g} \;{\text{and}}\;{\text{ }}s\theta _{f}^{T} {\varvec{\upxi }}({\mathbf{x}})u{\text{ }} \le {\text{ }}0{\text{ }})} \hfill \\ {P_{g} \left[ {r_{2} s{\varvec{\upxi }}({\mathbf{x}})u} \right]} \hfill & {(|\theta {}_{g}| = M_{g} \;{\text{and}}\;{\text{ }}s\theta _{g}^{T} {\varvec{\upxi }}({\mathbf{x}})u{\text{ }} > {\text{ }}0{\text{ }})} \hfill \\ \end{array} } \right. $$
    (24)

    with

    $$ P_{g} \left[ {r_{2} s{\varvec{\upxi}}({\mathbf{x}})u(t)} \right] = r_{2} s{\varvec{\upxi}}({\mathbf{x}})u - r_{2} s\theta_{g} \theta_{g}^{T} {\varvec{\upxi}}({\mathbf{x}})u|\theta_{g} |^{ - 2} $$

    where \( M_{g} \) is the selected boundary for the vector \( {\varvec{\uptheta}}_{g} \).

  3. 3.

    For vector \( {\varvec{\uptheta}}_{p} \), the following adaptive law can be applied:

    $$ {\dot{\varvec{\uptheta }}}_{p} = \left\{ {\begin{array}{*{20}l} {r_{3} s{{\varvec{\uppsi}}}(s)} \hfill & {(|{\varvec{\uptheta }}{}_{p}| < M_{p} ){\text{ }}\;{\text{or}}\;{\text{ }}(|{\varvec{\uptheta }}{}_{p}| = M_{p} \;{\text{and}}\;s{\varvec{\uptheta }}_{p}^{T} {{\varvec{\uppsi}}}(s){\text{ }} \ge {\text{ }}0{\text{ }})} \hfill \\ {P_{p} \left[ {r_{3} s{{\varvec{\uppsi}}}(s)} \right]} \hfill & {(|{\varvec{\uptheta }}{}_{p}| = M_{p} \;{\text{and}}\;s{\varvec{\uptheta }}_{p}^{T} {{\varvec{\uppsi}}}(s){\text{ }} < {\text{ }}0{\text{ }})} \hfill \\ \end{array} } \right. $$
    (25)

    with

    $$ P_{p} \left[ {r_{3} s{{\varvec{\uppsi}} {\mathbf{(s})}}} \right] = r_{3} s{{\varvec{\uppsi}} {\mathbf{(s})}} - r_{3} s{\varvec{\uptheta}}_{{\mathbf{p}}} {\varvec{\uptheta}}_{{\mathbf{p}}}^{{\mathbf{T}}} {{\varvec{\uppsi}} {\mathbf{(s})}}|{\varvec{\uptheta}}_{{\mathbf{p}}} |^{ - 2} $$

    where \( M_{p} \) is the selected boundary for the vector \( {\varvec{\uptheta}}_{p} \). We derive and analyze the system stability as follows:

Theorem 1

Consider the class of nonlinear motion system of the form Eqs. (9) and (10). The control law (14) is applied to the system, the functions \( \hat{f} ({\mathbf{x}} ) \), \( \hat{g} ({\mathbf{x}} ) \), and\( \hat{u}_{p} (s) \)are estimated by adaptive models, and the parameter vectors are adapted by the adaptive laws (19), (20), and (21). The closed-loop system signals are bounded, and the tracking error converges to zero asymptotically.

Proof

The optimal parameters \( {\varvec{\uptheta}}_{f}^{*} \), \( {\varvec{\uptheta}}_{g}^{*} \), and \( {\varvec{\uptheta}}_{p}^{*} \) are defined as follows:

$$ {\varvec{\uptheta}}_{f}^{*} = \arg \mathop {\hbox{min} }\limits_{{{\varvec{\uptheta}}_{f} \in\Omega _{f} }} \left[ {\mathop {\sup }\limits_{{\text{x} \in R^{2} }} \left| {f({\mathbf{x}}) - \hat{f}({\mathbf{x}}|{\varvec{\uptheta}}_{f} )} \right|} \right] $$
(26)
$$ \uptheta_{g}^{*} = \arg \mathop {\hbox{min} }\limits_{{\uptheta{}_{g} \in {\varvec{\Omega}}g}} \left[ {\mathop {\sup }\limits_{{\text{x} \in R^{2} }} \left| {g({\mathbf{x}}) - \hat{g}({\mathbf{x}}|{\varvec{\uptheta}}_{g} )} \right|} \right] $$
(27)
$$ {\varvec{\uptheta}}_{p}^{*} = \arg \mathop {\hbox{min} }\limits_{{{\varvec{\uptheta}}_{p} \in \varOmega_{p} }} \left[ {\mathop {\sup }\limits_{s \in R} |u_{p} - \hat{u}_{p} (s|\mathop {{\varvec{\uptheta}}_{p} }\limits_{{}} )|} \right] $$
(28)

where \( \Omega _{f} \), \( \Omega _{g} \), and \( \Omega _{p} \) are the constraint sets for vectors \( {\varvec{\uptheta}}_{f} \), \( {\varvec{\uptheta}}_{g} \), and \( {\varvec{\uptheta}}_{p} \), respectively. The sets of \( {\varvec{\uptheta}}_{f} \), \( {\varvec{\uptheta}}_{g} \), and \( {\varvec{\uptheta}}_{p} \) are defined as follows:

$$ \Omega _{f} = \{ {\varvec{\uptheta}}_{f} \in {\mathbf{R}}^{n} | { |}{\varvec{\uptheta}}_{{\mathbf{f}}} | \, \le \, M_{f} {\text{ \} }} $$
(29)
$$ \Omega _{g} = \{ {\varvec{\uptheta}}_{g} \in {\mathbf{R}}^{n} { |}0 < \varepsilon \le \left| {{\varvec{\uptheta}}_{g} } \right| \, \le \, M_{g} {\text{\} }} $$
(30)
$$ \Omega _{p} = \{ {\varvec{\uptheta}}_{p} \in {\mathbf{R}}^{m} | { |}{\varvec{\uptheta}}_{p} | \, \le \, M_{p} {\text{\} }} $$
(31)

where the parameters \( M_{f} \), \( \varepsilon \), \( M_{g} \), and \( M_{p} \) are the pre-specified values for estimating the bound. Also, the vectors \( {\varvec{\uptheta}}_{f} \), \( {\varvec{\uptheta}}_{g} \), and \( {\varvec{\uptheta}}_{p} \) are assumed to not approach the upper boundaries. We can define the minimum approximation error. It is given as

$$ \omega = f({\mathbf{x}}) - \hat{f}(\left. {\mathbf{x}} \right|{\varvec{\uptheta}}_{f}^{ * } ) + \left( {g({\mathbf{x}}) - \hat{g}(\left. {\mathbf{x}} \right|{\varvec{\uptheta}}_{g}^{ * } )} \right)u $$
(32)

The time derivative of the function \( s(t) \) then becomes

$$ \begin{aligned} \dot{s} & = - k_{1} \dot{e} + \ddot{x} - \ddot{y}_{m} = - k_{1} \dot{e} + f({\mathbf{x}}) + g({\mathbf{x}})u + d(t) - \ddot{y}_{m} \\ \, & = - k_{1} \dot{e} + f({\mathbf{x}}) - \hat{f}({\mathbf{x}}|{\varvec{\uptheta}}_{f} ) + (g({\mathbf{x}}) - \hat{g}({\mathbf{x}}|{\varvec{\uptheta}}_{g} ))u + k_{1} \dot{e} + \ddot{y}_{m} - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p} ) + d(t) - \ddot{y}_{m} \\ \, & = \hat{f}({\mathbf{x}}|{\varvec{\uptheta}}_{f}^{*} ) - \hat{f}({\mathbf{x}}|{\varvec{\uptheta}}_{f} ) - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p} ) + \left( {\hat{g}({\mathbf{x}}|{\varvec{\uptheta}}_{g}^{*} ) - \hat{g}({\mathbf{x}}|{\varvec{\uptheta}}_{g} )} \right)u + d(t) + \omega + \hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{ * } ) - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{ * } ) \\ \, & = {\varvec{\upvarphi }}_{f}^{T} {{\varvec{\upxi}} {\mathbf{(x)}}} + {\varvec{\upvarphi }}_{g}^{T} {{\varvec{\upxi}} {\mathbf{(x)}}}u(t) + {\varvec{\upvarphi }}_{p}^{T} {{\varvec{\uppsi}} {\mathbf{(s})}} + d(t) + \omega - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{ * } ) \\ \end{aligned} $$
(33)

with \( {\varvec{\upvarphi }}_{f} = {\varvec{\uptheta}}_{f}^{*} - {\varvec{\uptheta}}_{f} \), \( {\varvec{\upvarphi }}_{g} = {\varvec{\uptheta}}_{g}^{*} - {\varvec{\uptheta}}_{g} \), \( {\varvec{\upvarphi }}_{p} = {\varvec{\uptheta}}_{p}^{*} - {\varvec{\uptheta}}_{p} \)

The Lyapunov function candidate is defined as follows:

$$ V = \frac{1}{2}\left( {s^{2} + \frac{1}{{r_{1} }}{\varvec{\upvarphi }}_{f}^{T} {\varvec{\upvarphi }}_{f} + \frac{1}{{r_{2} }}{\varvec{\upvarphi }}_{g}^{T} {\varvec{\upvarphi }}_{g} + \frac{1}{{r_{3} }}{\varvec{\upvarphi }}_{p}^{T} {\varvec{\upvarphi }}_{p} } \right) $$
(34)

The differential operator is used and it becomes

$$ \begin{aligned} \dot{V} & = s\dot{s} + \frac{1}{{r_{1} }}{\varvec{\upvarphi }}_{f}^{T} {\dot{\varvec{\upvarphi }}}_{f} + \frac{1}{{r_{2} }}{\varvec{\upvarphi }}_{g}^{T} {\dot{\varvec{\upvarphi }}}_{g} + + \frac{1}{{r_{3} }}{\varvec{\upvarphi }}_{p}^{T} {\dot{\varvec{\upvarphi }}}_{p} \\ \, & = s{\varvec{\upvarphi }}_{f}^{T} {{\varvec{\upxi}} {\mathbf{(x)}}} + \frac{1}{{r_{1} }}{\varvec{\upvarphi }}_{f}^{T} {\dot{\varvec{\upvarphi }}}_{f} + s{\varvec{\upvarphi }}_{g}^{T} {{\varvec{\upxi}} {\mathbf{(x)}}}u + \frac{1}{{r_{2} }}{\varvec{\upvarphi }}_{g}^{T} {\dot{\varvec{\upvarphi }}}_{g} + s{\varvec{\upvarphi }}_{p}^{T} {{\varvec{\uppsi}} {\mathbf{(s})}} + \frac{1}{{r_{3} }}{\varvec{\upvarphi }}_{{\mathbf{p}}}^{{\mathbf{T}}} {\dot{\varvec{\upvarphi }}}_{{\mathbf{p}}} + s[d(t) - \hat{u}_{p} (s|{\varvec{\uptheta}}_{p}^{*} )] + s\omega \\ \, & \quad \le \frac{1}{{r_{1} }}{\varvec{\upvarphi }}_{f}^{T} [r_{1} s{{\varvec{\upxi}} {\mathbf{(x)}}} + {\dot{\varvec{\upvarphi }}}_{{\mathbf{f}}} ] + \frac{1}{{r_{2} }}{\varvec{\upvarphi }}_{{\mathbf{g}}}^{{\mathbf{T}}} [r_{2} {{\varvec{\upxi}} {\mathbf{(x)}}}u(t) + {\dot{\varvec{\upvarphi }}}_{{\mathbf{g}}} ] + \frac{1}{{r_{3} }}{\varvec{\upvarphi }}_{{\mathbf{p}}}^{{\mathbf{T}}} [r_{3} s{{\varvec{\uppsi}} {\mathbf{(s})}} + {\dot{\varvec{\upvarphi }}}_{{\mathbf{p}}} ] + sd(t) + s\omega - (D + \eta )|s| \, \\ \, & \quad \le \, \frac{1}{{r_{1} }}{\varvec{\upvarphi }}_{f}^{T} [r_{1} s{{\varvec{\upxi}} {\mathbf{(x)}}} + {\dot{\varvec{\upvarphi }}}_{{\mathbf{f}}} ] + \frac{1}{{r_{2} }}{\varvec{\upvarphi }}_{g}^{T} [r_{2} {{\varvec{\upxi}} {\mathbf{(x)}}}u(t) + {\dot{\varvec{\upvarphi }}}_{{\mathbf{g}}} ] + \frac{1}{{r_{3} }}{\varvec{\upvarphi }}_{{\mathbf{p}}}^{{\mathbf{T}}} [r_{3} s{{\varvec{\uppsi}} {\mathbf{(s})}} + {\dot{\varvec{\upvarphi }}}_{{\mathbf{p}}} ] + s\omega - \eta |s| \\ \end{aligned} $$
(35)

with \( {\dot{\varvec{\upvarphi }}}_{{\mathbf{f}}} = - {\dot{\varvec{\uptheta }}}_{f}^{{}} \), \( {\dot{\varvec{\upvarphi }}}_{{\mathbf{g}}} = - {\dot{\varvec{\uptheta }}}_{g}^{{}} \), \( {\dot{\varvec{\upvarphi }}}_{{\mathbf{p}}} = - {\dot{\varvec{\uptheta }}}_{p}^{{}} \)

The adaptive laws Eqs. (19)–(21) are substituted into (34). Then, it can be expressed as

$$ \dot{V} \le s\omega - \eta |s| \le 0 $$
(36)

From the universal approximation theorem of the fuzzy system, the minimum approximation error \( \omega \) approaches a very small value, and it can result in \( \dot{V} \le 0 \). One can state [3, 4] that all the feedback system signals (s, \( {\varvec{\uptheta}}_{f} \), \( {\varvec{\uptheta}}_{g} \), and \( {\varvec{\uptheta}}_{p} \)) are bounded. The sliding surface error \( s ({\mathbf{E}} )= - {\mathbf{K}}^{T} {\mathbf{E}} \) and \( {\mathbf{E}} \) is bounded if \( e(0) \) is bounded. This finding implies that the reference trajectory \( y_{m} (t) \) is bounded, and the state \( x(t) \) is bounded accordingly. To imply the \( \lim_{t \to \infty } \left| {e(t)} \right| = 0 \) and establish asymptotic convergence, we need to prove \( \lim_{t \to \infty } \left| s \right| = 0 \). Suppose we choose \( \eta_{d} > 0 \). Then, Eq. (36) is given as

$$ \begin{aligned} \dot{V} & \le - |\omega ||s| - \eta |s| \\ \, & \le - \eta_{d} |s| \\ \end{aligned} $$
(37)

with \( \eta_{d} = (\eta + \left| \omega \right|) \)

Integrating the above equation with respect to time, it yields

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

Hence, \( V(0) \) is bounded, and \( V(t) \) is nonincreasing and bounded. We find that s is bounded, which implies \( s \in L_{\infty } \) [3, 4, 18, 19]. With the use of Barbalat’s lemma [1], \( s(E) \) will converge to zero as \( t \to \infty \). Furthermore, this lemma implies that \( \lim_{t \to \infty } \left| {e(t)} \right| = 0 \). Thus, the designed system is stable, and the error will converge to zero asymptotically. Therefore, the stability of our developed AFSMC is guaranteed.

4 Experimental Results

The experimental results are presented to illustrate the tracking capabilities of the developed algorithm for different XY contours. Three types of control methods are compared, namely (a) the conventional FSMC method with sign function [2], (b) the conventional FSMC method with saturation function [2], and (c) the proposed AFSMC method. The membership functions for the fuzzy controllers \( \hat{f} ({\mathbf{x}} ) \) and \( \hat{g} ({\mathbf{x}} ) \) are designed as follows:

$$ \begin{aligned} \mu_{NM} (x) & = {\text{e}}^{{[ - ((x + \pi /6)/(\pi /24))^{2} ]}} ,\;\mu_{NS} (x) = {\text{e}}^{{[ - ((x + \pi /12)/(\pi /24))^{2} ]}} , \\ \mu_{ZO} (x) & = {\text{e}}^{{[ - (x/(\pi /24))^{2} ]}} ,\;\mu_{PS} (x) = {\text{e}}^{{[ - ((x - \pi /12)/(\pi /24))^{2} ]}} , \\ \mu_{PM} (x) & = {\text{e}}^{{[ - ((x - \pi /6)/(\pi /24))^{2} ]}} \, \\ \end{aligned} $$
(39)

where the membership functions span the interval \( [ - \pi /6,\pi /6] \). For sliding surface error \( s({\mathbf{E}}) \), three membership functions of the \( \hat{u}_{p} (s|{\varvec{\uptheta}}_{p} ) \) are designed and expressed as

$$ \mu_{NM} (s) = \left[ {1 + {\text{e}}^{(5(s + 3))} } \right]^{ - 1} ,\;\mu_{zo} (s) = {\text{e}}^{{( - s^{2} )}} \mu_{PM} ,\;(s) = \left[ {1 + {\text{e}}^{(5(s - 3))} } \right]^{ - 1} $$
(40)

The initial state is selected as \( {\mathbf{x}}(0) = \left[ {1,0} \right]^{T} \), all initial values of \( {\varvec{\uptheta}}_{f} (0) \), \( {\varvec{\uptheta}}_{g} (0) \), and \( {\varvec{\uptheta}}_{p} (0) \) are set as zero vectors, and the sampling frequency of 1 kHz is selected. The experimental results of our fuzzy control method can verify the tracking characteristics. Typically, these two performance indexes [10, 11] are defined as follows:

  1. 1.

    Average tracking error (ATE), \( {\text{E}}_{\text{M}} \):

    $$ E_{M} = \sum\limits_{k = 1}^{n} {\frac{E(k)}{n}} = \sum\limits_{k = 1}^{n} {\frac{{\sqrt {e_{x}^{2} (k) + e_{y}^{2} (k)} }}{n}} $$
    (41)

    where \( e_{x}^{{}} (k) \) is the tracking error of X-axis, \( e_{y}^{{}} (k) \) is the tracking error in of Y-axis, and \( n \) is the total number of outline points.

  2. 2.

    Tracking error standard deviation (TESD), \( E_{\text{STD}} \):

    $$ E_{\text{STD}} = \sqrt {{{\sum\limits_{k = 1}^{n} {(E(k) - E_{M} )^{2} } } \mathord{\left/ {\vphantom {{\sum\limits_{k = 1}^{n} {(E(k) - E_{M} )^{2} } } n}} \right. \kern-0pt} n}} $$
    (42)

To confirm the improved compensating control strategy, we use four contour shapes [10, 11], i.e., (a) star, (b) circular, (3) four-leaf, and (4) window outlines, to evaluate the performance of control system. With the use of this contour planning method, \( H_{i} \), \( V_{i} \) and S denote the X-axis direction command, Y-axis direction command, and position increment, respectively. Table 1 lists the four kinds of trajectory planning, and Fig. 3 shows the reference contours.

Table 1 Four types of trajectory planning
Fig. 3
figure 3

Reference contours for planar motion, a star outline, b circular outline, c four-leaf outline, and d window outline (unit: µm)

In the experiments, the learning parameters of three control method are selected as:

  1. (a)

    The conventional method (sgn) [2]: \( r_{1x} = r_{1y} = 0.08 \), \( r_{2x} = r_{2y} = 0.09 \), \( \eta_{\Delta } = 1 \), \( k_{1} = 10 \).

  2. (b)

    The conventional method (sat) [2]: \( r_{1x} = r_{1y} = 0.08 \), \( r_{2x} = r_{2y} = 0.09 \), \( \eta_{\Delta } = 1 \), \( k_{1} = 10 \), \( \Delta = 0.05 \).

  3. (c)

    The proposed AFSMC method: \( r_{1x} = r_{1y} = 0.08 \), \( r_{2x} = r_{2y} = 0.09 \), \( r_{3x} = r_{3y} = 0.07 \), \( k_{1} = 10 \), \( M_{f} = M_{g} = 20 \), \( M_{p} = 80 \).

These parameters are determined by empirical rules to achieve the better transient and steady-state response in simulation and experimentation conditions considering the requirement of stability. To verify the advancement of our control strategy, several simulations are done. The system parameters and Stribeck friction models of the XY positioning table are assumed as follows:

X-axis:\( K_{tx} = 0.96 \) N/A, \( M{}_{x} = 3 \times 10^{ - 3} \) N sec2/m, \( B_{x} = 0.1 \) N sec/m, \( F_{Lx} = 0.1 \) N, \( F_{cx} = 0.15 \) N, \( F_{sx} = 0.24 \) N, \( V_{sx} = 10 \) m/sec.

Y-axis:\( {\text{K}}_{ty} = 0.96 \) N/A, \( M{}_{y} = 2.8 \times 10^{ - 3} \) N sec2/m, \( B_{y} = 0.12 \) N sec/m, \( F_{Ly} = 0.1 \) N, \( {\text{F}}_{cy} = 0.15 \) N, \( F_{sy} = 0.2 \) N, \( V_{sy} = 5 \) m/sec.

4.1 Simulation Results

The simulation results using the conventional SMC methods [2] and our proposed method are conducted and compared to verify the tracking performances. The star contour is first simulated to shows the tracking results in X- and Y-axes, respectively. A reference star contour with a side length of 25 mm is utilized for two-dimensional motion validations. The simulation results of the X-axis direction response, Y-axis direction response, and motion trajectory are depicted in Fig. 4a–c. It illustrates that the proposed AFSMC scheme performs well for trajectory tracking. On average, the ATE index is 14.188 µm, and the TESD is 2.824 µm. In the second case, a circular contour of 50 mm diameter is considered in Fig. 5. The proposed scheme also behaves well in X-axis displacement response, Y-axis displacement response, and circle trajectory shown in Fig. 5a–c. The transient response illustrates the robustness of the AFSMC structure during the curved profile. On average, the ATE is 28.650 µm, and the TESD is 1.569 µmin the circular case. The third specific application is the four-leaf trajectory. A reference contour of 7.5 mm curve radius is illustrated. It shows that the X- and Y-axis position errors reduce significantly during the tracking process for biaxial XY system in Fig. 6a–c. On average, the ATE index is 7.371 µm, and the TESD index is 2.288 µmin the four-leaf contour case. Furthermore, the reference window contour with curve radius 10 mm is evaluated. Figure 7a shows the X-axis tracking response, Fig. 7b shows the Y-axis position response, and Fig. 7c shows the two-dimensional trajectory. The AFSMC architecture can achieve the better tracking performance and trajectory error decreases at steady state. On average, the ATE index is 10.83900 µm, and the TESD of error is 10.655 µm.

Fig. 4
figure 4

Position responses of simulations. aX-axis direction response, bY-axis direction response, c star trajectory

Fig. 5
figure 5

Position responses of simulations. aX-axis direction response, bY-axis direction response, c circular trajectory

Fig. 6
figure 6

Position responses of simulations. aX-axis direction response, bY-axis direction response, c four-leaf trajectory

Fig. 7
figure 7

Position responses of simulations. aX-axis direction response, bY-axis direction response, c window trajectory

The proposed AFSMC is implemented and its performance is compared to the former FSMC methods [2] shown in Table 2. The position errors are 15.262 µm of ATE index and 4.334 µm of the associated TESD index. These results indicate that our developed system improved the disturbance rejection performances and provided better transient response and tracking error closer to the trajectory path. Thus, our approach achieves a better architecture to adaptive fuzzy control in positioning systems.

Table 2 Simulated results of contour tracking error

4.2 Experimental Results

To verify the practicality of the proposed AFSMC system, an experimental test is conducted. Each direction response of star outline with a side length of 25 mm is measured and experimented as shown in Fig. 8a and b. This shows that the AFSMC structure adjusts the drive system and achieves small steady-state error in a dynamic environment. As shown in Fig. 8c, it is obvious that the dynamic tracking capability of the proposed AFSMC is outstanding and better. The robust control property of the developed system can be observed clearly. The errors of developed system can decrease significantly and reach to 12.866 µm of ATE index and 11.076 µm of TESD index.

Fig. 8
figure 8

Position responses of experiments. aX-axis direction response, bY-axis direction response, c star trajectory

The responses of circular outline with a diameter of 50 mm are measured as shown in Fig. 9a and b, respectively. Because of the self-tuning AFSMC control strategy, the system provides the better characteristics for curve contour in both axes. The experiment on the circular tracking trajectory is illustrated in Fig. 9c. The curve contour operation is more complicated than that of straight line movement. It is obvious that steady-state response is also better under the occurrence of system parameter variation. The position errors are 12.652 µm of ATE index and 6.70 µm of the associated TESD index.

Fig. 9
figure 9

Position responses of experiments. aX-axis direction response, bY-axis direction response, c circular trajectory

The four-leaf contour is plotted in Fig. 3c, with the motion divided into five parts. The \( R_{2} = 7.5 \) mm is the curve radius in the four-leaf contour. The experiments on the four-leaf tracking responses and associated four-leaf trajectory are illustrated in Figs. 10a–c. The trajectory response is smooth even at a curve segment and corner point. The transient and steady responses show the improved compensating strategy of the developed system under parameter variations and external disturbances. The position errors are 16.965 µm of ATE index and 13.703 µm of the associated TESD index for four-leaf contour tracking.

Fig. 10
figure 10

Position responses of experiments. aX-axis direction response, bY-axis direction response, c four-leaf trajectory

The window trajectory is designed in Fig. 3d, with the motion divided into eight parts. R3 = 10 mm is the radius of the curve in the window contour. The experiments on the window tracking responses and associated trajectory are illustrated in Figs. 11a–c. The transient response is fast, and the steady-state error is alleviated. The developed adaptive dynamic system can perform asymptotically stable tracking of different moving trajectories with robust control performance. The position errors reach to 60.403 µm of ATE index and 32.572 µm of the associated TESD index for window contour tracking.

Fig. 11
figure 11

Position responses of experiments. aX-axis direction response, bY-axis direction response, c window trajectory

Table 3 presents the tracking error comparisons of our AFSMC method and traditional FSMC methods with sign and saturation function. It includes the performance measures of the ATE and the TESD for the star, circular, four-leaf, and window reference profiles. The developed system demonstrated more effective performances, showing a 27.15% improvement in ATE index and a 29.77% improvement in the TESD index, compared with the traditional FSMC method with sign function. The proposed AFSMC method also achieved a 26.81% improvement in the ATE index and a 28.33% improvement in the TESD index compared with the traditional FSMC method with saturation function. It indicates that the proposed AFSMC system obtains the lowest ATE and TESD indexes. Thus, this architecture is beneficial in actuating the two-axis table in the presence of model uncertainties and disturbances for different reference contours. In summary, the proposed AFSMC approach offers the desired tracking performances while ensuring the robustness of the feedback system.

Table 3 Experimental results of contour tracking error

5 Conclusion

The AFSMC method was successfully developed and investigated in the industrial XY-driven motion stage for trajectory tracking applications. The control structure has the advantage of generating fuzzy rules adaptively without relying on a priori knowledge about the stage models. The robust indirect AFSMC scheme is designed to process system uncertainty and mitigate the chattering condition. The unknown disturbance and nonlinear friction effect are also considered in the plant model. Four contour trajectories, namely star contour, circular contour, four-leaf contour, and window contour, are tested to illustrate the robustness of the developed system. It is shown that the adaptive indirect control method can deal with chattering and significantly alleviate contour errors in experiments. On average, it can achieve 26.98% and 29.05% improvement in ATE and TESD, respectively, compared with the two conventional FSMC strategies. It also shows that the proposed AFSMC scheme can provide superior tracking capability for two-axis contour control in the presence of model uncertainties and external disturbances. Finally, the main contribution of our research is the successful development and experiment of the AFSMC system to control the X–Y table system with four different contours. In the future, we aim to construct and implement a motion controller using microcontroller or DSP platform such that the proposed AFSMC strategy can be widely realized and utilized in industrial applications.