Guilherme Sartori Natal

Ahmed Chemori
email: chemori@lirmm.fr.

Franc ¸ois Pierrot

G Sartori

F Pierrot

Dual-Space Control of Extremely Fast Parallel Manipulators: Payload Changes and the 100G Experiment

Keywords: Parallel manipulators, Adaptive control, Feedforward control, Actuation redundancy, Trajectory tracking

In this paper, three control schemes are proposed and experimentally compared on the R4 redundantly actuated parallel manipulator for applications with very high accelerations. Firstly, a PID in operational space is proposed in order to adequately take into consideration the actuation redundancy. Because of its lack of performance, a dual-space feedforward control scheme based on the dynamic model of R4 is proposed. The improvements obtained with this controller allowed the implementation of an experiment which consisted in the tracking of a trajectory with a maximum acceleration of more than 100G. However, such controller may have losses of performance in case of any operational change (such as different payloads). Therefore, a dual-space adaptive control scheme is proposed. The stability analysis of the R4 parallel robot when controlled by the proposed dual-space adaptive controller is provided. The objective of this paper is to show that the proposed dual-space adaptive controller not only maintains its good performance independently of the operational conditions, but also has a better performance than both the PID and the dual-space feedforward controllers, even when the latter is best configured for the given case (which confirms its applicability in an industrial environment).

I. INTRODUCTION

S ERIAL robots have been firstly introduced in the industry in 1961 by G. Devol and J. Engelberger to perform spot welding and extract die castings (which were considered as unpleasant tasks for humans) in General Motors car factory. Their lack of stiffness and accuracy, however, restricts their utilization in tasks that demand high accelerations and high precision. To solve this issue, parallel robots have been proposed. The main idea of their structure consists in using at least two kinematic chains to support the end-effector (also called traveling plate), each of these chains containing at least one actuator. This will allow for a distribution of the load between the different chains [START_REF] Merlet | Parallel robots[END_REF].

Even though parallel manipulators have important advantages in terms of stiffness, speed/acceleration, accuracy and payload compared to their serial counterparts, it was shown in [START_REF] Kock | A parallel x-y manipulator with actuation redundancy for high-speed and active-stiffness applications[END_REF] that they have an important drawback: the abundance of singularities in the workspace. These singularities can be eliminated through redundancy in actuation [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF], [START_REF] Park | Singularity analysis of closed kinematic chains[END_REF]. A degree of actuation redundancy in a parallel manipulator is the difference, represented by a positive integer, between the number of its actuators (actuated joints) and its degrees-offreedom (dof) [START_REF] Ganovski | Modeling, simulation and control of redundantly actuated parallel manipulators[END_REF]. The actuation redundancy also allows to increase the traveling plate accelerations and to homogenize the dynamic capabilities of the robot throughout its workspace [START_REF] Corbel | Towards 100g with pkm. is actuation redundancy a good solution for pick-andplace?[END_REF], and can also allow for more safety in case of breakdown of individual actuators [START_REF] Yi | Fault tolerance of parallel manipulators using task space and kinematic redundancy[END_REF], [START_REF] Roberts | Fundamental limitations on designing optimally fault-tolerant redundant manipulator[END_REF]. Considering these features, the R4 parallel manipulator [START_REF] Corbel | Towards 100g with pkm. is actuation redundancy a good solution for pick-andplace?[END_REF] (which can be seen as a redundant Delta-like robot [START_REF] Clavel | Delta, a fast robot with parallel geometry[END_REF]), has three degrees-of-freedom and four actuators (1 degree of actuation redundancy).

In order to apply the vast control literature developed for serial counterparts to parallel manipulators with redundant actuation, there is a need to develop an efficient dynamical model for parallel manipulators [START_REF] Cheng | Dynamics and control of redundantly actuated parallel manipulators[END_REF]. In the literature, different control approaches have been proposed for redundantly actuated parallel manipulators. A dynamics formulation that could be applied to redundant parallel manipulators was presented in [START_REF] Nakamura | Dynamics computation of closed-link robot mechanisms with nonredundant and redundant actuators[END_REF]. Based on this formulation, redundant actuation was used to eliminate undesired singularity effects in parallel manipulators in [START_REF] Liu | Analysis and control of redundant parallel manipulators[END_REF], [START_REF] Cheng | Dynamics and control of redundantly actuated parallel manipulators[END_REF]. In these works, kinematic and dynamic control methods were successfully implemented experimentally in task space (such that the actuation redundancy is taken into account for the end-effector motion to be fully considered [START_REF] Shang | Nonlinear adaptive task space control for a 2-dof redundantly actuated parallel manipulator[END_REF]). In [START_REF] Paccot | A review on the dynamic control of parallel kinematic machines: Theory and experiments[END_REF], a PID, an augmented PD (APD) and a computed torque controller have been studied and compared. In [START_REF] Shang | Nonlinear computed torque control for a high-speed planar parallel manipulator[END_REF], in order to overcome the influence of modeling errors and nonlinear friction, a nonlinear computed torque control was introduced. In [START_REF] Hui | Hybrid position/force adaptive control of redundantly actuated parallel manipulators[END_REF], a hybrid position/force adaptive control for redundantly actuated parallel manipulators has been proposed. In [START_REF] Shang | Nonlinear adaptive task space control for a 2-dof redundantly actuated parallel manipulator[END_REF], an adaptive controller in task space that included adaptive dynamics compensation, adaptive friction compensation and error elimination items was proposed and experimentally tested on a redundantly actuated parallel manipulator. The parameter adaptation law of this controller was derived with the gradient descent algorithm. It is worth to emphasize, however, that in none of the mentioned works the effect of parameter changes (e.g. payload) was analyzed (neither how the proposed controllers would have dealt with such operational changes).

This work is an extension of [START_REF] Sartori-Natal | Dual-space adaptive control of redundantly actuated parallel manipulators for extremely fast operations with load changes[END_REF], where we proposed a dual-space adaptive controller and experimentally compared it with a dual-space feedforward controller, without stability analysis and the 100G experiment. In the present work we discuss in more details about the evolution in time of all the proposed control schemes for the R4 parallel manipulator (according to the issues encountered during the performed experiments). We also discuss about the behavior of both esti-mated parameters (mass and inertia) during the executed pickand-place trajectory tracking experiments (with and without payload). The proof of stability of the system under the control of the proposed dual-space adaptive controller is provided, which is a contribution of this work, as well.

Firstly, a PID controller in operational space with the Jacobian pseudo-inverse was proposed in order to take the actuation redundancy into consideration in its design. Because of its lack of performance, a dual-space feedforward controller (which consists of the previous PID controller complied with the desired Cartesian and articular accelerations feedforward) was proposed and implemented such that the dynamics of R4 could be compensated. Even though this control scheme provided a good tracking performance with very high accelerations, it had important losses of performance when operational changes occurred (such as load changes). In order to deal with this lack of robustness, a dual-space adaptive controller (based on the previous controller complied with the adaptive control scheme proposed in [START_REF] Lee | Adaptive output feedback control of robot manipulators using high-gain observer[END_REF]) was then proposed and implemented. Experimental results with and without payload show that this adaptive controller is able to automatically compensate for the operational changes in real-time, thus keeping its good tracking performance independently of the scenario without any need of manual readjustments of its parameters.

This paper is organized as follows. In Section II, a brief description of the R4 parallel manipulator is presented. The proposed control schemes, as well as the stability analysis of the R4 parallel manipulator when under the control of the proposed dual-space adaptive controller are detailed in Section III. Section IV is devoted to the reference trajectories generation. The experimental results are presented in Section V. A discussion about the most important conclusion remarks and future works is made in Section VI.

II. R4 PARALLEL MANIPULATOR

A. Description of the R4 robot

The R4 robot is a redundantly actuated parallel manipulator designed to have the capability of reaching 100G of acceleration. During its design, an optimization study was made in order to identify the best configuration of its structure in order to achieve such objective [START_REF] Corbel | Towards 100g with pkm. is actuation redundancy a good solution for pick-andplace?[END_REF]. The most important variables that were taken into consideration in this optimization process were the maximum achievable accelerations and the total costs of the components of this robot. From this analysis, it was concluded that the best structure which would provide the optimal relation between acceleration capabilities and cost would have 4 actuators and 3 degrees of freedom (redundantly actuated, cf. Fig. 1). This robot has a workspace of at least a cylinder of 300 mm radius and 100 mm height, and each of its four actuators (ETEL motor, model RTMB0140-100 [START_REF]Motors Datasheet[END_REF]) has a maximum torque of 127 N.m. Its CAD schematic view and side view are shown in Fig. 1. The platform of the robot (with and without a payload of 200g) is shown in Fig. 2. Its geometrical parameters are summarized in Table I and illustrated in Fig. 3, and its dynamics parameters are described in Table II.

B. Simplified Forward Dynamics

During the design phase of R4 parallel manipulator, some simplifications were made in the dynamic model computation. These simplifications were based on the following hypotheses:

• the joint frictions were neglected, as the components of the robot were designed such that they would have very small frictions between them, • the inertia of the forearms was also neglected, and their masses were split up into two parts each being artificially considered to be located at both ends of the forearms (half of the mass is transferred to the end of the arm (A i ), whereas the other half is transferred to the traveling plate (B i )), • gravity acceleration was neglected since the case studies considered very high accelerations, and the integral part of the controller is fast enough to compensate it. These assumptions are discussed in more details in [START_REF] Corbel | Towards 100g with pkm. is actuation redundancy a good solution for pick-andplace?[END_REF] and [START_REF] Nabat | Robots parallèles à nacelle articulée -du concept à la solution industrielle pour le pick-and-place[END_REF]. The final expression of the robot's simplified forward dynamic model is derived from a combination of the arms and the traveling plate equilibriums, and is given by [START_REF] Corbel | Towards 100g with pkm. is actuation redundancy a good solution for pick-andplace?[END_REF]:

Ẍ = (M T + J m T I T J m ) -1 J T m (τ -I T Jm Ẋ) (1)
where Ẋ ∈ R m and Ẍ ∈ R m are the vectors of Cartesian velocities and accelerations;

M T = Diag{M tp + n M f orearm 2
} m×m = M tot I m×m is a diagonal mass matrix, being M tp the mass of the traveling plate, M f orearm the mass of the forearm, M tot the scalar value of the diagonal of M T , m = 3 the number of degrees-of-freedom and n = 4 the number of motors; I T = Diag{I act + I arm } n×n = I tot I n×n is a diagonal matrix with n diagonal terms, where I act and I arm are the inertia of the actuators and the inertia of the

r b [m] rtp [m] l i [m] L i [m] 0.135 0.05 0.2 0.53
arms, respectively, and I tot is the scalar value of the diagonal elements of I T ; J m ∈ R n×m and Jm ∈ R n×m are respectively the generalized inverse Jacobian matrix and its first derivative; τ ∈ R n represents the torques vector generated by the actuators. For further details on the mechanical design of the R4 parallel manipulator, the reader is referred to [START_REF] Corbel | Towards 100g with pkm. is actuation redundancy a good solution for pick-andplace?[END_REF].

C. Actuation redundancy and its effects on control

Even though the actuation redundancy is a good solution to deal with the singularities of a parallel manipulator in its workspace and to provide advantages in terms of mechanical capabilities of the robot, it creates a new issue in terms of control: classical articular control schemes are unable to deal with dynamic effects in Cartesian space, and the integral term of a linear PID controller will be disturbed by kinematic inconsistencies. This concept is illustrated in Fig. 4. Consider, for instance, a system with one dof in the Cartesian space (end-effector on the horizontal axis). In the first case, a linear actuator (on the vertical axis) is added to control the position of this end-effector. This means that the system is not redundantly actuated (in this example, it has one measuring scale in joint space and one dof in the Cartesian space). Thus, it is always possible to converge to a zero joint space error (which has a "0" mark). In the second case, a second linear actuator is added. The system has now two measuring scales in joint space and one dof in the Cartesian space, which means that it is redundantly actuated. By analyzing Fig. 4, it is possible to see that any geometric error (due to machining inaccuracies, assembly errors, backlash, thermal expansion, etc.) will make it impossible to get all the measuring scales to reach a zero error at the same time. Thus the joint space error vector will never be zero, and this error will always have an effect on the integral term of the controller.

III. PROPOSED CONTROL SCHEMES: FROM CARTESIAN PID TO DUAL-SPACE ADAPTIVE CONTROL A. PID controller in the Cartesian space

The first proposed control scheme experimentally implemented on the R4 parallel manipulator was the PID in operational space. The main objective of this controller was to take into consideration the actuation redundancy of the manipulator. If such characteristic is not considered in the controller design, important internal forces may arise, compromising not only the performance of the system, but also the safety of its mechanical structure. This control scheme is illustrated in Fig. 5. The desired trajectory X d is given in the Cartesian space. As only the joint positions are measured, this trajectory is converted to the joint space through the inverse kinematics (I.K. block in Fig. 5) of the robot [START_REF] Corbel | Towards 100g with pkm. is actuation redundancy a good solution for pick-andplace?[END_REF], such that the corresponding tracking error ∆q is computed in joint space. The joint tracking error must then be reconverted to its equivalent ∆X in Cartesian space in order to be used in the PID controller. As the joint tracking errors ∆q are assumed to be significantly small, since the sampling time ∆t is of only 0.1ms (10 -4 s), let ∆q ∆t dq dt . If this robot were not redundantly actuated, this conversion would be made by using ∆X J -1 m ∆q, where J m ∈ R n×m is the generalized inverse Jacobian matrix (which maps the traveling plate velocity vector Ẋ to the joint velocity vector q), being n the number of actuators and m the number of dof of the robot. When the robot is not redundant, J m is a square matrix (n = m), therefore it can be inverted. However, in the case of R4, which has 4 actuators (n = 4) and 3 dof (m = 3), J m cannot be inverted. The solution is then to use the pseudo-inverse as follows:

PID

∆X = H∆q (2)
being H the pseudo-inverse of J m , that is

H = J + m = (J m T J m ) -1 J m T .
It is worth mentioning that the pseudoinverse applies as the Jacobian is not singular. The following control law is then proposed:

τ = H T F (3)
where

F = (K p e c (t) + K i e c (t)dt + K d dec(t)
dt ) is the force applied on the traveling plate, e c = ∆X, and K p , K i and K d are the PID feedback gains.

B. The dual-space feedforward controller

When considering the dynamics of R4 parallel manipulator (1), a dual-space feedforward controller was proposed. This controller consists basically in a PID in the operational space augmented with a feedforward of both desired Cartesian and articular accelerations to improve its tracking performance. This control approach is illustrated in Fig. 6, and detailed as follows. As will be shown in the sequel, the dual-space feedforward controller was chosen because the dynamics of the system (1) can be rewritten in such a way that it will only be necessary to add two feedforward terms (the Cartesian and joint desired accelerations) to the Cartesian PID in order to improve its tracking performance. A computed torque was not considered here because it would require the computation of the whole dynamics of the system (instead of using the much simpler rewritten form to be presented as follows), which is prohibitive for an application which demands such small sampling time, even more if one considers that an adaptive process is to be added to the control law.

1) Computation of the feedforward gains: In order to define the feedforward gains of the dual-space controller, it is necessary to take into consideration the dynamics of the system (1). By multiplying its both sides by (M T + J m T I T J m ), one obtains:

(M T + J m T I T J m ) Ẍ = J m T (τ -I T Jm Ẋ) (4)
which results in:

M T Ẍ + J m T I T J m Ẍ = J m T τ -J m T I T Jm Ẋ (5)
The torques term τ is isolated on the left side, and the following expression is obtained:

J m T τ = M T Ẍ + J m T I T J m Ẍ + J m T I T Jm Ẋ (6)
Both sides are then multiplied by the pseudo-inverse of J m T (which will be named H T ):

τ = H T M T Ẍ + I T (J m Ẍ + Jm Ẋ) (7)
where J m Ẍ + Jm Ẋ = q. Then ( 7) can be rewritten as:

τ = H T M T Ẍ + I T q (8)
By direct analysis of Fig. 6 and Eq. ( 8), it is clear that the nominal values of the gains that should multiply Ẍd and qd are, respectively, K f f c = M tot and K f f a = I tot , as M T = M tot I m×m and I T = I tot I n×n . When good values of these parameters are chosen for a specific case, a good tracking performance is expected. However, when an operational change occurs (such as a change of load), an important loss of performance can then be expected, because these gains will not be automatically updated accordingly to these changes.

This issue may even be prohibitive for the utilization of such controller in an industrial application with possible changes in the robot environment, if one considers, for instance, pick-andplace tasks where a fast movement without payload is followed by another fast movement with an unknown payload. In order to deal with such issue, a dual-space adaptive controller is proposed. It is detailed in the following.

C. Dual-space adaptive controller

The proposed dual-space adaptive control scheme is based on the dual-space feedforward controller, presented above, and the adaptive control scheme proposed in [START_REF] Lee | Adaptive output feedback control of robot manipulators using high-gain observer[END_REF]. The most important characteristic of this control approach is its capability of taking into consideration the dynamics of the system and estimate its parameters automatically in real-time. Consider the general Lagrangian dynamic model [START_REF] Sciavicco | Modeling and control of robot manipulators[END_REF], [START_REF] Spong | Robot dynamics and control[END_REF] of robot manipulators in the matrix form:

I(q)q + C(q, q) q + G(q) + f (q, q) = τ (9)
where I(q) ∈ R n×n is the inertia matrix, C(q, q) q ∈ R n×1 is the vector of Coriolis and centrifugal forces, G(q) ∈ R n is the gravity vector and f (q, q) ∈ R n is the vector of friction forces and τ ∈ R n represents the torques generated by the actuators. The general expression of the proposed control scheme is given as follows:

τ = Î(q)q d + Ĉ(q, q) qd + Ĝ(q) + K p e j + K d ėj (10)
where e j = q d -q, being ėj its first derivative, Î, Ĉ, Ĝ are the estimates of I, C and G, respectively. Considering the rewritten dynamics of the R4 manipulator [START_REF] Roberts | Fundamental limitations on designing optimally fault-tolerant redundant manipulator[END_REF], we propose to express (9) in dual-space. Then, the following control law is proposed:

τ = H T Mtot Ẍd + Îtot qd + K p e j + K d ėj (11)
which can be rewritten in operational space as:

F = Y θ + K pc e c + K dc ėc (12)
where K pc and K dc are positive feedback gains, e c = X d -X, ėc = Ẋd -Ẋ, and:

Y = I 3×3 Ẍd J T m I 4×4 qd ; θ = Mtot Îtot (13)
being Y and θ the regressor vector and the vector of estimated parameters, respectively, and I 3×3 , I 4×4 are introduced only to emphasize the size of the involved vectors and matrices, not influencing the actual calculations. These estimated parameters vary according to the following adaptation rule [START_REF] Lee | Adaptive output feedback control of robot manipulators using high-gain observer[END_REF]:

θi =                          γ ii φ i , if a i < θi < b i or θi ≥ b i and φ i ≤ 0 or θi ≤ a i and φ i ≥ 0 γ ii (1 + b i -θi δ )φ i , if θi ≥ b i and φ i ≥ 0 γ ii (1 + θi -a i δ )φ i , if θi ≤ a i and φ i ≤ 0 (14)
where

• θi represents the estimate of the i th parameter,

• γ ii is the i th element of the diagonal adaptation gain matrix γ, • a i and b i are the lower and upper bounds of each estimation, respectively, • φ i is the i th element of the column matrix φ = Y T s;

being s = ėc + λe c , and λ(e c ) = λ0 1+||ec|| , where λ 0 is a positive constant,

• δ is a positive constant. The chosen adaptive gains were γ 11 = 0.2 and γ 22 = 1.5x10 -4 . These values were chosen such that the convergence of the estimated parameters could be achieved quickly enough for a very fast pick-and-place task, and such that it would not be aggressive enough to negatively affect the trajectory tracking performance of the manipulator. Considering an a priori knowledge of the mass (with a maximum payload of around 400g) and inertia of the robot, considering that the best K f f c gain of the feedforward controller was 0.625 for the case without payload and 0.825 for the case with a payload of 200g, and taking into account that bigger payloads might be used in future experiments, the chosen range for the parameter Mtot was of [0.525; 1] kg, which means a 1 = 0.525 and b 1 = 1. The inertia parameter Îtot , which is equivalent to the feedforward gain K f f a , the range was chosen as [0.006, 0.018] kg.m 2 , which means a 2 = 0.006 and b 2 = 0.018. In this case study, one concentrates more on the behavior of the parameter Mtot , as this is the parameter that directly compensates for the load changes.

This adaptive control scheme is summarized in the block diagram of Fig. 7,where d dt represents the direct derivation of ∆X. The direct derivation is considered in this case because of the high resolution encoders that are used to measure the joint positions, as well as because of the very small sampling period (which allows the generation of smooth derivative signals).

D. Stability analysis

For the stability analysis of the parallel manipulator modeled by (1), subject to bounded disturbances (||d(t)|| ≤ d max ), in closed-loop with the dual-space adaptive controller [START_REF] Costa | Unmodeled dynamics in adaptive control revisited[END_REF] with adaptation law [START_REF] Liu | Analysis and control of redundant parallel manipulators[END_REF], the following assumptions are considered:

• || θ(0)|| ≤ Θ, where Θ = {θ | a i ≤ θ i ≤ b i , 1 ≤ i ≤
p}, being a i and b i the chosen lower and upper bounds for each estimated parameter θ i and p the number of estimated parameters,

• θ(t) ≤ Θ δ , where Θ = {θ | a i -δ ≤ θ i ≤ b i + δ, 1 ≤ i ≤ p},
for some δ > 0, • X d , Ẋd and Ẍd , as well as q d , qd and qd are bounded,

• the Jacobian and its inverse exist and are bounded by a known constant

J ∈ R + such that ||J m (η)||, ||J -1 m (η)|| ≤ J.
The minimum singular value of J m (η) is assumed to be greater than a known small positive constant ϑ > 0, such that M ax{||J -1 m (η)||} is known a priori, and hence, all kinematic singularities are avoided. The timederivative of the Jacobian ( Jm ) is also assumed to be bounded. These assumptions are valid if one considers that the robot remains far from singularities [START_REF] Cheng | Dynamics and control of redundantly actuated parallel manipulators[END_REF]. Under these assumptions, the following theorem is proposed.

Theorem 1:

The Cartesian error e T ss = [e T c ėT c ] will exponentially converge to the following residual domain:

||e ss || 2 ≤ O( d max λλ min (Q) ) + O( 1 γ s ) (15)
where γ s represents the adaptation gain (by commodity, we considered that Γ = γ s P , being Γ the adaptation gain matrix and P a positive definite diagonal matrix) and Q is given by [START_REF] Whitcomb | Comparative experiments with a new adaptive controller for robot arms[END_REF]:

Q = ||Kpc|| 1 2 (||K dc || + 3 2 ρ1|| Ḿ ||) 1 2 (||K dc || + 3 2 ρ1|| Ḿ ||) ||K dc || 2λ 0 (16)
being ρ 1 the upper bound of the desired velocity and

|| Ḿ || = || Ḿq (v)||,
where Ḿq (v) = (v T ⊗ I)D q M s (q), for any vector v, is the vectorial representation of the partial derivative of M s = Ṁeq (q, q) -C eq (q, q) with respect to q obtained from Christoffel symbols Υ as follows:

Υ = λe T 1 ( Ṁeq -C eq )e 2 = 1 2 λe T 1 ( Ḿ (x 2 )e 2 - -Ḿ (e 2 )x 2 -Ḿ (x 2 ) T e 2 ) (17)
with x 2 = Ẋ, e 1 = e c and e 2 = ėc .

Proof: In order to analyze the stability of the redundantly actuated parallel manipulator in closed-loop with the proposed dualspace adaptive controller, let us firstly consider its dynamics, recalled below:

(M tot + J T m I tot J m ) Ẍ + J T m I tot Jm Ẋ = J T m τ (18)
which can be rewritten as:

M eq (q) Ẍ + C eq (q, q) Ẋ = F [START_REF] Sartori-Natal | Dual-space adaptive control of redundantly actuated parallel manipulators for extremely fast operations with load changes[END_REF] or, equivalently to [START_REF] Whitcomb | Comparative experiments with a new adaptive controller for robot arms[END_REF] in operational space, as:

ẋ1 = x 2 ẋ2 = -M -1 eq (C eq e 2 -F ) (20)
where x 1 = X, x 2 = Ẋ, M eq = (M tot + J T m I tot J m ) and C eq = J T m I tot Jm . It is now important to recall the applied control scheme:

F = Mtot Ẍd + J T m Îtot qd + K pc e c + K dc ėc (21)
and then convert it to the Cartesian space (considering that qd = J m (q d , X d ) Ẍd + Jm (q d , qd , X d , Ẋd ) Ẋd , then adding and subtracting J m (q, X) Ẍd + Jm (q, q, X, Ẋ) Ẋd ), gives:

F = Meq Ẍd + Ĉeq Ẋd +J T m Îtot ( J Ẍd + J Ẋd )+K pc e c +K dc ėc (22)
where J = J m (q d , X d ) -J m (q, X) and J = Jm (q d , qd , X d , Ẋd ) -Jm (q, q, X, Ẋ), which will be considered as a bounded disturbance to the controlled system (to be detailed later in the analysis). Firstly, the analysis will be made while considering no disturbance to the controlled system. Therefore, the control scheme in operational space will be initially considered as follows:

F = Meq Ẍd + Ĉeq Ẋd +K pc e c +K dc ėc = Y θ+K pc e c +K dc ėc (23)
As it was shown in [START_REF] Whitcomb | Comparative experiments with a new adaptive controller for robot arms[END_REF], a system of the form (20) controlled by [START_REF] Sciavicco | Modeling and control of robot manipulators[END_REF] with the adaptation law ( 14) is stable and converges to:

||e ss || → 0 ( 24
)
where e T ss = [e T c ėT c ]. This means that, without disturbance, both the position and velocity tracking errors will converge to zero as time tends to infinity. However, the real system is disturbed by:

d(t) = J T m Îtot ( J Ẍd + J Ẋd ) (25)
This disturbance is bounded, because:

• The robot configuration is assumed to be far from the actuation singularities [START_REF] Cheng | Dynamics and control of redundantly actuated parallel manipulators[END_REF]. Therefore, J m (q, X) and Jm (q, q, X, Ẋ) are bounded [START_REF] Shang | Nonlinear adaptive task space control for a 2-dof redundantly actuated parallel manipulator[END_REF]. If one considers that J = J m (q d , X d ) -J m (q, X) and J = Jm (q d , qd , X d , Ẋd )-Jm (q, q, X, Ẋ) and that J m (q d , X d )

and Jm (q d , qd , X d , Ẋd ) are bounded, it is possible to conclude that J and J are also bounded, • Îtot is bounded because of the projection of the estimated parameters in the adaptive law, • Ẍd and Ẋd , as well as qd and qd are bounded (adequately chosen reference trajectories). Let us then substitute the proposed control scheme [START_REF] Sciavicco | Modeling and control of robot manipulators[END_REF] with adaptation law [START_REF] Liu | Analysis and control of redundant parallel manipulators[END_REF] into the dynamic model of the robot [START_REF] Sartori-Natal | Dual-space adaptive control of redundantly actuated parallel manipulators for extremely fast operations with load changes[END_REF] while considering the bounded disturbance d(t). This results in:

Meq Ẍd + Ĉeq Ẋd + K pc e c + K dc ėc + d(t) = M eq Ẍ + C eq Ẋ (26
) By adding and subtracting M eq Ẍd + C eq Ẋd , one gets to:

M eq ëc + C eq ėc + ( Meq -M eq ) Ẍd + ( Ĉeq -C eq ) Ẋd + + K pc e c + K dc ėc + d(t) = 0 (27)
which can be rewritten as:

M eq ëc + C eq ėc = -Y θ -K pc e c -K dc ėc -d(t) (28)
where Y = [ Ẍd Ẋd ] and θ = [ M T eq CT eq ] T , being Meq = Meq -M eq and Ceq = Ĉeq -C eq . Therefore, the expression of the error dynamics can be written in state-space as follows:

ė1 = e 2 ė2 = -M -1 eq (C eq e 2 + K pc e 1 + K dc e 2 + Y θ + d(t)) (29)
where e 1 = e c and e 2 = ėc . Consider, as in [START_REF] Whitcomb | Comparative experiments with a new adaptive controller for robot arms[END_REF], the following Lyapunov candidate (without disturbances):

V (t) = 1 2 e T 1 K pc e 1 + 1 2 e T 2 M eq e 2 +λ(e 1 )e T 1 M eq e 2 + 1 2 θT Γ -1 θ (30) being λ(e 1 ) = λ0
1+||e1|| , where λ 0 is a positive constant. This Lyapunov candidate is guaranteed to be positive definite with a sufficiently small choice of λ 0 , and can be rewritten as:

V (t) = 1 2 e T ss
K pc λM eq λM eq M eq e ss + 1 2 θT Γ -1 θ (31)

with e ss = [e T c ėT c ] T . The objective is now to evaluate the time-derivative of V (t), which is given by:

V (t) = e T 1 K pc e 2 + e T 2 M eq ė2 + 1 2 e T 2 Ṁeq e 2 + + λe T 2 M eq e 2 + λe T 1 M eq ė2 + λe T 1 Ṁeq e 2 + + λe T 1 M e 2 + θT Γ -1 θ (32)
Considering that ė2 = -M -1 eq (C eq e 2 +K pc e 1 +K dc e 2 +Y θ) and also the skew-symmetry property of the matrix ( Ṁeq 2 -C eq ), one gets to:

V (t) = -e T 2 (K dc e 2 + Y θ) + λe T 2 M eq e 2 -λe T 1 (C eq e 2 + + K pc e 1 + K dc e 2 + Y θ) + λe T 1 Ṁeq e 2 + + λe T 1 M e 2 + θT Γ -1 θ (33)
which will be represented as:

V (t) = ξ 1 ( 34
)
where ξ 1 represents the right-hand side of (33). For such a case, considering [START_REF] Whitcomb | Comparative experiments with a new adaptive controller for robot arms[END_REF], we can conclude that:

V (t) ≤ -λλ min (Q)||e ss || 2 (35)
where λ min (Q) represents the minimum eigenvalue of Q and:

Q = λmin(Kpc) 1 2 (||K dc || + 3 2 ρ1|| Ḿ ||) 1 2 (||K dc || + 3 2 ρ1|| Ḿ ||) λ min (K dc ) 2λ 0 (36)
being ρ 1 the upper bound of the desired velocity and Ḿq (v) = (v T ⊗ I)D q M s (q), for any vector v, as previously defined.

When considering the disturbance, the following expression of the time-derivative of V (t) is obtained:

V (t) = -e T 2 (K dc e 2 + Y θ + d(t)) + λe T 2 M eq e 2 - -λe T 1 (C eq e 2 + K pc e 1 + K dc e 2 + Y θ+ + d(t)) + λe T 1 Ṁeq e 2 + λe T 1 M e 2 + θT Γ -1 θ (37)
which is equivalent to:

V (t) = ξ 1 -(||e T 2 + λe T 1 ||)d(t) (38)
As d(t) can be negative, the conclusion for this stability analysis is written as follows:

V (t) ≤ -λλ min (Q)||e ss || 2 + (||e T 2 + λe T 1 ||)d max (39)
It is clear that, in the present case, it is not possible to guarantee that V (t) is negative definite. However, it is possible to manipulate λ min (Q) (by carefully choosing K pc , K dc and λ 0 ) such that the region where V (t) is positive can be made as small as possible, therefore guaranteeing that the system error will converge to a residual domain that can be made as small as possible (when not considering the saturation of the actuators). This is illustrated in Fig. 8 for the example that follows (with

||e ss || 2 = e 2
1 + e 2 2 ). Firstly, let us consider that λ = 0.01 and λ min (Q) = 100 (configuration 1), and then consider that λ is kept with the same value and λ min (Q) = 300 (configuration 2). In both cases, d max = 5. It is possible to notice, as illustrated in Fig. 8, that by only increasing K pc and K dc (thus increasing λ min (Q)), the Lyapunov candidate V (t) will converge to a considerably smaller residual domain. This is because the increase of ||e ss || 2 , after a certain point, will cause the time-derivative of V (t) to become negative. As the Lyapunov candidate V (t) also depends directly on ||e ss || 2 (cf. the two first terms of (30)), this means that ||e ss || 2 will also decrease after this point. Finally, one must consider that the projection of the estimated parameters ( 14) is not necessary in the case without disturbances. However, in our case we have disturbances, which generates the need for a projection in the adaptation algorithm (in order to guarantee the boundedness of the estimated parameters). This projection may add a residual error to the controlled system which is inversely proportional to the adaptation gain [START_REF] Costa | Unmodeled dynamics in adaptive control revisited[END_REF]. This leads to the conclusion that:

||e ss || 2 ≤ O( d max λλ min (Q) ) + O( 1 γ s ) (40)

IV. TRAJECTORY GENERATION

In this section, two proposed trajectories will be presented and detailed. The first one consists in a spiral movement (cf. Fig. 9) that was implemented for a maximum acceleration of 20G (≈ 200m/s 2 , which provides a frequency of 6.5 revolutions per second). This trajectory was used as a case study to compare the PID controller in operational space and the dual-space feedforward controller. The second one consists in a 3D pick-and-place trajectory as illustrated in Fig. 10. This trajectory was implemented for a maximum acceleration of 30G with the dual-space feedforward controller as well as the dual-space adaptive controller.

A. First proposed trajectory: Spiral movements in x-y plane

The desired x-y trajectory is described as follows:

x d = K mod 0.125 sin(2πf mov t) y d = K mod 0.125 sin(2πf mov t + π 2 ) (41)
being K mod = 0.5 sin( 2πt 15 + 11π 10 ) a modulation function that guarantees a smooth variation of the circle's radius in order to avoid abrupt start/finish movements and f mov the frequency of the circular movements (in Hz). The obtained curve is illustrated in Fig. 9. The associated experiment has the following procedure:

• the robot goes to its initial position (0, 0, -0.55)m and stops, • the robot starts moving while the radius of the circular movement increases smoothly until it reaches 0.125m and then decreases smoothly until the robot stops.

The objective of this case study is to evaluate the tracking performance that would be obtained by the addition of the desired Cartesian/joint acceleration feedforwards to the Cartesian PID controller. As will be detailed in Section V, this performance improvement allowed for a safer increase of the acceleration/velocity of the robot until 30G, which was achieved on the second proposed trajectory.

B. Second proposed trajectory: 3D pick-and-place movements

The objective of this trajectory is to evaluate the capability of the proposed control schemes to deal with very high accelerations/velocities in a pick-and-place task. The desired trajectory was chosen such that movements of different distances would have to be performed in the same amount of time. This would require different accelerations/velocities for each one of them, demonstrating the good applicability of the proposed dual-space control schemes. The trajectory in question has the following sequence of movements: Each movement was performed in 0.08s without payload (0.32s for the whole cycle), and in 0.1s with payload (0.4s for the whole cycle). Their maximum height was equal to 2.5cm. The trajectory generation algorithm used in this case was a polynomial interpolation of degree five [START_REF] Khalil | Modeling, identification and control of robots[END_REF]. This algorithm guarantees the continuity of the movement in position, velocity and acceleration. The idea is to reach a desired final position from a given initial position through the following function:

x f = x i + r(t)∆x, f or 0 ≤ t ≤ t f (42) where r(t) = 10( t t f ) 3 -15( t t f ) 4 + 6( t t f ) 5 (43)
being x i , x f the initial and final positions, respectively, r(t) a function that represents the trajectory between the two positions (being its limits equal to r(0) = 0 and r(t f ) = 1), ∆x = x f -x i and t f the duration of the movement (chosen by the user).

C. Third proposed trajectory: 100G vertical movements

In order to accomplish the objective of reaching 100G of acceleration, a vertical trajectory (centered on the origin of the x-y plane) was proposed. This trajectory was proposed because the torques would be equally divided between the four actuators, and also because of the symmetrical internal efforts to be supported by the structure of the robot. This trajectory is described by an expression similar to the one of the spiral trajectory, but only on the z axis in this case:

z d (t) = K mod 0.05 sin(2πf mov t)
(44) being K mod the same modulation function of the spiral trajectory used in Section IV-A to avoid an abrupt start/finish of the movements, and f mov the frequency of the sinusoidal movement (in Hz), being f mov = 22Hz. The desired trajectory is illustrated in Fig. 15. The associated experiment has the following procedure:

• the robot is steered to its initial position (0, 0, -0.55)m and stops (initialization), • the amplitude of the movement increases smoothly until it reaches 0.05m and then decreases smoothly until the robot stops.

V. REAL-TIME EXPERIMENTAL RESULTS

In this section, real-time experimental results obtained through the application of the proposed control schemes described in Section III on the parallel manipulator R4 described in Section II in order to track the reference trajectories detailed in Section IV are presented and discussed.

A. Description of the experimental testbed

The proposed control schemes were implemented in Simulink/Matlab of Mathworks, being compiled using XPC Target real-time toolbox, and uploaded to the target PC, which managed the real-time task execution with a sampling frequency of 10 kHz (sampling period of 0.1msec). Because of such high sampling frequency, the utilization of external measurement devices such as cameras for the measurement of the position of the platform was not considered. The position of the platform was calculated through the forward kinematics of the robot, and the Cartesian velocity was obtained through direct derivation of the calculated Cartesian position. The experimental testbed of our prototype is displayed in Fig. 11, where: 1) comparison between PID and dual-space feedforward controllers, 2) 100G experiment with the dual-space feedforward controller, 3) dual-space feedforward controller overall performance analysis, 4) comparison between dual-space feedforward and adaptive controllers. Each of these scenarios is detailed and discussed in the sequel.

B. Comparison between the Cartesian PID and the dual-space feedforward controller

Based on this experiment, a first comparison will be made between the Cartesian PID and the dual-space feedforward controller for the case of the spiral trajectory in the xy plane for a maximum acceleration of 20G (equivalent to f mov = 6.5Hz). This trajectory was selected for this comparison because it is relatively simple both in terms of the dynamics involved and also because of the symmetry of the movements. The obtained results for this scenario are given in Figs. 1314. In Fig. 12, the movement along x-axis (similar for y-axis, with a delay of 90 • ) is illustrated. During its initialization, the robot goes from the rest position to the desired initial position (0, 0, -0.55)m, then the amplitude of the circle starts to increase until it reaches 0.125m (reaching a maximum acceleration of 20G), and then it decreases in the same way until the robot stops. In order to compare the performance of both controllers, Figs. 13-14 show a zoom around the time interval of maximum amplitude. where e rmsx (and equivalently e rmsy and e rmsz ) is given by:

e rmsx = e 2 x1 + e 2 x2 + ... + e 2 xn n ( 46
)
where n is the total number of elements of e x . The RMSE shows an equivalent improvement in performance with the dual-space feedforward controller (1.3 mm versus 3.6 mm, which means an improvement of approximately 64%). Another advantage of the dual-space feedforward controller was that its control signal had a smaller peak-to-peak value than the Cartesian PID (as shown in Fig. 14). These results are summarized in Table VI.

With the conclusion that the Cartesian PID controller has a relatively bad tracking performance even for a trajectory which is relatively simple, the former was discarded for the next case study.

C. The 100G experiment

The trajectory tracking obtained with the dual-space feedforward controller for the 100G vertical trajectory is displayed in Fig. 15 (where the steering from the rest position to the desired initial position, as well as the natural descent of the end-effector (due to the gravity acceleration) after the motors are turned off at the end of the experiment are illustrated). A zoom on the period around the maximum acceleration (maximum amplitude of the sinusoidal movement) for the trajectory tracking and the torques are depicted in Figs. 16 and17. The torque×angular velocity relation for each motor is shown in Fig. 19. From Fig. 16, it is possible to notice that the feedforward controller is to keep the system stable and with an acceptable tracking error (inside the interval of [-3.31, 3.88]mm, which is equivalent to a peak-to-peak error of approximately 7.2%) even while tracking a trajectory with such high acceleration. By analyzing Fig. 17 (representing the evolution of the control inputs (torques)), one can see that the four actuators had a similar maximum amplitude and, from Fig. 19, one can see that the the four motors are close to reaching their power limits (maximum torque of 127N.m and maximum speed of 550rpm, as illustrated in Fig. 18 (T p -3RBS), which refers to the characteristics of the chosen motors). The motors were designed with a thermal protection system against overheating, in order to guarantee that high temperatures would not affect their performances [START_REF]Motor thermal protection[END_REF]. Fig. 20 shows that the robot was able to reach more than 100G of acceleration (which is equivalent to approximately 981m/s 2 if one considers that the gravity acceleration is approximately 9.81m/s 2 ) with the proposed dual-space feedforward controller. The peaks of 1000m/s 2 are equivalent to around 102G of acceleration. The accelerations of each axis were measured on R4 with a Silicon Designs triaxial analog accelerometer (Model 2460-200) attached to its end-effector.

In the sequel, we are interested in analyzing the performance of the dual-space feedforward controller in details, especially its limitations for an application involving operational changes.

D. Dual-space feedforward controller performance analysis

In order to check the capabilities of this control approach and analyze its lack of robustness, the 3D pick-and-place trajectory presented in Section IV is proposed to be tracked for two scenarios. Firstly, the parallel manipulator R4 will track this trajectory without any payload at 30G of maximum acceleration, then it will be tracked with a payload of 200g at 20G of maximum acceleration. During initialization, the robot goes from the rest position to the desired initial position (-0.1, 0.1, -0.55)m, then two cycles of the proposed 3D pick-and-place trajectory are performed (total of eight movements in 0.64 seconds without payload at 30G and a total of eight movements in 0.8 seconds while carrying a payload of 200g at 20G). The obtained results for this analysis are depicted in Figs. 21-23. The trajectory tracking of the feedforward controller can be visualized in Figs. [START_REF] Spong | Robot dynamics and control[END_REF] and 27 for K f f c = 0.825. In the following experiments, none of the motors reaches 50% of its maximum torques (cf. Fig. 23).

1) Pick-and-place task without payload at 30G: In this scenario, the effect of the Cartesian feedforward gain K f f c is analyzed. In Fig. 21, it is shown that the gain value which provides the best overall performance for this case is 0.625, and that an important loss of tracking performance happens when using K f f c = 0.825. The obtained peak-to-peak errors of the x-y axes for K f f c values of 0.625 and 0.825 were [-1.4, 1.5]mm and [-2.73, 2.9]mm, respectively (cf. Fig. 21). This means that, by changing the K f f c value from 0.625 to 0.825 in this case, there is an increase of more than 100% of the peak-to-peak errors in the x-y axes. In this first analysis, only the tracking results of the x-y axes were taken into account because the tracking in the z axis was relatively similar for both cases. This can be explained by the considerably bigger displacements of both x-y axes in comparison to the displacements of the z axis. The RMSE is equal to 2.1 mm versus 2.4 mm for K f f c = 0.625 and K f f c = 0.825, respectively. 2) Pick-and-place task with a payload of 200g: In the previous scenario, it was shown that the value of K f f c that provides the best performance is 0.625. With the attachment of a load of 200g on the platform of the robot (cf. Fig. 2), this is no longer true. From Fig. 22, it is possible to see that the value of K f f c that provides the best overall performance is now 0.825 (being the difference between this value and the best value for the previous case equal to the mass of the payload (0.2kg)), while using K f f c = 0.625 provides a notably worse performance. The obtained peak-to-peak errors of the x-y axes were [-1.64, 2.6]mm and [-0.75, 1.6]mm for K f f c values of 0.625 and 0.825, respectively (cf. Fig. 22). The RMSE was equal to 2.14 mm versus 1.7 mm, respectively. These results confirm that, when manually updating the value of K f f c accordingly to the operational changes, it is possible to maintain a good tracking performance of this control scheme. However, if K f f c is not adequately updated, important losses of performance can occur. These results are summarized in Table VII.

In order to resolve this issue, the proposed dual-space adaptive controller is implemented for real-time execution on the R4 parallel manipulator. The analysis of its tracking performance, as well as its robustness towards operational changes, will be made in the experiments that follow. In the following experiments, a detailed comparison between the dual-space feedforward controller and the dualspace adaptive controller is presented. As opposite to the previous analysis, now the effects of the removal of the payload will be evaluated. Therefore, the order of the scenarios will be inverted (firstly, the performance of both controllers is evaluated and compared for the case with a payload of 200g at 20G, and then for the case without payload at 30G). In both scenarios, the robot goes from the rest position to the desired initial position (-0.1, 0.1, -0.55)m and then executes two cycles of the proposed 3D pick-and-place trajectory. 1) 3D pick-and-place movements with a payload of 200g at 20G: In this scenario, the adaptive controller is compared to the feedforward controller (best configured for the case with a payload of 200g, that is K f f c = 0.825), at 20G of maximum acceleration. The objective of this experiment is to show that even though the feedforward controller may have a good performance when configured with its best value of K f f c for a specific scenario, it will still have a worse tracking performance than the adaptive controller. The obtained results for this scenario are depicted in Figs. [START_REF] Spong | Robot dynamics and control[END_REF] By analyzing Fig. 25, it is possible to notice that the adaptive controller is able to provide a better overall tracking performance than the feedforward controller even with its best configuration value of K f f c for this case. For the x-y axes, the adaptive controller is able to keep the tracking errors within the interval [-1, 1]mm, while the feedforward controller keeps them within [-0.75, 1.6]mm, as shown in Table VIII adaptive controller in this case is further confirmed by the Root Mean Square Errors (RMSE), which are equal to 1.33 mm versus 1.7 mm for the feedforward controller. The RMSE takes into consideration the errors in all axes equally. These results are summarized in Table VIII.

The control inputs (torques) generated by each controller are shown in Fig. 26. It is worth to emphasize that all the control inputs remain within the admissible limit of the actuators (a maximum torque of 127 N.m).

In the next scenario, it will be shown that the adaptive controller maintains its good performance without any need of manual readjustments of its parameters, while the dualspace feedforward controller loses much performance when not updated accordingly.

2) 3D pick-and-place movements without payload at 30G: In this scenario, the robustness of the dual-space adaptive controller and the lack of robustness of the dual-space feedforward controller towards load changes are demonstrated. From Fig. 28, it is possible to notice that the feedforward controller, when not manually reconfigured to the new scenario, has an important loss of performance (both with respect to the previous scenario and also with respect to the adaptive controller). For the x-y axes, the adaptive controller keeps them within [-1.51, 1.6]mm, while the feedforward controller keeps them within [-2.73, 2.9]mm (peak-to-peak difference of more than 80%). The robustness of the adaptive controller and the lack of robustness of the feedforward controller are further confirmed by the RMSE results. While the adaptive controller is able to maintain almost the same RMSE as in the previous scenario (1.33 mm versus 1.4 mm), the feedforward controller had a loss of almost 40% (1.7 mm versus 2.4 mm), respectively. Fig. 29 confirms that the adaptive controller generates a control signal with a slightly bigger amplitude than the feedforward controller. These results are summarized in Table VIII.

F. Variation of the estimated parameters

As already mentioned in Section III, the parameters M tot and I tot were estimated in real-time by the dual-space adaptive controller to maintain its good performance independently of the scenario. It was shown in this section that the adaptive controller outperforms the fixed feedforward controller even with its best settings for each scenario. The evolution of both estimations will be detailed as follows.

For the first scenario, the value of K f f c (which will be considered as an offline estimation of M tot ) that provides the best performance of the feedforward controller is equal to 0.825 (dashed curves in both Figs. 3031). The first point to be mentioned is that the convergence of the estimation of Mtot from a given initial value to a region around 0.825 is fast enough to be accomplished before the first stop point is reached (which is the expected performance in a pickand-place task, where the robot will perform a movement with payload followed by a movement without payload). This confirms the fact that the tracking performance of the adaptive controller will barely be affected by an initial value different from the best value for the specific case, and also justifies the good performance of the feedforward controller when keeping this value constant during this experiment. For the second scenario, the important loss of performance of the feedforward controller is justified. In Fig. 31, it is shown that when not manually updating the feedforward gain K f f c after the removal of the payload of 200g, this estimation will now remain constant with an inadequate value. The estimation of the adaptive controller converges to a region around Mtot = 0.625, which is the best value of K f f c for this case.

Another point to be mentioned is the increased oscillations in parameters' estimation with the increase of acceleration (cf. Figs. 30313233). Between the most reasonable causes, one can mention the increase of unmodeled dynamics effects (such as the frictions, counter-electromotice forces, etc.), which become more important with higher accelerations, thus becoming a relevant disturbance source. However, the robustness of the adaptive controller enables it to maintain both smoothness and good performance of the closed-loop system, in terms of tracking (cf. Figs. [START_REF] Spong | Robot dynamics and control[END_REF]27), as well as in terms evolution of the control inputs (the same general form for both controllers, without addition of oscillations by the adaptive controller, cf. Figs. [START_REF]Motor thermal protection[END_REF]29), despite oscillations in the parameters' estimation. It is worth mentioning, however, that the utilization of a more complete model may contribute to the decrease of these oscillations in the estimated parameters, as well as to the improvement of the overall performance of the proposed adaptive controller. This shall be investigated in the future.

For instance, the evolution of Îtot is displayed in Figs. 32-33 for different accelerations. From these figures, it is possible to notice that the load changes had no significant effect on the behavior of this parameter.

VI. CONCLUSIONS AND FUTURE WORK

In this paper, three control schemes have been proposed and experimentally compared on the R4 redundantly actuated parallel manipulator for tasks with very high accelerations. A Cartesian PID controller was initially proposed such that the redundancy in actuation would be taken into consideration in its design. Because of its limitation in terms of tracking performance even with a relatively simple trajectory, a dualspace feedforward controller based on the dynamics of the system was proposed. The results showed that this last one can improve the tracking performance considerably (even allowing the execution of a 100G trajectory tracking experiment), but it has important losses of performance if there are any operational changes (such as load changes). To overcome such lack of robustness, a dual-space adaptive controller was then proposed. By analyzing the obtained experimental results for different cases with and without payload, it was clear that this control scheme not only is able to maintain its good performance in both scenarios without any need of manual readjustment of its parameters, but it also provides a better performance than the dual-space feedforward controller even when this last one is best configured for each specific case. As future work, the utilization of a more complete dynamic model of R4 shall be analyzed, such that an evaluation of the possible performance improvements with the proposed adaptive control scheme can be made. Experiments with more complex trajectories for other applications such as laser cutting shall also be studied.

VII. ACKNOWLEDGEMENTS

Fig. 1 .Fig. 2 .

 12 Fig. 1. Views of the R4 parallel manipulator: Schematic view of the CAD design (left), side view of the robot prototype (right)

Fig. 3 .

 3 Fig. 3. Illustration of the R4 parallel manipulator geometric parameters (detailed in Table I): Top view (left), side view (right)

Fig. 4 .

 4 Fig. 4. Illustration of actuation redundancy: Non-redundant case (left) and redundantly actuated case (right)

Fig. 5 .

 5 Fig. 5. Block diagram of the proposed Cartesian PID controller

Fig. 6 .

 6 Fig. 6. Block diagram of the proposed dual-space feedforward controller

Fig. 7 .

 7 Fig. 7. Block diagram of the proposed dual-space adaptive controller

Fig. 8 .

 8 Fig. 8. Illustration of the effect of the increase of λ min (Q) on the behavior of V (t) with respect to ||ess|| 2

Fig. 9 .

 9 Fig. 9. Top view of the reference trajectory used in the first case study (spiral in the x-y plane)

1 )

 1 Pick 1 -Place 1: From (-0.1,0.1)m to (0.1,-0.1)m, 2) Place 1 -Pick 2: From (0.1,-0.1)m to (0.1,0.1)m, 3) Pick 2 -Place 2: From (0.1,0.1)m to (-0.1,-0.1)m, 4) Place 2 -Pick 1: From (-0.1,-0.1)m to (-0.1,0.1)m.

2 Fig. 10 .

 210 Fig. 10. Isometric view of the 3D pick-and-place trajectory

Fig. 11 .

 11 Fig. 11. View of the experimental testbed of R4 parallel manipulator

Fig. 12 .e 2 rmsy + e 2 rmszFig. 13 .Fig. 14 .

 12221314 Fig. 12. View of the trajectory of the traveling plate along x-axis vs. time

Fig. 15 .Fig. 16 .

 1516 Fig. 15. Trajectory tracking obtained with the dual-space feedforward controller for the 100G vertical trajectory, including initialization phase

4 Fig. 17 .Fig. 19 .Fig. 20 .

 4171920 Fig. 17. Torques generated by the dual-space feedforward controller

Fig. 21 .

 21 Fig. 21. Tracking errors for 30G without load, with different values of K f f c

Fig. 22 .Fig. 23 .

 2223 Fig. 22. Tracking errors for 20G with load, with different values of K f f c

Fig. 24 .

 24 Fig. 24. 3D pick-and-place trajectory tracking with a payload of 200g for 1 cycle and an acceleration of 20G

Fig. 26 .Fig. 27 .Fig. 28 .Fig. 29 .

 26272829 Fig. 26. Torques applied by the 4 motors with a payload of 200g for an acceleration of 20G

Fig. 31 .

 31 Fig. 31. Evolution of the estimated parameter Mtot (solid line) and the gain K f f c (dashed line) for different accelerations (without payload)

Fig. 33 .

 33 Fig. 33. Evolution of the estimated parameter Îtot for different accelerations (without payload)

TABLE I GEOMETRIC

 I PARAMETERS OF R4 PARALLEL MANIPULATOR

TABLE II DYNAMICS

 II PARAMETERS OF R4 PARALLEL MANIPULATOR

	Mtp [kg]	M f orearm [kg]	Iact [kg.m 2 ]	Iarm [kg.m 2 ]
	0.2	0.065	0.003	0.005

TABLE VI PERFORMANCE

 VI COMPARISON BETWEEN THE CARTESIAN PID AND THE DUAL-SPACE FEEDFORWARD CONTROLLER

	Performance	PID	Dual-space
	Error peaks	[-4.6, 5.3]mm (4%)	[-1.5, 2.3]mm (1.6%)
	RMSE	3.6 mm	1.3 mm
	Control signals	Dual-Space has slightly smaller peak-to-peak value

  -26.

			0.1							Des. Traj.
	X (m)	0							Adaptive FF/K ffc =0.825
			-0.1
			0	0.05	0.1	0.15	0.2	0.25	0.3	0.35	0.4
			0.1
	Y (m)	0
			-0.1
			0	0.05	0.1	0.15	0.2	0.25	0.3	0.35	0.4
	Z (m)	-0.54 -0.53
		-0.55
			0	0.05	0.1	0.15	0.2	0.25	0.3	0.35	0.4
							t (s)

  . For the z-axis, the difference between the controllers is bigger and easily visible. While the adaptive controller keeps the tracking errors within [-1.77, 2]mm, the feedforward keeps them within [-2.6, 2.7]mm. The superior performance of the

	(m)	5 15 10	-4 x 10							Adaptive FF/K ffc =0.825
	e cX	0
		-5
		0 x 10 -3	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8
	(m)	1
	e cY	0
		-1
		0 x 10 -3	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8
	e cZ (m)	0 2
		-2
		0	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8
							t (s)
	Fig. 25. 3D pick-and-place tracking errors with a payload of 200g for an
	acceleration of 20G
	τ 1 (N.m)	-20 0 20 40								Adaptive FF/K ffc =0.825
			0	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8
		50
	τ 2 (N.m)	0
		-50	0	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8
		50
	τ 3 (N.m)	0
		-50	0	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8
		50
	τ 4 (N.m)	0
		-50	0	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8
							t (s)

  Fig. 30. Evolution of the estimated parameter Mtot (solid line) and the gain K f f c (dashed line) for different accelerations (with a payload of 200g)

		1
		0.9								t mov =0.15s (8G)
		0.8
		0.7	0	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8
		1
	(kg)	0.9							t mov =0.125s (12.5G)
	Mtot	0.8
		0.7	0	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8
		1								t mov =0.1s (20G)
		0.9
		0.8
		0.7
			0	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8
							t (s)
		0.7 0.8							t mov =0.125s (12.5G)
		0.6
			0	0.1	0.2	0.3	0.4		0.5	0.6	0.7
	Mtot (kg)	0.6 0.7 0.8							t mov =0.1s (20G)
			0	0.1	0.2	0.3	0.4		0.5	0.6	0.7
		0.8							t mov =0.08s (30G)
		0.7
		0.6
		0.5	0	0.1	0.2	0.3	0.4		0.5	0.6	0.7
							t (s)

The authors would like to sincerely thank Prof. Liu Hsu (COPPE/UFRJ, Brazil) for his valuable remarks and discussions for the development of the presented stability analysis.