# Adaptive Robust Fuzzy Impedance Control of an Electro-Hydraulic Actuator
## 2 System Modeling  
Figure 1 shows a schematic diagram of the electro-hydraulic system under study. The drive cylinder and load cylinder are both controlled by servo valves. The control target is making the controlled mass track a desired velocity trajectory if the load force is within the regular range. Nevertheless, regulation based on the impedance rule is activated to maintain an acceptable output force if the load force exceeds the regular range. As shown in Figure 1, the drive cylinder, load cylinder and mass are combined together as a lumped mass \(m\). Thus, the dynamics of the lumped mass is given by  
\[m\ddot{x}_{p}=P_{1}A_{1}-P_{2}A_{2}-b\dot{x}_{p}-F_{L}+G-F_{fc}+f \tag{1}\]  
where \(x_{p}\) is the displacement of the load mass, \(P_{1}\) and \(P_{2}\) are the pressures of the forward and return chamber of the drive cylinder, \(A_{1}\) and \(A_{2}\) are the ram areas of the chambers respectively, \(b\) is the damping coefficient, \(F_{L}\) is the load force that is caused by the load cylinder (\(F_{L}=P_{L}A_{3}\), \(P_{L}\) is the pressure of load cylinder, \(A_{3}\) is the corresponding area), \(G\) is the gravity of the lumped mass, \(F_{fc}(F_{fc}(\dot{x}_{p})=F_{fc0}\text{tanh}\left(\eta\dot{x}_{p}\right))\) is the Coulomb friction and \(f\) is the lumped uncertain nonlinearities. Neglecting external leakage, pressure dynamics in the chambers of the drive cylinder are written as  
\[ \begin{split}\dot{P}_{1}&=\frac{\beta_{c}}{V_{01}+A _{1}x_{p}}\big{[}Q_{1}-A_{1}\dot{x}_{p}-C_{t}(P_{1}-P_{2})\big{]}\\ \dot{P}_{2}&=\frac{\beta_{e}}{V_{02}-A_{2}x_{p}} \big{[}-Q_{2}+A_{2}\dot{x}_{p}+C_{t}(P_{1}-P_{2})\big{]}\end{split}  \tag{2}\]  
where \(V_{01}\) and \(V_{02}\) are the initial volumes of the two chambers in the drive cylinder, \(\beta_{e}\) is the hydraulic fluid bulk modulus, \(C_{t}\) is the internal leakage coefficient due to pressure of the drive cylinder, and \(Q_{1}\) and \(Q_{2}\) are the flow rate of the forward and return chambers, respectively. The flow rate of the drive cylinder chambers can be expressed as  
\[ \begin{split} Q_{1}&=k_{q}x_{v}\big{[}s_{g}(x_{v}) \sqrt{P_{s}-P_{1}}+s_{g}(-x_{v})\sqrt{P_{1}-P_{t}}\big{]}\\ Q_{2}&=k_{q}x_{v}\big{[}s_{g}(x_{v})\sqrt{P_{2}-P_ {t}}+s_{g}(-x_{v})\sqrt{P_{s}-P_{2}}\big{]}\end{split}  \tag{3}\]  
where \(k_{q}\) and \(x_{v}\) are the flow gain coefficient and spool displacement of the servo valve, respectively, \(P_{s}\) is the supply pressure, \(P_{t}\) is the tank pressure, and \(s_{g}(\Delta)\) is defined as  
\[s_{g}(\Delta)= \begin{cases}1,\text{ if }\Delta\geq 0\\ 0,\text{ if }\Delta<0\end{cases}  \tag{4}\]  
Since a high response servo valve is applied in the system, the dynamics of the servo valve can be neglected. Therefore, it is assumed that \(x_{v}=k_{x}u\), where \(k_{x}\) is the gain of servo valve spool and \(u\) is the control input voltage. Define \(k_{qx}=k_{q}k_{x}\). Figure 1: Schematic diagram of the electro-hydraulic system. The state variables are defined as \(\mathrm{x}=[x_{1},x_{2},x_{3},x_{4}]^{\mathrm{T}}=\left[x_{p},\dot{x}_{p},P_{1},P_{2 }\right]^{\mathrm{T}}\) and combining (1) to (4), the dynamics of the system in state space form can be expressed as  
\[\left\{ \begin{array}{l}\dot{x}_{1}=x_{2}\\ \dot{x}_{2}=\frac{1}{m}\Big{[}A_{1}x_{3}-A_{2}x_{4}-bx_{2}-F_{L}+G-F_{fc}\Big{]} +d\\ \dot{x}_{3}=\beta_{e}h_{1}(x_{1})\big{[}-A_{1}x_{2}-C_{t}(x_{3}-x_{4})+k_{qx}ug_ {1}(x_{3},u)\big{]}\\ \dot{x}_{4}=\beta_{e}h_{2}(x_{1})\big{[}A_{2}x_{2}+C_{t}(x_{3}-x_{4})-k_{qx}ug_ {2}(x_{4},u)\big{]}\end{array} \right. \tag{5}\]  
were  
\[ \begin{array}{l}d=\frac{f}{m}\\ h_{1}(x)=\frac{1}{V_{01}+A_{1}x_{1}}\\ h_{2}(x)=\frac{1}{V_{02}-A_{2}x_{1}}\\ g_{1}(x_{3},u)=s_{g}(u)\sqrt{P_{s}-x_{3}}+s_{g}(-u)\sqrt{x_{3}-P_{t}}\\ g_{2}(x_{4},u)=s_{g}(u)\sqrt{x_{4}-P_{t}}+s_{g}(-u)\sqrt{P_{s}-x_{4}}\end{array}  \tag{6}\]  
A new state variable is introduced as \(\overline{x}_{3}=x_{3}-\alpha x_{4}\), where \(\alpha=A_{2}/A_{1}\). Therefore, the system (5) can be dealt with using the backstepping method.