Posture control of a 3-RPS pneumatic parallel platform with parameter initialization and an adaptive robust method

  • Guo-liang Tao
  • Ce Shang
  • De-yuan Meng
  • Chao-chao Zhou


A control algorithm for a 3-RPS parallel platform driven by pneumatic cylinders is discussed. All cylinders are controlled by proportional directional valves while the kinematic and dynamic properties of the system are modeled. The method of adaptive robust control is applied to the controller using a back-stepping approach and online parameter estimation. To compensate for the uncertainty and the influence caused by estimations, a fast dynamic compensator is integrated in the controller design. To prevent any influence caused by the load applied to the moving platform changing in a practical working situation, the identification of parameters is taken as the initialization of unknown parameters in the controller, which can improve the adaptability of the algorithm. Using these methods, the response rate of the parameter estimation and control performance were improved significantly. The adverse effects of load and restriction forces were eliminated by the initialization and online estimation. Experiments under different situations illustrated the effectiveness of the adaptive robust controller with parameter initialization, approaching average tracking errors of less than 1%.

Key words

Parameter initialization Adaptive robust control Parallel mechanism Pneumatic cylinders 

CLC number


1 Introduction

Parallel mechanisms are now used widely in many industrial and civil applications, such as motion simulators, adjustment platforms, and virtual reality equipment (Merlet, 2002). Compared with a full six-degree-of-freedom (6-DoF) structure, such as a Stewart platform, the incomplete DoF 3-RPS (parallel mechanism that has three chains with revolute (R), prismatic (P), and spherical (S) joints in each one) manipulator retains the three most important freedoms—roll, pitch, and heave—of a virtual reality entertainment moving stage. As a type of parallel mechanism, it has the advantages of heavy load capacity, high rigidity, and low inertia (Pfreundschuh et al., 1991). Because there are only three actuators driving the moving platform, the hardware costs can be lower and the controller structure can be simpler. Many mechanism and structural analyses have been conducted regarding its kinematic and dynamic properties (Wang et al., 2005; Zheng et al., 2011). Researchers have also studied realistic devices that have 3-RPS structures and similar types. To control the posture of the platform, the accuracy of the model parameters is the key to performance control. Because there are seven moving parts and friction forces exist in all joints, all the inertial, frictional, and load parameters will lead to a large observation matrix and parameter vector. Farhat and Díaz-Rodríguez proposed methods for this kind of identification process (Farhat et al., 2008; Díaz-Rodríguez et al., 2010).

Many 3-RPS platforms that are used currently are driven by electric or hydraulic cylinders to provide adequate control precision. However, for some occasions that have the large demands of 3-RPS platforms, the lower cost advantage of pneumatic cylinders makes them part of the market, even though the trajectory tracking accuracy is much lower than those of electric and hydraulic devices. Due to the compressibility of air and nonlinear characteristics of pneumatic elements, pneumatic servo control is also much more difficult. Improvements in pneumatic servo control performance have long been a goal of researchers and engineers. During recent years, many studies had been performed in this area with many algorithms applied to pneumatic systems, such as feedback linearization, self-tuning, fuzzy, and sliding mode controls (Kimura et al., 1997; Richardson et al., 2001; Schulte and Hahn, 2004; Girin et al., 2009). Based on the back-stepping method, the adaptive robust controller has attracted researchers’ attention for its resistance to parameter uncertainties and nonlinear characteristics (Yao and Tomizuka, 1997; Smaoui et al., 2006). In recent years, the developed theories have been successfully applied in mechatronic control systems based on linear motors (Chen et al., 2013a; 2013b) and hydraulic elements (Yao et al., 2014b), in addition to theoretical improvements (Yao et al., 2014a; Chen et al., 2015). Applying adaptive robust method aspects in the controller design has been shown to be an effective way to improve the pneumatic servo system position control performance for a single cylinder (Meng et al., 2013).

With developments in parallel mechanism analysis, pneumatic modeling, and control methods, research advances in posture tracking control for a parallel platform driven by pneumatic elements have been reported recently. For the parallel platform used in virtual reality entertainment equipment (a four-dimensional (4D) movie chair), posture condition and load forces vary heavily during ordinary operation. This is quite different from the single-cylinder experiments in the studies mentioned above. To eliminate this defect, one choice is the use of pneumatic muscles, in which frictional forces do not exist and their influences would not appear (Zhu et al., 2008; 2009; Tao and Zuo, 2014). However, the pneumatic muscle can bear only one-directional tensile force, which means it cannot be used in heavy load conditions under compression forces. For a manipulator driven by cylinders, which can accept forces from both sides, some work has also been done with different control methods (Grewal et al., 2011; 2012; Ramsauer et al., 2012; Pradipta et al., 2013; Andrievsky et al., 2014). The precisions of the platforms driven by pneumatic cylinders in these studies were about 5%–20% and load-sensitive. An entertainment 4D movie platform should bear about a 200-kg load or more; the dynamic model would change as the load varies in a realistic working situation. This may lead to controller instability without a robust controller. Moreover, in the application of multiple parallel platforms, the parameters assumed to be constant in value during controller design may differ in different manufacturing batches, such as the dead-zone and friction properties.

In this study, based on aspects of adaptive robust control, a controller is designed accordingly for a pneumatic parallel system model. Stability is demonstrated numerically and the effectiveness is validated through simulations and experiments. Compared with the basic adaptive robust method, a direct part is integrated into the robust controller design to raise the transient performance. Moreover, a new method integrated with parameter initialization (ARCPI) is proposed for posture control for the parallel pneumatic manipulator to overcome the disadvantages caused by the variation of the initial estimation value. The adaptability of this control algorithm satisfies realistic working situations, and the controller has much better tracking performance. In the second section, the kinematic and dynamic models of the 3-RPS platform are established with mechanical constraints. Online load estimation, based on a least-squares method and noncontinuous projection mapping, is proposed in Section 3.1. The inertial and frictional parameters can be initialized while using identification technology to resist load changes and time-varying features, as discussed in Section 3.2. A fast dynamic compensator is introduced into the robust controller design, based on the dynamic model of the 3-RPS system, as described in Section 3.3. Based on the modeling and controller design, Section 4 provides the experimental results, confirming the effectiveness of ARC and indicating that the improved algorithm (ARCPI) can make the pneumatic platform resist the effects of load variation and strengthen the adaptability of the controller. A summary and discussion are provided in the final section. Proof of stability of the controller is provided in the Appendix.

2 Modeling of a 3-RPS pneumatic platform

2.1 Kinematics

The transition matrix is shown in the form of Tait-Bryan angles in Eq. (1), where s represents sin and c represents cos. ( A Xbo, A Ybo, A Zbo) is the location of the origin of the moving board in the fixed board coordinate:
$$\begin{array}{*{20}c} {{}_B^AR = \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ {\left[ {\begin{array}{*{20}c} {c\beta c\gamma } & { - c\beta s\gamma } & {s\beta } \\ {c\alpha s\gamma + s\alpha s\beta c\gamma } & {c\alpha c\gamma - s\alpha s\beta s\gamma } & { - s\alpha c\beta } \\ {s\alpha s\gamma - c\alpha s\beta c\gamma } & {c\gamma s\alpha + c\alpha s\beta s\gamma } & {c\alpha c\beta } \\ \end{array} } \right],} \\ \end{array} $$
where r A and r B are the lengths of O A A i and O B B i , respectively. In the current structure, the joint points A i and B i all locate on the same radius circle on each plane, and O A and O B are the centroids of the equilateral triangles A1A2A3 and B1B2B3, respectively. Points A i , B i , O A , O B are in the same plane. Fig. 1 shows the mechanical structure and the coordinate configurations. u i is the normalized vector of the rotational joint axis. n i is the normalized vector of L i .
Fig. 1

Mechanical structure of the 3-RPS pneumatic platform

Accordingtothemechanical structure, the constraint equations can be written as
$$\left\{ {\begin{array}{*{20}c} {{}^A{Y_{{\rm{bo}}}} = {r_B}\left( {\cos \beta \sin \gamma } \right),\quad \quad \quad \quad \quad } \\ {{}^A{X_{{\rm{bo}}}} = {{{r_B}} \over 2}\left( {\cos \beta \cos \gamma } \right.\quad \quad \quad \quad \quad \quad } \\ {\quad \left. { + \sin \alpha \sin \beta \sin \gamma - \cos \alpha \cos \gamma } \right),} \\ {\gamma = - \arctan \left( {{{\sin \alpha \sin \beta } \over {\cos \alpha + \cos \beta }}} \right).\quad \quad \quad } \\ \end{array} } \right.$$
When the desired trajectory Xd in working space {α(t), β(t), Z(t)} is given, according to the coordinate definition in Fig. 1 and the constraints in Eq. (2), the lengths of all actuators can be calculated in vector form:
$$\begin{array}{*{20}c} {{L_i} = {}_B^A{T^B}{P_{{\rm{s}}i}} - {}^A{P_{{\rm{R}}i}}\quad \quad \quad \quad \quad } \\ { = {}_B^A{R_{xyz}}{}^B{P_{{\rm{s}}i}} + {}^A{P_{{\rm{bo}}}} - {}^A{P_{{\rm{R}}i}},} \\ \end{array} $$
where L i is the vector of each cylinder piston rod’s direction in the fixed coordinate. l i = |L i |− L0i, L0i is the original length of cylinder i, and l i is the actual position of each piston rod. Thus, the transition functions from workspace Xd(α, β, z) to joint space xd(l1, l2, l3) are established. Fig. 2 is the physical platform connected to the signal conditioning board (PCB) and NI-PXI controller.
Fig. 2

Physical platform

2.2 Dynamics

According to Carneiro and de Almeida (2007) and Meng et al. (2011), a polytropic process is chosen as a more accurate description of the thermodynamic process in cylinder chambers:
$$\left\{ {\matrix{ {{T_i} = {T_s}{{({\textstyle{{{p_i}} \over {{p_{bal}}}}})}^{{\textstyle{{n - 1} \over n}}}},{p_{bal}} = 0.8077ps,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;} \cr {{{d{p_i}} \over {dt}} = {{{\gamma _a}R} \over {{V_i}}}\left( {{{\dot m}_{iout}}{T_i}} \right)\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;} \cr {\;\;\;\;\;\; - {{{\gamma _a}{p_i}} \over {{V_i}}}{{d{V_i}} \over {dt}} + {{{\gamma _a} - 1} \over {{V_i}}}{{\dot Q}_i} + {d_{in}} + {{\tilde d}_{i0}},\;\;\;\;\;i = a,b,} \cr {{V_i} = {V_{0i}} + {A_i}\left( {L/2 + x} \right),\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;} \cr {{{\dot Q}_i} = h{S_{hi}}(x)\left( {{T_s} - {T_i}} \right),\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;} \cr {{S_{hi}}(x) = 2{A_i} + \pi D\left( {L/2 + x} \right),} \cr } } \right.$$
where h is the thermal conductivity of air and the inner chamber surface, Shi (x) is the area of heat exchange, p s is the source pressure, γa is the heat capacity ratio, and R is the ideal gas constant. Because the natural frequency of the proportional directional control valve (FESTO MPYE series) is much higher than the bandwidth of the pneumatic servo system, the dynamic feature of the valve core can be ignored. The valve model in Eq. (5) is used to calculate the mass flow:
$$\begin{array}{*{20}c} {{q_{\rm{m}}} = \left\{ {\begin{array}{*{20}c} {A(u){C_d}{C_a}{P_{\rm{u}}}/\sqrt {{T_{\rm{u}}}} ,\quad \quad {P_{\rm{d}}}/{P_{\rm{u}}} < {p_{\rm{r}}},\quad } \\ {A(u){C_d}{C_a}{C_b}{P_{\rm{u}}}/\sqrt {{T_{\rm{u}}}} ,\quad {p_{\rm{r}}}/{P_{\rm{d}}} < {P_{\rm{u}}} < \lambda ,} \\ {A(u){C_d}{C_a}{C_c}{P_{\rm{u}}}/\sqrt {{T_{\rm{u}}}} ,\quad \lambda < {P_{\rm{d}}} < {P_{\rm{u}}} < 1,} \\ \end{array} } \right.} \\ {\left\{ {\begin{array}{*{20}c} {{C_a} = \sqrt {({\gamma _{\rm{a}}}/R){{(2/({\gamma _{\rm{a}}} + 1))}^{({\gamma _{\rm{a}}} + 1)/({\gamma _{\rm{a}}} + 1)}}} ,} \\ {{C_b} = \sqrt {1 - {{({P_{\rm{d}}}/{P_{\rm{u}}} - {p_{\rm{r}}})}^2}/{{(1 - {p_{\rm{r}}})}^2}} ,} \\ {{C_c} = {{{P_{\rm{d}}}/{P_{\rm{u}}} - {p_{\rm{r}}}} \over {1 - \lambda }}\sqrt {1 - {{\left( {{{\lambda - {p_{\rm{r}}}} \over {1 - {p_{\rm{r}}}}}} \right)}^2}} ,\quad } \\ {{C_d} = 1.099 - 0.1075{P_{\rm{d}}}/{P_{\rm{u}}},\quad \quad \quad } \\ \end{array} } \right.} \\ \end{array} $$
where Pd and Pu are the downstream and upstream pressures, respectively, pr is the critical pressure ratio, and λ is the linear flow ratio.
Based on the structure of the 3-RPS pneumatic platform, the dynamic model in the joint space can be written as follows:
$$\left\{ {\begin{array}{*{20}c} {{M_{\rm{e}}}\ddot x = \overline {{A_{\rm{a}}}} {p_{\rm{L}}} - b\dot x - {A_{\rm{f}}}{S_{\rm{f}}}(\dot x) - {F_{\rm{L}}} + {f_{\rm{n}}} + {{\tilde f}_{\rm{0}}},} \\ {{{\dot p}_{\rm{L}}} = {q_{\rm{L}}} + {F_{\rm{p}}} + {d_{\rm{n}}} + {{\tilde d}_{\rm{0}}},\quad \quad \quad \quad \quad \quad \quad } \\ \end{array} } \right.$$
where Me = diag(m1, m2, m3), m i stands for the equivalent inertial load of each piston rod, Āa = HpAa· x = [x1,x2,x3]T is the desired position curve of each cylinder, p L = [pL1,pL2,pL3]t, pLi = p ia kiareap ib , and kiaiea is the area factor for the cylinder chambers within the piston rod. p L is the first-level virtual input. The physical meaning of pli is the equivalent pressure difference between the two chambers of one cylinder. q L = [qL1, qL2, qL3]T,which stands for the second-level virtual input, is used as the desired flow rate to calculate the control voltages of the proportional valves. Fp = [Fp1, Fp2, Fp3]t is the load matrix applied to cylinder piston rods. \({\tilde f_{\rm{n}}} = {\left[ {{{\tilde f}_{{\rm{n1}}}},\;{{\tilde f}_{{\rm{n2}}}},\;{{\tilde f}_{{\rm{n3}}}}} \right]^{\rm{T}}}\) and \({\tilde f_{\rm{o}}} = {\left[ {{{\tilde f}_{{\rm{o1}}}},\;{{\tilde f}_{{\rm{o2}}}},\;{{\tilde f}_{{\rm{o3}}}}} \right]^{\rm{T}}}\) represent the modeling error and disturbance on each axis, respectively. dn = [dn1, dn2, dn3]t and \({\tilde d_{\rm{o}}} = {\left[ {{d_{{\rm{o}}1}},\;{d_{{\rm{o}}2}},\;{d_{{\rm{o}}3}}} \right]^{\rm{T}}}\) are the influence caused by the valve model and disturbance of air flow, respectively.\({\tilde f_{\rm{o}}}\) and\({\tilde d_{\rm{o}}}\)are the nonlinear uncertainty parts in the model. Hp is constant at 105.
$$\left\{ {\begin{array}{*{20}c} {{q_{{\rm{L}}i}} = {{{\gamma _{\rm{a}}}R} \over {{H_{\rm{p}}}{V_{ia}}}}\;\left( {{{\dot m}_{ia{\rm{in}}}}{T_{\rm{s}}} - {{\dot m}_{ia{\rm{out}}}}{T_{ia}}} \right)} \\ {\quad - {{{\gamma _{\rm{a}}}R} \over {{H_{\rm{p}}}{V_{ib}}}}\left( {{{\dot m}_{ib{\rm{in}}}}{T_{\rm{s}}} - {{\dot m}_{ib{\rm{out}}}}{T_{ib}}} \right),} \\ {{F_{{\rm{p}}i}} = - {{{\gamma _{\rm{a}}}{A_{ia}}} \over {{V_{ia}}}}{{\dot x}_i}{p_{ia}} - {{{\gamma _{\rm{a}}}{A_{ib}}} \over {{V_{ib}}}}{{\dot x}_i}{p_{ib}}} \\ { + {{{\gamma _{\rm{a}}} - 1} \over {{H_{\rm{p}}}{V_{ia}}}}{{\dot Q}_{ia}} - {{{\gamma _{\rm{a}}} - 1} \over {{H_{\rm{p}}}{V_{ib}}}}{{\dot Q}_{ib}}.} \\ \end{array} } \right.$$
Eq. (7) gives the mathematical expression of qLi and FLi. Next, we define the unknown parameter vectors θ a , θ b and their regression matrices φ a , φ b as shown in Eqs. (8)(10):
$$\left\{ {\begin{array}{*{20}c} {{\theta _a} = {{\left[ {{\theta _1},\;{\theta _2},\;{\theta _3}} \right]}^{\rm{T}}},\quad \quad \quad \quad \quad \quad \quad \quad } \\ {{\theta _i} = {{\left[ {{b_i},\;{A_{{\rm{f}}i}},\; - {F_{{\rm{L}}i}} + {f_{{\rm{n}}i}}} \right]}^{\rm{T}}},\;i = 1,\;2,\;3,\quad } \\ {{\theta _b} = {{\left[ {{\theta _{b{\rm{1}}}},\;{\theta _{b{\rm{2}}}},\;{\theta _{b{\rm{3}}}}} \right]}^{\rm{T}}} = {{\left[ {{d_{{\rm{n}}1}},\;{d_{{\rm{n}}2}},\;{d_{{\rm{n}}3}}} \right]}^{\rm{T}}},} \\ \end{array} } \right.$$
$${\varphi _a} = \left[ {\begin{array}{*{20}c} {{{\dot x}_1}} & 0 & 0 \\ {{S_{{\rm{f1}}}}({{\dot x}_1})} & 0 & 0 \\ 1 & 0 & 0 \\ 0 & {{{\dot x}_2}} & 0 \\ 0 & {{S_{{\rm{f2}}}}({{\dot x}_2})} & 0 \\ 0 & 1 & 0 \\ 0 & 0 & {{{\dot x}_3}} \\ 0 & 0 & {{S_{{\rm{f}}3}}({{\dot x}_3})} \\ 0 & 0 & 1 \\ \end{array} } \right]$$
$$\varphi _b^T = {I_{3 \times 3}}.$$
Finally, the simplified dynamic model of the upper board driven by three pneumatic cylinders under proportional valve control is established in the following equations:
$$\left\{ {\begin{array}{*{20}c}{{M_{\rm{e}}}\ddot x = \overline {{A_{\rm{a}}}} {p_{\rm{L}}} + \varphi_a^{\rm{T}}{\theta_a} + {{\tilde f}_0},} \\ {{{\dot p}_{\rm{L}}} = {q_{\rm{L}}} + {F_{\rm{p}}} + \varphi_b^{\rm{T}}{\theta_b} + {{\tilde d}_0},} \end{array}} \right.$$
$$\left\{ {\begin{array}{*{20}c}{{\theta_i} \in {B_{{\theta_i}}},} \\ {{{\tilde f}_0} \in {B_{{{\tilde f}_0}}},} \\ {{{\tilde d}_0} \in {B_{{{\tilde d}_0}}}{.}} \end{array}} \right.$$

Although accurate values of θ i ,\({\tilde f_0}\), and \({\tilde d_0}\) are unknown, the parameters all have definite physical meanings and they should all be bounded. \({B_{{\theta_i}}}\), \({B_{{{\tilde f}_0}}}\), and \({B_{{{\tilde d}_0}}}\) are the boundary restriction intervals for the unknown parameters and nonlinear uncertainties.

3 Controller design and estimation

The NI-PXI system is used as the physical controller and the data interactive environment from the Simulink model to embedded software (Cheng and Chen, 2013). The controller structure of the actual 3-RPS platform is shown in Fig. 3.
Fig. 3

Control system diagram

3.1 Online parameter estimation

According to the dynamic analysis of the 3-RPS platform, the unknown parameters are important for control performance. However, not all of them can be measured in advance, and the friction parameters may change as the temperature or load distribution varies. Moreover, the load feature will not be the same as in the last operation in an actual working situation. As mentioned above, given that the unknown parameters are all bounded, the least-squares method (LSM) can be used to estimate them.

Based on the parameters’ online estimation, considering adaptive robust control, and assuming \({\tilde f_0} = {\tilde d_0} = 0\), multiply a stable linear time invariant (LTI) transfer function G f with both sides of Eq. (11). Define\(\varphi_{i{\rm{f}}}^{\rm{T}} = {G_{\rm{f}}}\varphi_i^{\rm{T}}\)to obtain the following equations:
$$\left\{ {\begin{array}{*{20}c}{{y_{a{\rm{f}}}} = {G_{\rm{f}}}({M_{\rm{e}}}\ddot x - \overline {{A_{\rm{a}}}} {p_{\bf{L}}}) = \varphi_{a{\rm{f}}}^{\rm{T}}{\theta_a},} \\ {{y_{b{\rm{f}}}} = {G_{\rm{f}}}({{\dot p}_{\bf{L}}} - {q_{\bf{L}}} - {F_{\rm{p}}}) = \varphi_{b{\rm{f}}}^{\rm{T}}{\theta_b},} \end{array}} \right.$$
which can be written as \({y_{i{\rm{f}}}} = \varphi_{i{\rm{f}}}^{\rm{T}}{\theta_i}\),i = a,b and is in the standard linear regression form. G f is used as a filter to obtain the status values yif for the parameter estimation. According to the dynamic model of a pneumatic servo system and related studies, the transfer function’s order is three. So, we set Gf as a combination of a second-order mass-spring-damping system describing the motion of the piston rod and a first-order system describing the relationship between air flow and pressure. By using this method, the calculated yif is definitely stable. Gf is defined as a third-order stable transfer function with the following form:
$${G_{\rm{f}}} = {{\omega_{\rm{f}}^2} \over {({\tau_{\rm{f}}}s + 1)({s^2} + 2\xi {\omega_{\rm{f}}}s + \omega_{\rm{f}}^2)}}{.}$$
We use ε i to represent the predictive error vector:
$${\varepsilon_i} = {\hat y_{i{\rm{f}}}} - {y_{i{\rm{f}}}} = \varphi_{i{\rm{f}}}^{\rm{T}}{\hat \theta_i} - \varphi_{i{\rm{f}}}^{\rm{T}}{\theta_i} = \varphi_{i{\rm{f}}}^{\rm{T}}{\hat \theta_i}{.}$$

The equation above is the standard parameter estimation model. LSM can be used to obtain the estimated vector\({\hat \theta_i}\).

Moreover, noncontinuous projection mapping is used to ensure that the estimation results are bounded.
$$\dot {\hat \theta} = {\rm{sa}}{{\rm{t}}_{{{\dot \theta}_{\rm{M}}}}}(\Pr\limits_{\hat \theta} (\Psi \tau )),\quad \hat \theta (0) \in {B_\theta},$$
where Ψ is a positive-definite adaptive matrix, and τ is an adaptation function. B θ is the known boundary set of the unknown parameters. \({\rm{sa}}{{\rm{t}}_{{{\dot \theta}_{\rm{M}}}}}( \cdot )\) is the saturation function, which is used to limit the updating speed of the parameters.\({\dot \hat \theta_{\rm{M}}}\)is the maximum parameter updating speed determined in advance. \({\Pr\nolimits_{\hat \theta}}\) is the standard projection mapping (Goodwin and Mayne, 1987; Yao and Tomizuka, 1997):
$${\Pr\nolimits_{\hat \theta}}(\Psi \tau ) = \left\{ {\begin{array}{*{20}c}{\Psi \tau ,\quad {\rm{when}}\;\hat \theta \in {B_\theta}\;{\rm{or}}\;\varphi_{\hat \theta}^{\rm{T}}\Psi \tau \leq 0,\quad \quad} \\ {\left( {1 - \Psi {{{\varphi_{\hat \theta}}\varphi_{\hat \theta}^{\rm{T}}} \over {\varphi_{\hat \theta}^{\rm{T}}\Psi {\varphi_{\hat \theta}}}}} \right)\Psi \tau ,\quad \quad \quad \quad \quad \quad \quad} \\ {\quad \quad \quad {\rm{when}}\;\hat \theta \in \partial {B_\theta}\;{\rm{or}}\;\varphi_{\hat \theta}^{\rm{T}}\Psi \tau > 0{.}} \end{array}} \right.$$
The saturation function is defined as
$${\rm{sa}}{{\rm{t}}_{{{\dot {\hat \theta}}_{\rm{M}}}}}( \cdot ) = {s_a} \cdot ,\;\;{s_a} = \left\{ {\begin{array}{*{20}c}{1,\quad \;\;\;\quad} & {\left\Vert \cdot \right\Vert \leq {{\dot {\hat \theta}}_{\rm{M}}},} \\ {{{\dot {\hat \theta}}_{\rm{M}}}/\left\Vert \cdot \right\Vert ,} & {\left\Vert \cdot \right\Vert > {{\dot {\hat \theta}}_{\rm{M}}}{.}} \end{array}} \right.$$
Theorem 1 According to the definitions above, for any case that satisfies Eq. (16), where Ψ > 0 is any continuously differentiable positive symmetric adaptation rate matrix and τ is any adaptation function, the estimated parameters vector has the properties as given below:
$$\left\{ {\begin{array}{*{20}c}{{\hat \theta} (t) \in {B_\theta} = \{ {\hat \theta} :{\theta_{\min}} \leq {\hat \theta} \leq {\theta_{\max}}\} ,} & {\forall t,} \\ {{{({\hat \theta} - \theta )}^{\rm{T}}}({\Psi ^{ - 1}}{{\Pr}_{{\hat \theta}}}(\Psi \tau ) - \tau ) \leq 0,} & {\forall \tau ,} \\ {\vert \dot {\hat \theta} (t)\vert \leq {{\dot \theta}_{{\rm{M}},}}\;\;\;\quad \quad \quad \quad \quad \quad \quad \quad \quad} & {\forall t,} \end{array}} \right.$$
which means that by using this approach, the estimated parameters would always be inside the closed set of B θ and the updated rate would be restricted.
The adaptive rate matrix Ψ i is
$${\dot \Psi_i} = \left\{ {\begin{array}{*{20}c}{\quad {\alpha_i}{\Psi_i} - {{{\Psi_i}{\varphi_{i{\rm{f}}}}\varphi_{i{\rm{f}}}^{\rm{T}}{\Psi_i}} \over {1 + {\nu_i}\varphi_{i{\rm{f}}}^{\rm{T}}{\Psi_i}{\varphi_{i{\rm{f}}}}}},\quad \quad \quad \quad \quad \quad \quad} \\ {\quad \quad {\rm{when}}\;{\lambda_{\max}}({\Psi_i}(t)) \leq {\rho_{{\rm{M}}i}}\quad \quad} \\ {\quad \quad \;\;{\rm{and}}\;\left\Vert {{{\Pr}_{\hat \theta}}({\Psi_i}{\tau_i})} \right\Vert \leq {{\hat \theta}_{{\rm{M}}i}},} \\ {0,\quad {\rm{otherwise}},\quad \quad \quad \quad \quad \quad \quad \quad} \end{array}} \right.$$
where 1 ≥ α i ≥ 0 is the fading factor that reduces the influence caused by the old data. ν ≥ 0 is the normalized factor, λmax(Ψ i (t)) is the largest eigenvalue of Ψ i (t), and ρ Mi is the upper bound of ∥Ψ i (t)∥. τ i is the adaptive function, as shown in Eq. (21):
$${\tau_i} = {1 \over {1 + {\nu_i}\varphi_{i{\rm{f}}}^{\rm{T}}{\Psi_i}{\varphi_{i{\rm{f}}}}}}{\varphi_{i{\rm{f}}}}{\varepsilon_i}{.}$$

3.2 Load compensation

Determination of the parameters’ initial values can help the system status converge into a specific stable condition faster, compared with nonchangeable initial factors. To estimate these numbers, identification of the dynamic parameters of the 3-RPS system can be helpful (Atkeson et al., 1985; Grotjahn et al., 2004; Farhat et al., 2008).

According to the Gibbs-Appell equations, the open-chain mechanical system dynamics can be written in a linear form as
$$W(q,\;\dot q,\;\ddot q) \cdot \Phi = {\tau_{\bf{L}}},$$
where W is a matrix that has the size ndof × (10n + nfr). nfr is the number of frictional model parameters, and n is the number of moving parts. τ L is the generalized forces vector applied to the actuators. Φ is the vector of the dynamic parameters. If we focus only on the upper moving board, then n =1.
$$\Phi = {\left[ {{M_\Phi}\quad {I_\Phi}\quad {\Phi_{{\rm{fri}}}}} \right]^{\rm{T}}},$$
where M Φ =[m i , mc xi , mc yi , mc zi ], m i is the mass of each body, and mc xi , mc yi , and mc zi are elements of the first mass moment with respect to the body’s mass center. i Φ are the values of each body’s inertia tensor elements, calculated about its local reference. Φfri are the frictional model parameters.
In matrix W, there are many zero columns that have no effect on the dynamic system as a whole, if we consider all moving parts in the 3-RPS structure. There are also some columns that have the same direction as the others, which can also be reduced. Thus, the observation matrix W is rank-deficient and there are an infinite number of parameter solutions. As such, it is important to reduce the size of the dynamic model matrix to a smaller one that is sufficient to solve for the parameters. Moreover, considering the dynamic model reduction and the frictional characteristics, the dynamic model of the system has the following form:
$$W_{\rm{r}}^{\rm{I}} \cdot \Phi_{\rm{b}}^{\rm{I}} + ({F_{{f_{\bf{i}}}}} - {Z^{\rm{T}}}{F_{{f_{\rm{e}}}}}) = {\tau_{\bf{L}}},$$
where \(W_{\rm{r}}^{\rm{I}}\) is the reduced observation matrix of the inertia part, and \(\Phi_{\rm{b}}^{\rm{I}}\) is the base parameter, equal to rank (\(W_{\rm{r}}^{\rm{I}}\)). \({F_{{f_{\rm{i}}}}}\)and \({F_{{f_{\rm{e}}}}}\)are independent and dependent friction forces, respectively.
Based on the theory above, before estimating the initial values of some key elements and applying them to the real situation in this study, some processes still need to be addressed. The main object is the moving platform; the influence of the cylinders and pistons is ignored to decrease the size of the observation matrix and the parameter vector. Because the main friction forces exist in the sliding pairs between the cylinder walls and pistons, all other friction forces on spherical and revolute joints can be ignored; i.e., \({F_{{f_{\rm{e}}}}}\)is regarded as zero. The external forces and torque applied to the upper board, i.e., F BE and τB, have the form shown in Eqs. (25) and (26):
$$\begin{array}{*{20}c}{{F_{{\rm{Be}}}} = {F_{{\rm{Bd}}}} - {F_{{\rm{fs}}}}\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad} \\ {\; = m{{\ddot P}_{{O_{\rm{B}}}}} - mg + {{\dot \omega}_{{O_{\rm{B}}}}} \times mc + {\omega_{{O_{\rm{B}}}}} \times ({\omega_{{O_{\rm{B}}}}} \times mc),} \end{array}$$
$$\begin{array}{*{20}c}{{\tau_{\rm{B}}} = {I_{{O_{\rm{B}}}}}{{\dot \omega}_{{O_{\rm{B}}}}} + {{\dot \omega}_{{O_{\rm{B}}}}} \times ({I_{{O_{\rm{B}}}}}{\omega_{{O_{\rm{B}}}}})\quad \quad \quad \quad \quad \quad \quad \quad} \\ { + mc \times ({{\dot \omega}_{{O_{\rm{B}}}}} \times c) + mc \times ({\omega_{{O_{\rm{B}}}}} \times ({\omega_{{O_{\rm{B}}}}} \times c))} \\ { + mc \times {{\ddot P}_{{O_{\rm{B}}}}} - mc \times g,\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad} \end{array}$$
where FBd can be detected by pressure sensors attached to all chambers. ffs is the sliding friction force. \({P_{{O_{\rm{B}}}}}\) is the origin of the moving coordinate attached to the moving board in global coordinates. g is the vector of gravity, which equals [0, 0, −9.8] m/s2. c is the unknown location of the mass center relative to \({P_{{O_{\rm{B}}}}}\). \({\omega_{{O_{\rm{B}}}}}\)and \({\dot \omega_{{O_{\rm{B}}}}}\) are the angular velocity vector and angular acceleration vector, respectively.
The friction model is described by the following equations:
$$\left\{ {\begin{array}{*{20}c}{{f_{{\rm{s}}i}} = ({b_i}{{\dot x}_i} + {A_{{\rm{f}}i}}{S_{{\rm{f}}i}}({{\dot x}_i})){n_i},} \\ {{F_{{\rm{fs}}}} = \sum {{f_{{\rm{s}}i}}} ,\quad \quad \quad \quad \quad \quad} \end{array}} \right.$$
where n i is the normalized direction vector of each piston rod, which can be calculated based on the position data of all cylinders.
Combining Eqs. (25)-(27), we obtain
$$U_{\rm{c}}^{\rm{T}} = {[F_{{\rm{Bd}}}^{\rm{T}},\;\tau_{\rm{B}}^{\rm{T}}]^{\rm{T}}} = W_{\rm{c}}^{\rm{T}}{\Phi_{\rm{c}}},$$
where \(W_{\rm{c}}^{\rm{T}}\)is the observation matrix and Φc is the parameter vector.
$$W_{\rm{c}}^{\rm{T}} = \left[ {\begin{array}{*{20}c}{{P_W}} & {{C_{W1}}} & 0 & {N \cdot B} \\ 0 & {{C_{W2}}} & {{C_{W\;P}}} & 0 \end{array}} \right]{.}$$
The calculation equations for these elements in \(W_{\rm{c}}^{\rm{T}}\) are shown in Eqs. (30)-(33). \({P_W} = {\ddot P_{{O_{\rm{B}}}}} - g.\quad {C_{W1}} = C({\dot \omega _{{O_{\rm{B}}}}}) + C({\omega _{{O_{\rm{B}}}}})C({\omega _{{O_{\rm{B}}}}}),\,\,{C_{W2}} = C({\ddot P_{{O_{\rm{B}}}}} - g),\,{C_{W\,P}} = D({\dot \omega _{{O_{\rm{B}}}}}) + C({\omega _{{O_{\rm{B}}}}})D({\omega _{{O_{\rm{B}}}}})\).
$$\left\{ {\begin{array}{*{20}c}{N = \left[ {{n_1},\;\;{n_2},\;\;{n_3}} \right],\;\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad} \\ {B = {{\left[ {{\rm{diag}}({{\dot x}_1},\;{{\dot x}_2},\;{{\dot x}_3}),\quad {\rm{diag}}({S_{{\rm{c}}1}},\;{S_{{\rm{c}}2}},\;{S_{{\rm{c}}3}})} \right]}_{3 \times 6}},} \end{array}} \right.$$
$$C(a) = \left[ {\begin{array}{*{20}c}0 & { - {a_z}} & {{a_y}} \\ {{a_z}} & 0 & { - {a_x}} \\ { - {a_y}} & {{a_x}} & 0 \end{array}} \right],$$
$$D(a) = \left[ {\begin{array}{*{20}c}{{a_x}} & {{a_y}} & {{a_z}} & 0 & 0 & 0 \\ 0 & {{a_x}} & 0 & {{a_y}} & {{a_z}} & 0 \\ 0 & 0 & {{a_x}} & 0 & {{a_y}} & {{a_z}} \end{array}} \right],$$
$${I_{{O_{\rm{B}}}}} = I_{{O_{\rm{B}}}}^{\rm{T}} = \left[ {\begin{array}{*{20}c}{{I_{11}}} & {{I_{12}}} & {{I_{13}}} \\ {{I_{21}}} & {{I_{22}}} & {{I_{23}}} \\ {{I_{31}}} & {{I_{32}}} & {{I_{33}}} \end{array}} \right]{.}$$

3.3 Controller structure

Based on back-stepping concepts, there are two steps in designing the controller, by which the calculated control values are finally exported for the proportional valves. The first step is considered at the level of pressure. es is defined as a vector that is similar to the sliding model surface vector. K x is the constant matrix chosen as a proportional feedback of the tracking error vector e = xxd.
$$\left\{ {\begin{array}{*{20}c}{{e_{\rm{s}}}} & { = \dot e + {K_x}e,\quad \quad \quad} \\ {{{\dot e}_{\rm{s}}}} & { = \ddot e + {K_x}(\dot x - {{\dot x}_{\rm{d}}}){.}} \end{array}} \right.$$
p L is used as the first-level virtual input, and ep = p L pLd is used to describe the error between the desired pressure vector pLd and the measured pressure vector p L .
$${p_{{\bf{L}}{\rm{d}}}} = {p_{{\bf{L}}{\rm{da}}1}} + {p_{{\bf{L}}{\rm{da}}2}} + {p_{{\bf{L}}{\rm{ds}}1}} + {p_{{\bf{L}}{\rm{ds}}2}},$$
where pLda1 is the model compensation part and pLdsi is chosen as the proportional feedback to stabilize the ideal modeled dynamic system:
$$\left\{ {\begin{array}{*{20}c}{{p_{{\bf{L}}{\rm{da}}1}} = \left( { - \varphi_a^{\rm{T}}{{\hat \theta}_a} + {M_{\rm{e}}}{{\ddot x}_{\rm{d}}} - {M_{\rm{e}}}{K_x}e} \right)/{{\bar A}_a},} \\ {{p_{{\rm{Lds}}1}} = - {K_{\rm{p}}}{e_{\rm{s}}}/{{\bar A}_a},\quad \quad \quad \quad \quad \quad \quad \quad \quad} \end{array}} \right.$$
where Kp is a positive-definite diagonal matrix. pLda2 is the fast compensation part. pLds2 is the robust feedback part that inhibits the influence caused by the parameter estimation error and uncertain nonlinearity. This part can be defined as
$$\left\{ {\begin{array}{*{20}c}{{d_{{\rm{c}}1}} + {R_1}(t) = - \varphi_a^T{{\tilde \theta}_a} + {{\tilde f}_0},} \\ {{p_{{\bf{L}}{\rm{da}}2}} = - {{\hat d}_{{\rm{c}}1}}/{{\bar A}_a},\quad \quad \quad \quad} \end{array}} \right.$$
where dc1 is the low-frequency part of the estimation error and R1(t) is the high-frequency part.
Theorem 2 dc1 can be estimated readily by defining \({\hat \dot d_{{\rm{c}}1}} = {\Pr\nolimits_{{{\hat d}_{{\rm{c}}1}}}}({\gamma_1}{e_{\rm{s}}})\)and is used to calculate pLda2.
$$\begin{array}{*{20}c}{{{\Pr}_{{{\hat d}_{{\rm{c}}1}}}}({\gamma_1}{e_{\rm{s}}})\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad} \\ { = \left\{ {\begin{array}{*{20}c}{0,\;\;{\rm{when}}\;\left\Vert {{{\hat d}_{{\rm{c}}1}}} \right\Vert = {d_{{\rm{c}}1{\rm{M}}}}\;{\rm{or}}\;{{\hat d}_{{\rm{c}}1}}{e_{\rm{s}}} > 0,} \\ {{\gamma_1}{e_{\rm{s}}},\;\;{\rm{else}}{.}\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad} \end{array}} \right.} \end{array}$$
γ1 is a positive diagonal matrix and γ1i is the adaptive rate value of each dc1i,where i = 1,2, 3. According to Theorem 1 and Eq. (37), pLds2 is defined by
$$\begin{array}{*{20}c}{{p_{{\bf{L}}{\rm{ds}}2}} = - {1 \over {{{\bar A}_a}}}{{H_1^2(t)} \over {4{\eta_1}}}{e_{\rm{s}}},} \\ {{H_1}(t) \geq {d_{{\rm{c}}1{\rm{M}}}} + \left\Vert {{\theta_{{\rm{M}}a}}} \right\Vert \;\left\Vert {{\varphi_a}} \right\Vert + {f_{\max ,}}} \end{array}$$
where dc1M is the upper bound of ∥ dc1∥ and θMa = θmaxaθmina.
The purpose of the second-level controller design is to make ep = p L pLd converge to zero. Then, the derivation of ep is given by
$${\dot e_{\rm{p}}} = {q_{\bf{L}}} + {F_{\rm{p}}} + \varphi_b^{\rm{T}}{\theta_b} + {\tilde d_0} - {\dot p_{{\bf{L}}{\rm{d}}}}{.}$$
Eq. (40) indicates that this step is considered in the level of flow rate. Because the flow rate is determined by the control voltage directly, the result of this step can be used in the calculation of the control value vector uc.
$${q_{\bf{L}}} = {q_{{\bf{L}}{\rm{da}}1}} + {q_{{\bf{L}}{\rm{da}}2}} + {q_{{\bf{L}}{\rm{ds}}1}} + {q_{{\bf{L}}{\rm{ds}}2}}{.}$$
Similar to the first step of the controller design of p L , qLda1 is the model compensation part, and qLds1 is chosen as the proportional feedback to stabilize the ideal modeled dynamic system:
$$\left\{ {\begin{array}{*{20}c}{{q_{{\bf{L}}{\rm{da}}1}} = - {{\bar A}_a}{e_{\rm{s}}} - {F_{\rm{p}}} - \varphi_b^{\rm{T}}{{\hat \theta}_b} + {{\dot p}_{{\bf{L}}{\rm{d}}}},} \\ {{q_{{\bf{L}}{\rm{ds}}1}} = - {K_{\rm{q}}}{e_{\rm{p}}},\quad \quad \quad \quad \quad \quad \quad \quad \quad} \end{array}} \right.$$
where Kq is a positive-definite diagonal matrix. qLda2 is the fast compensation part. qLds2 is the robust feedback part that inhibits the influence caused by the parameter estimation error and uncertain nonlinearity. This part can be defined as
$$\left\{ {\begin{array}{*{20}c}{{d_{{\rm{c}}2}} + {R_2}(t) = - \varphi_b^{\rm{T}}{{\tilde \theta}_b} + {{\tilde d}_0},} \\ {{q_{{\bf{L}}{\rm{da}}2}} = - {{\hat d}_{{\rm{c}}2}},\quad \quad \quad \quad \quad \quad} \end{array}} \right.$$
where dc2 is the low-frequency part of the estimation error and R2(t) is the high-frequency part.
Theorem 3 dc2 can be estimated readily by defining \({\hat \dot d_{{\rm{c}}2}} = {\Pr_{{{\hat d}_{{\rm{c}}2}}}}({\gamma_2}{e_{\rm{p}}})\)and is used to calculate qLda2.
$$\begin{array}{*{20}c}{{{\Pr}_{{{\hat d}_{{\rm{c}}2}}}}({\gamma_2}{e_{\rm{p}}})\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad} \\ { = \left\{ {\begin{array}{*{20}c}{0,\;\;{\rm{when}}\;\left\Vert {{{\hat d}_{{\rm{c}}2}}} \right\Vert = {d_{{\rm{c}}2{\rm{M}}}}\;{\rm{or}}\;{{\hat d}_{{\rm{c}}2}}{e_{\rm{p}}} > 0,} \\ {{\gamma_2}{e_{\rm{p}}},\;\;{\rm{else}}{.}\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad} \end{array}} \right.} \end{array}$$
γ2 is a positive diagonal matrix and γ2i is the adaptive rate value of each dc2i,where i = 1, 2, 3. According to Theorem 1 and Eq. (43), qLds2 is defined by
$${q_{{\bf{L}}{\rm{ds}}2}} = - {{H_2^2(t)} \over {4{\eta_2}}}{e_{\rm{p}}},$$
$${H_2}(t) \geq {d_{{\rm{c}}2{\rm{M}}}} + \left\Vert {{\theta_{{\rm{M}}b}}} \right\Vert \;\left\Vert {{\varphi_b}} \right\Vert + {d_{\max}},$$
where dc2M is the upper bound of ∥dc2∥ and θMb = θmaxbθminb.
Finally, when qLd is calculated, the inverse processing of flow rate calculation is applied according to Eq. (47):
$$\begin{array}{*{20}c}{{A_i}(u) = \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad} \\ {\left\{ {\begin{array}{*{20}c}{{H_{\rm{p}}}{q_{{\bf{L}}{\rm{d}}i}}/({\gamma_{\rm{a}}}R{T_{\rm{s}}}{K_{\rm{q}}}({p_{\rm{s}}},\;{p_a},\;{T_{\rm{s}}})/{V_a}} & {} \\ { + {\gamma_{\rm{a}}}R{T_b}{K_{\rm{q}}}({p_b},\;{p_0},\;{T_b}){k_a}/{V_b}),} & {{q_{{\bf{L}}{\rm{d}}i}} > 0,} \\ {{H_{\rm{p}}}{q_{{\bf{L}}{\rm{d}}i}}/( - {\gamma_{\rm{a}}}R{T_a}{K_{\rm{q}}}({p_a},\;{p_0},\;{T_{\rm{s}}})/{V_a}} & {} \\ { - {\gamma_{\rm{a}}}R{T_{\rm{s}}}{K_{\rm{q}}}({p_{\rm{s}}},\;{p_b},\;{T_b}){k_a}/{V_b}),} & {{q_{{\bf{L}}{\rm{d}}i}} < 0{.}} \end{array}} \right.} \end{array}$$
Determined by the valve testing experiment results shown in Fig. 4, the relationship between the control voltage and valve area can be expressed as
$$\begin{array}{*{20}c}{J({u_{{\rm{c}}i}}) = \left\{ {\begin{array}{*{20}c}{{K_A}u_{{\rm{cd}}i}^2 + {K_B}{u_{{\rm{cd}}i}} + {K_C},\;\;\vert {u_{{\rm{cd}}i}}\vert \geq {u_{{\rm{dz}}i}},} \\ {{{{K_D}{u_{{\rm{cd}}i}} + {K_E}} \over {{K_F}{u_{{\rm{cd}}i}} + {K_G}}},\quad \quad \quad \quad \quad \vert {u_{{\rm{cd}}i}}\vert \geq {u_{{\rm{dz}}i}},} \end{array}} \right.} \\ {{u_{{\rm{cd}}i}} = ({u_{{\rm{c}}i}} - {u_{{\rm{m}}i}})/10,\quad \quad \quad \quad \quad \quad \quad \quad \quad} \end{array}$$
where ucdi, umi, uci, and udzi are normalized control values, middle control values, real output voltage, and dead zone values, respectively, and K A K G are constants to describe the flow rate curve, shown in Fig. 4. Then, the real output voltage uc is given by
$${u_{{\rm{c}}i}} = {J^{ - 1}}({A_i}(u)){.}$$
Fig. 4

FESTO MPYE 1/4’ valve model

The stability proof of this controller design is given in the Appendix.

3.4 Controller simulation

Using the configurations shown in Table 1, a model of the 3-RPS pneumatic platform was built in Simulink. The unknown parameters were initialized as \({\hat \theta_i} = {[100,\;20,\;10]^{\rm{T}}}\), θ bi = 0, ρMi = [1000, 100, 100, 1000, 100, 100, 1000, 100, 100], \({\dot \theta_{{\rm{M}}i}} = {[10,\;10,\;10,\;10,\;10,\;10,\;10,\;10,\;10]^{\rm{T}}}\),\({\dot \theta_{{\rm{M}}bi}} = {[10,\;10,\;10]^{\rm{T}}}\). The desired trajectory is a sine wave on each axis. The controller ran for 40 s. The posture tracking performance is shown in Fig. 5. This simulation confirmed the effectiveness of the online parameter estimator and the performance of the ARC controller.
Fig. 5

Simulation results of the tracking error: (a) L1 error; (b) L2 error; (c) L3 error

Table 1

Constant values used in the model




A a

Chamber A area

3.12 ×10−3 m2

A b

Chamber B area

2.803 × 10−3 m2


Air constant

287 N × m/(kg × K)

T s

Source temperature

295 K


Cylinder length

0.2 m

γ a

Heat capacity ratio



Filter parameters

1, 50, 0.1

V o i

Dead volume

0.2 L


Heat-trans constant

50 W/(m2×K)


Cylinder diameter

0.063 m

α i

Fading factor


ν i

Normalization factor


H1 (t), η1

pLds2 constant

80, 4


qLds2 constant

200, 10

K x

Error vector feedback


K p

pLds1 feedback



qLds1 feedback


u dz

Dead-zone voltage

0.64 V

u c

Valve center voltage

5.02 V

Ψ i (0) jj



4 Experiment results

We programmed the controller designed in the previous section and applied it to the real hardware (Fig. 2). Different from the simulation, all the experiments were executed on the actual plant to verify the designed controller’s performance. A brief structure of the hardware system is shown in Fig. 3. The controller was established using Matlab/Simulink software, and Realtime-Workshop was used to build the embedded file, which could be downloaded into the PXI system. NI-Veristand was used as the data-interactive environment between the host-PC (dashboard) and real-time controller (NI-PXI8106 RT).

Each independent experiment consisted of three steps: initial parameter identification, trajectory tracking control, and error analysis.

The first step solves the problems with obvious changes in the load, temperature, or a long time interval since the last experiment. In those situations, the parameters are regarded as unknown and changeable. To improve the control performance, compared to constant initial configurations, a better set of initial values of the unknown parameters should be determined first. If there is no significant difference in the external influence, such as load and temperature, between the two times of trajectory tracking control, and the second control experiment is executed immediately after the first one, then there is no need to estimate the initial values of the parameters again. The former settings can still be applied until the load features change.

During the first process, the controller must execute the configuration process of the initial values. The trajectory is a compound sine wave and the points are selected at the smoothing moving status while the system is under the control of a PID controller. After selecting a series of estimation points, the matrices \({(U_{\rm{c}}^{\rm{T}})_{6\;{\rm{npts}} \times 1}}\) and \({(W_{\rm{c}}^{\rm{T}})_{6\;{\rm{npts}} \times 16}}\) in Eq. (28) are built. Then, the parameter vector (Φc)16×1 can be calculated:
$${\Phi_{\rm{c}}} = {{{W_{\rm{c}}}U_{\rm{c}}^{\rm{T}}} \over {W_{\rm{c}}^{\rm{T}}{W_{\rm{c}}}}}{.}$$
According to Eq. (8), set θoi as the initial parameter vector, θoi = [boi,Aofi, −FoLi + foni],i = 1, 2, 3, and − FoLi + foni is expressed as θoi3,i = 1, 2, 3. −FLi + fni can be calculated using an inverse force Jacobian reflection, as shown in Eq. (51). Then, the parameter vectors are initialized. Jf is the Jacobian force matrix. Table 2 shows the identification results for the dynamic initial parameters of the system.
$${( - {F_{\bf{L}}} + {f_{\rm{n}}})_{3 \times 1}} = {\left( {J_{\rm{f}}^{ - 1}{{[mg,\;mc \times g]}^{\rm{T}}}} \right)_{3 \times 1}}{.}$$
Table 2

Initial value estimation results




24.50 kg

mc x

0.3 kg×m

mc y

3.8 kg×m

mc z

0.5 kg×m

I 11

1.44 kg×m2

I 12

0.12 kg×m2

I 13

0.09 kg×m2

I 22

0.95 kg×m2

I 23

0.02 kg×m2

I 33

1.65 kg×m2

b o1


b o2


b o3


A of1


A of2


A of3


θ o13

−112 N

θ o23

−63 N

θ o33

−59 N

The second step is the main procedure of the control experiment. When a desired curve is given, under the control of the adaptive robust control, the platform begins to follow the trajectory. During this process, online parameter estimation works to make the estimated unknown parameters subsequently closer to the real values as the algorithms are executed. Fig. 6 shows the tracking error performance and the position tracking in the joint space when given a desired sine curve on the roll axis in the working space without parameter initialization.
Fig. 6

Tracking without initialization (m=20 kg): roll axis, pitch axis, and Z axis tracking errors of 3-RPS, andlengthof eachrod inthejoint space

The last step is analyzing controller performance, which is used to make judgments about the effectiveness of different control algorithms and variable configurations. To quantify the performance, the data for the last 10 s is used to calculate the error indices. The indices include the maximum tracking error e F and the root-mean-square error ∥erms, shown in Eq. (52). The relative error ∥erms/A m is calculated to represent the general effectiveness evaluation criteria of the controller, where A m is the amplitude of the trajectory.
$$\left\{ {\begin{array}{*{20}c}{{e_{\bf{F}}} = \max \{ \vert e\vert \} {\vert _{{T_{\rm{f}}} - 10 \leq t \leq {T_{\rm{f}}},}}} \\ {{{\left\Vert e \right\Vert}_{{\rm{rms}}}} = \sqrt {{\textstyle{1 \over {10}}}\int\nolimits_{{T_{\rm{f}}} - 10}^{{T_{\rm{f}}}} {{e^2}{\rm{d}}t}} {.}\;\;} \end{array}} \right.$$
The experimental results shown in Figs. 6 and 7 demonstrate that if the initial value set was chosen properly, then the posture tracking should be good. Fig. 6 indicates the situation where a desired input trajectory is given in the working space without parameter initialization. When the initial parameters are all chosen not far from the true values, the performance is acceptable, because it is consistent with the simulation results. However, if the initial parameter settings are far from realistic, there will be some jitter introduced in the motion of the upper board. Moreover, as the model differences become larger, the platform may enter an unstable status. As shown in Fig. 7, the system works at the edge of stability and the tracking performance decreases.
Fig. 7

Vibration caused by initial value difference and load change (m=75kg): roll angle, pitch angle, and up-down tracking errors of 3-RPS

After applying the initialization step for a new load setup to the platform, it is quite common that the 4D movie chairs bear different audiences who have different weights and sitting positions, so the adverse effects can be eliminated and the jitter phenomenon will disappear (Fig. 8).
Fig. 8

Tracking with initialization (m=75kg): (a) roll angle, pitch angle, and up-down tracking errors of 3-RPS; (b) roll angle, pitch angle, and up-down tracking of 3-RPS

5 Discussion and conclusions

In this paper, an ARC controller with a parameter initialization method was proposed. It was found to be stable and effective while controlling the posture of a 3-RPS platform driven by pneumatic cylinders. The process of stability proof is shown in the Appendix.

Parameter uncertainty and nonlinear features can be estimated and inhibited by online estimation methods and robust parts of the controller. The experimental results indicated that the unknown parameters are indeed bounded and converge. The parameter identification not only prevents the vibration phenomenon but also decreases the estimation time when given a set of better initial parameter values. This represents important progress in practical settings, because the robustness of the system is improved when facing varying surroundings and external loads. Fig. 9 gives a comparison between the parameter estimation processes under ARC and ARCPI. After the initialization, the range of the estimated parameters is much smaller and more accurate. For a more complex situation, a compound sine wave Xd is used as the desired curve in the working space. The posture tracking results are shown in Fig. 10 under ARCPI. Posture control experiments have also been performed using the same desired trajectory but different algorithms. The relative tracking error of ARCPI was not more than 1%. Error analysis comparisons with several other algorithms are shown in Tables 3 and 4.
Fig. 9

Comparison of the parameter matrix without (ARC) (a) and with (ARCPI) (b) initialization

Fig. 10

Compound trajectory control performance: (a) roll angle, pitch angle, and up-down tracking errors of 3-RPS; (b) roll angle, pitch angle, and up-down tracking of 3-RPS

Table 3

Tracking error analysis eF (m=50 kg)





Roll (rad)








Pitch (rad)








Heave (mm)








Table 4

Tracking error analysis erms (m=50 kg)





Roll (rad)








Pitch (rad)








Heave (mm)








Compared to previous methods such as SMC and the basic ARC controller, the proposed method can improve the tracking performance by the integrated direct/indirect adaptive robust design. Meanwhile, parameter initial value identification expands the controller’s adaptability of different working statuses and satisfies realistic conditions.

There are still some difficulties to overcome. One is the valve’s dead-zone features. The nonlinear dead-zone property is a major factor in control precision, but different valves have different dead-zone properties even for the same batch of valves. It is impossible to evaluate each one’s dead-zone and central voltage udz and um before applying them to a 3-RPS platform. A solution must be proposed to improve the adaptability of the controller. Moreover, to achieve a higher precision for the posture, new friction models should be considered in the controller design, such as the LuGre model, which has been shown to be an effective model for the friction between the piston and cylinder wall (Khayati et al., 2009).


  1. Andrievsky, B., Kazunin, D.V., Kostygova, D.M., et al., 2014. Control of pneumatically actuated 6-DOF Stewart platform for driving simulator. Proc. 19th Int. Conf. on Methods and Models in Automation and Robotics, p.663–668. Scholar
  2. Atkeson, C.G., An, C.H., Hollerbach, J.M., 1985. Rigid body load identification for manipulators. Proc. 24th IEEE Conf. on Decision and Control, p.996–1002. Scholar
  3. Carneiro, J.F., de Almeida, F.G., 2007. Heat transfer evaluation of industrial pneumatic cylinders. Proc. Instit. Mech. Eng. Part I: J. Syst. Contr. Eng., 221(1): 119–128. Scholar
  4. Chen, Z., Yao, B., Wang, Q.F., 2013a. Accurate motion control of linear motors with adaptive robust compensation of nonlinear electromagnetic field effect. IEEE/ASME Trans. Mechatron., 18(3): 1122–1129. Scholar
  5. Chen, Z., Yao, B., Wang, Q.F., 2013b. Adaptive robust precision motion control of linear motors with integrated compensation of nonlinearities and bearing flexible modes. IEEE Trans. Ind. Inform., 9(2): 965–973. Scholar
  6. Chen, Z., Yao, B., Wang, Q.F., 2015. μ-synthesis-based adaptive robust control of linear motor driven stages with high-frequency dynamics: a case study. IEEE/ASME Trans. Mechatron., 20(3): 1482–1490. Scholar
  7. Cheng, Y.M., Chen, Y.S., 2013. An angle trajectory tracking for a 3-DOF pneumatic motion platform by the NI compact RIO embedded system. J. Mech. Eng. Autom., 3: 14–21.CrossRefGoogle Scholar
  8. Díaz-Rodríguez, M., Mata, V., Valera, Á., et al., 2010. A methodology for dynamic parameters identification of 3-DOF parallel robots in terms of relevant parameters. Mech. Mach. Theory, 45(9): 1337–1356. Scholar
  9. Farhat, N., Mata, V., Page, Á., et al., 2008. Identification of dynamic parameters of a 3-DOF RPS parallel manipulator. Mech. Mach. Theory, 43(1): 1–17. Scholar
  10. Girin, A., Plestan, F., Brun, X., et al., 2009. High-order sliding-mode controllers of an electropneumatic actuator: application to an aeronautic benchmark. IEEE Trans. Contr. Syst. Technol., 17(3): 633–645. Scholar
  11. Goodwin, G.C., Mayne, D.Q., 1987. A parameter estimation perspective of continuous time model reference adaptive control. Automatica, 23(1): 57–70. Scholar
  12. Grewal, K.S., Dixon, R., Pearson, J., 2011. Control design for a pneumatically actuated parallel link manipulator. Proc. 21st Int. Conf. on Systems Engineering, p.43–48. Scholar
  13. Grewal, K.S., Dixon, R., Pearson, J., 2012. LQG controller design applied to a pneumatic Stewart-Gough platform. Int. J. Autom. Comput., 9(1): 45–53. Scholar
  14. Grotjahn, M., Heimann, B., Abdellatif, H., 2004. Identification of friction and rigid-body dynamics of parallel kinematic structures for model-based control. Multibody Syst. Dynam., 11(3): 273–294. Scholar
  15. Khayati, K., Bigras, P., Dessaint, L.A., 2009. LuGre modelbased friction compensation and positioning control for a pneumatic actuator using multi-objective output-feedback control via LMI optimization. Mechatronics, 19(4): 535–547. Scholar
  16. Kimura, T., Hara, S., Fujita, T., et al., 1997. Feedback linearization for pneumatic actuator systems with static friction. Contr. Eng. Pract., 5(10): 1385–1394. Scholar
  17. Meng, D., Tao, G., Chen, J., et al., 2011. Modeling of a pneumatic system for high-accuracy position control. Proc. Int. Conf. on Fluid Power and Mechatronics, p.505–510. Scholar
  18. Meng, D., Tao, G., Zhu, X., 2013. Integrated direct/indirect adaptive robust motion trajectory tracking control of pneumatic cylinders. Int. J. Contr., 86(9): 1620–1633. Scholar
  19. Merlet, J.P., 2002. Parallel Robots. Kluwer Academic Publishers, Norwell, MA, USA.zbMATHGoogle Scholar
  20. Pfreundschuh, G.H., Kumar, V., Sugar, T.G., 1991. Design and control of a 3-DOF in-parallel actuated manipulator. IEEE Int. Conf. on Robotics and Automation, p.1659–1664. Scholar
  21. Pradipta, J., Klünder, M., Weickgenannt, M., et al., 2013. Development of a pneumatically driven flight simulator Stewart platform using motion and force control. Proc. IEEE/ASME Int. Conf. on Advanced Intelligent Mechatronics, p.158–163. Scholar
  22. Ramsauer, M., Kastner, M., Ferrara, P., et al., 2012. A pneumatically driven Stewart platform used as fault detection device. Appl. Mech. Mater., 186: 227–233. Scholar
  23. Richardson, R., Plummer, A.R., Brown, M.D., 2001. Selftuning control of a low-friction pneumatic actuator under the influence of gravity. IEEE Trans. Contr. Syst. Technol., 9(2): 330–334. Scholar
  24. Schulte, H., Hahn, H., 2004. Fuzzy state feedback gain scheduling control of servo-pneumatic actuators. Contr. Eng. Pract., 12(5): 639–650. Scholar
  25. Smaoui, M., Brun, X., Thomasset, D., 2006. A study on tracking position control of an electropneumatic system using backstepping design. Contr. Eng. Pract., 14(8): 923–933. Scholar
  26. Tao, G., Zuo, H., 2014. Cross-coupling adaptive robust control study of single/multiple 3-DOF pneumatic parallel platforms. Proc. 9th JFPS Int. Symp. on Fluid Power.Google Scholar
  27. Wang, J., Fan, L., Hu, L., 2005. Positional forward solution and numeric-symbolic solution of singular configuration analysis for 3-RPS parallel platform mechanism. J. Mach. Des., 22(5): 15–19(in Chinese).Google Scholar
  28. Yao, B., Tomizuka, M., 1997. Adaptive robust control of SISO nonlinear systems in a semi-strict feedback form. Automatica, 33(5): 893–900. Scholar
  29. Yao, J., Jiao, Z., Ma, D., 2014a. Extended-state-observerbased output feedback nonlinear robust control of hydraulic systems with backstepping. IEEE Trans. Ind. Electron., 61(11): 6285–6293. Scholar
  30. Yao, J., Jiao, Z., Ma, D., et al., 2014b. High-accuracy tracking control of hydraulic rotary actuators with modeling uncertainties. IEEE/ASME Trans. Mechatron., 19(2): 633–641. Scholar
  31. Zheng, K.J., Cui, P., Guo, H.J., 2011. Kinematics and static characteristics analysis of 3-RPS parallel mechanism. J. Mach. Des., 28(9) (in Chinese).Google Scholar
  32. Zhu, X., Tao, G., Yao, B., et al., 2008. Adaptive robust posture control of a parallel manipulator driven by pneumatic muscles. Automatica, 44(9): 2248–2257. Scholar
  33. Zhu, X., Tao, G., Yao, B., et al., 2009. Integrated direct/indirect adaptive robust posture trajectory tracking control of a parallel manipulator driven by pneumatic muscles. IEEE Trans. Contr. Syst. Technol., 17(3): 576–588. Scholar

Copyright information

© Zhejiang University and Springer-Verlag GmbH Germany, part of Springer Nature 2017

Authors and Affiliations

  • Guo-liang Tao
    • 1
  • Ce Shang
    • 1
  • De-yuan Meng
    • 2
  • Chao-chao Zhou
    • 1
  1. 1.The State Key Laboratory of Fluid Power Transmission and ControlZhejiang UniversityHangzhouChina
  2. 2.School of Mechatronic EngineeringChina University of Mining and TechnologyXuzhouChina

Personalised recommendations