Liniowe uk lady sterowania.
Transkrypt
Liniowe uk lady sterowania.
Liniowe ukÃlady sterowania. Rozwia̧zywanie liniowych rownań stanu • UkÃlady z czasem cia̧gÃlym. • Liniowe stacjonarne równania stanu. PrzykÃlad: UkÃlad sterowania tarcza̧ obrotowa̧ prȩt sprȩżysty tarcza obrotowa I ¡@ ¢@ ¤ £ θ(t), Ω(t) 6 6 º· U (t) ¹¸ przekÃladnia silnik rewersyjny zmienna steruja̧ca u(t) = U (t) - napiȩcie obwodu steruja̧cego silnika, zmienne stanu x1 (t) = θ(t) - poÃlożenie ka̧towe tarczy, x2 (t) = Ω(t) - prȩdkość ka̧towa tarczy, zmienne wyjściowe y1 (t) = c1 θ(t) - pomiar poÃlożenia ka̧towego za pomoca̧ ukÃladu mostkowego, y2 (t) = c2 Ω(t) - pomiar prȩdkości ka̧towej za pomoca̧ pra̧dnicy tachometrycznej. Równania stanu obiektu ẋ1 (t) = x2 (t), x1 (t0 ) = x10 , ẋ2 (t) = −a1 x1 (t) − a2 x2 (t) + bu(t), x2 (t0 ) = x20 , gdzie a1 - wspóÃlczynnik siÃly sprȩżystości prȩta (a1 = 0 oznacza brak siÃly skrȩcaja̧cej, a2 -wspóÃlczynnik tarcia ukÃladu (a2 = 0 oznacza brak siÃl tarcia), b -wspóÃlczynnik proporcjonalności obwodu steruja̧cego silnika. 1 Równania wyjścia y1 (t) = c1 x1 (t), y2 (t) = c2 x1 (2). Równanie sprzȩżenia zwrotnego u(t) = k1 y1 (t) + k2 y2 (t). Wskaźniki jakości procesu sterowania docelowego tarcza̧ obrotowa̧: Rt sterowanie minimalnoczasowe Q = t01 dt = t1 − t0 , Rt sterowanie minimalnoenergetyczne Q = t01 u2 (t)dt. Wektorowo-macierzowy opis ukladu sterowania: • wektorowo-macierzowe równanie stanu ẋ(t) = Ax(t) + Bu(t), x(t0 ) = x0 , gdzie wielkości à ! à ! à ! x1 (t) 0 1 0 x(t) = , A= , B= x2 (t) −a1 −a2 b oznaczaja̧ wektor zmiennych stanu, macierz stanu i macierz sterowania, • wektorowo-macierzowe równanie wyjścia y(t) = Cx(t), gdzie wielkości à ! à ! y1 (t) c1 0 y(t) = , C= y2 (t) 0 c2 oznaczaja̧ wektor zmiennych wyjściowych i macierz wyjścia, • wektorowo-macierzowe równanie sprzȩżenia zwrotnego u(t) = Ky(t), gdzie ³ ´ K = k1 k2 oznacza macierz sprzȩżenia zwrotnego. • wektorowo-macierzowe równanie ukÃladu zamkniȩtego ẋ(t) = (A + BKC)x(t), lub inaczej ẋ(t) = Ãx(t), à = A + BKC. 2 Rozwia̧zanie wektorowo-macierzowego równania stanu określone jest przez macierzowa̧ funkcjȩ wykÃladnicza̧ (eksponentȩ macierzowa̧) zdefiniowana̧ za pomoca̧ szeregu macierzowego e At A2 t2 A3 t3 . = I + At + + + ... . 2! 3! Definicja ta jest naturalnym uogólnieniem skalarnej funkcji wykÃladniczej (eksponenty skalarnej) zdefiniowanej za pomoca̧ szeregu skalarnego a2 t2 a3 t3 . eat = 1 + at + + + ... . 2! 3! Inaczej mówia̧c eksponenta macierzowa jest suma̧ szeregu macierzowego At e = ∞ X (At)κ κ=0 κ! . Podstawowe wÃlasności eksponenty macierzowej • przemienność macierzy eAt i macierzy A A2 t2 A3 t3 A3 t2 A4 t3 2 e A = (I + At + + + ...)A = A + A t + + + ... 2! 3! 2! 3! At A2 t2 A3 t3 + + ...) = AeAt . 2! 3! • przemienność macierzy eAt i A−1 = A(I + At + (AeAt = eAt A) ⇒ (eAt = A−1 eAt A) ⇒ (eAt A−1 = A−1 eAt ). • różniczkowanie eksponenty macierzowej określone jest przez różniczkowanie szeregu macierzowego wyraz po wyrazie d At d A2 t2 A3 t3 e = (I + At + + + ...) = dt dt 2! 3! 2A2 t 3A3 t2 A2 t2 + + ... = A(I + At + + ...) = AeAt = eAt A . 2! 3! 2! Podstawienie t − t0 w miejsce t w powyższym wyprowadzeniu daje w wyniku wzór d A(t−t0 ) e = AeA(t−t0 ) = eA(t−t0 ) A, dt a wielokrotne różniczkowanie szeregu macierzowego pozwala uzyskać wzory A+ dk At e = Ak eAt = eAt Ak , dtk 3 dk A(t−t0 ) e = Ak eA(t−t0 ) = eA(t−t0 ) Ak . k dt • caÃlkowanie eksponenty macierzowej określone jest przez caÃlkowanie szeregu macierzowego wyraz po wyrazie Z Z t t Aθ e dθ = 0 (I + Aθ + 0 2 A2 θ2 A3 θ3 + + ...)dθ = 2! 3! 2 3 At At A3 t4 At2 A2 t3 + + + ... = A−1 A(It + + + ...) = 2! 3! 4! 2! 3! A2 t2 A3 t3 A4 t4 A−1 (At + + + + ...) = A−1 (eAt − I) = (eAt − I)A−1 2! 3! 4! It + . Wzór ten obowia̧zuje jeśli macierz A jest nieosobliwa tj. det(A) 6= 0. CaÃlkȩ osobliwej macierzy oblicza siȩ caÃlkuja̧c wszystkie elementy macierzy Z t ³Z t ´ ¡ ¢ aij (θ) i,j=1,...,n dθ = aij (θ)dθ . 0 0 i,j=1,...,n Rozwia̧zywanie jednorodnego liniowego stacjonarnego równania stanu ẋ(t) = Ax(t), x(t0 ) = x0 , t ∈ [t0 , +∞). Rozwia̧zanie przewidywane jest w postaci x(t) = eA(t−t0 ) x0 . Weryfikacja przewidywanego rozwia̧zania ¢ ¡ d A(t−t0 ) e x(t0 ) = AeA(t−t0 ) x0 ⇒ (ẋ(t) = Ax(t)). dt Weryfikacja warunku pocza̧tkowego x(t0 ) = eA(t−t0 x0 = eA0 x0 = Ix0 = x0 . 4 Rozwia̧zywanie niejednorodnego liniowego stacjonarnego równania stanu ẋ(t) = Ax(t) + Bu(t), x(t0 ) = x0 , t ∈ [t0 , +∞). Rozwia̧zanie przewidywane jest w postaci Z t A(t−t0 ) x(t) = e x0 + eA((t−θ) Bu(θ)dθ. 0 Weryfikacja przewidywanego rozwia̧zania Z t ³d¡ ¢ A(t−t0 ) e x(t0 ) + eA(t−θ) Bu(θ)dθ = dt 0 Z t ´ A(t−t0 ) A(t−θ) A(t−t) Ae x0 + A e Bu(θ)dθ + e Bu(t) ⇒ (ẋ(t) = Ax(t) + Bu(t)). 0 • Wyznaczanie eksponenty macierzowej za pomoca̧ metod rachunku operatorowego - porównanie rozwia̧zań w dziedzinie czasowej i operatorowej. . R∞ Zastosowanie przeksztaÃlcenia Laplace’a X(s) = 0 x(t)e−st dt do jednorodnego równania stanu ¡ ¢ ¡ ¢ ẋ(t) = Ax(t), x(0) = x0 ⇒ sX(s) − x0 = AX(s) prowadzi do zależności (sI − A)X(s) = x0 tj. X(s) = (sI − A)−1 x0 . Ponieważ x(t) = eAt x0 , wiȩc zachodzi równość eAt = L−1 {(sI − A)−1 }. Dla rozważanego przykÃladu uzyskuje siȩ przyjmuja̧c a1 = 2, a2 = 2 à ! à ! 0 1 s −1 A= , sI − A = , −2 −2 2 s+2 −1 (sI − A) 1 = 2 s + 2s + 2 à ! à s+2 s+2 1 (s+1)2 +1 = −2 −2 s (s+1)2 +1 5 1 (s+1)2 +1 s (s+1)2 +1 ! , eAt à ! e−t (cost + sint) e−t sint = . −2e−t sint e−t (cost − sint) Korzystaja̧c z eksponenty macierzowej można Ãlatwo wyznaczyć odpowiedzi liniowego stacjonarnego ukÃladu sterowania na podstawowe przebiegi sterowania (t0 = 0): • odpowiedź impulsowa tj. odpowiedź na sterowanie u(t) = ūδ(t), gdzie ū ∈ Rm jest wektorem staÃlym (bierzemy pod uwagȩ wÃlasność filtruja̧ca̧ δfunkcji) Z t im At x (t) = e (x0 + e−Aθ B ūδ(θ)dθ) = eAt (x0 + e−A0 B ū) = eAt (x0 + B ū). 0 • odpowiedź skokowa tj. odpowiedź na sterowania u(t) = ū1(t) (stosujemy wzór na caÃlkowanie eksponenty macierzowej) Z t Z t sk At −Aθ At x (t) = e (x0 + e B ūdθ) = e (x0 + e−Aθ dθB ū) = 0 0 eAt (x0 + (−A)−1 (e−At − I)B ū) = eAt x0 + A−1 (eAt − I)B ū. • odpowiedź liniowa tj. odpowiedź na sterowanie u(t) = ūt (stosujemy wzór na caÃlkowanie przez czȩści i wzór na caÃlkowanie eksponenty macierzowej) Z t Z t d −Aθ li At −Aθ At −1 e B ūθdθ) = x (t) = e (x0 + e B ūθdθ) = e (x0 + (−A) 0 0 dθ Z t At −1 −At e (x0 − A (e B ūt − e−Aθ B ū) = 0 At −1 −At e (x0 −A (e −1 −At B ūt−(−A) (e −I)B ū) = eAt x0 +(A−2 (eAt −I)−A−1 t)B ū. Dla rozważanego przykladu uzyskuje siȩ (x0 = (0, 1)T , b = 1, ū = 1) eAt à ! e−t (cost + sint) e−t sint = , −2e−t sint e−t (cost − sint) 6 à ! à ! −1 −0.5 0.5 0.5 A−1 = , A−2 = , 1 0 −1 −0.5 à ! 2e−t im x (t) = , 2e−t (cost − sint) à ! −0.5(cost + sint) + 0.5 xsk (t) = , e−t sint à ! e−t (cost + sint) − 0.5t li x (t) = . 0.5e−t (cost − 1.5sint) − 0.5 • Algorytm sterowania docelowego dla ukÃladów liniowych stacjonarnych: Twierdzenie: Sterowanie T (t u(t) = −B T eA 0 −t1 ) R−1 x0 (?) przeprowadza ukÃlad liniowy stacjonarny ẋ(t) = Ax(t) + Bu(t) ze stanu pocza̧tkowego x(t0 ) = x0 do stanu końcowego x(t1 ) = x1 w czasie t1 − t0 , jeżeli macierz R określona jak nastȩpuje Z t1 T . R= eA(t0 −t) BB T eA (t0 −t) dt t0 jest nieosobliwa. Dowód: Powinna być speÃlniona zależność Z t1 A(t1 −t0 ) x(t1 ) = 0 = e x0 + eA(t1 −t) Bu(t)dt /e−A(t1 −t0 ) t0 Sta̧d Z t1 0 = x0 + eA(t0 −t) Bu(t)dt t0 czyli Z t1 x0 = − eA(t0 −t) Bu(t)dt. t0 Podstawiaja̧c sterowanie (?) do ostatniej zależności uzyskuje siȩ Z t1 T x0 = eA(t0 −t) BB T eA (t0 −t) R−1 x0 dt, t0 co oznacza, że x0 = RR−1 x0 . ¤ 7 PrzykÃlad: sterowanie tarcza̧ obrotowa̧ bez oddziaÃlywania siÃl sprȩżystości i tarcia (a1 = a2 = 0), t0 = 0, t1 = 1, x0 = (1, 1)T , x1 = (0, 0)T à ! à ! 0 1 s −1 A= , sI − A = , 0 0 0 s (sI − A)−1 eAt 1 = 2 s à ! à ! s 1 1/s 1/s2 = , 0 s 0 1/s à ! !à ! à ! Z 1à ´ 1 0 1 t 1 −t 0 ³ = ,R = dt 0 1 0 1 0 1 1 −t 1 0 Sta̧d uzyskuje siȩ à ! à ! 1/3 −1/2 12 6 −1 R= ,R = . −1/2 1 6 4 à !à !à ! ³ ´ 1 0 12 6 1 u(t) = − 0 1 . −t 1 6 4 1 Tak wiȩc sterowanie docelowe ma postać u(t) = 18t − 10, a trajektoria stanu procesu docelowego jest określona jak nastȩpuje à !à ! à !Z à !à ! ´ t 1 t 1 1 t 1 −θ 0 ³ x(t) = + 18θ − 10 dθ. 0 1 1 0 1 0 1 1 0 czyli ! à 1 + t − 5t2 + 3t3 x(t) = 1 − 10t + 9t2 t=1 8 à ! 0 = . 0 • Rozwia̧zywanie liniowych niestacjonarnych równań stanu. Wektorowo-macierzowe równanie stanu liniowego niestacjonarnego ukÃladu sterowania ma postać ẋ(t) = A(t)x(t) + B(t)u(t), t ∈ [t0 , ∞), x(t0 ) = x0 . Dla równania jednorodnego ẋ(t) = A(t)x(t), t ∈ [t0 , ∞), x(t0 ) = x0 definiujemy macierz fundamentalna̧ (macierz podstawowa̧) ukÃladu Φ(t, t0 ) jako macierz stanowia̧ca̧ rozwia̧zanie macierzowego równania różniczkowego Φ̇(t, t0 ) = A(t)Φ(t, t0 ), t ∈ [t0 , ∞), Φ(t0 , t0 ) = I. Rozwia̧zanie jednorodnego równania stanu przewidujemy w postaci x(t) = Φ(t, t0 )x(t0 ). Weryfikacja rozwia̧zania jednorodnego równania stanu ¡d ¢ ¡ ¢ (Φ(t, t0 )x(t0 )) = A(t)Φ(t, t0 )x(t0 ) ⇒ Φ̇(t, t0 )x(t0 ) = A(t)Φ(t, t0 )x(t0 ) dt ¡ ¢ ⇒ A(t)Φ(t, t0 )x(t0 ) = A(t)Φ(t, t0 )x(t0 ) Weryfikacja warunku pocza̧tkowego Φ(t0 , t0 )x(t0 ) = Ix(t0 ) = x(t0 ). Rozwia̧zanie niejednorodnego równania stanu przewidujemy w postaci Z t x(t) = Φ(t, t0 )x0 + Φ(t, θ)B(θ)u(θ)dθ. 0 Weryfikacja rozwia̧zania niejednorodnego równania stanu Z t ¢ d¡ Φ(t, t0 )x0 + Φ(t, θ)B(θ)u(θ)dθ = dt 0 Z t ¡ ¢ A(t) Φ(t, t0 )x0 + Φ(t, θ)B(θ)u(θ)dθ + B(t)u(t) 0 9 Z ¡ t ⇒ Φ̇(t, t0 )x0 + Φ̇(t, θ)B(θ)u(θ)dθ + Φ(t, t)B(t)u(t) = 0 Z t A(t)Φ(t, t0 )x0 + A(t) ¢ Φ(t, θ)B(θ)u(θ)dθ + B(t)u(t) 0 ¡ Z t ⇒ A(t)Φ(t, t0 )x0 + A(t)Φ(t, θ)B(θ)u(θ)dθ + Φ(t, t)B(t)u(t) = 0 Z t A(t)Φ(t, t0 )x0 + A(t) ¢ Φ(t, θ)B(θ)u(θ)dθ + B(t)u(t) . 0 • Zastosowanie macierzy fundamentalnej do wyznaczania rozwia̧zań okresowych równań stanu- rozwia̧zywanie nieliniowych równań metoda̧ Newtona Dane jest nieliniowe równanie skalarne f (x) = 0. Dokonujemy linearyzacji równania w punkcie pocza̧tkowym x0 f (x) ∼ f (x0 ) + f 0 (x0 )(x − x0 ) ⇒ x − x0 = −(f 0 (x0 ))−1 f (x0 ). Obliczamy nowe przybliżenie rozwia̧zania x1 = x0 − (f 0 (x0 ))−1 f (x0 ). Dokonujemy linearyzacji równania w punkcie kolejnym x1 f (x1 ) + f 0 (x1 )(x − x1 ) ⇒ x − x1 = −(f 0 (x1 ))−1 f (x1 ). Obliczamy nowe przybliżenie rozwia̧zania x2 = x1 − (f 0 (x1 ))−1 f (x1 ). ... Wynika sta̧d iteracyjna metoda Newtona xκ+1 = xκ − (f 0 (xκ ))−1 f (xκ ), κ = 0, 1, 2, ... . Dla równań z argumentem wektorowym x ∈ Rn pochodna f 0 (xκ ) oznacza macierz Jacobiego, tj. f 0 (xκ ) = ( ∂fi (xκ ))i,j=1,...,n . ∂xj 10 Aby wyznaczyć τ -okresowe rozwia̧zanie nieliniowego równania stanu wyróżniamy w charakterze argumentu równania stanu jego stan pocza̧tkowy i poszukujemy takiego stanu pocza̧tkowego, który zapewni τ -okresowy przebieg zmiennych stanu. Równanie zapisujemy w postaci x(0) − x(τ, x(0), u) = 0 . Rolȩ pochodnej f 0 (xκ ) peÃlni w tym przypadku macierz I − Φ(τ, 0) = I − ¡ ∂xi (τ ) ¢ , ∂xj (0) i,j=1,...n zaś metoda Newtona przyjmuje postać x(0)κ+1 = x(0)κ − ((I − Φ(τ, 0)(x(0)κ ))−1 (x(0)κ − x(τ, x(0)κ , u)). • UkÃlady z czasem dyskretnym. • Dyskretyzacja cia̧gÃlych ukÃladów sterowania: Niech T oznacza przedziaÃl dyskretyzacji czasu i niech sterowanie bȩdzie staÃle w przedziale [kT, (k + 1)T). Ze wzoru na rozwia̧zanie liniowego stacjonarnego ukÃladu sterowania wynika, że Z (k+1)T A((k+1)T−kT) x((k + 1)T) = e x(kT) + eA((k+1)T−t) Bu(kT)dt. kT Zamiana zmiennych caÃlkowania T − t = t̃, t = kT ⇒ t̃ = T, t = (k + 1)T ⇒ t̃ = 0, dt = −dt̃ pozwala zapisać zależność Z 0 AT x((k + 1)T) = e x(kT) − eAt̃ Bu(kT)dt̃ T czyli Z T AT x((k + 1)T) = e x(kT) + eAt̃ dt̃Bu(kT) = 0 AT −1 e x(kT) + A (e AT − I)Bu(kT). Podstawiaja̧c k w miejsce kT uzyskuje siȩ nastȩpuja̧cy opis ukÃladu dyskretnego x(k + 1) = Ax(k) + Bu(k), 11 gdzie A = eAT , B = A−1 (eAT − I)B. Dla rozważanego przykÃladu zakÃladaja̧c parametry a1 = 2, a2 = 2, b = 1 i biora̧c pod uwagȩ, że à ! −t −t e (cost + sint) e sint eAt = , −2e−t sint e−t (cost − sint) à ! −1 −0.5 A−1 = , 1 0 uzyskuje siȩ à ! e−T (cosT + sinT) e−T sinT A=e = , −2e−T sinT e−T (cosT − sinT) à ! −T 0.5(1 − e (cosT + sinT) B = A−1 (eAT − I)B = . e−T sinT AT • Rozwia̧zywanie liniowych stacjonarnych równań stanu z czasem dyskretnym: Do stacjonarnego dyskretnego równania stanu x(k + 1) = Ax(k) + Bu(k), k = k0 , k0 + 1, k0 + 2, ...; x(k0 ) = x0 można zastosować metodȩ wzorów rekurencyjnych x(k0 + 1) = Ax(k0 ) + Bu(k0 ), x(k0 + 2) = Ax(k0 + 1) + Bu(k0 + 1) = A2 x(k0 ) + ABu(k0 ) + Bu(k0 + 1), x(k0 +3) = Ax(k0 +2)+Bu(k0 +2) = A3 x(k0 )+A2 Bu(k0 )+ABu(k1 )+Bu(k2 ), a wiȩc x(k) = A k−k0 x(k0 ) + k−1 X Ak−1−j Bu(j), k > k0 . j=k0 Jeśli k0 = 0, to rozwia̧zanie przybiera postać x(k) = Ak x(0) + k−1 X Ak−1−j Bu(j), k > 0. j=0 12 Rolȩ macierzy fundamentalnej stacjonarnego dyskretnego równania stanu peÃlni macierz Ak , która̧ można wyznaczyć stosuja̧c transformacjȩ Z{x(k)} = P∞ −k do jednorodnego dyskretnego równania stanu k=0 x(k)z (x(k + 1) = Ax(k), k0 = 0, x(0) = x0 ) ⇒ (zX(z) − zx0 = AX(z)). Sta̧d X(z) = (zI − A)−1 zx0 . Porównanie rozwia̧zań w dziedzinie czasowej i operatorowej daje w wyniku Ak = Z −1 {(zI − A)−1 z}. Niech dyskretne równanie stanu bȩdzie postaci à ! à ! à ! 0 1 0 1 x(k + 1) = x(k) + u(k), x(0) = , k0 = 0. −4 −5 1 0 W tym przypadku oraz a wiȩc à ! z −1 zI − A = 4 z+5 à ! z + 5 1 z (zI − A)−1 z = 2 , z + 5z + 4 −4 z à Ak = ! (−1)k 4/3 − (−4)k /3 (−1)k /3 − (−4)k /3 . −(−1)k 4/3 + (−4)k 4/3 −(−1)k /3 + (−4)k 4/3 Rozwia̧zanie jednorodnego dyskretnego równania stanu ma zatem postać à ! (−1)k 4/3 − (−4)k /3 x(k) = , −(−1)k 4/3 + (−4)k 4/3 a rozwia̧zanie niejednorodnego równania dla u(k) = 1 ma postać à ! k−1 à ! X (−1)k 4/3 − (−4)k /3 (−1)k−j−1 /3 − (−4)k−j−1 /3 x(k) = + . −(−1)k 4/3 + (−4)k 4/3 −(−1)k−j−1 /3 + (−4)k−j−1 4/3 j=0 • Rozwia̧zywanie liniowych niestacjonarnych równań stanu z czasem dyskretnym: Stosuja̧c do niestacjonarnego dyskretnego równania stanu x(k + 1) = A(k)x(k) + B(k)u(k), k = k0 , k0 + 1, k0 + 2, ...; x(k0 ) = x0 13 metodȩ wzorów rekurencyjnych x(k0 + 1) = A(k0 )x(k0 ) + B(k0 )u(k0 ), x(k0 + 2) = A(k0 + 1)x(k0 + 1) + B(k0 + 1)u(k0 + 1) = A(k0 + 1)A(k0 )x(k0 ) + A(k0 + 1)B(k0 )u(k0 ) + B(k0 + 1)u(k0 + 1), a wiȩc x(k) = Φ(k, k0 )x(k0 ) + k−1 X Φ(k, 1 + j)B(j)u(j), k > k0 , j=k0 gdzie Φ(k, k0 ) = A(k − 1)A(k − 2)...A(k0 ), k > k0 . Modelowanie ukÃladów sterowania ilustrowane jest ćwiczeniami laboratoryjnymi ster1 i ster2 w systemie Mathematica. 14