Index ¦ Archives ¦ Atom

Mądry pastuszek - czyli rzecz o sterownikach...

Mądry pastuszek

Nasza mała szczęśliwa łączka.

Wyobraźmy sobie że mamy owieczkę. Jest to miłe i pożyteczne zwierzątko, które zjada sobie grzecznie trawę z dowolnego pastwiska, a w zamian daje nam wełnę. Jej jedyną potrzebą jest się najeść.

No może i szczęśliwa, ale niestety niezbyt ogarnięta.

Jednak, po dokładnym przyglądnięciu się takiej zwykłej owieczce, okazuje się, że nie kieruje się ona niczym innym, jak jedynie potrzebą jedzenia. Nie patrzy, czy to co je jest dobre, i czy jest tego dużo. Nie interesuje ją czy może z tego miejsca jeść, i czy to czy teraz zje z tego kawałka nie spowoduje tego że, za jakiś czas nie będzie miała co jeść. Po prostu jej mózg nie jest do tego przystosowany, bo wcale tego nie potrzebuje.

Trzeci koniec kija.

Do tego typu rozważań potrzebny jest mądry pastuszek. Jest to taka zacna osoba, która odpowiada za obserwowanie wielu parametrów: pogody, zasobności łąki, poziomu najedzenia owieczki, jak nawet jej humoru.

Taki pastuszek, obserwuje dzięki swojemu bardziej rozwiniętemu aparatowi percepcji, wszelkie parametry, które po prostu umykają owieczce. Dzięki temu, w znacznie lepszy sposób zaspokaja potrzeby owieczki, oraz własny interes -- bo dobrze najedzona owieczka, zadowolona z życia, ma o wiele lepszy przyrost masy wełny, w stosunku do zjadanej ilości pokarmu.

Przejdźmy do konkretów.

Do czego jednak zmierza cała ta mała opowiastka o naszej wesołej owieczce, oraz zacnym pastuszku?

Okazuje się, że automatyka różnych procesów jest robiona czasem nieoptymalnie, ze względu na zastosowanie ograniczonych algorytmów i badania podstawowych parametrów.

Wełniany kociołek, i jego bimetaliczny móżdżek.

Za przykład podam tutaj automatykę kotła. Jej sterownik opiera się tylko na badaniu temperatury z jednego punktu. Na tej podstawie włącza lub wyłącza proces „grzania". Sam proces grzania polega na utrzymywaniu stałej temperatury poprzez proces spalania oleju i podgrzewania wody. Woda ta jest transportowana do grzejnika, który podgrzewa powietrze i powoduje wzrost jego temperatury do zadanego poziomu.

Jedynym parametrem jest zadana temperatura. Na samym piecu jest możliwość ustawienia temperatury wody, która jednak jak domniemuję (nie jestem specjalistą) powinna być dostosowana do posiadanej instalacji i grzejników.

Sterownik po prostu mówi „grzej" albo „nie grzej". A w piecu znajduje się coś co tylko utrzymuje w miarę zadaną temperaturę wody w nim samym, poprzez cykliczne załączanie i wyłączanie procesu „spalania".

Czemu mądry pastuszek pomoże ogrzać nasz dom?

Czy nie przypomina to trochę naszej owieczki? Piec nie uwzględnia żadnych parametrów, nie licząc temperatury. A mógłby całkiem sporo.

Mógłby uwzględniać zużycie paliwa względem konieczności osiągnięcia danej temperatury, przy różnych nastawach temperatury wody. Może nawet sam by określał która temperatura minimalizuje zużycie paliwa, bo okaże się że podawana przez producenta grzejników nie jest optymalna.

Piec mógłby też znać charakterystykę dynamiczną budynku i nauczyć się, że jeśli dopuszcza do wystąpienia oziębienia poniżej jakiejś wartości, bardziej kosztowne będzie dopuszczenie do wychładzania o jeszcze jeden stopień Celsiusza niż utrzymanie aktualnej temperatury (spłaszczał by tam samym histerezę).

Mógłby uwzględnić znaczny spadek temperatury zewnętrznej jako ostrzeżenie przed silnym wychłodzeniem budynku i na ten fakt dogrzewać „zapobiegawczo", mając świadomość jakie kosztowne jest ogrzanie zimnego budynku.

Takich przykładów można by mnożyć i wypisać tu bardzo wiele.

Ale wszystkie te funkcjonalności spełniał by nasz zacny i mądry pastuszek, czyli taki sterownik który potrafił by lepiej optymalizować proces grzania (w przypadku przytoczonego przykładu), lub dowolny proces który aktualnie jest zarządzany nieoptymalnie.

Algorytm jego działania, opierał by się na wielu danych wejściowych, zarówno tych które mogą wpływać na dany proces (np. temperatura zewnętrzna), jak i te które są wynikiem tego procesu (zużycie paliwa). Algorytm ten musiał by być adaptacyjny, względem tego jak proces się zmienia, po prostu modelując go w sobie. Na początku „ucząc się" zaczynając od czarnej skrzynki a kończąc na jak dokładniejszym opisaniu modelu procesu.

Czy bez operacji na żywym ciele się nie obejdzie?

Również sama metoda wdrożenia takiego sterownika mogłaby się opierać na dwóch drogach, pierwsza trudniejsza -- wyrzucenie oryginalnego mózgu owieczki i przeszczepienie w jego miejsce mózgu pastuszka, który to wtedy przejął by całkowicie sterowanie. Wydaje mi się że jest to „opcja" trudniejsza, ze względu na konieczność ingerencji wewnątrz organizmu optymalizowanego.

Druga możliwość, to właśnie koncepcja „mądrego pastuszka", czyli takiego sterownika nadrzędnego, którego wyjściem były by wejścia sterownika aktualnego. Nie ma wtedy potrzeby ingerencji w aktualną „konfigurację", jednak niesie to za sobą konieczność umiejętności kierowania za pomocą dostępnych parametrów. Po prostu trzeba znać owieczkę jak własną kieszeń, wytresować ją w sposób nam odpowiadający. Treserzy zwierząt na pewno powiedzą, że jest to zadanie wykonalne, ale na pewno nie zadanie proste.

Dylematy.

Kosztowe.

W każdym przypadku, należy zastanowić się nad opłacalnością zmiany aktualnego stanu. Może nie jest to konieczne? Może zmiana sterownika na jakikolwiek inny, lub zaprojektowanie samego algorytmu pastuszka jest zbyt drogie?

Implementacja.

Może nie ma możliwości łatwego, skutecznego wdrożenia pastuszka, czy to w formie przeszczepu, czy nadzorcy.

Sterowalność.

Czy przy wyborze opcji nadzorcy będzie łatwo sterować owieczką? Opór zwierząt (jak i ludzi) nie zna granic. Może w wyniku zastosowania funkcji nadzorcy, nastąpi kompletne rozsterowanie funkcji które miał spełniać sterownik, i wcale nie nastąpi optymalizacja, a nawet zmniejszenie wydajności procesu.

Możliwości.

Prostota.

W momencie gdy, tryb nadzorcy jest możliwy do wdrożenia, może okazać się, że zaawansowany algorytm pastuszka, pomoże w prosty sposób zoptymalizować proces.

Rozwijalność.

Ideałem było by stworzenie uniwersalnego algorytmu, któremu dajemy dane wejściowe -- ich charakter, dane wyjściowe i algorytm ten dostaje wolną rękę w tworzeniu modelu przez „okres testowy". A następnie samodzielnie optymalizuje proces krok po kroku, przedstawiając korzyści? Po stworzeniu tak uniwersalnego algorytmu, można by go sprzedawać w wielu wielu miejscach.

© Piotr Lemiesz. Built using Pelican. Theme by Giulio Fidente on github.