• Nie Znaleziono Wyników

Prawidłowy model matematyczny opisujący dany obiekt jest podstawą do poszukiwania odpowiednich sterowań dla danego obiektu. Każdy model jedynie przybliża działanie rzeczywistego układu. Najdokład-niejszymi modelami są modele nieliniowe. Niestety często analiza lub próba konstruowania regulatora w oparciu o modele nieliniowe jest bardzo trudna. Z punktu widzenia sterowania istotnym zagadnie-niem jest też stabilność układu regulacji. Dla modeli nieliniowych trudno jest podać warunki w których dany model jest stabilny. Modele nieliniowe przy pewnych dodatkowych założeniach są upraszczane do modeli liniowych. Model liniowy jest mniej dokładny od modelu nieliniowego, ale często okazuje się, że dokładność modelu liniowego jest wystarczająca. Zaletą modeli liniowych jest bardzo dobrze rozwinięty aparat matematyczny do badania stabilności takich modeli, a także do projektowania układów regulacji. Dokładność modeli liniowych można także zwiększyć opracowując model liniowy danego obiektu tylko w pewnym zadanym punkcie pracy.

W układach napędowych automatyki oprócz “klasycznych” silników o ruchu obrotowym coraz czę-ściej wykorzystuje się silniki elektryczne o innych nietypowych ruchach. Przykładem takich silników są silniki o ruchu liniowym lub silniki z wirnikiem sferycznym. Silnik o ruchu liniowym z powodzeniem zastępuje układy hydrauliczne. Ponieważ producent dostarcza taki silniki z odpowiednim sterownikiem

0 5 10 15 20 25 −2 −1.5 −1 −0.5 0 0.5 1x 10 Katy czas [s] θ 0 5 10 15 20 25 −600 −400 −200 0 200 czas [s] φ

Rysunek 2.31: Przykład 2.9: Zmiana kątów wirnika przy jego obrocie wzdłuż osi 0y

(który w istocie jest specjalizowanym komputerem sterującym) modelowanie takie silnika ogranicza się do modelowania ruchu pewnej masy wzdłuż osi.

Bardzo interesującym rozwiązaniem napędu dla układów automatyki i robotyki są silniki z wirnikiem kulistym. Tego typu konstrukcja silnika który teoretycznie może wykonywać ruch względem dowolnej osi może w przyszłości całkowicie odmienić konstrukcje napędów obecnych silników. Na przykład układ napędowy ramienia robota Puma 3 umożliwia ruch w 3 osiach ale jest zbudowany z trzech silników oraz skomplikowanego układu mechanicznego. Dodatkowe części mechanicznie wprowadzają utrudnienia (np. tarcie statyczne, dynamiczne) i ograniczenia (ramie takiego robota jest ciężkie co ogranicza np. maksy-malną prędkość ruchu). Zastąpienie skomplikowanych układów elektro-mechanicznych jednym silnikiem z wirnikiem kulistym wydaje się rozwiązywać wiele problemów, a także zwiększyć możliwości takiego robota. Silnik z wirnikiem kulistym w dalszym ciągu jeszcze pozostają w większości przypadków kon-strukcjami laboratoryjnymi. Oprócz problemów typowo mechanicznych (odbiór ruchu z takiego wirnika kulistego), stopień skomplikowania modelu matematycznego jest znaczący przez co sterowanie takimi silnikami nie jest proste. Opisany w rozdziale silnik jest tylko jedną z przykładowych konstrukcji. Inne konstrukcje silników kulistych to np. silnik kulisty o zmiennej reluktancji (ang. variable-reluctance sphe-rical motor (VRSM)) zob. np. (Zhou i Lee, 1996, s. 2859). Tego typu silnik charakteryzują się względnie prostą budową i dużym zakresem ruchów oraz mogą być potencjalnie wykorzystane w urządzeniach wy-magających dużej precyzji ruchu i jego szybkości. Inną konstrukcją silnika z wirnikiem kulistym jest wer-sja krokowa takiego silnika (ang. spherical stepper motor), zob. np.(Chirikjian i Stein, 1999, s. 342,351). Wirnik tego typu silnika kulistego zbudowany jest z magnesów trwałych. Stator takiego silnika zbudo-wany jest z elektromagnesów. Odpowiednio włączając elektromagnesy statora można uzyskać zadany ruch wirnika. Jeszcze inną konstrukcje silnika z wirnikiem kulistym wyposażonym w magnesy trwałe można znaleźć np. w pracy (Wang et al., 2001, s. 1798-1799). Wirnik kulisty takiego silnika zawiera magnesy ziem rzadkich. Stator takiego silnika składa się z niezależnych cewek które wytwarzają pole magnetyczne które w wyniku oddziaływania z magnesami wirnika powoduje jego ruch. Konstruuje się dwie wersje takiego silnika, silnik o dwóch stopniach swobody i silnik o trzech stopniach swobody. Podane przykładowe konstrukcje silników z wirnikiem kulistym nie są przeglądem wszystkich znanych konstrukcji tego typu silników. Zawężono przegląd do konstrukcji najczęściej spotykanych w literaturze, a także do silników prądu stałego. Konstruowane są na przykład indukcyjne silniki z wirnikiem kulistym, zob. np. (Foggia et al., 1988, s. 137-141).

−1 −0.5 0 0.5 1 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 X Y

Rysunek 2.32: Przykład 2.10: Ruch wirnika po zadanym okręgu – regulator P. Widok z góry (płaszczyzna 0xy) 0 5 10 15 20 25 −800 −600 −400 −200 0 Katy czas [s] θ 0 5 10 15 20 25 0 10 20 30 40 50 czas [s] φ

−0.6 −0.4 −0.2 0 0.2 0.4 0.6 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 X Y

Rysunek 2.34: Przykład 2.10: Ruch wirnika po zadanym okręgu – regulator PD. Widok z góry (płasz-czyzna 0xy) 0 5 10 15 20 25 −800 −600 −400 −200 0 Katy czas [s] θ 0 5 10 15 20 25 0 10 20 30 40 czas [s] φ

Rozdział 3

Metody projektowania układów

regulacji

W rozdziale tym zostaną opisane regulatory wykorzystywane do sterowania silnikami prądu stałego.Przedstawiono sposób doborów parametrów najpopularniejszych regulatorów takich jak PID, LQR, deadbeat.

Regulator jest urządzeniem które pracuje w pętli ujemnego sprzężenia zwrotnego. Na podstawie ak-tualnego stanu obiektu regulator generuje (wytwarza) odpowiedni sygnał sterowania. Typowy obwód

Rysunek 3.1: Układ regulacji

regulacji składa się z obiektu (którym sterujemy) i regulatora lub regulatorów. Zadanie regulatora po-lega na wygenerowaniu odpowiedniego sygnału sterującego obiektem tak aby obiekt sterowany osiągnął ustalone przez nas wartości wyjścia. Typowymi zadaniami realizowanymi przez regulatory to stabilizacja obiektu, nadążanie (śledzenie) obiektu za zadaną trajektorią. Często układ sterowania zbudowany jest z kilku regulatorów: np. pierwszy regulator stabilizuje system a drugi realizuje zadanie nadążania. Do oceny jakości pracy służą wskaźniki jakości. Wskaźniki jakości są to funkcje (funkcjonały) które okre-ślonym typom regulatorów przy okreokre-ślonym zadaniu realizowanym przez regulator przyporządkowują odpowiednią liczbę. Jeżeli wyliczymy wartość jednego ustalonego wskaźnika jakości dla różnych typów regulatorów realizujących to samo zadanie to możemy (porównując wartości kryterium jakości) ocenić których z regulatorów działa lepiej a który gorzej. Istnieje bardzo dużo różnych typów wskaźników jakości, ale kilka z nich wykorzystuje się najczęściej.

Dla ustalenia uwagi przyjmijmy, że sterowanie rozpoczyna się w chwili t0= 0 i czas sterowania trwa do

chwili tk (tk > t0). Można podać następujące najczęściej spotykane wskaźniki (kryteria) jakości, zob. np. (Mitkowski, 1991, s.79), (Takahashi et al., 1976, s.316), (Krasowski i Pospiełow, 1965, s. 343), (Górecki, 1993, s. 286): • minimalno-czasowy J = Z tk 0 1dt (3.1)

Regulator optymalny w sensie tego wskaźnika minimalizuje czas sterowania (regulacji). • minimalno-energetyczny

J = Z tk

0

• minimalizujący błąd przejściowy J =

Z tk

0

(yz(t) − y(t))T(yz(t) − y(t))dt (3.3)

• minimalizujący kwadratowy wskaźnik jakości: J =

Z tk

0

(x(t)TWx(t) + u(t)TRu(t))dt (3.4)

W wyniku minimalizacji (3.4) utrzymujemy stan systemu w pobliżu zerowego punktu równowagi przy niedużym koszcie sterowania.

Mając określony wskaźnik jakości możemy porównywać ze sobą różnego typu regulatory. Szukamy regulatora który jest najlepszy czyli takiego który minimalizuje zadany wskaźnik jakości. Porównywane regulatory mogą mieć różną strukturę, a także w obrębie regulatorów o tej samej strukturze regula-tory mogą mieć różne nastawy. Najlepszy regulator (czyli taki który pracując z obiektem) dla którego uzyskujemy najmniejszą wartość wskaźnika jakości nazywamy regulatorem optymalnym. Projektowanie regulatorów, dobór ich struktury i parametrów jest zadaniem trudnym ze względu na liczbę różnego rodzaju możliwości (czy to w sposobie doboru struktury czy też samych parametrów). Matematyczne sformułowane zadnie poszukiwania regulatora optymalnego można opisać następująco: dany jest system dynamiczny z przestrzenią wejść W , przestrzenią wyjść Y i funkcją przejścia f : W → Y . Dana jest

zbiór wejść dopuszczalnych Wd taki, że Wd ⊂ W . Wskaźnik jakości dany jest w postaci funkcjonału

J : W × Y → R. Szukamy takiego wejścia optymalnego w

∈ Wdktóre minimalizuje wskaźnik jakości J

co można zapisać:

J(w

, f (w

)) = min(J(w, f (w) : w ∈ Wd) (3.5)

Przestrzeń wejść W najczęściej jest iloczynem kartezjańskim przestrzeni stanów X i przestrzeni sterowań U , W = X ×U . Zmienną na którą mamy wpływ jest sterowanie u ∈ U . W przestrzeni sterowań U zawarty jest zbiór sterowań dopuszczalnych. Do wyznaczania sterowań optymalnych które minimalizują zadany wskaźnik jakości możemy wykorzystać zasadę maksimum Pontrigina.

Niech dany będzie system dynamiczny opisany następującymi równaniami stanu: ˙

x(t) = f (x(t), u(t)), t ∈ [0, T ] (3.6)

z warunkiem początkowym

x(0) = x0 (3.7)

gdzie x(t) ∈ Rn. Sterowania dopuszczalne są funkcjami przedziałami stałymi, przyjmującymi wartości

w ustalonym zbiorze U ∈ Rm. Warunek początkowy x0 i czas końcowy T są ustalone i nie podlegają

optymalizacji. Dany jest także wskaźnik jakości w ogólnej postaci:

J(u) = q(x(T )) (3.8)

Sterowanie u będziemy nazywali optymalnym jeśli dla każdego dopuszczalnego sterowania u będzie

zachodziło:

J(u

) ≤ J(u) (3.9)

Trajektoria wygenerowana przez sterowanie optymalne unazywamy trajektorią optymalną x.

Niech będzie dana funkcja zwana dalej hamiltonianem która zdefiniowana jest następująco:

H(Ψ(t), x(t), u(t)) = Ψ(t)Tf(x(t), u(t)). (3.10)

Funkcja ta jest przekształceniem H : Rn × Rn × Rm → R. Funkcję sprzężoną występującą w (3.10)

definiujemy następująco: ˙

Ψ(t) = −∇xH(Ψ(t), x(t), u(t)), t ∈ [0, T ] (3.11)

z warunkiem końcowym:

Ψ(T ) = −∇xq(x(T)) (3.12)

Jeśli sterowanie u jest optymalne w sensie wskaźnika jakości (3.8), x trajektorią optymalną, Ψ

tra-jektorią sprzężoną optymalną to zachodzi warunek maksimum:

H(Ψ

(t), x

(t), u

czyli hamiltonian jest maksymalizowany przez chwilowe wartości sterowania optymalnego u

(t). Powy-żej przedstawiono w skrócie zasadę maksimum, pełniejsze rozważania wraz z dowodami odpowiednich twierdzeń można znaleźć np. w (Athans, 1969), (Bołtianski, 1971), (Bania, 2008). Teoretycznie zasada maksimum pokazuje sposób w jaki znaleźć sterowanie optymalne w sensie dowolnego wskaźnika jakości J. Algorytm postępowania w takim przypadku może być następujący. W wyniku maksymalizacji ha-miltonianu (3.10) otrzymujemy prawo sterowania optymalnego (formuła na sterowanie u(t), które jest podejrzane o optymalność – zasada maksimum jest bowiem warunkiem koniecznym optymalności):

u(t) = F(Ψ(t), x(t)) (3.14)

Następnie sterowanie (3.14) wstawiamy do układu równań: 

˙

x(t) = f (x(t), u(t))

˙

Ψ(t) = −∇xH(Ψ(t), x(t), u(t)) (3.15)

z warunkami początkowymi i końcowymi (3.7) i (3.12) i otrzymujemy tak zwany układ kanoniczny (układ równań o niewiadomych x(t) i Ψ(t)). Rozwiązując problem dwu-graniczny wyznaczamy trajektorię opty-malną x(t) i zmienną sprzężoną Ψ(t) i następnie z równania (3.14) otrzymujemy sterowanie optymalne u(t) – o ile istnieje (i jest jednoznaczne).

W ogólnym przypadku poszukiwanie sterowań optymalnych przy wykorzystaniu zasady maksimum jest zadaniem trudnym. Dla pewnych klas układów oraz wskaźników jakości można efektywnie wyznaczyć sterowanie optymalne oraz regulator optymalny.

3.1 Regulator PID

Regulatory PID są jednym z najstarszych i pierwszych typów regulatorów stosowanych w automatyce (pierwsze zastosowania lata 30 XX wieku). Zaproponowany w 1922 przez N.Minorskiego (Zeron, 2008, s. 69) tego typu regulator składa się z trzech elementów: regulatora proporcjonalnego, różniczkującego i całkującego. Sygnał sterujący z takiego regulatora jest proporcjonalny do wielkości błędu (reg. P), proporcjonalny do pola powierzchni błędu (reg. I) i proporcjonalny do pochodnej błędu (reg. D). Do dzisiaj regulatory PID są bardzo często wykorzystywane w układach sterowania. Dzieje się tak ponieważ ich konstrukcja jest stosunkowo prosta, aparat matematyczny opisujący ich działanie bardzo dobrze poznany i efekty działania tego typu regulatora dają dobre rezultaty. Ważnym czynnikiem dzięki któremu regulatory PID są stosowanie na tak szeroką skalę jest także opracowanie inżynierski metod doboru nastaw tego typu regulatorów oraz ich strojenia (np. metoda Zieglera-Nicholsa) (Byrski, 2007, s. 295-300), (Takahashi et al., 1976, s. 314-315).

Regultor PID jest opisywany następującym równaniem:

u(t) = Kp " ǫ(t) + 1 Ti Z t 0 ǫ(τ )dτ + Td dǫ(t) dt # , t ≥ 0 (3.16) gdzie • Kp- współczynnik wzmocnienia

• Ti - czas zdwojenia (czas po którym odpowiedź z regulatora na skok jednostkowy będzie dwa razy

większa niż sygnał regulatora proporcjonalnego)

• Td - czas wyprzedzenia

wartość zadaną sygnału wyjściowego y(t) oraz błąd pomiędzy tymi wartościami jako:

ǫ(t) = yz(t) − y(t) (3.17)

Dopóki wartość błędu ǫ(t) jest różna od wartości 0 to regulator PID będzie generował sygnał sterowania u(t) który powinien tak sterować układem, by błąd ǫ(t) → 0, gdy t → +∞. Innymi słowy należy dobrać parametry regulatora tak, by układ zamknięty (układ regulacji) pokazany na rysunku 3.2 był syste-mem asymptotycznie stabilnym. W zbiorze nastaw regulatora zapewniających asymptotyczną stabilność można poszukiwać nastaw w odpowiedni sposób optymalnych.

Równania (3.16) i (3.17) opisują klasyczny regulator PID, zob. np. (Kaczorek, 1977, s. 124), (Takahashi et al., 1976, s. 314), (Węgrzyn, 1978, s. 107). Regulator PID pracuje w oparciu o skalarny sygnał błędu ǫ(t) i generuje skalarny sygnał sterowania u(t) – regulator PID może więc regulować jedną wielkość przy pomocy jednego sygnału.

W praktycznych rozwiązaniach podstawę konstrukcji regulatorów stanowią wzmacniacze o dużym wzmocnieniu wraz z odpowiednimi elementami w obwodzie sprzężenia. Transmitancja zastępcza takiego

Rysunek 3.3: Praktyczne realizacje regulatorów układu wynosi w przybliżeniu:

Y (s)

X(s)

1

T (s) (3.18)

Z wzoru (3.18) wynika, że transmitancja zastępcza układu pokazanego na rysunku 3.3 jest w przybliżeniu równa odwrotności transmitancji elementu umieszczonego w sprzężeniu zwrotnym. Jest to podstawowa zasada przy budowie regulatorów przemysłowych (Węgrzyn, 1978, s. 109).

Przykład 3.1. Dany jest silnik obcowzbudny opisany równaniami (2.21) i (2.22). Parametry silnika podane są w punkcie (8.4) dodatku A, s. 95. Zaprojektujmy układ sterowania którego zadaniem będzie nadążanie i stabilizacja prędkości obrotowej silnika ω(t) za zadaną wartością ωz(t). Układ sterowania będzie składał się z regulatora PID, którego zadaniem będzie odpowiednie minimalizowanie błędu:

ǫ(t) = ωz(t) − ω(t) (3.19)

Do doboru parametrów regulatora zostanie wykorzystany specjalizowany element toolbox-a Simulink o nazwie Signal Constrain (w skrócie nazywany dalej SRO) z biblioteki Simulink Response Optymization. Element SRO może optymalizować układy typu SISO (ang. Signle Input Single Output). Element SRO udostępnia bardzo wygodny graficzny interfejs za pomocą którego możemy: zadawać ograniczenia na sygnał wyjściowy, decydować które parametry i w jakim zakresie moją być optymalizowane, wybrać metodę i ustawić parametry symulacji układu. Zmienne które są optymalizowane mogą być skalarami, wektorami lub macierzami. Do poszukiwania optymalnych wartości parametru możemy wybrać jedną z trzech dostępnych metod optymalizacji: Gradient de-scent, Pattern search (algorytmy genetyczne), Simplex search. Istnieje także możliwość zdefiniowania warunków stopu takich jak: kolejna zmiana parametrów powoduje polepszenie o wartość mniejszą niż ustalony próg lub osiągnięto maksymalną liczbę iteracji. W skrócie działanie elementu SRO można opisać następująco:

1. Dla zadanych wartości początkowych poszukiwanych parametrów przeprowadź pierwszą symulacje. 2. Jeśli odpowiedź układu spełnia zadane ograniczenia - stop optymalizacja - optymalne parametry są

znale-zione.

3. Jeśli odpowiedź nie spełnia któregoś z ograniczeń zmodyfikuj parametry które są optymalizowane i prze-prowadź następną symulacje i idź do 2 .

W kroku 3 wykonywane są jeszcze dodatkowe operacje np. sprawdzenie czy nie osiągnięto maksymalnej ilości iteracji, sprawdzenie czy parametry optymalizowane zmieniają się o wartość większą niż zadana, sprawdzenie

czy poprawa wyniku jest większa od zadanej. Jeśli któryś z tych warunków nie zostanie spełniony to dalsza optymalizacja jest przerywana a otrzymany wynik nie jest wynikiem optymalnym. Wykorzystując element SRO możemy w prosty sposób formułować różnego rodzaju zadnia optymalizacji parametrycznej i rozwiązywać je przy wykorzystaniu kilku dostępnych algorytmów. To czy wyniki uzyskane w ten sposób będą prawidłowe zależy od rodzaju zadania, a także od sposobu zdefiniowania samego problemu optymalizacji.

Rysunek 3.4 przedstawia schemat zbudowany w Simulink -u do poszukiwania optymalnych wartości regulatora PID. Na schemacie tym umieszczony jest element SRO. Wejściem elementu SRO jest sygnał którego wartość chcemy “kształtować” poprzez zmianę zadanych parametrów (w naszym przypadku są to parametry regulatora PID takie jak Kp, Ti, Td). W tym przypadku na wejście elementu SRO podany jest sygnał błędu (3.19). Zadanie optymalizacji polega na takim dobraniu parametrów regulatora PID (Kp, Ti, Td) aby błąd (3.19) osiągnął wartość 0 w czasie nieprzekraczającym 0.1 s. predkosc 200 Signal Constraint Scope Saturation Reset PID PID PID P2 P1 Moment obciazenia 0 Losowe wartosci predkosci obrotowej omega Losowe wartosci momentu obciazenia M_z DC PM Motor U Mo I Omega i(t) u(t) u(t) omega(t) Moment Moment

Rysunek 3.4: Przykład 3.1: Schemat układu do poszukiwania optymalnych nastaw regulatora PID oraz ich testowania.

Optymalnych parametrów regulatora poszukiwano przyjmując następujące wartości zadanej prędkości obro-towej (yz(t) = ωz(t)) i momentu obciążenia

ωz(t) = 200 rad/s Mz(t) = 0 Nm

Warunki początkowe to i(0) = 0, ω(0) = 0, u(0) = 0. Jako algorytm do poszukiwania minimum wybrano: Gradient descent oraz przyjęto 100 kroków iteracji. Zmienne które poszukiwaliśmy to parametry regulatora PID Kp, Ti, Td. Jako zmienną której przebieg będziemy chcieli ukształtować przy pomocy parametrów regulatora Kp, Ti, Tdwybrano sygnał ǫ(t) - czyli odchyłkę od wartości zadanej. Ograniczenia na ǫ(t) zostały zadane w ten sposób że po czasie 0.1 s, wartość błędu nie powinna przekraczać wartości:

|ǫ(t)| ≤ 0.1 rad/s

W wyniku przeprowadzonej optymalizacji zostały przyjęte następujące parametry regulatora PID: Kp = 1.99140

Ti = 5.08223 Td = 0.01387

Na wykresach 3.5 przedstawiono działanie regulatora PID. Jak można zauważyć regulator generuje

sterowanie u(t) w taki sposób żeby prędkość obrotowa silnika ω(t) nadążała za prędkością zadaną ωz(t).

Podczas symulacji zmieniana była prędkość obrotowa zadana ωz(t) i moment obciążenia Mz(t). Pomimo

zmieniających się warunków pracy, regulator działał poprawnie. Największe wartości błędu ǫ(t) można zaobserwować jednie w stanach przejściowych.

Algorytm optymalizacji Kp Ti Td

Gradient descent 1.9914 5.0822 0.0138

Pattern search 1.8856 4.6140 0.0193

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −100 0 100 200 Czas [s] ω [rad/s] 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −150 −100 −50 0 50 Czas [s] ε [rad/s] 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −20 −10 0 10 20 Czas [s] u(t) [V]

Rysunek 3.5: Przykład 3.1: Działanie regulatora PID które parametry wyznaczono drogą symulacji.

Wykres górny – prędkość obrotowa zadana ωz(t) (linia przerywana) i prędkość obrotowa silnika ω(t)

(linia ciągła), wykres środkowy – błąd ǫ(t), wykres dolny – napięcie sterujące u(t).

W tabeli przedstawiono zakres parametrów regulatora PID jakie zostały wyliczone przez element SRO przy użyciu różnych algorytmów optymalizacji. Właściwości dynamiczne układu zależą od pierwiastków równania charakterystycznego. W przypadku dobierana parametrów regulatora PID przy użyciu ele-mentu SRO nie możemy bezpośrednio zadać pierwiastki równania charakterystycznego układu zamknię-tego. Ograniczenia jakie możemy zadać dotyczą tylko sygnału wejściowego elementu SRO. Dla obiektów opisanych nieliniowymi równaniami różniczkowymi może to być jedyna efektywna metoda wyznaczania parametrów regulatora.

W dokumencie Index of /rozprawy2/10146 (Stron 38-47)

Powiązane dokumenty