Documente Academic
Documente Profesional
Documente Cultură
CONDUCEREA
PRIN
VARIABILE
DE STARE
J qq
V q 2 F q i
q j , q G q M
(6.1)
M1
qi 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)
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)
x1
x
x 2 (6.6)
...
x2n
unde
xi t qi t
xi n t q i t i=1,2,...,n (6.7)
x1 x n1 0
x x 0
2 n 2
... ... ... M 1
x n x2n 0 M 2 (6.8)
x n1 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
x A x B x u
(6.11)
y C x D x u
(6.12)
sau
y C x
(6.13)
B1 1
1 M1
J 1 J 1
Capitolul 6. Conducerea prin variabile de stare 167
1
d2 g F2 (6.14)
m
B2 1
d3 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
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
u1 M 1
u u 2 F2 (6.18)
u 3 F3
y1 1 x1
y 2 d 2 x2 (6.19)
y 3 d 3 x3
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)
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
y C x D x D 1 x C x D 1 x w (6.26)
sau
y w (6.27)
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)
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)
x n1
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 n1 x n 2 ... x 2n
x1 x 2 x n
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 x1x j x1 x n
(6.33)
0
...
Ci x n 2Ci x Ci x Ci x 0
A x B x x j .... ... 0
x x j 1 x1x 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
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)
u D * x 1 C * x M * x D * x 1 w (6.37)
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)
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)
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
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ă,
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
C *i q, q f i q, q
D *i q, q Bi q, q (6.43)
M i B *i1 q, q f i q, q 0i qi 1i q i i wi (6.43)
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
yi 1i y i 0i yi i wi i=1,2,...,n (6.45)
J q d qd V q d F q d , q d , q d G q d M d (6.46)
J q d qd 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)
q q d q
q q d q (6.49)
q q d q
J q d q J q d
se obţine
N N G
N1 ; N2 ; G1 (6.52)
q qd q qd q qd
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)
q
x (6.55)
q
0 I
M (6.56)
J N 2 G1
1
J 1
N1
0
P 1 (6.57)
J
u Kx 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 Pw
(6.59)
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
x m Am x m Bm u (6.61)
Am A x
(6.62)
Bm B (6.63)
182 Roboţi industriali
a ij x 0 ,0 a ij x 0
bij x 0 ,0 bij x 0 (6.66)
e xm x (6.67)
sau
e x m x (6.68)
e Am x m A x x Bm B x u (6.69)
e Am e Am A x x Bm B x u (6.70)
Capitolul 6. Conducerea prin variabile de stare 183
lim e t 0 (6.71)
t
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
T
Am P PA m Q (6.74)
184 Roboţi industriali
ij ij x j e T p i 0 (6.75)
T
vij ij u j e pi 0 (6.76)
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
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
Am (6.79)
0 0 0 21 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
a 44 a m44 44 21 n1 44
(6.81)
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
sau
M q q M
ROBOT ROBOT-1
Figura 6.4
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
J q q
N q , q G q M (6.83)
q t
q t q t (6.84)
t
q
q d t
q d* t q d t (6.85)
q d t
q t
q t q t q * q d*
*
(6.86)
q t
q t
q t q t K q * t
*
(6.87)
q t
q c t
q c* t q c t q d* t q * t (6.88)
qc t
J * q c qc N * q c , q c G * q c M (6.89)
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
q q d
q q d (6.91)
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)
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
P1 q q P2 q q P3 q
q 0 (6.95)
q K1 q
q K 2 q (6.96)
q
K 3 q
P1 I K1 q P2 I K 2 q P3 I K 3 q 0
(6.97)
P3 I K 3 1 L
atunci ecuaţia (6.97) poate fi rescrisă sub forma
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 d2 m g F2
m3 mn d3 B2 d 3 , 1 F3
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
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
K 3 I P31
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
d2 d d 3 2
d 3 2
d 3d Reacţie după viteză d3
Figura 6.6
bi2 4a i
ai 0
bi 0 i=1,2,3
x Ax f x B x u (6.101)
y Cx (6.102)
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)
xi n q i t , i=1,2,...,n (6.105)
z Rz y z G z u Ky (6.106)
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)
e Re y Tx e Tf x G Tx e TB x u
(6.112)
lim e t 0 (6.113)
t
V e T Pe (6.114)
198 Roboţi industriali
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)
R TA KC T 1
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)
f x e f x k1 e
(6.118)
B x e u B x u k 2 e (6.119)
V 2 k1 k 2 (6.120)
Capitolul 6. Conducerea prin variabile de stare 199
I Q
iar
P
2 k1 k 2 (6.121)
x1 t 1 t
x2 t d 3 t
x3 t 1 t
x 4 t d 3 t
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
u1 t M t
u2 t F t
y1 t x1 t
y2 t x2 t
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
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
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
z2 x3
z1x 2 x1 z 3
z 4x 4
timpul
Figura 6.8
B1 z 1
z1 u1
J1 J
202 Roboţi industriali
B2 z 1
z2 u
m3 m N m 3 m N 2
pe baza coordonatelor z deja estimate.
x A x B x u
x1 0 x10
x 2 0 x 20
(6.122)
..............
x n 0 x n0
x n 1 0 0
............. (6.123)
x 2 n 0 0
x1 t f x1 f
x t x
2 f 2f
...........
x n t f x nf (6.124)
x n 1t 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)
tf
J u dt (6.126)
0
H 0 T A x B x u (6.127)
204 Roboţi industriali
H
t , i 1,2,..., 2n
x i
(6.128)
T B x u * min T B x u
uU
(6.129)
u * U sgn BT x (6.130)
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
x1 t f f
x t d
3 f 3f
x4 t f x6 t f 0
M 1 t M max
F3 t Fmax
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
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
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
Figura 6.9
0 0, d 30 0.15m
f , d 3 f 0.15m
2