30
MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo˜ ao P. Cerri * , Marco H. Terra * , Adriano A. G. Siqueira , Tatiana F. P. A. T. Pazelli * * Electrical Engineering Department - University of S˜ao Paulo at S˜ao Carlos Av. Trabalhador S˜aocarlense, 400 - S˜ao Carlos - SP, CEP 13566-590, Brazil. Mechanical Engineering Department - University of S˜ao Paulo at S˜ao Carlos Av. Trabalhador S˜aocarlense, 400 - S˜ao Carlos - SP, CEP 13566-590, Brazil. Emails: [email protected], [email protected], [email protected], [email protected] Abstract— This paper deals with the measurement-feedback control problem for linear discrete-time systems. The alternative approach we are proposing is based on the concept of penalty functions and weighted least squares. A recursive solution is presented in a simple and useful symmetric structure. Experiments on an actual robot manipulator were evaluated and showed the effectiveness of the proposed approach. Keywords— Discrete-time systems, measurement-feedback control, penalty functions, weighted least squares, robot manipulator. 1 Introduction Measurement-feedback control problems have been solved in the literature by several authors, see for instance (Hassibi et al., 1999), (Liu et al., 2005), (Wang and Zhang, 2008). The idea of us- ing only the measurements of the system to design static controllers is useful in technological appli- cations, can be economically attractive due to the eventual amount of sensors to be used, and re- mains as an interesting topic of research. Even after this great effort of the scientific community, some issues on convexity and numerical problems related to the necessary and sufficient conditions to deduce these class of controllers remain as open problems. Several approaches have been used to deduce these controllers. We can divide these strate- gies in two different categories: those based on Riccati equations (Kucera and de Souza, 1995), (Rosinova et al., 2003), and those based on linear matrix inequalities (Bara and Boutayeb, 2005), (Cao et al., 1998), (Crusius and Trofino, 1999). This paper deals with measurement-feedback control problem based on the separation princi- ple. In this approach, this problem is solved in two steps: the inaccessible states are estimated, and the optimal control is deduced from these es- timates. We are interested also in providing an alternative structure to the solution developed in (Hassibi et al., 1999) (Chapter 9). The alternative framework we are propos- ing is based on the concept of penalty func- tions (Bazaraa et al., 1993) and weighted least squares (Kailath et al., 2000), formulated in a uni- fied way. These concepts also follow the idea of quadratic minimization subject to equality con- straints. Following this way, we can avoid the technical problems aforementioned through recur- sive Riccati equations for discrete-time systems. Furthermore, the development of this new proce- dure to solve this classical control problem is moti- vated by the fact that we can obtain robust recur- sive control solutions for measurement-feedback control problem following the approach of (Cerri et al., 2009). To illustrate the effectiveness of the proposed scheme, experimental results obtained from an ac- tual robot manipulator are shown. Only the mea- surements of joints position are available to the controller. Sensors of velocity and acceleration are not used in this application. This paper is organized as follows. In Section 2 we present the problem formulation. In Section 3 we provide some preliminary results. In Sec- tion 4 we propose a new approach to solve the measurement-feedback control problem for linear discrete-time systems. In Section 5 we apply the control strategy proposed in an actual robot ma- nipulator. The notation is standard: R is the set of real numbers, R n is the set of n-dimensional vectors whose elements are in R, R m×n is the set of m × n real matrices, A T is the transpose of the matrix A, P ´ 0(P 0) denotes a positive definite (semidefinite) matrix, kxk is the Euclidean norm of x, kxk P with P ´ 0 is the weighted norm of x defined by (x T Px) 1 2 . 2 Problem Formulation 2.1 Measurement-Feedback Control Consider the following finite-horizon time-variant state-space model xi+1 = Fi xi + Gw,i wi + Gu,i ui y i = H i x i + v i si = Ci xi , (1) for each i =0, ..., N, where F i R n×n , G w,i R n×k , G u,i R n×m , H i R r×n , and C i R p×n are known matrices. Also, x i R n is the state

fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACESYSTEMS

Joao P. Cerri∗, Marco H. Terra∗, Adriano A. G. Siqueira†, Tatiana F. P. A. T. Pazelli∗

∗Electrical Engineering Department - University of Sao Paulo at Sao CarlosAv. Trabalhador Saocarlense, 400 - Sao Carlos - SP, CEP 13566-590, Brazil.†Mechanical Engineering Department - University of Sao Paulo at Sao CarlosAv. Trabalhador Saocarlense, 400 - Sao Carlos - SP, CEP 13566-590, Brazil.

Emails: [email protected], [email protected], [email protected], [email protected]

Abstract— This paper deals with the measurement-feedback control problem for linear discrete-time systems.The alternative approach we are proposing is based on the concept of penalty functions and weighted leastsquares. A recursive solution is presented in a simple and useful symmetric structure. Experiments on an actualrobot manipulator were evaluated and showed the effectiveness of the proposed approach.

Keywords— Discrete-time systems, measurement-feedback control, penalty functions, weighted least squares,robot manipulator.

1 Introduction

Measurement-feedback control problems havebeen solved in the literature by several authors,see for instance (Hassibi et al., 1999), (Liu et al.,2005), (Wang and Zhang, 2008). The idea of us-ing only the measurements of the system to designstatic controllers is useful in technological appli-cations, can be economically attractive due to theeventual amount of sensors to be used, and re-mains as an interesting topic of research. Evenafter this great effort of the scientific community,some issues on convexity and numerical problemsrelated to the necessary and sufficient conditionsto deduce these class of controllers remain as openproblems.

Several approaches have been used to deducethese controllers. We can divide these strate-gies in two different categories: those based onRiccati equations (Kucera and de Souza, 1995),(Rosinova et al., 2003), and those based on linearmatrix inequalities (Bara and Boutayeb, 2005),(Cao et al., 1998), (Crusius and Trofino, 1999).

This paper deals with measurement-feedbackcontrol problem based on the separation princi-ple. In this approach, this problem is solved intwo steps: the inaccessible states are estimated,and the optimal control is deduced from these es-timates. We are interested also in providing analternative structure to the solution developed in(Hassibi et al., 1999) (Chapter 9).

The alternative framework we are propos-ing is based on the concept of penalty func-tions (Bazaraa et al., 1993) and weighted leastsquares (Kailath et al., 2000), formulated in a uni-fied way. These concepts also follow the idea ofquadratic minimization subject to equality con-straints. Following this way, we can avoid thetechnical problems aforementioned through recur-sive Riccati equations for discrete-time systems.Furthermore, the development of this new proce-

dure to solve this classical control problem is moti-vated by the fact that we can obtain robust recur-sive control solutions for measurement-feedbackcontrol problem following the approach of (Cerriet al., 2009).

To illustrate the effectiveness of the proposedscheme, experimental results obtained from an ac-tual robot manipulator are shown. Only the mea-surements of joints position are available to thecontroller. Sensors of velocity and acceleration arenot used in this application.

This paper is organized as follows. In Section2 we present the problem formulation. In Section3 we provide some preliminary results. In Sec-tion 4 we propose a new approach to solve themeasurement-feedback control problem for lineardiscrete-time systems. In Section 5 we apply thecontrol strategy proposed in an actual robot ma-nipulator.

The notation is standard: R is the set of realnumbers, Rn is the set of n-dimensional vectorswhose elements are in R, Rm×n is the set of m×nreal matrices, AT is the transpose of the matrixA, P Â 0 (P º 0) denotes a positive definite(semidefinite) matrix, ‖x‖ is the Euclidean normof x, ‖x‖P with P Â 0 is the weighted norm of x

defined by (xT Px)12 .

2 Problem Formulation

2.1 Measurement-Feedback Control

Consider the following finite-horizon time-variantstate-space model

xi+1 = Fixi + Gw,iwi + Gu,iui

yi = Hixi + vi

si = Cixi,(1)

for each i = 0, ..., N, where Fi ∈ Rn×n, Gw,i ∈Rn×k, Gu,i ∈ Rn×m, Hi ∈ Rr×n, and Ci ∈ Rp×n

are known matrices. Also, xi ∈ Rn is the state

Page 2: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

vector, ui ∈ Rm is the control input, wi ∈ Rk isthe exogenous input, yi ∈ Rr is an additional mea-surement signal available to the controller, vi ∈ Rr

is a measurement noise, and si ∈ Rp is the trajec-tory that we intend to regulate.

We shall also assume that the initial conditionx0 and the disturbances wiN

i=0 and viNi=0 are

zero-mean random variables with variances*24

x0

wi

vi

35 ,

24

x0

wj

vj

35+

=

24

Π0 0 0

0 Qfi δij 0

0 0 Rfi δij

35 , (2)

where δij = 0 if i 6= j and δij = 1 if i = j.Given the linear combination of the states

si = Cixi, we intend to regulate si using thecontrol signal ui that minimizes the classicalquadratic performance index

Jc = xTN+1P

cN+1xN+1 +

NXj=0

Mcj(sj , uj), (3)

with the auxiliary expression Mcj(sj , uj) given by

Mcj(sj , uj) := uT

j Rcjuj + sT

j Qcjsj ; sj = Cjxj , (4)

where P cN+1, Rc

j and Qcj are positive definite ma-

trices that penalize the final state, the inputs, andthe intermediary states, respectively.

The problem we solve in this paper is to findan optimal control sequence u∗i N

i=0, where eachui is obtained as linear combination of y0, ..., yi,that minimizes the expected cost (3)-(4), i.e.,

minui

˘Ex0,w0,...,wN Jc¯ , (5)

where ui := fi(y0, ..., yi).

3 Preliminaries

In this section, we present the quadratic opti-mal control and the generalized optimal recur-sive filtering deduced from an alternative ap-proach based on concepts of penalty functions andweighted least squares.

3.1 Penalty Functions

Based on (Bazaraa et al., 1993), penalty functionstransform constrained in unconstrained minimiza-tion problems. The constraints are placed intothe objective function via a penalty parameter insuch a way that penalizes any violation of the con-straints. Consider the following constrained min-imization problem

minxf(x)s.t. h(x) = 0

, (6)

with optimal solution xo. Suppose that this prob-lem is replaced by,

minxf(x) + µ−1h(x)T h(x), (7)

where µ is a positive real number. For each µ > 0,let x(µ) be the optimal solution to the problem(7). Then,

xo = limµ→0

x(µ). (8)

The term µ−1h(x)T h(x) is referred as penaltyfunction.

3.2 Quadratic Optimal Control

This subsection presents first an alternative pro-cedure to solve the classical optimal LinearQuadratic Regulator (LQR). After that, thesame approach will be used to solve the LinearQuadratic Gaussian (LQG) problem.

3.2.1 LQR - Alternative Approach

The minimization problem we solve in the fol-lowing provides an optimal control sequence(x∗i+1, u

∗i )N

i=0 which is a solution for

minxi+1,uiJ,s.t. xi+1 = Fixi + Giui, i = 0, ..., N,

(9)

where J is the standard quadratic performanceindex (cost function) for a finite time process (0 ≤j ≤ N + 1) given by

J = xTN+1PN+1xN+1 +

NXj=0

(xTj Qjxj + uT

j Rjuj),

(10)

where PN+1  0, Qj  0 and Rj  0.Based on (Cerri et al., 2008), we can redefine

the minimization problem (9) for the following al-ternative minimization problem for each step i

minxi+1,ui

»xi+1

ui

–T »Pi+1 0

0 Ri

– »xi+1

ui

–+ (11)

+

„»0 0I −Gi

– »xi+1

ui

–−»−I

Fi

–xi

«T »Qi 00 Ξ−1

–„•«ff

,

where the constraints are incorporated in thequadratic form, through of weighting matrix Ξ =µI. It is important to emphasize that the mini-mization problem is formulated in terms of ui andxi+1 whose solution is given by the next theorem.

Theorem 3.1 (Cerri et al., 2008) Define the fol-lowing minimization problem

minxi+1; uixTN+1PN+1xN+1 +

PNj=0 Mj(xj , uj)

s.t. xi+1 = Fixi + Giui; i = 0, ..., N,(12)

where Mj(xj , uj) = xTj Qjxj + uT

j Rjuj with theweighting matrices satisfying the conditions Qj Â0, Rj  0 and PN+1  0. Then, the optimal re-cursive solution is:

»x∗i+1

u∗i

–=

»Li

Ki

–xi, i = 0, ..., N, (13)

where24

Li

Ki

Pi

35 =

24

0 0 0 0 I 00 0 0 0 0 I0 0 −I F T

i 0 0

35×

Page 3: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

26666664

P−1i+1 0 0 0 I 00 R−1

i 0 0 0 I0 0 Q−1

i 0 0 00 0 0 0 I −Gi

I 0 0 I 0 00 I 0 −GT

i 0 0

37777775

−1 26666664

00−IFi

00

37777775

.

(14)

The optimal total cost is given by J∗ = xT0 P0x0.

¦

More details on this formulation can be seenin (Cerri et al., 2008). Although this result canbe rewritten, after some algebra, as the standardRiccati equations we can find in the literature, thisnew structure will give us the opportunity to solvethe recursive robust output feedback control prob-lem following the line of (Cerri et al., 2009).

3.2.2 LQG - Alternative Approach

Consider now the finite-horizon time-variantstate-space model

xi+1 = Fixi + Gw,iwi + Gu,iui

si = Cixi,(15)

for each i = 0, ..., N, where Fi ∈ Rn×n, Gw,i ∈Rn×k, Gu,i ∈ Rn×m, and Ci ∈ Rp×n are knownmatrices. Also, xi ∈ Rn is the state vector, ui ∈Rm is the control input, wi ∈ Rk is the exogenousinput, and si ∈ Rp is the trajectory that we intendto regulate.

We assume that x0 and wiNi=0 are zero-mean

random variables with variances given byfi»

x0

wi

–,

»x0

wj

–fl=

»Π0 0

0 Qfi δij

–, (16)

where δij = 0 if i 6= j and δij = 1 if i = j.As in Section 2, given the linear combination

of the states si = Cixi, we intend to regulatesi using the control signal ui that minimizes thequadratic cost function (3)-(4).

In this problem, according to (Hassibi et al.,1999) (Chapter 9), it is assumed that each con-trol input ui has access to the initial state x0 andnoise inputs wji

j=0. With these considerationsin mind, our goal is to find an optimal sequencecontrol u∗i N

i=0, subject to (15), that minimizes

Ex0,w0,...,wN Jc , (17)

i.e., the average value of Jc.The solution to this problem is well known

in the literature, see for instance (Hassibi et al.,1999) and (Meditch, 1969). The alternative so-lution we are proposing in the following, whichis based on the approach given in Theorem 3.1,is useful to solve this class of problem when thesystem is subject to uncertainties.

Theorem 3.2 Consider the state-space model(15) with the stochastic variables satisfying (16).

The solution to the problem (17) is given by thefollowing control law:

u∗i = Kci xi + Kc

i wi, i = 0, ..., N, (18)

with24

Lci Lc

iKc

i Kci

P ci 4

35 =

24

0 0 0 0 I 00 0 0 0 0 I

0 0 −I F Ti 0 0

35×

266666664

P c−1i+1 0 0 0 I 0

0 Rc−1i 0 0 0 I

0 0 Qc−1i 0 0 0

0 0 0 0 I −Gu,i

I 0 0 I 0 0

0 I 0 −GTu,i 0 0

377777775

−12666664

0 00 0−I 0Fi Gw,i

0 00 0

3777775

,

(19)

where Qci := CT

i QciCi and 4 denotes irrelevant

entries. Moreover,

Jcopt = ExT

0 P c0 x0 +

NXi=0

αi, (20)

with αi := EwTi (Lc

iTP c

i+1Lci + Kc

iTRc

i Kci )wi.

Proof: Based on the arguments set in (Cerriet al., 2008). ¦

3.3 Optimal Filtered Estimates

Based on (Bianco et al., 2008), the optimal filter-ing problem in the filtered form is to find xi+1|i+1,such that

`bxi|i+1, bxi+1|i+1

´:=

arg minxi,xi+1

(‖xi − bxi|i‖2

Pf−1i|i

+

‚‚‚‚»

wi

vi+1

–‚‚‚‚2

Ω−1i

)

(21)subject to

xi+1 = Fixi + Gw,iwi

yi+1 = Hi+1xi+1 + vi+1. (22)

The minimization problem (21)-(22) is equiv-alent to`bxi|i+1, bxi+1|i+1

´:= arg min

xi,xi+18><>:

24

xi − bxi|iηi

xi+1

35

T264»P f

i|i 0

0 Ωi

–−1

0

0 0

37524

xi − bxi|iηi

xi+1

35+

0@»Fi Gi −I0 Ki Hi+1

–24

xi − bxi|iηi

xi+1

35−

»−Fibxi|iyi+1

–1A

T

Ξ−1

„»•–«ff

(23)

where

ηi :=

»wi

vi+1

–, Ωi :=

»Qf

i 0

0 Rfi+1

–,

Gi :=ˆGw,i 0

˜, Ki :=

ˆ0 I

˜,

and the constraints are incorporated in thequadratic form, through of weighting matrix Ξ =µI.

Page 4: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

Theorem 3.3 (Bianco et al., 2008) The succes-sive optimal estimates xi+1|i+1 resulting from thesolution of the data fitting problem (23) can be al-ternatively obtained from the following recursion

hbxi+1|i+1 P f

i+1|i+1

i=

2664

000I

3775

T 2664

Pi 0 I 00 0 Ai Hi

I ATi 0 0

0 HTi 0 0

3775

−1 2664

Xi|i 0Yi+1 0

0 00 −I

3775 (24)

with x0|0 = x0 and Ai, Hi, Pi, Yi+1, Xi|i givenby

Ai :=

»Fi Gw,i 00 0 I

–, Hi :=

» −IHi+1

–, Xi|i =

24

xi|i00

35 ,

Pi :=

264

P fi|i 0 0

0 Qfi 0

0 0 Rfi+1

375 , Yi+1 :=

»0

yi+1

–,

(25)

provided that the following assumptions hold

1.[A H]

has full row rank for all i;

2. H has full column rank for all i, and it isgiven a sequence y0, y1, ..., yi+1.

¦

4 Recursive Measurement-FeedbackControl

An interesting aspect of the measurement-feedback control problem is that it can be solvedthrough the separation principle. This principlestates that we can solve the LQG control problem,assuming that the states of the system are esti-mated properly through the observations sequenceyji

j=0. This classical argument can be seen indetails in the seminal works (Potter, 1964) and(Wonham, 1968). The next theorem shows the re-cursive solution of the measurement-feedback con-trol problem proposed in Section 2.

Theorem 4.1 Consider the finite-horizon time-variant state-space model (1). Suppose that thecontrol input ui is allowed to be a causal lin-ear function of observations of yi, i.e., ui :=fi(y0, ..., yi). Then, the solution to the minimiza-tion problem (5) subject to (1) is given by the fol-lowing control law

u∗i = Kci xi|i, i = 0, ..., N, (27)

with24

Lci

Kci

P ci

35 =

24

0 0 0 0 I 00 0 0 0 0 I0 0 −I F T

i 0 0

35×

266666664

P c−1

i+1 0 0 0 I 0

0 Rc−1

i 0 0 0 I

0 0 Qc−1

i 0 0 00 0 0 0 I −Gu,i

I 0 0 I 0 00 I 0 −GT

u,i 0 0

377777775

−126666664

00−IFi

00

37777775

,

(28)

where Qci := CT

i QciCi and the successive optimal

estimates xk|kNk=1 are given by (26).

Proof: The proof follows the arguments afore-mentioned and it will be omitted. ¦

5 Application

For validation purposes, the recursivemeasurement-feedback controller developedis applied to a planar robot manipulator, seeFig. 1. This 3-link manipulator is composedby a DC motor in each joint, a break and anoptical encoder with quadrature decoding used tomeasure joint positions. The dynamic equations

Figure 1: Robot Manipulator

for this robot can be found by the Lagrangetheory as

M(q)q + C(q, q)q + F q = τ (29)

where q ∈ Rn is the joint position vector, M(q) ∈Rn×n is the symmetric positive definite inertiamatrix, C(q, q) ∈ Rn×n is the Coriolis and cen-tripetal matrix, F ∈ Rn is the diagonal matrix offrictional torque coefficients, and τ ∈ Rn is theapplied torque vector. Parametric uncertaintiescan be introduced dividing the parameter matri-ces M(q), C(q, q) and F into a nominal and aperturbed part

M(q) = M0(q) + ∆M(q)

C(q, q) = C0(q, q) + ∆C(q, q)

F = F0 + ∆F

where M0(q), C0(q, q) and F0 are the nominal ma-trices, and ∆M(q), ∆C(q, q) and ∆F are the para-metric uncertainties. After these considerations(29) becomes

M0(q)q + C0(q, q)q + F0q = τ + w(q, q, q) (30)

with

w(q, q, q) = −(∆M(q)q + ∆C(q, q)q + ∆F q).

The manipulator’s kinematic and dynamicnominal parameters, used to calculate the matri-ces M(q), C(q, q), and F are shown in Table 1.

Page 5: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

"bxT

i+1|i+1

P fi+1|i+1

#T

:=

266666666664

00000000I

377777777775

T266666666666664

P fi|i 0 0 0 0 I 0 0 0

0 Qfi 0 0 0 0 I 0 0

0 0 Rfi+1 0 0 0 0 I 0

0 0 0 0 0 Fi Gw,i 0 −I0 0 0 0 0 0 0 I Hi+1

I 0 0 F Ti 0 0 0 0 0

0 I 0 GTw,i 0 0 0 0 0

0 0 I 0 I 0 0 0 0

0 0 0 −I HTi+1 0 0 0 0

377777777777775

−1 266666666664

bxi|i 00 00 00 0

yi+1 00 00 00 00 −I

377777777775

+ˆGu,iui 0

˜(26)

Table 1: Robot parametersi mi Ii Li lci fi

(kg) (kgm2) (m) (m) (kgm2/s)

1 0.850 0.0075 0.203 0.096 0.15

2 0.850 0.0075 0.203 0.096 0.10

3 0.625 0.0060 0.203 0.077 0.05

Let the state be defined as

x =

»qq

–(31)

where q and q are the positions and the velocitiesof the manipulator joints, respectively. The statedynamic equation can be found using (29) and(31)

x = A(q, q)x + B(q)w + B(q)u (32)

where

A(q, q) =

» −M−10 (q) (C0(q, q) + F0) 0

In 0

B(q) =

»M−1

0 (q)0

u = τ.

Thus, from (32), the applied torque is givenby τ = u. A preliminary PD controller can beintroduced in the form τ = [KD KP ]x + u (whereu is the control input), in order to pre-compensatemodel imprecisions.

The linearization of (32), around an operationpoint with position qi and velocity qi, provides alinear system given by

x = Ax + Bw + Bu,s = C1x + D1u,y = C2x

(33)

with

A =

"−M−1

0 (q)h

∂∂q (b0(q, q))−KD

i

In

− ∂∂q

“M−1

0 (q)b0(q, q)”

+ M−10 (q)KP

0n

#˛˛˛(qi,qi)

,

B = B, C1 = I2n, D1 = 0, C2 =ˆ

0 In

˜,

where s are the controlled variables of the system(joint positions and velocities), y are the measuredoutput variables (joint positions) and b0(q, q) =C0(q, q)q + F0q.

A discrete system is obtained from (33) byapplying a sample rate to define each step of the

experimental procedure,

xi+1 = Aixi + Biwi + Biui,si = C1ixi,yi = C2ixi

(34)

where we can identify from (1)

Fi = Ai Gw,i = Bi Gu,i = Bi

Hi = C2i Ci = C1i

and vi is the noise already inserted in yi valuesby the measurement procedure provided by theencoders. The state vector, composed also by jointvelocities values, is estimated by (26) using theobservations sequence yji

j=0.A trajectory tracking task is defined for the

manipulator joints, characterized by initial condi-tions qd(0) = [ 0o 0o 0o ]T and desired final posi-tion qd(tf ) = [ −20o 30o −30o ]T , with tf = 4s .The reference trajectory, qd, is a fifth degree poly-nomial. The selected weighting matrices are KD =24

0.6 0 00 0.45 00 0 0.36

35 , KP =

24

0.04 0 00 0.024 00 0 0.016

35 ,

Rc = I3 , Qc = 103I6 , P c0 = I6 , Rf = I3 , Qf =2

410000 0 0

0 1 00 0 1

35 and P f

0 = I6 .

The experimental application produced thefollowing results. Figure 2 presents the joints tra-jectory tracking, Figure 3 presents the behavior ofjoints velocities and Figure 4 presents the appliedtorques.

0 0.5 1 1.5 2 2.5 3−30

−20

−10

0

10

20

30

time (s)

Join

t pos

ition

(º)

Joint 1Joint 2Joint 3Reference

Figure 2: Joints positions

6 Conclusion

In this paper we proposed an alternative approachto solve the classical finite-horizon measurement-feedback control problem for discrete-time sys-

Page 6: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

0 0.5 1 1.5 2 2.5 3−20

−15

−10

−5

0

5

10

15

20

time (s)

Join

t vel

ocity

(º/

s)

Joint 1Joint 2Joint 3Reference

Figure 3: Joints velocities

0 0.5 1 1.5 2 2.5 3−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

0.02

0.03

time (s)

Tor

que

(N.m

)

Joint 1Joint 2Joint 3

Figure 4: Applied torques

tems. A recursive solution was presented in al-ternative frameworks which solve the control andfiltering problems proposed in Section 3. We areinterested in this new formulation mainly to solvethe robust version of this problem, which willbe done in a future work. Experimental resultsshowed the effectiveness of this alternative controlprocedure.

Acknowledgments

This work was supported by CAPES - Coorde-nacao de Aperfeicoamento de Pessoal de NıvelSuperior and FAPESP - Fundacao de Amparo aPesquisa do Estado de Sao Paulo.

References

Bara, G. I. and Boutayeb, M. (2005). Staticoutput feedback stabilization with H∞ per-formance for linear discrete-time systems,IEEE Transactions on Automatic Control50(5): 250–254.

Bazaraa, M. S., Sherali, H. D. and Shetty, C. M.(1993). Nonlinear Programming: Theoryand Algorithms, 2nd edn, Wiley-Interscience,New York.

Bianco, A. F., Ishihara, J. Y. and Terra, M. H.(2008). Optimal recursive linear filtering forgeneral discrete time singular systems, Pro-ceedings of the 16th Mediterranean Confer-ence on Control and Automation, CongressCentre, Ajaccio, Corsica, France .

Cao, Y. Y., Lam, J. and Sun, Y. X. (1998). Staticoutput feedback stabilization: An LMI ap-proach, Automatica 34(12): 1641–1645.

Cerri, J. P., Terra, M. H. and Ishihara, J. Y.(2008). Nova abordagem para sistemas decontrole otimo linear, Anais do XVII Con-gresso Brasileiro de Automatica, Juiz deFora, Brasil .

Cerri, J. P., Terra, M. H. and Ishihara, J. Y.(2009). Recursive robust regulator fordiscrete-time state-space systems, Proceed-ings of the 2009 American Control Confer-ence, St. Louis, Missouri, USA .

Crusius, C. A. R. and Trofino, A. (1999). Suf-ficient LMI conditions for output feedbackcontrol problems, IEEE Transactions on Au-tomatic Control 44(5): 1053–1057.

Hassibi, B., Sayed, A. H. and Kailath, T. (1999).Indefinite-Quadratic Estimation and Control- A Unified Approach to H2 and H∞ Theo-ries, SIAM - Studies in Applied and Numer-ical Mathematics, Philadelphia.

Kailath, T., Sayed, A. H. and Hassibi, B. (2000).Linear Estimation, Prentice-Hall, Inc., NewJersey.

Kucera, V. and de Souza, C. E. (1995). A neces-sary and sufficient condition for output feed-back stabilizability, Automatica 31(9): 1357–1359.

Liu, M., Zhang, H. and Duan, G. (2005). H∞ mea-surement feedback control for time delay sys-tems via Krein Space, Proceedings of the 2005American Control Conference - ACC2005,Portland, OR, USA pp. 4010–4015.

Meditch, J. S. (1969). Stochastic Optimal LinearEstimation and Control, McGraw-Hill BookCompany, New York.

Potter, J. E. (1964). A guidance-navigation sep-aration theorem, Rep. Re-11, ExperimentalAstronomy Laboratory, Massachusetts Insti-tute of Technology, Cambridge .

Rosinova, D., Vesely, V. and Kucera, V.(2003). A necessary and sufficient condi-tion for static output feedback stabilizabilityof linear discrete-time systems, Kybernetika39(4): 447–459.

Wang, H. and Zhang, H. (2008). H∞measurement-feedback control for systemswith input and measurement delays, ActaAutomatica Sinica 34(11): 1417–1423.

Wonham, W. M. (1968). On the separation the-orem of stochastic control, SIAM Journal onControl 6(2): 312–326.

Page 7: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

!"#$%&' # ()*+, -%.(/0 ,12%(*",+,3 /, $%&, "# 4&($$56789:8;6<:=>6?<@6<A89B8?CD6:9BE8F<BG69HB>8>6?H:8>I8C>6J=<>9B<8J=<>9B<8KLMKN98HBC-O8EIC>8>6>6?<@6<A89B8P6EQ8<BE8F<BG69HB>8>6?H:8>I8C>6R8;7B<8HR8;7B<8HKSLKN98HBC256789:8;6<:=>6RBQ6<EB8>8R=;7I:8TEU8=FV?SLWN8I9IN8I9IKSLKN98HBCXYZ[\] _abcdefg_hiejeaklecafmdhgbcnldohiejmelka_cfmnhgbkohiej_ileiaklfg_hiejdlbpc_cfg_hieqrstuvwtx yz|~||z~~|~~~~~|~~~~||~~~|||~~~~|z~~~|~~|yz||| z||~|~z~~z|||z|z~~~~|z~z|~~z~~|~~z~~~~||~|~z|~~~z|~~|z~z|~~~~~~zz|||~~||~|~z|yz|~|| |~~|~~~|~~~||~~||~|yz|~~||~~z~~~~~z~~z~~z|||z~z|~|z||~|z||||~~~z||z~|zz||||~~~~~~z||||z~~z|zz~~z~||zz|~~z~~~~~~~~~|yz~||z~|zz~z~~~|~~~|~|z|||~u sx ¡~¢~~£||¤¥~~£||¢~¥~~z¦z£||¢¥~~§~~¨s©ªx ¤|z~|~~|«¬~|«¬~~~~«¬~||||¬~~~~­~|®~|||~|||~«¬~|¤|||~~~|~~~®~~||||~|~«¬~||«¬~|~«¬~|®|­|~~~~~«¬~~~~|~~|~|~||§||~®~~|~~~|||®|«¬~~~~®~~®z|||~~||~||~|~|z~®|¦|||~~®~~|~ ®~~~®~®~~|~®~­~®~~®||~|~|¦®~~~®~~z~|~~~­~®~||~|®~||®~|®~|~~||®||~~­~®~y~~|~||~|®~|­~|~z~||«¬~~|~||~|~~|®~||~®~~®||~|~|~«~~~||~|~~|~|~~«¬~~|||||®~|§«¬~~~~~~||~|~~®®~~~~~~|«¬~~|~~~~~~~~­~|®~|«¬~||~~|~~~|~­~|®~|¬~z~~­~~||||¬~u sx £||¢~®~~|¡®~|£||¥~~¤~¥~~¢~®£||§~~¥~~¢®° ±²³µ¶·¹YZºZ]»¼[½¾[»Z[]Y¿À[ÁZ¾ÿÄ]ºÄ]ÀÄÀ¼ZÅZ\Æ¿ÇÄ»¼¿»[¾[Z¼ÈYZYÅ[ĽÀÄÁ[¼ÀÈZ\ÉÈÄÊZ¾[\[ÀÄ¿ºÄË]ĽÁ¿\Á[YĽÀ¿ºÄ»¼¿ÀÇ¿À[»¿]ºÄ][]ÀÄYZ]ÄYÅZ¼¾Z˺¿]ÌĽÊZÀ[ÍZ½º¿Z[Y»\ÄYĽÀZ¾ÃZ¿ºÄÊļ¼ZYĽÀZ]ÉÈĻļY[ÀZYZ][YÈ\Z¾ÃZ¿ºZ]¾¿½º[¾ÿÄ]¾[½ÄYÇZÀ[Ë ¾Z]̺[½ÎZY[¾Z]ĺľ¿½À¼¿\Ä̾¿Y Y¿½[À¿¼Z¾ÃZ¿ÄY ÀÄY»¿¼ÄZ\ºÄÀ¿º¿]»¿½À¿][Y»¿¼ÀZ½ÀÄ]º¿][]ÀÄYZÏÐÄ]ÀZY¿½ÀZÌZ»¼¿»¿]ÀZºÄÈY][YÈË\Zº¿¼Á[¼ÀÈZ\ºÄ][]ÀÄYZ]¼¿ÅÇ¿À[¾¿]YÇ¿ÁÄ[]ÇÄZ»¼ÄË]ĽÀZºZÑȽÀZYĽÀľ¿YÀÇľ½[¾Z]ºÄ»¼¿À¿À[»ZÒÄY¼ÇZ»[ºZÏÓÔZÒ½¿ÀÀÄ\\[Z½ºÕZ\[Ò[ÌÖ××ØÙÚÀļY¿»¼¿À¿À[»ZÒÄY¼ÇZ»[ºZ̽Z]ÈZÁļ]ÃZ¿

Page 8: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

!"# # #!"$ %&'()*+*(&,,-+&*,.+/(0+&1)/2,3+435*&36++7-,&4,.,899 #:!";<#!" = # >?@ ABCDEFBGHDIJKEBJBLCDMNODPHPFDQHRDQB : ST8 8!"""U6343/(0+&1)/V3&)3WX #< YRIQBEBGZ#S!"[\]QDKFINDE_GBQLCBQaDNB Z9:#9bc9#U63430&)54)0,6.+d+&+54),7+5*3WX# 9 :!";<efggh]!"# Y#!"RIQBEBGG:#"Z#S!" #:#"S9]XXXTijf STk]!"9U6343.+7+7V3&),,(l)6),&W:#!" #<:!"U6343.+mnW< !"RIQBEBGG YoSX: #:# 8 YZ#S:!" #8Y!"h##"#U6343.+)5*+&p,4+.+/+5/3&+/W] 9= <bS<[:!" #8"= :U6343.+)5*+&p,4+.+,*(,.3&+/W

Page 9: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

!" # $ %&'()&)*+,-./,01023&4(,105635+4,( "7# " 8 9 " :# "7;<# " "= ":##" "=; #":# " " #" " >?:"@ A B B: B: C8 #B A :#DEF GHIHJKLMHILNOMPQRSIRJNMOT # :#: T B"# T " : :#T "U## # 9 "U; "V"# : T # # : #!"" "A " C A"# :# "W;X # "W :#

Page 10: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

!"#$%&"''()" %*'+, -*'+.%''/01 234567489:;:<4=>98?:?7@5A4897& ".!"'B%'"%CD' 'E%"B!*'F'B'GHI JKLMNOPKOQQRSTRQRLURV W X YW YXZW[\WW[\W[]W[ _abcdefghhcidajef ghhcikl[imnophiqcrs W X YW YXZ\ZYWY\ _abcidefghhcidhptjef ghhcikl[iuovwlphiqcrsW X YW YXZW[]ZW[\WW[\W[]W[ _abcidefghhcidajef ghhcikl[imnophignxcigey[ W X YW YXZW[]ZW[\WW[\W[]W[ _abcidefghhcidajef ghhcikl[imnophignxciznh[GLIQ|H~RTRSOQQRSTHSOR~MTHTOSTRQRLURV*'F, 'B' ' ''! %D'+E0 ?7>:6>498454A49:4*'*',.

Page 11: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

! "#$ %&'('()*+,-./-0'1(&'2-&3+*)/+ 456!7+*)/8'1(&'2%&'('(9*)1,: ;; <56! =>?; @ 4 ;ABBC:DB56! DB E 456!: F GHIJKHLMNHOPQRPSJTPUVHIW4XY 5Z :4DD: < ; <[-\8+.]W 4:4:DD WDA D_ @;Da b cOUMIdeNOPeW; ; W f @@@; ;

Page 12: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

!"#$%&'(#$)*+,-# $.*#*/*#0*12 $*. 10$3 2$.-#-40-3,-5*678 9 :8 :988;9::;9< =>?@ABCDEF>DGAHI?>JKABC?E F>DGAHI?>JKABJABLMNABOB BOBP>QOBRMJ 8 9 :8 :98:<ST9 =>?@ABCDEF>DGAHI?>JKABC?E F>DGAHI?>JKABJABLMNABUB BUBP>QUBRMJ8 9 :8 :9V8;8:88;8:8;8<8;8S8;8T =>?@ABCDELPPABC?E LPPABF>DGAHI?>JKABLMNABO 8 9 :8 :9V8;8:88;8:8;8<8;8S =>?@ABCDELPPABC?E LPPABF>DGAHI?>JKABLMNABU !"#$%W'X#,$Y2-Z.-.*Z6-2$3*1+-6 1*$#.*#*/*#0*12 $*. 10$3 2-1-Z* [-Z2$#+*Z $1-Z\2-3Z*"Z#*Z]*2+ 5-Z*##-Z7_a _ ba b ba _ _a c ca dba__accaddae fghijkjlmnfghijojlmn pqrstuvqgrwjxtjytztq|grjtjxg|~mgrjxijyij jpqrsjqtzpqrsjxg| ¡¢ !"#$%£'(#$)*+,-# $.*#*/*#0*12 $*. 10$3 2$.-#-40-3,-5*62-3-*##-$]#*Z*1+$.-7 )$.$Z*)$2-1Z Z+*1+*2-3$Z#*Z+# ¤2¥-*Z2 1*3,$+ 2$Z.-5*,¦2"6-7§*Z+*Z*1+ .-\,*$]#*Z*1+$.-1*Z+*+#$4$6©-\"3]6$1*)$.-#.*+#$)*+,-# $Zª"*+*32-3-]#-],-Z +-$!*#$¤2¥$-.*"3$3*6©-#+#$)*+,-# $]-ZZ,¦5*6$Z*#*[*2"+$.$]*6-#-40-3,-5*6\#*Z]* +$1.-Z*$Z#*Z+# ¤2¥-*Z2 1*3,$+ 2$Z*/,¦Z 2$Z.-#-40-$ZZ 32-3--Z-4Z+,$2"6-ZY[-Z-"3,-5* Z.-$34 *1+*7«"+ 6 ¬$¤2¥$-.*"3$$#ª" +*+"#$$4*#+$1-]#-)*+-.-2-1+#-6$.-#]*#3 +*.*Z2#*5*#"3]#-)*+-+,¦] 2-*3Z Z+*3$Z3-."6$#*Z\-1.*. /*#*1+*Z46-2-ZZ¥$-]#-)*+$.-ZZ*]$#$.$3*1+*]$#$]-Z+*# -# 1+*!#$¤2¥$-7­$34 *1+*.*Z 3"6$¤2¥$-]*#3 +*$5 Z"$6 ¬$¤2¥$-.*]-ZZ,¦5* Z*##-Z.*]#-)*+-\$1+*Z3*Z3-.$*[*2"¤2¥$-/,¦Z 2$.-3*Z3-7­$34 *1+*.*.*Z*15-65 3*1+-2-1+# 4" $ 1.$]$#$-4$ [-2"Z+-Y1$6.-]#-)*+-\Z"$/$2 6 .$.*.* 3]6*3*1+$¤2¥$-*.*2-##*¤2¥$-.**##-Z7­"+#$5$1+$!*3.-$34 *1+*.*.*Z*15-65 3*1+-,*$2$#$2+*#,¦Z+ 2$.*© *#$#ª" ¬$¤2¥$-\$ª"$6/$2 6 +$-+#$4$6©-*3*ª" ]*7 2$]$+*1+*$ 3]-#+0$12 $.-Z Z+*3$Z 3"6$.-#1-.*Z*15-65 3*1+-.*]#-+,-+ ]-Z.*Z Z+*3$Z#-4,-+ 2-Z3,-5* Z\ Z+-]-#ª"*\-3-.*6-.-#-40-3,-5*6]-.*Z*#+*Z+$.-*3+-.$Z. /*#*1+*Z2-1Y!"#$¤2¥-*Z*2-3]-Z ¤2¥-*Z]-ZZ,¦5* Z\5$6 .$1.-Z*$2 1*3,$+ 2$*$. 10$3 2$.-Z Z+*3$\$1+*Z.*Z"$ 3]6*3*1+$¤2¥$-/,¦Z 2$Y1$6\ª"*]-.*Z*#/* +$$+#$5,*Z.*+,*21 2$Z.*]#-+-+ ]$!*3#,$] .$7®*Z+$3$1* #$\]$#$ª"*-#-40-3,-5*6+*1©$-.*Z*3]*1©-.*Z*)$.-\]-.*Z*$)"Z+$#-Z]$#0$3*+#-Z.-2-1+#-6$.-#\$Z5$# ,$5* Z.-Z$+"$.-#*Z\-Z]$#0$3*+#-Z.-3-.*6-2 1*3,$+ 2-\*+-.$Z$Z.*3$ Z2-1. ¤2¥-*Z\$+,*Z*2-1Z*!" #"3 3-.*6-,-+ 3-\-"]*6-3*1-Z\.*1+#-.$Z*Z]*2 Y2$¤2¥-*Z1*2*ZZ,$# $Z7 Z+-,*]-ZZ,¦5*6\!#$¤2$Z$-3,-."6-$1$6 Z$.-#!#,$Y2-ª"*\$+#$5,*Z.*!#,$Y2-Z!*#$.-Z$]$#+ #.$Z 3"6$¤2¥$-. 10$3 2$.$+#$)*+,-# $.-#-40-3,-5*6\Y2$3" +-3$ Z/,$2 6$-4+*1¤2¥$-.*]$#0$3*+#-Z2-3]$#$+ 5-Z]$#$"3$-+ 3 ¬$¤2¥$--"2-##*¤2¥$-.**##-Z7°±²±³±µ¶·¹«4*6\®7$1.º-66 !\«7»&¼¼½¾7¿ÀÁÂÃÄÅÆÇÈÅÉÊÈÅÇÅÇËÁÂÆÌÍÎÏÇÐÅÃÏÆÑÆÃÒÆÓÏÆÃÑÆÌÏÆ\%*.1\Ô]# 1!*#\X*#3$17«34#,-Z -\Õ7«7Ö7»&¼¼×¾7ÒÃØÀÆÙÏÚÂÆÄÅÛÜÁÑÇÀÇÂÅÆÀÉÎÑÉÇÂÝÅÃËÞËÚÇÏÛÚ\ß-67%\%*.1\Ô]# 1!*#\§*+©*#6$1.Z7à$!1-++*66 \Ô7$1.ß$6 ! \à7»&¼¼½¾7Ô«á«'$â*[ 46*/#$3*ã-#ä/-##$] .]#-+-+å] 1!-/3-4 6*#-4-+ 2Z$]]6 2$+ -1Z\æçÇÐÎÏÃÂÇÏÈÜÈÀÆÏÀÆÄÅÆèÏÈÏÆÙÏÅÆÄÅÆÇÈÅÉÀÆÃÒÑÇÅÛÀÜÇÂÅÆéêëëì\íÔ«\]]7%î×7

Page 13: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

OTIMIZAÇÃO MULTIOBJETIVO USANDO ENXAME DE PARTÍCULA S DE CONTROLADORES MULTIVARIÁVEIS PARA UMA APLICAÇÃO EM ROBÓTICA

HELON VICENTE HULTMANN AYALA1, VIVIANE DAL MOLIN DE SOUZA

2 E LEANDRO DOS SANTOS COELHO

2

1 Divisão de Sistemas Elétricos (DVSE) LACTEC – Instituto de Tecnologia para o Desenvolvimento

Centro Politécnico da UFPR, BR 116, Km 98, Jardim das Américas, 81531-980, Curitiba, PR, Brasil 2 Programa de Pós-Graduação em Engenharia de Produção e Sistemas, PPGEPS

Pontifícia Universidade Católica do Paraná, Rua Imaculada Conceição 1155, 80215-901 Curitiba, PR, Brasil E-mails: [email protected], [email protected],

[email protected]

Abstract The attention in multiobjective optimization algorithms development and effectiveness has grown in the last years due their applicability in several optimization problems in engineering, which have by nature multiobjective, possibly conflicting, functions to be considered. Following this trend, this paper aims to test the capability of a multiobjective algorithm, namely multiobjective particle swarm optimization (MOPSO), to optimize the gains of two proportional and derivative (PD) controllers applied to a robotic manipulator. This algorithm belongs to the subarea from computational intelligence named swarm intelligence and constructs an optimization algorithm from the analogy between the search of a flock of birds looking for food and the optimization process. Numerical simulation results of multivariable PD control and convergence of the MOPSO are presented and discussed with application in a two-degree-of-freedom robotic manipulator, aiming to minimize the tracking error and the variation of control action simultaneously – that’s something the classical control tuning procedures cannot do. The evaluated optimization method based on MOPSO offers an effective way to implement simple but robust solutions providing a good reference tracking performance and control action variability in closed loop.

Keywords multiobjective optimization, systems control, robotic manipulator, particle swarm, PD control.

Resumo A atenção no desenvolvimento e na eficácia de algoritmos de otimização multiobjetivo tem crescido nos últimos anos devido à sua aplicabilidade em muitos problemas de otimização em engenharia, os quais têm por natureza funções multiobjetivo, possivelmente conflitantes, a serem consideradas. Seguindo esta tendência, este artigo tem como objetivo avaliar a capacidade de um algoritmo de otimização multiobjetivo, chamado algoritmo de otimização multiobjetivo por enxame de partículas (Multiobjective Particle Swarm Optimization – MOPSO), na tarefa de otimizar os ganhos de dois controladores proporcionais e derivativos (PD) multivariáveis em uma aplicação envolvendo um manipulador robótico. Este algoritmo pertence à subárea da inteligência computacional denominada inteligência coletiva (ou inteligência de enxames) e representa um algoritmo de otimização a partir da analogia entre a busca de alimento por um bando de pássaros e o procedimento de otimização. Os resultados decorrentes da simulação dos controladores PD multivariáveis e a convergência do MOPSO são apresentados e discutidos na sua aplicação no projeto de controladores de um manipulador robótico de dois graus de liberdade, tendo como objetivo minimizar o erro e a variação de controle simultaneamente – algo que os procedimentos clássicos de sintonia de controladores não são capazes. O procedimento de otimização avaliado baseado no MOPSO oferece uma forma eficiente de implementar soluções simples, porém robustas, fornecendo bom seguimento de trajetória e variação de controle reduzida no sistema em malha fechada proposto.

Palavras-chave otimização multiobjetivo, controle de sistemas, manipulador robótico, enxame de partículas, controle PD.

1 Introdução

Os objetivos em projetos de engenharia de controle moderno são, muitas vezes, relacionados à formulação de um problema de otimização. Em geral, os requisitos de projeto são definidos como uma função objetivo baseada em alguma métrica ainda que, em muitos casos, estes requisitos de projeto requeiram a consideração de vários objetivos talvez conflitantes entre si. Neste aspecto, os algoritmos de otimização inspirados na natureza para resolver problemas de otimização com múltiplos objetivos (multiobjetivo) são uma alternativa viável visando o atendimento destes critérios e suprindo a incapacidade de muitos algoritmos clássicos de otimização mono-objetivo de otimizar simultaneamente vários objetivos. As técnicas

multiobjetivo bio-inspiradas, tais como algoritmos evolutivos, busca tabu e simulated annealing, podem considerar concomitantemente vários objetivos e fornecer como resultado da otimização um conjunto de soluções ótimas que representa uma curva de compromisso (curva ou fronteira de Pareto). Cada solução deste conjunto é conhecida como solução Pareto ótima ou solução não dominada. Uma finalidade da otimização multiobjetivo pode ser a determinação da fronteira de Pareto e diversificá-la, para que o projetista obtenha informação suficiente para o auxílio à tomada de decisão.

Os algoritmos da inteligência coletiva (ou de enxames) têm sido vastamente investigados e testados no desempenho da função de algoritmos de otimização multiobjetivo. Um exemplo é o algoritmo otimização por enxame de partículas (Particle Swarm Optimization – PSO), que emula o procedimento de otimização a partir da comparação do vôo de

Page 14: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

pássaros em busca de comida com o procedimento de otimização. Inicialmente o algoritmo foi proposto para otimização mono-objetivo, mas devido a sua simplicidade de implementação, robustez e eficiência, este foi estendido à otimização de múltiplos objetivos em diversas pesquisas. Um apanhado destas pesquisas é apresentado em Reyes-Sierra e Coello (2006).

Diferentes aplicações em controle de processos demonstram o interesse da comunidade científica no assunto, no que tange à utilização de técnicas de otimização multiobjetivo em problemas de projeto e sintonia de controladores, a citar Herreros et al. (2002), Yang e Pedersen (2006), Wellenreuther et al. (2006), Simm e Liu (2006), Serra e Bottura (2006) e Huang et al. (2008).

A contribuição deste artigo está vinculada à aplicação e análise de desempenho de um algoritmo PSO utilizando otimização multiobjetivo dos ganhos de dois controladores proporcionais e derivativos (PD) em configuração multiloop. Para isto foi avaliado o estudo de caso multivariável de um manipulador robótico com dois graus de liberdade. Em Ayala e Coelho (2007), também foi abordado o mesmo estudo de caso, mas este foi analisado para um procedimento de otimização multiobjetivo baseado em algoritmos genéticos.

O restante do artigo está organizado da seguinte forma. Na seção 2 é realizada a descrição do manipulador robótico e dos controladores utilizados. A formulação de controle PD é apresentada na seção 3. Na seção 4 são descritos os fundamentos que regem o algoritmo MOPSO-CD. Os resultados obtidos nas simulações são reportados na seção 5. A conclusão é abordada na seção 6.

2 Descrição do manipulador robótico com dois graus de liberdade

Um manipulador robótico é formado por elos e juntas (prismáticas ou rotacionais). Em robôs convencionais, cada par elo-junta forma um grau de liberdade, assim, um robô com n graus de liberdade possui n pares elo-junta. As equações dinâmicas do robô constituem um conjunto de equações diferenciais acopladas contendo termos, tais como: inércia variante, torque centrífugo e Coriolis, termos de carregamento e gravidade. O movimento do efetuador final em uma particular trajetória com particular velocidade requer um conjunto complexo de funções de torque para serem aplicadas a atuadores na(s) junta(s) do manipulador robótico. A seguir apresenta-se a descrição do modelo matemático do robô.

O modelo do manipulador considera, usualmente, o vetor de representação da dinâmica de um manipulador robótico de n-graus de liberdade (neste caso, n=2) regido pela equação:

τθθθθθθ =++ )(),()( GCM &&&& (1) onde M(θ ) ∈ ℜnxn é a matriz de inércia do sistema

definida positiva, C(θ , &θ ) ∈ ℜnx1 é um vetor que representa os efeitos do torque centrífugo e de Coriolis, G(θ ) ∈ ℜnx1 é o vetor relativo ao efeito dos torques gravitacionais, τ ∈ ℜnx1 é o vetor do torque

da(s) junta(s), e, θ , θ& , θ&& são os termos de posição angular, velocidade e aceleração da(s) junta(s).

O modelo dinâmico para o manipulador robótico de dois graus de liberdade utilizado, conforme apresentado na Figura 1, é dado por (Craig, 1996):

11211222212212

222211

2121

212212212221

2

2

gcl)mm( gclmsllm

sllm-l)mm(

)(cllm)(lm

2

+++−

+

++++=

θθθθ

θθθθτ

&&

&&&

&&&&&&&&

(2)

)(lmgclm

sllmcllm

212221212

212212122122

θθ

θθτ&&&&

&&&

++

++= (3)

onde s1=sen(θ1), s2=sen(θ2), c1=cos(θ1), c2=cos(θ2), e c12=cos(θ1+θ2). Os subscritos 1 e 2 denotam os parâmetros das juntas 1 e 2, respectivamente. Os parâmetros adotados nas simulações são comprimentos — l1=0,8 m e l2=0,4 m, massas — m1=m2=0,1 kg, e aceleração da gravidade de g=9,81 m/s2 (Mital e Chin, 1995). As restrições impostas aos torques τ1 e τ2 são [-1000; 1000] Nm. Um período de amostragem, Ts, de 10 ms é adotado neste trabalho.

Figura 1. Um manipulador robótico de dois graus de liberdade.

Define-se θ d,j, &θ d,j e &&θ d,j como os valores de posição angular, velocidade e aceleração desejados à junta robótica. Os vetores dos erros de posição, velocidade e aceleração são dados por

dj(t) = θ j(t) -θ d,j(t) , onde j∈ℵ / j=1,2 (4)

vj(t) = θ& j(t) -θ& d,j(t), onde j∈ℵ / j=1,2 (5)

aj(t) = θ&& j(t) -θ&& d,j(t), onde j∈ℵ / j= 1,2 (6)

2.1 Projeto dos controladores O projeto de controle avaliado, neste artigo, é do

tipo PD multiloop na forma digital. Em termos

Page 15: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

práticos, a ação de controle é regida pelos torques τ1 e τ2, aplicados ao elo das juntas. Contudo, em controle de manipuladores reais é necessária a multiplicação dos torques por uma constante que de a relação adequada para obtenção da ação de controle, uj(t), a ser aplicada ao motor (atuador) considerando o circuito de atuação e os parâmetros inerentes ao experimento prático.

A forma do controle PD analógico é dada pela seguinte equação

τj(t) = Kp,jdj(t) + Kv,jvj(t) (7)

Após a discretização da equação (7) obtém-se a equação a diferenças do controlador PD regida por

τj(t)=(Kp,j+K v,j/Ts)θ (t) - (Kv,j/Ts)θ (t-1) - (Kp,j+K v,j/Ts)θ d,j(t) + Kv,j/Tsθ d,j(t-1), (8)

onde j∈ℵ / j=1,2. As matrizes de ganho Kp,j e Kv,,j têm propriedades diagonais e definidas positivas e, são proporcionais aos erros de posição e velocidade (Coelho e Coelho, 1998).

3 Otimização multiobjetivo e otimização por enxame de partículas

Um problema geral de otimização multiobjetivo consiste em encontrar um vetor de variáveis de decisão (solução) que satisfaça restrições e otimize uma função vetorial cujos elementos representam as funções objetivos. Estas funções representam os critérios de otimalidade que, usualmente, são conflitantes. Portanto, o termo “otimizar” significa encontrar soluções com todos os valores dos objetivos que não podem ser melhorados simultaneamente.

No entanto, um problema de otimização multiobjetivo irrestrito pode ser expresso pelas equações (9) e (10), tal que

Tkfff ))(),...(),(()( min 21 xxxxF = (9)

sujeito a x ∈ S e

Tnxxx ),...,( 21=x , (10)

onde )(),...(),( 21 xxx kfff são as k funções objetivo,

nxxx ,..., 21 são os n parâmetros de otimização

(variáveis de projeto), e S ∈ ℜn é o espaço de parâmetros (ou espaço de soluções). Neste trabalho, é abordado um espaço de parâmetros (espaço das variáveis de decisão) para um problema de otimização contínua.

Na formulação apresentada, minimizar F(x) necessita de um procedimento para determinação de como o conjunto S)( ∈xxF para todas as

soluções factíveis deve ser ordenado para definir se F(x1) é melhor ou pior que F(x2). O procedimento

usual, neste caso, é um julgamento subjetivo de um tomador de decisão.

3.1 Otimização por Enxame de Partículas

O algoritmo PSO é um procedimento de otimização estocástica inspirado em princípios de cooperação e comportamento em sociedade de enxames, cardumes de peixes e bandos de pássaros. O PSO foi proposto por Kennedy e Eberhart (1995) e é similar às técnicas de computação evolutiva no aspecto que uma população de soluções potenciais (denominadas partículas) para resolução de um problema é considerada a cada geração. Entretanto, no algoritmo PSO, cada partícula do enxame tem uma velocidade de adaptação (mudança da posição), que se altera de acordo como as partículas se movem dentro do espaço da busca. Além disso, cada partícula tem uma memória, recordando assim a melhor posição do espaço de busca que visitou.

Entretanto, diferentemente dos algoritmos evolutivos clássicos, que utilizam uma população inicial de soluções (indivíduos) gerada aleatoriamente com uma distribuição uniforme, o algoritmo PSO trabalha com uma população de partículas em um enxame, onde cada partícula i tem sua posição xi e também a velocidade vi atualizadas, a cada geração t (iteração do algoritmo), através de fatores de sua própria memória (fator cognitivo), coi(t), e de seu conhecimento social (fator social), soi(t). Estes fatores são regidos respectivamente pelas ponderações: social c1 e cognitiva c2.

Resumindo, o comportamento de cada partícula i é definido segundo as equações que se seguem:

)()()()1( 2211 tsorctcorctvwtv iiii ⋅⋅+⋅⋅+⋅=+ (11)

onde

)()( txpbesttco iii −= (12)

)()( txgbesttso ii −= (13)

)1()()1( +⋅∆+=+ tvttxtx iii (14)

onde i=1,...,npop, npop é o tamanho da população, xi e vi denotam respectivamente a posição e a velocidade da i-ésima partícula, pbest (personal best) e gbest (global best) são, respectivamente, a melhor posição obtida por uma partícula em uma determinada posição e de toda população em uma determinada vizinhança (enxame); w é a constante de inércia, r1 e r2 são números aleatórios gerados usando uma distribuição uniforme no intervalo [0,1] e ∆t = 1. Na figura 2 é apresentado o pseudocódigo do algoritmo PSO com uma topologia de vizinhança global para um problema de minimização do valor da função objetivo.

Page 16: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

3.2 Otimização Multiobjetivo usando Enxame de Partículas

Várias propostas têm sido realizadas na literatura e, geralmente, elas diferem em sua maioria, em como escolher o gbest para atualizar as velocidades da população, como armazenar as partículas não-dominadas pertencentes ao conjunto de Pareto e como escolher os parâmetros de projeto inerentes a aplicação do PSO (Reyes-Serra e Coello, 2006). Início do algoritmo PSO t = 1; % geração % Gera a população inicial de partículas Faça j = 1 a N % N: dimensão do problema Faça i = 1 a npop xi,j(t)= Gera aleatório ∈ [limitemin,limitemax]; vi,j(t)= Gera aleatório ∈ [vmin,vmax];; Fim Faça i fi(t) = Avalia (xi(t)); % minimização Fim Faça j Faça t = 1 a Máximo de gerações (tmax) pbesti = xi(t); % melhor da posição i gbest = xmelhor(t); % melhor de todas Faça i = 1 a npop Calcula coi(t) e soi(t), i = 1,npop Calcula xi(t+1) e vi(t+1), i = 1,npop fi(t+1) = Avalia (xi(t+1)); Se fi(t+1) < f(pbesti) então pbesti = xi(t+1); Se fi(t+1) < f(gbest) então gbest = xi(t+1); Fim Faça i t = t + 1; Fim Faça t Fim do Algoritmo Melhor solução do algoritmo PSO: gbest

Figura 2. Pseudocódigo para o algoritmo PSO.

Para este trabalho utilizou-se o algoritmo PSO

multiobjetivo com distância de multidão (crowding distance) (MOPSO-CD) proposto em Raquel e Naval (2005). O MOPSO-CD utiliza o algoritmo PSO para atualizar as velocidades das partículas, de maneira que o conjunto de partículas procure dentro do espaço de busca as soluções não dominadas para compor o conjunto de Pareto. Este conjunto estará contido em um arquivo externo (archiving technique) que tem outra função além de representar o conjunto de Pareto: a cada iteração as soluções não dominadas são ordenadas conforme um atributo denominado distância de multidão, que representa o quão densa populacionalmente é a região em que a solução se encontra.

Levando em consideração que uma das metas de otimização multiobjetivo é diversificar a fronteira de Pareto, o MOPSO-CD sorteia a cada iteração uma das partículas presentes no arquivo externo entre as que possuem um maior coeficiente de distância de multidão para ser o guia global gbest daquela iteração. Desta forma as partículas mais diversificadas e que exploram uma região menos conhecida pelo algoritmo terão uma maior influência nas partículas na atualização das respectivas velocidades. O coeficiente de distância de multidão possui seu cálculo baseado na distância Euclidiana

das duas partículas vizinhas usando um cubóide e é utilizado em outros algoritmos evolutivos para otimização multiobjetivo. O arquivo externo também é aplicado em outros algoritmos evolutivos (Deb, 2001; Coello e Lamont, 2004; Reyes-Serra e Coello, 2006), sendo a técnica mais usada, em se tratando de MOPSO, para guardar as soluções não-dominadas obtidas durante a execução do algoritmo.

Assim sendo, percebe-se que o MOPSO-CD possui mais um parâmetro de projeto, em relação ao PSO clássico, que é o tamanho do arquivo externo – este tamanho define o máximo de partículas que irão compor a fronteira de Pareto resultado do MOPSO-CD. É importante salientar que, quando o arquivo torna-se cheio e deseja-se inserir mais partículas com coeficiente de distância de multidão maior do que as que já estavam presentes no arquivo, o coeficiente de distância de multidão também é utilizado para excluir as partículas excedentes que possuem pouca representatividade por povoarem uma região densa – e não acrescentarem informação quando o projetista vir a escolher uma única solução da fronteira de Pareto que represente um compromisso desejado.

Uma das limitações de se utilizar a ordenação por distância de multidão para exclusão de partículas e escolha do indivíduo gbest é o fato deste procedimento ser custoso computacionalmente. À medida que o arquivo se torna mais populoso, também mais demorada se torna a ordenação e conseqüentemente mais demorada se torna a escolha do melhor indivíduo global.

Outro fator que torna o MOPSO-CD mais custoso do que o PSO clássico é o cálculo de mais de um objetivo para cada partícula em todas as iterações. Em alguns casos estes fatores podem tornar sua aplicação até inviável e, portanto, deve-se justificar a necessidade do uso de técnicas multiobjetivo no problema a ser resolvido, pelo fato destes algoritmos serem mais custosos computacionalmente do que os algoritmos convencionais mono-objetivo e também requererem mais conhecimento do projetista.

4 Resultados de simulação

Neste trabalho, a dinâmica do robô manipulador é simulada pelo método Runge-Kutta de 4a ordem. O NSGA-II modificado otimiza o projeto dos controladores PD visando satisfazer um polinômio de 5a ordem que representa a trajetória a ser seguida pelo manipulador para posição, velocidade e aceleração (Craig, 1996) é regida por

θ d,j(t) = a0 + a1t + a2t2 + a3t

3 + a4t4 + a5t

5 , (15)

onde as restrições são as seguintes:

θ 0,j = a0

Page 17: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

θ df,j = a0+ a1tf +a2t 2

f +a3t 3

f +a4t 4

f +a5t5f

&θ 0,j = a1

&θ df,j = a1+ 2a2tf +3a3t 2

f +4a4t 3

f +5a5t 4

f

θ&& 0,j = 2a2

θ&& df,j = 2a2+6a3tf +12a4t 2

f +20a5t3f (16)

onde j ∈ ℵ / j = 1,2,θ d,j é a posição instantânea

desejada, θ 0, θ& 0, θ&& 0 são os valores adotados para a posição, velocidade e aceleração inicial,

respectivamente. De forma análogaθ df,j, &θ df,j, θ&& df,j são os valores desejados para a posição (θ df,1=1 rad e θ df,1=2 rad em tempo final, tf = 2 s), velocidade

( &θ df,1= &θ df,2=0 rad/s) e aceleração final (θ&& df,1=θ&& df,2=0 rad/s2), respectivamente.

O espaço de busca dos parâmetros (ganhos) dos controladores PD são: Kp,1, Kp,2=[0;40] e Kv,1, Kv,2=[0;20]. A função de aptidão utilizada pelo MOPSO-CD visa considerar os ganhos do controlador que melhor minimizem os erros de posição dos elos 1 e 2 (f1) e as variações das ações de controle nos elos 1 e 2 (f2). Assim sendo, as duas equações a serem minimizadas pelo MOPSO-CD são as seguintes:

[ ] [ ]∑+∑===

tf

t

tf

ttdtdf

1

22

1

211 )()( (17)

∑ ∆+∑ ∆===

tf

t

tf

tttf

22

212 )()( ττ (18)

onde 2,1),1()( =−−=∆ itt iii τττ (19)

No MOPSO-CD foi adotada uma população

(npop) de 100 partículas, um tamanho de arquivo externo de 500, c1 = c2 = 1,0, w = 0,4 e critério de parada de 100 gerações. O MOPSO-CD usa um operador de mutação. Neste caso, adotou-se uma probabilidade de 0,5 para aplicação deste operador.

O resultado da simulação do MOPSO-CD para a sintonia dos controladores PD multivariáveis é resumido na fronteira do conjunto de Pareto com 500 partículas, esta apresentada na figura 2. A fronteira do conjunto de Pareto ficou bem definida e razoavelmente uniforme, sendo uma apropriada orientação para o projetista (engenheiro) no projeto do controlador.

Na figura 3 é apresentado o resultado (solução) com melhor média harmônica do valor de f1 e f2. Os ganhos neste caso foram Kp,1=39,9916; Kv,1,=0,645931; Kp,2=30,604120 e Kv,2=0,415587. Neste contexto, deve-se mencionar que quando é realizada a média harmônica há uma mono-objetivação do problema, ou seja, o problema poderia ser abordado com uma função de custo mono-objetivo igual à média harmônica do valor de

f1 e f2.

Figura 2. Fronteira de Pareto obtida pelo MOPSO-CD.

Figura 3. Resposta em malha fechada do manipulador robótico usando um projeto de controle do tipo PD.

5 Conclusão e Pesquisa Futura

Este artigo apresentou e avaliou a aplicação do MOPSO-CD na sintonia de controle PD multiloop aplicados ao controle de um manipulador robótico com dois graus de liberdade.

Page 18: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

De acordo com o resultado da figuras 2 e 3, nota-se que a sintonia do controle PD usando MOPSO-CD foi apropriada no seguimento da trajetória desejada para a posição dos elos 1 e 2. Entretanto, houve um erro em regime permanente para a posição 1.

Em futura pesquisa, os autores vislumbram a análise de desempenho de controladores do tipo PD e também PD somado a parte integral (PID) em simulações de rejeição de perturbações e em comparações com outros algoritmos de controle clássicos existentes.

Agradecimentos

Os autores agradecem o apoio financeiro do Conselho Nacional de Desenvolvimento Científico e Tecnológico – CNPq (processo: 309646/2006-5/PQ) e ao programa de iniciação científica PIBIC/PUCPR pela bolsa de iniciação científica concedida ao aluno Helon Vicente Hurtmann Ayala.

Referências Bibliográficas

Ayala, H. V. H. e Coelho, L. S. (2007). A Multiobjective genetic algorithm applied to multivariable control optimization, Proceedings of 19th Congress of Mechanical Engineering, (COBEM), Brasilia, DF, Brasil.

Coelho, L. S. e Coelho, A. A. R. (1998). Projeto e sintonia evolutiva de controladores PD e PID com aplicação em um manipulador robótico, Anais do Congresso Brasileiro de Automática, Uberlândia, MG.

Coello Coello, C. A. e Lamont, G. B. (2004). Applications of multi-objective evolutionary algorithms, World Scientific, Singapore.

Craig, J. J. (1996). Introduction to robotics: mechanics & control. Chapter 6, Addison-Wesley.

Deb, K. (2001). Multi-objective optimization using evolutionary algorithms, Wiley, Chichester, UK.

Herreros, A.; Baeyens, E. e Péran, J. R. (2002). Design of PID-type controllers using multiobjective genetic algorithm, ISA Transactions, 41(4): 457-472.

Hunag, L.; Wang, N.; Zhao, J. -H. (2008). Multiobjective optimization for controller design, Acta Automatica Sinica, 34(4): 472-477.

Kennedy, J. e Eberhart, R. C. (1995). Particle Swarm Optimization. Proceedings of IEEE International Conference on Neural Networks, Washington, DC, USA.

Mital, D. P. e Chin, L. (1995). Intelligent control applications with neural networks, Intelligent control systems: theory and applications, Gupta, M. M. e Sinha, N. K. (editores), Chapter 18, Piscataway, NJ, USA: IEEE Press, 479-514.

Raquel, C. R. e Naval Jr., P. C. (2005). An effective use of crowding distance in multiobjective particle swarm optimization, Proceedings of

Genetic and Evolutionary Computation Conference (GECCO 2005), Washington DC, USA.

Reyes-Serra, M. e Coello, C. A. C. (2006). Multi-objective particle swarm optimizers: a survey of the state-of-the-art, International Journal of Computational Intelligence Research, 2(3): 287-308.

Serra, G. L. O.; Bottura, C. P. (2006). Multiobjective evolution based fuzzy PI controller design for nonlinear systems, Engineering Applications of Artificial Intelligence, 19(2): 157-167.

Simm, A. e Liu, G. P. (2006). Improving the performance of the ALSTOM baseline controller using multiobjective optimization, IEE Proceedings-Control Theory and Applications, 153(3): 286-292.

Wellenreuther, A.; Gambler, A. e Badreddin, E. (2006). Multi-loop controller design for a heat exchanger, Proceedings of the IEEE International Symposium on Intelligent Control, Munich, Germany, 2099-2104.

Yang, Z. e Pedersen, G. (2006). Automatic tuning of PID controller for a 1-D levitation system using a genetic algorithm – a real case study, Proceedings of the IEEE International Symposium on Intelligent Control, Munich, Germany, 3098-3103.

Page 19: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

IDENTIFICACAO DO MODELO DINAMICO DE UMA CABECA DE VISAO

ROBOTICA

Diego Caberlon Santini∗, Walter Fetter Lages∗

∗Universidade Federal do Rio Grande do Sul - Departamento de Engenharia Eletrica

Emails: [email protected], [email protected]

Abstract— This paper presents the dynamic modelling and parameter identification for a robot vision head.

The dynamic model is derived by using the Lagrange-Euler formalism. Then, the model is extended to include

the dynamic model of the robot actuators as well. Althought the resulting model is a non-linear one, by using a

convenient parametrization it is possible to write it in a form that is linear in the unknown parameters. Since

the model was made linear in the unknown parameters it is possible to use the least-squares method to estimate

the unkowns. Some real-time experiments are shown to validade the estimated model.

Keywords— Robot modelling, Robot dynamics, Parametric identification, Least squares, Vision head

Resumo— Este artigo apresenta a modelagem dinamica e a identificacao dos parametros de uma cabeca de

visao robotica. O modelo dinamico do sistema e obtido atraves do formalismo de Lagrange-Euler. A seguir,

o modelo e estendido para incluir tambem o modelo dinamico dos atuadores. Embora o modelo resultante

seja nao linear, a partir de uma parametrizacao adequada escreve-se o modelo de forma que seja linear nos

parametros desconhecidos. Essa parametrizacao permite utilizar o metodo dos mınimos quadrados para estimar

os parametros do modelo. Sao apresentados varios experimentos realizados em tempo real para validar o modelo

obtido.

Palavras-chave— Modelagem de robos, Dinamica de robos, Identificacao parametrica, Mınimos quadrados,

Cabeca de visao

1 Introducao

O modelo dinamico de um robo articulado ou,em particular, de uma cabeca de visao roboticapode ser obtido de forma analıtica utilizando-se metodos amplamente difundidos na literatura,como os metodos de Newton-Euler ou Lagrange-Euler (Craig, 1989; Fu et al., 1987).

No entanto, para utilizacao efetiva de tais mo-delos, parametros como massa e momento de iner-cia dos elos devem ser conhecidos. Porem, rara-mente tais informacoes sao disponibilizadas pe-los fabricantes de robos (Radkhah et al., 2007).Por outro lado, a obtencao desses parametros apartir das caracterısticas geometricas e mecanicasdo robo e viavel apenas utilizando-se de inumerassimplificacoes e aproximacoes, como aproximar asformas geometricas dos elos por formas geometri-cas regulares e considerar a sua distribuicao demassa uniforme. Essas simplificacoes sao geral-mente irreais, pois os elos dos robos tipicamentesao ocos e tem em seu interior atuadores, senso-res e cabeamento, de forma que a sua distribuicaode massa usualmente esta longe de ser uniforme.Assim, para a obtencao de um modelo suficiente-mente preciso, que reflita o sistema real, torna-senecessario a identificacao dos parametros do robo.

Este trabalho trata da identificacao do modelodinamico da cabeca de visao robotica, e esta or-ganizado da seguinte forma: A secao 2 apresentao robo e em particular a sua cabeca de visao. Asecao 3 apresenta a modelagem do sistema e a pa-rametrizacao do modelo de forma a possibilitar aidentificacao que e detalhada na secao 4. Por fim,a secao 5 apresenta os resultados experimentais e

a secao 6 conclui este trabalho.

2 Robo Janus

Neste artigo sera utilizado o robo articulado Janus(figura 1). Este robo possui dois bracos com 8graus de liberdade cada e uma cabeca de visaoestereo com 2 graus de liberdade.

Figura 1: Manipulador Janus.

A cabeca de visao do robo Janus e compostapor tres elos interligados por duas juntas rotacio-nais, possuindo na sua extremidades duas camerasde vıdeo, como mostra a figura 2.

A atuacao de cada uma das juntas e feita porum motor DC, acionado via PWM, e o sensoria-mento e feito atraves de encoders incrementais,que retornam o deslocamento da junta. Cadajunta tambem possui um sensor de fim de curso

Page 20: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

Figura 2: Cabeca de visao do robo Janus.

utilizado para referenciar o encoder. Cada junta ecomandada por uma placa de acionamento (deno-minada AIC) que gera os sinais de PWM para aci-onamento do motor correspondente e faz a decodi-ficacao em quadratura dos sinais do encoder, for-mando um sistema de controle distribuıdo, comomostrado na figura 3.

Inte

rrup

tor

Mot

or

Enc

oder

Frei

o

AIC

Inte

rrup

tor

Mot

or

Enc

oder

Frei

o

AIC

Inte

rrup

tor

Mot

or

Enc

oder

Frei

o

AIC

Inte

rrup

tor

Mot

or

Enc

oder

Frei

o

AIC

Inte

rrup

tor

Mot

or

Enc

oder

Frei

o

AIC

Host PC

...

Barramento CAN

Figura 3: Sistema de controle distribuıdo.

Um barramento CAN e utilizado para transfe-rencia dos dados de tempo real, tais como as medi-das dos sensores e os comandos para os atuadores,para cada AIC a partir de um computador PC hos-pedeiro. O computador hospedeiro possui um pro-cessador AMD Athlon 64 4000+ e 1GB de RAM,executado o sistema operacional Linux-2.6.22 como patch de tempo real RTAI-3.6. Maiores detalhessobre o hardware e software do sistema podem serobtidos em (Santini and Lages, 2008).

3 Modelagem

O modelo dinamico de um robo e definido pelaa relacao entre o movimento do robo e o torqueaplicado as suas juntas. O movimento do robo edescrito pela posicao, velocidade e aceleracao dassuas juntas. Mas especificamente, deseja-se obter

um modelo nao linear na forma

x = f(x, u)

y = h(x)

onde x e o estado do sistema, u e a entrada dosistema (aqui sera considerada a tensao aplicadanos motores), y e a saıda do sistema (tipicamenteposicao das juntas, no caso de robos) e f(·, ·) eh(·) sao funcoes nao lineares.

Para se modelar um robo, e necessario, inicial-mente, atribuir sistemas de coordenadas associa-dos a cada junta do robo. Isto e feito de formasistematica, seguindo a convencao de Denavit-Hartenberg (Denavit and Hartenberg, 1955; Fuet al., 1987) obtendo-se o resultado mostrado nafigura 4.

PSfrag replacements

x0

y0

z0

x1

y1

z1

x2

y2

z2

l1

l2

q1

q2

Figura 4: Sistemas de coordenadas segundo asconvencoes de Denavi-Hartenberg.

A cada junta i esta associada a um elo i quetem um conjunto de parametros mecanicos comoos momentos de inercia: Iixx, Iiyy e Iizz; os pro-dutos de inercia: Iixy, Iixz e Iiyz; e a posicao doseu centro de massa: xi, yi e zi; todos em referen-cia ao sistema de coordenadas xi, yi, zi. Alemdisso de sofrer a acao da gravidade g e possuiruma massa mi.

O modelo dinamico do robo, considerandocomo entrada o torque aplicado nas juntas, podeser obtido a partir da equacao de Lagrange-Euler (Fu et al., 1987):

d

dt

(

∂L

∂qi

)

−∂L

∂qi

= τi para i = 1, 2 (1)

onde L e a funcao de Lagrange (K − P ); sendoK a energia cinetica total do robo, P a energiapotencial total do robo, qi a posicao angular dajunta i e τi o torque generalizado aplicado a juntai.

Page 21: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

Sabe-se que para robos, (1) pode ser escritana forma

τ = D(q)q + H(q, q) + G(q) (2)

onde D(q) e a matriz de inercia generalizada,H(q, q) e o vetor de forcas centrıfugas e de Co-riolis e G(q) e o vetor de forcas gravitacionais.

Aplicando-se (1) com os parametros geome-tricos da cabeca de visao do Janus pode-se escre-ver (2) na forma (3).

[

τ1τ2

]

=

[

D11 D12D21 D22

][

q1q2

]

+

[

H11 H12H21 0

][

q1q2

]

(3)

+

[

0C21

]

onde:

D11 = θ1cos(q2)2 + θ2sin(q2)2 + θ3sin(q2)cos(q2) + θ4D12 = D21 = θ5sin(q2) + θ6cos(q2)D22 = θ1 + θ2H11 = 2(θ2 − θ1)sin(q2)cos(q2)q2H12 = (θ5cos(q2) − θ6sin(q2))q2H21 = ((θ1 − θ2)sin(q2)cos(q2) − θ3(cos(q2)2 − sin(q2)2)q1/2C21 = θ7cos(q2) + θ8sin(q2)

com as constantes a serem identificadas:

θ1 = (−I2xx + I2yy + I2zz)/2 + 2l2m2x2 + l22

m2θ2 = (I2xx − I2yy + I2zz)/2θ3 = −2l2m2y2 − 2I2xyθ4 = (I2xx + I2yy − I2zz)/2 + I1yyθ5 = I2xz + l2m2z2θ6 = I2yzθ7 = m2g(x2 + l2)θ8 = −m2gy2

Este modelo ainda nao e suficiente para quese possa identificar os parametros desconhecidos,uma vez que o acionamento das juntas do robo efeito por tensao, e nao se tem disponıveis sensoresque permitam medir o torque aplicado em cadajunta. Desta forma e necessario relacionar essasduas grandezas.

O modelo de um motor D.C. com ıma perma-nente pode ser representado por

V = La

diadt

+ iaRai + kqi (4)

τi = KTiia (5)

onde a La e a indutancia de armadura, Ra e aresistencia de armadura, V e a tensao aplicada,Ka e a constante de forca contra-eletromotriz eKT e a constante de torque.

Segundo (Fitzgerald, 2002) a constante La egeralmente pequena e pode ser desprezada. Destaforma pode-se escrever o torque aplicado ao sis-tema em funcao da tensao em (6).

τi =KT

Rai

(Vi − Kaqi) (6)

Por fim, para tornar o modelo mais realista,deve-se incluir o efeito das perdas devido ao atritonos mancais e na transmissao, uma vez que o mo-delo obtido de (1) nao o leva em consideracao.Essas perdas sao normalmente modeladas comoum torque que e apenas funcao da velocidade dajunta qi (Grotjahn et al., 2004). Esta funcao nao

linear e escrita como a soma dos termos do atritoviscoso e do atrito seco e dada por (7).

τfi = ri1qi + ri2sign(qi) (7)

A expressao (3) pode entao ser reescritacomo (8)

u =

[

V1V2

]

=

[

D11 D12D21 D22

][

q1q2

]

+

[

H11 H12H21 0

][

q1q2

]

(8)

+

[

0C21

]

+

[

θ9qi + θ10sign(q1)θ11q2 + θ12sign(q2)

]

onde:θi =

RaiKT i

θi para i = 1 . . . 8

θ9 = Ka1 +Ra1KT1

r11

θ10 =Ra1KT1

r12

θ11 = Ka2 +Ra2KT2

r21

θ12 =Ra2KT2

r22

que representa o modelo da cabeca de visao dorobo Janus.

4 Identificacao

Para identificar os parametros dinamicos do robo,e necessario reescrever (8) na forma (9).

u = φ(q, q, q)θ (9)

onde:

φ =

[

φ11 . . . φ1(12)

φ21 . . . φ2(12)

]

φ11 = cos(q2)2 q1 − 2sin(q2)cos(q2)q1q2φ12 = sin(q2)2 q1 + 2sin(q2)cos(q2)q1q2φ13 = sin(q2)cos(q2)q1 − (sin(q2)2 − cos(q2)2)q1q2φ14 = q1φ15 = sin(q2)q2 + cos(q2)q2

2φ16 = cos(q2)q2 − sin(q2)q2

2φ17 = φ18 = φ1(11) = φ1(12) = φ24 = φ29 = φ2(10)0

φ19 = q1φ1(10) = sign(q1)

φ21 = q2 + sin(q2)cos(q2)q21

φ22 = q2 − sin(q2)cos(q2)q21

φ23 = (sin(q2)2 − cos(q2)2)q21

/2

φ25 = sin(q2)q1φ26 = cos(q2)q1φ27 = cos(q2)φ28 = sin(q2)φ2(11) = q2φ2(12) = sign(q2)

Assim, os coeficientes desconhecidos θi sao li-neares com os regressores de dados φ, que depen-dem das posicoes, velocidades e aceleracoes dasjuntas. Deste modo e possıvel aplicar um metodode identificacao atraves da aplicacao de uma ten-sao no robo e da medida do seu deslocamento.

Os encoders do robo Janus fornecem uma me-dida de deslocamento relativo entre um instantede amostragem e outro. Deste modo, dividindo-se pelo perıodo de amostragem e possıvel obtera velocidade angular media (no perıodo de amos-tragem) de cada junta qi. A posicao qi e obtidaatraves do somatorio do deslocamento e a acele-racao qi atraves da diferenca da velocidade mediaentre as medidas.

Qualquer medida possui intrinsecamenteruıdo, que se assume ser um ruıdo gaussiano, commedia zero. A figura 5 mostra sete medidas davelocidade da junta 1 para o mesmo ensaio.

Page 22: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

0 100 200 300 400 500 600 700 800 900 1000−0.015

−0.01

−0.005

0

0.005

0.01

0.015

Amostras

Vel

ocid

ade

Ang

ular

(ra

d/s)

Figura 5: Medidas de velocidade da junta 1 parao mesmo ensaio.

Sabe-se que a diferenciacao numerica feitapara se estimar a aceleracao das juntas amplificao ruıdo presente nas medidas e isso pode invia-bilizar a obtencao dos parametros. Para elimi-nar esse ruıdo atraves de filtragem, alguns traba-lhos (Swevers et al., 1997) utilizam entradas queforcam trajetorias periodicas com uma banda defrequencia limitada. Desta forma e possıvel elimi-nar o ruıdo de medida fora da banda de frequenciada trajetoria, alem de que o calculo das derivadas(aceleracao e velocidade) pode ser feito utilizandoa Transformada de Fourier, ao inves de utilizaruma diferenciacao numerica.

Neste trabalho, tal tecnica nao e utilizada poiso robo opera em malha aberta, onde nao e possıvelestabelecer uma trajetoria com estas caracterısti-cas. Para eliminar o ruıdo, sao realizados diversosensaios com uma mesma entrada nominal e con-dicoes iniciais, e a media das medidas e utilizadana estimacao dos parametros. Desta forma, a me-dia do ruıdo tendera para zero, uma vez que ele econsiderado gaussiano com media zero.

No robo Janus, a tensao e aplicada a cadajunta via PWM, e desta forma a sua precisao de-pendera da precisao do PWM, que e igual paratodas as juntas. Assim o estimador de maximaverosimilhanca e reduzido para um estimador demınimos quadrados linear (Swevers et al., 1997)cuja solucao e (10).

θ =(

φT φ)

−1φT u (10)

Aplicando tal metodo obtem-se os valores ex-pressos em (11). Vale ressaltar que tais valoresnao correspondem diretamente os parametros dasjuntas e sim as combinacoes deles conforme defi-nidos na secao 3.

θ1 = 0.0897θ2 = 0.0532θ3 = −0.0278θ4 = 0.0070θ5 = 0.0394θ6 = 0.0304θ7 = 1.8451θ8 = −0.3051θ9 = 3.7646θ10 = 7.7043θ11 = 1.8013θ12 = 1.2415

(11)

As figuras 6 e 7 mostram uma comparacaoentre a posicao obtida atraves do modelo com osparametros estimados e os dados reais. O modeloe escrito na forma (12), utiliza-se o metodo de in-tegracao numerico Runge-Kutta de terceira ordemcom um passo de 1ms para simular o modelo es-timado e obter o comportamento do sistema aolongo do tempo para a mesma entrada utilizadanos ensaios.[

q1q2

]

=

[

D11 D12D21 D22

]

−1 [ V1V2

]

[

H11 H12H21 0

][

q1q2

]

(12)

[

0C21

]

[

θ9qi + θ10sign(q1)θ11q2 + θ12sign(q2)

]

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000

0.5

1

1.5

2

2.5

Amostras

Pos

ição

(ra

d)

ModeloMédia dos Ensaios

Figura 6: Posicao Angular da junta q1.

5 Resultados Experimentais

Comparar a simulacao do modelo obtido comos dados medidos e provavelmente a forma maisusual de se validar um modelo (Aguirre, 2004),com o cuidado de nao usar os dados utilizadosna obtencao do modelo. Dessa forma, aplicou-seuma nova entrada de tensao, mostrada na figura 8,para adquirir um novo conjunto de dados para avalidacao do modelo.

Assim, simulou-se o comportamento do mo-delo (12) de forma semelhante ao experimento dasecao 4 para diversas janelas de tempo. As posi-coes e as velocidades iniciais das juntas na simu-lacao foram inicializadas com o valor dessas varia-veis no robo real no inıcio da janela de simulacao.As figuras 9, 10, 11 e 12 mostram o resultado ob-tido na simulacao do modelo e o resultado do ex-perimento com o robo real, a partir de 21 segundoscom uma janela temporal de 14 segundos.

As figuras 9 e 10 mostram que o modelo iden-tificado tem um comportamento similar ao robodurante os tres primeiros segundos da simulacao.Isso corresponde a certa de 3000 amostras. A par-tir deste tempo, o modelo ate consegue imitar o asvariacoes do robo, porem com um drift. Esse driftpossivelmente ocorre devido a integracao de pe-quenos erros no modelo identificado, que sao acu-mulados ao longo do tempo. Este erro pode ser

Page 23: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000−1

−0.5

0

0.5

1

1.5

2

2.5

3

3.5

Amostras

Pos

ição

(ra

d)

ModeloMédia dos Ensaios

Figura 7: Posicao Angular da junta q2.

0 5 10 15 20 25 30 35−10

−8

−6

−4

−2

0

2

4

6

8

10

12

Ten

são

(V)

Tempo (s)

Junta 1Junta 2

Figura 8: Tensao aplicada as juntas.

relevado, uma vez que esta identificacao tem comoobjetivo a aplicacao de uma estrategia de controle,onde o modelo deve ser valido apenas para peque-nos espacos temporais, onde o erro, neste caso, epraticamente nulo.

As figuras 11 e 12 apresentam resultados me-lhores e mais proximos do robo. Isto ocorre pelofato que as figuras 9 e 10 representam posicao, as-sim elas vao acumulando os erros na velocidade aolongo do tempo.

Outro metodo de validacao, consiste em a par-tir os dados gerados pelo o ensaio calcular a tensaoaplicada na junta utilizando (8). Esta aplicacao eutil em estrategias de controle tais como o tor-que calculado. As figuras 13 e 14 apresentam talcomparacao. Nota-se que no inıcio do ensaio dajunta 2, a tensao calculada apresenta um offsetem relacao a medida. Este offset ocorre porque ajunta esta localizada no seu fim de curso (−π/4).Desta forma, existe uma sustentacao mecanica se-gurando ela parada nessa posicao que nao foi con-siderada no modelo.

Nos outros casos, a diferenca e devido ao ruıdode medida. Ao utilizar dados de apenas um en-saio, as estimativas de aceleracao angular ampli-

22 24 26 28 30 32 340

0.5

1

1.5

2

2.5

3

3.5

Pos

ição

(R

ad)

Tempo (s)

Posição SimuladaPosição Medida

Figura 9: Posicao Angular da junta q1.

22 24 26 28 30 32 34−1

−0.5

0

0.5

1

1.5

2

2.5

Pos

ição

(R

ad)

Tempo (s)

Posição SimuladaPosição Medida

Figura 10: Posicao Angular da junta q2.

ficam o ruıdo de medida aumentando a diferencaentre o modelo e o robo.

6 Conclusao

A comparacao da resposta do sistema obtida ex-perimentalmente com a resposta obtida do mo-delo permite concluir que o modelo estimado re-presenta bastante bem o sistema real. Para lon-gos perıodos de tempo (acima de 2000 vezes o pe-rıodo de amostragem), os resultados obtidos atra-ves de simulacao do modelo identificado derivamcom relacao os resultados obtidos experimental-mente, embora a forma da curva mantenha-se es-sencialmente a mesma. Esse comportamento podeser atribuıdo a tres fatores: a) a pequenos errosno modelo que sao acumulados ao longo do tempo,b) ao ruıdo, pois como tanto a simulacao do mo-delo quanto os experimentos foram realizados semuma trajetoria periodica e c) erros de integracaonumerica ao simular o modelo.

Page 24: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

22 24 26 28 30 32 34−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Vel

ocid

ae (

Rad

/s)

Tempo (s)

Velocidade SimuladaVelocidade Medida

Figura 11: Velocidade Angular da junta q1.

22 24 26 28 30 32 34−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

Vel

ocid

ae (

Rad

/s)

Tempo (s)

Velocidade SimuladaVelocidade Medida

Figura 12: Velocidade Angular da junta q2.

Referencias

Aguirre, L. A. (2004). Introducao a Identificacaode Sistemas, Editora UFMG.

Craig, J. J. (1989). Introduction to Robotics Me-chanics and Control, second edn, Addison-Wesley.

Denavit, J. and Hartenberg, R. S. (1955). A kine-matic notation for lower-pair mechanisms ba-sed on matrices, Trans ASME J. Appl. Mech23: 215–221.

Fitzgerald, A. E. (2002). Electric machinery,McGraw-Hill.

Fu, K. S., Gonzales, R. C. and Lee, C. S. G.(1987). Robotics Control, Sensing, Visionand Intelligence, Industrial Engineering Se-ries, McGraw-Hill, New York.

Grotjahn, M., Heimann, B. and Abdellatif, H.(2004). Identification of friction and rigid-body dynamics of parallel kinematic structu-res for model-based control, Multibody Sys-tem Dynamics 11 pp. 273–294.

0 5 10 15 20 25 30 35−6

−4

−2

0

2

4

6

8

Ten

são

(V)

Tempo (s)

Tensão AplicadaTensão Simulada

Figura 13: Tensao aplicada na junta q1.

0 5 10 15 20 25 30 35−15

−10

−5

0

5

10

15

Ten

são

(V)

Tempo (s)

Tensão AplicadaTensão Simulada

Figura 14: Tensao aplicada na junta q2.

Radkhah, K., Kulic, D. and Croft, E. (2007).Dynamic parameter identification for the crsa460 robot, Intelligent Robots and Systems,2007. IROS 2007. IEEE/RSJ InternationalConference on, pp. 3842–3847.

Santini, D. C. and Lages, W. F. (2008).A distributed robot control architectureusing RTAI, Proccedings of the Tenth Real-Time Linux Workshop, Centro Universi-tario del Norte, Universidad de Guadala-jara, Colotlan, Mexico, pp. 1–5. Availa-ble at <http://www.osadl.org/fileadmin/events/rtlws-2008/p19.pdf>.

Swevers, J., Ganseman, C., Tukel, D., de Schut-ter, J. and Van Brussel, H. (1997). Opti-mal robot excitation and identification, Ro-botics and Automation, IEEE Transactionson 13(5): 730–740.

Page 25: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

CONTROLE EM TEMPO REAL DE UM ROBÔ BRACEJADOR UTILIZANDO MPC

VINÍCIUS MENEZES DE OLIVEIRA∗, WALTER FETTER LAGES†

∗Universidade Federal do Rio Grande - Departamento de Matemática

†Universidade Federal do Rio Grande do Sul - Departamento de Engenharia Elétrica

Emails: [email protected], [email protected]

Abstract— The present work addresses the problem of real time predictive control of a brachiation robot, considering that therobot is constrained (underactuated, limited torque) and a multivariable system, which implies a very difficult problem due tothe large amount of on-line computation that is required. We have already demonstrated in previous works that it is not possibleto consider the nonlinear model-based MPC under real-time constraints. Furthermore, to overcome this problem we present alinearized model-based MPC, which is able to be handled under real-time constraints.

Keywords— Brachiation Robot, Predictive Control, Real Time Systems.

Resumo— Nesse artigo aborda-se o problema de controle preditivo em tempo real de um robô bracejador, considerando-seo sistema sob restrições (subatuação e limitação de torque) e multivariável, o que torna um problema extremamente difícil deser resolvido devido à grande demanda computacional para a solução do problema de otimização envolvido no esquema MPC.Demonstrou-se em trabalhos anteriores a impossibilidade de se empregar a estratégia MPC baseado em modelo não-linear sobrestrições de tempo real. Propõe-se como solução para esse problema o uso do MPC baseado em modelo linearizado, o qual épossível de ser empregado sob tais condições, como pode ser observado nos resultados apresentados.

Palavras-chave— Robô Bracejador, Controle Preditivo, Sistemas de Tempo Real.

1 Introdução

À medida que se apresentam grandes avanços tecnoló-gicos nas áreas de instrumentação, controle e aciona-mento, se torna cada vez mais difundida a utilizaçãode sistemas robóticos para a execução dos mais vari-ados tipos de tarefas, como por exemplo exploraçãode petróleo ou mesmo no transporte de cargas. Dessemodo, diversas são as situações em que se torna pos-sível o uso de sistemas subatuados, despertando o in-teresse da comunidade científica, quer seja pela varia-das situações em que se pode utilizar esse tipo de robôou mesmo pelo desafio que se apresenta o desenvolvi-mento de estratégias de controle de tais sistemas.

Várias são as abordagens já desenvolvidaspara o controle de robôs subatuados, particular-mente considerando-se robôs manipuladores subatu-ados (Fantoni e Lozano, 2002; Albu-Schäffer et al.,2005; Aguilar et al., 2006). Da mesma maneira, di-ferentes estratégias de controle já foram apresenta-das para o controle de robôs bracejadores subatuados,mas, na sua maioria, possuem limitações quanto aotipo de bracejamento que o robô pode executar, alémde não considerarem nenhuma restrição às variáveisdo sistema.

Os primeiros trabalhos introduzindo o problemade controle de robôs bracejadores são (Saito et al.,1994), os quais consideram um robô bracejador sim-ples, com dois elos. Nesses trabalhos eles propõemum método de aprendizado heurístico para a geraçãode trajetórias realizáveis pelo robô.

Fukuda, Hasegawa, Shimojima e Saito desenvol-veram um algoritmo de aprendizado por reforço auto-ajustável para gerar trajetórias realizáveis e que apre-sentam propriedades de robustez a algumas perturba-ções, enquanto Saito incluiu um controle por reali-

mentação para incrementar aspectos de robustez dosistema de controle (Hasegawa et al., 1999). Essestrabalhos não consideram o uso de modelo matemá-tico para a dinâmica do robô durante o processo deaprendizagem. A principal desvantagem de tal meto-dologia é a necessidade de um longo período de treina-mento (em torno de 200 experimentos com o robô fí-sico) para cada configuração do robô, a fim de se reali-zar com sucesso o movimento, considerando a mesmadistância entre pontos de apoio.

Nakanishi, Fukuda e Koditschek propuseramuma abordagem diferente, considerando uma di-nâmica alvo para o controle de sistemas subatua-dos (Nakanishi et al., 2000). A abordagem de dinâ-mica é uma variante das técnicas padrão para inversãode planta. Os autores utilizaram uma abordagem ins-pirada na biomecânica, definindo a tarefa dinâmica apartir de uma dinâmica alvo mais simples (de menordimensão) e com uso sistemático de simetria tempo-ral reversa. Entretanto, uma das desvantagens dessaestratégia é a necessidade de um modelo matemáticopreciso para a dinâmica do robô.

Na seqüência dos trabalhos, Hasegawa and Fu-kuda propuseram um robô bracejador com 7 elos. Esserobô é um sistema redundante, capaz de executar mo-vimentos complexos da mesma maneira que um ma-caco real, considerando a realização do movimento emum plano bi-dimensional (Hasegawa e Fukuda, 2004).Nesse trabalho os autores introduziram uma arquite-tura de controle para tratar com múltiplas variáveis deentrada e saída. A abordagem baseada em comporta-mento facilita o processo de projeto reduzindo o nú-mero de graus de liberdade a ser considerado, utili-zando, para tanto, a decomposição em comportamen-tos simples e coordenando as ações entre os várioscomportamentos. A principal desvantagem dessa es-

Page 26: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

tratégia é a dificuldade em se ajustar o controladorquando há alguma alteração no robô ou na tarefa a serrealizada.

Em (Kajima et al., 2003) é apresentada uma es-tratégia para o controle do robô multi-locomoção parase locomover por meio de bracejamento, baseada naabordagem de controle de comportamento local pre-viamente desenvolvida pelos autores. Uma outra es-tratégia, baseada em controle de energia para a fasede balanço do bracejamento é apresentada em (Kajimaet al., 2006), onde um modelo simplificado de 4 elos éempregado para representar a dinâmica do robô multi-locomoção. O objetivo é injetar a mínima quantidadede energia no robô durante as fases de balanço e deslo-camento. Em (Kojima et al., 2007) apresenta-se umanova estratégia para controle do movimento de brace-jamento, considerando intervalos irregulares das bar-ras de sustentação, baseada em Passive Dynamic Au-

tonomous Control (PDAC). A idéia central é desenvol-ver um método energeticamente eficiente que permiteatingir uma amplitude suficiente durante a fase de lo-comoção utilizando PDAC na dinâmica do robô.

Nesse artigo propõe-se um modelo de robô bra-cejador, juntamente com o desenvolvimento de ummodelo linearizado para o comportamento dinâmicodesse robô e, além disso, o presente trabalho tem porobjetivo apresentar uma estrutura de controle em ma-lha fechada que seja capaz de satisfazer aspectos detempo real. Nesse sentido, propôe-se estratégia decontrole preditivo baseado em modelo linearizado, aqual permite que, para o cálculo da lei de controle, se-jam consideradas restrições às variáveis de estado e deentrada durante a solução do problema de otimizaçãolinear.

2 Modelo Dinâmico

O robô bracejador subatuado considerado nesse traba-lho é mostrado na Fig. 1. Esse robô possui dois bra-ços e um elo atuando como um corpo, onde a cargapode ser carregada. Cada braço está equipado comuma garra que pode segurar firmemente a linha de su-porte, permitindo ao robô executar seu movimento, demodo similar a um robô manipulador comum. O robômovimenta-se através da troca de braços, liberando obraço e segurando a linha de sustentação em um pontoa frente. É importante se ter em mente que, embora orobô possua 3 juntas, somente uma única junta (junta2) é atuada.

Nessa seção apresenta-se o modelo dinâmico não-linear para o robô e o modelo linearizado estimado, oqual está baseado na expansão em série de Taylor e,discretizado utilizando-se o método de Euler.

2.1 Modelo Dinâmico Não-linear

Os sistemas de coordenadas do robô, de acordo com aFig. 1, são determinados de acordo com a convençãode Denavit-Hartenberg. Considerando o robô braceja-dor como um manipulador robótico de cadeia aberta,

y0

x0

y1

x1

y2

x2

y3

x3

m1l1

m2l2

m3l3

θ1

θ2

θ3

Figura 1: Robô bracejador com 3 elos.

sua dinâmica pode ser genericamente dada por (Fuet al., 1987):

M(θ)θ(t)+V(θ , θ)+G(θ) = Bτ −Fv (1)

Uma vez que o sistema é subatuado, torna-se con-veniente definir a matriz de seleção das entradas decontrole B como sendo:

B =

0 01 00 1

(2)

Assim, a dinâmica do robô dada por (1) pode serreescrita, mais adequadamente, na forma de espaço deestado:

x = f (x,τ) (3)

onde x = [θ θ ]T é o vetor de estado, τ é a entrada dosistema e

f (x,τ) =

[

θ

M(θ)−1(Bτ −Fv −V(θ , θ)−G(θ))

]

(4)

3 MPC Linearizado

Nas seções anteriores apresentou-se a estratégia MPCutilizando um modelo não-linear da dinâmica do sis-tema para o horizonte de predição. Tal abordagemmostra-se, do ponto de vista da carga computacionalexigida, muito dispendiosa devido ao fato de ter queresolver um problema de otimização não-convexa pormeio de programação não-linear. Há ainda o fato deque esses problemas apresentam um grande númerode variáveis de decisão e, não raramente, é impossívelencontrar um mínimo global como solução.

Assim, esse é o motivo pelo qual introduz-senessa seção o desenvolvimento da versão do MPC em-pregando um modelo linearizado para a dinâmica du-rante o horizonte de predição. Essa linearização é feitaa partir de um modelo para a dinâmica do erro entre atrajetória realizada pelo robô e a trajetória de referên-cia, previamente calculada.

Page 27: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

A idéia baseia-se na técnica de linearização suces-siva, que permite descrever o sistema não-linear atra-vés de um sistema linear variante no tempo. Conside-rando as entradas de controle como variáveis de deci-são é possível transformar o problema de otimizaçãoque deve ser resolvido a cada período de amostragemem um problema de programação quadrática. Para asolução desse tipo de problema existem diversos al-goritmos numéricos robustos que permitem encontrarsolução ótima global.

Considera-se, num primeiro momento, a existên-cia de um robô virtual de referência, o qual apresentauma dinâmica similar ao sistema real, e que será utili-zado para gerar a trajetória de referência. Assim, sejaa dinâmica do sistema virtual de referência dada por:

xr = fr(xr,τr) (5)

sendo xr o vetor de coordenadas generalizadas de re-ferência e τr o vetor de torques de referência.

A dinâmica linearizada para o sistema pode serobtida expandindo-se o lado direiro da equação (3) emsérie de Taylor em torno do ponto (xr,τr) e descar-tando os termos de mais alta ordem, obtém-se:

x = f (xr,τr)+∂ f (x,τ)

∂x

∣ x=xrτ=τr

(x− xr)

+∂ f (x,τ)

∂τ

∣ x=xrτ=τr

(τ − τr) (6)

ou

x = f (xr,τr)+ fx,r(x− xr)+ fτ,r(τ − τr) (7)

onde fx,r e fτ,r são os jacobianos de f com relação a x

e com relação a τ , respectivamente, avaliada no pontode referência (xr,τr).

Agora, subtraindo (5) de (7) tem-se: have:

˙x = fx,rx+ fτ,rτ (8)

onde x , x− xr é o erro de seguimento da referência eτ , τ − τr é o erro associado à entrada de controle.

A discretização de (8) pode ser obtida utilizando-se o método das diferenças finitas, resultando em:

x(k +1) = A(k)x(k)+B(k)τ(k) (9)

com

A(k) = In×n +T ∗hx,r(k) (10)

B(k) = T ∗hτ,r(k) (11)

Considerando o sistema linear do erro (9), torna-se possível considerar o problema de otimização comoum problema de otimização linear e, portanto, resol-vível por meio de programaçao quadrática. Assim,define-se os seguintes vetores:

x(k+1)=

x(k +1|k)x(k +2|k)

. . .

x(k +N|k)

, τ(k)=

τ(k|k)τ(k +1|k)

. . .

τ(k +N −1|k)

A função objetivo pode ser apresentada como:

Φ(k) = xT (k +1)Q x(k +1)+ τT (k)R τ(k) (12)

com

Q =

Q 0 . . . 00 Q . . . 0...

.... . .

...0 0 . . . Q

, R =

R 0 . . . 00 R . . . 0...

.... . .

...0 0 . . . R

É possível reescrever a equação (9) na forma:

x(k +1) = A(k)x(k)+B(k)τ(k) (13)

onde A e B são dados por:

A(k) =

A(k|k)A(k +1|k)A(k|K)

...α(k,2,0)α(k,1,0)

(14)

B(k) =

B(k|k) 0 . . . 0A(k +1|k)B(k|k) B(k +1|k) . . . 0

.

.

....

. . ....

α(k,2,0)B(k|k) α(k,2,0)B(k +1|k) . . . 0α(k,1,0)B(k|k) α(k,1,0)B(k +1|k) . . . B(k +N −1|k)

(15)

com

α(k, j, l) =l

∏i=N− j

A(k +1|k)

Considerando as equações (12) e (13), após ma-nipulação algébrica, é possível reescrever (12) como:

Φ(k) =12

τT H(k)+ τ(k)+ f T (k)τ(k)+d(k) (16)

com

H(k) , 2(BT(k)Q B(k)+R)

f (k) , 2(BT(k)Q A(k)x(k|k)

d(k) , x(k|k)AT(k)Q A(k)x(k|k) (17)

O termo quadrático é descrito pela matriz Hes-siana positiva definida H(k), a parte linear é descritapelo vetor f (k) e o termo d(k), que é independente deτ , pode ser ignorado para o problema de otimização.Além disso, pode se redefinir a função objetivo comosendo:

Φ′(k) =

12

τT H(k)+ τ(k)+ f T (k)τ(k) (18)

colocando-a na forma padrão utilizada em problemasde QP (programação quadrática). Assim, o problemade otimização a ser resolvido a cada período de amos-tragem é dado por:

u⋆ = argminuΦ

′(k) (19)

sujeito a:

Du(k + j|k) ≤ d, j ∈ [0,N −1] (20)

As restrições de amplitude das variáveis de con-trole (20) podem ser reescritas na seguinte forma:

τmin − τr(k + j) ≤ τ(k + j) ≤ τmax − τr(k + j) (21)

Page 28: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

4 Simulação em Tempo Real

Na seção 3 foi apresentada a abordagem de controlepreditivo que utiliza um modelo linearizado para a di-nâmica do sistema durante o horizonte de predição.Com o intuito de validar essa estrutura de controle pro-posta apresentam-se, nessa seção, os resultados refe-rentes à utilização do MPC com modelo linearizado.Os programas desenvolvidos para o MPC foram im-plementados em linguagem C++ e, para garantir a pre-cisão necessária para a execução em tempo-real foiutilizada a a extensão de hard real-time RTAI (ver-são 3.6) (http://www.rtai.org) para o kernel do Li-nux (versão 2.6.22.15) (http://www.kernel.org). Oproblema de otimização é resolvido utilizando-se a bi-blioteca OOQP.

Para as simulações a seguir o robô tem a seguinteposição inicial:

x0 =

− 3π4

−π2

π2000

(22)

Os parâmetros do controlador são definidos a se-guir:

N = 5

Q =

[

10I3×3 03×303×3 03×3

]

R =

[

0.5 00 0.5

]

−1.4

−1.2

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8

Y (

m)

X (m)

Trajetoria no Plano XY

RoboReferencia

Figura 2: Trajetória executada pelo robô.

A Fig. 2 apresenta a posição cartesiana do robôao longo do movimento e a trajetória de referência uti-lizada. O torque de referêcia e o torque aplicado aorobô, respectivamente nas juntas 1 e 2 podem ser vi-sualizados na Fig. 3 e na Fig. 4.

−16

−14

−12

−10

−8

−6

−4

−2

0

2

4

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Torq

ue J

unta

1 (

Nm

)

Tempo (s)

Torque aplicado por cada Motor

Torque 1Torque 1 −− Ref.

Figura 3: Torque aplicado na junta 1.

−12

−10

−8

−6

−4

−2

0

2

4

6

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Torq

ue J

unta

2 (

Nm

)

Tempo (s)

Torque aplicado por cada Motor

Torque 2Torque 2 −− Ref

Figura 4: Torque aplicado na junta 2.

As variáveis de posição angular para cada juntasão apresentadas, respectivamente, nas figuras Fig. 5,Fig. 6 e Fig. 7. Adiante, na Fig. 8 apresenta-se otempo necessário para se calcular o sinal de controle.Observa-se que o tempo requerido para essa simula-ção, considerando o modelo linearizado, foi muito me-nor do que o tempo gasto para a realização do cálculocom o modelo não-linear, apresentado na Fig. 9 paracomparação (de Oliveira e Lages, 2007). Dessa ma-neira, uma vez que o tempo requerido é menor que operíodo de amostragem definido (10ms), torna-se pos-sível a utilização desse esquema de controle.

5 Conclusão

O trabalho ora apresentado tem por objetivo a carac-terização dinâmica de um robô bracejador e o desen-volvimento de uma estratégia de controle em malhafechada que seja capaz de tratar de modo direto a pro-priedade de subatuação desse sistema. Na tentativade estabelecer um esquema de controle em malha fe-chada para o robô bracejador optou-se por empregar ocontrolador preditivo com horizonte deslizante, o qual

Page 29: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

−2.4

−2.2

−2

−1.8

−1.6

−1.4

−1.2

−1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

An

gu

lo (

rd)

Tempo (s)

Posicao Angular − Junta 1 (rd)

Junta 1Ref. Junta 1

Figura 5: Posição angular de cada junta.

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

An

gu

lo (

rd)

Tempo (s)

Posicao Angular − Junta 2 (rd)

Junta 2Ref. Junta 2

Figura 6: Posição angular de cada junta.

−1.5

−1

−0.5

0

0.5

1

1.5

2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

An

gu

lo (

rd)

Tempo (s)

Posicao Angular − Junta 3 (rd)

Junta 3Ref. Junta 3

Figura 7: Posição angular de cada junta.

apresenta vantagens que são importantes para tratar aquestão de subatuação do sistema em análise.

Apresentam-se como principais vantagens dessaabordagem de controle a possibilidade de se obter umalei de controle a partir da otimização de algum crité-

0.00045

0.0005

0.00055

0.0006

0.00065

0.0007

0.00075

0.0008

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Tem

po N

ecess

ari

o (

s)

Tempo (s)

Tempo de Iteracao

Figura 8: Tempo necessário para cálculo do sinal decontrole.

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0 5 10 15 20 25 30 35 40 45

Tem

po N

ecess

ari

o (

s)

Tempo (s)

Tempo de Iteracao

Figura 9: Tempo necessário para cálculo do sinal decontrole (caso não-linear).

rio definido por meio da função objetivo e a possibi-lidade de tratar de maneira direta restrições no estadoe nas entradas independentes de controle. Entretanto,tem-se como principal desvantagem dessa estratégiade controle o excessivo tempo de processamento ne-cessário para a solução do problema de otimização acada vez que se deseja obter uma nova entrada para osistema, o que poderia tornar inviável o uso dessa es-tratégia, em situação prática, para o controle do robôbracejador.

Os resultados apresentado mostram-se promisso-res com relação à aplicação prática da estratégia decontrole proposta nesse trabalho. Embora a grandedesvantagem dessa estratégia seja o alto custo compu-tacional para a obtenção do sinal de controle, tem-seresultados que comprovam a viabilidade de aplicaçãoem tempo-real. Os tempos medidos para o cálculo docontrole, considerando-se a versão do MPC com mo-delo linearizado para a predição, mostram-se menoresque o período de amostragem do sistema, ou seja, épossível, sim, resolver o problema de otimização (para

Page 30: fei.edu.br DE ROBÔS III/GE… · MEASUREMENT-FEEDBACK CONTROL FOR DISCRETE-TIME STATE-SPACE SYSTEMS Jo~ao P. Cerri ⁄, Marco H. Terra⁄, Adriano A. G. Siqueiray, Tatiana F. P

esse caso otimização linear) e, conseqüentemente, cal-cular a lei de controle dentro do tempo de amostragemdefinido.

De modo geral, pode-se dizer que a estratégia decontrole empregada nesse trabalho é capaz de fazercom que o robô realize, com sucesso, o movimento debracejamento, de tal modo que as restrições impostasao sistema não sejam violadas.

Agradecimentos

O primeiro autor agradece ao Prof. Toshio Fukuda pe-las considerações sobre o tema desse trabalho duranteestágio realizado no segundo semestre de 2007 juntoao Departamento de Micro-Nano Sistemas da Univer-sidade de Nagoya.

Os autores agradecem à CAPES (Coordenação deAperfeiçoamento de Pessoal de Nível Superior) e àCEEE (Companhia Estadual de Energia Elétrica) o su-porte financeiro para a realização desse trabalho. FU-KUDA / CAPES / CEEE

Referências

Aguilar, L. T., Boiko, I., Fridman, L. e Iriarte, R.(2006). Generation of periodic motions for unde-ractuated mechanical systems via second-ordersliding modes, Proceedings of the 2006 Ameri-

can Control Conference, pp. 5396–5400.

Albu-Schäffer, A., Ott, C. e Hirzinger, G. (2005).Constructive energy shaping based impedancecontrol for a class of underactuated euler-lagrange systems, Proceedings of the 2005 IEEE

International Conference on Robotics and Auto-

mation, pp. 1387–1393.

de Oliveira, V. M. e Lages, W. F. (2007). Com-parison between two actuation schemes for un-derctuated brachiation robots, Proceedings of the

2007 IEEE/ASME International Conference on

Advanced Intelligent Mechatronics.

Fantoni, I. e Lozano, R. (2002). Non-linear Control

for Underactuated Mechanical Systems, Com-munications and Control Engineering, Springer-Verlag.

Fu, K. S., Gonzales, R. C. e Lee, C. S. G. (1987). Ro-

botics: Control, Sensing, Vision and Intelligence,CAD/CAM Robotics and Computer, McGraw-Hill.

Hasegawa, Y. e Fukuda, T. (2004). Mechanism andcontrol of mechatronic system with higher de-grees of freedom, Annual Reviews in Control

(28): 137 – 155.

Hasegawa, Y., Fukuda, T. e Shimojima, K. (1999).Self-scaling reinforcement learning for fuzzy lo-gic controller - applications to motion control of

two-link brachiation robot, IEEE Transactions

on Industrial Electronics 46(6): 1123–1131.

Kajima, H., Doi, M., Hasegawa, Y. e Fukuda, T.(2003). Study on brachiation controller for themulti-locomotion robot – redesigning behaviorcontrollers, International Conference on Intel-

ligent Robots and Systems, Las Vegas, USA,pp. 1388 – 1393.

Kajima, H., Hasegawa, Y., Doi, M. e Fukuda, T.(2006). Energy-based swing-back control forcontinuous brachiation of a multilocomotion ro-bot, International Journal of Intelligent Systems

21(9): 1025 – 1043.

Kojima, S., Fukuda, T., Sekiyama, K. e Hasegawa,Y. (2007). Design method of brachiation con-troller based on virtual holonomic constraint,IEEE/ASME International Conference on Ad-

vanced Intelligent Mechatronics, ZÃ 14 rich, Swit-

zerland.

Nakanishi, J., Fukuda, T. e Koditschek, D. E. (2000).A brachiating robot controller, IEEE Transacti-

ons on Robotics and Automation 16(2): 109 –123.

Saito, F., Fukuda, T. e Arai, F. (1994). Swing and lo-comotion control for two-link brachiation robot,IEEE Control Systems Magazine 14(1): 5–12.