Jak skonfigurować sterowanie PID, jeśli stałe czasowe kontrolowanego systemu są zmienne?

9

Wspólny opis ciągłego kontrolera PID jest zapisany w następujący sposób:

y(t)=Kpe(t)+Ki0te(τ)dτ+Kdde(t)dt
Najlepszy wartość stałych Kp , Ki i Kd dla danego kontrolowanego układu będzie zależeć od jego stałej czasowej (stałych), czy to będzie system PT1 , czy system PT2 itd. ...

Co robisz, jeśli stała czasowa takiego systemu jest zmienna. Powiedzmy, waha się pomiędzy Ta i Tb ( Ta<Tb ). Jak zaprojektować stałe PID?

John HK
źródło

Odpowiedzi:

8

Jednym ze sposobów byłoby wdrożenie jakiejś formy kontroli adaptacyjnej. Jeśli twój zakres stałych czasowych jest niewielki i znany, możesz użyć czegoś, co nazywa się „harmonogramem wzmocnienia”, w którym określasz z wyprzedzeniem wszystkie stałe czasowe, z którymi będziesz mieć do czynienia (mam nadzieję, że jest to skończony) i używasz logiki if / then do zdefiniowania PI i D. Zapewnienie wystarczającej różnorodności, aby zapewnić stabilność i wydajność w całym zakresie, może być trudne. Dobrym przykładem sukcesu w zakresie planowania zysków jest helikopter Chinook. To może być zrobione.

Jeśli nie masz wykonalnej prognozy na to, jakie będą stałe czasowe, możesz przyjrzeć się za pomocą Adaptacyjnej kontroli modelu odniesienia (MRAC). W tym schemacie sterowania masz model referencyjny (twój idealny system) z wybranym regulatorem PID. MRAC minimalizuje błąd między tym, co faktycznie robi roślina, a tym, co robi model referencyjny. W ten sposób zmuszasz swoją zmieniającą się instalację do działania jak twój model LTI.

Lub możesz spróbować użyć kontrolera adaptacyjnego identyfikacji modelu (MIAC). Tutaj schemat kontroli dokonuje identyfikacji systemu w czasie rzeczywistym i wykorzystuje prawo aktualizacji dla twojego kontrolera. Ten wymaga najbardziej zaawansowanej umiejętności z trzech pomysłów.

Ponieważ twój system zmienia stałe czasowe w czasie, nie jest już LTI. Oznacza to, że musisz albo zaplanować wzmocnienie (całkiem łatwe, jeśli znasz zakres stałych czasowych), albo identyfikację systemu z prawem aktualizacji dla swojego PID.

willpower2727
źródło
dlaczego nie wyrównać dynamicznie kroków czasowych, projektując większy czas i czyniąc oprogramowanie quasi-rzeczywistym, czekając podczas każdej iteracji przed wysłaniem poleceń siłownika?
Gürkan Çetin
@ GürkanÇetin na co czeka oprogramowanie? Czy możesz mi pomóc zrozumieć, co się dzieje, gdy oprogramowanie celowo opóźnia aktualizację kontroli?
willpower2727,
Jeśli dobrze rozumiem, w każdej pętli iteracji obliczeniowych występuje nieznane opóźnienie czasowe (tj. Z powodu komunikacji we / wy lub innych zadań procesora). Jest to ogólny problem związany z celem innym niż system operacyjny (OS). Tak więc, dostrajając kontroler do z góry określonego (długiego) delta_t (powiedzmy 100 ms), a następnie przy każdej iteracji, próbując dopasować całkowity czas pętli do tego delta_t (załóżmy, że algorytmy sterowania są zakończone do 80 ms, poczekaj dodatkowe 20 ms) ), aby przesłać polecenia sterujące; może działać, jeśli wiadomo, że wszystkie inne zadania zajmują mniej niż 100 ms (minus czas obliczania prawa kontroli).
Gürkan Çetin
@ GürkanÇetin, jeśli dobrze rozumiem oryginalne pytanie, chodzi o to, jak kontrolować, kiedy fizyczne aspekty rośliny zmieniają się w czasie (tj. Utrata masy rakiety w czasie), a nie jak radzić sobie z czasami wykonania pętli operacyjnej w czasie rzeczywistym. Myślę, że twoja sugestia może być poprawna, jeśli chodzi o radzenie sobie z systemem operacyjnym nie działającym w czasie rzeczywistym z kontrolerem.
willpower2727,
o tak. Myliłem pytanie. W tym przypadku, jeśli roślina zmienia się w czasie (gwałtownie lub stopniowo), powiedziałbym, że rekonfiguracja to kolejna możliwość. Oczywiście działa tylko wtedy, gdy znasz zmianę dynamiki modelu. Jak utrata masy, wydawanie paliwa, wyciąganie / chowanie podwozia itp.
Gürkan Çetin