Sunteți pe pagina 1din 5

Transmisii de date – Controlul la distanŃă al proceselor 2012-2013

Laborator 11

PROIECTAREA REGULATOARELOR PREDICTIVE


LINIARE ÎN REłEA

Obiectiv: Lucrarea de faŃă îşi propune proiectarea unui regulator predictiv liniar pentru
compensarea întârzierilor variabile în timp care apar în sistemele de control în reŃea şi
implementarea structurii de reglare atât în Matlab/Simulink, cât şi cu ajutorul toolboxului
TrueTime.

I. ConsideraŃii teoretice

Algoritmii de conducere predictivă sunt răspândiŃi atât în industrie, cât şi în mediile


academice, fiind implementat cu succes în mai multe aplicaŃii industriale, demonstrând obŃinerea
unor performanŃe bune şi un grad înalt de robusteŃe. Regulatorul predictiv rezolvă multe probleme
de control pentru o clasă largă de procese, folosind un număr redus de parametri de proiectare.

II. Modelarea părŃii fixate incluzând întârzierile

Se consideră partea fixată descrisă de modelul CARIMA (Controlled AutoRegressive


Integrated Moving Average):
( ),
e ( k ) C z −1
A z ( ) y ( k ) = z B ( z ) u ( k − 1) +
−1 −d −1
D(z ) −1
(1)

unde d este întârzierea care apare în reŃea ce va fi considerată de regulatorul predictiv şi e ( k )


reprezintă un zgomot alb cu valoare medie nulă.
( ) ( )
A z −1 , B z −1 sunt polinoamele sistemului:

( )
A z −1 = 1 + a1z −1 + ... + anA z − nA ,
, (2)
B(z ) = b
−1 −1
0 + b1 z + ... + bnB z
− nB
,

unde n A şi nB reprezintă gradele polinoamelor, iar C z −1 ( ) ( )


şi D z −1 sunt polinoamele
perturbaŃiilor egale cu
( )
C z −1 = 1,
(3)
D ( z ) = 1− z
−1 −1
,
pentru obŃinerea erorii staŃionare nule.
Se consideră că întârzierile introduse de reŃeaua de comunicaŃii d c sunt variabile în
timp, dar mărginite
dm ≤ dc ≤ d M , (4)
unde d m este întârzierea minimă şi d M este întârzierea maximă care pot să apară în reŃeaua de
comunicaŃii

1
Transmisii de date – Controlul la distanŃă al proceselor 2012-2013
Laborator 11
II.1. Metoda mediei

Valoarea întârzierii utilizată de modelul predictorului este calculată folosind formula:


d + dM
d= m . (5)
2
II.2. Metoda identificării

Valoarea întârzierii utilizată de modelul predictorului este egală cu întârzierea minimă


care poate să apară în reŃeaua de comunicaŃii:
d = dm , (6)
si în locul polinomului B , un alt polinom B% , identificat cu scopul de a modela sistemul
incluzând întârzierile între d m şi d M , este introdus:

( ) −n
B% z −1 = b%0 + b%1z −1 + ... + b%n % z B% ,
B
(7)
cu:
nB% = nB + d M − d m ,
b0 + b1 + ... + bnB
b%0 = b%1 = ... = b%n % = ,. (8)
B
nB% + 1
B(1) = B% (1),
Strategia propusă presupune identificarea unui model ARX al sistemului fizic care să
includă întârzierile dintre d m şi d M :

y1 ( k ) =
( )z
B% z −1
−dm
u1 ( k − 1) . (9)
A( z )
−1

Răspunsul la semnal treaptă al sistemului modelat de (9) este în momentul iniŃial egal
cu răspunsul la semnal treaptă al sistemului (10) cu d = d m , dar are un timp de răspuns mai
mare, având aceeaşi formă, şi intră în regim staŃionar în acelaşi moment de timp cu răspunsul
la semnal treaptă al sistemului (10) cu d = d M .

y2 ( k ) =
( )q
B z −1
−d
u2 ( k − 1) . (10)
A( z ) −1

III. Calculul predictorilor

Modelul predictorului este dat de:


( ) ( ) u ( k −1) + F ( z ) y ( k ) , (11)
H j −d z −1 D z −1 −1

( ) D(z ) z
yˆ ( k + j | k ) = G j −d z −1 −1
u (k + j) +
− d −1
C(z ) −1
C(z )
j
−1

cu j = hi, hp , unde hi este orizontul minim de predicŃie şi hp este orizontul de predicŃie.


u (k + j − 1 k ), j = 1, hc reprezintă secvenŃa de comenzi viitoare, calculate la momentul k şi
yˆ (k + j k ) reprezintă valorile predictate ale ieşirii, hc fiind orizontul comenzii.

( ) ( )
Pentru determinarea polinoamelor F j z −1 , G j z −1 şi H j z −1 sunt utilizate două ( )
ecuaŃii diofantice.
Prima este:

2
Transmisii de date – Controlul la distanŃă al proceselor 2012-2013
Laborator 11
( ) =E z +z
C z −1 ( ) ,
F j z −1
A( z ) D ( z )
−1 ( )−1 j
−1 −j
A( z ) D ( z )
−1 −1
(12)

unde:
( )
E j z −1 = 1 + e1z −1 + ... + enE z − nE
, (13)
F (z ) = f
j
−1 −1
0 + f1 z + ... + f nF z
− nF

cu:
nE = j − 1 , nF = max ( n A + nD − 1, nC − j ) . (14)
A doua ecuaŃie diofantică este dată de:
( ) ( ) ( ) ( )
E j z −1 B z −1 = C z −1 G j −d z −1 + z − j + d H j −d z −1 , ( ) (15)
unde:
( )
G j −d z −1 = g0 + g1 z −1 + ... + g nG z − nG
, (16)
H j −d (z ) = h
−1 −1
0 + h1 z + ... + hnH z
− nH

cu:
nG = j − d − 1 , nH = max ( nC , nB + d ) − 1 . (17)
Modelul predictorului rezultă de forma:
( ) ( )
yˆ ( k + j | k ) = G j −d z −1 D z −1 z − d −1u ( k + j ) + yˆ0 ( k + j | k ) , (18)
unde:

yˆ0 ( k + j | k ) =
( ) ( ) u ( k −1) + F ( z ) y ( k ) ,
H j −d z −1 D z −1 j
−1
(19)
C(z ) −1
C(z ) −1

reprezintă răspunsul liber al sistemului.


Punând predictorii de ordin j sub forma matricială, modelul predictorului poate fi
rescris sub forma:
yˆ = Gu d + yˆ 0 , (20)
unde:
yˆ = [ yˆ (k + hi k ), yˆ (k + hi + 1 k ),..., yˆ (k + hp k )]T , (21)
 g hi −d −1 ... g 0 0 ... 0 
 g ... g1 g 0 ... 0 
 hi −d 
G =  ... ... ... ... ... ...  , (22)
 
 g hc −1 ... ... ... ... g0 
 g hp −d −1 ... ... ... ... g hp − hc −1 

T
u d =  D( z −1 )u (k ),..., D( z −1 )u (k + hc − 1)  , (23)
 
yˆ 0 = [ yˆ 0 (k + hi k ), yˆ 0 (k + hi + 1 k ),..., yˆ0 (k + hp k )]T . (24)
FuncŃia obiectiv pătratică pe mai mulŃi paşi este bazată pe minimizarea erorii de poziŃie
şi pe minimizarea comenzii (ieşirea regulatorului), factorul de ponderare λ fiind introdus cu
scopul de a putea face un compromis între aceste două obiective:
J = ( Gu d + yˆ 0 − w ) ( Gu d + yˆ 0 − w ) + λuTd u d ,
T
(25)

3
Transmisii de date – Controlul la distanŃă al proceselor 2012-2013
Laborator 11
Ńinând cont că: D ( z −1 )u (k + i ) = 0 pentru i ∈ [ hc, hp − d − 1] , unde w reprezintă vectorul
traiectoriei referinŃă având componentele w(k + j k ), j = hi, hp . Minimizând funcŃia obiectiv
( ∂J ∂u d = 0 ), secvenŃa de comandă optimă rezultă de forma:

( )
−1
u∗d = GT G + λ I hc GT [ w − yˆ 0 ] . (26)
Utilizând principiul orizontului alunecător şi considerând că γ j , j = [ hi, hp ] sunt

(G G + λI )
−1
T
elementele primei linii din matricea hc GT , rezultă următorul algoritm de
control:
hp
( )
D z −1 u ( k ) = ∑ γ j  w ( k + j k ) − yˆ0 ( k + j k ) .
j = hi
(27)

Cu yˆ0 ( k + j | k ) din relaŃia (19), algoritmul de control poate fi rescris sub forma:
hp
C ( z −1 ) D( z −1 )u (k ) = − ∑ γ j H j −d ( z −1 ) D( z −1 )u (k − 1) −
j = hi
. (28)
hp hp
− ∑ γ j F j ( z −1) y(k ) + ∑ γ j C ( z −1)w(k + j )
j = hi j =hi
şi utilizând următoarele notaŃii:
hp
R( z ) = C ( z ) + ∑ γ j z −1 H j − d ( z −1 )
−1 −1

j = hi
hp
S ( z −1 ) = ∑ γ j Fj ( z −1 ) , (29)
j = hi
hp
T ( z −1 ) = C ( z −1 ) ∑ γ j z − hp + j
j = hi

forma polinomială a algoritmului de control rezultă de forma:


R( z −1 ) D( z −1 )u (k ) + S ( z −1 ) y (k ) = T ( z −1 ) w(k + hp) , (30)
algoritm ce va fi implementat conform structurii din Fig. 1:

r −1 + 1 u
G f (s) y
T (z )
- R ( z −1 ) D ( z −1 ) R
e
Ń
e
a

S ( z −1 )
Fig. 1. Diagrama bloc a structurii de control

Dacă procesul are timp mort d, se recomandă următoarele valori pentru parametrii de
acord:
- hi = d + 1 ; această valoare se bazează pe faptul ca eroarea de urmărire peste orizontul
de predicŃie este inclusă în funcŃia criteriu;
- hp = d + hc ; în calcul secvenŃei de comandă se inversează matrici de ordinul
( hp − hi ) × ( hp − hi ) şi hc × hc şi de aceea se recomandă evitarea unei valori prea mari pentru
orizontul comenzii c.

4
Transmisii de date – Controlul la distanŃă al proceselor 2012-2013
Laborator 11

IV. Modul de lucru în laborator

Se consideră partea fixată (motor de curent continuu) descrisă de funcŃia de transfer:


1
G (s) = . (31)
0.1s 2 + 0.7 s + 1
Să se proiecteze două regulatoare predictive liniare în reŃea (unul bazat pe metoda
mediei şi unul bazat pe metoda identificării) şi să se implementeze atât în Matlab/Simulink, cât
şi cu ajutorul toolboxului TrueTime structura de reglare din Fig. 1, ştiind că întârzierile care
pot să apară în reŃeaua de comunicaŃii sunt cuprinse în intervalul [ 0,12] perioade de
eşantionare. Perioada de eşantionare a părŃii fixate este Ts = 0.03s .
Se vor parcurge următoarele etape:
1. Cu ajutorul funcŃiei GPC, pentru diferite valori ale parametrilor de acord, se determină
polinoamele R(z-1), S(z-1), T(z-1) din structura standard de reglare cu predicŃie:
function [R, S, T]=GPC(A, B, d, hc, λ)
2. Se testează structura de reglare din Fig. 1 folosind schema Simulink/TrueTime.
3. Dacă performanŃele obŃinute nu sunt bune se reia procedura de calculare a legii de reglare
cu predicŃie de la etapa 1.

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