1 Introduction

Parallel manipulators are widely applied in flight simulators [1, 2], machine tools [3], and six-dimensional force sensors [4] because they have higher stiffness, increased precision, lower inertia of moving parts at a high speed, and higher accuracy than those of their serial counterparts. However, their closed chain structure creates a complicated forward kinematic analysis and highly coupled time-varying nonlinear system dynamics. In addition, the uncertainty in the manipulator parameters and disturbances make it difficult to achieve high trajectory tracking control for parallel manipulators.

A number of works have investigated improving the tracking accuracy of parallel manipulators. PID control is the conventional and simplest method used to control the system and is widely used in parallel manipulators. However, because of the highly nonlinear and coupled dynamic behaver of parallel manipulators, the tracking error of pure PID control rapidly increases with speed [5]. To improve the performance of the PID controller, Amit Shukla proposed a novel controller that includes a PID controller and a compensator to deal with the coupling terms and varying parameters [6]. Londhe et al. [7] proposed a robust nonlinear PID-like fuzzy control scheme for a 3-DOF parallel manipulator, by combining a feed forward term and PID-like fuzzy logic control. However, these methods cannot achieve a high tracking accuracy.

To overcome the highly coupled dynamics of parallel manipulators, a number of model-based control methods have been proposed, such as computed torque control [8, 9], feedforward force with PD feedback control [10, 11], adaptive control [12, 13], and robust control [14, 15]. A computed torque controller has been proposed for parallel manipulators, which is well suited for trajectory tracking control and disturbance rejection. However, the computed torque controller depends on the knowledge of the system, and the performance is generally significantly degraded when the modeling is inaccurate. Tien Dung Le proposed an online self-gain tuning method for a 2-DOF planar parallel manipulator, which is based on a combination of a conventional computed torque controller and an online tuning method using the neural network [16]. Feedforward force with PD feedback control is a popular control strategy applied to parallel manipulators. This method combines the advantages of calculated torque control and PID control and reduces the dependence of the calculated torque control on the accuracy of the system model. To reduce the dynamic tracking error in a highly real time application, Yang et al. [17] proposed a computed force and velocity controller for hydraulic 6-DOF parallel manipulators, which is composed of a conventional PID feedback controller and a desired driven force and actuator velocity as feed forward.

The adaptive control method enhances the adaptability of the control performance for the uncertainty by constructing a new dynamic system to continuously learn the system characteristics. Considering the uncertainty effect caused by a combination of rigid body parameters, friction, and actuator dynamics, Cazalilla et al. [18] developed an adaptive controller for trajectory tracking control of a 3-DOF parallel manipulator. The application of adaptive control in parallel mechanisms reduces the requirement of precise dynamic modeling in the controller. However, the adaptive control increases the real-time calculation burden of the controller, and the realization of adaptive control requires meeting the persistence excitation conditions, which improves the requirements of the tracking trajectory. Robust control can also deal with model uncertainties. Li et al. [19] designed a controller based on a passivity-based robust control scheme for a 3-PRC parallel manipulator. Other robust control methods include linear robust control [20], sliding mode control [21], etc.; however, the common disadvantage of these methods is that law leads to a chattering problem, which significantly reduces trajectory tracking performance.

Impedance control [22] improves the motion of the manipulators by adjusting the relationship between the motion and driving force. It is typically used in applications that require complex interaction with the environment, such as assembly, drilling, and milling. However, some researches [23, 24] have shown that impedance control also demonstrates the desirable trajectory tracking ability in free motion. The tracking ability of impedance control in free motion can be explained by introducing the concept of a virtual surface. Ghosh [25] proposed a robust control framework based on a bond graph modeling process. This method reduces the influence of system dynamics parameter uncertainties by adding dominant terms for complex and highly non-linear robot dynamics. For manipulators with flexible foundations, Pathak et al. [26] improved the above method to eliminate the interference of flexible foundations more effectively without knowing the dynamic parameters of flexible foundations by adjusting the dynamic characteristics of the mechanism in the form of an algorithm. Based on the physical reliability of the flexible foundation, the virtual surface concept is further proposed. The impedance controller constructs the virtual surface through the desired trajectory in real time and realizes trajectory tracking in free motion by adjusting the motion error between the actual position and virtual surface; thus, trajectory tracking control is realized.

Recently, lower-mobility parallel mechanisms were widely used in aviation, medical, and other industries owing to the lower cost and simpler controller [27]. Considering joint couplings, Liu et al. [28] proposed an iterative approach for feedforward controller parameter tuning for a 3-DOF parallel mechanism. For a 2-DOF 2PRP-PPR parallel manipulator, Santhakumar Mohan [29] proposed a robust cascaded control scheme for the end-effector pose error correction in trajectory tracking caused by mechanical inaccuracies. Angel et al. [30] applied a computed torque control strategy with a fractional order PID method. This strategy shows a robust and active disturbance rejection compared to that with the integer order PID method. The research objective of this study is a 3-DOF spherical space parallel 3UPS/S mechanism for wave compensation, whose tracking accuracy affects the quality of compensation.

As an important driving form, hydraulic actuators provide an attractive alternative for parallel manipulators, because they are robust and can produce significant forces/torques for their size without concern of overloading. However, the highly nonlinear dynamics and uncertainties in the hydraulic system make their closed-loop control design extremely challenging [31]. Common control strategies considering the dynamics of hydraulic actuators for parallel manipulators include cascade control [32, 33], backstepping control [34], virtual decomposition control [35], etc. One of the key problems in motion control of the hydraulic driven parallel mechanism is realizing high-precision driving force control of the hydraulic system. Guo et al. [33] integrated non-linear compensation of the flow rate of the servo valve, positive velocity feedback, and load pressure feedback to control the pressure of the two chambers of the hydraulic cylinder. Considering the influence of the pipeline pressure transients and friction, Yang et al. [1] monitored the driving force in real time using a force sensor and obtained the piston force controller of the hydraulic actuator based on feedback linearization. Huang et al. [36] applied incremental nonlinear dynamic inversion (INDI) to design a robust force controller based on the pressure/force sensor and obtained better force tracking performance than that of the feedback linearization method. The control performance of the above methods depends on the high precision force/pressure sensor, which limits the application of these methods. Yoo et al. [37] presented an impedance control approach for a hydraulic system that required no external force/pressure sensors based on a backdrivable servovalve. However, the manufacturing cost of this type of system is relatively high.

In this paper, a compound impedance control method is proposed for a 3-DOF hydraulic parallel manipulator. The proposed method adopts a double loop structure to deal with the highly coupling dynamic and complex driving characteristics of hydraulic parallel manipulators. The proposed method does not require exact system dynamic parameters, such as mass distribution and friction. The proposed method uses a simplified asymmetric hydraulic servo system model based on a singular perturbation analysis, which has the characteristics of universality. Moreover, the proposed method uses the displacement sensors and regular servo-valves without expensive force or pressure sensors, creating a simple and cheap system configuration. The experimental result shows that the proposed method can track the typical reference signals according to wave motion and achieve a higher tracking accuracy than that of the fine-tuned PID controller.

The paper is organized as follows. The dynamic models of the 3UPS/S parallel mechanism and hydraulic actuator are established in the second and third section. In the fourth section, the singular perturbation analysis for the hydraulic servo system is discussed. The relationship between the input signal of the valve and the driving force is given, and the exponential convergence of the corresponding boundary layer model is determined. Then, the impedance control processes in the joint space and task space are described. Finally, the overall structure of the compound impedance control is given. In the fifth section, the 3UPS/S manipulator prototype is developed. Experiments are carried out for the tracking performance validation of the proposed method compared with the well-turned PID control.

2 Modeling of the 3UPS/S Parallel Manipulator

As shown in Figure 1, the moving platform of 3UPS/S is connected to the fixed platform by a central spherical joint and three symmetrically distributed actuators. The upper end of each actuator is connected to the moving platform by a spherical joint, and the lower end is connected to the fixed platform by universal joints. The 3UPS/S mechanism is driven by hydraulic actuators, and the posture of the moving platform is adjusted by changing the length of the actuators. In contrast to the Stewart mechanism, the center spherical joint restrains the three-dimensional translation of the moving platform, retaining the three-dimensional rotation of the moving platform. Considering the workspace characteristics of the mechanism, the pitching and rolling motion of the moving platform are mainly used in practice.

Figure 1
figure 1

3UPS/S parallel manipulator

2.1 Modeling of the 3UPS/S Parallel Manipulator

As shown in Figure 2, coordinate system \(\left\{ N \right\}\) is fixed to the fixed platform. Frame \(\left\{ A \right\}\)is fixed to the moving platform. The upper joint point distribution radius is R1. The joint point distribution radius is R2, and the center height of the central spherical joint is h.

Figure 2
figure 2

Coordinate system of the 3UPS/S manipulator

The coordinates of the lower joint point Bi (i = 1,2,3) in {N} can be expressed as

$$B_{i} \left( {R_{2} \cos \eta_{i} ,R_{2} \cos \eta_{i} ,0} \right) ,$$
(1)

where \(\eta_{1} = \pi ,\;\eta_{2} = {\pi \mathord{\left/ {\vphantom {\pi 3}} \right. \kern-0pt} 3},\;\eta_{3} = {{ - \pi } \mathord{\left/ {\vphantom {{ - \pi } 3}} \right. \kern-0pt} 3}.\)

The coordinates of upper joint point Ai (i = 1, 2, 3) in {A} can be expressed as follows:

$$A_{i} \left( {R_{1} \cos \eta_{i} ,R_{1} \cos \eta_{i} ,0} \right).$$
(2)

The RPY angle is used to describe the relative motion relationship between the moving platform and fixed platform. The relationship between coordinate system {A} and coordinate system {N} can be expressed by the rotation matrix.

$$_{A}^{N} \varvec{R} = \left[ {\begin{array}{*{20}c} {c_{2} {\kern 1pt} c_{3} + s_{1} s_{2} s_{3} } & {c_{1} s_{3} } & {s_{1} c_{2} s_{3} - s_{2} c_{3} } \\ {s_{1} s_{2} c_{3} - c_{2} s_{3} {\kern 1pt} } & {c_{1} s_{3} {\kern 1pt} } & {s_{2} s_{3} + s_{1} {\kern 1pt} c_{2} c_{3} {\kern 1pt} } \\ {c_{1} s_{2} {\kern 1pt} } & { - s_{1} } & {c_{1} c_{2} } \\ \end{array} } \right].$$
(3)

The transformation relationship between the vectors in {A} and {N} is as follows:

$${}^{N}{\varvec{u}} = {}^{A}{\varvec{u}}{}_{A}^{N} {\varvec{R}} ,$$
(4)

where \({}^{N}{\varvec{u}}\) and \({}^{A}{\varvec{u}}\) represent the coordinates of vector \({\mathbf{u}}\) in {A} and f {N}, respectively.

3UPS/S has three-dimensional rotational degrees of freedom around the central spherical joint, and the rotation angle of the moving platform relative to the fixed platform determines the posture of the manipulator. The length of the three actuators can be obtained uniquely from the rotation angle, which is referred to as the inverse kinematics model of the 3UPS/S manipulator.

$$l_{i} = \left| {r^{{A_{i} B_{i} }} } \right| = \left| {r^{{B_{i} O}} + r^{OP} + r^{{PA_{i} }} } \right|.$$
(5)

In {N}, the coordinates of each position vector are as follows.

$$\begin{aligned} & {}^{N}r^{{B_{i} O}} = - \left[ {R_{2} \cos \eta_{i} ,R_{2} \cos \eta_{i} ,0} \right], \\ & {}^{N}r^{OP} = [0,0,h], \\ & {}^{N}r^{{PA_{i} }} = [R_{1} \cos \eta_{i} ,R_{1} \cos \eta_{i} ,0]{}_{A}^{N} {\varvec{R}} .\\ \end{aligned}$$
(6)

2.2 Inverse Dynamics Model

The dynamic model of the 3UPS/S parallel mechanism is established by Kane’s method. The three-dimensional rotation in the task space of the moving platform is selected as the generalized coordinates and denoted as \({\varvec{q}} = [q_{1} ,q_{2} ,q_{3} ]^{\text{T}}\). The coordinate \({\varvec{u}} = [u_{1} ,u_{2} ,u_{3} ]^{\text{T}}\) of the angular velocity of the moving platform in {N} is selected as the generalized velocity, which yields the following:

$${\varvec{\omega}}^{A} = u_{1} {\varvec{n}}_{1} + u_{2} {\varvec{n}}_{2} + u_{3} {\varvec{n}}_{3} .$$
(7)

The dynamics model of the 3UPS/S manipulator can be written as

$${\varvec{T}} + {\varvec{MQ}} + {\varvec{F}}^{*} = {\mathbf{0}} ,$$
(8)

where \({\varvec{T}}\) denotes the generalized active force caused by gravity and the forces in the Cartesian space of the moving platform, \({\varvec{T}} = {\varvec{T}}({\varvec{q}},{\varvec{F}}_{L} ,{\varvec{T}}_{L} ,{\varvec{G}})\); \({\varvec{F}}_{L} ,{\varvec{T}}_{L}\) denotes the load force on the moving platform; \({\varvec{M}}\) denotes the mapping matrix of the driving force from the joint space to the workspace, \({\varvec{M}} = {\varvec{M}}\left( {\varvec{q}} \right)\); \({\varvec{Q}}\) denotes the driving force vector; \({\varvec{F}}^{*}\) denotes the generalized inertial force, \({\varvec{F}}^{*} = {\varvec{F}}^{*} \left( {{\varvec{q}},{\dot{\varvec{q}}},{\varvec{\ddot{q}}}} \right)\). The detailed expressions for the above symbols are given in Appendix.

The inverse dynamic model of 3UPS/S can be written as follows:

$${\varvec{Q}} = - {\varvec{M}}^{ - 1} \left( {{\varvec{T}} + {\varvec{F}}^{*} } \right).$$
(9)

3 Dynamic Model of the Hydraulic Servo System

The 3UPS/S hydraulic servo system is shown in Figure 3, where r represents the input signal; Kp represents the proportional gain of the system; FL represents the load force; PS represents the supply pressure; P0 represents the tank pressure; PA and PB represent the pressures of the two chambers of the hydraulic cylinder; A1 and A2 represent the effective area of the two chambers.

Figure 3
figure 3

Principle of the hydraulic servo system

The bond graph model of the hydraulic servo system is shown in Figure 4, where \(R_{f}\) represents the friction of the hydraulic cylinder; \(R_{i} \left( {i = 1,2,3,4} \right)\) represents the four resistances of the servovalve.

Figure 4
figure 4

Bond graph of the hydraulic servo system

The servo valve can be expressed as four hydraulic resistances connected to each other, which can be expressed as follows:

$$\begin{aligned} & Q_{PA} \triangleq f_{1} \left( {x_{v} ,\Delta P_{1} } \right) = \left\{ {\begin{array}{*{20}c} {C_{d} wx_{v} \sqrt {\frac{{2\left| {\Delta P_{1} } \right|}}{\rho }} ,\;\;x_{v} > 0.} \\ {0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;x_{v} \le 0,} \\ \end{array} } \right. \\ & Q_{AT} \triangleq f_{2} \left( {x_{v} ,\Delta P_{2} } \right) = \left\{ {\begin{array}{*{20}c} {0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;x_{v} > 0,} \\ { - C_{d} wx_{v} \sqrt {\frac{{2\left| {\Delta P_{2} } \right|}}{\rho }} ,\;\;x_{v} \le 0,} \\ \end{array} } \right. \\ & Q_{BT} \triangleq f_{3} \left( {x_{v} ,\Delta P_{3} } \right) = \left\{ {\begin{array}{*{20}c} {C_{d} wx_{v} \sqrt {\frac{{2\left| {\Delta P_{3} } \right|}}{\rho }} ,\;\;x_{v} > 0,} \\ {0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;x_{v} \le 0,} \\ \end{array} } \right. \\ & Q_{PB} \triangleq f_{4} \left( {x_{v} ,\Delta P_{4} } \right) = \left\{ {\begin{array}{*{20}c} {0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;x_{v} > 0,} \\ { - C_{d} wx_{v} \sqrt {\frac{{2\left| {\Delta P_{4} } \right|}}{\rho }} ,\;\;x_{v} \le 0.} \\ \end{array} } \right. \\ \end{aligned}$$
(10)

Here, P, T, A, and B represent the four ports of the servo valve; \(Q_{PA} ,\;Q_{AT} ,\)\(Q_{BT}\) and \(Q_{PB}\) denote the flow of the corresponding valve port, which is in the positive direction of P to A, A to T, B to T, and P to B, respectively; \(C_{d}\) represents the flow coefficient of the valve orifice; \(w\) represents the gradient of the servo orifice area with the opening of the valve; \(x_{v}\) represents the displacement of the spool; \(\rho\) represents the density of the oil, and \(\Delta P_{i}\) (i = 1, 2, 3, 4) represents the differential pressure between the corresponding ports.

$$\begin{aligned} & \Delta P_{1} \triangleq P_{s} - P_{A} ,\;\Delta P_{2} \triangleq P_{A} - P_{0} , \\ & \Delta P_{3} \triangleq P_{B} - P_{0} ,\;\Delta P_{4} \triangleq P_{s} - P_{B} . \\ \end{aligned}$$
(11)

The friction force of the hydraulic cylinder is assumed to be proportional to the velocity.

$$F_{f} = C\;v_{p} ,$$
(12)

where \(C\) is the damping coefficient, and vp is the velocity of the hydraulic actuator.

Assuming that the internal leakage of the hydraulic cylinder is small and can be ignored, the model of the hydraulic servo system can be expressed as follows:

$$\left\{ \begin{aligned} & \dot{x}_{1} = x_{2} , \\ & \dot{x}_{2} = \frac{1}{{m_{t} }}\left( {A_{1} x_{3} - A_{2} x_{4} + F_{L} - C_{v} x_{2} } \right), \\ & \dot{x}_{3} = \frac{{E^{\prime}_{A} }}{{V_{A} }}\left[ {f_{1} \left( {x_{v} ,P_{s} - x_{3} } \right) - f_{2} \left( {x_{v} ,x_{3} - P_{0} } \right)\left. { - x_{2} A_{1} } \right]} \right., \\ & \dot{x}_{4} = \frac{{E^{\prime}_{B} }}{{V_{B} }}\left[ {f_{4} \left( {x_{v} ,P_{s} - x_{4} } \right) - f_{3} \left( {x_{v} ,x_{4} - P_{0} } \right)\left. { + x_{2} A_{2} } \right]} \right.. \\ \end{aligned} \right.$$
(13)

Assumption 1

In a practical hydraulic system under normal working conditions, \(P_{1}\) and \(P_{2}\) are bounded by \(P_{0}\) and \(P_{s}\), i.e., \(P_{0} \le P_{1} ,P_{2} \le P_{s} .\)

4 Controller Design

4.1 Hydraulic Driving Force Model Based on Singular Perturbation

An important problem in a hydraulic driven parallel manipulator is the force generation in the hydraulic servo system. In this study, the relationship between the valve input signal and driving force is determined by a singular perturbation analysis. Most physical system models can be described by states with different rates, which can be divided into boundary layer subsystems described by faster states and reduced order subsystems described by slower states. The Tikhonov theorem [38] states that when the boundary layer model is stable, the fast-changing states can be removed, while the static relationship is considered the boundary condition to participate in the process of the slow-changing states, thus achieving system dimensionality reduction and simplification. The singular perturbation analysis is widely applied in the hydraulic servo system [39]. Based on the above analysis, the hydraulic servo system can be described by four states: the pressure states and mechanical states, which refer to the displacement and velocity of the actuator. Because of the pressure conduction characteristics of oil, the rate of the pressure states is much faster than that of the mechanical states. Through singular perturbation, the relationship between the valve input signal and driving force can be obtained from the static relation of the fast-changing states. In this section, the corresponding singular perturbation analysis process and the proof of the exponential convergence of the boundary layer are given.

For the hydraulic servo system described in Eq. (13), the mechanical state is \(x_{h} = \left[ {x_{1} ,x_{2} } \right]^{\text{T}}\), and the pressure state of the hydraulic system is \(z_{h} = \left[ {x_{3} ,x_{4} } \right]^{\text{T}}\).

Considering the difference between the bulk modulus of the two chambers, the following is assumed:

$$\frac{1}{{E^{\prime}_{A} }} = \varepsilon ,\;\;\;\frac{1}{{E^{\prime}_{B} }} = \frac{1}{{kE^{\prime}_{A} }} = \frac{1}{k}\varepsilon .$$
(14)

The state equation for pressure can be written as follows:

$$\begin{aligned} & \varepsilon \dot{x}_{3} = \frac{1}{{V_{A} }}\left[ {f_{1} - f_{2} - A_{1} x_{2} } \right], \\ & \varepsilon \dot{x}_{3} = \frac{k}{{V_{B} }}\left[ {f_{4} - f_{3} - A_{2} x_{2} } \right]. \\ \end{aligned}$$
(15)

Substituting Eq. (10) into Eq. (15) with \(\varepsilon = 0\), a quasi-static representation of the pressure state is given by

$$h_{1} \triangleq \bar{x}_{3} = \left\{ {\begin{array}{*{20}c} {P_{s} - \frac{{A_{1}^{2} }}{{K_{Q1}^{2} }} \cdot \frac{{x_{2}^{2} }}{{u^{2} }},\;u > 0,} \\ {P_{0} + \frac{{A_{1}^{2} }}{{K_{Q1}^{2} }} \cdot \frac{{x_{2}^{2} }}{{u^{2} }},\;u < 0,} \\ \end{array} } \right.$$
(16)
$$h_{2} \triangleq \bar{x}_{4} = \left\{ {\begin{array}{*{20}c} {P_{0} + \frac{{A_{2}^{2} }}{{K_{Q2}^{2} }} \cdot \frac{{x_{2}^{2} }}{{u^{2} }},\;u > 0,} \\ {P_{s} - \frac{{A_{2}^{2} }}{{K_{Q2}^{2} }} \cdot \frac{{x_{2}^{2} }}{{u^{2} }},\;u < 0,} \\ \end{array} } \right.,$$
(17)

where \(K_{Q1} \triangleq C_{d1} w_{1} K_{v} \sqrt {\frac{\rho }{2}} \;\;\;,\;\;\;K_{Q2} \triangleq C_{d2} w_{2} K_{v} \sqrt {\frac{\rho }{2}}\).

The simplified order reduction model of the hydraulic servo system can be obtained by substituting Eqs. (16) and (17) into Eq. (18):

$$\left\{ \begin{aligned} & \dot{x}_{1} = x_{2} , \\ & \dot{x}_{2} = \frac{1}{{m_{t} }}\left( {A_{1} h_{1} - A_{2} h_{2} - C_{v} x_{v} + F_{L} } \right). \\ \end{aligned} \right.$$
(18)

The boundary layer model of the hydraulic servo system can be written as follows:

$$\left\{ \begin{aligned} & \varepsilon \dot{x}_{3} = \frac{1}{{V_{A} }}\left( {f_{1} - f_{2} - A_{1} x_{2} } \right), \\ & \varepsilon \dot{x}_{4} = \frac{k}{{V_{B} }}\left( {f_{4} - f_{3} + A_{2} x_{2} } \right). \\ \end{aligned} \right.$$
(19)

The auxiliary variable \({\varvec{y}} = {\varvec{z}}_{h} - {\varvec{h}}\left( {t,x} \right)\) is introduced to move the equilibrium point of the boundary layer model to the origin:

$$\left\{ \begin{aligned} & y_{1} = x_{3} - h_{1} , \\ & y_{2} = x_{4} - h_{2} . \\ \end{aligned} \right.$$
(20)

Substituting Eq. (20) into Eq. (19) and introducing time variable \(\tau = \frac{1}{\varepsilon }\left( {t - t_{0} } \right)\), the boundary layer model is given as follows:

$$\frac{{{\text{d}}y_{1} }}{{{\text{d}}\tau }} = \frac{1}{{V_{A} }}\left( {f_{1} - f_{2} - A_{1} x_{2} } \right),$$
(21)

where

$$f_{1} - f_{2} = \left\{ {\begin{array}{*{20}c} {K_{Q1} u\sqrt {P_{s} - \left( {y_{1} + h_{1} } \right)} \;\;,\;\;u > 0,} \\ {K_{Q1} u\sqrt {\left( {y_{1} + h_{1} } \right) - P_{0} } \;\;,\;\;u < 0.} \\ \end{array} } \right.$$
(22)

When \(u > 0,\)

$$\begin{aligned} f_{1} - f_{2} & = K_{Q1} u\sqrt {P_{s} - \left( {y_{1} + P_{s} - \frac{{A_{1}^{2} }}{{K_{Q1}^{2} }}\frac{{x_{2}^{2} }}{{u^{2} }}} \right)} \\ \;\;\;\;\;\;\;\;\;\; & = \sqrt {A_{1}^{2} x_{2}^{2} - y_{1} u^{2} K_{Q1}^{2} } . \\ \end{aligned}$$
(23)

Based on Assumption 1, one can obtain the following:

$$A_{1}^{2} x_{2}^{2} - y_{1} u^{2} K_{Q1}^{2} \ge 0.$$
(24)

When \(u < 0,\)

$$\begin{aligned} f_{1} - f_{2} & = K_{Q1} u\sqrt {\left( {y_{1} + P_{0} + \frac{{A_{1}^{2} }}{{K_{Q1}^{2} }}\frac{{x_{2}^{2} }}{{u^{2} }}} \right) - P_{0} } \\ \;\;\;\;\;\;\;\;\;\; & = - \sqrt {A_{1}^{2} x_{2}^{2} + y_{1} u^{2} K_{Q1}^{2} } . \\ \end{aligned}$$
(25)

Based on Assumption 1, one can obtain the following:

$$A_{1}^{2} x_{2}^{2} + y_{1} u^{2} K_{Q1}^{2} \ge 0.$$
(26)

The following boundary layer model is obtained:

$$\frac{{{\text{d}}y_{1} }}{{{\text{d}}\tau }} = \left\{ {\begin{array}{*{20}c} {\frac{1}{{V_{A} }}\left( {\sqrt {A_{1}^{2} x_{2}^{2} - y_{1} u^{2} K_{Q1}^{2} } - A_{1} x_{2} } \right),\;\;u > 0,} \\ {\frac{1}{{V_{A} }}\left( { - \sqrt {A_{1}^{2} x_{2}^{2} + y_{1} u^{2} K_{Q1}^{2} } - A_{1} x_{2} } \right),\;\;u > 0.} \\ \end{array} } \right.$$
(27)

When \(u > 0\), \(x_{2} > 0,\;\left| {x_{2} } \right| = x_{2} ,\)

$$\frac{{{\text{d}}y_{1} }}{{{\text{d}}\tau }} = \frac{1}{{V_{A} }}\left( {\sqrt {A_{1}^{2} x_{2}^{2} - y_{1} u^{2} K_{Q1}^{2} } - A_{1} \left| {x_{2} } \right|} \right).$$
(28)

When \(u < 0\), \(x_{2} < 0,\;\left| {x_{2} } \right| = - x_{2} ,\)

$$\frac{{{\text{d}}y_{1} }}{{{\text{d}}\tau }} = \frac{1}{{V_{A} }}\left( {A_{1} \left| {x_{2} } \right| - \sqrt {A_{1}^{2} x_{2}^{2} + y_{1} u^{2} K_{Q1}^{2} } } \right).$$
(29)

Here, \(\varvec{y} = 0\) is the equilibrium point of \(\frac{{{\text{d}}\varvec{y}}}{{\text{d}}\tau } = \varvec{g}\). After linearization, the stability of the boundary layer model is evaluated by solving the Jacobian matrix.

The Jacobian matrix can be written as follows:

$${\varvec{J}} = \frac{{\partial {\varvec{g}}}}{{\partial {\varvec{y}}}} = \left[ {\begin{array}{*{20}c} {\frac{{\partial g_{1} }}{{\partial y_{1} }}} & 0 \\ 0 & {\frac{{\partial g_{2} }}{{\partial y_{2} }}} \\ \end{array} } \right],$$
(30)

where

$$\frac{{\partial g_{1} }}{{\partial y_{1} }} = \left\{ \begin{aligned} & - \frac{1}{{V_{A} }}\frac{{u^{2} K_{Q1}^{2} }}{{\sqrt {A_{1}^{2} x_{2}^{2} - y_{1} u^{2} K_{Q1}^{2} } }} ,\;\;u > 0, \\ & - \frac{1}{{V_{A} }}\frac{{u^{2} K_{Q1}^{2} }}{{\sqrt {A_{1}^{2} x_{2}^{2} + y_{1} u^{2} K_{Q1}^{2} } }},\;\;u \le 0. \\ \end{aligned} \right.$$
(31)

With Eq. (24), the following is obtained:

$$A_{1}^{2} x_{2}^{2} \ge \left| {y_{1} u^{2} K_{Q1}^{2} } \right|,$$
(32)

then

$$\begin{aligned} & \left| {A_{1}^{2} x_{2}^{2} - y_{1} u^{2} K_{Q1}^{2} } \right| \le \left| {A_{1}^{2} x_{2}^{2} } \right| + \left| {y_{1} u^{2} K_{Q1}^{2} } \right| \le 2\left| {A_{1}^{2} x_{2}^{2} } \right|, \\ & \left| {A_{1}^{2} x_{2}^{2} + y_{1} u^{2} K_{Q1}^{2} } \right| \le \left| {A_{1}^{2} x_{2}^{2} } \right| + \left| {y_{1} u^{2} K_{Q1}^{2} } \right| \le 2\left| {A_{1}^{2} x_{2}^{2} } \right|. \\ \end{aligned}$$
(33)

The sign of \(\frac{{\partial g_{1} }}{{\partial y_{1} }}\) yields

$$\frac{{\partial g_{1} }}{{\partial y_{1} }} \le - \frac{1}{{V_{A} }}\frac{{u^{2} K_{Q1}^{2} }}{{\sqrt {2A_{1}^{2} x_{2}^{2} } }} < 0.$$
(34)

Similarly, by defining \(y_{2} = z_{2} - h_{2} = x_{4} - h_{2}\), the sign of \(\frac{{\partial g_{2} }}{{\partial y_{2} }}\) is given by

$$\frac{{\partial g_{2} }}{{\partial y_{2} }} \le - \frac{1}{{V_{B} }}\frac{{u^{2} K_{Q2}^{2} }}{{\sqrt {2A_{2}^{2} x_{2}^{2} } }} < 0.$$
(35)

The boundary layer model satisfies \(\text{Re} \left[ {\lambda \left\{ {\frac{{\partial {\varvec{g}}}}{{\partial {\varvec{y}}}}} \right\}} \right] \le - c < 0,\forall \left( {t,x} \right) \in \left[ {0,t_{1} } \right] \times D_{x}\). Thus, the boundary layer model of the singularly perturbed system has exponential convergence [38].

4.2 Hydraulic Driving Force Model Based on Singular Perturbation

The relationship between the valve input signal and output force of the hydraulic cylinder piston is obtained by the singular perturbation analysis for the hydraulic servo system. To realize position tracking control, the relationship between the output force and motion of the hydraulic actuator should be determined. To achieve an effective and stable drive, this relationship is designed as a spring damping model, as shown in Figure 5.

Figure 5
figure 5

Equivalent principle of impedance control

The desired force \(F_{v}\) satisfies

$$F_{v} \triangleq - K_{1} \left( {x_{1} - r} \right) - K_{2} \left( {x_{2} - \dot{r}} \right) .$$
(36)

With the singular perturbation analysis, by ignoring the tank pressure, the driving force yields

$$F_{D} = \left\{ {\begin{array}{*{20}c} {A_{1} P_{s} - K_{A} \frac{{x_{2}^{2} }}{{u^{2} }},\;\;\;\;\;\;\;u > 0,} \\ { - \left( {A_{2} P_{s} - K_{A} \frac{{x_{2}^{2} }}{{u^{2} }}} \right),\;\;u > 0,} \\ \end{array} } \right.$$
(37)

where KA denotes the valve characteristic coefficient and is defined as follows:

$$K_{A} \triangleq \frac{{A_{1}^{3} }}{{K_{Q1}^{2} }} + \frac{{A_{1}^{3} }}{{K_{Q2}^{2} }}.$$
(38)

To realize trajectory tracking control, the following should be satisfied:

$$F_{D} - F_{L} = F_{v} = - K_{1} \left( {x_{1} - r} \right) - K_{2} \left( {x_{2} - \dot{r}} \right).$$
(39)

Here, \(F_{L}\) denotes the total load force, including the friction force.

After replacing the actual speed with the instruction speed, the final control law is obtained:

$$u = \left\{ {\begin{array}{*{20}c} {\left| {\dot{r}} \right|\sqrt {\frac{{K_{A} }}{{A_{1} P_{\text{s}} - K_{1} \left| {r - x_{1} } \right| + K_{2} \left( {x_{2} - \dot{r}} \right) - F_{L\hbox{max} } }}} ,\left( {r - x_{1} } \right) > 0,} \\ { - \left| {\dot{r}} \right|\sqrt {\frac{{K_{A} }}{{A_{2} P_{\text{s}} - K_{1} \left| {r - x_{1} } \right| + K_{2} \left( {x_{2} - \dot{r}} \right) - F_{L\hbox{max} } }}} ,\left( {r - x_{1} } \right) < 0.} \\ \end{array} } \right.$$
(40)

Remark 1

One of the advantages of this algorithm is that the stiffness expression can be freely programmed. The drive stiffness should be large enough to guarantee position accuracy and robustness. In addition, the output signal is required to be bounded without an infinite signal.

The drive stiffness could be planned by a hyperbolic tangent function, as shown in Figure 6.

Figure 6
figure 6

Relationship between the driving force and position error

$$F_{D}^{S} = \frac{{F_{m} \left[ {1 + \tanh \left( {k(r - x_{1} )} \right)} \right] + F_{m} \left[ {\tanh \left( {k(r - x_{1} )} \right) - 1} \right]}}{2}.$$
(41)

Here, \(F_{D}^{S}\) denotes the driving force produced by the spring effect, and Fm is the maximum of the spring force.

Remark 2

To prevent output u from being infinite, the following should be satisfied:

$$\begin{aligned} & A_{1} P_{s} + F_{D}^{S} + K_{2} \left( {x_{2} - \dot{r}} \right) - F_{L\hbox{max} }^{*} > 0, \\ & A_{2} P_{s} + F_{D}^{S} + K_{2} \left( {x_{2} - \dot{r}} \right) - F_{L\hbox{max} }^{*} > 0. \\ \end{aligned}$$
(42)

To improve system reliability, the output can be further limited:

$$\sqrt {\frac{{K_{A} }}{{A_{2} P_{s} + F_{D}^{S} + K_{2} \left( {x_{2} - \dot{r}} \right) - F_{L\hbox{max} }^{*} }}} \le \frac{{S_{m} }}{{\left| {\dot{r}_{0} } \right|}} ,$$
(43)

where \(S_{m}\) is the maximum input of the valve; \(\dot{r}_{0}\) is a typical value of the command rate.

To track the abnormal reference speed, the effective command rate of 0.1–0.5 is used, substituting \(\hbox{min} \left( {0.5,\hbox{max} \left( {\left| {\dot{r}} \right|,0.1} \right)} \right)\) for \(\left| {\dot{r}} \right|\) in Eq. (40).

4.3 Impedance Control in the Task Space

The proposed impedance control is an operation process that takes load, command, and feedback signal as the input and the valve input signal as the output. To ensure reliability of the control process, the trajectory command of each actuator is obtained by an inverse kinematics model. Based on the idea of impedance control, the correcting moment is obtained from the motion deviation in the task space of the manipulator and then mapped to the additional driving force of each driving branch as the load input to compensate the overall motion characteristics of the manipulator.

When the manipulator is subjected to external torque Ts, the driving force in the equilibrium state is correspondingly increased by \(\Delta {\varvec{Q}}\). To obtain the mapping relationship between external torque Ts and driving force increment \(\Delta {\varvec{Q}}\), the platform dynamic inverse model Eq. (9) is written in increment form:

$$\Delta {\varvec{Q}} = - {\varvec{M}}^{ - 1} \left( {\Delta {\varvec{T}}} \right),$$
(44)

where the external moment \(\Delta {\varvec{T}}\) yields:

$$\Delta {\varvec{T}} = {\varvec{T}}_{s} \triangleq \left( {T_{x} ,T_{y} ,T_{z} } \right)\left[ {\begin{array}{*{20}c} {{\varvec{n}}_{1} } \\ {{\varvec{n}}_{2} } \\ {{\varvec{n}}_{3} } \\ \end{array} } \right].$$
(45)

Using Eqs. (44) and (45), the relationship between \(\Delta {\varvec{T}}\) and \(\Delta {\varvec{Q}}\) is given as follows:

$$\left[ {\begin{array}{*{20}c} {\Delta Q_{1} } \\ {\Delta Q_{2} } \\ {\Delta Q_{3} } \\ \end{array} } \right] = {\varvec{M}}^{ - 1} \left[ {\begin{array}{*{20}c} {\Delta {\varvec{T}} \cdot \omega_{1}^{A} } \\ {\Delta {\varvec{T}} \cdot \omega_{2}^{A} } \\ {\Delta {\varvec{T}} \cdot \omega_{3}^{A} } \\ \end{array} } \right].$$
(46)

The generalized velocity of the moving platform relative to the fixed platform yields the following:

$$\begin{aligned} & {}^{N}{\varvec{\omega}}_{1}^{A} = \left( {1,0,0} \right)\left[ {\begin{array}{*{20}c} {{\varvec{n}}_{1} } \\ {{\varvec{n}}_{2} } \\ {{\varvec{n}}_{3} } \\ \end{array} } \right],\;{}^{N}{\varvec{\omega}}_{2}^{A} = \left( {0,1,0} \right)\left[ {\begin{array}{*{20}c} {{\varvec{n}}_{1} } \\ {{\varvec{n}}_{2} } \\ {{\varvec{n}}_{3} } \\ \end{array} } \right],\; \\ & {}^{N}{\varvec{\omega}}_{3}^{A} = \left( {0,0,1} \right)\left[ {\begin{array}{*{20}c} {{\varvec{n}}_{1} } \\ {{\varvec{n}}_{2} } \\ {{\varvec{n}}_{3} } \\ \end{array} } \right]. \\ \end{aligned}$$
(47)

The mapping relationship between the task space and joint space of the 3UPS/S manipulator yields the following:

$$\left[ {\begin{array}{*{20}c} {Q_{1} } \\ {Q_{2} } \\ {Q_{3} } \\ \end{array} } \right] = {\varvec{M}}^{ - 1} \left[ {\begin{array}{*{20}c} {T_{x} } \\ {T_{y} } \\ {T_{z} } \\ \end{array} } \right].$$
(48)

For impedance control, virtual spring damping is constructed in the task space, and the force is mapped to each actuator through matrix \({\varvec{M}}^{ - 1}\):

$$\Delta {\varvec{Q}} = - {\varvec{M}}^{ - 1} \left( {{\varvec{K}}\Delta {\varvec{q}} + {\varvec{C}}\Delta {\dot{\varvec{q}}}} \right).$$
(49)

4.4 Impedance Control in the Task Space

Compound impedance control performs impedance control in the joint space and task space. First, through the singular perturbation analysis of the hydraulic servo system, a single cylinder trajectory tracking control method, including load factors, is obtained and combined with impedance control. Then, for impedance control, virtual spring damping is constructed in the task space of the mechanism, and the force is mapped to the driving branch in reverse. For each actuator, trajectory tracking control is performed in the joint space of the manipulator, and real-time adjustment is performed according to the motion error in the task space.

Combining the impedance control algorithm in the joint space, an additional driving force \(\Delta Q_{i}\) is added to each actuator. The 3UPS/S overall control algorithm can be expressed as follows:

$$\begin{aligned} u = & \frac{{1 + \tanh \left( {k\left( {r - x_{1} + h_{v} } \right)} \right)}}{2}u_{i}^{ + } \\ & + \frac{{\tanh \left( {k\left( {r - x_{1} + h_{v} } \right)} \right) - 1}}{2}u_{i}^{ - } , \\ \end{aligned}$$
(50)

where

$$\begin{aligned} & u_{i}^{ + } \triangleq \left| {\dot{r}} \right|\sqrt {\frac{{K_{A} }}{{A_{1} P_{s} - K_{1} \left( {r - x_{1} } \right) - K_{2} \left( {\dot{r} - x_{2} } \right) - \Delta Q_{i} - F_{L\hbox{max} } }}} , \\ & u_{i}^{ - } \triangleq - \left| {\dot{r}} \right|\sqrt {\frac{{K_{A} }}{{A_{2} P_{s} + K_{1} \left( {r - x_{1} } \right) + K_{2} \left( {\dot{r} - x_{2} } \right) + \Delta Q_{i} - F_{L\hbox{max} } }}} . \\ \end{aligned}$$
(51)

The corresponding block diagram is shown in Figure 7.

Figure 7
figure 7

Compound impedance control of parallel mechanisms. PD: Proportional differential, FKM: Forward kinematics model, KIM: Inverse kinematics model, KIM−1: Dynamic mapping matrix, HSS: Hydraulic Servo System, SHIC: Single Channel Impedance Control

To realize the impedance control in the task space, the three-axis rotation angle should be obtained in the task space of the parallel platform in real time. Considering the measurement accuracy and reliability, an indirect measurement method is adopted to obtain the moving platform rotation angle by detecting the displacement of the driving joint based on forward kinematics solution of the manipulator. The forward kinematics analysis process of the 3UPS/S mechanism (nonlinear algebraic equations) is complex and has multiple solutions. In practice, numerical methods [40] are often applied to obtain the motion of the moving platform. In this study, the forward position solution of 3UPS/S is obtained using the neural network method, based on the comparison of accuracy and computational efficiency.

5 Prototype System and Experimental Results

To verify the trajectory tracking performance of compound impedance control, a hydraulic driven 3UPS/S parallel manipulator prototype is developed, as shown in Figure 8 and Figure 9. The control system consists of the host computer and slave computer. The host computer is implemented by Labview in Windows to realize command generation/reception, data supervision, and recording. The slave computer adopts the NI-cRIO controller and completes the trajectory tracking control of each actuator according to the sequence of the displacement command sent by the host computer. For the 3UPS/S manipulator prototype, the distribution radius is 0.38 m; the distribution radius of the joint point of the lower platform is 0.51 m; the height of the platform at the center of central ball joint h is 1.15 m; the initial rotation angle of the moving platform is \({{\pi }}/6\); the stroke of the hydraulic actuator is 450 mm; the diameter of the hydraulic cylinder is 40 mm; the diameter of the hydraulic piston rod is 25 mm; the hydraulic cylinder displacement sensor accuracy is 0.02%, and the moving platform inclination sensor accuracy is ±1.67×10‒3 rad. From the wave spectrum, the desired trajectories in two freedoms are designed as follows:

Figure 8
figure 8

Mechanical structure of the hydraulic driven 3UPS/S manipulator

Figure 9
figure 9

Control system of the hydraulic driven 3UPS/S manipulator

$$\begin{aligned} & y_{r} = 0.1222\sin (0.1 \cdot 2\pi t) + 0.03487\sin (0.4 \cdot 2\pi t), \\ & y_{p} = 0.0873\sin (0.1 \cdot 2\pi t) + 0.05234\sin (0. 2 5\cdot 2\pi t). \\ \end{aligned}$$

The platform is designed to compensate wave motion and provide a stable working environment for shipboard equipment. The tracking curves of the PID control and compound impedance control for compound sinusoidal instructions with a frequency of 0.1‒0.4 Hz, according to the statistical law of wave motion, are shown in Figure 10 and Figure 11. The classical PID control scheme is also applied to the parallel manipulator as a benchmark. For convenience of description, the rotation of the 3UPS/S platform around the n1 axis is defined as rolling motion \(\alpha\), and the rotation around the n2 axis is defined as pitching motion \(\beta\). The attitude signal of the platform is obtained by the inclination sensor arranged on the moving platform. In Figures 10 and 11, the tracking curve of compound impedance control can reproduce the shape of the command curve, while the PID control shows obvious errors when the command speed sharply changes.

Figure 10
figure 10

Trajectory tracking in roll freedom

Figure 11
figure 11

Trajectory tracking in pitch freedom

In Figure 12, the trajectory tracking curve of the manipulator in the pitch-roll motion plane is given with compound impedance and PID control. The tracking command is the synthetic motion of the moving platform in the pitch-roll motion plane shown in Figures 9 and 10. In Figure 12, the platform with compound impedance control shows better tracking ability than that with PID control.

Figure 12
figure 12

Trajectory tracking curves in the pitch-roll plane

The trajectory tracking performance of the parallel manipulator can be evaluated by the concept of comprehensive error [41]. In the pitch-roll plane, the trajectory error is defined as

$$z_{c} = \sqrt {E_{\text{P}}^{2} + E_{\text{R}}^{2} } ,$$
(52)

where EP is the pitch trajectory tracking error of the moving platform, and ER is the roll trajectory tracking error.

Figure 13 shows the variation of synthetic error with respect to time. From Figure 13, the PID control error shows a continuous fluctuation trend with a peak of approximately 0.02 rad and an average of approximately 0.01 rad. Whereas, the compound impedance control error is maintained at a low level overall, with a peak of 0.01 rad and an average of approximately 0.005 rad. Jouni Mattila [31] adopted the ratio of tracking error and motion speed to evaluate the control accuracy level of the mechanism. Figure 14 shows the distribution of the command velocity of the comprehensive trajectory error with different control methods. The comprehensive trajectory error definition is shown in Eq. (52), and the command speed is defined as:

$$v_{c} = \sqrt {\hat{v}_{\text{P}}^{2} + \hat{v}_{\text{R}}^{2} } ,$$
(53)

where \(\hat{v}_{\text{P}}\) is the command speed of the moving platform in pitch motion; \(\hat{v}_{\text{R}}\) is the roll command speed in roll motion.

Figure 13
figure 13

Curve of comprehensive error

Figure 14
figure 14

Distribution of comprehensive error with respect to the command speed

From Figure 14, the compound impedance control error increases gradually with the command speed in the low-speed interval with the rate of 0.1 s. With further increasing command speed, the tracking error is stable at 0.005 rad. The PID control error fluctuates at 0–0.02 rad.

6 Conclusions

  1. (1)

    The trajectory tracking control of a parallel 3-DOF manipulator is studied. The kinematics and dynamics model of the 3-DOF 3UPS/S mechanism as well as the dynamics model of the hydraulic servo system are established. Through the singular perturbation analysis, a force sensor-less hydraulic force generator is obtained, and the exponential stability of the boundary layer model of the singular system is demonstrated.

  2. (2)

    A compound impedance control strategy for trajectory tracking of the hydraulic parallel manipulator is proposed. The control strategy is divided into the inner loop and outer loop. The inner loop controls the impedance of each actuator in the joint space, and the outer loop controls the impedance of the entire manipulator in the task space to compensate for the coupling of the actuators. The experimental results show that the compound impedance control has better trajectory tracking ability than that of the well-turned PID controller.

  3. (3)

    The proposed compound impedance control does not require force or pressure sensors and has a low dependence on the accuracy of the modeling. Compared with other advanced control methods, the compound impedance control has higher control accuracy and provides a novel framework for dealing with the highly coupling and nonlinear dynamics of hydraulic parallel manipulators.