# Error Analysis and Adaptive-Robust Control of a 6-DoF Parallel Robot with Ball-Screw Drive Actuators

Authors: Navid Negahbani; Hermes Giberti; Enrico Fiore
Journal: Journal of Robotics
 (2016)

---

## Abstract

Parallel kinematic machines (PKMs) are commonly used for tasks that require high precision and stiffness. In this sense, the rigidity of the drive system of the robot, which is composed of actuators and transmissions, plays a fundamental role. In this paper, ball-screw drive actuators are considered and a 6-degree of freedom (DoF) parallel robot with prismatic actuated joints is used as application case. A mathematical model of the ball-screw drive is proposed considering the most influencing sources of nonlinearity: sliding-dependent flexibility, backlash, and friction. Using this model, the most critical poses of the robot with respect to the kinematic mapping of the error from the joint- to the task-space are systematically investigated to obtain the workspace positional and rotational resolution, apart from control issues. Finally, a nonlinear adaptive-robust control algorithm for trajectory tracking, based on the minimization of the tracking error, is described and simulated.


---

## Body

## 1. Introduction

Different drive systems are used for moving PKMs. Electrical linear motors, ball-screw-driven units, and belt-driven units are the three most commonly used solutions to actuate prismatic joints. Linear motors directly provide the thrust force, while ball-screw- and belt-driven units convert a rotational motion into a linear one. Ball-screw-driven units have good stiffness and good precision for short and medium travel [1]. Belt-driven units can be used for high speed and long travel strokes [2, 3], but with a low accuracy because of the flexibility of the belt. Linear motors put together the advantageous features of ball-screw and belt: zero backlash, high stiffness, high velocities, and acceleration. Nevertheless, this is paid for in terms of higher costs, lower energy efficiency, smaller force-to-size ratio, and higher constructive complexity [4]. Moreover, linear motors are not available as ready-to-use units, especially when a large actuation force is required. In this case, custom-made solutions are necessary including an adequate liquid cooling system. Accordingly a ball-screw drive actuator often represents the best compromise solution.Many researchers have modeled ball-screw-driven transmission by considering its structural flexibility. Flexible ball-screw models range from fairly simple ones consisting of lumped masses connected by springs, such as those in [5, 6], to more complicated ones with distributed parameter employing FEM, such as those in [7, 8]. Hybrid methods are also proposed, taking into account distributed stiffness and inertia of the screw while modeling other components as lumped masses connected by springs, as set out in [9, 10]. However, only lumped-masses equivalent models are used for control purposes, and, frequently, 2 DoFs are considered enough: a rotational DoF and a translational one [11–13]. In support of this approach, Frey et al. in [14] show that an accurate representation of the screw elastic behaviour can be obtained through a simplified lumped model. Complementary, other researchers such as Han and Lee in [15] model a rigid ball-screw-driven system by considering backlash and friction. In this work, flexibility, backlash, and friction are taken into account at the same time.The control strategies for a PKM can be largely divided into two schemes: joint-space control and task-space control. The joint-space control scheme can be readily implemented as a collection of multiple, independent, single-input single-output (SISO) control systems using only information on each actuator displacement [16]. On the other hand, the task-space control implements direct control of the 6 DoFs by measuring or estimating them solving the forward kinematics. In addition, robot manipulator control strategies can be classified into model-based control and performance-based control [17]. Model-based control requires an accurate dynamic model of the robot while performance-based control adjusts the control parameters according to the tracking error, as has been done in this work with an estimated model.Due to the closed-loop kinematic chains of PKMs, strong interactions between different actuators appear. This, combined with high speed motion, makes the dynamics of parallel manipulators highly nonlinear. In order to perform suitable compensation for these sources of nonlinearity, the parameters of the motion equations should be known exactly [17]. Since PKMs require generally a relatively small workspace compared to their overall size, even if this characteristic represents a drawback compared to serial manipulators, the configuration-dependent coefficient matrices of the dynamic equations may be approximated as constant ones without introducing large modeling errors. Based on these constant matrices, calculation of the approximated inverse dynamics becomes much simpler than solving the full inverse dynamics. However, to prevent deterioration of tracking performance that may cause this approximation with a controller based on the inverse dynamics [18], performance-based control methods can be used. The most important of these methods are (
1
) sliding mode control, (
2
) robust control, (
3
) adaptive control, and (
4
) adaptive-robust control.In spite of the properties of robustness claimed, the real implementation of sliding mode control techniques presents a major drawback that is the so-called chattering effect with dangerous high-frequency vibrations of the controlled system. This phenomenon is due to the fact that, in real applications, it is not reasonable to assume that the control signal can switch at infinite frequency. Robust control means to design a controller such that some level of performance of the controlled system is guaranteed independently from changes in the plant dynamics. In the robust approach, the controller has a fixed structure that yields acceptable performance for a class of plants which include the one in question. Robust control is widely used for 6-DoF parallel robot, especially for Gough-Stewart platform [16, 18, 19]. A disadvantage of commonly used robust controllers is that they do not have the ability to learn. This inability implicates conservative design and the stability of the system is achieved at the cost of performance. Adaptive control measures performance indexes of the controlled system using the input, the state, the output, and the known disturbances [20]. From the comparison between the measured performance indexes and the required ones, the adaptation mechanism modifies the parameters of the adjustable controller and/or generates an auxiliary control input. According to [21], we can classify adaptive controllers in three schemes: adaptive control by a computed-torque approach, adaptive control by an inertia-related approach, and adaptive control based on passivity. Honegger et al. use adaptive feed-forward control method in [22, 23] because it is simpler to implement than other algorithms and it is robust to noise and leads to similar or better results [22]. Disadvantages of adaptive control are limited to nonlinear systems in which the uncertain parameters appear linearly, and adaptive controls often exhibit poor transients [24]. To simultaneously achieve the advantages of both adaptive and robust control, these methods can be used together, such as in [25].In this paper, a systematic methodology to find the error of a 6-DoF robotic device with parallel kinematic and Hexaglide architecture [22] is presented. This robot was designed to equip the Politecnico di Milano wind tunnel with a motion simulator for Hardware-in-the-Loop (HIL) large-amplitude dynamic test. In particular, this works as an emulator to reproduce the hydrodynamic interaction between floating bodies and sea water, in the case of floating offshore wind turbines [26] and sailing boat scale models. In previous works [27], the drive system is mechanically sized without considering flexibility, backlash, and friction.The experiments that will be conducted in the civil environmental chamber of the wind tunnel require turbine and boats scale models to be aeroelastic. In order to obtain consistent results, these models are designed to have specific modal shapes, by the way the coupling with the robot and the transmission units might affect the desired behaviour. For these reasons, the manipulator has to be as rigid as possible and in addition all the worsening effects coming from the transmission units (backlashes, flexibility, and friction) should be properly modeled and compensated by means of a suitable control algorithm; otherwise the experimental results would be invalidated.A mathematical model of the ball-screw drive is proposed considering the most influential sources of nonlinearity: sliding-dependent flexibility, backlash, and friction. Using this model, the most critical poses of the robot with respect to the kinematic mapping of the error from the joint to the task-space are systematically investigated to obtain the workspace positional and rotational resolution, apart from control issues. Finally, a nonlinear adaptive-robust control algorithm for trajectory tracking, based on the minimization of the tracking error, is described and simulated. This device is developed for the experimental simulation of the dynamic working conditions of the above-mentioned hydroaeroelastic structures in our wind tunnel (specially for wind turbines).This paper is organized as follows. Section2 introduces the inverse kinematics and dynamics of the Hexaglide. Section 3 sets out the equations of motion of a ball-screw drive actuator. Section 4 describes a systematic error evaluation methodology. Section 5 presents adaptive-robust control method for trajectory tracking, whose performances are simulated and compared with other methods.


## 2. Hexaglide Robot

Among the PKMs that can provide 6 DoFs, attention has been focused on Hexaglide, which is also reported in the literature as 6-P
_US kinematic architecture with parallel linear guideways. Its linkage consists of six closed-loop kinematic chains which connect the fixed base to the mobile platform with the same sequence of joints: actuated prism (P
_), universal (U), and spherical (S). The links have a fixed length, while the actuation takes place through linear guideways, which are not necessarily on the same plane but lie on parallel planes.


### 2.1. Inverse Kinematics

To perform the inverse kinematics analysis of the Hexaglide means to find each slider positionq
i from TCP position and mobile platform orientation; Θ
=
α
,
β
,
γ [28], where α is the rotation around x-axis, β is the rotation around y-axis, and γ is the rotation around z-axis. With reference to the quantities shown in Figure 1, the inverse kinematics of the Hexaglide is solved as described in [26]. In particular, it is possible to write (1)
l
i
=
d
i
+
q
i
u
^
i
with
d
i
=
p
+
R
b
i
′
-
s
i
,where u
^
i is a unitary vector aligned with the ith guide axis, s
i is the position of the same guide with respect to the fixed frame, l
i is the vector aligned with the ith link, p is the vector containing the position and orientation of the mobile platform, R is the rotation matrix, and b
i
′ expresses the position of the ith platform joint with respect to the TCP in the relative frame, while q
i represents the position of the ith slider along the corresponding guide axis. After some simple mathematical passages, the following expression is found: (2)
q
i
=
d
i
,
x
±
l
i
2
-
d
i
,
y
2
-
d
i
,
z
2
.Figure 1
ith closed-loop kinematic chain of the Hexaglide.The velocity and acceleration of the each slider can be derived from (2) as (3)
q
˙
i
=
d
˙
i
,
x
∓
d
˙
i
,
y
d
i
,
y
+
d
˙
i
,
z
d
i
,
z
l
i
2
-
d
i
,
y
2
-
d
i
,
z
2
,
q
¨
i
=
d
¨
i
,
x
∓
d
¨
i
,
y
d
i
,
y
+
d
˙
i
,
y
2
+
d
¨
i
,
z
d
i
,
z
+
d
˙
i
,
z
2
Δ
+
d
˙
i
,
y
d
i
,
y
+
d
˙
i
,
z
d
i
,
z
2
Δ
Δ
,where Δ
=
l
i
2
-
d
i
,
y
2
-
d
i
,
z
2
,
d
˙
i
=
d
˙
i
,
x
d
˙
i
,
y
d
˙
i
,
z
T
=
v
C
+
ω
b
i, and d
¨
i
=
d
¨
i
,
x
d
¨
i
,
y
d
¨
i
,
z
T
=
a
C
+
Ξ
b
i
+
ω
(
ω
b
i
), whereas v
C and a
C are TCP velocity and acceleration, while ω and Ξ are absolute angular velocity and acceleration of the platform. It must be noted that the components of the angular velocity and acceleration of the platform do not coincide with the time derivative of the angular coordinates: (4)
ω
x
,
ω
y
,
ω
z
≠
α
˙
,
β
˙
,
γ
˙
,
α
x
,
α
y
,
α
z
≠
α
¨
,
β
¨
,
γ
¨
.
ω and Ξ are defined as skew-symmetric matrices: (5)
ω
=
0
-
ω
z
ω
y
ω
z
0
-
ω
x
-
ω
y
ω
x
0
,
Ξ
=
0
-
α
z
α
y
α
z
0
-
α
x
-
α
y
α
x
0
.


### 2.2. Inverse Dynamics

Inverse dynamics is the calculation of forces and torques on the robot actuated joints in order to produce the required motion of the mobile platform. A multibody model is implemented in Simulink using the SimMechanics library. Inverse dynamics is solved taking into consideration two payloads: a scale model of a sailing boat and a scale model of an offshore wind turbine. In order to perform the simulation, the required slider motions are calculated using (2) with first required platform motions as input parameters. Subsequently, required slider motions are applied to the SimMechanics robot model and the forces at the robot joints are computed. Figure 2 shows the block scheme of the inverse dynamics model in SimMechanics.Figure 2
SimMechanics robot model for inverse dynamic solution.


## 2.1. Inverse Kinematics

To perform the inverse kinematics analysis of the Hexaglide means to find each slider positionq
i from TCP position and mobile platform orientation; Θ
=
α
,
β
,
γ [28], where α is the rotation around x-axis, β is the rotation around y-axis, and γ is the rotation around z-axis. With reference to the quantities shown in Figure 1, the inverse kinematics of the Hexaglide is solved as described in [26]. In particular, it is possible to write (1)
l
i
=
d
i
+
q
i
u
^
i
with
d
i
=
p
+
R
b
i
′
-
s
i
,where u
^
i is a unitary vector aligned with the ith guide axis, s
i is the position of the same guide with respect to the fixed frame, l
i is the vector aligned with the ith link, p is the vector containing the position and orientation of the mobile platform, R is the rotation matrix, and b
i
′ expresses the position of the ith platform joint with respect to the TCP in the relative frame, while q
i represents the position of the ith slider along the corresponding guide axis. After some simple mathematical passages, the following expression is found: (2)
q
i
=
d
i
,
x
±
l
i
2
-
d
i
,
y
2
-
d
i
,
z
2
.Figure 1
ith closed-loop kinematic chain of the Hexaglide.The velocity and acceleration of the each slider can be derived from (2) as (3)
q
˙
i
=
d
˙
i
,
x
∓
d
˙
i
,
y
d
i
,
y
+
d
˙
i
,
z
d
i
,
z
l
i
2
-
d
i
,
y
2
-
d
i
,
z
2
,
q
¨
i
=
d
¨
i
,
x
∓
d
¨
i
,
y
d
i
,
y
+
d
˙
i
,
y
2
+
d
¨
i
,
z
d
i
,
z
+
d
˙
i
,
z
2
Δ
+
d
˙
i
,
y
d
i
,
y
+
d
˙
i
,
z
d
i
,
z
2
Δ
Δ
,where Δ
=
l
i
2
-
d
i
,
y
2
-
d
i
,
z
2
,
d
˙
i
=
d
˙
i
,
x
d
˙
i
,
y
d
˙
i
,
z
T
=
v
C
+
ω
b
i, and d
¨
i
=
d
¨
i
,
x
d
¨
i
,
y
d
¨
i
,
z
T
=
a
C
+
Ξ
b
i
+
ω
(
ω
b
i
), whereas v
C and a
C are TCP velocity and acceleration, while ω and Ξ are absolute angular velocity and acceleration of the platform. It must be noted that the components of the angular velocity and acceleration of the platform do not coincide with the time derivative of the angular coordinates: (4)
ω
x
,
ω
y
,
ω
z
≠
α
˙
,
β
˙
,
γ
˙
,
α
x
,
α
y
,
α
z
≠
α
¨
,
β
¨
,
γ
¨
.
ω and Ξ are defined as skew-symmetric matrices: (5)
ω
=
0
-
ω
z
ω
y
ω
z
0
-
ω
x
-
ω
y
ω
x
0
,
Ξ
=
0
-
α
z
α
y
α
z
0
-
α
x
-
α
y
α
x
0
.


## 2.2. Inverse Dynamics

Inverse dynamics is the calculation of forces and torques on the robot actuated joints in order to produce the required motion of the mobile platform. A multibody model is implemented in Simulink using the SimMechanics library. Inverse dynamics is solved taking into consideration two payloads: a scale model of a sailing boat and a scale model of an offshore wind turbine. In order to perform the simulation, the required slider motions are calculated using (2) with first required platform motions as input parameters. Subsequently, required slider motions are applied to the SimMechanics robot model and the forces at the robot joints are computed. Figure 2 shows the block scheme of the inverse dynamics model in SimMechanics.Figure 2
SimMechanics robot model for inverse dynamic solution.


## 3. Dynamic Model of Ball-Screw Drive

Typical ball-screw drive consists of a motor and reducer, coupling, ball-screw, table, and end bearings. In this section, the dynamic model of ball-screw drive is studied taking into account flexibility (in gearbox, coupling, screw-ball, and bearing), backlash (in gearbox and between screw and nut), and friction. Figure3 illustrates the lumped-mass-spring model of ball-screw drive.Figure 3
Lumped mass-spring model of ball-screw drive.The translational movement of the nut was modeled by taking into account two elements: the ball-screw transmission ratioR and the axial elastic deformation of the screw. In particular, the first contribution is easily described by the relation R
θ where R
=
h
p
/
2
π is the ball-screw transmission ratio and θ is the rotational movement of the screw while the second one is represented by x
b
s that is the translation movement due to axial elastic deformation of screw.In addition, ball-screw has torsional flexibility (K
θ is ball-screw torsional stiffness) and axial flexibility (K
e
q is ball-screw axial stiffness).According to Figure3, the kinetic energy (E
k), potential energy (V), dissipative function (D), and virtual work of the external forces (δ
W
e
x
t) can be, respectively, expressed as (6)
E
k
=
1
2
J
m
θ
˙
m
2
+
J
g
θ
˙
1
2
+
J
c
θ
˙
c
2
+
J
b
s
θ
˙
2
+
M
c
q
˙
i
2
+
M
b
s
x
˙
b
s
2
,
(7)
V
=
1
2
k
c
θ
c
-
θ
1
2
+
k
θ
q
i
θ
-
θ
c
2
+
k
e
q
q
i
x
b
s
2
,
(8)
D
=
1
2
C
n
u
t
R
θ
˙
+
x
˙
b
s
-
q
˙
i
2
+
C
e
q
x
˙
b
s
2
,
(9)
δ
W
e
x
t
=
T
m
δ
θ
m
+
T
g
δ
θ
1
-
1
η
G
δ
θ
m
+
F
n
u
t
δ
q
i
-
δ
x
b
s
-
R
δ
θ
-
F
f
δ
q
i
+
F
A
i
,
x
δ
q
i
,where T
m, J
m, J
g, and M
c are the motor torque, motor inertia, gearbox inertia, and slider mass, respectively. Also F
f and F
A
i
,
x are the slider friction force and reaction force between the ith slider and the ith robot link, respectively. The terms θ
m and θ
1 are the angular position of driver motor and the gearbox angle, whereas M
b
s and J
b
s are the mass and moment of inertia of screw (J
b
s
=
(
M
b
s
d
s
c
r
e
w
2
)
/
8, where d
s
c
r
e
w is the diameter of screw shaft). The backlash torque T
g is calculated by means of (10), whereas η is gearbox mechanical efficiency and G is the gearbox ratio ω
i
n
/
ω
o
u
t. The angular position of coupling and the moment of inertial of coupling are θ
c and J
c, respectively. Finally F
n
u
t is the backlash force in nut and K
c, C
e
q, and C
n
u
t are coupling stiffness, screw axial equivalent damping, and nut damping, respectively.The following systems of equations allow evaluatingT
g and F
n
u
t: (10)
T
g
=
k
g
θ
m
G
-
θ
1
-
θ
b
θ
m
G
-
θ
1
≥
θ
b
0
-
θ
b
≤
θ
m
G
-
θ
1
≤
θ
b
θ
m
G
-
θ
1
+
θ
b
θ
m
G
-
θ
1
≤
-
θ
b
,
(11)
F
n
u
t
=
K
n
u
t
R
θ
+
x
b
s
-
q
i
-
Δ
R
θ
+
x
b
s
-
q
i
≥
Δ
0
-
Δ
≤
R
θ
+
x
b
s
-
q
i
≤
Δ
R
θ
+
x
b
s
-
q
i
+
Δ
R
θ
+
x
b
s
-
q
i
≤
-
Δ
,where K
n
u
t is the stiffness between nut and screw, θ
b is the backlash in the gearbox, and Δ is the backlash between nut and screw.Torsional stiffness of the screw,K
θ, is calculated as explained in [29] and shown below: (12)
K
θ
q
i
=
G
s
c
r
e
w
J
s
c
r
e
w
L
1
+
q
i
,where G
s
c
r
e
w is the shear module of the screw, L
1 is the distance between the home position and the bearing near to the motor, and J
s
c
r
e
w is the polar moment of the screw. Axial stiffness of the screw depends on type of bearing which is used in the ball-screw drive. As a result, axial stiffness of the screw and K
e
q are found in the two conditions set out as follows.Ball-Screw Shaft Fixed at One End. Figure 4 shows this case, where the screw shaft has axial force only between the axial-fixed bearing and the nut. Therefore, only this part of the screw shaft has axial deformation and can be modeled with a spring. Also the axial-fixed bearing can be modeled by a spring that is series with an equivalent spring model of the shaft screw. Equivalent stiffness is calculated by the following equation: (13)
1
K
e
q
=
1
K
b
e
a
r
i
n
g
+
1
K
s
c
r
e
w
1
q
i
,
K
s
c
r
e
w
1
q
i
=
E
A
L
1
+
q
i
.According to [9, 12], stiffness of the screw in this condition is function of the table position.Figure 4
(a) Ball-screw shaft free at one end and (b) mass-spring model of the axial deformation of the ball-screw.
(a)
(b)Ball-Screw Shaft Fixed at Both Ends. In this case there are two springs connected in series on each side of the shaft, as shown in Figure 5. Therefore, equivalent stiffness is calculated by using the formula of a parallel spring as shown in the following equation: (14)
K
e
q
=
1
K
b
e
a
r
i
n
g
+
1
K
s
c
r
e
w
1
q
i
-
1
+
1
K
b
e
a
r
i
n
g
+
1
K
s
c
r
e
w
2
q
i
-
1
,
K
s
c
r
e
w
1
q
i
=
E
A
L
1
+
q
i
,
K
s
c
r
e
w
2
q
i
=
E
A
L
2
-
q
i
.Figure 5
(a) Ball-screw shaft fixed at both ends and (b) mass-spring model of the axial deformation of the ball-screw.
(a)
(b)The friction force is estimated using this exponential form:(15)
F
f
=
M
c
g
-
F
i
,
z
μ
k
+
μ
s
-
μ
k
e
-
q
˙
i
/
V
s
2
sign
⁡
q
˙
i
+
C
v
q
˙
i
,where μ
s is the static coefficient of friction, μ
k is the kinetic coefficient of friction, F
i
,
z is the normal reaction force between ith slider and ith robot link, C
v is the viscous friction parameter, and V
s is the characteristic velocity of the Stribeck friction. Ball-screw drive equations of motion are resolved via Simulink and the results are used in Hexaglide model.Considering (6), (7), (8), and (9) and applying Lagrange method, the following equations are obtained: (16)
J
m
θ
¨
m
=
T
m
-
T
g
η
G
,
J
g
θ
¨
1
+
k
c
θ
c
-
θ
1
-
T
g
=
0
,
J
c
θ
¨
c
+
k
c
θ
1
-
θ
c
+
k
θ
q
i
θ
c
-
θ
=
0
,
J
b
s
θ
¨
+
k
θ
q
i
θ
-
θ
c
+
R
F
n
u
t
+
C
n
u
t
R
R
θ
˙
+
x
˙
b
s
-
q
˙
i
=
0
,
M
b
s
x
¨
b
s
+
F
n
u
t
+
C
n
u
t
R
θ
˙
+
x
˙
b
s
-
q
˙
i
+
k
e
q
q
i
x
b
s
+
C
e
q
x
˙
b
s
=
0
,
M
c
q
¨
i
-
F
n
u
t
-
C
n
u
t
R
θ
˙
+
x
˙
b
s
-
q
˙
i
+
F
f
=
F
A
i
,
x
.


## 4. Error Evaluation

To evaluate the positioning error of the TCP in the task-space, a method based on a kinematics analysis has been performed. First of all, the critical poses of the Hexaglide workspace are found via kinematic mapping of the error taking into account as a source of error only the slider position. Subsequently the critical poses found are used as the initial positions and orientations of the TCP from which to begin the dynamic simulation of the behaviour of the robot. The aim of these steps is to detect the point which has the worst condition in terms of the maximum error. This method is explained in more depth hereafter.From kinematic analysis of the Hexaglide, we know thatW
=
[
J
]
q
˙, where [
J
] is a Jacobian matrix, q
˙
=
[
q
˙
1
,
q
˙
2
,
…
,
q
˙
6
]
T is the sliders velocity vector, and W
=
[
x
˙
,
y
˙
,
z
˙
,
ω
x
,
ω
y
,
ω
z
]
T is the velocity vector of the platform. For small variations, it is correct to write (17)
Δ
X
=
J
Δ
q
,where X
=
[
x
,
y
,
z
,
α
,
β
,
γ
]
T is the robot pose. If all the actuators and transmissions are equal and the robot is considered rigid with ideal joints, the drive systems are the only source of errors. It is reasonable to assume that the errors in the sliders positions are limited by a maximum value Δ
q
m
a
x (infinity norm is the best suited norm when it comes to representing this situation: Δ
q
∞
≤
Δ
q
m
a
x). Considering that all the sliders have the same errors Δ
q
m
a
x, the maximum errors of TCP position and platform orientations are defined by (18)
Δ
X
m
a
x
=
J
1
1
⋮
1
6
×
1
Δ
q
m
a
x
.Figure6 shows an example of the density distribution of error contours in the workspace of the Hexaglide in y direction. Critical TCP positions are summarised in Table 1; furthermore critical orientations are ±
1
0
∘ for sailboats and are ±
7
.
5
∘ for wind turbines.Table 1
Critical points of initial position for each movement.
Movement
⁢TCP position [m]
x
0
y
0
z
0
x mov.
0
0.1
0.8
y mov.
0
0
0.7
z mov.
0
0.1
0.7
α mov.
0
0.1
0.6
β mov.
0
0.1
0.6
γ mov.
0
0.1
0.6Figure 6
Error of TCP position iny direction.Error of TCP position and platform orientation is calculated by means of(19)
e
X
=
X
d
-
X
,where X
d and e
X are the required pose of the robot and the pose error, respectively. Then, the slider position setpoints are calculated from the required TCP position using the inverse kinematic equation (2). This analysis has been performed taking into consideration each degree of freedom of the TCP (x, y, z, α (rotation around x-axis), β (rotation around y-axis), and γ (rotation around z-axis)) separately and the motion law used for each DoF is sinusoidal. In order to set the correct initial conditions of the simulation and to prevent impulse forces in the robot joints, a five-order polynomial function has been used to fade in the sinusoidal function. In this way, the simulation begins with zero velocity and acceleration.Thus, the required platform motions are defined by the following equation:(20)
X
i
=
X
o
i
+
a
5
t
5
+
a
4
t
4
+
a
3
t
3
t
≤
t
c
A
i
sin
⁡
2
π
f
t
-
t
d
t
>
t
c
,where X
o is the initial platform pose (Table 1) whereas A
i and f are amplitude and frequency of movement, respectively (Table 2).Table 2
Maximum amplitudes and frequencies of the desired movements.
Movement
⁢Amplitude
Frequency (Hz)
Wind turbine
Sailboat
Wind turbine
Sailboat
x mov.
0.25 m
—
0.7
1.2
y mov.
0.15 m
—
0.7
1.2
z mov.
0.15 m
—
0.7
1.2
α mov.
7
.
5
°
1
0
°
0.7
1.2
β mov.
7
.
5
°
1
0
°
0.7
1.2
γ mov.
7
.
5
°
1
0
°
0.7
1.2For the ideal situation (linear transmission rigid and gearbox without backlash), the angular motor positions are calculated from the slider positions byθ
m
,
r
e
f
=
q
i
,
r
e
f
G
/
R and the dynamic behaviour of the sliders is evaluated by the equations shown in (16). Figure 7 summarises the main steps necessary to obtain the TCP position and the platform orientation for the nonideal system using the SimMechanics model, earlier described. As can be see, the error between ideal system and the system which includes backlash, flexibility, and friction is calculated. The worst operating condition, in other words the maximum error, is found by comparing the results achieved by each DoF under different motion laws.Figure 7
Block scheme to evaluate the error pose.The previous analysis has been performed using data of a Rexroth Bosch CKK 25-200 ball-screw drive. A ball-screw drive with shaft free at one end has been investigated. In fact this condition has a lower stiffness with respect to the situation in which the shaft is fixed at both ends, so it represents the worst situation. On the other hand, the ball-screw configuration with both ends fixed in general is not used because any gradient of temperature on the screw can generate high stress, reducing the screw and bearings life. Instead, backlash is a real problem in precise control; therefore, screw with preload must be chosen to reduce it. Below parameters are used in the simulations:(21)
K
n
u
t
=
137
e
6
N
/
m
,
K
b
e
a
r
i
n
g
=
113
e
6
N
/
m
,
Δ
=
0.05
m
m
,
θ
b
=
4
a
r
c
m
i
n
,
h
p
=
32
m
m
,
d
s
c
r
e
w
=
32
m
m
,
K
c
=
39543
N
·
m
/
r
a
d
,
k
g
=
7.5287
e
4
N
·
m
/
r
a
d
,
G
=
2
,
L
=
1.6
m
.Note that the ball-screw damping (C
e
q and C
n
u
t) has to be identified by means of experimental tests on the real machine, but it does not have too much significance in predicting the elastic deformation [12]. Consequently, values of C
e
q and C
n
u
t are chosen from the literature [12, 30]. The same approach is used to choose the values of the friction parameters in (15) in particular by the cited reference Okwudire [31].Figure8 shows maximum and RMS error for TCP position and platform orientation in each movement when the requirements are defined for sailboats simulations. Table 3 summarises maximum value of TCP positioning and orientation errors while Table 4 shows in which poses these maximum error conditions have been achieved.Table 3
Values of the maximum error and RMS of error in the desired robot workspace.
Position or orientation
Maximum
Sailboat
Wind turbine
Maximum error
x
0.68 mm
0.70 mm
y
0.68 mm
0.70 mm
z
0.4 mm
0.36 mm
α
0.1
7
°
0.1
6
°
β
0.1
0
°
0.1
0
°
γ
0.0
5
°
0.0
5
°
RMS error
x
0.35 mm
0.37 mm
y
0.36 mm
0.38 mm
z
0.28 mm
0.26 mm
α
0.0
9
°
0.0
8
°
β
0.0
6
°
0.0
6
°
γ
0.0
3
°
0.0
3
°Table 4
Conditions of maximum error and maximum RMS of the error.
Position or orientation
Condition
Sailboat
Wind turbine
Maximum error
x
β mov. α
=
1
0
°, γ
=
-
1
0
°
β mov. α
=
-
7
.
5
°, γ
=
7
.
5
°
y
α mov. β
=
-
1
0
°, γ
=
1
0
°
β mov. α
=
-
7
.
5
°, γ
=
7
.
5
°
z
α mov. β
=
-
1
0
°, γ
=
-
1
0
°
γ mov. α
=
7
.
5
°, β
=
-
7
.
5
°
α
α mov. β
=
-
1
0
°, γ
=
-
1
0
°
α mov. β
=
-
7
.
5
°, γ
=
-
7
.
5
°
β
β mov. α
=
1
0
°, γ
=
-
1
0
°
β mov. α
=
-
7
.
5
°, γ
=
7
.
5
°
γ
α mov. β
=
-
1
0
°, γ
=
-
1
0
°
α mov. β
=
-
7
.
5
°, γ
=
-
7
.
5
°
RMS error
x
β mov. α
=
-
1
0
°, γ
=
1
0
°
x-mov. α
,
β
=
7
.
5
°, γ
=
-
7
.
5
°
y
γ mov. α
=
-
1
0
°, β
=
-
1
0
°
γ mov. α
=
-
7
.
5
°, β
=
-
7
.
5
°
z
γ mov. α
=
1
0
°, β
=
-
1
0
°
γ mov. α
=
7
.
5
°, β
=
-
7
.
5
°
α
α mov. β
=
-
1
0
°, γ
=
-
1
0
°
α mov. β
=
-
7
.
5
°, γ
=
-
7
.
5
°
β
β mov. α
=
-
1
0
°, γ
=
1
0
°
β mov. α
=
-
7
.
5
°, γ
=
7
.
5
°
γ
α mov. β
=
-
1
0
°, γ
=
1
0
°
α mov. β
=
-
7
.
5
°, γ
=
-
7
.
5
°Figure 8
Maximum and RMS of pose error when sailboat is installed on platform.
(a)
Maximum error of TCP position
(b)
Maximum error of mobile platform orientation
(c)
RMS error of TCP position
(d)
RMS error of mobile platform orientationAccording to Tables3 and 4 and Figure 8, the critical condition is found when α is moving and β
=
-
1
0
∘ and γ
=
-
1
0
∘ are the initial platform orientation for the sailboat simulations. When α is moving and β
=
-
7
.
5
∘ and γ
=
-
7
.
5
∘ are the initial platform orientation, we have the maximum error in the case of wind turbine simulation.


## 5. Control of the Hexaglide

The design of a control system of a six-degree of freedom parallel kinematic machine is a very difficult task. Usually it is very expensive to measure the end effector position of a 6-DoF robot. Instead of the pose of the robot platform, the position of each slider or angular position of each motor is measured and the pose of the end effector is estimated using the direct kinematics. By the way this method can only be applied if the machine is properly calibrated and if all the machine components are realized respecting very strict tolerances; otherwise the estimation of the pose of the mobile platform would be erroneous. If these requirements cannot be met, it is necessary to use specific measurements devices like CMM or 3D positioning systems as the ones described in [32, 33]. Furthermore 6-DoF PKM robot has complex dynamics without an analytical solution made more complex by the nonlinearity of the actuation systems. Therefore, to setup a control strategy it is necessary to pass through a linear form of dynamic equations as described in [22, 23].A promising approach for developing a control algorithm in these conditions is the adaptive and robust nonlinear control as presented in [34, 35]. In this paper, starting from a literature review, a PID adaptive-robust control for the Hexaglide is developed. Figure 9 shows the block diagram of the control proposed.Figure 9
Block diagram of the adaptive-robust control for controlling the Hexaglide.We can write the dynamic equation of the robot, including the actuator dynamics, as follows:(22)
T
m
=
M
q
q
¨
+
f
q
,
q
˙
,where T
m is the vector of motor torques and q is the vector of the joint position. The manipulator mass matrix, M
(
q
), is symmetric and positive definite. The vector f
(
q
,
q
˙
) represents torque or force arising from centrifugal, Coriolis, gravity, and friction forces.The control action can be obtained by means of a suitable input motor torque, defined in this way:(23)
T
m
=
Ψ
q
,
q
˙
,
q
˙
r
,
q
¨
r
p
+
K
D
s
+
K
I
∫
s
d
t
+
η
s
a
t
Φ
-
1
s
.In this expression,Ψ is a matrix containing nonlinear equation and p is a vector containing dynamical parameters, whereas K
D, K
I, η, and Φ are positive diagonal matrices. Position error vector of the sliders is defined as (24)
e
=
q
d
-
q
,where q
d is the desired position of slider found from the desired platform pose via the inverse kinematics. The vector s represents the combined error and it is defined in a similar way to the sliding control approach: (25)
s
=
e
˙
+
Λ
e
,where Λ is a positive and diagonal matrix. The vector s can be also defined as (26)
s
=
q
˙
r
-
q
˙
,where q
˙
r is called reference value of q
˙ and it is obtained by modifying q
˙
d according to the tracking error. q
˙
r is defined as (27)
q
˙
r
=
q
˙
d
+
Λ
e
.In order to simplify the computational aspects of this control structure, it is possible to omit the dynamic behaviour of the six links. In this way, the model of the robot is made up of only seven bodies: six linear transmission drive servomechanisms and one mobile platform. The functionΨ
(
q
,
q
˙
,
q
˙
r
,
q
¨
r
)
p can be modified in the following way: (28)
T
r
o
b
o
t
=
Ψ
1
⋯
6
Ψ
b
Ψ
7
p
1
⋯
6
p
b
p
7
,where Ψ
1
⋯
6 and p
1
⋯
6 describe the dynamics of the six linear transmission drive servomechanisms, Ψ
b and p
b describe Coulomb friction within the linear transmissions, and Ψ
7 and p
7 describe the dynamics of the platform. The terms Ψ
1
⋯
6 and p
1
⋯
6 are defined by (29)
Ψ
1
⋯
6
=
q
¨
r
1
q
˙
r
1
q
1
0
⋱
⋱
⋱
0
q
¨
r
6
q
˙
r
6
q
6
,
p
1
⋯
6
=
m
1
c
1
k
1
⋯
m
6
c
6
k
6
T
,where m
1
,
c
1
,
k
1
,
…
,
m
6
,
c
6
,
k
6 are estimated mass, damper, and spring coefficient, respectively, for each linear transmission, whereas Ψ
b and p
b are defined by (30)
Ψ
b
=
sign
⁡
q
˙
r
1
0
⋱
0
sign
⁡
q
˙
r
6
,
p
b
=
b
1
⋮
b
6
,where b
1
,
…
,
b
6 are Coulomb friction coefficients in each linear transmission. The definition of Ψ
7 and p
7 is more complicated. The vector of dynamical parameters is set out by (31)
p
7
=
m
7
m
7
r
x
m
7
r
y
m
7
r
z
I
x
x
I
y
y
I
z
z
T
.It is made up of the mass of the platform, the payload, and the inertia momentsI
x
x, I
y
y, and I
z
z. The frame connected to the TCP is supposed to be oriented in order not to consider the inertia moments I
x
y, I
x
z, and I
y
z. The matrix Ψ
7 is given by (32)
Ψ
7
=
J
a
7
R
Ω
7
0
3
×
3
0
1
×
3
-
a
^
7
R
R
ψ
ω
7
,where J is the Jacobian matrix and R is the rotation matrix. The acceleration a
7 and the skew-symmetric matrix a
^
7 corresponding to the cross product are defined as follows: (33)
a
7
=
x
¨
d
y
¨
d
z
¨
d
+
g
,
a
^
7
=
0
-
z
¨
d
-
g
y
¨
d
z
¨
d
+
g
0
-
x
¨
d
-
y
¨
d
x
¨
d
0
.The matricesΩ
7 and ψ
ω
7 are defined as (34)
Ω
7
=
-
ω
y
2
-
ω
z
2
-
ω
˙
z
+
ω
x
ω
y
ω
˙
y
+
ω
x
ω
z
ω
˙
z
+
ω
x
ω
y
-
ω
x
2
-
ω
z
2
-
ω
˙
x
+
ω
z
ω
y
-
ω
˙
y
+
ω
z
ω
x
ω
˙
x
+
ω
z
ω
y
-
ω
x
2
-
ω
y
2
,
ψ
ω
7
=
ω
˙
x
-
ω
z
ω
y
ω
y
ω
z
ω
x
ω
z
ω
˙
y
-
ω
z
ω
x
-
ω
y
ω
x
ω
x
ω
y
ω
˙
z
,where ω is the absolute angular velocity of the platform.Given the desired trajectoryq
d (we shall assume that the desired position, velocity, and acceleration are all bounded), and with some or all manipulator parameters unknown, the adaptive controller design problem is to obtain a control law for the actuator torques and an estimation of the unknown parameters, in such a way that the manipulator follows the required trajectory in the best way possible.To do that we define a function to estimate the parameter errorp
~
=
p
^
-
p as a difference between a vector of unknown parameters describing the manipulator’s mass properties and its estimate. By considering as a candidate the Lyapunov function, (35)
V
t
=
1
2
s
T
M
s
+
p
~
T
Γ
-
1
p
~
+
∫
s
d
t
T
K
I
∫
s
d
t
,where Γ is a symmetric positive definite matrix. Differentiating and using (22), (23), and (26) yield (36)
V
˙
t
=
s
T
Ψ
p
~
+
p
^
˙
T
Γ
-
1
p
~
-
s
T
K
D
s
-
s
T
η
s
a
t
Φ
-
1
s
.Updating the parameter estimates p
^ according to the correlation integrals [35], (37)
p
^
˙
=
Γ
Ψ
T
sand (23) changes to (38)
T
m
=
Ψ
q
,
q
˙
,
q
˙
r
,
q
¨
r
p
^
+
K
D
s
+
K
I
∫
s
d
t
+
η
s
a
t
Φ
-
1
s
.By choosingK
D
=
100
I, K
I
=
100
I, and Λ
=
200
I, robot is controlled for tracking six-degree of freedom sinusoidal movements ((20) and Table 2) in its task-space, simultaneously. The position error of each slider is shown in Figure 10 whereas Table 5 presents the maximum and RMS of the position error of sliders.Table 5
Position errors of the sliders.
Slider 1
Slider 2
Slider 3
Slider 4
Slider 5
Slider 6
Maximum error [mm]
0.57
0.40
0.93
0.30
0.30
0.38
Error percentage
0.23
1.00
0.26
0.30
0.73
0.22
RMS error [mm]
0.23
0.18
0.38
0.10
0.12
0.13Figure 10
Position errors of the sliders when adaptive-robust control is used.
(a)
Slider 1
(b)
Slider 2
(c)
Slider 3
(d)
Slider 4
(e)
Slider 5
(f)
Slider 6Figure11 shows the tracking errors of the platform. Table 6 presents the maximum tracking error and the RMS tracking error. According to this table, maximum percentage of the tracking error occurs in γ orientation with 1.29% of the γ movement amplitude. According to these results, adaptive-robust control has shown a good performance.Table 6
Poses errors of the platform when adaptive-robust control is used.
x
[mm]
y
[mm]
z
[mm]
α
[degree]
β
[degree]
γ
[degree]
Maximum error
0.64
0.68
0.31
0.06
0.09
0.10
Error percentage
0.43
0.68
0.31
0.81
1.20
1.29
RMS error
0.18
0.16
0.11
0.02
0.02
0.02Figure 11
Pose error of the platform when adaptive-robust control is used.
(a)
x direction
(b)
y direction
(c)
z direction
(d)
α orientation
(e)
β orientation
(f)
γ orientationTo highlight the efficiency of the controller designed, two different control methods are analysed: dual PID control presented in [36] and PD adaptive control shown in [23]. Figure 12 shows the comparison of the results achieved with these two control strategies with the one described in this paper: PID adaptive-robust control method has minor error.Figure 12
Pose error percentage in three types of the control method.


## 6. Conclusions

In this paper, a systematic methodology to find the error of a 6-DoF robotic device with parallel kinematic and Hexaglide architecture is presented. This robot works as an emulator to reproduce the hydrodynamic interaction between floating bodies and sea water, for aerodynamic tests in wind tunnel.A systematic error evaluation methodology is based on accurate modeling of the behaviour of the linear transmission actuators that move the robot and by means of a mapping of the robot working volume in order to identify the worst work conditions. The critical poses of the end effector in the workspace for each desired movement have been found through a kinematic analysis whereas the dynamic analysis of Hexaglide actuated by ball-screw linear transmissions has been performed, in these critical poses, for obtaining the worst cases. The robot has been simulated into Simulink-SimMechanics environment and an adaptive-robust control strategy has been designed to control the end effector position in order to track spatial complex trajectory. Finally the control strategy performances have been compared with other control methods.The results of the work demonstrate that the ball-screw linear actuator used to move the Hexaglide architecture developed and the PID adaptive-robust control allows one to achieve accuracy of approximately 0.7 mm in TCP position and of 0.17 degrees in platform orientation. These results are in line with our required performance and consolidate the design choices with respect to the actuation system and the algorithm control strategy.



---

*Source: 4938562-2016-04-04.xml*