# Optimal Design and Hybrid Control for the Electro-Hydraulic Dual-Shaking Table System
## 2 System Design and Optimization
### Gravity Balance System Design  
To reduce output forces of vertical hydraulic cylinders and eliminate the gravity influence of platform and load, the gravity balance system [39; 40] is proposed. The gravity balance system is added to the vertical hydraulic cylinder in series. As is shown in Figure 6, the gravity balance system is a forced close-loop control system. The pressure sensor measures the pressure of the balance chamber; the error of the given force and feedback force is adjusted through the controller, and then the adjusted signal is sent to servo valve to control the output force of balance chamber. Note that the accumulator in Figure 6 is used to assist the servo valve to control the pressure due to fast response performance and good absorption of the pressure fluctuation. Figure 5: The load matching curves. (**a**) The first turning point in \(X/Y\) degree of freedom (DOF); (**b**) The second turning point in \(X/Y\)DOF; (**c**) The first turning point in ZDOF; (**d**) The second turning point in ZDOF. Figure 6: The developed gravity balance system. The response speed of the servo valve is restricted by the frequency width, while the response speed of the accumulator is very fast. So, the balance system is controlled by the servo valve assisted by the accumulators group, which can balance the gravity more quickly. When the shaking tables are static, the gravity balance system is mainly controlled by the valve-controlled force close-loop system and when the shaking tables move, the gravity balance system is mainly controlled by accumulators group. The accumulators group is composed of two different accumulators: one is pre-charged with low pressure only to balance the mass of the table and the other is pre-charged with high pressure to balance the mass of the table and load. The minimum balance pressure of each hydraulic cylinder is  
\[F_{\text{{bmin}}}=\frac{m_{0}g}{4A_{b}}=\frac{m_{0}g}{\pi d^{2}}=1.56\text{ MPa} \tag{5}\]  
where \(A_{b}\) is the effective area of the balance chamber. The maximum balance pressure of each hydraulic cylinder is  
\[F_{\text{{bmax}}}=\frac{(m_{0}+m)g}{4A_{b}}=\frac{(m_{0}+m)g}{\pi d^{2}}=4.68 \text{ MPa} \tag{6}\]  
The working pressure of the first stage accumulator is 1.56 Mpa in Equation (5). To keep the balance force stable, the pressure fluctuation is chosen as less than 12%, that is from \(P_{\text{{1 min}}}=1.373\) MPa to \(P_{\text{{1 max}}}=1.747\) MPa. The maximum volume change of the accumulator is  
\[V_{\text{{bmax}}}=A_{b}l=1.57\text{ L} \tag{7}\]  
where \(l\) is the maximum displacement of the vertical hydraulic cylinder, \(l=200\)mm, as shown in Table 1.  
In this condition, the accumulator is used to compensate the oil leakage and pressure loss. Thus, the velocity of the accumulator to charge and drain oil is slow, then the volume can be computed according to the isothermal formula. Combining Equation (7), the volume of the accumulator can be obtained [41]  
\[V_{b1}=\left(\frac{P_{\text{{1 min}}}}{P_{10}}\right)\left(\frac{P_{\text{{1 max }}}}{P_{\text{{1 max}}}-P_{\text{{1 min}}}}\right)V_{\text{{bmax}}}=8.63\text{ L} \tag{8}\]  
where \(P_{10}\) is the pre-charged pressure, \(P_{10}=0.85P_{\text{{1 min}}}\). So, we choose the volume of the first stage accumulator as \(V_{b1t}=10\) L.  
The design process of the second-stage accumulator is similar to the first one, so the detailed process is not introduced here and the volume of the second-stage accumulator is chosen as \(V_{b2t}=6.3\) L.  
As we all know, the shaking tables have by default a built-in design limitation, which needs the effective compensation of rocking. Due to the structural limitation of the shaking table, the original point of the shaking table's control system cannot be at the point of the center of the mass. As a consequence, when the shaking table and load move in the translational direction, the reaction force of the load will cause the rocking of the shaking table and load in the rotational direction simultaneously.