Predictive functional control of a parallel robot

13
Predictive Functional Control of a Parallel Robot Oscar Andr` es Vivas, Philippe Poignet To cite this version: Oscar Andr` es Vivas, Philippe Poignet. Predictive Functional Control of a Parallel Robot. Control Engineering Practice, Elsevier, 2005, Control Applications of Optimisation, 13 (7), pp.863-874. <10.1016/j.conengprac.2004.10.001>. <lirmm-00105300> HAL Id: lirmm-00105300 http://hal-lirmm.ccsd.cnrs.fr/lirmm-00105300 Submitted on 11 Oct 2006 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destin´ ee au d´ epˆ ot et ` a la diffusion de documents scientifiques de niveau recherche, publi´ es ou non, ´ emanant des ´ etablissements d’enseignement et de recherche fran¸cais ou ´ etrangers, des laboratoires publics ou priv´ es.

Transcript of Predictive functional control of a parallel robot

Predictive Functional Control of a Parallel Robot

Oscar Andres Vivas, Philippe Poignet

To cite this version:

Oscar Andres Vivas, Philippe Poignet. Predictive Functional Control of a Parallel Robot.Control Engineering Practice, Elsevier, 2005, Control Applications of Optimisation, 13 (7),pp.863-874. <10.1016/j.conengprac.2004.10.001>. <lirmm-00105300>

HAL Id: lirmm-00105300

http://hal-lirmm.ccsd.cnrs.fr/lirmm-00105300

Submitted on 11 Oct 2006

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinee au depot et a la diffusion de documentsscientifiques de niveau recherche, publies ou non,emanant des etablissements d’enseignement et derecherche francais ou etrangers, des laboratoirespublics ou prives.

ARTICLE IN PRESS

0967-0661/$ - se

doi:10.1016/j.co

�Correspond+33 467 418 50

E-mail addr

Control Engineering Practice 13 (2005) 863–874

www.elsevier.com/locate/conengprac

Predictive functional control of a parallel robot

Andres Vivas, Philippe Poignet�

LIRMM, UMR 5506, CNRS, University Montpellier 2, Robotique, 161 rue Ada, 34392 Montpellier cedex 5, France

Received 31 July 2003; accepted 4 October 2004

Available online 18 November 2004

Abstract

This paper deals with an efficient application of a model-based predictive control scheme in parallel mechanisms. A predictive

functional control strategy based on a simplified dynamic model is implemented. Experimental results are shown for the H4 robot, a

fully parallel structure providing 3 degrees of freedom (dof) in translation and 1 dof in rotation. Predictive functional control,

computed torque control and PID control strategies are compared in complex machining tasks trajectories. Tracking performance

and disturbance rejection are enlightened.

r 2004 Elsevier Ltd. All rights reserved.

Keywords: Model-based control; Predictive control; Robot control

1. Introduction

Parallel mechanisms were introduced by Gough(1957) and Stewart (1965). Clavel (1989) proposed theDelta structure, a parallel robot dedicated to high-speedapplications, which has been intensively used inindustry. Also the so-called ‘‘hexapod’’ robot with sixU-P-S chains in parallel (U-P-S: Universal-Prismatic-Spherical) is another undeniable success for parallelrobotics thanks to the enormous amount of researchdedicated to these structures (Merlet, 1997; Thonshoff,1998). Others structures like the Hexa robot (Pierrot,Dauchez, & Fournier, 1991) and the HexaM machine(Pierrot & Shibukawa, 1998) propose different solutionsfor machining tasks.For most pick-and-place applications, at least four

dof are required (3 translations and 1 rotation to put thecarried object in its final location). For the Delta robot,it is achieved thanks to an additional link between thebase and the gripper, but it does not seem to be asefficient as a parallel arrangement. Moreover, 6-degree

e front matter r 2004 Elsevier Ltd. All rights reserved.

nengprac.2004.10.001

ing author. Tel.: +33 467 418 561; fax:

0.

ess: [email protected] (P. Poignet).

of freedom (dof) fully parallel machines currently usedin machining suffer from their complexity (they need atleast 6 motors while the cutting process requires only 5controlled axis plus the spindle rotation) and theirlimited tilting angle. An intermediate solution to thesedrawbacks, with the 4-dof parallel mechanism—the H4robot—have been proposed (Company & Pierrot, 1999;Pierrot, Marquet, Company, & Gil, 2001). Fig. 1 showsa photograph of the H4 parallel robot.This machine is based on 4 independent active chains

between the base and the nacelle; each chain is actuatedby a brushless direct-drive motor fixed on the base andequipped with an incremental position encoder. Thanksto its design, the mechanism is able to provide greatperformance. However, in order to achieve high speedand acceleration for pick-and-place applications orprecise motion in machining tasks, advanced model-based robust controllers are often required to increasethe performance of the robot.In the past decade model predictive control (MPC)

has become an efficient control strategy for a largenumber of processes (Clarke, Mothadi, & Tuffs, 1987).Different works have shown that predictive controlschemes are of great interest when requiring goodperformance in terms of rapidity, disturbances or errors

ARTICLE IN PRESS

uz

α2

α3

P4P3

P1

uy

ux

A3

A2

A1

Ai

uz

uy

L

l

Pi

O

motorslocation

motor

θnacelleangle

arm

forearm

h

d

2d

R

R

2h

A4D

α4

P2

ux

Bi

qi

u1

Fig. 2. Design parameters.

Fig. 1. H4 robot.

A. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874864

cancellations (Clarke et al., 1987; Allgower, Badgwell,Qin, Rawlings, & Wright, 1999). Stability has been thesubject of several studies (Van den Boom, De Vries,Boumeester, & Verbruggen, 1994; Zheng, 1997).In this paper, the focus is on the implementation of

the predictive functional control (PFC) developed byRichalet (Richalet, 1993a,b; Richalet et al., 1997) on theH4 parallel robot. Recent contributions to this approachcan be found in Rossiter (2002) as well as in(Abdelghani-Idrissi, Arbaoui, Estel, & Richalet, 2001),where industrial applications restricted to slow dynamicsystems are presented.Basically, the procedure will consist of two steps (i)

the process is first linearized by feedback (ii) secondly,the MPC scheme is computed from a linearizedmodel composed of a set of double integrators firststabilized with an inner closed-loop structure. Experi-mental results, enlightening performance on circular orangular path and robustness to load variation, arecompared with those obtained from the model-basedcomputed torque control (CTC) (Canudas de Wit,Siciliano, & Bastin, 1996) and the classical PIDcontroller.The paper is organized as follows: Section 2 is

dedicated to the geometric, kinematics and dynamicsmodeling required to implement the control strategy.Section 3 details the model PFC. Section 4 introducesthe compared control schemes: PFC, CTC and PID.Section 5 lists major experimental results in terms of (i)tracking performance in complex trajectories, that canbe found in pick-and-place applications or machiningtasks, and (ii) robustness. Finally, conclusions are givenin Section 6.

2. Robot modeling

2.1. Geometric and kinematics modeling

The Jacobian matrix and the forward geometricmodel are required to compute the dynamic model (seeSection 2.2) Khalil and Dombre, 2002. Therefore, a briefpresentation detailing the computation of the differentrelationships required to obtain this model and matrixare presented. The design parameters of the robot aredescribed in Fig. 2, where the following parameters havebeen chosen:

a1 ¼ 0; a2 ¼ p; a3 ¼ 3p=2; a4 ¼ 3p=2;

u1 ¼ uy; u2 ¼ �uy; u3 ¼ ux; u4 ¼ ux:

The angles ai describe the position of the four motors,L is the length of arms, l is the length of the forearms, ythe nacelle’s angle, and d and h are the half lengths ofthe ‘‘H’’ forming the nacelle. O is the origin of the baseframe and D is the origin of the nacelle frame. R givesthe motor’s position. The AiBi segments represent thearms of the robot and PiBi the forearm segments. Thejoint positions are represented by qi:To obtain the inverse geometric model, it is necessary

to express the different points of the mechanical systemwith respect to the origin O: The origin is fixed in themiddle of the nacelle with the coordinates (x, y, z). Inthe Cartesian space, the end effector position is given byðx; y; z; yÞ:

OD ¼ ½x y z�T (1)

The vector that joins the absolute origin O and all theforearms to the nacelle is

OAi ¼ OD þ DAi ¼

x

y

z

264

375þ DAi: (2)

ARTICLE IN PRESS

Fig. 3. H4 workspace for y ¼ 0:

A. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874 865

The DAi segments can be expressed as

DA1 ¼

h cos y

h sin yþ d

0

264

375; DA2 ¼

�h cos y

�h sin yþ d

0

264

375: (3)

DA3 ¼

�h cos y

�h sin y� d

0

264

375; DA4 ¼

h cos y

h sin y� d

0

264

375: (4)

Then, the vector that links the absolute origin and allof the arms to the forearms is

OBi ¼ OPi þ PiBi (5)

with

PiBi ¼

l cos qi cos ai

l cos qi sin ai

�l sin qi

264

375 (6)

and actuator locations are:

OP1 ¼

h þ R cos a1d þ R sin a1

0

264

375; OP2 ¼

�h þ R cos a2d þ R sin a2

0

264

375:(7)

OP3 ¼

�h þ R cos a3�d þ R sin a3

0

264

375; OP4 ¼

h þ R cos a4�d þ R sin a4

0

264

375:(8)

Finally, arms coordinates are given by

AiBi ¼ AiO þ OBi: (9)

As usual for most parallel robots, the inversegeometric model is easy to be computed. The followingequality can simply be written

kAiBik2 ¼ L2; i ¼ 1; . . . ; 4: (10)

This relationship leads to

Mi cos qi þ Ni sin qi ¼ Gi; (11)

where

Mi ¼ �2lðPiBix cos ai þ PiBiy sin aiÞ;

Ni ¼ 2lPiBiz;

Gi ¼ L2 � l2 � PiB2i :

Resorting to the new variable ti ¼ tanðyi=2Þ; theresult is

qi ¼ 2 tan�1 �b2i

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffibi � 4aici

p

2ai

� ; (12)

where

ai ¼ Gi þ Mi;

bi ¼ �2Ni;

ci ¼ Gi � Mi:

Eq. (11) thus solved, a mathematical singularity canoccur when ai ¼ 0: It is possible to overcome thisproblem by introducing the following new variables:

tan Xi ¼Ni

Mi

; cos bi ¼Gi

Mi

: (13)

This leads to another expression of the inversekinematics:

qi ¼ tan�1 Ni

Mi

� cos�1

GiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiM2

i þ N2i

q0B@

1CA: (14)

Kinematics models have been used to determine theH4 workspace, depicted in Fig. 3 for y ¼ 0: To have agood Jacobian matrix condition number, workspaceshould be limited. Eventually, this workspace is limitedto a ð300� 300� 300Þmm3 centered cube: work will bedone within this workspace. More details can be foundin Pierrot et al. (2001) and Company, Marquet, andPierrot (2003).

ARTICLE IN PRESSA. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874866

The analytical forward geometric model of a parallelrobot is more difficult to compute. Up to now, thesimplest model is an eighth degree polynomial equation.The forward model is then computed successively usingthe classical recurrent formula:

xnþ1 ¼ xn þ Jðxn; qnÞ½q � qn�; (15)

where q is the convergence point and J is the robotJacobian matrix. If the mechanism is not in a singularconfiguration, this expression is derived as follows(Company & Pierrot, 1999; Pierrot et al., 2001):

J ¼ J�1x Jq; (16)

where

Jx ¼

A1B1xA1B1y

A1B1zðDC1 � A1B1Þz

A2B2xA2B2y

A2B2zðDC2 � A2B2Þz

A3B3xA3B3y

A3B3zðDC3 � A3B3Þz

A4B4xA4B4y

A4B4zðDC4 � A4B4Þz

26664

37775: (17)

Jq ¼ diagððPiBi � AiBiÞ � umiÞ; i ¼ 1; . . . ; 4: (18)

DC i is the distance between the center of the nacelle andthe center of the half-lengths of the ‘‘H’’ that forms thenacelle.

Table 1

Estimated parameters (SI units)

Physical parameters Estimated values %sxr

Imot1 0.0167 2.37

Imot2 0.0164 2.36

Imot3 0.0176 1.58

Imot4 0.0234 1.16

Mnac 0.9840 0.47

Inac 0.0029 3.73

2.2. Dynamic modeling

In a first approximation, the dynamic model iscomputed by considering the physical dynamics. Indeed,drive torques are mainly used to move the motor inertia,the forearms, arms and the nacelle that can be equippedwith a machining tool. Because of the design, theforearm inertia can be considered as a part of the motorinertia and the arm (manufactured in carbon materials)effects are neglected (Company & Pierrot, 1999; Pierrotet al., 2001).If Cmotð2 R4�4Þ is the actuator torque vector, the basic

equation of dynamics can be written as

Cmot ¼ Imot €q þ JTMð €x � GÞ; (19)

where Imot represents the motor’s inertia diagonalmatrix (Eq. (20)) including the forearm’s inertia, M ð2

R4�4Þ is a diagonal matrix (Eq. (21)) containing the massof the nacelle and its inertia (Mnac and Inac; respectively),J is the Jacobian matrix given in Eq. (16), €x is the vectorof cartesian accelerations, and G the gravity vector.Thanks to the design, the forearm’s inertia is taken intoaccount in the motor’s inertia,with

Imot ¼

Imot1 0 0 0

0 Imot2 0 0

0 0 Imot3 0

0 0 0 Imot4

26664

37775 (20)

M ¼

Mnac 0 0 0

0 Mnac 0 0

0 0 Mnac 0

0 0 0 Inac

26664

37775: (21)

The motor position q ¼ ½q1 q2 q3 q4�T are directly

measured, and the velocity _q and acceleration €q areobtained by a first-order differentiation. As the accel-eration measurement €x is not available, €x is computedwith

€x ¼ J €q þ _J _q; (22)

where J depends on x and q; and _J is computed using afirst-order differentiation.Then, the dynamic model can be written as

Cmot ¼ AðqÞ€q þ Hðq; _qÞ (23)

with

AðqÞ ¼ Imot þ JTMJ (24)

and

Hðq; _qÞ ¼ JTM _J _q � JTMG : (25)

2.3. Dynamic parameter estimation

The dynamic model can be linearly expressed withrespect to the dynamic parameters by (Vivas, Poignet,Marquet, Pierrot, & Gautier, 2003):

Y ¼ Wh; (26)

where Y is the measurement vector of joint torques, Wis the observation matrix and h is the parameters vectorto be estimated. The parameters vector is then estimatedusing weighted least-squares techniques (Vivas et al.,2003).Joint velocities and accelerations required in Eq. (23)

are estimated by a band-pass filtering of the position.The band-pass filtering is obtained by the product of alow-pass filter in both the forward and the reversedirection and a derivative filter obtained by a centraldifference algorithm, without phase shift. A parallelfiltering is implemented to reject the high-frequencyripples of the measured motor torques.Exciting trajectories, composed of concatenated mo-

tions leading to a good condition number of the

ARTICLE IN PRESSA. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874 867

observation matrix W ; are generated. The obtainedestimated values, given in Table 1, will be considered asthe nominal values for the feedback linearization (seeSection 4.2) during the experiments. The relativestandard deviation (%sxr) is also given. More detailsconcerning the identification procedure may be found in(Vivas et al., 2003; Poignet & Gautier, 2001; Canudas deWit et al., 1996).

3. Predictive functional control

This section is dedicated to briefly recall the mainsteps of the model PFC scheme used hereafter for theimplementation. This predictive technique has beendeveloped by Richalet and complete details of thecomputation may be found in Richalet (1993b); Richaletet al. (1997).

3.1. Internal modeling

The model used is a linear one given by

xM ðnÞ ¼ FMxMðn � 1Þ þ GMuðn � 1Þ;

yMðnÞ ¼ CTMxM ðnÞ; (27)

where xM is the state, u is the input, yM is the measuredmodel output, FM ; GM and CM are, respectively,matrices or vectors of the right dimension.If the system is unstable, the problem of robustness

caused by the controller’s cancellation of the poles isusually solved by a model decomposition (Richalet,1993b).

3.2. Reference trajectory

The predictive control strategy of the MPC issummarized in Fig. 4. Given the set point trajectoryover a receding horizon ½0;h�; the predicted process

CLTR

FuturePast

Set point

Process output

h

yP

yR

Fig. 4. Reference trajectory and predictive control strategy.

output yP will reach the future set point following areference trajectory yR:In Fig. 4, �ðnÞ ¼ cðnÞ � yPðnÞ is the position tracking

error at time n, c is the set point trajectory, yP is theprocess output, and CLTR is the closed-loop timeresponse.Over the receding horizon, the reference trajectory

yR; which is the path towards the future set point, isgiven by

cðn þ iÞ � yRðn þ iÞ ¼ aiðcðnÞ � yPðnÞÞ for 0piph;

(28)

where að0oao1Þ is a scalar which has to be chosen as afunction of the desired closed-loop response time.The predictive essence of the control strategy is

completely included in Eq. (28). Indeed, the aim is totrack the set point trajectory following the referencetrajectory. This trajectory may be considered as thedesired closed-loop behavior.

3.3. Performance index

The performance index may be a quadratic sum of theerrors between the predicted process output yP and thereference trajectory yR: It is defined as follows:

DðnÞ ¼Xnh

j¼1

yPðn þ hjÞ � yRðn þ hjÞ� �2

; (29)

where nh is the number of coincidence time point, hj arethe coincidence time points over the prediction horizon.The predicted output yP is usually defined as

yPðn þ iÞ ¼ yMðn þ iÞ þ eðn þ iÞ; 1piph; (30)

where yM is the model output, e is the predicted futureoutput error.It may be convenient to add a smoothing control term

in the performance index. The index becomes

DðnÞ ¼Xnh

j¼1

fyPðn þ hjÞ � yRðn þ hjÞg2

þ lfuðnÞ � uðn � 1Þg2; ð31Þ

where u is the control variable.

3.4. Control variable

The future control variable is assumed to becomposed of a priori known functions

uðn þ iÞ ¼XnB

k¼1

mkðnÞuBK ðiÞ; 0piph; (32)

where mk are the coefficients to be computed during theoptimization of the performance index, uBK are the basefunctions of the control sequence, nB is the number ofbase functions.

ARTICLE IN PRESS

q

q

Robot

Kv

Kp

qd

q d

+

+

+

+

-

-

+

IKM

x d

Ki ∫

.

.

Γ

Fig. 5. PID controller in the task space.

q w

A(q)

H(q,q)

Robot

q

q

.ˆ .

Fig. 6. Feedback linearized system.

A. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874868

The choice of the base functions depends on thenature of the set point and the process. Dynamicalfunctions will be used hereafter

uBK ðiÞ ¼ ik�1 8k: (33)

In fact, only the first term is effectively applied for thecontrol, that is

uðnÞ ¼XnB

k¼1

mkðnÞuBK ð0Þ: (34)

The model output is composed of two parts:

yMðn þ iÞ ¼ yUF ðn þ iÞ þ yF ðn þ iÞ; 1piph; (35)

where yUF is the free (unforced) output response ðu ¼ 0Þ;yF is the forced output response to the control variablegiven by Eq. (32).Given Eq. (27) and Eq. (32), it follows

yUF ðn þ iÞ ¼ CTMF i

MxM ðnÞ; 1piph;

yF ðn þ iÞ ¼XnB

k¼1

mkðnÞyBK ðiÞ; 0piph; (36)

where yBK is the model output response to uBK :Assuming that the predicted future output error isapproximated by a polynomial function, it follows

eðn þ iÞ ¼ eðnÞ þXde

m¼1

emðnÞim; for 1piph; (37)

where de is the degree of the polynomial approximationof the error, em are coefficients computed on-lineknowing the past and present output error.The minimization of the performance index without

smoothing control term, in the case of the polynomialbase functions, leads to the applied control variable:

uðnÞ ¼ kofcðnÞ � yPðnÞg

þXmaxðdc;deÞ

m¼1

kmfcmðnÞ � emðnÞg þ V TX xMðnÞ; ð38Þ

where dc is the degree of the polynomial approximationof the set point and the gains ko; km; V T

X are computedoff-line (see the Appendix).Therefore, the control variable is composed of three

terms: the first one is due to the tracking position error,the second one is placed especially for disturbancerejection and the last one corresponds to a modelcompensation.

4. Compared control strategies

Performance and robustness of PID, CTC and PFCcontrollers are compared on complex trajectories givenin the task space such as a circle or angular path. TheCTC and PFC controllers are based on non-linear

compensation and decoupling through the computationof the inverse dynamic model, described in Section 4.2(Vivas & Poignet, 2003). A stabilizing linear controller isthen applied (Figs. 7 and 8).

4.1. PID controller in the task space

The PID controller applied to H4 robot in the taskspace is shown in Fig. 5. Frequency analysis yieldedresonance frequency ðor ¼ 50 rad=sÞ: Using the tuningprocedure proposed in (Khalil & Dombre (2002)), thegain parameters of the controller have been adjusted toKp ¼ 500; Ki ¼ 5000; and Kd ¼ 6; which guarantees agood bandwidth and good tracking performance.

4.2. Feedback linearization

In order to compute the PFC control strategy(Poignet & Gautier, 2000) as well as for the design ofthe CTC controller, it is basically required to linearizethe non-linear dynamic model of the robot. Let usconsider the non-linear dynamic equations for an m-linkrobot expressed as follows:

C ¼ AðqÞ€q þ Hðq; _qÞ: (39)

It is well known that the rigid m-link robot equationsmay be linearized and decoupled by non-linear feedback(Khalil, 1996; Khalil & Dombre, 2002). Let A and H ;respectively, be the estimates of A and H : Assuming thatA ¼ A and H ¼ H ; the problem is reduced to that of thelinear control on n decoupled double-integrators:

€q ¼ w; (40)

ARTICLE IN PRESS

ˆ

w

q

Fig. 7. CTC control.

Γ

.

Fig. 8. PFC control.

-0.015 -0.01 -0.005 0 0.005 0.01 0.015-0.015

-0.01

-0.005

0

0.005

0.01

0.015

X axis (m)

Y a

xis

(m)

Set pointPIDCTCPFC

0 1 2 3 4 5 6 7 8 9x 10-3

5

6

7

8

9

10

11

12x 10-3

X axis (m)

Y a

xis

(m)

Set pointPIDCTCPFC

(a)

0 1000 2000 3000 4000 5000 60000

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5x 10-4

Time (ms)

Err

eur

de p

ours

uite

(m

)

PIDCTCPFC

(b)

Fig. 9. Experimental results for a circle (w ¼ 1 rad=s) (a) obtained andzoomed trajectories; (b) tracking errors.

A. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874 869

where w is the new input control vector. This equationcorresponds to the familiar inverse dynamics control schemewhere the direct dynamic model characterizing the robot istransformed into a double set of integrators (Fig. 6).Linear control techniques (Lewis, 1992; Khalil &

Dombre, 2002) can then be used to design a trackingcontroller such as the model-based predictive controlscheme described in Section 3 or a PID controller in caseof the CTC described in the next section.

4.3. Computed torque control

Assuming that the motion is completely specified withthe desired position qd ; velocity _qd and acceleration €qd ;the computed torque control (Canudas de Wit et al., 1996)computes the required input control vector as follows:

w ¼ Kpðqd � qÞ þ K vð_q

d � _qÞ þ €qd ; (41)

where Kp; K v are the controller gains.An integrator has been added to the classical

scheme to decrease the static error due to the errorsbetween the estimated inverse dynamic model and thereal one (Fig. 7). Then, Eq. (41) becomes

w ¼ Kpðqd � qÞ þ Kvð_q

d � _qÞ þ Ki

Zðqd � qÞdtþ €qd :

(42)

The tuning of the CTC controller (Khalil & Dombre,2002), leads to the gains Kp ¼ 5000; Kv ¼ 65 and Ki ¼

60000:

4.4. Predictive functional control

The non-linear compensation does not indeed supplya double set of integrators due to estimation uncertain-ties. Both the process and its non-linear compensation

ARTICLE IN PRESS

-0.015 -0.01 -0.005 0 0.005 0.01 0.015-0.015

-0.01

-0.005

0

0.005

0.01

0.015

X axis (m)

Y a

xis

(m)

Set pointPIDCTCPFC

1 2 3 4 5 6 7 8 9 10

x 10-3

5

6

7

8

9

10

11

12x 10-3

X axis (m)

Y a

xis

(m)

Set pointPIDCTCPFC

(a)

0 500 1000 1500 2000 2500 30000

2

4

6

8x 10-4

Time (ms)

Con

tour

err

or (

m)

PIDCTCPFC

(b)

Fig. 10. Experimental results for a circle (w ¼ 2 rad=s) (a) obtainedand zoomed trajectories; (b) tracking errors.

-0.015 -0.01 -0.005 0 0.005 0.01 0.015-0.015

-0.01

-0.005

0

0.005

0.01

0.015

X axis (m)

Y a

xis

(m)

Set pointPIDCTCPFC

1 2 3 4 5 6 7 8 9 10x 10-3

6

7

8

9

10

11

12

x 10-3

X axis (m)

Y a

xis

(m)

Set pointPIDCTCPFC

(a)

0 200 400 600 800 1000 1200 1400 16000

0.2

0.4

0.6

0.8

1

1.2x 10-3

Time (ms)

Con

tour

err

or (

m)

PIDCTCPFC

(b)

Fig. 11. Experimental results for a circle (w ¼ 4 rad=s) (a) obtainedand zoomed trajectories; (b) tracking errors.

A. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874870

are identified once again. The new linear model is thengiven by a second-order transfer function:

GðsÞ ¼2:7

s2 � 52:6s þ 54:7: (43)

The process and its non-linear compensation are firststabilized with an inner velocity closed loop with aproportional gain Kv (equal to 70). The PFC is thenimplemented with the second-order model given by Eq.(43) and its stabilizing gain Kv (Fig. 8).

ARTICLE IN PRESSA. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874 871

Three different base functions have been used: step,ramp and parabola. The closed-loop response time isfixed to 20�T sampling in order to ensure a trade-offbetween tracking performance and robustness. Threecoincidence time points on the receding horizon arechosen.

5. Experimental results

The control system is implemented on a single PC(Pentium II, 200MHz, 256Mb) running under WindowsNT and RTX (real time extension) is used as real timesoftware to ensure a control task periodicity of 1.5ms.Different situations are considered in this section to

illustrate the performance and robustness of eachcontroller. First, complex trajectories are tracked atdifferent velocities such as a circle and an angular path.Second, responses to external disturbances are shown.

0.047 0.0475 0.048 0.0485 0.049 0.0495 0.05 0.05050.046

0.047

0.048

0.049

0.05

0.051

0.052

0.053

0.054

Axe X (m)

Y a

xis

(m)

Set pointPIDCTCPFC

(a)

0 50 100 150 200 250 300 350 400 450 500-1

0

1

2

3

4

5

6

7

8x 10-4

Time (ms)

Con

tour

err

or (

m)

PIDCTCPFC

(b)

Fig. 12. Experimental results for an angular path ðv ¼ 0:012m=sÞ (a)obtained trajectories; (b) tracking errors.

5.1. Performance

The following paths, including inside the robotworkspace, will be tracked by the robot:(i) circular path with diameter d ¼ 20mm and angular

velocity o ¼ 1; 2 and 4 rad/s (that means a circleachieved in 6, 3, and 1.5 s, respectively).(ii) linear path with a change of direction of 55� and

linear velocity v ¼ 0:012m=s and 0.024m/s (trajectoriescovered in 6 and 3 s, respectively).Figs. 9–11 show the results for the circular path;

results for the angular path are shown in Figs. 12 and13. Table 2 points the average tracking errors.

5.2. Robustness

An external disturbance is introduced with a loadvariation of 4 kg on the nacelle, tested in regulationmode around a given steady state position. Figs. 14–16show the disturbance rejection and Figs. 17–19 show therequired torques in each case.

0.047 0.0475 0.048 0.0485 0.049 0.0495 0.05 0.05050.046

0.047

0.048

0.049

0.05

0.051

0.052

0.053

0.054

X axis (m)

Y a

xis

(m)

Set pointPIDCTCPFC

(a)

0 50 100 150 200 250 300 350 400 450 500

0

1

2

3

4

5

6

7

8

9

x 10-4

Time (ms)

Tra

ckin

g er

ror

(m)

PIDCTCPFC

(b)

Fig. 13. Experimental results for an angular path ðv ¼ 0:024m=sÞ (a)obtained trajectories; (b) tracking errors.

ARTICLE IN PRESS

Table 2

Average tracking errors

PID (m) CTC (m) PFC (m)

Circle ðw ¼ 1 rad=sÞ 7.6116e�5 1.1498e�4 8.2559e�5

Circle ðw ¼ 2 rad=sÞ 1.4882e�4 1.6047e�4 8.0214e�5

Circle ðw ¼ 4 rad=sÞ 2.7094e�4 2.8236e�4 1.7974e�4

Angle ðv ¼ 0:012m=sÞ 1.0743e�4 9.2060e�5 5.0723e�5

Angle ðv ¼ 0:024m=sÞ 8.2959e�5 8.9723e�5 5.8633e�5

0 100 200 300 400 500 600 700 800 900 1000-0.025

-0.02

-0.015

-0.01

-0.005

0

0.005

0.01

Time (ms)

Dis

turb

ance

rej

ectio

n (r

ad)

Fig. 14. Output disturbance rejection for the PID.

0 100 200 300 400 500 600 700 800 900 1000-0.025

-0.02

-0.015

-0.01

-0.005

0

0.005

0.01

Time (ms)

Dis

turb

ance

rej

ectio

n (r

ad)

Fig. 15. Output disturbance rejection for CTC.

0 100 200 300 400 500 600 700 800 900 1000-0.025

-0.02

-0.015

-0.01

-0.005

0

0.005

0.01

Time (ms)

Dis

turb

ance

rej

ectio

n (r

ad)

Fig. 16. Output disturbance rejection for PFC.

0 100 200 300 400 500 600 700 800 900 1000-6

-4

-2

0

2

4

6

Time (ms)

Con

trol

torq

ue (

N.m

)

Fig. 17. Torques for output disturbance in PID.

0 100 200 300 400 500 600 700 800 900 1000-6

-4

-2

0

2

4

6

Time (ms)

Con

trol

torq

ue (

N.m

)

Fig. 18. Torques for output disturbance in CTC.

A. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874872

In all cases, PFC controller yields the smallest contourerror, indicating good performance due to its anticipa-tion capacity. The plots in Figs. 10b, 11b, 12b, 13b,show a good response of the PFC controller when thespeed becomes higher. The tracking errors are signifi-cantly decreased (see also Table 2 giving the averagetracking error) and the time response are better.

ARTICLE IN PRESS

0 100 200 300 400 500 600 700 800 900 1000-6

-4

-2

0

2

4

6

Time (ms)

Con

trol

torq

ue (

N.m

)

Fig. 19. Torques for output disturbance in PFC.

A. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874 873

Figs. 14–16 show the disturbance rejection response.In this case, the PFC controller also shows a well-damped response as well as a faster one.

6. Conclusion

Advanced motion control of a parallel robot has beenconsidered in this study. Experimental tracking perfor-mance on complex trajectories and disturbance rejectionare compared for three types of controllers: a classicalPID strategy and two model-based controllers, that is,the CTC and the PFC. In the model-based strategies, theprocess is first linearized by feedback. Due to theestimation uncertainties an integrator has been added inthe CTC control scheme for reducing the static errors.In case of PFC control scheme, the identificationprocessing has been performed once again after linear-ization in order to improve the quality of model used inthe controller. The PFC controller is applied to thelinearized process with a stabilized inner velocity closedloop.Experimental tasks (circular path, linear path) that

are widely used in industrial pick-and-place applica-tions, have shown that predictive functional control hasthe best performance with respect to the two othercontrol strategies. Further works will concern theimplementation of additional sensors in order to directlycontrol the device in the operational space.

Acknowledgements

We acknowledge the financial support extended bythe University of Cauca, Popayan, Colombia.

Appendix

k0 ¼ vT

1� ah1

1� ah2

..

.

1� ahnh

0BBBBB@

1CCCCCA; km ¼ vT

hm1

hm2

..

.

hmnh

0BBBBBB@

1CCCCCCA;

vx ¼ �

CTM ðFh1

M � IÞ

CTM ðFh2

M � IÞ

..

.

CTM ðF

hnh

M � IÞ

26666664

37777775

T

v

and

v ¼ RTuBð0Þ;

where

R ¼Xnh

j¼1

yBðhjÞyBðhjÞT

( )�1

½yBðh1Þ yBðh2Þ � � � yBðhnhÞ�;

yB ¼ ðyB1yB2

� � � yBnBÞT;

uB ¼ ðuB1 uB2 � � � uBnBÞT:

References

Abdelghani-Idrissi, M. A., Arbaoui, M. A., Estel, L., & Richalet, J.

(2001). Predictive functional control of a counter-current heat

exchanger using convexity property. Chemical Engineering and

Processing, 40, 449–457.

Allgower, F., Badgwell, T.A., Qin, J.S., Rawlings, J.B., & Wright, S.

(1999). Non-linear predictive control and moving horizon estima-

tion—An introductory overview. European Control Conference,

vol. 99, Karlsruhe, Germany.

Canudas de Wit, C., Siciliano, B., & Bastin, G. (1996). Theory of robot

control. New York: Springer.

Clarke, D. W., Mothadi, C., & Tuffs, P. S. (1987). Generalized

predictive control. Part I: the basic algorithm. Part II: Extensions

and interpretations. Automatica, 23(2), 137–160.

Clavel, R. (1989). Une nouvelle structure de manipulateur parallele

pour la robotique legere. APII-JESA, 23(6), 501–519.

Company, O., Marquet, F., & Pierrot, F. (2003). A new high-speed

4-DOF parallel robot synthesis and modeling issues. IEEE

Transactions on Robotics and Automation, 19(3), 411–420.

Company, O., & Pierrot, F. (1999). A new 3T-1R parallel robot.

ICAR’99, Tokyo, Japan, (pp. 557–562).

Gough, V.E. (1956–1957). Contribution to discussion of papers on

research in automotive stability, control and tyre performance.

Proceedings of the Auto Divisional Institute of Mechanical

Engineers.

Khalil, H. K. (1996). Non linear systems (2nd ed.). New York: Prentice

Hall.

Khalil, W., & Dombre, E. (2002).Modeling identification and control of

robots. London: Hermes Penton Science.

Lewis, F. L. (1992). Applied optimal control & estimation. Englewood

Cliffs: Prentice-Hall.

ARTICLE IN PRESSA. Vivas, P. Poignet / Control Engineering Practice 13 (2005) 863–874874

Merlet, J. P. (1997). Les robots paralleles (2nd ed.). Paris: Editions

Hermes.

Pierrot, F., Dauchez, P., & Fournier, A. (1991). Fast parallel robots.

Journal of robotics systems, 8(6), 829–840.

Pierrot, F., Marquet, F., Company, O., & Gil, T. (2001). H4 parallel

robot: modeling, design and preliminary experiments. Proceedings

of the 2001 IEEE international conference on robotics & automation

Seoul, Korea, (pp. 3256–3261).

Pierrot, F., & Shibukawa, T. (1998). From hexa to hexaM. Proceedings

IPK’98: Internationales Parallelkinematik-Kolloquium Zurich, Swit-

zerland, (pp. 75–84).

Poignet, P., & Gautier, M. (2000). Nonlinear model predictive control

of a robot manipulator. Sixth international workshop on advanced

motion control Nagoya, Japan, (pp. 401–406).

Poignet, P., & Gautier, M. (2001). Extended kalman filtering and

weighted least squares dynamic identification of robots. Control

Engineering Practice, 9(12), 1361–1372.

Richalet, J. (1993a). Pratique de la commande predictive. Paris:

Editions Hermes.

Richalet, J. (1993b). Industrial applications of model-based predictive

control. Automatica, 29(5), 1251–1274.

Richalet, J., Abu, E., Arber, C., Kuntze, H.B., Jacubasch, A., & Schill,

W. (1997). Predictive functional control. Application to fast and

accurate robot. Tenth IFAC world congress, Munich, Germany.

Rossiter, J. A. (2002). Predictive functional control: more than one

way to prestabilise. 15th IFAC world congress. Barcelone, Spain.

Stewart, D. (1965). A platform with 6 degrees of freedom. Proceedings

of the Institution of Mechanical Engineers, vol. 180 (Part 1, 15),

(pp. 371–386).

Van den Boom, T. J. J., De Vries, R. A. J., Boumeester, S. B., &

Verbruggen, H. B. (1994). Constrained predictive control with

guaranteed stability and convex optimisation. Journal A, 35(3),

27–34.

Vivas, O.A., Poignet, P. (2003). Model based predictive control of a

fully parallel robot. Seventh international IFAC symposium on robot

control—SYROCO 2003 Wroclaw, Poland, (pp. 277–282).

Vivas, O.A., Poignet, P., Marquet, F., Pierrot, F., & Gautier, M.

(2003). Experimental dynamic identification of a fully parallel

robot. Proceedings of the 2003 IEEE international conference on

robotics & automation Taipei, Taiwan, (pp. 3278–3283).

Zheng, A. (1997). Stability of model predictive control with time-varying

weights. Computed Chemical Engineering, 21(12), 1389–1393.