Introduction

Nanotechology is one of the fundamental techniques in both academia and industries. Possessing plenty of merits such as ultrahigh precision, rapid response, and large mechanical force, piezoelectric actuators (PEAs) have been extensively adopted as the core components in many nanopositioning applications like atomic force microscopes [1], hard disk drives [2], high-precision mechanisms [3, 4], and micromanipulations [5]. Unfortunately, despite the advantages of PEAs, they generally exhibit some strong nonlinear characteristics like hysteresis, creep, and vibration, which greatly decrease the control accuracy. Among all the demerits of PEAs, hysteresis is the dominant nonlinear property, which is a memory effect that the current output of PEAs is affected by their historical operations. What’s worse, hysteresis is a rate-dependent nonlinearity that the dynamic characteristic of PEAs changes with the input frequency. Because of the existence of these issues, precise control of PEAs is challenging and attracts considerable attentions.

In the literature, different kinds of control approaches are proposed to suppress the hysteresis nonlinearity in order to achieve precise tracking control of PEAs, which are broadly categorized into the feedforward control scheme, feedback control scheme, and feedforward–feedback control scheme. Feedforward control scheme is based on a simple and direct idea that the hysteresis nonlinearity can be eliminated by constructing its inverse model. The feedforward model of hysteresis, generally expressed as Duhem model [6], Bouc-Wen model [7], Preisach model [8], Prandtl–Ishlinskii model [9], and Maxwell-slip model [10], needs to be attained first. However, an accurate hysteresis model is difficult to obtain, and feedforward control is an open-loop control scheme where the performance and stability of the control system cannot be assured. For the feedback control scheme, the hysteresis nonlinearity is regarded as bounded nonlinear disturbance, and diversified control methods like the proportional-integral-derivative control [11], robust control [12], active disturbance rejection control [13], sliding-mode control [14], and adaptive control [15] are adopted to eliminate the disturbance. The main shortcoming of feedback control is so-called low-gain-margin problem [16]. When tracking high-frequency references, the gain of feedback controller needs to be sufficiently high, which tends to destabilize the control system. Combining the ideas of feedforward control scheme and feedback control scheme, feedforward–feedback control scheme turns out to be a better control strategy, where feedforward control compensates the hysteresis nonlinearity and feedback control suppresses the external disturbances and model inaccuracy. Based on this control strategy, combinations of different inverse hysteresis models and different feedback control methods are studied [17,18,19,20]. However, the tracking accuracy of these control methods is insufficient for some advanced applications like atom manipulation, where the required accuracy is less than 10 nm [21]. Therefore, more effective control approaches need to be developed.

Model predictive control (MPC) is believed to be a promising method for the precise control of PEAs due to its robustness, disturbance rejection property, and the ability of handling physical constrains, which has demonstrated its superiority in many industrial applications [22,23,24,25,26]. In [27, 28], a neural network–based nonlinear model predictive control is proposed for the tracking control of PEAs, where a complicated nonlinear optimization problem needs to be solved to get the control law. In order to accelerate the computation speed, dynamic linearization is applied to the neural network model of PEAs [29], where analytic predictive control laws can be attained. Considering the online model adjustment ability, an adaptive Takagi–Sugeno (T-S) fuzzy model–based predictive controller is developed for PEAs [30, 31], then a predictive controller is designed based on this adjustable model to achieve a better control performance. All of these methods are based on feedback control schemes. Inspired by the idea that adding feedforward terms can improve the tracking performance of PEAs, our previous conference paper [32] developed a composite controller with the neural network model–based predictive control and the hysteresis compensation.

In this paper, an adaptive fuzzy predictive control with hysteresis compensation is proposed for the tracking control of PEAs. First, a feedforward compensator, the inverse Duhem hysteresis model, is applied to mitigate the hysteresis nonlinearity. Then, the T-S fuzzy model is adopted to describe the dynamic behavior of PEAs. The parameter adaption law is employed to adjust the T-S fuzzy model of PEAs in real time. Based on this adaptive model, the predictive sub-controller is designed for each fuzzy rule, and the overall model predictive controller is obtained by combining all sub-controllers. Extensive experiments are carried out to validate the effectiveness of the proposed method on a piezoelectric nanopositioning stage (P-753.1CD, Physik Instrumente). Comparisons between the proposed method and some existing approaches are also conducted, which demonstrate the superiority of the proposed method to the majority of control approaches in the literature.

The organization of this paper is as follows. The second section depicts the model of PEAs and the proposed adaptive fuzzy controller in detail. Experiments and comparisons with existing control approaches are provided in the third section to show the superiority of the proposed method. Finally, a conclusion is given in the fourth section.

Adaptive Fuzzy Predictive Control with Hysteresis Compensation for PEAs

The detailed description of the adaptive fuzzy predictive control with hysteresis compensation for PEAs is provided in this section. The hysteresis compensator is constructed by the inversion of the Duhem model first. Then, the fuzzy model of PEAs is established, and the adaptive law is adopted to increase the model accuracy. Based on this model, the adaptive fuzzy predictive controller is designed, and the composite controller is obtained by integrating the hysteresis compensator.

Hysteresis Compensator

The inversion of Duhem hysteresis model is applied as the hysteresis compensator to mitigate the hysteresis nonlinearity. The forward Duhem hysteresis model is required before attaining its inversion, which is given in [33]:

$$ \dot f = \left| {\dot v} \right|(c_{1} v + c_{3} f) + c_{2}\dot v, $$
(1)

where v,fR are the input and output of the Duhen model, respectively; and |⋅| denotes the absolute operator. Model parameters c1, c2, and c3 need to be identified experimentally. The discrete-time form of (1) is derived as follows for the digital implementation.

If \(\dot v>0\) (monotonically increasing input), the discrete-time Duhem hysteresis model can be deduced with the trapezoid estimation [34], which is expressed as follows:

$$ \begin{array}{@{}rcl@{}} f(k + 1) &=& c_{1}\frac{{\chi (k + 1)}}{{2 - c_{3}\gamma (k + 1)}} + \frac{{2 + c_{3}\gamma (k + 1)}}{{2 - c_{3}\gamma (k + 1)}}f(k)\\ &&+ c_{2}\frac{{2\gamma (k + 1)}}{{2 - c_{3}\gamma (k + 1)}}, \end{array} $$
(2)

where

$$ \begin{array}{@{}rcl@{}} \chi (k + 1) &=& v^{2} (k + 1) - v^{2} (k),\\ \gamma (k + 1) &=& v(k + 1) - v(k). \end{array} $$

Equation (2) can be transformed into a quadratic function of v(k + 1):

$$ c_{1} v^{2} (k + 1) + \sigma_{1} v(k + 1) - \zeta_{1} = 0, $$
(3)

where

$$ \begin{array}{@{}rcl@{}} \sigma_{1} &=& c_{3} f(k + 1) + c_{3} f(k) + 2c_{2},\\ \zeta_{1} &=& c_{1} v^{2} (k) + \sigma_{1} v(k) + 2\left[ {f(k + 1) - f(k)} \right]. \end{array} $$

Then, the inversion of Duhem hysteresis model is obtained by solving (3), which is (see [35] for details)

$$ v(k + 1) = \frac{{ - \sigma_{1} + \sqrt {{{\sigma}_{1}^{2}} + 4c_{1}\zeta_{1} } }}{{2c_{1}}}. $$
(4)

If \(\dot v<0\) (monotonically decreasing input), likewise, the discrete-time Duhem model is described by the following:

$$ \begin{array}{@{}rcl@{}} f(k + 1) &=& c_{1}\frac{{ - \chi (k + 1)}}{{2 + c_{3}\gamma (k + 1)}} + \frac{{2 - c_{3}\gamma (k + 1)}}{{2 + c_{3}\gamma (k + 1)}}f(k) \\ &&+ c_{2}\frac{{2\gamma (k + 1)}}{{2 + c_{3}\gamma (k + 1)}}, \end{array} $$

and the inversion of Duhem hysteresis model is derived as follows:

$$ v(k + 1) = \frac{{ \sigma_{2} - \sqrt {{{\sigma}_{2}^{2}} - 4c_{1}\zeta_{2} } }}{{2c_{1}}}, $$
(5)

where

$$ \begin{array}{@{}rcl@{}} \sigma_{2} &=& - c_{3} f(k + 1) - c_{3} f(k) + 2c_{2}, \\ \zeta_{2} &=& - c_{1} v^{2} (k) + \sigma_{2} v(k) + 2\left[ {f(k + 1) - f(k)} \right]. \\ \end{array} $$

To sum up, (4) and (5) form the discrete-time inversion of the hysteresis model, which is adopted as the hysteresis compensator.

Remark 1

In the literature, the hysteresis can be approximated by many models such as the Duhem model, Bouc-Wen model, Preisach model, Prandlt–Ishlinskii model, and Maxwell-slip model. The reason of choosing the Duhem model is that the inversion of the Duhem model has an explicit form. Therefore, the inversion of the hysteresis can be calculated by (4) and (5) directly. The inversions of other hysteresis models require tremendous computation, which cannot satisfy the real-time control requirement of the peizoelectric actuator.

Remark 2

The undetermined parameters of the Duhem model are c1, c2, and c3 in (4) and (5). By conducting the system identification experiment, a series of input–output pairs f(k) and v(k) can be collected. Then c1, c2, and c3 can be determined through the forgetting factor recursive least squares algorithm [32, 42].

Adaptive Fuzzy Model of PEAs

Fuzzy modeling and fuzzy control methods are effective weapons when dealing with complex nonlinear system [36,37,38], so the fuzzy model is adopted to describe the dynamic behavior of PEAs. Borrowing the similar idea proposed in [31], the adaptive fuzzy model of PEAs is developed as follows. Since the output of the PEAs depends not only on the current input but also on their historical operations, the input vector of the T-S fuzzy model is defined as follows:

$$ {\Gamma}(k)=[y(k-1),\cdots,y(k-N_{y}),v(k),\cdots,v(k-N_{v})], $$
(6)

where v(k) is the input voltage and y(k) is the output displacement of PEAs. Nv and Ny are nonnegative integers, representing the maximum time delays for v(k) and y(k), respectively. Then, the dynamic behavior of PEAs can be described as follows:

$$ y(k) =\mathcal{G}({\Gamma}(k)). $$
(7)

According to [31], the T-S fuzzy model is able to express the complicated nonlinear relation (7) between the input voltage and the output displacement of PEAs because of its strong approximation ability, which has the following fuzzy rules [39]:

$$ \begin{array}{@{}rcl@{}} &&R_{j} : \text{IF}\quad {\Gamma} (k)\quad is \quad A_{j} \\ &&{\kern1.7pc} \text{THEN}~~ y_{j} (k) = \mathcal{G}_{j} ({\Gamma} (k)), ~~ j = 1,2, {\cdots} ,N_{r}, \end{array} $$
(8)

where Rj is the j th fuzzy rule and Nr is the total number of fuzzy rules. Aj denotes the antecedent fuzzy set of the j th fuzzy rule, which is defined by a membership function \(\mu _{A_{j} } ({\Gamma } (k)) \in \mathbb {R}^{N_{v} + N_{y} + 1} \to [0, 1]\). The input vector Γ(k) defined in (6) is employed as the antecedent variable, and yj(k) is the corresponding consequent variable. The antecedent proposition “Γ(k) is Aj” is generally unfolded as a logical combination of simple propositions, where each component (denoted as xi(k),i = 1, 2, ⋯ , Nv + Ny + 1) of Γ(k) has a univariate fuzzy set. Then, the fuzzy rules (8) are rewritten as follows:

$$ \begin{array}{@{}rcl@{}} R_{j} :\quad \text{IF}\quad &x_{1} (k)\quad is\quad A_{j1} \\ \quad &x_{2} (k)\quad is\quad A_{j2} \\ \quad &\text{and}\quad {\cdots} \\ \quad &\text{and}x_{N_{v} + N_{y} + 1} (k)\quad is\quad A_{j(N_{v} + N_{y} + 1)} \\ \text{THEN}&\quad y_{j} (k) = \mathcal{G}_{j} ({\Gamma} (k)),\quad j = 1,2, {\cdots} ,N_{r}. \end{array} $$

The consequent function \({\mathcal{G}}_{j} ({\Gamma } (k))\) is chosen as follows:

$$ \begin{array}{@{}rcl@{}} y_{j}(k)=\mathcal{G}_{j} ({\Gamma} (k))&=&\sum\limits_{i=1}^{N_{y}}-a_{ji}(k)y(k-i)\\ &&+\sum\limits_{i=0}^{N_{v}}b_{\text{ji}}(k)v(k-i)+\delta_{j} \end{array} $$
(9)

for each fuzzy rule, where aji(k) and bji(k) are the coefficients of (9), and δj is a bias term.

Before inferring the output of the T-S fuzzy model, the degree of fulfillment (denoted by βj(Γ(k))) of the antecedent needs to be determined, which is simply set as the membership degree of the input vector Γ(k), expressed by the following:

$$ \beta_{j}({\Gamma} (k))=\mu_{A_{j} } ({\Gamma} (k)). $$
(10)

Considering the element of the input vector, (10) is rewritten as a combination of individual propositions:

$$ \beta_{j} ({\Gamma} (k)) = \mu_{A_{j1} } (x_{1} (k)) \wedge {\cdots} \wedge \mu_{A_{j(N_{y} + N_{v} + 1)} } (x_{N_{y} + N_{v} + 1} (k)). $$

Then, the following defuzzification function is used to generate the output of the T-S fuzzy model:

$$ y(k) = \frac{{\sum\limits_{j = 1}^{N_{r} } {\beta_{j} ({\Gamma} (k))} y_{j} (k)}}{{\sum\limits_{j = 1}^{N_{r} } {\beta_{j} ({\Gamma} (k))}}}= \sum\limits_{j = 1}^{N_{r} } {\hat \beta_{j} ({\Gamma} (k))} y_{j} (k), $$

where \(\hat \beta _{j} ({\Gamma } (k)){ = }{{\beta _{j} ({\Gamma } (k))} \mathord {\left / {\vphantom {{\beta _{j} ({\Gamma } (k))} {\sum \limits _{j = 1}^{N_{r} } {\beta _{j} ({\Gamma } (k))} }}} \right . \kern -\nulldelimiterspace } {\sum \limits _{j = 1}^{N_{r} } {\beta _{j} ({\Gamma } (k))} }} \) is the normalized degree of fulfillment.

Furthermore, in order to increase the model adjustment ability, the adaptive law is applied to adjust the parameters of the T-S fuzzy model online. Specifically, the coefficients aji(k) and bji(k) of the consequent function are adjusted in real time. For simplicity, define the following:

$$ \begin{array}{@{}rcl@{}} &&\theta_{j}(k) = [a_{j1}(k) ,a_{j2}(k) , {\cdots} ,a_{jN_{y} }(k) ,b_{j0}(k),\\ &&\kern3pc b_{j1}(k) , {\cdots} ,b_{jN_{v} }(k) ], \\ &&H_{j} (k) [ - y_{j} (k - 1), - y_{j} (k - 2), {\cdots} , - y_{j} (k - N_{y}),\\ &&\kern3pcv_{j} (k),v_{j} (k - 1), {\cdots} ,v_{j} (k - N_{v} )]. \end{array} $$

Based on the optimal recursive estimation method [40], θj(k) is updated through the following equations:

$$ \begin{array}{@{}rcl@{}} \widetilde{\theta_{j} }(k) \!&=&\! \widetilde{\theta_{j} }(k - 1) + {\Lambda}_{j} (k)[y_{j} (k) - \widetilde{\theta_{j} }(k - 1)H_{j} (k)],\\ {\Lambda}_{j} (k) \!&=&\! \mathrm{B}_{j} (k - 1)H_{j} (k)[H_{j} (k)^{T} \mathrm{B}_{j} (k - 1)H_{j} (k) + \tau_{j} ]^{- 1} ,\\ \mathrm{B}_{j} (k) \!&=&\! \mathrm{B}_{j} (k - 1) - \frac{{\mathrm{B}_{j} (k - 1)H_{j} (k)H_{j} (k)^{T} \mathrm{B}_{j} (k - 1)}}{{H_{j} (k)^{T} \mathrm{B}_{j} (k - 1)H_{j} (k) + \tau_{j} }}\\ &&+ \varepsilon_{j}, \end{array} $$

where \(\widetilde {\theta _{j} }(k)= [\tilde a_{j1}(k), \tilde a_{j2}(k), \cdots , \tilde a_{jN_{y} }(k), \tilde b_{j0}(k), \tilde b_{j1}(k),\)\( \cdots , \tilde b_{jN_{v} }(k)]\) is the estimation of θj(k), and Λj(k) and Bj(k) are adjustment gains and covariance matrix, respectively. Parameters τj and εj should be positive. At the beginning, \(\widetilde {\theta _{j} }(0)\) is selected to be the offline training result of the T-S fuzzy model, and Bj(0) is chosen as a unity matrix.

Adaptive Fuzzy Model Predictive Controller with Hysteresis Compensation

The overall schematic diagram of the proposed adaptive fuzzy controller with hysteresis compensation is provided in Fig. 1, which consists of a feedforward term and a model predictive feedback controller. The feedforward compensator is constructed by the inverse Duhem hysteresis model given in the second section to compensate the hysteresis nonlinearity. When it comes to the feedback controller, the distributed control structure is adopted. Several sub-controllers are designed based on the local fuzzy rules, and the overall predictive controller can be obtained by integrating all the sub-controllers.

Fig. 1
figure 1

Schematic diagram of the adaptive fuzzy controller with hysteresis compensation

First, the adaptive fuzzy model of PEAs is adopted as the displacement predictor, which is denoted by (9). The bias term δj can be eliminated by converting (9) into its adjacent difference form [41], which is expressed as follows:

$$ \begin{array}{@{}rcl@{}} \tilde{y}_j(k+P)&=&(1-\tilde a_{j1}(k))\tilde{y}_j(k+P-1)\\ &&+(\tilde a_{j1}(k)-\tilde a_{j2}(k))\tilde{y}_j(k+P-2)+ \cdots\\ &&+\tilde a_{jN_y}(k)\tilde{y}_j(k+P-N_y-1)\\ &&+\tilde b_{j0}(k){\Delta} v_j(k+P)+ \cdots\\ &&+\tilde b_{jN_v}(k){\Delta} v_j(k+P-N_v), \end{array} $$

where \(\tilde {y}_j(k)\) is the predicted displacement, and P is the prediction horizon and the control horizon. Δvj(k) is the difference value of the input voltage, defined by the following:

$$ {\Delta} v_j(k)=v_j(k)-v_j(k-1). $$
(11)

Next, let’s define the following:

$$ \begin{array}{@{}rcl@{}} \begin{smallmatrix} & \mathcal{\widetilde Y}_j(k)= \left[ \begin{array}{c} \tilde{y}_j(k+1) \\ \tilde{y}_j(k+2) \\ {\vdots} \\ \tilde{y}_j(k+P) \end{array} \right], \mathcal{Y}_j(k)= \left[ \begin{array}{c} y_j(k) \\ y_j(k-1) \\ {\vdots} \\ y_j(k-N_y) \end{array} \right], \end{smallmatrix} \end{array} $$
$$ \begin{array}{@{}rcl@{}} \begin{smallmatrix} &\mathcal{\widetilde V}_j(k)= \left[ \begin{array}{c} {\Delta} v_j(k+1) \\ {\Delta} v_j(k+2) \\ {\vdots} \\ {\Delta} v_j(k+P) \end{array} \right], \mathcal{V}_j(k)= \left[ \begin{array}{c} {\Delta} v_j(k) \\ {\Delta} v_j(k-1) \\ {\vdots} \\ {\Delta} v_j(k-N_v+1) \end{array} \right], \end{smallmatrix} \end{array} $$
$$ \begin{array}{@{}rcl@{}} \mathrm{A}_{j}(k)\!&=&\! \left[ \begin{array}{cccccccc} \begin{smallmatrix} \tilde b_{j1}(k) & \tilde b_{j2}(k) & {\cdots} &\tilde b_{jN_v}(k) \\ \tilde b_{j2}(k) &\tilde b_{j3}(k) & {\cdots} & 0 \\ {\vdots} & {\vdots} & {\ddots} & {\vdots} \\ \tilde b_{jN_v}(k) & 0 & {\cdots} & 0 \\ 0 & 0 & {\cdots} & 0 \\ {\vdots} & {\vdots} & {\ddots} & \vdots\\ 0 & 0 & 0 & 0 \\ \end{smallmatrix} \end{array} \right]\!\in\!\mathbb{R}^{P\times N_v},~~ \mathrm{B}_{j}(k)= \left[ \begin{array}{cccccccc} \begin{smallmatrix} \tilde b_{j0}(k) & 0 & 0 & {\cdots} & 0 & {\cdots} & {\cdots} & 0 \\ \tilde b_{j1}(k) &\tilde b_{j0}(k) & 0 & {\cdots} & 0 & {\cdots} & {\cdots} & 0 \\ \tilde b_{j2}(k) &\tilde b_{j1}(k) &\tilde b_{j0}(k) & {\cdots} & 0 & {\cdots} & {\cdots} & 0 \\ {\vdots} & {\vdots} & {\vdots} & {\ddots} & {\vdots} & {\ddots} & {\ddots} & {\vdots} \\ \tilde b_{iN_v}(k) &\tilde b_{j(N_v-1)}(k) &\tilde b_{j(N_v-2)}(k) & {\cdots} &\tilde b_{j0}(k) & {\cdots} & {\cdots} & 0 \\ 0 &\tilde b_{jN_v}(k) &\tilde b_{j(N_v-1)}(k) & {\cdots} &\tilde b_{j1}(k) & {\cdots} & {\cdots} & 0 \\ {\vdots} & {\vdots} & {\vdots} & {\ddots} & {\vdots} & {\ddots} & {\ddots} & {\vdots} \\ 0 & 0 & 0 & {\cdots} &\tilde b_{j(N_v-1)}(k) & {\cdots} & {\cdots} &\tilde b_{j0}(k) \\ \end{smallmatrix} \end{array} \right]\!\in\!\mathbb{R}^{P\times P},\\ \mathrm{C}_{j}(k)&=& \left[ \begin{array}{ccccccccc} \begin{smallmatrix} 1-\tilde a_{j1}(k) &\tilde a_{j1}(k)-\tilde a_{j2}(k) &\quad \tilde a_{j2}(k)-\tilde a_{j3}(k) &\quad {\cdots} & {\cdots} &\quad\tilde a_{jN_y}(k) \\ \tilde a_{j1}(k)-a_{j2}(k) &\tilde a_{j2}(k)-\tilde a_{j3}(k) &\quad\tilde a_{j3}(k)-\tilde a_{j4}(k) &\quad {\cdots} & {\cdots} &\quad 0 \\ \tilde a_{j2}(k)-\tilde a_{j3}(k) &\tilde a_{j3}(k)-\tilde a_{j4}(k) &\quad\tilde a_{j4}(k)-\tilde a_{j5}(k) &\quad {\cdots} & {\cdots} &\quad 0 \\ {\vdots} & {\vdots} &\quad {\vdots} &\quad {\ddots} & {\ddots} &\quad {\vdots} \\ \tilde a_{j(N_y-1)}(k)-\tilde a_{jN_y}(k) &\tilde a_{jN_y}(k) &\quad 0 &\quad {\cdots} & {\cdots} &\quad 0 \\ \tilde a_{jN_y}(k) & 0 &\quad 0 &\quad {\cdots} & {\cdots} &\quad 0 \\ 0 & 0 &\quad 0 &\quad {\cdots} & {\cdots} &\quad 0 \\ {\vdots} & {\vdots} &\quad {\vdots} &\quad {\ddots} & {\ddots} &\quad {\vdots} \\ 0 & 0 &\quad 0 &\quad 0 & 0 &\quad 0\\ \end{smallmatrix} \end{array} \right]\in\mathbb{R}^{P\times (N_y+1)},\\ \mathcal{T}_{j}(k)&=& \left[ \begin{array}{cccccccc} \begin{smallmatrix} 1 & 0 & 0 & {\cdots} {\cdots} & 0 & {\cdots} & {\cdots} & 0 \\ \tilde a_{j1}(k)-1 & 1 & 0 & {\cdots} {\cdots} & 0 & {\cdots} & {\cdots} & 0 \\ \tilde a_{j2}(k)-\tilde a_{j1}(k) &\tilde a_{j1}(k)-1 & 1 & {\cdots} {\cdots} & 0 & {\cdots} & {\cdots} & 0 \\ {\vdots} & {\vdots} & {\vdots} & {\ddots} {\ddots} & {\vdots} & {\ddots} & {\ddots} & {\vdots} \\ \tilde a_{jN_y}(k)-\tilde a_{j(N_y-1)}(k) &\tilde a_{j(N_y-1)}(k)-\tilde a_{j(N_y-2)}(k) &\tilde a_{j(N_y-2)}(k)-\tilde a_{j(n_y-3)}(k) & {\cdots} {\cdots} & 0 & {\cdots} & {\cdots} & 0 \\ -\tilde a_{jN_y}(k) &\tilde a_{jN_y}(k)-\tilde a_{j(N_y-1)}(k) &\tilde a_{j(N_y-1)}(k)-\tilde a_{j(N_y-2)}(k) & {\cdots} {\cdots} & 1 & {\cdots} & {\cdots} & 0 \\ 0 & -\tilde a_{jN_y}(k) &\tilde a_{jN_y}(k)-\tilde a_{j(N_y-1)}(k) & {\cdots} {\cdots} &\tilde a_{j1}(k)-1 & {\cdots} & {\cdots} & 0 \\ {\vdots} & {\vdots} & {\vdots} & {\ddots} {\ddots} & {\vdots} & {\ddots} & {\ddots} & {\vdots} \\ 0 & 0 & 0 & {\cdots} {\cdots} &\tilde a_{j(N_y-1)}(k)-\tilde a_{j(N_y-2)}(k) & {\cdots} & {\cdots} & 1 \\ \end{smallmatrix} \end{array} \right]\in\mathbb{R}^{P\times P}, \end{array} $$

and the predicted displacements up to the P th step can be obtained by the following:

$$ \mathcal{\widetilde Y}_j(k)=\mathcal{B}_{j}\mathcal{\widetilde V}_j(k) + \mathcal{A}_{j}\mathcal{V}_j(k) + \mathcal{C}_{j}\mathcal{Y}_j(k), $$

where \(\mathcal {A}_{j}(k)=\mathcal {T}_{j}^{-1}(k)\mathrm {A}_{j}(k)\), \({\mathcal{B}}_{j}(k)=\mathcal {T}_{j}^{-1}(k)\mathrm {B}_{j}(k)\), and \(\mathcal {C}_{j}(k)=\mathcal {T}_{j}^{-1}(k)\mathrm {C}_{j}(k)\).

Then, the performance index function is designed as follows, aiming to minimize the difference between the predicted displacement and the desired reference. In addition, considering to reduce the voltage changing rate, a regulation term is added to the performance index function.

$$ \mathcal{J}(k)=[\mathcal{D}(k)-\mathcal{\widetilde Y}_{j}(k)]^{T}[\mathcal{D}(k)-\mathcal{\widetilde Y}_{j}(k)] + \rho \mathcal{\widetilde V}_j(k)^{T}\mathcal{\widetilde V}_j(k), $$

where \(\mathcal {D}(k)=[d(k+1), d(k+2), \dots , d(k+P)]^T\) represents the desired reference and a penalty parameter ρ is used to diminish the voltage variation. The predictive control law can be attained by solving the following convex quadratic programming problem

$$ \frac{{\partial \mathcal{J}(k)}}{{\partial \mathcal{\widetilde V}_j(k)}} = 0, $$

resulting in

$$ \begin{array}{@{}rcl@{}} \mathcal{\widetilde V}_j(k)&=&(\mathcal{B}_j^T(k)\mathcal{B}_j(k)+\rho I)^{-1}\mathcal{B}_j^T(k)\mathcal{D}(k) \\ &&+(\mathcal{B}_j^T(k)\mathcal{B}_j(k)+\rho I)^{-1}\mathcal{B}_j^T(k)(-\mathcal{A}_j(k)\mathcal{V}_j(k) \\&&-\mathcal{C}_j(k)\mathcal{Y}_j(k)). \end{array} $$

Finally, the control voltage is generated by the following:

$$ v_{j}(k+1)=v_{j}(k)+{\Delta} v_{j}(k+1), $$

where Δvj(k + 1) is the voltage increment for the next sampling interval.

Remark 3

Compared to the feedforward controllers, the controller proposed in this paper has the displacement error feedback, which has a better ability of rejecting the hysteresis inversion error and external disturbances. Compared to the MPC-based inversion-free controllers proposed in [27,28,29,30,31], the proposed controller combines the MPC-based feedback term and the hysteresis inversion feedforward term. Therefore, the feedforward term can compensate most effects of hysteresis in PEAs, which leads to the improvement of the control performance. Compared to the previously published paper [32], the model used in [32] is the dynamic linearized neural network model–based predictive control. The advantage of the adaptive T-S fuzzy model used in this paper is that the model’s parameters can be updated online by the real-time measurements of the displacement of PEAs. Therefore, the model’s performance can be improved online. With a relatively accurate model, the model predictive controller is expected to have a better performance.

Experiments and Comparisons

To demonstrate the effectiveness of the proposed adaptive fuzzy model predictive controller for PEAs, experiments have been carried out on a commercially available piezoelectric nanopositioning stage, as shown in Fig. 2. A host computer is used to generate the control voltage and collect the displacement sensor signal through an I/O board PCI-1716 (Advantech Co., Ltd.), and the proposed algorithm is implemented via SIMULINK programs with Real-Time Windows Target Toolbox. The control voltage generated by the I/O board ranges from 0 to 10 V, and then the voltage amplifier E-665.CR (Physik Instrumente) is applied to produce a sufficiently high voltage to drive the PEA with a fixed amplification rate of 10. The displacement sensor signal is provided by the built-in capacitive sensor, which has a range of 0 to 10 V, corresponding to the displacement range (up to 12 μm) of the PEA. The sampling frequence of the system is set to be 500 kHz.

Fig. 2
figure 2

Experimental setup of the piezoelectric nanopositioning system

Model Identification

The Duhem hysteresis model is identified first to construct the hysteresis compensator. When driven by low-frequency voltage, the dynamic behavior of the PEA is dominantly determined by the hysteresis nonlinearity. Therefore, a 80 V sinusoidal voltage of 1 Hz is used to activate the PEA, and the corresponding displacement is measured. Then, the parameters of the Duhem hysteresis model is identified as c1 = 0.7016, c2 = 1.0346, and c3 = − 0.4821.

According to [31], several structure parameters of the fuzzy model are chosen as Ny = 2, Nv = 1, and Nr = 3. The membership function is set as follows:

$$ \mu_{A_{j{\textrm{i}}} } (x_i ) = \left\{ \begin{array}{l} h^{(1)}_{\text{ji}} \exp \left( {\frac{{ - 7(x_i - z^{(2)}_{\text{ji}} )^2 }}{{(z^{(2)}_{\text{ji}} - z^{(1)}_{\text{ji}} )^2 }}} \right)\quad x_i < z^{(2)}_{\text{ji}} \\ 1\quad \quad \quad \quad \quad \quad \quad \quad \quad z^{(2)}_{\text{ji}} \le x_i \le z^{(3)}_{\text{ji}} \\ h^{(2)}_{\text{ji}} \exp \left( {\frac{{ - 7(x_i - z^{(4)}_{\text{ji}} )^2 }}{{(z^{(4)}_{\text{ji}} - z^{(3)}_{\text{ji}} )^2 }}} \right)\quad x_i > z^{(3)}_{\text{ji}} \end{array} \right. $$
$$ h^{(1)}_{\text{ji}} = \left\{ \begin{array}{l} 1\quad z^{(2)}_{\text{ji}} > z^{(1)}_{\text{ji}} \\ 0\quad z^{(2)}_{\text{ji}} \le z^{(1)}_{\text{ji}} \end{array} \right.,\quad h^{(2)}_{\text{ji}} = \left\{ \begin{array}{l} 1\quad z^{(4)}_{\text{ji}} > z^{(3)}_{\text{ji}} \\ 0\quad z^{(4)}_{\text{ji}} \le z^{(3)}_{\text{ji}} \quad \end{array} \right. $$

The parameters of the consequent function and the membership function can be identified through the Toolbox proposed in [43], which is given in Tables 1 and 2.

Table 1 Parameters of the consequent function
Table 2 Parameters of the membership function

Verification of the AFPC with Hysteresis Compensation

After all the parameters are determined, the proposed adaptive fuzzy controller with hysteresis compensation is examined by abundant experiments with the penalty parameter ρ = 100 and prediction horizon P = 7.

Tracking constant reference:

To begin with, the proposed method is tested following a constant reference (5 μm). Figure 3 shows that the proposed method is able to track the constant reference quickly and accurately. The maximum steady-state tracking error is 0.0064 μm, and the steady-state root mean square error is only 0.0018 μm.

Fig. 3
figure 3

Tracking performance of the PEA under constant references

Tracking fixed-frequency sinusoidal reference:

Fixed-frequency reference 4sin(2πftπ/2)+ 5 (μm) is used next, with f varying from 1 to 200 Hz, which are illustrated in Fig. 4. For the low-frequency references (less than 50 Hz), an ultra-precision tracking performance is achieved, and the maximum steady-state tracking error is within 10 nm. When tracking high-frequency trajectories (from 50 to 200 Hz), the tracking performance of the proposed method is also satisfactory. For instance, the maximum steady-state tracking error for the reference of 200 Hz is 0.0326 μm, which is still small enough for many practical applications such as molecule operation and DNA manipulation [21].

Fig. 4
figure 4

Tracking performance of the PEA under different references: a 10 Hz; b 50 Hz; c 100 Hz; d 200 Hz

Tracking mixed-frequency sinusoidal references:

Further experiments are also conducted with two mixed-frequency references, which are set in (12). Figure 5 shows the results of tracking the mixed-frequency signals yd1(t) and yd2(t), respectively. For the reference signal yd1(t), the steady-state error range is [− 0.0075, 0.0074]μm. When tracking yd2(t), which contains high-frequency signals, the steady-state error range is [− 0.0097,0.0093]μm. These results demonstrate that the proposed control method is capable of tracking complex mixed-frequency reference signals with a relatively high accuracy.

$$ \begin{array}{@{}rcl@{}} y_{d1} (t) &=& \sin (14\pi t - 0.1\pi ) + \sin (32\pi t + 0.5\pi ) \\ &&+ 2\sin (58\pi t - \pi ) + 4,\\ y_{d2} (t) &=& 2.2\sin (30\pi t - 0.6\pi ) + \sin (224\pi t + 0.8\pi ) \\ &&+ 0.5\sin (400\pi t - 0.9\pi ) + 4. \end{array} $$
(12)
Fig. 5
figure 5

Tracking performance of the PEA under hybrid frequency references: a hybrid low-frequency reference; b hybrid high-frequency reference

Comparisons with Existing Methods

To further validate the effectiveness and superiority of the adaptive fuzzy control with hysteresis compensator, comparisons are made between the proposed control method and several other control approaches in the literature.

Comparison with Inversion-based MPC:

An inversion-based model predictive control with an integral-of-error state variable was proposed in [35], where an inverse Duhem hysteresis model is connected to the PEA to cancel the hysteresis nonlinearity and then a linear MPC is adopted as feedback controller. Considering the similarity that both MPC and inverse hysteresis model are utilized in this control scheme, comparisons are conducted and the root mean square errors (RMSE) of two methods are given in Table 3, where the reference signal in [35] is 4sin(2πftπ/2)+ 5 (μm). It can be found that when tracking 10 Hz reference trajectory, the root mean square error is reduced by 92.5%.

Table 3 Comparison between the proposed method and the inversion-based MPC in [35]: the RMSE

Comparison with Inversion-Free MPC:

In [29], an inversion-free predictive controller based on a dynamic linearized neural network model is provided for PEAs, which belongs to the feedback control scheme. Considering the superiority of the feedforward–feedback control scheme, the proposed control method is expected to achieve a better tracking performance. Experimental results support this point, which is listed in Table 4. Under a sinusoidal reference 4sin(2πftπ/2)+ 5 (μm), the tracking error of the proposed method is much smaller than that of the inversion-free model predictive control, especially when tracking high-frequency references. For example, under 100 Hz sinusoidal reference, the maximum tracking error (MAXE) of the proposed method is only 13.5% of that of the inversion-free model predictive control. Experiments are also conducted to make comparison with another inversion-free MPC (the adaptive T-S fuzzy model predictive controller proposed in [31]). The experimental results are shown in Table 5, which also demonstrates the better control performance of the proposed controller.

Table 4 Comparison between the proposed method and the inversion-free MPC in [29]: the RMSE and the MAXE
Table 5 Comparison between the proposed method and the inversion-free MPC in [31]: the RMSE and the MAXE

Comparison with Adaptive Fuzzy Internal Model Control:

Further comparison was conducted with a feedforward–feedback control approach proposed in [44], where an adaptive fuzzy hysteresis internal model tracking control is developed for PEAs. The references used in [44] include a fixed-frequency signal \(y_{d3}(t)=0.8 \sin \limits (100\pi t)+1\) and a mixed-frequency signal \(y_{d4}(t)=0.5\sin \limits (100\pi t)+0.35\sin \limits (50\pi t)+1.1\). From the experimental results shown in Table 6, for the fix-frequency signal, the root mean square error of the proposed method is smaller, but the maximum error of the adaptive fuzzy internal model control is slightly lower than that of the proposed method. Under the mixed-frequency reference, the proposed method has a significantly better tracking performance than the adaptive fuzzy internal model control.

Table 6 Comparison between the proposed method and the adaptive fuzzy internal model control in [44]: the RMSE and the MAXE

Comparison with the previous conference paper:

At the end, the proposed adaptive fuzzy controller with hysteresis compensation is compared to the previous work, a composite approach with the model predictive control and the hysteresis compensation, to show the improvement of the proposed method. Table 7 gives the tracking performances of these two methods under the sinusoidal references 4sin(2πftπ/2)+ 5 (μm). When tracking low-frequency references (less than 50 Hz), the tracking errors of these two methods are quite similar, and the tracking performance is slightly improved by the proposed method in this paper. The experimental results show that the proposed method demonstrates its strength under high-frequency references. Taking the 200 Hz sinusoidal reference as an example, the root mean square error of the proposed adaptive fuzzy controller is only 23.9% of that of the previously proposed method.

Table 7 Comparison between the proposed method and the previous conference paper [32]: the RMSE and the MAXE

Conclusion

This paper proposes an adaptive fuzzy model predictive controller with hysteresis compensation for the tracking control of PEAs, which belongs to a feedforward–feedback control scheme. First, in order to eliminate the hysteresis nonlinearity of PEAs, the inverse Duhem hysteresis model is adopted as a feedforward compensator. Then, a fuzzy model is adopted to describe the relation between the input voltage and the output displacement of PEAs, and an adaptive method is developed to increase the model accuracy. Based on this adaptive fuzzy model, sub-controllers are designed for each rule and the overall predictive controller can be obtained by integrating all the sub-controllers. Extensive experiments are conducted to demonstrate the effectiveness of the proposed method. Furthermore, comparisons with inversion-based MPC, inversion-free MPC, and adaptive fuzzy internal model controller are also carried out to show the superiority of the proposed method. This paper is a further study of previous conference paper [32], the improvement is that the root mean square tracking error of the proposed method is reduced by 70% under 100 Hz sinusoidal reference. In the future, more advanced positioning/tracking control algorithms [45,46,47,48,49] are to be employed to further improve the control performance of PEAs.