Sitemap
Aydin Nasirzade

Aydin Nasirzade

MSc in Automation and Control Engineering

Adaptiv idarəetmə

7 min readJun 12, 2021

--

Ön Söz

Bu məqalədə avtomatika və idarəetmə mühəndisliyində (və bir sıra sahədə) rast gəlinən Adaptiv İdarəetmə mövzusuna toxunulacaqdır. Yazı boyu isbatlar, sıxıcı, mahiyyətini anlamaqda insana yorğunluq gətirən məqamlardan uzaq olmağa çalışmışam. Təəssüf ki, bir çox terminlər ingilis dilindən ana dilimizə tərcümə edilməyib. Məqalə ilə bağlı təklif və iradlarınızı bildirməkdən çəkinməməyiniz xahiş olunur.

aydin.nasirzadeh@gmail.com

Nominal sistem || Qeyri-müəyyən dəyişənin təsiri

Aşağıdakı sistemin ən sadə modelini qurmağa çalışaq. Çənə su tökülür və müəyyən sızıntı vardır.

Press enter or click to view image in full size
Şəkil 1

Sitemin ilkin modeli artıq əlimizdə vardır. Nəzərə almaq lazımdır ki, suyun həcmi (V_t) və sızıntı (p(t)) arasında müəyyən əlaqə olmalıdır. Bu əlaqəni də ən sadə formada göstərə bilərik (Şəkil 2):

Press enter or click to view image in full size
Şəkil 2

Gördüyünüz kimi müəyyən dəyişiklik etməklə sistemin modelini daha əlverişli formaya saldıq. x(t) ingilis dilində “state” adlanır. Sonda aldığımız nəticə birinci dərəcəli (“first order”) xətti (“linear”) sistemdir.

Əlimizdə modelimiz varsa, artıq müəyyən əməliyyatlar edə bilərik onun üzərində. Tutaq ki, bizim məqsədimiz “zero error tracking” dediyimiz sıfır xəta əldə etməkdir, başqa sözlə, məqsəd arzu olunan qiymətlə (“setpoint” - r(t)) faktiki qiymət arasında (x(t)) fərqi sıfıra endirməkdir.

Əvvəla onu nəzərə çatdıraq ki, sistemin 1-addım daxili gecikməsi (“1-step intrinsic delay”) var. Çünki t zamanındakı idarəetmə dəyişəni (u(t)) t+1 zamanındakı “state” dəyişəninə (x(t+1)) təsir edir. Bunu sonda aldığımız modeldən də görmək olar.

Ən yaxşı peformansı əldə etmək x(t+1) qiymətinin r(t)-ə bərabər olması deməkdir. Bu halda:

Press enter or click to view image in full size
Şəkil 3

Şəkildə sistemin idarəetmə hissəsinin bərabərliyini görürsünüz (u(t)). “State” və “controller” ifadələrindən biz blok diaqramı qururuq, Şəkil 3-də göstərildiyi kimi.

Bura qədər hər şey qaydasındadır. Amma sistemə daha realistik yanaşsaq, ona qeyri-mükəmməllik əlavə etsək? Məsələn, x(t+1) = ax(t) + u(t) modelində a dəyişəninin qeyri-müəyyən bir kəmiyyət olması? Belə olan halda, görəsən, yuxarıda təsvir edilən nominal sistem dayanıqlı olacaq ya yox?

Şəkil 3-də verilən kontroller ifadəsində (u(t)) “a” kəmiyyətini qeyri-müəyyən (“uncertain”) qəbul edək və onu papaqlı_a ilə qeyd edək. Sözügedən iki kəmiyyət bir-birindən fərqlidir (a!=papaqlı_a). Papaqlı_a, əslində bizim əvvəlki a-nın təxmin edilmiş qiymətidir (“guess”). Və sistemdə belə təxmini qiymət olanda biz onunla kontroller ifadəsində “uncertain variable” dediyimiz qeyri-müəyyən dəyişən kimi davranırıq.

Bundan sonra “state equation x(t+1)” Şəkil 4-də verilən forma alır. Bu isə o deməkdir ki, qeyri-müəyyənliyi olan bu sistemdə dayanıqlılıq (“robustness”) yoxdur. x(t+1) heç zaman r(t)-ə bərabər ola bilmir, çünki (a — papaqlı_a) fərqi sıfıra bərabər ola bilmir əvvəlcədən verdiyimiz şərtə görə (a != papaqlı_a). Bizim məqsədimizin nə olduğunu xatırlayaq bir daha: sıfır xəta (zero error tracking). Məqsədimizdən uzaqlaşdıq nominal sistemə “uncertainty” əlavə olunanda.

Press enter or click to view image in full size
Şəkil 4

Bir az daha dərin baxış ataq bu məsələyə. “Steady state” vəziyyətində (“uncertainty” ilə) verilmiş sistemi analiz edək. Şəkil 4-də göründüyü kimi “steady state” deyəndə biz dəyişənləri müəyyən sabitə bərabət edib həmin vəziyyətdəki qarşılıqlı əlaqələrini tapırıq (x_bar və r_bar arasındakı əlaqəyə bax).

Həmin əlaqəyə əsasən əlimizdə iki situasiya ola bilər: təxmin etdiyimiz qiymət (papaqlı_a) nominal qiymətdən (a) ya böyükdür ya da balaca.

Press enter or click to view image in full size
Şəkil 5

Birinci halda təxmin nominal qiymətdən böyükdür. Bu zaman “steady state”-də faktiki qiymət arzuolunan qiymətdən kiçik olur. Deməli, sızıntını az qiymətləndirmişik. Digər tərəfdən, ikinci halda təxminimiz nominal qiymətdən kiçikdir. Bu zaman “steady state”-də faktiki qiymət arzuolunan qiymətdən böyük olur. Deməli, sızıntını çox qiymətləndirmişik. İstənilən halda, yəni nə olursa olsun, sistemdə qeyri-müəyyənlik olduğu müddət ərzində biz sıfır xəta əldə edə bilmirik “steady state”-də (“transient”-dən sonra). Gəlin, bəzi simulyasiyaları reallaşdıraq:

Press enter or click to view image in full size
Arzuolunan qiymət = 30 (bu, “step function”-da (birinci element) nəzərdə alınır) və papaqlı_a = 0.95
Şəkil 6

Yuxarıdakı nümunədə nominal sistemin (gördüyünüz kimi, qeyri-müəyyənlik papaqlı_a dəyişəninə şamil olunub və onun qiyməti (0.95) faktiki a dəyişəninin qiymətindən (0.9) fərqlidir) simulyasiyasına nəzər yetirsək, görərik ki, sadəcə bir addımdan sonra “transient” bitir və çıxış qiyməti stabilləşir. Amma arzuolunan qiymət (30) və simulyasiyadan sonra alınan faktiki çıxış qiyməti (28.5) arasındakı fərq sıfır deyil (sıfır xəta məqsədinə çatmadıq). Bu, birinci hala uyğun gəlir, yəni papaqlı_a > a, sızıntını az qiymətləndirmişik.

Press enter or click to view image in full size
Arzuolunan qiymət = 30 (bu, “step function”-da (birinci element) nəzərdə alınır) və papaqlı_a = 0.85
Şəkil 7

Bu dəfə ikinci hala uyğun olaraq, papaqlı_a (0.85)<a (0.9). Simulyasiyaya nəzər yetirsək, görərik ki, yenə də bir addımdan sonra “transient” bitir və çıxış qiyməti təqribən 32-də stabilləşir. Amma arzuolunan qiymət (30) və simulyasiyadan sonra alınan faktiki çıxış qiyməti (32) arasındakı fərq sıfır deyil (sıfır xəta məqsədinə çatmadıq), sızıntını çox qiymətləndirmişik.

Get Aydin Nasirzade’s stories in your inbox

Join Medium for free to get updates from this writer.

Gördüyümüz kimi nominal dizayn sistemlərində bütün kəmiyyətlər və dəyişənlər bilinən olduğu üçün, müəyyən qeyri-müəyyənlik bizi sıfır xəta amalımızdan kənar saxlayır. Bəs nədir bunun çarəsi? İnteqratorlar.

İnteqratorlar

İnteqratorlar idarəetmə dünyasında “zero error tracking”-ə çatmaq üçün istifadə olunan xətti kontrollerlərdir. Aşağıdakı blok diaqramda ən sadə forması verilmişdir:

Press enter or click to view image in full size
Şəkil 8

Gəlin, “MatLab”-də bu sistemi quraq və simulyasiya ilə nəticəmizə baxaq (n=1 və a=0.9):

Press enter or click to view image in full size
Şəkil 9

Nəticə o qədər də ürəkaçan deyil. Çünki “transient” çox uzundur, “settling time” (sabitləşmə müddəti) çox böyükdür və bu 150 addıma bərabərdir. Halbuki bu rəqəm yuxarıdakı nominal sistemdə birə bərabər idi, nə qədər “setpoint”-ə (30-a) çatmasaq da. Amma burada sıfır xəta qayəmizə çatmış sayılırıq. Çünki 150 addımdan sonra “setpoint” və çıxış qiyməti arasındakı fərq sıfıra bərabər olur.

Təbii ki, biz tuninq parametri n ilə oynara bilərik daha yaxşı nəticələrə gəlmək üçün. Məsələn, n-in qiymətini 100 dəfə azaldanda daha az “oscillation”-lar və daha qısa “settling time” əldə etdik (Şəkil 10).

Press enter or click to view image in full size
Şəkil 10

Amma nə qədər çalışsaq da, heç vaxt mükəmməl peformans əldə edə bilmirik bu oynama ilə. Buradan belə qənaətə gəlmək olar ki, inteqratorlar möhtəşəm dayanıqlı xətti kontrollerlərdir. Lakin bir tərəfdən udarkən, digər tərəfdən uduzuruq. Başqa sözlə desək, bir tərəfdən sıfır xətaya çatırıqsa, digər tərəfdən daha uzun sabitləşmə müddətinə, daha uzun “transient”-ə sahib oluruq. Bu tip dayanıqlı xətti kontrollerlər belədir. Ya ləng peformansa göz yumursan, ya da dayanıqlılığı (“robustness”) qurban verirsən.

Bəs nədir bunun çarəsi? Daha doğrusu, çarələrindən biri? Adaptiv idarəetmə.

Adaptiv idarəetmə

Adaptiv idarəetmə bu istiqamətdə yüksək davranışa sahib, dayanıqlığı təmin edən qeyri-xətti üsuldur. Bu növ idarəetmədə biz sıfır xətaya çox qısa zamanda çata bilirik (xətti kontrollerlərdən fərqli olaraq).

Aşağıda onun kobud şəkildə olan blok diaqramı və ümumi formulası verilmişdir:

Press enter or click to view image in full size
Şəkil 11

Əgər istəsəniz, aşağıda yerləşdirdiyim izahları izləyərək Şəkil 11-də verilmiş formulanın başqa formasını görə bilərsiniz:

Press enter or click to view image in full size
Şəkil 12
Press enter or click to view image in full size
Şəkil 13

u(t)-nin Şəkil 11-də verilən düsturunu da nəzərə alıb aldığımız nəticələri birləşdirsək, aşağıdakı blok diaqramı əldə edirik:

Press enter or click to view image in full size
Şəkil 14

Adaptiv idarəetmədə biz, demək olar ki, nominal kontrollerlərin strukturunu saxlayarıq. Lakin fərq ondadır ki, burada qeyri-müəyyənliyə sahib olan parametr sabit qalmır, daim dəyişir, optimallaşır sistemdə olan informasiya əsasında (Adaptasiya qaydası).

Press enter or click to view image in full size
Adaptiv kontroller (daxili strukturunu növbəti yazılarda görə biləcəksiniz)
Şəkil 15

Adaptiv kontrollerin “MatLab”-də modelini quraraq nəticəsini görürük Şəkil 15-də. Nəticə möhtəşəmdir. Yalnız 3 addımdan sonra 30 üzərində stabilləşib çıxış qiyməti. Sistemdəki təxmini rəqəmləri nə qədər qeyri-müəyyən etsək də, nə qədər onları dəyişsək də, çox az sayda zaman addımından sonra “setpoint”-a çatılır.

Və sonda bir nüansa da toxunmağımız yaxşı olardı. Müəyyən əvəzetmələri Şəkil 15-də göstərildiyi kimi icra etsək, görərik ki, əslində papaqlı_a dəyişəni a dəyişəninin “Least Square” adlandırdığımız qiymətidir.

Press enter or click to view image in full size
Şəkil 16

Yekun

Bura qədər oxudunuzsa, təşəkkür edirəm! Məqsədim ana dilimizdə elmi kontentlərin artırılması istiqamətində, kiçik də olsa, töhvə verməkdir. Bir nəfər belə məqaləni oxuyub, nəsə götürə bilsə, mənim üçün dünyalara dəyər. Bunları mənə Milan Politexnik Universitetində “Data Driven Control System Design” dərsini tədris edən professor Simone Garatti-yə sonsuz təşəkkürümü bildirirəm.

--

--

Aydin Nasirzade
Aydin Nasirzade

MSc in Automation and Control Engineering