Keywords

1 Introduction

The development of automation and robotization causes a growing interest in multi-axis hydraulic drives in manipulators and robots with the perpendicular kinematic structures. This kind of structure is defined as a combination of a working platform with a base using active elements being closed kinematic chains. Platforms based on various flat or spatial parallel mechanisms are used, among others, in manipulators, robots, machine tools, telescopes, measuring machines and car suspension systems [9]. Parallel manipulators are mechanisms with structures of closed kinematic chains. The passive element (effector) is connected to a stationary base using parallel intermediary elements called branches. The effector of such a parallel spatial mechanism has two to six degrees of freedom (6-DoF) [6, 7]. Parallel manipulators have been used wherever high accuracy of positioning and orientation of high-mass objects is required. As pioneers in the field of manipulators with a parallel structure are considered three people, including Eric Gough, Klaus Cappel and D. Stewart [3, 12]. Their interest in this field had a significant impact on the development of new software or inventions which are accompanied by parallel mechanisms. The main advantage of the parallel manipulator structure is the extremely favorable load-to-weight ratio of the mechanism due to the uniform distribution of load of the passive element on the base by independent kinematic chains (branches). Less drive power is required than the power in serial manipulators, as the individual branches are less loaded. They have good dynamic properties thanks to the small mass of the elements which allows for higher speeds and acceleration of the effector. The good stiffness of the structure allows for high accuracy of the effector positioning. Considering the kinematic analysis, it is important to note that the advantage of parallel manipulators is the easy and unequivocal solution to the inverse kinematics problem and solving the forward dynamics problem. The main disadvantage of these manipulators is primarily the small working area (as compared to open-type manipulators), dependent on the kinematic chains connecting the effector to the base and the occurrence of peculiar configurations within the working area, i.e. those in which the impact on the movement parameters of the effector is impeded or even impossible. Platforms based on different flat or spatial parallel mechanisms are used, among others, in manipulators, robots, machine tools, telescopes, measuring machines and car suspension systems.

2 Test Stand Construction

The prototype of a three-axis electro-hydraulic parallel manipulator is shown in Fig. 1.

Fig. 1
figure 1

The manipulator prototype: 1—hydraulic cylinder with a linear mechanism, 2—proportional control valve, 3—platform, 4—joint connecting the actuator with the base, 5—base, 6—position transducer, 7—effector platform

In this manipulator, electro-hydraulic servo-drive of integrated design are used for active drives. Each of the three servo-drive consists of a hydraulic cylinder (1), a proportional control valve 4/3 (2) and a magnetostrictive piston rod displacement transducer (6). The whole structure of the manipulator rests on the base (5) in the shape of an equilateral triangle. The articulated mechanisms (4) enable the manipulator base to be connected to the drives while providing them with adequate mobility. The mobile platform (3) is mounted on the main articulated joint (7).

The manipulator control system directly controls servo-drive mounted in the joints. The effector trajectory is performed by minimising the difference of the current and predetermined position of the individual joint. Signals from actuator sensors are processed through real-time software. Direct and continuous position control with the ability to smoothly adjust the speed of movements to a large extent improves the dynamic properties of the drive when used for automating fast-changing technological processes. The computer system enables data acquisition. On the other hand, large computational capabilities allow the use of adaptive control or artificial intelligence elements in the control process. At the same time, the use of discrete control increases the area of application of hydraulic axes as it serves to solve complex problems with difficulties in defining rules of conduct which are computationally complicated and require rapid responses, e.g. during parametric identification. The distributed system was used for rapid prototyping of fluid power servo-drives in RT. On PC computes Matlab/Simulink and xPC Target were installed. In Matlab/Simulink package it is possible to create processing procedures for both conventional and artificial intelligence controllers and to execute own control and visualization applications. PC has the card of analog input/output and Real-Time xPC Target system which is used for measurement data acquisition and fluid power drives control. Target PC can simulate the flow of control and measurement signals in real time by means of HIL (Hardware-in-the-Loop) method [11].

3 Kinematic Model of the Manipulator

In a parallel manipulator, each arm can take infinitely many positions at a given ejection of its drive. The position of the centre of the platform is at the point of intersection of the lines defining the available positions of the ends of the individual arms at the drive ejections. The basic problem of kinematic structure analysis is the correct planning of the trajectory of the manipulator. This task is treated as the designation of the transition path between the start and end points of the effector motion. It is also necessary to identify movements, speeds, and acceleration for movement connections. When arm drives impact directly on the platform, the dependence between the robot tip movement and the drive extension is the distance between the start and end attachment points of the drive. This situation occurs in the kinematics of the examined manipulator (Fig. 2), where three identical arms directly impact on the platform using the linear drives on them. Each of the arms forms a kinematic chain whose origin is associated with the accepted base, and the end connection has a direct influence on the position of the platform. The solutions of the forward and inverse kinematics problems are necessary in the positioning and control of the manipulator along a given curve in the Cartesian space [8].

Fig. 2
figure 2

Model and kinematic diagram of the manipulator

Figure 2 shows the kinematic diagram of the manipulator. The actuator elements consist of three electro-hydraulic servo-drive. Dimensions Li, i = 1, 2, 3 are the lengths of the ejections of the individual actuators. The servomechanisms attachment locations are marked as Ai, i = 1, 2, 3. Individual manipulator arms form a closed kinematic chain. Simultaneous control of the Li actuators in the form of three identical servomechanisms enables moving the platform anchored in points Bi, i = 1, 2, 3.

Three identical integrated hydraulic axes from Bosch Rexroth are included in the spatial parallel manipulator. The single integrated electrohydraulic axle consists of CS hydraulic cylinder (with an internal magnetostrictive positioning system—Novostrictive) coupled to 4/3 proportional valve (Bosch–Rexroth). Parameters of CS hydraulic cylinders are as follows: piston diameter D = 40 mm, piston rod diameter d = 28 mm, stroke h = 220 mm, nominal pressure p = 160 bar. The lengths of the electrohydraulic axes (hydraulic cylinders, including their fixing in joints) as the active elements (actuators) of the manipulator are:

$$ \mathop L\nolimits_{{_{i} }} = L_{si} + h_{i} ,\quad i = 1,2,3 $$
(1)

where: Lsi—the length of the actuators in the initial state at the extreme position of the piston, taking into account the clamping length of the piston rod in the rotary joint (Lsi= 425 mm), hi—the cylinder stroke (hi = 250 mm).

The amount of extraction of individual servo-drives can be determined in a vector form Li.

$$ \mathop {\mathbf{L}}\nolimits_{i} = {\mathbf{p}} + \mathop {\mathbf{R}}\nolimits_{B}^{A} \cdot \mathop {\mathbf{r}}\nolimits_{i} - \mathop {\mathbf{R}}\nolimits_{i} $$
(2)

where: \( {\mathbf{p}} = \mathop {AB}\limits^{ \leftarrow } \), \( {\mathbf{p}} = \mathop {[\mathop x\nolimits_{p} \;\;\mathop y\nolimits_{p} \;\;\mathop z\nolimits_{p} ]}\nolimits^{T} \)—vector of the end (center) B point of the platform against point A based on, \( \mathop {\mathbf{R}}\nolimits_{B}^{A} \)—rotation matrix of the reference system to the base system, ri—the coordinates of the \( \mathop {\mathbf{B}}\nolimits_{i}^{B} \) vector in the base space (B, X, Y, Z), and are:

  • Ri—the coordinates of the \( \mathop {\mathbf{A}}\nolimits_{i}^{A} \) vector in the reference space (A, X0, Y0, Z0):

  • Ri and ri vectors are described respectively by (2):

$$ \begin{aligned} \mathop {\mathbf{R}}\nolimits_{i} & = \left[ {R \cdot \,\cos \,\varphi_{i} ,R \cdot \,\sin \,\varphi_{i} ,0} \right]^{T} \\ {\mathbf{r}}_{i} & = \left[ {r \cdot \,\cos \,\varphi_{i} ,r \cdot \,\sin \,\varphi_{i} ,0} \right],\quad i = 1,2,3\quad \\ \end{aligned} $$
(3)

The position angles of the individual joints in the base and platform are: ϕ1 = 0°, ϕ2 = 120°, ϕ3 = 240°.

\( \mathop {\mathbf{R}}\nolimits_{B}^{A} \) rotation matrix is written as follows:

$$ \mathop {\mathbf{R}}\nolimits_{{_{B}^{A} }} = R_{Bx} \left( \alpha \right) \cdot R_{By} \left( \beta \right) \cdot R_{BZ} \left( \gamma \right) $$
(4)

where:

$$ {\mathbf{R}}_{Bx} \left( \alpha \right) = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 \\ 0 & {\cos \alpha } & { - \sin \alpha } \\ 0 & {\sin \alpha } & {\cos \alpha } \\ \end{array} } \right],{\mathbf{R}}_{By} \left( \beta \right) = \left[ {\begin{array}{*{20}c} {\cos \beta } & 0 & {\sin \beta } \\ 0 & 1 & 0 \\ { - \sin \beta } & 0 & {\cos \beta } \\ \end{array} } \right],{\mathbf{R}}_{Bz} \left( \beta \right) = \left[ {\begin{array}{*{20}c} {\cos \gamma } & { - \sin \gamma } & 0 \\ {\sin \gamma } & {\cos \gamma } & 0 \\ 0 & 0 & 1 \\ \end{array} } \right] $$

Angles: α, β, γ (RPY—roll-pitch-yaw) denote respectively the rotations of the reference system: XYZ around the axis: transverse X (rolling), longitudinal Y (pitching), vertical Z (yawing).

Derivation of the Eq. (2) over time and the use of the rotation derivative properties leads to the dependence:

$$ {\dot{\mathbf{L}}}_{i} = {\dot{\mathbf{p}}} + {\dot{\mathbf{R}}}_{B}^{A} \cdot {\mathbf{r}}_{i} = {\varvec{\upnu}} + {\varvec{\upomega}} \times {\mathbf{R}}_{B}^{A} \cdot {\mathbf{r}}_{i} $$
(5)

where ν, ω are linear and angular velocities vectors, respectively:

$$ \begin{aligned} {\varvec{\upnu}} & = \left[ {v_{x} ,v_{y} ,v_{z} } \right]^{T} \\ {\varvec{\upomega}} & = \left[ {\omega_{x} ,\omega_{y} ,\omega_{z} } \right]^{T} \\ \end{aligned} $$

The mechanism of parallel structure is a closed mechanism, so the restriction of the mechanism movement can be defined: f(L, q)= 0.

The inverse kinematics problem can be written as:

$$ d{\mathbf{L}} = {\mathbf{J}} \cdot d{\mathbf{q}} $$
(6)

where:

  • \( {\mathbf{L}} = \mathop {\left[ {\mathop L\nolimits_{1} \;\;\mathop L\nolimits_{2} \;\;\mathop L\nolimits_{3} } \right]}\nolimits^{T} \)—translation vector of hydraulic drive axes,

  • \( {\mathbf{q}} = \mathop {\left[ {\mathop x\nolimits_{p} \;\mathop y\nolimits_{p} \;\mathop z\nolimits_{p} \;\alpha \;\beta \;\gamma } \right]}\nolimits^{T} \)—position and rotation vector of the mobile manipulator platform,

  • \( {\mathbf{J}} = - \mathop {\mathbf{J}}\nolimits_{L}^{ - 1} \cdot \mathop {\mathbf{J}}\nolimits_{q} \)Jacobian matrix.

The resulting position and orientation error in the forward kinematics system can be written as follows:

$$ \delta q = {\mathbf{J}}^{ - 1} \cdot \delta {\mathbf{L}} $$
(7)

where: \( \delta {\mathbf{q}} = [\mathop {\Delta x}\nolimits_{p} \;\mathop {\Delta y}\nolimits_{p} \;\mathop {\Delta z}\nolimits_{p} \;\Delta \alpha \;\Delta \beta \;\Delta \gamma ] \), \( \delta {\mathbf{L}} = [\mathop {\Delta L}\nolimits_{1} \;\mathop {\Delta L}\nolimits_{2} \;\mathop {\Delta L}\nolimits_{3} ] \)

A simulation experiment was conducted to determine the space in the Matlab/Simulink environment by observing the P point of the working platform. The figure shows the trajectory of motion in the form of a closed curve and the set of the resultant points of the manipulator working area (Fig. 3).

Fig. 3
figure 3

Simulation charts: a trajectory in the form of a closed curve in the Cartesian space, b the working area of the manipulator

4 Dynamic Model of the Manipulator

Finding equations describing the dynamics of a designed robot is a much more complicated task. The robot has three arms, each of which rotates around two axes and performs the translation movement resulting from the drives work. The arms are connected by a common joint whose construction determines the position of the robot gripper. Attempting to formulate equations describing the dynamics of such constructions is a difficult task and often superfluous to be used in the project. In a parallel robot, there are many elements that affect its dynamics. For each element, it would be necessary to determine its temporary position and acceleration related to its dynamics. Searching for acceleration involves assigning derivatives of functions derived from transformations of equations contained in the forward and inverse kinematics problems. It is natural that the form of such equations will be greatly expanded. Even if you manage to find all the dependencies then you will encounter a problem with their verification resulting from numerical errors. The sense in looking for accurate equations describing the dynamics can be undermined by the limitations of the computing power of the control system that will use such equations. In addition, it is important to note that often when performing robot movements, the range of position changes in many components is small. This means that their influence on dynamics can be also negligibly small. For example, in the described robot, the simulations made using Sim-Mechanics [10] showed that the range of angular swings in many rotary joints was not more than several degrees, and that the forces values required for motion were lower by an order of magnitude than the forces needed to compensate for the gravity force.

Using the orthogonal complement method, the dynamics of 3-DoF parallel manipulator can be described as a second-order differential Eq. (8),

$$ {\mathbf{M}}({\mathbf{x}}){\ddot{\mathbf{X}}} + {\mathbf{G}}({\mathbf{x}}) = {\mathbf{J}}_{f}^{T} {\mathbf{F}}_{p} $$
(8)

where: \( {\mathbf{X}} \in {\mathbf{R}}^{3} \) is a vector of the generalized coordinates, \( {\mathbf{M}} \in {\mathbf{R}}^{3 \times 3} \) is the manipulator mass matrix, \( {\mathbf{G}} \in {\mathbf{R}}^{3} \) is the vector of gravitation effects, \( {\mathbf{J}}_{f} \in {\mathbf{R}}^{3 \times 3} \) is the force Jacobian matrix and \( {\mathbf{F}}_{p} \in {\mathbf{R}}^{3} \) is the vector of the applied force of the actuators given by,

$$ {\mathbf{F}}_{p} = (F_{p1} ,F_{p2} ,F_{p3} ) $$
(9)

where Fpi, i = 1, 2, 3 are individual hydraulic forces acting on the manipulator platform.

The end-effector position (xp, yp, zp) of the moving platform could be obtained by substituting the elongation Li of every linear hydraulic axis into the forward motion equation.

Using the differential kinematics mechanism were: \( {\mathbf{L}} = {\mathbf{J}} ({\mathbf{x}} )\cdot {\mathbf{x}} \), we can write (10),

$$ {\mathbf{M}}^{ + } ({\mathbf{x}}){\ddot{\mathbf{L}}} + {\mathbf{G}}^{ + } ({\mathbf{x}}) = {\mathbf{F}}_{p} $$
(10)

where: \( {\mathbf{L}} = \mathop {\left[ {\mathop L\nolimits_{1} \;\;\mathop L\nolimits_{2} \;\;\mathop L\nolimits_{3} } \right]}\nolimits^{T} \)—translation vector of hydraulic drive axes, \( {\mathbf{M}}^{ + } ({\mathbf{x}}) = [{\mathbf{J}}({\mathbf{x}})^{T} ]^{ - 1} {\mathbf{M}} ({\mathbf{x}} ){\mathbf{J}} ({\mathbf{x}} )^{ - 1} \)—positive definite mass matrix and \( {\mathbf{G}}^{ + } ({\mathbf{x}}) = [{\mathbf{J}}({\mathbf{x}})^{T} ]^{ - 1} {\mathbf{G}} ({\mathbf{x}} ) \)—gravity forces vector.

4.1 Dynamic Model of the Hydraulic Servo System

Calculation diagram of the hydraulic servo drive model, consisting of the double-acting cylinder with one-sided piston rod and directional control valve is presented in the Fig. 4.

Fig. 4
figure 4

Scheme of the hydraulic servo model

The equations relating mechanical to hydraulic variables [1, 2, 4] are described by,

$$ \begin{array}{*{20}l} {F_{pi} = A_{1i} p_{{_{1i} }} - A_{2i} p_{2i} } \hfill \\ {Q_{1i} = A_{1i} \dot{L}_{i} + C_{1} \dot{p}_{1i} + G_{le} (p1 - p2),\quad i = 1,2,3} \hfill \\ {Q_{2i} = A_{2i} \dot{L}_{i} - C_{2} \dot{p}_{2i} + G_{le} (p1 - p2)} \hfill \\ \end{array} , $$
(11)

where: \( Q_{1i} \)—volumetric flow rate, \( C_{1} ,C_{2} \)—fluid capacitances in the cylinder chambers \( G_{le} \)—coefficients of leakages in the cylinder.

Substituting (11) in the system equation of motion (10), the following equations of motion are derived,

$$ {\mathbf{M}}^{ + } ({\mathbf{x}}){\ddot{\mathbf{L}}} + {\mathbf{G}}^{ + } ({\mathbf{x}}) = \left[ {\begin{array}{*{20}c} {A_{11} \cdot p_{11} - A_{21} \cdot p_{21} } \\ {A_{12} \cdot p_{12} - A_{22} \cdot p_{22} } \\ {A_{13} \cdot p_{13} - A_{23} \cdot p_{23} } \\ \end{array} } \right] $$
(12)

The hydraulic forces developed by the actuators are given by,

$$ \left[ {p_{1i} \cdot A_{1i} - p_{2i} \cdot A_{2i} } \right] = \left[ {A_{1i} \cdot p_{s} - A_{2i} \cdot p_{{_{T} }} - \frac{{A^{3}_{1i} + A^{3}_{2i} }}{{(K_{1} \cdot u + K_{0.1} )^{2} }} \cdot \dot{L}_{i}^{2} } \right],\quad i = 1,2,3 $$
(13)

where: u—control input, K1, K0.1—constants factors, which correspond to the main and leakage valve flow paths.

5 Control Design

Design of the control system for the tested manipulator was carried out in the following stages: selection of control laws, virtual prototyping of the control system, simulations of the controller in real time, and implementation on the target manipulator (Fig. 5).

Fig. 5
figure 5

The controller block diagram of the 3-DoF electro-hydraulic manipulator

The control analysis is based on the system dynamic and hydraulic model (10).

$$ {\mathbf{F}}_{p} = {\mathbf{M}}^{ + } ({\mathbf{x}} )\left[ {{\ddot{(\mathbf{L}}}_{d} + {\mathbf{K}}_{\text{p}} ({\mathbf{L}}_{d}^{{}} - {\mathbf{L}}) + {\mathbf{K}}_{\text{v}} ({\dot{\mathbf{L}}}_{d}^{{}} - {\dot{\mathbf{L}}} )} \right] + {\mathbf{G}}^{ + } ({\mathbf{x}} ) $$
(14)

where: \( {\mathbf{K}}_{\text{p}} ,{\mathbf{K}}_{\text{v}} \)—diagonal matrices, which represent the control gains of the system, \( {\mathbf{L}}_{d}^{{}} \)—desired cylinder displacement vector.

Initial axis controller settings were chosen in an experimental way in the process of virtual prototyping. Axis controller gain coefficients Kp, Kv were chosen in such a way so that the position error of the movement trajectory would be minimized. Only after determining the correct coefficient values for the virtual control system, it was possible to proceed to the phase of rapid prototyping [5] (Fig. 6).

Fig. 6
figure 6

The block diagram of closed loop control

6 Experimental Results

In order to show the accuracy of the control system, an experiment on a real object was conducted. In order to obtain wider information about the control quality, different trajectories of movement were studied. Based on distributed measurement and control system a test stand for rapid prototyping controller of the electro-hydraulic servo-drive was set up [10]. Figure 7 presents results of the control process for references signals (Xd, Yd, Zd) in Cartesian coordinates.

Fig. 7
figure 7

Displacement of the manipulator arms for control algorithm, according to the sinusoidal reference trajectory in Cartesian coordinates

Figure 8 presents the change effects in movement frequency of hydraulic axis on the quality control.

Fig. 8
figure 8

Absolute follow-up error of position signal δL

For practical applications such as high positioning accuracy, the control algorithm gives satisfactory results for the regulation of frequencies 0.8 Hz (5 rad/s).

7 Conclusions

This paper presents the prototype of a spatial 3-DoF hydraulic parallel manipulator consisting of a stationary base and a mobile platform that are connected to joints having three integrated electro-hydraulic axes. A general kinematic model and a dynamic model of a parallel 6-DoF manipulator are presented but they can be simplified by describing the researched spatial 3-DoF hydraulic manipulator. The adjustment system adapting dynamic changes of the forces impacting on the manipulator, ensuring smoothness and uniformity as well as the most accurate reproduction of the trajectory of motion, was the subject of research. The benefits of improving the dynamics of mechanisms and the ability to automate control and regulation processes using proportional technologies cause the increased use of these technologies in electro-hydraulic drives.