The controller design basically breaks down into three phases. Firstly, a control loop that input-output linearizes the pressurization dynamics is designed. Then a cascaded control structure, composed of an inner force and an outer position control loop, is derived. In the last step a sliding mode based observer, providing estimates of the unknown system states and load forces is designed. In order to achieve superior estimates of the load force the friction forces are compensated based on a predetermined mathematical model.
Exact linearization of the pressurization subsystem
Consider the pressurization subsystem governed by the last two differential equations in (2) with the output
$$\begin{aligned} y_{F}=F_{L}=A_{k}(x_{3}-\alpha x_{4})=:h_{F}(\boldsymbol {x}), \end{aligned}$$
(9)
i.e. the hydraulic force acting on the piston. Taking its first time derivative yields
$$\begin{aligned} \dot {y}_{F}=\mathcal{L}_{f}h_{F}(\boldsymbol {x})+ \mathcal{L}_{g}h_{F}(\boldsymbol {x})u, \end{aligned}$$
(10)
where \(\mathcal{L}_{f}h_{F}(\boldsymbol {x})\) is the Lie derivative of \(h_{F}\) with respect to \(f\) and \(\mathcal{L}_{g}h_{F}(\boldsymbol {x})\) with respect to \(g\) (see [13]). The input \(u\) appears explicitly in the first time derivative of the output \(y_{F}\), i.e. \(\mathcal{L}_{g}h_{F}(\boldsymbol {x})\neq0\). Solving relation (10) for the input \(u\) gives a linearizing feedback control law of the form
$$\begin{aligned} u = \frac{1}{\mathcal{L}_{g}h_{F}(\boldsymbol {x})} \bigl[v-\mathcal {L}_{f}h_{F}( \boldsymbol {x}) \bigr] \end{aligned}$$
(11)
with the scalar functions
$$\begin{aligned} \mathcal{L}_{f}h_{F}&=A_{k} \bigl(K_{li}(x_{3}-x_{4})-A_{k}x_{2} \bigr) \bigl(\kappa_{A}+\alpha ^{2}\kappa_{B} \bigr), \end{aligned}$$
(12a)
$$\begin{aligned} \mathcal{L}_{g}h_{F}&=A_{k}c_{v} ( \kappa_{A}\sqrt{\xi_{3}}+\alpha A_{k} \kappa_{B}\sqrt{\xi_{4}} ). \end{aligned}$$
(12b)
The variable \(v\) is regarded as a new input. The closed loop system exhibits the first order dynamics
$$\begin{aligned} \dot {y}_{F}=v. \end{aligned}$$
(13)
The output \(F_{L}\) of the second order pressurization subsystem has relative degree \({\delta=1}\) w.r.t. the input \(u\). The first order internal dynamics are rendered unobservable by the control law (11). A discussion showing the asymptotic stability of these dynamics is provided by e.g. Jelali and Kroll [6] and is omitted in this work.
Selecting the new input as
$$\begin{aligned} v = k_{0}(F_{L,d}-F_{L}), \end{aligned}$$
(14)
where \(F_{L,d}\) denotes the desired piston force and \(k_{0}\) is a positive constant, yields a inner force control loop with closed loop dynamics
$$\begin{aligned} \frac{1}{k_{0}}\dot {F}_{L}+F_{L}=F_{L,d}. \end{aligned}$$
(15)
The authors Ayalew and Kulakowski [1] and Jelali and Kroll [6] suggest to choose the desired piston force as
$$\begin{aligned} F_{L,d}&=m_{k}\ddot {x}_{p,d}-k_{v}({x}_{2}- \dot {x}_{p,d})-k_{p}({x}_{1}-{x}_{p,d}) \\ &\quad +F_{\mathrm{ext}}+F_{r}. \end{aligned}$$
(16)
Thus, a outer feedback loop for position, respectively reference trajectory tacking is obtained. By defining \(e:=x_{1}-x_{p,d}\) and making use of dynamic equation of the piston movement
$$\begin{aligned} m_{k}\ddot{x}_{1}=F_{l}-F_{r}-F_{\mathrm{ext}}, \end{aligned}$$
(17)
one gets a differential equation
$$\begin{aligned} m_{k}\ddot {e}_{}+k_{v}\dot {e}_{}+k_{p}e=F_{L}-F_{L,d} \end{aligned}$$
(18)
describing the position error dynamics. Selecting the parameters \(k_{v}\) and \(k_{p}\) strictly positive will ensure asymptotic stability of the tracking error. The authors Komsta et al. [8] suggest to choose
$$\begin{aligned} k_{p}=\omega_{0}^{2}m_{k},\quad k_{v}=2\omega_{0}m_{k}, \end{aligned}$$
(19)
which ensures second order system behavior, described by the transfer function representation
$$\begin{aligned} G(s)=\frac{\omega_{0}^{2}}{s^{2}+\zeta\omega_{0}s+\omega_{0}^{2}}, \end{aligned}$$
(20)
with damping coefficient \(\zeta=1\) and cut-off frequency \(\omega_{0}\). Note that this control strategy does not require any knowledge on the piston acceleration. However, implementation of the outer control loop requires knowledge of the external load- and friction force. This information are rarely available in real world applications and therewith need to be estimated.
Finite time convergent parameter estimation of friction force
In order to compensate for the friction effects it is necessary to describe them by a mathematical model. In literature there are a wide number of friction models studied. Most of them are empiric models. A common approach is, to model the friction effects by a static relationship between friction force and velocity, i.e. by a so-called static friction model. In systems operating at low velocity or subject to frequent change of direction, the friction behavior may be described more accurately by a dynamical friction model. However, compared to static models, dynamic friction models usually involve a larger number of parameters which often makes the identification process more complex. The most basic static models are composed of Coulomb friction and linear viscous damping. A suitable static model, describing the friction effects in the considered hydraulic cylinder, may be expressed as
$$\begin{aligned} \hat{F}_{r}=\nu{x}_{2}+F_{c0} \text{sign}({x}_{2}). \end{aligned}$$
(21)
The model involves the two unknown parameters \(\nu\) and \(F_{c0}\). In order to obtain these parameter an on-line identification procedure is carried out at the unloaded system.
Consider therefore (1) expressed as a system of first order differential equations
$$\begin{aligned} \dot {x}_{1}&=x_{2} \end{aligned}$$
(22a)
$$\begin{aligned} \dot {x}_{2}&=\frac{1}{m_{k}}\bigl(F_{L}-F_{r}(x_{2}) \bigr) \end{aligned}$$
(22b)
Note that (22b) together with (21) can be rewritten in the form
$$\begin{aligned} \dot {x}_{2}=-\frac{1}{m_{k}}\varGamma(t)\theta+\frac{1}{m_{k}}F_{L}, \end{aligned}$$
(23)
where the vector \(\varGamma(t)= [{x}_{2} \ \text{sign}(x_{2}) ] \) contains the known piecewise constant functions and \(\theta^{\mathrm{T}}= [\nu \ F_{c0} ]\) the constant parameters to be identified. The sliding mode based finite time convergent parameter estimation scheme, proposed by Moreno and Guzman [11] is employed for the on-line identification task. The algorithm is an extension to the recursive Least Squares algorithm in which non-linear injection terms provide for finite time convergence and robust stability properties. A major advantage of this algorithm is that it provides bounded estimation errors even if persistence of excitation is not guaranteed. The estimator reads as
$$\begin{aligned} \dot {\hat{x}}_{2}&=-k_{1}\phi(e_{x_{2}})+\frac{1}{m_{k}} \varGamma(t)\theta +\frac{1}{m_{k}}F_{L} \end{aligned}$$
(24a)
$$\begin{aligned} \dot {\hat{\theta}}_{}&=-k_{2}\phi(e_{x_{2}}) \varGamma(t)^{\text{T}}, \end{aligned}$$
(24b)
with the injection terms
$$\begin{aligned} \phi_{1}&=\mu_{1}|e_{x_{2}}|^{\frac{1}{2}} \mathrm{sign}(e_{x_{2}})+\mu _{2}e_{x_{2}},\quad \mu_{1},\mu_{2}>0 \end{aligned}$$
(25a)
$$\begin{aligned} \phi_{1}&=\frac{\mu_{1}^{2}}{2}\text{sign}(e_{x_{2}})+ \frac{3}{2}\mu_{1}\mu _{2}|e_{x_{2}}|^{\frac{1}{2}} \mathrm{sign}(e_{x_{2}})+\mu_{2}^{2}e_{x_{2}} \end{aligned}$$
(25b)
and the error signal \(e_{x_{2}}=\hat{x}_{2}-x_{2}\). Selecting proper positive constant parameters \(k_{1}\) and \(k_{2}\) will ensure finite time convergence of the closed loop error dynamics
$$\begin{aligned} \dot {e}_{x_{2}}&=-k_{1}\phi(e_{x_{2}})+ \frac{1}{m_{k}}\varGamma(t){e}_{\theta } \end{aligned}$$
(26a)
$$\begin{aligned} \dot {e}_{\theta}&=-k_{2}\phi(e_{x_{2}})\varGamma(t)^{\text{T}}, \end{aligned}$$
(26b)
where the parameter estimation error is defined as \({e}_{\theta}=\hat {\theta}-\theta\).
For the identification task the sinusoidal reference signal \(x_{p,d} = 0.06\sin(0.5\pi t)+0.02\sin(3.5\pi t)\) is applied to the unloaded real world closed loop system. The reference signal and the measured position is depicted in the lower plot in Fig. 3. The upper plot shows the evolution of the estimated parameters. The coulomb friction coefficient takes the final value \(F_{c0}\approx20\) N, the viscous friction coefficient \(\nu \approx 83.3~\mbox{N}\,\mbox{s/m}\). In order to validate the model, the evolution of the friction force \(F_{r}\) is calculated off-line from Eq. (22b). Due to the accurate reference tracking it is reasonable to analytically calculate the acceleration of the piston by two times differentiating the reference signal w.r.t. time to avoid numerical differentiation of the measured signals. Note that the pressures \(p_{A}\) and \(p_{B}\) are available from real time measurements. The obtained values are plotted together with the on-line identified characteristic curve of the friction model in Fig. 4.
Sliding mode based state observation and unknown load force estimation
The next design step aims to develop a sliding mode observer that provides both, an estimate of the unmeasured system state, i.e. the piston velocity \(x_{2}\), and the external load force \(F_{\mathrm{ext}}\). The observer is based on higher order sliding mode (HOSM) differentiators of arbitrary order proposed by Levant [9]. A HOSM differentiator allows real time robust exact time-differentiation of the measured system output up to any desired order \(n\) supposing that its \(n\)th derivative has known Lipschitz constant \(L\). An exact differentiator provides output signals \(z_{i}\)
\((i=0,1,\ldots,n)\) coinciding with the first \(n\) time-derivatives of a noise-free input signal \(x_{0}\) within finite time. Denoting the estimation error by
$$\begin{aligned} \sigma_{0}&:=z_{0}-x_{0}, \end{aligned}$$
(27)
the recursive form of the \(n\)th order HOSM differentiator is written as
$$\begin{aligned} \begin{aligned} \dot {z}_{0}&=-\mu_{0}|\sigma|^{\frac{n}{n+1}} \mathrm{sign}(\sigma )+z_{1}, \\ \dot {z}_{1}&=-\mu_{1} |\sigma|^{\frac{n-1}{n+1}}\mathrm{sign}(\sigma )+z_{2}, \\ &\vdots \\ \dot {z}_{n}&=-\mu_{n} \mathrm{sign}({\sigma}). \end{aligned} \end{aligned}$$
(28)
The estimation error dynamics is captured by the differential inclusion
$$\begin{aligned} \begin{aligned} \dot {\sigma}_{i}&=-\mu_{i}| \sigma|^{\frac{n-i+1}{n+1}}\mathrm {sign}(\sigma)+\sigma_{i+1}, \\ \dot {\sigma}_{n}&\in-\mu_{n}\mathrm{sign}({\sigma})+[-L,L], \end{aligned} \end{aligned}$$
(29)
where \(\sigma_{i}:=z_{i}-x_{i}\) and
$$\begin{aligned} \dot {x}_{k-1}=x_{k} \quad\text{with } k=1,\ldots,n+1. \end{aligned}$$
(30)
It is well known that the accuracy of this differentiator in the presence of noise is given by
$$\begin{aligned} |\sigma_{i}|=\mathcal{O} \bigl(\varepsilon^{\frac{n+1-i}{n+1}} \bigr) \end{aligned}$$
(31)
which is shown to be asymptotically optimal in the presence of infinitesimal input noises, see [10]. For the implementation at the hydraulic setup it is more likely to consider a discrete time version of the differentiator. Typically, the Euler numerical scheme is applied to obtain a discrete time version of (28). However it is known from literature, that this causes differentiation accuracy deterioration and therefore, in this paper, a proper discretization scheme preserving the accuracy properties of (28) is used. This discrete time differentiator is given by
$$\begin{aligned} \begin{aligned} {z}_{i,k+1}&={z}_{i,k}-\tau \mu_{0}|\sigma|^{\frac{n-i}{n+1}}\mathrm {sign}(\sigma)+\sum \limits _{j=1}^{n-i}\frac{\tau^{j}}{j!} z_{j+i,k} \\ {z}_{n,k+1}&=z_{n,k}-\tau\mathrm{sign}({\sigma}), \end{aligned} \end{aligned}$$
(32)
see [10]. Under constant sampling, with sampling step size \(\tau\), the accuracies
$$\begin{aligned} |\sigma_{i}|\leq\bar{\mu}_{i}\rho^{n-i+1},\quad \rho=\mathrm{max}\bigl\{ \tau,\,\varepsilon^{\frac{1}{n+1}}\bigr\} \end{aligned}$$
(33)
are established in finite time. Therein the positive constants \(\bar{\mu}_{i}\) depend only on the differentiator parameters \(\mu_{i}\).
For the design purpose consider the dynamics of the piston movement captured by Eq. (17) expressed as
$$\begin{aligned} \dot {x}_{1}&=x_{2}, \\ \dot {x}_{2}&=\frac{1}{m_{k}} (F_{L}-F_{r}-F_{\mathrm{ext}} ), \end{aligned}$$
(34)
where \(x_{1}\) is measured. In order to reconstruct the piston velocity \(x_{2}\) and the bounded external load force \(F_{\mathrm{ext}}\) a differentiator of minimum order two is required. Motivated by relation (33), a 3rd order differentiator is implemented. Hence, the order artificially is increased by one which yields improved estimates in the presence of noise and sampling. In particular the observer for system (35) based on the differentiator reads as
$$\begin{aligned} \begin{aligned} \dot {z}_{0}&=-\mu_{0}|z_{0}-x_{1}|^{\frac{3}{4}} \mathrm {sign}(z_{0}-x_{1})+z_{1}, \\ \dot {z}_{1}&=-\mu_{1}|z_{0}-x_{1}|^{\frac{1}{2}} \mathrm {sign}(z_{0}-x_{1})+z_{2}+ \frac{1}{m_{k}} (F_{L}-\hat{F_{r}} ), \\ \dot {z}_{2}&=-\mu_{2}|z_{0}-x_{1}|^{\frac{1}{4}} \mathrm {sign}(z_{0}-x_{1})+z_{3}, \\ \dot {z}_{3}&=-\mu_{3}\mathrm{sign}(z_{0}-x_{1}). \end{aligned} \end{aligned}$$
(35)
Introducing the observer estimation error \(e_{0}:=z_{0}-x_{1}\) the estimation error dynamics is given by
$$\begin{aligned} \begin{aligned} \dot {e}_{0}&=-\mu_{0}|e_{0}|^{\frac{3}{4}} \mathrm{sign}(e_{0})+e_{1}, \\ \dot {e}_{1}&=-\mu_{1}|e_{0}|^{\frac{1}{2}} \mathrm{sign}(e_{0})+e_{2}, \\ \dot {e}_{2}&=-\mu_{2}|e_{0}|^{\frac{1}{4}} \mathrm{sign}(e_{0})+e_{3}, \\ \dot {e}_{3}&=-\mu_{3}\mathrm{sign}(e_{0})+ \frac{1}{m_{k}}\ddot {F}_{\mathrm{ext}}. \end{aligned} \end{aligned}$$
(36)
where \(e_{1}:=z_{1}-x_{2}\), \(e_{2}:=z_{2}+\frac{F_{\mathrm{ext}}}{m_{k}}\) and \(e_{3}=z_{3}+\frac{1}{m_{k}}\dot {F}_{\mathrm{ext}}\). It should be noted, that the friction force \(F_{r}\) is assumed to be compensated by \(\hat{F}_{r}\) exactly and it is supposed that
$$\begin{aligned} \bigl\vert \ddot {F}_{\mathrm{ext}}(t)\bigr\vert \leq L m_{k}, \qquad\forall t\geq0. \end{aligned}$$
(37)
Note that the structure of Eq. (36) is equivalent to (29). Hence, the estimation errors converge to zero within finite time. Consequently the velocity and the external force are recovered by
$$\begin{aligned} \hat{x}_{2}=z_{1}, \qquad\hat{F}_{\mathrm{ext}}=m_{k}z_{2}, \end{aligned}$$
(38)
respectively. According to the discrete time differentiator in Eq. (32) the observer is implemented as
$$\begin{aligned} \begin{aligned} {z}_{0,k+1}&={z}_{0,k}- \tau\mu_{0}|e_{0,k}|^{\frac{3}{4}}\mathrm {sign}(e_{0,k}) \\ &\quad +\tau z_{1,k}+\frac{\tau^{2}}{2}z_{2,k}+ \frac{\tau ^{3}}{3!}z_{3,k}, \\ {z}_{1,k+1}&={z}_{1,k}-\tau\mu_{1}|e_{0,k}|^{\frac{2}{4}} \mathrm {sign}(e_{0,k}) \\ &\quad +\tau z_{2,k}+\frac{\tau^{2}}{2}z_{3,k}+\tau \frac {1}{m_{k}} (F_{L}-\hat{F_{r}} ), \\ {z}_{2,k+1}&={z}_{2,k}-\tau\mu_{2}|e_{0,k}|^{\frac{1}{4}} \mathrm {sign}(e_{0,k})+\tau z_{3,k}, \\ {z}_{3,k+1}&={z}_{3,k}-\tau\mu_{3} \mathrm{sign}(e_{0,k}). \end{aligned} \end{aligned}$$
(39)