Friday, January 17, 2020

Identification and Compensation of Hysteresis Using Discrete Backlash Operator

In this article, I would like to present about 'A Discrete Backlash Operator for Identification and Compensation of Hysteresis and Non-linearity for Piezoelectric Actuator' and its practical implementation in MatLab and LabView. The authors, Yan Naing Aye and Ang Wei Tech, are with School of Mechanical and Aerospace Engineering, Nanyang Technological University, 50 Nanyang Avenue, Singapore 639798. yan9aye@gmail.com, WTAng@ntu.edu.sg .

The paper in PDF format and the implemented code in MatLab and LabVIEW are available at

https://yan9a.github.io/DiscreteBacklashOperator/yan-naing-aye-wytu-icstsd-2018.pdf

and

https://github.com/yan9a/DiscreteBacklashOperator

Abstract



A new invertible digitized model called Discrete Backlash Operator is proposed to model complex hysteretic nonlinearities. A discrete backlash operator is formed by combining multiple elementary virtual gears called discrete backlash gears. A discrete backlash operator with n discrete backlash gears has 2 power n possible states. The inverse model of discrete backlash operator is also developed for a feedforward controller to control the piezoelectric actuator.


I. INTRODUCTION



Piezoelectric actuators are popular in real-time micromanipulation applications due to their rapid and accurate response. Handheld microsurgical devices such as Micron [1] and iTrem [2] uses piezoelectric actuators for their micromanipulators. The effective control of piezoelectric actuators is limited by their undesired complex hysteretic nonlinearities.

To overcome the limitation due to complex hysteretic nonlinearities and to achieve the micro-meter scale accuracy, micromanipulation systems typically deploy various types of controllers. The controller of an electric charge control system uses induced charge to control a piezoelectric actuator instead of applying voltage to it [3], [4] because the relationship between deformation of a piezoceramic and the induced charge has less hysteresis. Requirement of specialized equipments to measure and amplify the induced charge makes this approach unsuitable for small, space constrained systems such as our handheld instrument.

Another approach uses closed-loop control systems to reduce the error caused by nonlinear hysteresis of piezoelectric actuators. This approach also is not a suitable choice to control micromanipulator for realtime high frequency hand tremor compensation because of requirement for accurate displacement sensor and intrinsic stability problem [5].

Feedforward controllers improve the accuracy of hysteretic actuator response by implementing inverse function of a mathematical hysteresis model that closely represents the complex hesteretic behaviour of the actuator. Due to its simplicity and analytically computable inverse, Prandtl-Ishlinskii model [6] is well known among several mathematical models that have been proposed to describe the complex hysteretic nonlinearities.

Several derivative models based on Prandtl-Ishlinskii model have been proposed. To account for the hysteretic nonlinearity at varying actuation frequency, Ang et al. [7] proposed a rate-dependent modified Prandtl-Ishlinskii operator. Tan et al. [8] proposed an extended PrandtlIshlinskii operator to tackle ill-conditioned situations. Jiang et al. [9] proposed a modified Prandtl-Ishlinskii operator to model the asymmetric hysteresis nonlinearity of piezoelectric actuators.

Unlike existing approaches, a new digitized model for hysteretic nonlinearity is proposed in this paper. The proposed model and its inverse are simpler than the Prandtl-Ishlinskii model while maintaining the comparable modeling accuracy. The amount of computation and calculation time are also lesser.

II. Modeling of Hysteresis



In this paper, a new model called Discrete Backlash Operator is proposed to model complex hysteretic nonlinearities. A discrete backlash operator is formed by combining multiple elementary virtual gears called discrete backlash gears. An elementary discrete backlash gear has two properties, \(\Delta X \) and \(\Delta Y\), to define its input and output characteristics. It also has a bistable state, \(b\), which can be either 0 or 1. A discrete backlash operator with \(n\) discrete backlash gears has \(2^n\) possible states. The current state of discrete backlash operator is represented by a binary number (\(B\)) as shown in (1). $$ \begin{equation} B =b_{n-1} \dots b_1 b_0 \hspace{35pt} \ldots (1) \end{equation} $$ where \(b_0\) is the state of the least significant gear and \(b_n\) is that of the most significant gear. A discrete backlash operator has the following variables that depend on its current state.

\(X\)
The input value that corresponds to the current state.
The value of \(X\) can be represented by (2).

\(Y\)
The output value that corresponds to the current state.
The value of \(Y\) can be represented by (3).

\(S\)
The number that identifies the index of the least significant one bit of the current state.

\(Z\)
The number that identifies the index of the least significant zero bit of the current state.



$$ \begin{equation} X_B =X_0 + \sum_{i=0}^{n-1} b_i \times \Delta X_i \hspace{35pt} \ldots (2) \end{equation} $$ $$ \begin{equation} Y_B =Y_0 + \sum_{i=0}^{n-1} b_i \times \Delta Y_i \hspace{35pt} \ldots (3) \end{equation} $$ where \(X_0\) and \(Y_0\) are the X and Y coordinates of the operator when its state, \(B\), is zero.

The value of \(S\) is found by using a bitwise operation called find first set. Similarly, the bitwise operation find first zero is used to find the value of \(Z\). They are common operations in digital computing. Many computer architectures include instructions implemented in hardware to rapidly perform these operations. If these operations are not available in hardware, they can be efficiently implemented in software by using an algorithm such as de Bruijn Sequences [10].

\(S\) and \(Z\) are obtained from the current state \(B\) as follows. $$ \begin{equation} S = f^1(B) \hspace{35pt} \ldots (4) \end{equation} $$ $$ \begin{equation} Z = f^0(B) \hspace{35pt} \ldots (5) \end{equation} $$ where \(f^1\) is find first set operation and \(f^0\) is find first zero operation. The returned values of \(f^1(0)\) and \(f^0(2^n-1)\) for a discrete backlash operator are defined as \(n\).

A state of a discrete backlash operator can change to either one of its two neighbours, upper state or lower state. When a current sate \(B\) goes up to next upper state, its bit \(b_Z\) is set. The relations between the properties of the current state, \(B_k\), and the next state, \(B_{k+1}\) can be represented recursively as follows.

$$ \begin{equation} X_{B_{k+1}} =X_{B_k} + \Delta X_Z \hspace{35pt} \ldots (6) \end{equation} $$ $$ \begin{equation} Y_{B_{k+1}} =Y_{B_k} + \Delta Y_Z \hspace{35pt} \ldots (7) \end{equation} $$

Similarly, when it goes down to next lower state, its bit \(b_S\) is cleared. The relations between the properties of the next state and the current state are as follows.

$$ \begin{equation} X_{B_{k+1}} =X_{B_k} - \Delta X_S \hspace{35pt} \ldots (8) \end{equation} $$ $$ \begin{equation} Y_{B_{k+1}} =Y_{B_k} - \Delta Y_S \hspace{35pt} \ldots (9) \end{equation} $$

For the piecewise linear representation of a hysteresis curve shown in Figure 1, there are two linear segments as the curve goes up from the bottom to the top. Therefore, it can be represented by two discrete backlash gears. The first segment corresponds to the least significant gear and the last segment corresponds to the most significant gear.


Figure 1. Hysteresis curve for discrete backlash operator with two gears.


In general, a discrete backlash operator with \(n\) discrete backlash gears is represented by

$$ \begin{equation} \mathbf{H} =\begin{bmatrix}{\Delta X_0} & {\ldots} & {\Delta X_{n-1}}\\ {\Delta Y_0} & {\ldots} & {\Delta Y_{n-1}} \end{bmatrix} \hspace{35pt} \ldots (10) \end{equation} $$

where the \(n\) columns of the matrix represent \(n\) discrete backlash gears. A discrete backlash operator with three gears has eight possible states as shown in Figure 2.


Figure 2. Hysteresis curve for discrete backlash operator with three gears.


Each time a discrete backlash operator with current state \(B_k\) receives an input, it performs the following procedure to produce the corresponding output.

  1. If the input value, \(x\), is greater than or equal to \(X_{B_k}\) and less than \(X_{B_k}+\Delta X_Z\), the value of the output \(y\) is calculated using (11).
  2. If the input value, \(x\), is greater than or equal to \(X_{B_k}+\Delta X_Z\), change the state of the operator to its upper neighbour by setting \(b_Z\), update the value of \(X_{B_k}\) and \(Y_{B_k}\) using (6) and (7), and repeat the procedure.
  3. If the input value, \(x\), is less than \(X_{B_k}\) and greater than \(X_{B_k} - \Delta X_S\), the value of the output \(y\) is calculated using (12).
  4. If the input value, \(x\), is less than or equal to \(X_{B_k}-\Delta X_S\), change the state of the operator to its lower neighbour by clearing \(b_S\), update the value of \(X_{B_k}\) and \(Y_{B_k}\) using (8) and (9), and repeat the procedure.


$$ \begin{equation} y =Y_{B_k} + \frac{\Delta Y_Z}{\Delta X_Z} \times (x - X_{B_k}) \hspace{35pt} \ldots (11) \end{equation} $$ $$ \begin{equation} y =Y_{B_k} + \frac{\Delta Y_S}{\Delta X_S} \times (x - X_{B_k}) \hspace{35pt} \ldots (12) \end{equation} $$

III. Discrete Point Operator



The output of the discrete backlash operator has odd symmetry property to the centre point of the hysteresis loop. In fact, most of the hysteresis loops produced by real actuators are not symmetric. Therefore, another operator that represents asymmetrical, memory free nonlinearities is usually combined with such a symmetrical hysteresis operator to overcome the problem. In this section, another modeling technique called discrete point operator is proposed which is similar to the discrete backlash operator to model memory free nonlinearities.

A discrete point operator is composed of a certain number of points each with two properties \(\Delta X\) and \(\Delta Y\) to represent the input and output relationship. The current state of a discrete point operator with order \(m\) is represented by a number, \(C\). The range of \(C\) is \(0 \le C \le (m-1)\). A discrete point operator with three linear segments is shown in Figure 3.


Figure 3. Nonlinear curve for discrete point operator with three points.


The input and output values corresponding to the current state, \(C\), of a discrete point operator is as follows.

$$ \begin{equation} X_C =X_0 + \sum_{i=0}^{C-1} \Delta X_i ; \qquad C=1,\ldots,m-1 \hspace{35pt} \ldots (13) \end{equation} $$ $$ \begin{equation} Y_C =Y_0 + \sum_{i=0}^{C-1} \Delta Y_i ; \qquad C=1,\ldots,m-1 \hspace{35pt} \ldots (14) \end{equation} $$

where \(X_0\) and \(Y_0\) are the X and Y coordinates of the operator when its state, \(C\), is zero.

In general, a discrete point operator with \(m\) segments is represented by

$$ \begin{equation} \mathbf{S} =\begin{bmatrix}{\Delta X_0} & {\ldots} & {\Delta X_{m-1}} \\ {\Delta Y_0} & {\ldots} & {\Delta Y_{m-1}} \end{bmatrix} \hspace{35pt} \ldots (15) \end{equation} $$

where each column represents each point of the operator. Each time a discrete point operator with current state \(C\) receives an input, it performs the following procedure to produce the corresponding output.

  1. If the input value, \(x\), is greater than or equal to \(X_C\) and less than or equal to \(X_C+\Delta X_C\), the value of the output \(y\) is calculated using (16).
  2. If the input value, \(x\), is greater than \(X_C+\Delta X_C\), change the state of the operator to its upper neighbour by increasing \(C\) if it is less than \(m-1\), update the value of \(X_C\) and \(Y_C\) by adding \(\Delta X_C\) and \(\Delta Y_C\) respectively, and repeat the procedure.
  3. If the input value, \(x\), is less than \(X_C\) and \(C\) is greater than 0, change the state of the operator to its lower neighbour by decreasing \(C\), update the value of \(X_C\) and \(Y_C\) by subtracting \(\Delta X_C\) and \(\Delta Y_C\) respectively, and repeat the procedure.


$$ \begin{equation} y =Y_{C} + \frac{\Delta Y_C}{\Delta X_C} \times (x - X_C) \hspace{35pt} \ldots (16) \end{equation} $$

IV. Inverse Model



The inverse model of the discrete backlash operator produces the hysteresis path which is reflection of the original path along the 45\(^{\circ}\) line. A linear response is obtained by cascading the inverse hysteresis operator \(\Gamma^{-1}\) as a feedforward controller with the actual hysteresis, which is represented by the hysteresis operator \(\Gamma\). The proposed model for the inverse feedforward controller is illustrated in Figure (4).


Figure 4. Block diagram of the inverse discrete backlash operator as a feedforward controller.


The parameters of the inverse discrete backlash operator and the inverse discrete point operator can be found by simply exchanging \(\Delta X\) with \(\Delta Y\) for each of their basic element.

$$ \begin{equation} \Delta X'_{i} =\Delta Y_{i} ; \qquad i=0,\ldots,n-1 \hspace{35pt} \ldots (17) \end{equation} $$ $$ \begin{equation} \Delta Y'_{i} =\Delta X_{i} ; \qquad i=0,\ldots,n-1 \hspace{35pt} \ldots (18) \end{equation} $$

Due to its recursive nature, the amount of calculation for discrete backlash operator does not depend on the number of segments, n, while that of PI operator is directly proportional to the order, n. As a result, the amount of calculation required for a feedforward controller using discrete backlash operator and discrete point operator is much lesser than that of PI and dead-zone operator.

V. Experimental Results



In this section, the hysteretic nonlinearity of a multilayered piezoceramic, PICMA P-885.91 (Physik Instrumente, Karlsruhe, Germany), is modeled using discerete backlash operator. Two experiments have been performed. The first experiment is to observe the behaviour of the piezoelectric actuator and to obtain the parameters of the model. The second experiment is to test the performance of the feedforward controller deploying the inverse discrete backlash operator.

At first, the responses of the piezoelectric actuator to periodic control inputs is measured experimentally to find the hysteresis model parameters. The control input applied to the piezoelectric actuator to model its behaviour is 1 Hz sinusoidal with a full-scale 3.6 V peak to peak as shown in Figure 5. The measured piezoelectric actuator response to that input is illustrated in Figure 6 with red line and in Figure 7 with green dotted line. Leastsquares fitted discrete backlash operator model (n=25) is superimposed on the measured response with blue solid line. The values of \(K\), \(X_0\), and \(Y_0\) are 12.53, 0, and -22.97 respectively.


Figure 5. Control input which is applied to the piezoelectric actuator to model the behaviour of its hysteretic nonlinearity.



Figure 6. The response of the piezoelectric actuator versus time.



Figure 7. Light green dashed lines are the measured piezoelectric actuator response and blue solid lines are the identified discrete backlash operator (n=25) model.


To test the performance of the feedforward controller deploying the inverse model, a 1 Hz sinusoidal signal with gradually increasing amplitude from 0 µm to 20 µm is used as the control input and the response of the piezoelectric actuator is measured. The RMSE between the desired control input and the measured actuator response without compensation is 1.68 µm (Figure 8, Figure 9, and Figure 10).


Figure 8. Solid blue lines are desired control input and red dotted lines are the response of the piezoelectric actuator when inverse feedforward controller is not deployed.



Figure 9. Error between the desired control input and the actual actuator when inverse feedforward controller is not deployed.



Figure 10. Input and output displacement relationship when inverse feedforward controller is not deployed.


Thereafter, a feedforward controller deploying the inverse model is used to drive the piezoelectric actuator to obtain an identity mapping between the desired actuator output and actual actuator response. The inverse operator is obtained by using the method mentioned in the previous section. The RMSE between the desired control input and the measured actuator response with compensation is reduced to 0.58 µm. (Figure 11, Figure 12,and Figure 13).


Figure 11. Solid blue lines are desired control input and red dotted lines are the response of the piezoelectric actuator when inverse feedforward controller is deployed.



Figure 12. Error between desired control input and the actual actuator response when inverse feedforward controller is deployed.



Figure 13. Input and output displacement relationship when inverse feedforward controller is deployed.


VI. Conclusion



The discrete backlash operator is proposed as an alternative to Prandtl-Ishlinskii modeling approach. The advantages of the discrete backlash operator are its simpler and intuitive model, less amount of calculation, and simpler parameter identification. The proposed model can be easily extended or modified to handle its response behaviour for out of range input. The amount of calculation is significantly reduced for a large value of n. For a smaller n, the output values for their corresponding states can be stored in a lookup table and the amount of calculation can be reduced further. Due to its simple nature, the discrete backlash operator is suitable for applications that requires very high sampling rate or for the systems using low-end digital hardware.

References



[1] R. MacLachlan, B. Becker, J. Cuevas Tabarés, G. Podnar, L. Lobes, and C. Riviere, “Micron: An actively stabilized handheld tool for microsurgery,” Robotics, IEEE Transactions on, vol. 28, pp. 195 –212, feb. 2012.

[2] W. T. Latt, U. X. Tan, C. Y. Shee, and W. T. Ang, “A compact hand-held active physiological tremor compensation instrument,” in Advanced Intelligent Mechatronics, 2009. AIM 2009. IEEE/ASME International Conference on, pp. 711 –716, july 2009.

[3] K. Furutani, M. Urushibata, and N. Mohri, “Displacement control of piezoelectric element by feedback of induced charge,” Nanotechnology, vol. 9, no. 2, p. 93, 1998.

[4] M. Goldfarb and N. Celanovic, “Modeling piezoelectric stack actuators for control of micromanipulation,” Control Systems, IEEE, vol. 17, pp. 69–79, Jun 1997.

[5] J. A. Main and E. Garcia, “Piezoelectric stack actuators and control system design: Strategies and pitfalls,” Journal of Guidance, Control, and Dynamics, vol. 20, pp. 479–485, May 1997.

[6] K. Kuhnen, “Modeling, identification and compensation of complex hysteretic nonlinearities: A modified prandtlishlinskii approach,” European Journal of Control, vol. 9, no. 4, pp. 407 – 418, 2003.

[7] W. T. Ang, P. Khosla, and C. Riviere, “Feedforward controller with inverse rate-dependent model for piezoelectric actuators in trajectory-tracking applications,” Mechatronics, IEEE/ASME Transactions on, vol. 12, no. 2, pp. 134–142, 2007.

[8] U. X. Tan, W. T. Latt, C. Y. Shee, C. Riviere, and W. T. Ang, “Feedforward controller of ill-conditioned hysteresis using singularity-free prandtl-ishlinskii model,” Mechatronics, IEEE/ASME Transactions on, vol. 14, no. 5, pp. 598–605, 2009.

[9] H. Jiang, H. Ji, J. Qiu, and Y. Chen, “A modified prandtlishlinskii model for modeling asymmetric hysteresis of piezoelectric actuators,” IEEE Transactions on Ultrasonics, Ferroelectrics, and Frequency Control, vol. 57, pp. 1200–1210, May 2010.

[10] C. E. Leiserson, H. Prokop, and K. H. Randall, “Using de bruijn sequences to index a 1 in a computer word,” 1998.


The paper was presented at International Conference on Science and Technology for Sustainable Development, Yangon, Myanmar, November 2018.


No comments:

Post a Comment

Comments are moderated and don't be surprised if your comment does not appear promptly.