Wykład 8 - zaawansowane układy sterowania Instytut Automatyki i Robotyki Warszawa, 2014
adaptacyjne (ang. adaptive control) z dostosowaniem się do aktualnych warunków pracy napędu - koncepcje: ze wstępnie przygotowanymi nastawami sterowania i ich doborem do warunków pracy napędu Parameter Scheduling z nadążaniem układu za zadanym modelem zachowania się procesu sterowania (ruchem,...) Model-following z samostrojeniem układu sterowania z prowadzoną w trakcie normalnej pracy napędu estymacją dynamicznych zachowań realizowanego procesu (ruchu,...) Self-tuning predykcyjne (ang. predictive control) z nadążaniem układu sterowania za przewidywanymi warunkami pracy napędu, np. za zadaną trajektorią parametrów realizowanego procesu (ruchu,...)
Parameter Scheduling Istotą sterowania typu Parameter Scheduling (Harmonogramowanie parametrów) jest założenie wstępnego przygotowania zbioru nastaw następnie - w trakcie normalnej pracy napędu dobór nastaw w zakresie jednego (lub kilku) podstawowego parametru realizowanego procesu, np. w układzie pozycyjnym żądanie wykonania określonego przemieszczenia z znanym obciążeniem masowym
Rysunek : Sterowanie typu Parameter Scheduling
Model-following nadążanie za zadanym modelem zachowań Istotą sterowania typu Model-following (nadążanie za zadanym modelem zachowań) jest modyfikacja sterowania zwykłego polegająca na wprowadzeniu dodatkowego sprzężenia zwrotnego od odchylenia wektora stanu realizowanego procesu (ruchu,...) x(t) od wektora stanu x m (t) pożądanego modelu realizacji tego procesu w układzie sterowania Naturalnym podejściem do rozwiązania problemu układu nadążającego za zadanym (żądanym) modelem zachowania jest wykorzystanie analitycznego lub estymowanego modelu, dla którego można określić optymalne (żądane) wzmocnienie k xm i wyliczyć wektor stanu żądanego (modelowego) zachowania się procesu (ruchu,...) x m (t) z równania stanu jako ẋ m (t) = (A mc B mc k xm )x m (t) + B mc k wm w(t) (1) gdzie: A mc i B mc to macierze modelu, k wm, k xm są macierzami: wejściową i sprzężenia zwrotnego oraz w(t) jest wektorem wejścia.
Rysunek : Sterowanie typu Model-following
Przyjmując x(t) = x m (t) ˆx(t) (2) gdzie przez x m (t) = [x m1 (t) x m2 (t) x m3 (t)] T oznaczono wektor stanu modelowanego procesu, ˆx = [s(t) ˆv(t) â(t)] T oznaczono wektor stanu prawdziwego, np. odtworzonego na podstawie sygnału położenia s(t) w układzie pozycyjnym, zachowania procesu (ruchu,...) Różnica x(t) może być skompensowana, uwzględniając wprowadzoną dodatkowo macierz modyfikacji k m (dim k m = 1 n; np. n = 3 dla układów pozycyjnych o zachowaniu oscylacyjnym), przez zmianę wartości sygnału sterującego u(t) o wartość u(t) - odpowiednio do zależności u(t) = k m x(t) (3)
Self-tuning Istotą sterowania typu Self-tuning (samostrojenie) jest modyfikacja sterowania zwykłego wykorzystująca estymowany (identyfikowany) na bieżąco model zachowań procesu (ruchu,...) klasyfikacja: ze względu na podmiot prowadzonej on-line identyfikacji: w przypadku parametrów modelu napędu na algorytmy pośrednie (ang. Explicit Self-tuning Control), w przypadku nastaw sterowania na algorytmy bezpośrednie (ang Implicit Self-tuning Control). ze względu na zadanie sterowania i ocenę jego wykonania, m.in.: algorytmy kompensujące wpływ niemierzalnych zakłóceń i stabilizujące punkt pracy układu (np. algorytm minimalnowariancyjny Astroma), algorytmy zadanego czasu sterowania, algorytmy żądanej dynamiki procesu.
Rysunek : Sterowanie typu Self-tuning
Główne problemy sterowania samostrojonego układów napędowych Dla zapobieżenia fatalnym skutkom błędów identyfikacji - przez eliminację nierealnych wartości parametrów modelu procesu ruchu dzięki weryfikacji prowadzonej na podstawie konwersji modelu dyskretnego w ciągły, należy wykorzystywać algorytm samostrojenia pośredniego. Ze względu na możliwość uaktualnienia wartości startowych parametrów modelu procesu ruchu dopiero przy przechodzeniu z fazy przyspieszania do fazy hamowania, należy wprowadzić, wyprzedzające właściwą identyfikację modelu, szacowanie obciążenia masowego napędu.
Główne problemy sterowania samostrojonego układów napędowych c.d. Nastawy sterowania należy stroić zgodnie z zasadą przesunięcia miejsc pierwiastkowych zamkniętego układu pozycyjnego do zadanego położenia, tzn. zasadniczo tak, jak dla sterowania zwykłego zalecane jest, aby: wzmocnienie położeniowe było określone przez wymagania dokładnościowe, wzmocnienia prędkościowe i przyspieszeniowe były modyfikowane w odniesieniu do przyjętej relacji wartości własnych przez aktualne wartości parametrów identyfikowanego modelu procesu ruchu
Przebieg sterowania samostrojonego Rysunek : Przebieg pozycjonowania przestawnego pneumatycznego, dławieniowego napędu siłownikowego ze sterowaniem samostrojonym fazy sterowania
Rysunek : Sterowanie samostrojone z estymacją zachowań procesu w trakcie normalnej pracy napędu
Predykcyjne nadążanie układu sterowania napędu za zadaną trajektorią parametrów ruchu Istotą sterowania predykcyjnego (algorytm DMC: Dynamic Matrix Control) jest: Obliczenie oczekiwanych w wyniku dotychczasowych zachowań i sterowań wartości parametrów ruchu zmiennych stanu x pd, od chwili bieżącej k, w horyzoncie predykcji i = 1, 2,..., h, np. na podstawie modeli zachowań prędkościowych i przyspieszeniowych procesu ruchu: v pd (k + d + i) = a 11 v pd (k + d + i 1) + a 12 a pd (k + d + i 1) +b 1 u(k + i 1) a pd (k + d + i) = a 21 v pd (k + d + i 1) + a 22 a pd (k + d + i 1) +b 2 u(k + i 1) (4) gdzie: a 11 a 22, b 1, b 2 - elementy macierzy A md i B md.
Predykcyjne nadążanie układu sterowania napędu za zadaną trajektorią parametrów ruchu Obliczenie wartości sygnału sterującego u(k) jako pierwszego elementu ciągu - wektora sterowań u = [u(k), u(k + 1),..., u(k + r)]t wyznaczonego w horyzoncie sterowania r. u = K s (s o s pd ) + K v (v o v pd ) + K a (a o a pd ). (5)
Rysunek : Schemat blokowy działania pneumatycznego układu pozycyjnego z dławieniowym napędem siłownikowym w fazie normalnej pracy sterowania predykcyjnego
Rysunek : Sterowanie zwykłe
Rysunek : Budowa układu sterowania zwykłego: a) schemat ideowy, b)schemat realizacyjny
Istota sterowania predykcyjnego Założenie przewidywania zachowania się układu : Pojęcia: przyszłe zachowanie się układu obliczane jest na podstawie jego przeszłych zachowań, przyszłe sterowanie obliczane jest na podstawie optymalizacji przewidywanego zachowania w przyszłości. h horyzont predykcji... (k + h) r horyzont sterowania... (k + r)
Wady sterowania predykcyjnego konieczność wydłużenia okresu próbkowania i skracania horyzontów predykcji i sterowania ze względu na duży, rosnący kwadratowo wraz z wartością obu horyzontów, nakład obliczeniowy sterowania - negatywnym skutkiem jest pogorszenie jakości nadążania już od średnich prędkości ruchu dla danego napędu. konieczność rezygnacji z bieżącej aktualizacji modelu ze względu na nakłady obliczeniowe i obciążenie pamięci operacyjnej sterownika procesorowego macierzą R; rozwiązaniem jest kompromisowy model procesu ruchu, przyjęcie kompromisowej wartości obciążenia, obliczenie a priori macierzy R i następnie stałych macierzy K s, K v i K a negatywnym skutkiem jest pogorszenie jakości nadążania w przypadku zmiany parametrów użytkowych napędu. liczba nastaw i modeli: model procesu ruchu, parametry realizowalnej trajektorii + 6 nastaw sterowania predykcyjnego: elementy diagonali macierzy wagowych odchyłek nadążania P s, P v i P a, macierz wagowa sterowania Q u oraz horyzonty predykcji h i sterowania r.
Zalety sterowania predykcyjnego Sterowanie predykcyjne jest, uwzględniając duży nakład obliczeniowy algorytmu, ale i oczekiwania szybkiego zwiększenia mocy obliczeniowych akceptowanych cenowo sterowników procesorowych, rozwiązaniem najbliższym oczekiwaniom i upowszechnieniu w technice napędowej w najbliższej przyszłości Zasada predykcji, oparta na różnicy wektorów zadanych parametrów ruchu i przewidywanego zachowania się wektora stanu procesu ruchu w przyszłości, pozwala skuteczniej, niż w jakimkolwiek znanym i stosowanym algorytmie sterowania, oddziaływać na zachowania układu, Algorytm predykcji umożliwia łatwą implementacyjnie kompensację głównego, trudno mierzalnego zakłócenia procesu ruchu tłoka siłownika (w przypadku znanych lub estymowanych obciążeń masowych i siłowych), jakim jest oddziaływanie nieliniowo zmieniającej się siły tarcia.
Sterowanie ślizgowe Sterowanie ślizgowe (ang. Sliding Mode Control) postrzegane jest jako część większej grupy układów zwanej VSCS (ang. Variable Structure Control System system sterowania strukturą zmiennych/parametrów). Układy VSCS charakteryzują się zestawem różnych pętli sprzężenia zwrotnego, które były przełączane w zależności od warunków (wartość położenia, prędkości, przyspieszenia, wartość odchyłki regulacji, procent przeregulowania, itp.), jakie spełniał obiekt. Zaletą takiego rozwiązania był fakt, iż można połączyć zalety różnych pętli sprzężenia zwrotnego w zależności od stanu obiektu/procesu. W ten sposób cały system może posiadać właściwości nie możliwe do realizacji przez pojedynczą, nawet bardzo skomplikowaną, pętlę regulacji.
Sterowanie ślizgowe W przypadku sterowania ślizgowego pętle regulacji, jak i warunek są dobrane tak, aby utrzymywały wartość regulowaną w pewnym otoczeniu tzw. funkcji przełączającej. Do zalet takiego rozwiązania należy możliwość dostosowania dynamiki układu regulacji za pomocą konkretnej pętli regulacji, jak również możliwość kompensacji nieliniowości rzeczywistego obiektu oraz zmian jego parametrów. Możliwość definiowania dynamiki obiektu czyni metodę sterowania ślizgowego również ciekawą z punktu widzenia projektowego.
Sterowanie ślizgowe Założenia teoretyczne SMC Algorytm sterowania ślizgowego SMC jest strukturą o charakterze adaptacyjnym. W celu poprawnego stosowania niezbędne jest lepsze poznanie obiektu regulacji. W tym celu przeprowadzana jest identyfikacja jak również należy poczynić pewne założenia przed rozpoczęciem pracy nad algorytmem. Wśród najistotniejszych warunków początkowych należy wymienić: znany jest nominalny model obiektu, oszacowano przedziały zmienności parametrów modelu, oszacowano amplitudy sygnałów wejściowych (w tym również zakłócenia), wymagany jest zerowy uchyb ustalony dla stałych sygnałów wejściowych. Istotnym jest również, aby algorytm był możliwie prosty obliczeniowo. Warunek ten jest ważny zwłaszcza, gdy regulowany obiekt posiada małe stałe czasowe, które wymuszają szybkie działanie (liczenie) układu regulacji. Sygnał sterujący jest sumą sygnałów uzyskanych na drodze algebraicznych przekształceń oraz sygnału, który jest algebraicznie związany z warunkami logicznymi nałożonymi na parametry modelu oraz jego zmienne stanu.
Sterowanie ślizgowe Algorytm sterowania ślizgowego SMC Rozważyć należy obiekt liniowy n-tego rzędu o zależności: y n + a n 1 (t)y n 1 +... + a 0 (t) = b(t)u + d(t) (6) gdzie: a i (t) dla i = 0, 1,..., n 1 oraz b i (t) są zmiennymi w czasie parametrami, takimi, że możliwym jest określenie przedziału ich zmienności, zakłócenie d(t) jest również możliwe do określenia, wówczas możliwym jest określenie modelu obiektu jako: ẋ = 0 1 0. 0......... 1 a 0 a 1.. a n 1 x + 0.. 0 1 bu + 0.. 0 1 d (7) y = x 1 (8) gdzie: x = [x 1 x 2... x n ] T, x 0 = x 1 ν, ν to wartość zadana.
Sterowanie ślizgowe Można, zatem wyobrazić sobie sygnał σ przedstawiony zależnością: n σ = c i x i (9) gdzie: c n = 0, c i, dla i = 0,..., n 1, są dodatnimi wartościami i=0 Zatem Jeśli σ = 0 wówczas σ = n i=0 x o (s) = c i x (i) o + n c i ν (i). (10) i=0 c o n i=0 c ν(s) (11) i is W regulacji on-line niemożliwe jest wyznaczenie takiego σ, które równałoby się zeru, lub było jemu najbliższe, albowiem prowadzi to do wydłużenia czasu wyznaczania (obliczania) parametrów sygnału sterującego.
Sterowanie ślizgowe Należy więc dobrać tak wartość sygnału sterującego aby prawdziwa była nierówność σ σ < 0 (12) Wówczas σ będzie dążyła do zera. n σ = (c i 1 a i 1 )x i + bu c 0 ν + d (13) i=1 W tym przypadku, sygnał sterujący jest postaci n u = K i x i + K 0 (14) gdzie: Ki, dla i = 0, 1,..., n to nieliniowe, nieciągłe współczynniki wzmocnienia wyznaczane z warunków: K i min ai 1,b a i 1 c i 1 } b jeśli x i σ > 0 K i max ai 1,b a i 1 c i 1 b jeśli x i σ < 0 } K 0 c0 b max max b,d d b sgnσ jeśli νσ > 0 K 0 c0 b min max b,d d b sgnσ jeśli νσ < 0 i=1 (15) (16)
Sterowanie ślizgowe Algorytm SMC w praktycznym zastosowaniu Algorytm został przebadany na stanowisku zbudowanym w Instytucie Automatyki i Robotyki PW. Umożliwia ono badanie właściwości dynamicznych zespołu siłownika hydraulicznego. Zostały przeprowadzone testy algorytmu SMC zarówno przy przestawnej pracy napędu jak również przy nadążaniu. Przeregulowanie χ Czas reg. t ust Odchyłka stat. e st Regulator zmiennych stanu 0 1,271 1,12 Regulator SMC 0 1,878 0,79
Sterowanie ślizgowe
Sterowanie ślizgowe Rysunek : Regulator SMC oraz regulator zmiennych stanu w zadaniu przestawiania
Sterowanie ślizgowe Rysunek : Regulator SMC oraz regulator zmiennych stanu w zadaniu nadążania
Sterowanie ślizgowe Rysunek : Reakcja układu z regulatorem SMC na symulowane zakłócenie skokowe o wartości pięciokrotnie większej od wartości zadanej
Sterowanie ślizgowe Obserwując przedstawione wyniki badań można stwierdzić, że algorytm SMC nie może w pełni zastąpić tradycyjnych struktur sterowania. Natomiast może być z powodzeniem wykorzystany do: Pracy w trybie on-line, równolegle z innym regulatorem (np. zmiennych stanu), jako regulator zapasowy, na wypadek uszkodzenia obiektu, lub zmiany parametrów układu, do tego stopnia, że regulator główny nie będzie w stanie zapewnić poprawnego działania urządzenia. Praca z układem, którego identyfikacji nie można było dokonać, lecz którego strukturę można wyznaczyć na podstawie opisu matematycznego poszczególnych jego elementów. W obydwu tych przypadkach regulator SMC nie będzie w stanie zapewnić takiej jakości przebiegu odpowiedzi układu, jaką jest w stanie uzyskać poprawnie dobrany regulator zmiennych stany czy PID. Dzięki swojej nieliniowej strukturze regulator sterowania ślizgowego może z powodzeniem pracować z obiektami, których parametry są, w sposób istotny dla jakości regulacji, zmienne w czasie.
Implementacja procedur sterowania Na etapie projektowania sterowania do celu badania opracowanego algorytmu wykorzystuje się sprzęt, który w łatwy sposób się programuje i który umożliwia szybką zmianę algorytmu czy też jego parametrów. Ponadto musi pracować w czasie rzeczywistym aby istniała możliwość sterowania rzeczywistym obiektem. Do znanych urządzeń tego typu (które były i są wykorzystywane do badania m. in. algorytmów sterowania w Instytucie Automatyki i Robotyki PW) możemy zaliczyć: karty sterujące firmy dspace, programowalny sterownik CompactRIO firmy National Instruments sterowniki PLC firmy B& R wraz z oprogramowaniem Automation Studio Target for Simulink Wymienione typy urządzeń pozwalają na sterowanie w czasie rzeczywistym. Do tworzenia algorytmu sterowania w przypadku 1 i 3 wykorzystywane jest oprogramowanie Matlab wraz z dodatkiem Simulink. W przypadku drugiego urządzenia wykorzystywane jest w tym celu oprogramowanie LabVIEW.
Implementacja procedur sterowania Rysunek : Sterownik CompactRIO
Implementacja procedur sterowania Rysunek : Karta dspace - karta procesorowa DS1104 R& D
Implementacja procedur sterowania Rysunek : Implementacja algorytmu w środowisku Matlab/Simulink (przykład)
Układ sterujący w wersji przemysłowej Gdy algorytm sterowania został dopracowany, przeprowadzone badania pokazały, że działa on poprawnie, jest niewrażliwy na zmienne warunki pracy układu sterowanego, wówczas może zostać opracowana przemysłowa wersja układu sterującego. Można założyć dwa podejścia adaptacji algorytmu sterowania do warunków przemysłowych: opracowanie procedury sterowania jako elementu języka programowania sterowników PLC jeżeli opracowany algorytm sterowania może być wykonywany na sterowniku PLC wówczas można do istniejących instrukcji (bloków funkcyjnych) dodać nowy z zaimplementowanym naszym algorytmem (podobnie jak np. blok z algorytmem PID), opracowanie dedykowanego układu sterującego gdy algorytm jest zbyt złożony (choć niekoniecznie) wówczas można zbudować oddzielny układ sterujący oparty np. o procesor sygnałowy.
Procedura uruchomieniowa W procedurze uruchomienie urządzenia wykorzystującego napęd elektryczny możemy wyróżnić kilka etapów: sprawdzenie poprawności podłączenia silnika do napędzanego urządzenia, dobór nastaw układu sterującego: automatyczny (samostrojenie), ręczny, sprawdzenie jakości sterowania jak zachowuje się napęd po wystąpieniu zakłócenia przy różnych prędkościach pracy; w przypadku błędnego działania może być wymagana ręczna korekta nastaw, uruchomienie urządzenia w normalnym cyklu pracy.