Sunteți pe pagina 1din 45

Capitolul 6

CONDUCEREA
PRIN
VARIABILE
DE STARE

Sistemele de conducere discutate în capitolul anterior au avut ca punct de


plecare metodele clasice de analiză şi proiectare bazate pe funcţii de transfer şi
criterii în frecvenţă. Aceste proceduri oferă rezultate foarte bune dar ele pornesc de
la premiza că sistemele mecanice conduse sunt liniare, ipoteză nu întotdeauna
realizabilă.
O abordare mai generală, globală şi mai riguroasă în raport cu exactitatea
tratării modelului dinamic al robotului este oferită de metodele bazate pe conceptul
de stare, pe variabilele de stare asociate dinamicii sistemului mecanic. În general,
starea structurii mecanice de manipulare a robotului este definită prin vectorii
poziţiilor şi vitezelor generalizate q, q aceşti parametrii sintetizând complet
aspectele cinematice şi dinamice ale sistemului.
Utilizând acest concept, în cadrul capitolului de faţă se vor prezenta câteva
metode şi proceduri de bază utilizate în stabilirea unor noi configuraţii de
conducere pentru roboţi şi manipulatoare.

6.1. Modele intrare-stare-ieşire

În primele capitole au fost puse în evidenţă principalele tipuri de ecuaţii ce


pot servi ca referinţă pentru definirea modelului dinamic al unui robot. Forma
generală a acestei dinamici a fost concretizată în ecuaţia
164 Roboţi industriali

J  qq  
  V q 2  F q i  
q j , q  G  q   M
(6.1)

unde coeficienţii matriciali J , V , F , G au semnificaţiile stabilite în (2.5), iar


q este vectorul (nx1) al coordonatelor generalizate.
Utilizând proprietatea de nesingularitate a matricei de inerţie J , ecuaţia
(6.1) se poate rescrie ca

 M1 
qi  f i  q1 ,..., q n , q 1 ,..., q n   Bi  q1 ,..., q n , q 1 ,..., q n    ...  (6.2)
 M n 

formă prin care se separă termenii ce definesc evoluţia internă, proprie, de cei
determinaţi de mărimile externe, intrările de control M i . Noii coeficienţi sunt
definiţi de

  
f  q, q    J 1  q  V q 2  F  q q , q   G  q  
B  q, q    J 1  q  I (6.3)

Orice control dinamic al unui robot trebuie să asigure anumite specificaţii


tehnologice, atingerea unei poziţii în spaţiul de operare sau o anumită orientare a
mâinii sau braţului robotului. Altfel spus, acest control trebuie să realizeze
cantitativ anumite mărimi considerate ca ieşirile sistemului,

M1 
y i  C i  q1 ,..., q n , q 1 ,..., q n   Di  q1 ,..., q n , q 1 ,..., q n    ...  ; i=1,2,...,m
 M n 
(6.4)

Funcţiile C i sunt evident neliniare în raport cu variabilele mişcării,


complexitatea lor fiind legată direct de modelele cinematice utilizate şi deci de
sistemele de referinţă adoptate. În general, mărimile de ieşire apelate în sistemele
robotice depind rar de variabilele de intrare aplicate, deci relaţia (6.4) se poate
rescrie mai simplu,
Capitolul 6. Conducerea prin variabile de stare 165

y i  C i  q1 ,..., q n , q 1 ,..., q n  ; i=1,2,...,m


(6.5)

Pentru o reprezentare a ecuaţiilor (6.2) - (6.5) în spaţiul variabilelor de stare,


se introduce vectorul variabilelor de stare x

 x1 
x 
x 2  (6.6)
 ... 
 
 x2n 

unde

xi  t   qi  t 
xi  n  t   q i  t  i=1,2,...,n (6.7)

Utilizând aceste notaţii, ecuaţiile (6.2) – (6.5) se rescriu sub forma,

 x1   x n1   0 
 x  x   0 
 2   n 2   
 ...   ...   ...   M 1 
       
 x n    x2n    0    M 2  (6.8)
 x n1   f1  x    B1  x    ... 
       
 x n  2   f 2  x    B2  x    M n 
 ...   ...   ... 
     
 x 2n   f n  x    Bn  x  
 y1   C1  x  
 y   C  x 
 2 2  (6.9)
 ...   ... 
   
 y m  C m  x  

Introducând notaţiile,
166 Roboţi industriali

 x n 1   0 
 ...   ... 
   
 x2n   0 
A x     B x    
 f1  x    B1  x  
 ...   ... 
   
 f n  x    Bn  x  
 C1  x    M1 
 C  x  M 
C x   2   2 u (6.10)
 ...   ... 
   
C m  x   M n 

unde A , B , C , u au dimensiunile (2nx1), (2nxn), (mx1), (nx1), respectiv,


atunci ecuaţiile (6.8), (6.9) devin,

x  A x   B x  u
(6.11)
y  C  x   D x  u
(6.12)

sau

y  C x
(6.13)

Relaţiile (6.11), (6.12) definesc ecuaţiile intrare-stare-ieşire asociate


modelului dinamic al unui robot. Forma de mai sus reprezintă una din modalităţile
de scriere al relaţiilor intrare-stare-ieşire care pune în evidenţă intrarea u ca
mărime aditivă faţă de modelul intrinsec (liber) al sistemului.
Pentru exemplificare, se va considera robotul în coordonate cilindrice descris
de figura 2.11. Ecuaţiile (2.79), (2.81), (2.82) ce determină modelul său dinamic
pot fi rescrise sub forma,

B1 1
1    M1
J 1 J 1
Capitolul 6. Conducerea prin variabile de stare 167

1
d2   g  F2 (6.14)
m
B2 1
d3    F
 m3  m N   m3  m N  3
În conformitate cu (6.6) vectorul de stare va fi

1   x1 
d   x 
 2  2
 d 3   x3 
x   (6.15)
 1   x 4 
d 2   x5 
   
 d 3   x6 

iar coeficienţii matriciali,

 x4 
 x5 
 
 x6 
A x     (6.16)
  B1  x  J 1 
 g 
 
 B2  x   m3  m N  

0 0 0 
0 0 0 
 
0 0 0 
1 
0 0
B  x    J 1  (6.17)
 
0 1 
0
 m 
 1 
0 0 
  m3  m N  
168 Roboţi industriali

Matricile de intrare sunt date direct de forţele şi momentele aplicate,

 u1   M 1 
u  u 2    F2  (6.18)
u 3   F3 

Deci modelul intrare-stare poate fi definit printr-un sistem de ecuaţii


diferenţiale de ordinul 6 de forma (6.11).
Mărimile de ieşire ale acestui robot sunt de fapt reprezentate direct de
coordonatele generalizate 1 , d 2 , d 3 , deci vor fi,

y1  1  x1
y 2  d 2  x2 (6.19)
y 3  d 3  x3

Ieşirea (6.12) se va putea rescrie sub forma,

y  C x  C  x (6.20)

unde

1 0 0 0 0 0
C  0 1 0 0 0 0
0 0 1 0 0 0
(6.21)

În unele cazuri, vectorul de ieşire poate avea în componenţa sa şi vitezele


liniare sau unghiulare asociate articulaţiilor, în special când se doreşte realizarea
unui control după viteză. În aceste situaţii, matricea C va fi practic matricea
indentitate I .

6.2. Conducerea prin decuplări neliniare

O caracteristică semnificativă a modelelor dinamice, pusă în evidenţă în


toate exemplele analizate, este neliniaritatea pronunţată a coeficienţilor ecuaţiilor
Capitolul 6. Conducerea prin variabile de stare 169

diferenţiale ce descriu modelul şi intercondiţionarea, practic totală, a parametrilor


acestora.
Tehnica decuplării neliniare, dezvoltată de Freund [11, 37] reprezintă pe de o
parte o abordare teoretică riguroasă a modelelor neliniare ale roboţilor şi, în acelaşi
timp, constituie punctul de plecare pentru realizarea unei sinteze eficiente a
sistemului de conducere permiţând utilizarea unor tehnici avansate de proiectare cu
alocarea adaptivă a polilor sistemului în circuit închis.
Pentru precizarea metodei se va considera modelul dinamic în forma (6.11),
(6.12). Se va considera o lege de conducere de forma,

u  F  x   G x w (6.22)
unde F , G sunt matrici de reacţie de dimensiune corespunzătoare iar w este
noua intrare a sistemului în circuit închis. Dacă matricile F , G se aleg astfel
încât,

F  x    D 1  x  C  x  (6.23)
G x   D 1
 x 
(6.24)

unde

  diag  1 ,  2 ,...,  n  (6.25)

atunci relaţia (6.12) devine,

 
y  C  x   D x   D 1  x  C  x   D 1  x   w (6.26)

sau

y  w (6.27)

formulă ce stabileşte o relaţie intrare-ieşire liniară şi decuplată pentru sistemul


global.
Din nefericire, o asemenea procedură nu poate fi aplicată decât foarte rar,
întrucât ieşirea y este, cel mai adesea, dată în forma (6.13), deci independentă de
intrarea u . Totuşi, metoda poate fi utilizată în condiţiile unei prelucrări
suplimentare a ieşirii y , din relaţia (6.13), astfel încât să permită introducerea
170 Roboţi industriali

unei decuplări în forma descrisă mai sus. Tehnica cea mai utilizată în acest sens
constă în derivarea succesivă a mărimii de ieşire y i ,

d C  x  C
y i   C i  x    i x  i  A x   B x  u  ; i=1,2,...,m (6.28)
dt x x

sau

C i  x 
y i  A x 
x
(6.29)

întrucât ultimul element al dezvoltării în (6.28) este nul. Într-adevăr, din relaţiile
(6.10) se obţine ( C i nu depinde de variabilele x n 1 ,..., x 2 n ),

 0 
 0 
 
Ci  C Ci Ci   ... 
B x    i ... 0 0 ... 0     0 0 ... 0
x  x1 x2 xn   B1  x  
 ... 
 
 B2  x  
(6.30)

O nouă derivare asupra relaţiei (6.29) dă,

d  C i  x     C  x  
y i   A x     i A x   x
dt  x  x  x 
  C i  x     C i  x  
y i   A x   A x    A x   B  x  u
x  x  x  x 
(6.31)

O analiză atentă a formei particulare a matricilor ce intervin în relaţia (6.10)


permite obţinerea unor simplificări. Ţinând cont de (6.10) rezultă,
Capitolul 6. Conducerea prin variabile de stare 171

 x n1 
x 
 n 2 
 ... 
Ci  C Ci Ci   
A x    i ... 0 0 ... 0   x 2 n  
x  x1 x 2 x n   f  x 
 1 
 ... 
 f  x
 n 
Ci Ci Ci
 x n1  x n 2  ...  x 2n
x1 x 2 x n

iar din relaţia (6.8) se obţine

C i C C i C i
A x   i x 1  x 2  ...  x n (6.32)
x x1 x 2 x n

Deci,

  C i  x    n  Ci  x 
2
C i  x  C i  x  
 A x   
 x j .... ... 
x  x   j 1 x1x j x1 x n 
(6.33)

Acest rezultat permite aprecierea ultimului termen din (6.31). Într-adevăr,

 0 
 ... 
 
  Ci  x    n  2Ci  x  Ci  x  Ci  x    0 
 A x   B x     x j .... ...  0
x  x   j 1 x1x j x1 xn   B1  x  
 ... 
 
 Bn  x  
(6.34)

Relaţia (6.31) stabileşte, deci, o legătură directă între derivata de ordin doi a
ieşirii şi intrarea sistemului
172 Roboţi industriali

y  C *  x   D *  x  u (6.35)

unde

y   y1 , y 2 ,..., y n  T

C *  x    C *1  x  , C *2  x  ,..., C *n  x   T
D *  x    D *1  x  , D *2  x  ,..., D *n  x   T

iar

  C i  x  
C *i  x    A x   A x 
x  x 
  C i  x  
D *i  x    A x   B  x 
x  x 
(6.36)

Forma ecuaţiei (6.35) permite introducerea unei proceduri de decuplare de


tipul celei analizate mai sus. Se va considera legea de conducere,

u   D *  x  1  C *  x   M *  x    D *  x  1 w (6.37)

unde M * este un vector ce permite o alocarea convenabilă a polilor sistemului


decuplat prin alegerea sa sub forma,
Capitolul 6. Conducerea prin variabile de stare 173

 C1  x  
  01 C1  x    11 A  x  
x
 C 2  x  
 02 C 2  x    12 A x  
 x 
M *  x   ... 
 C i  x  
  0 i C i  x    1i A x  
 x 
...
 C  x  
 0n C n  x    1n n A x  
 x 
(6.38)

iar  are forma (6.25).


Substituind mărimea de intrare u din (6.37) în ecuaţia generală (6.35) se
obţine,

y   M *  x   w (6.39)

Ţinând cont de (6.13), (6.29) şi (6.38), formula de mai sus se poate rescrie pe
componentele mărimii de ieşire,

y i   1i y i   0i y i  i wi (6.40)

relaţie care confirmă decuplarea totală a variabilelor sistemului, fiecare


componentă de ieşire y i fiind controlată numai de componenta corespunzătoare
de intare wi , sistemul pentru fiecare coordonată comportându-se ca un sistem
liniar de ordinul doi. Mai mult, prin alegerea corespunzătoare a coeficienţilor  0i ,
 1i , i se poate obţine o comportare dinamică dorită, cu performanţe impuse.
O reprezentare simbolică a decuplării neliniare este sugerată în figura 6.1.
Un sistem de calcul suficient de puternic determină matricile de decuplare C *  x  ,
D * 1  x şi matricea de reacţie pentru alocarea polilor M *  x  . Aceste matrici
se recalculează la fiecare modificare a lui x . Evident că o implementare fizică a
unui astfel de sistem este posibilă numai dacă efortul de calcul cerut este
compatibil cu o conducere în timp real.
174 Roboţi industriali

Pentru exemplificare se va analiza modelul dinamic descris prin ecuaţiile


(6.15) – (6.21)

 x1 
C  x    x 2 
 x3 

y

w +
 x
u
1
-
D*

+ C *  x x

M *  x
-

Calculator

Coeficienţi

Figura 6.1

C1  x 
 1 0 0 0 0 0
x
C 2  x 
  0 1 0 0 0 0
x
C 3  x 
  0 0 1 0 0 0
x
C1  x 
A x   x 4  x 1
x
C 2  x 
A x   x5  x 2
x
Capitolul 6. Conducerea prin variabile de stare 175

C 3  x 
A x   x 6  x 3
x
  C1  x  
 A x     0 0 0 1 0 0
x  x 
  C 2  x  
 A x     0 0 0 0 1 0
x  x 
  C 3  x  
 A x     0 0 0 0 0 1
x  x 

Matricile de decuplare se obţin din formulele (6.36),

  C1  x   B  x
C *1  x    A x   A x    1
x  x  J 1
  C 2  x  
C *2  x    A x   A x    g
x  x 
  C 3  x   B2  x 
C *3  x    A x   A x   
x  x   m3  m N 
  C1  x  
D *1  x    A x   B  x   1 J 1  x  0 0
x  x 
  C 2  x  
D *2  x    A x   B  x    0 1 m  0
x  x 
  C 3  x  
D *3  x    A x   B  x    0 0 1  m3  m N  
x  x 

Deci,

1 J  x  1 0 0 

D *  x   0 1 m 0 

 0  
0 1 m3  m N 

Alegând matricile M *  x  şi  ,
176 Roboţi industriali

  01 y1   11 y 1 
M *  x    02 y 2   12 y 2 
 03 y 3   13 y 3 
  diag  1 ,  2 , 3 

introducerea unei legi de reglare de forma (6.37) aduce sistemul studiat la forma
decuplată,

1   11 1   011  1 w1


d2   12 d 2   02 d 2   2 w2
d3   13 d 3   03 d 3  3 w3

Tehnica decuplării neliniare dezvoltată mai sus s-a bazat pe reprezentarea


prin variabilele de stare a modelului dinamic al robotului. O tratare similară poate
fi obţinută din ecuaţiile dinamicii, date în condiţiile generalizate ale mişcării,
ecuaţiile (6.2). Ţinând cont de faptul că,

y i  qi ; i=1,2,...,n (6.41)

se obţine,

 M1 
y i  f i  q, q   Bi  q, q   ...  (6.42)
 
 M n 

Comparând această relaţie cu relaţia (6.37) se obţine,

C *i  q, q   f i  q, q 
D *i  q, q   Bi  q, q  (6.43)

Decuplarea neliniară rezultă din (6.35) direct sub forma,

M i   B *i1  q, q   f i  q, q    0i qi   1i q i  i wi  (6.43)

unde B *i1 desemnează linia i a inversei matricei,


Capitolul 6. Conducerea prin variabile de stare 177

 B1  q, q  
 ... 
 
B q, q    B2  q, q   (6.44)
 
 ... 
 Bn  q, q  

  B1  x  J 1 
C *  x    g 

 B2  x   m3  m N  
yi   1i y i   0i yi  i wi i=1,2,...,n (6.45)

Indiferent de tehnica adoptată, decuplarea neliniară cere câteva prelucrări


matriciale care, în funcţie de complexitatea modelului dinamic, pot face ca metoda
să devină neaplicabilă. În cazul exemplului discutat, operaţiile matematice
solicitate sunt relativ simple, inversarea matricei D *  x  şi operaţiile de adunare-
scădere şi înmulţirea putând fi realizate fără dificultăţi mari, forma specială a
acestor matrici permiţând operaţii direct pe componente.
În condiţiile în care decuplarea neliniară este posibilă fără eforturi mari, ea
reprezintă o soluţie pentru determinarea unei conduceri corecte, cu performanţe
bune, sistemul global fiind redus la n sisteme liniare de ordin doi, decuplate, fiecare
sistem condus prin propria variabilă de intrare wi . Mai mult, prin alegerea
coeficienţilor  0i ,  1i , i se permite o alocare convenabilă a polilor sistemului
decuplat astfel încât să se asigure gama de performanţe cerute.

6.3. Controlul mişcării perturbate

Scopul oricărui sistem de conducere al unui robot este de a asigura o mişcare


dorită, o traiectorie nominală impusă în spaţiul de operare. Deci, dacă q d , q  d
reprezintă coordonatele generalizate, vitezele şi acceleraţiile dorite, aceste mărimi
trebuie să verifice ecuaţiile ce guvernează mişcarea (6.1).

J  q d  qd  V  q d   F  q d , q d , q d   G  q d   M d (6.46)

sau într-o formă mai concentrată, grupând forţele Coriolis şi de frecare,

J  q d  qd  N  q d , q d   G  q d   M d (6.47)
178 Roboţi industriali

unde M d este controlul impus, vectorul forţă sau moment, ce asigură evoluţia
dorită. Dacă, în raport cu valorile prescrise M d , se produce o abatere M ,

M  M d  M (6.48)

se va obţine o perturbare a traiectoriei mişcării, parametrii acesteia modificându-se

q  q d  q
q  q d  q (6.49)
q  q d  q

Evident că aceste noi mărimi vor verifica modelul dinamic,

J  q d  q  qd  q   N  q d  q , q d  q   G  q d  q   M d  M (6.50)

Dezvoltând pe N şi G în serie Taylor în jurul traiectoriei nominale, neglijând


termenii de ordin superior şi presupunând că

J  q d  q   J  q d 

se obţine

J  q d  qd  q   N  q d , q d   N1q  N 2 q  G q d   G1q  M d  M (6.51)

unde N1, N2, G1 sunt matrici (nxn) de forma

 N   N   G 
N1    ; N2    ; G1    (6.52)
 q  qd  q  qd  q  qd

calculate pe traiectoria nominală  q d , q d  . Ţinând cont de (6.47), ecuaţia (6.51)


devine

J  q d  q  N1q   N 2  G1  q  M (6.53)

sau
Capitolul 6. Conducerea prin variabile de stare 179

d q   0 I  q   0 
q    J 1  N  G  J 1 
N1  q   J 1 
M
dt    2 1
(6.54)

Introducând vectorul de stare x, din (6.6), (6.7) rezultă

 q 
x    (6.55)
 q 

şi notând prin M, P matricile,

 0 I 
M  (6.56)
 J  N 2  G1 
1
J 1
N1 

 0 
P   1  (6.57)
J 

relaţia (6.54) devine,

x  Mx  Pu

Ecuaţiile (6.57) reprezintă modelul perturbat al dinamicii robotului faţă de o


traiectorie nominală dată. Modelul obţinut este liniar iar forma matricilor M, P
indică controlabilitatea completă a acestuia.
Să considerăm că asupra robotului se aplică o lege de control de forma,

u  Kx  w (6.58)

unde K este o matrice de reacţie aleasă corespunzător iar w este intrarea generală în
sistem. Din (6.57) rezultă,

x   M  PK  x  Pw
(6.59)

În conformitate cu specificaţiile teoriei sistemelor liniare, controlabilitatea


perechii  M , P  face ca întotdeauna să existe o matrice K astfel încât matricea
180 Roboţi industriali

M  PK  să aibă valori proprii impuse în semiplanul stâng, deci să asigure


stabilitatea regimului perturbat, revenirea la traiectoria nominală.
6.4. Sisteme de conducere adaptivă

Sistemele de conducere discutate în paragrafele precedente se bazează în


principiu pe exactitatea modelului matematic al robotului, corectitudinea acestuia
fiind direct corelată cu performanţele realizate. În realitate, modelele cinematice
sau dinamice nu sunt complet cunoscute şi nu sunt invariabile în timp ci se
modifică într-un mod asupra căruia nu există informaţia apriorică necesară. Aceste
modificări se pot produce accidental, în urma operaţiilor efectuate, sau apar firesc,
printr-o uzură progresivă a componentelor. De asemenea, robotul este prin esenţa
sa un element de manipulare, sarcina pe care o transferă fiind, în general, extrem de
diversificată, deci ea va conta ca o mărime perturbatoare în ecuaţiile ce definesc
regimul static şi dinamic al robotului. Toate aceste elemente pun în evidenţă
dificultatea obţinerii unui model teoretic exact necesar asigurării unor game de
performanţe impuse într-o conducere specifică.
Aceste dificultăţi pot fi depăşite prin introducerea unor structuri de comandă
adaptive. În această direcţie se utilizează două metode: [93, 94, 113, 114] prima
desemnată sub titulatura „control adaptiv cu ajustarea parametrilor modelului” în
care se obţine un model îmbunătăţit al robotului prin tehnici de estimare on-line a
parametrilor acestuia şi o a doua cunoscută sub denumirea de „control adaptiv cu
model de referinţă” care asigură conducerea robotului având ca referinţă un model
etalon, sistemul de conducere utilizat măsurând în permanenţă eroarea între
funcţionarea reală a robotului şi cea ideală oferită de model. Prima metodă necesită
în general tehnici şi sisteme de calcul performante care să permită „reactualizări”
ale modelului în timp real. Structurile de conducere adaptive uzuale se bazează în
special pe a doua metodă, mai simplă şi cu implicaţii hardware mai modeste.
În figura 6.2 este prezentată configuraţia generală a unei conduceri adaptive
cu model de referinţă. Se remarcă calculul erorii e, abaterea ieşiri reale y faţă de ye,
ieşirea furnizată de modelul etalon. Un bloc specific de adaptare asigură
modificarea parametrilor legii de reglare.
Pentru tratarea acestui sistem de conducere se va considera modelul dinamic
al robotului (6.1) în forma,

x  A*  x  x  B  x  u (6.60)
Capitolul 6. Conducerea prin variabile de stare 181

u + y
Robot
-

Ajustarea legii de
conducere

+
Mecanism de e
adaptare
-

Model
etalon ye

Figura 6.2

Ţinând cont de (6.10) se observă că o astfel de scriere este întotdeauna


posibilă. Pentru simplificarea scrierii A*  x  va fi notată cu A x  .
Modelul de referinţă va fi descris de o ecuaţie liniară

x m  Am x m  Bm u (6.61)

unde Am , Bm , C m sunt matrici constante, de dimensiuni (2nx2n), (2nxn),


(nx2n), respectiv. Ecuaţiile (6.60), (6.61) sintetizează comportarea dorită, ideală a
robotului ceea ce înseamnă, în primul rând, un model stabil, deci matricea Am are
toate valorile proprii în semiplanul stâng.
Sistemul de adaptare preconizat va avea ca sarcină să determine acele
modificări ale parametrilor legii de conducere astfel încât comportarea modelului,
deci vectorul coordonatelor generalizate ale robotului, să tindă către vectorul de
stare al modelului, pentru aceeaşi mărime de intrare u. Un astfel de mecanism va
opera pe baza diferenţei între coeficienţii matriciali ai robotului şi modelului. Se
vor nota [93],

  Am  A x 
(6.62)
  Bm  B (6.63)
182 Roboţi industriali

unde  ,  sunt matrici de dimensiune (2nx2n) şi (2nxn) respectiv şi ai căror


coeficienţi

 ij  t   a mij  aij  x t  , t  i,j=1,2,...,2n (6.64)


 ij  t   bmij  bij  x t  , t  i=1,2,...,2n; j=1,2,...,n
(6.65)

sintetizează legea de adaptare. În relaţiile de mai sus, coeficienţii a ij , bij


reprezintă, în momentul iniţial, coeficienţii modelului (6.60) iar ulterior, prin
intervenţia mecanismului de adaptare, noile valori necesare pentru tinderea spre
zero a erorii. Deci,

a ij  x 0  ,0   a ij  x 0 
bij  x 0  ,0   bij  x 0  (6.66)

unde x 0 reprezintă parametrii iniţiali ai mişcării robotului.


Dependenţa directă de timp a acestor coeficienţi este determinată numai de
sistemul de adaptare, variaţiile efective ale parametrilor fizici ai robotului
considerându-se lente în timp [113].
În sensul analizat, eroarea de adaptare se va defini prin

e  xm  x (6.67)

sau

e  x m  x (6.68)

Introducând x m şi x din (6.60), (6.61) se obţine

e  Am x m  A x  x   Bm  B x   u (6.69)

sau, ţinând cont de expresia erorii (6.67),

e  Am e   Am  A x   x   Bm  B x   u (6.70)
Capitolul 6. Conducerea prin variabile de stare 183

Ecuaţia (6.70) reprezintă modelul matematic al erorii şi defineşte în modul


cel mai semnificativ sistemul de adaptare. Evident, un circuit de adaptare operează
corect atunci cînd

lim e t   0 (6.71)
t 

Pentru analiza condiţiilor de stabilitate ale ecuaţiei (6.70) se va utiliza


metoda a doua a lui Liapunov. Se consideră o funcţie Liapunov de forma [93,113],

2n 2n 2 n 2n
V  e T Pe     ij  ij2    vij  ij2 (6.72)
i 1 j 1 i 1 j 1

unde P este o matrice simetrică şi pozitiv definită iar  ij , vij sunt constante
pozitive. Ţinând cont şi de faptul că anularea erorii e înseamnă şi anularea
variabilelor  ij ,  ij definite în (6.64), (6.65), rezultă că V este pozitiv definită.
Derivata V calculată de-alungul soluţiilor ecuaţiei (6.70) dă,

2n 2n 2n 2n
V  e T Pe  e T Pe  2   ij  ij  ij  2  vij  ij  ij
i 1 j 1 i 1 j 1

sau

   
2n 2n
V  e T Am
T
P  PA m e  2   ij  ij  x j e T pi  ij 
i i j 1

 
2n 2n
 2  vij  ij  u j e T p i  ij (6.73)
i 1 j 1

unde s-au notat [93, 16] cu x j elementul j al vectorului x, p i - coloana i din


matricea P şi u j elementul j al vectorului u.
Datorită stabilităţii impuse modelului de referinţă ( Am stabilă), există
întotdeauna o soluţie P, pozitiv definită şi simetrică, a ecuaţiei matriciale [84, 85],

T
Am P  PA m  Q (6.74)
184 Roboţi industriali

unde Q este, de asemenea, o matrice pozitiv definită.


Relaţia (6.74) permite aprecierea primului termen al lui V. Pentru a asigura
condiţia de funcţie negativ semidefinită a lui V este suficient să anulăm ultimii doi
termeni în dezvoltarea (6.73),

 ij  ij  x j e T p i  0 (6.75)
T
vij  ij  u j e pi  0 (6.76)

Cu aceste condiţii V devine,

V  e T Qe (6.77)

deci modelul dinamic al erorii este stabil, modelul ajustat al robotului tinzând către
cel al sistemului de referinţă.
Relaţiile (6.75), (6.76) reprezintă practic mecanismul de adaptare impus,
într-adevăr, prin integrarea ecuaţiilor respective se obţin coeficienţii matriceali  ij
ce permit calculul matricilor ajustate A, B prin formulele (6.62), (6.63). Integrarea
acestor ecuaţii impune calculul unor coeficienţi neliniari ce depind de starea
robotului x j , intrarea aplicată acestuia u j şi eroarea determinata în sistemul de
adaptare e. Determinarea vectorilor p i se poate realiza off - line, aceştia
calculându-se anticipat în funcţie de modelul de referinţă ales.
Pentru exemplificare, se va considera robotul în coordonate cilindrice descris
prin ecuaţiile (2.79). (2.81), (2.82). Considerând vectorul de stare de forma (6.15),
aceste ecuaţii pot fi aduse la forma (6.60) în care matricile A x  şi B  x  vor fi,

0 0 0 1 0 0
0 0 0 0 1 0

0 0 0 0 0 1
A x   0 0 0  B1 J 1 x 4 0 0


0 0 0  g 2 x4 0 0
 B2 
0 0 0  0 0
 x 4  m3  m n  
Capitolul 6. Conducerea prin variabile de stare 185

 0 0 0 
 0 0 0 
 
 0 0 0 
 1 
0 0
B x    J 1  x  
 
 0 1 
0
 m 
 1 
 0 0 
  m3  mn  
Modelul de referinţă este preferabil să fie ales de tip decuplat, relaţiile intrare
- ieşire pe fiecare variabilă fiind definite de ecuaţii diferenţiale de ordin doi de
forma

y mi  2 i  ni y mi   n2i y mi  i u i i=1,2,3 (6.78)

unde  ,  n şi  asigură regimul dinamic dorit. Întrucît ymi = xmi, matricile


modelului de referinţă vor fi,

0 0 0 1 0 0 
0 0 0 0 1 0 

0 0 0 0 0 1 
Am    (6.79)
0 0 0  21 n1 0  n21 
0 0 0  2 2 n 2 0  n22 
 
0 0 0  2 3 n3 0  n23 
0 0 0
0 0 0 

0 0 0
Bm   
1 0 0
0 2 0
 
 0 0 3 
186 Roboţi industriali

Ţinând cont de componenţa vectorului de stare (6.15), relaţiile de


adaptare (6.75) şi (6.76) devin,
1
 44    1e T p 4
 44
1  T
 46   d 3e p4
 43
1
 54    1e T p 5
 54
1  T
 56   d 3 e p5
 56
1
 64    1e T p 6 (6.80)
 64
1  T
 66   d 3e p6
 66
1
 41   M 1e T p 3
v 31
1
 52   F2 e T p 4
v 42
1
 63   F3 e T p 5
v53

unde  1 şi d 3 sunt vitezele unghiulare şi de translaţie măsurate iar M 1 , F2 şi


F3 sunt propriile intrări aplicate în articulaţiile robotului. Vectorii p 3 - p 6
utilizaţi în formulele (6.80) se obţin uşor întrucât rezolvarea ecuaţiei (6.74), pentru
forma particulară a matricii Am din (6.79), nu prezintă dificultăţi.
Determinarea coeficienţilor  ij şi  ij permite ajustarea convenabilă a
coeficienţilor a ij şi bij conform relaţiilor (6.64), (6.65). De exemplu,

a 44  a m44   44  21 n1   44
(6.81)

Calculul analizat este pur formal. În realitate, coeficienţii a ij şi bij nu pot


fi modificaţi direct ei fiind determinaţi de constantele şi parametrii fizici şi
tehnologici ai robotului. Pentru a obţine mecamisinul de ajustare al acestor
Capitolul 6. Conducerea prin variabile de stare 187

coeficienţi să considerăm ecuaţia asociată acestui parametru. Din (6.80) şi (6.77)

u
+
+
+

  ij x j
Calculul termenilor
  ij u j
de adaptare  1 , d 3 , d 3 
ecuaţia (6.82)  
  , d , d 
 1 2 3
 ij ,  ij Calculul coeficienţilor  1 ,d 3 -
;ecuaţia (6.80)
e
xm
Model ecuaţia
(6.61), (6.79)

rezultă

Figura 6.3

x 4  ...a 44 x 4  ...  b41u1  ...

care, prin adaptare , devine

x 4  ... a 44   44  x 4  ...   b41   41  u1  ...

sau

x 4  ...  a 44 x 44  ...   b41u1  ...    44 x 4   41u1  


           
int rare generala (6.82)

Ultimii doi termeni ai ecuaţiei (6.82) sugerează modalitatea de ajustare a


parametrilor, ajustare realizabilă printr-un circuit de intrare care să introducă aditiv
termenii   44 x4   41u1  . În figura 6.3 este prezentată detaliat procedura de
adaptare.
188 Roboţi industriali

6.5. Sisteme de conducere utilizînd modelul invers al


robotului

Modelele dinamice analizate sunt caracterizate prin aşa-numita dinamică


directă în sensul că relaţia de cauzalitate intrinsecă corespunde unei relaţii naturale,
mărimile de intrare aplicate sistemului dinamic generând ieşiri corespunzătoare.
Astfel, pentru un robot cu o dinamică cunoscută, aplicarea unor forţe sau momente
în articulaţii va determina anumite coordonate de mişcare. Această relaţie de
ordonare (M,q) corespunde unei relaţii directe şi este specifică oricăror modele
naturale.
În acest context, considerând perechea (M,q) ca asociată unui model direct,
atunci prin analogie perechea (q,M) va corespunde unui model invers sau, altfel
formulată, problema poate fi rescrisă ca "dându-se o dinamică directă, acesteia i se
poate asocia o dinamică inversă?". Deci, dacă se cunosc ecuaţiile ce determină
coordonatele q pe baza forţelor şi momentelor aplicate M, se pot găsi ecuaţiile ce
permit generarea forţelor şi momentelor cunoscând coordonatele generalizate q. Un
astfel de model este denumit convenţional model invers (figura 6.4).

M q q M
ROBOT ROBOT-1

Figura 6.4

Studiul sistemelor inverse a fost formulat în primul rînd în [98] şi extins


ulterior în o serie de lucrări [97, 99]. Această dezvoltare este determinată de faptul
că un sistem invers este un regulator ideal căruia, se aplică, ca mărimi de intrare,
coordonatele dorite generând la ieşire forţele necesare în articulaţii. Aceste forţe
aplicate modelului direct vor reface la ieşire coordonatele respective.
În figura 6.5, este prezentată o structură ideală de conducere obţinută prin
conectarea la intrarea robotului a unui sistem ce implementează modelul invers al
acestuia. Pentru fiecare secvenţă de comenzi dorite q d  t  se obţin valorile forţelor
(generalizate) corespunzătoare M  t  prin care se acţionează efectiv robotul,
ieşirea q  t  fiind identică cu cea dorită.
Capitolul 6. Conducerea prin variabile de stare 189

qd  t  M t q t   q d  t 
ROBOT-1 ROBOT

Controler
q *d  t  + q *  t  q *  t  M t q* t 
+
REGULATOR ROBOT-1 ROBOT
- +

Figura 6.5

Desigur că un astfel de sistem de comandă este neaplicabil în practică,


dificultăţile fiind generate de imposibilitatea realizării unui model invers ideal, a
implementării acestui model cât şi a unor serii de factori perturbatori care pot altera
comportarea robotului în condiţiile sale reale de funcţionare.
Aceste neajunsuri pot fi eliminate prin introducerea unei reacţii inverse şi
utilizarea unui bloc regulator pentru stabilizarea generală a sistemului [87] (figura
6.5, b).
Pentru analiza cantitativă şi calitativă a acestui sistem de conducere se va
utiliza modelul dinamic al robotului de forma (6.47),

J  q q
  N  q , q   G  q   M (6.83)

Se vor considera ca mărimi observabile, măsurabile direct sau estimate după


proceduri specifice, poziţia, viteza şi acceleraţia în fiecare articulaţie a mişcării,
deci vectorul de ieşire este definit prin,

q t  
q t    q  t   (6.84)
 t  
 q

iar valorile prescrise, dorite, sunt


190 Roboţi industriali

q d  t  
q d*  t   q d  t   (6.85)
q d  t  

Cu aceste elemente, eroarea sistemului în circuit închis va fi,

 q t  
q  t    q  t    q *  q d*
*
(6.86)
 q t  

Compensarea erorii se obţine prin blocul regulator ce generalizează


mărimile,

q t  
q  t   q  t    K  q *  t 
*
(6.87)
q t  

unde matricea K este o matrice (3nx3n) ai căror coeficienţi k ij determină legea


de reglare.
Conform schemei de conducere descrise, mărimea de intrare în modelul
invers se va obţine sub forma,

q c  t  
q c*  t   q c  t    q d*  t   q *  t  (6.88)
qc  t  

Comportarea dinamică a modelului invers al unui robot este descrisă de o


ecuaţie de forma (6.83) [97],

J *  q c  qc  N *  q c , q c   G *  q c   M (6.89)

unde, într-o simulare ideală, coeficienţii matriciali ai modelelor dinamice directe şi


inverse sunt identici,

J *  qc   J  q 
Capitolul 6. Conducerea prin variabile de stare 191

N *  q c , q c   N  q , q  (6.90)
G *  qc   G q 

Presupunând că sunt respectate condiţiile

q  q d
q  q d (6.91)

o dezvoltare în serie Taylor în jurul lui q d a ecuaţiilor (6.83) şi (6.89), unde q şi


q c sunt date de (6.86) şi (6.88) respectiv, determină pentru modelul invers şi
direct următoarele,

 J  q d  N  q d , q d  G  q d  
J  q d  q d  N  q d , q d   G  q d    q   q 
 q q q 
N  q d , q d 
 q  J  q d q  M
q
(6.92)
 J  q d  N  q d , q d  G  q d  
J  q d  q d  N  q d , q d   G  q d    q   q 
 q q q 
N  q d , q d 
 q  J  q d  q  M
q
(6.93)

Scăzând membru cu membru aceste două relaţii, rezultă

 J  q d  N  q d , q d  G  q d  
 q    q  q  
 q q q 
N  q d , q d 
  q  q   J  q d  q  q   0 (6.94)
q

Introducând notaţiile,

J  q d  N  q d , q d  G  q d 
q    P1
q q q
192 Roboţi industriali

N  q d , q d 
 P2
q
J  q d   P3

ecuaţia (6.94) devine

P1  q  q   P2  q  q   P3  q
  q   0 (6.95)

Pe de altă parte, variaţiile q , q


 , q
 sunt determinate de regulator
după relaţii de forma (6.87),

q  K1 q
q  K 2 q (6.96)
q
  K 3 q


unde K 1 , K 2 , K 3 sunt matricile de reglare (nxn), componente ale matricei


generale K . Utilizând aceste relaţii în ecuaţia (6.95), rezultă

P1  I  K1  q  P2  I  K 2  q  P3  I  K 3  q  0
(6.97)

Ecuaţia (6.97) defineşte regimul dinamic al sistemului de conducere, o


evoluţie corectă a acestuia însemnând tinderea spre zero a abaterilor q , q
 ,
q
 . Considerând că matricea P3  I  K 3  admite o inversă,

 P3  I  K 3   1  L
atunci ecuaţia (6.97) poate fi rescrisă sub forma

q   LP1  I  K1  q  LP2  I  K 2  q


(6.98)

sau
Capitolul 6. Conducerea prin variabile de stare 193

q   0 I  q 
 (6.99)
q 
    LP1  I  K1   LP2  I  K 2   q 

 q   q 
 q   Q  (6.100)
    q 
Ultima formă obţinută indică procedura de calcul a sistemului de reglare.
Tinderea la zero a abaterii q , q  este realizată dacă matricile K i ale
regulatorului determină asignarea valorilor proprii ale matricile Q în semiplanul
stâng.
Pentru exemplificare se va considera robotului în coordonatele cilindrice
descrise prin ecuaţiile (2.79), (2.81), (2.82) care, pentru urmărirea mai eficientă a
implementării, vor fi preluate sub forma,

 
J 1  d 3 1  B1 d 3 , d 3 ,  1  M 1
m d2  m g  F2
 m3  mn  d3  B2  d 3 ,  1   F3

În conformitate cu rezultatele de mai sus, se obţine

 1  1    1 
q  d 2  ; q  d 2  ; q  d 2 
 d 3  d 3   d 3 

  J 1 B1 
0 0   
 
 3d d 3 
P1  0 0 0 
 B2 
0 0 d 3 
 
 B1 B1 
  0 
d 3   J 1 0 0 
 1
P2   0 0 0 ; P3   0 m  0 

 B2 0 0   0 0  m3  mn  
  
 1 
194 Roboţi industriali

Regulatorul sistemului de conducere va fi definit prin matricile,

 k11
1 1
k12 1 
k13  k11
2 2
k12 2 
k13
 1 1 1   2 2 2 
K1  k 21 k 22 k 23  ; K 2  k 21 k 22 k 23 ;
k 1 1
k 32 1 
k 33 k 2 k 2 2 
k 33
 31   31 32 
 k11
3 3
k12 3 
k13
 3 3 3 
K 3  k 21 k 22 k 23 
k 3 3
k 32 3 
k 33
 31 

unde K 1 , K 2 , K 3 determină reglajul poziţiei, vitezei şi acceleraţiei, respective.


Determinarea coeficienţilor matricilor de reglare nu reprezintă, în general, o
problemă simplă. Pentru exemplu, în scopul obţinerii pe o cale mai uşoară a legii
de reglare, se va impune ca,

K 3  I  P31
P1  I  K1   A
P2  I  K 2   B

unde

A  diag  a1 , a 2 , a3 
B  diag  b1 , b2 , b3 
Capitolul 6. Conducerea prin variabile de stare 195

Calculator
1d  R
d 
 2d  + +
 d 3d  K R-1
 
 1d 
d 2 d 
 
 d 3d  1 
  d   1 
 1d  d  1 
Reacţie după poziţie  2 d 
d2 d   d 3   2
    d 3   2
 d 3d  Reacţie după viteză  d3 

Reacţie după acceleraţie

Figura 6.6

Cu aceste restricţii, ecuaţiile (6.99), (6.100) conduc la sistemul perturbat


decuplat,
1  b1 1  a11  0
d2  b2 d 2  a 2 d 2  0
d3  b3 d 3  a 3 d 3  0

În condiţiile în care matricile P1 , P2 , P3 depind de parametrii mişcării,


se pot alege coeficienţii matriciali k ijm astfel încât pentru întreg domeniu de
variaţie al parametrilor, stabilitatea ecuaţiilor abaterilor să fie asigurată,

bi2  4a i
ai  0
bi  0 i=1,2,3

Structura întregului sistem de conducere este prezentată în figura 6.6.

6.6. Estimarea parametrilor modelelor prin observeri

În cele mai multe sisteme de conducere ale roboţilor, dispozitivele de


măsurare a mişcării dau informaţii referitoare numai la poziţia acestora,
196 Roboţi industriali

traductoarele de măsură cu care sunt înzestrate aceste echipamente fiind dedicate


măsurătorilor de deplasare sau de unghi. Pe de altă parte, legi de conducere
asociate numai coordonatei de poziţie se întâlnesc în sistemele simple, cu
performanţe relativ scăzute, obţinerea unei comportări de nivel înalt reclamând
conducere după viteză şi uneori chiar şi după acceleraţie. În acest sens, apare
oportună măsurarea atât a vitezei cât şi a acceleraţiei mişcării. Acestă informaţie
este obţinută fie prin dispozitive de măsurare speciale, fie prin estimarea ei pe baza
informaţiei de poziţie furnizată de traductoarele respective. Analiza ce va urma se
va referi la acest ultim aspect.
Estimarea vitezei şi acceleraţiei, pentru un sistem mecanic cu o dinamică
cunoscută, este realizată prin observeri de stare. Această tehnică de estimare este
mult utilizată în sistemele liniare [100, 101], dar ea întâmpină dificultăţi serioase în
modelele neliniare deci şi în cazul roboţilor a căror dinamică este prin excelenţă
neliniară.
Pentru formularea problemelor specifice observerilor neliniari ce intervin în
studiul roboţilor, se va considera modelul dinamic descris prin ecuaţiile (6.11) şi
(6.13) în care se va pune în evidenţă partea liniară şi neliniară sub forma,

x  Ax  f  x   B  x  u (6.101)
y  Cx (6.102)

unde A este o matrice constantă (2nx2n), f este un vector neliniar (2nx1), B


este o matrice neliniară (2nxn), iar C este o matrice constantă (nx2n). Acestă
formă se obţine direct din ecuaţia (6.11), prin defalcarea componentei A x  în
partea liniară Ax şi cea neliniară f  x  .
Pentru acest model, măsurătorile directe permit cunoaşterea mărimilor de
ieşire y , singurele la care traductoarele robotului au acces nemijlocit. Întrucât
matricea C în (6.102) are de obicei forma (6.21),

C  I 0 (6.103)

primele n componente ale vectorului de stare x se pot determina direct din ieşirea
y,

y i  xi , i=1,2,...,n (6.104)

Pentru calculul celorlalte n componente, vitezele generalizate,


Capitolul 6. Conducerea prin variabile de stare 197

xi  n  q i  t  , i=1,2,...,n (6.105)

se va utiliza un observer definit prin ecuaţiile

z  Rz  y  z   G  z  u  Ky (6.106)

unde z este vectorul de stare de dimensiune (2nx1) al observerilor ce estimează


starea x a robotului, R este o matrice constantă (2nx2n), G  z  este o matrice
neliniară (2nxn) iar K este o matrice constantă (2nxn) ce asigură convergenţa
estimării.
Elementele observerului trebuie să verifice condiţiile [105]

z  Tx (6.107)
TA  RT  KC (6.108)
Tf  x   g  Tx  (6.109)
TB  x   G  Tx  (6.110)
unde matricea T de dimensiune (2nx2n) permite calculul vectorului x din
vectorul de stare al observerului z . Această matrice se alege astfel încât să asigure
facilităţile de calcul şi de cele mai multe ori matricea T este matricea identitate.
Eroarea de estimare a stării este definită prin

e  z  Tx (6.111)

şi ţinând cont de (6.101) şi (6.106) se obţine

e  Re  y  Tx  e   Tf  x    G  Tx  e   TB  x   u
(6.112)

Ecuaţia de mai sus defineşte dinamica erorii de estimare, deci

lim e t   0 (6.113)
t 

Pentru a aprecia condiţiile de stabilitate ale ecuaţiei (6.112) se va utiliza


metoda a doua a lui Liapunov. În acest sens, se va considera o funcţie Liapunov de
forma

V  e T Pe (6.114)
198 Roboţi industriali

unde P este o matrice (2nx2n) pozitiv definită şi simetrică. Calculând derivata


acestei funcţii de-a lungul soluţiilor ecuaţiilor (6.112) se obţine

 
eT R T P  PR e  2eT P   g  Tx  e   Tf  x  

 2e T P   G   Tx  e   T  B  x   u (6.115)

Din relaţia (6.108) se obţine

R   TA  KC T 1

Matricea K se poate alege întotdeauna astfel ca matricea R să aibă


valorile proprii în semiplanul stâng. Atunci [85], pentru orice matrice pozitiv
definită P există o matrice pozitiv definită Q astfel încât

R T P  PR  Q
(6.116)
Deci, relaţia (6.108) devine,

V  eT Qe  2eT P  g  Tx  e   Tf  x  
 2eT P  G  Tx  e   TB  x   u  (6.117)

În continuare se va considera T  I . De asemenea, ţinând cont de faptul că


funcţiile f  x  şi B  x  sunt determinate de funcţiile Coriolis, centrifugale şi de
matricea coeficienţilor de inerţie care este nesingulară, aceste funcţii vor verifica
condiţiile de tip Lipschitz,

f  x  e   f  x   k1 e
(6.118)
B x  e u  B x  u  k 2 e (6.119)

pentru orice valoare a vectorului de stare x din spaţiul de stare admis de


funcţionarea robotului.
Din (6.117) – (6.119), ţinând cont de (6.109), (6.110), se obţine

V      2 k1  k 2    (6.120)
Capitolul 6. Conducerea prin variabile de stare 199

unde  este un coeficient ales astfel ca

I  Q

iar

 P

Din (6.120) se obţine condiţia

  2 k1  k 2   (6.121)

care asigură convergenţa uniformă la zero a erorii de observare e .


Pentru exemplificarea procedurii de lucru se va considera robotul în
coordonate cilindrice descris prin ecuaţiile (6.14). În acest model, coordonata d 2
este complet decuplată de celelalte două iar ecuaţia ce îi caracterizează dinamica
este o ecuaţie liniară astfel încât estimarea acceleraţiei şi vitezei pe această
componentă nu prezintă nici-o dificultate. Din acest motiv, estimarea prin observer
neliniar se va aplica numai la coordonatele 1 şi d 3 . Variabilele de stare, în
acest caz, vor fi

x1  t   1  t 
x2  t   d 3  t 
x3  t    1  t 
x 4  t   d 3  t 

iar ecuaţiile de mişcare corespunzătoare,

x 1  x 3
x 2  x 4
B1 1
x 3    u1
J 1 J 1
B2 1
x 4    u
 m3  m N   m3  m N  2
200 Roboţi industriali

unde mărimile de control u1 şi u 2 sunt momentele, respectiv forţele aplicate,

u1  t   M  t 
u2  t   F  t 

Măsurările poziţiei robotului prin traductoare de unghi şi translaţie sunt

y1  t   x1  t 
y2  t   x2  t 

Ecuaţiile de mai sus pot fi puse în forma (6.101) unde,

0 0 1 0
0 0 0 1 1 0 0 0
A C
0 0 0 0 0 1 0 0
 
0 0 0 0

 0 
   0 0 
0  
f  x    B  x   1 J 1 0
  B1  x  J 1  
   0 1  m3  m N  
  B 2  x   m3  m N  

Observerul neliniar asociat acestui sistem va avea forma (6.106) unde


matricile R şi K se aleg astfel încât să verifice condiţia (6.116),

 25 0 1 0  25 0 
 0  25 0 1  0 25 
R K 
 1 0 0 0  1 0 
   
 0 1 0 0 0  1

iar g  z  şi G  z  din condiţiile (6.109), (6.110),


Capitolul 6. Conducerea prin variabile de stare 201

 0 
   0 0 
0  
g z    g  z   1 J 1 0
  B1  x  J 1  
   0 1  m3  m N  
  B2  z   m3  m N  

1 1
1
Robot d 3 Observer d3
d3

Figura 6.7

Integrarea ecuaţiilor (6.106) pentru acest robot permit obţinerea indirectă a


celorlalte componente de mişcare, vitezele unghiulare  1 şi de translaţie d 3 . În
figura 6.8 sunt prezentate rezultatele simulării robotului şi ale observerului neliniar
implementat. Pentru aprecierea valorilor obţinute sunt trasate evoluţiile în timp ale
variabilelor de stare şi ale observerului. Se remarcă convergenţa mărimilor x3 ,
x 4 şi z 3 , z 4 , respectiv, acestea furnizând informaţiile de viteză dorite.

z2 x3
z1x 2 x1 z 3
z 4x 4
timpul

0,5 1,0 1,5 [s]

Figura 6.8

Calculul acceleraţiilor se poate obţine direct din ecuaţiile,

B1  z  1
z1    u1
J1 J
202 Roboţi industriali

B2  z  1
z2    u
 m3  m N   m 3  m N  2
pe baza coordonatelor z deja estimate.

6.7. Conducerea optimală după criteriul timpului minim

În foarte multe aplicaţii tehnologice, minimizarea timpului de operare al unui


robot reprezintă unul din factorii care contribuie la obţinerea unor performanţe
ridicate în ansamblul criteriilor impuse de dinamica robotului şi de particularităţile
procesului. De exemplu, într-o operaţie de asamblare automată, aceasta reclamă
repetarea unui scenariu tehnologic realizat din următoarele secvenţe: 1) deplasarea
într-o anumită poziţie; 2) prinderea componentei sau subansamblului; 3)
transportul acesteia la locul de montaj; 4) montarea parţială a produsului finit. În
scopul obţinerii unui maxim de productivitate, se impune minimizarea timpului
total de operare deci minimizarea timpului pe fiecare fază tehnologică.
Pentru abordarea acestei probleme de conducere se va considera dinamica
robotului descrisă prin ecuaţii de stare de forma (6.11),

x  A x   B x  u

Mişcarea în timp minim impune deplasarea robotului dintr-o poziţie iniţială,


specificată, într-o poziţie finală dorită. Poziţia iniţială înseamnă definirea primelor
n componente ale vectorului de stare (6.7), componentele de poziţie, la momentul
t  0,

x1  0   x10
x 2  0   x 20
(6.122)
..............
x n  0  x n0

şi anularea celorlalte componente, componentele de viteza, (mişcarea are loc cu


viteză iniţială nulă),
Capitolul 6. Conducerea prin variabile de stare 203

x n 1  0   0
............. (6.123)
x 2 n  0  0

De asemenea, atingerea poziţiei finale la timpul t  t f , cere condiţii de


poziţie şi viteză de forma,

 
x1 t f  x1 f
x t   x
2 f 2f

...........
 
x n t f  x nf (6.124)
x n 1t   0
f

............
 
x2n t f  0

Această evoluţie, între cele două puncte, este obţinută sub controlul
mărimilor de intrare u. Limitări constructive şi funcţionale impun restricţii asupra
acestor mărimi, restricţii ce în mod curent pot fi puse sub forma

ui  t   U i (6.125)

Cu aceste precizări, problema controlului optimal în timp minim poate fi


formulată astfel: „pentru sistemul descris prin ecuaţiile (611), să se determine
mărimile de intrare u i , ce permit deplasarea robotului din poziţia iniţială (6.122),
(6.123) în poziţia finală (6.124) astfel încît indicele de performanţă

tf

J u   dt (6.126)
0

să fîe minim şi respectînd totodată restricţiile (6.125)”.


Sinteza sistemului de control optimal va fi abordată pe baza principiului
minimului al lui Pontriaghin [94].
Se construieşte Hamiltonianul problemei sub forma,

H   0   T  A x   B x  u  (6.127)
204 Roboţi industriali

unde  0 este 1 sau 0 iar  este vectorul (2n x 1) al sistemului adjunct

H
 t   , i  1,2,..., 2n
x i
(6.128)

Integrarea ecuaţiilor (6.128) este realizată în condiţii iniţiale şi finale libere


întrucât stările iniţiale şi finale sunt fixate. Principiul minimului determină
comanda optimală u * prin minimizarea globală a Hamiltonianului în raport cu u,
deci din condiţia,

 T B x  u *  min  T B x  u
uU
  (6.129)

Analiza matricei B  x  (ecuaţia (6.3)) indică faptul că aceasta este obţinută


prin inversarea matricii coeficienţilor de inerţie, deci coeficienţii respectivi sunt
întotdeauna pozitivi. Întrucât minimizarea relaţiei (6.129) în restricţiile (6.125) este
dată de o funcţie de tipul [115, 94],

 
u *  U sgn BT  x (6.130)

această relaţie devine,

u *  U sgn  (6.131)
Expresia (6.131) defineşte legea de conducere optimală pentru obţinerea
timpului mimin. Ea se poate implementa prin integrarea ecuaţiilor adjuncte (6.128)
de-a lungul soluţiilor ecuaţiilor robotului şi determinarea unei funcţii de comutaţie
bazată pe relaţia (6.131).
Pentru exemplificare se va aborda controlul în timp minim al robotului în
coordonate cilindrice descrise prin ecuaţiile (6.14). Se va considera că mişcarea
robotului se va desfăşura în planul coordonatelor  1 , d 3  , variabila de translaţie
d 2 menţinîndu-se constanta.
Condiţiile iniţiale ale problemei vor fi deci,
Capitolul 6. Conducerea prin variabile de stare 205

x1  0    0
x3  0   d 30
x 4  0  x6  0  0

iar cele finale

 
x1 t f   f
x t   d
3 f 3f

x4 t f   x6 t f   0

Restricţiile asupra celor două variabile de control ce activează mişcarea sunt

M 1  t   M max
F3  t   Fmax

Cu aceste elemente, Hamiltonianul problemei de optim devine,

 B 1   B2 1 
H  0   1 x 4   3 x 6   4   1'  ' M 1    6    F3 
 J1 J1    m3  m n   m3  m n  

Minimizarea Hamiltoninului se obţine din (5.141) sub forma

M 1 t   M pentru  4  t   0
M 1  t   M pentru  4  t   0
F3  t    F pentru  6  t   0
F3  t    F pentru  6  t   0

unde  4 şi  6 sunt soluţiile ecuaţiilor diferenţiale

H
 4  
x 4
H
 6  
x 6
206 Roboţi industriali

 
2
0,15 r
4
timp
0,8
0,2 0,4 0,6 1,0 1,2 [sec]
6

M1

+M
timp

-M 0,2 0,4 0,6 0,8 1,0 1,2 [sec]


F3
+F timp

0,2 0,4 0,6 0,8 1,2 1,4 [sec]


-F

Figura 6.9

Integrarea ecuaţiilor de mai sus, de-a lungul soluţiilor ecuaţiilor robotului se


poate face off - line pentru puncte iniţiale şi finale prescrise, rezolvarea ei putând fi
obţinută prin procedurile curente în literatură pentru aşa numita problemă bilocală
[84, 85, 94 112].
Pentru exemplificare, pentru punctele

 0  0, d 30  0.15m

 f  , d 3 f  0.15m
2

s-au construit în figura 6.9 soluţiile optimale corespunzătoare.


Conform acestor rezultate, un control în timp minim cere o dublă comutare a
forţei F3 şi numai o singură comutare de moment. Interpretarea fizică a acestei
soluţii este imediată. Iniţial, comutarea lui F3 , la  F determină o micşorare a
momentului de inerţie al braţului. Acelaşi lucru este impus spre momentul final,
Capitolul 6. Conducerea prin variabile de stare 207

ansamblul acestor două comutări determinând maximizarea decelerării unghiulare.


Comutarea momentului între  M şi  M este o condiţie firească impusă pentru
asigurarea unei poziţionări unghiulare corespunzătoare.

S-ar putea să vă placă și