"Flat" rendszerek definíciók, példák, alkalmazások Hangos Katalin, Szederkényi Gábor szeder@scl.sztaki.hu, hangos@scl.sztaki.hu 2006. október 18. flatness - p. 1/26
FLAT RENDSZEREK: Elméleti alapok 2006. október 18. flatness - p. 2/26
"Flat" rendszerek Tekintsük a következő nemlineáris rendszert: ẋ = f(x, u), f(0, 0) = 0, rank f (0, 0) = m (1) u ahol x R n és u R m. (1)-et differenciálisan flat-nek nevezzük, ha létezik olyan y j = h j (x) (h j (x, u, u,...,u (α) )), j = 1,...,m (mesterséges) kimenet és Φ, Ψ függvények, hogy x = Ψ(y, ẏ,...,y (α) ) (2) u = Φ(y, ẏ,...,y (α+1) ) (3) 2006. október 18. flatness - p. 3/26
SISO lineáris eset Modell: ẋ = Ax + Bu y = Cx algebrai feltétel: CB = 0. CA (n 2) B = 0 CA (n 1) B 0 x és u kifejezése: x k = u = n 1 i=0 α k i y (i), n β i y (i) i=0 k = 1,...,n 2006. október 18. flatness - p. 4/26
MIMO rendszerek: vektor relatív fok 1 Tekintsük a következő MIMO nemlineáris rendszert: ẋ = f(x) + g(x)u = f(x) + [g 1 (x)... g p (x)] u 1. y = h(x) = h 1.. u p h p Differenciáljuk idő szerint y j -t: ẏ j = L f h j + p (L gk h j )u k k=1 2006. október 18. flatness - p. 5/26
MIMO rendszerek: vektor relatív fok 2 Folytassuk a deriválást, és jelöljük γ j -vel azt a legkisebb egész számot, amikor legalább egy bemenet megjelenik γ (γ j) j -ben. Ekkor y (γ j) j = L γ j f h j + p (L gk L γ j 1 h j )u k k=1 f ahol L gk L γ j 1 f h j (x) 0 valamely k-ra. Ha a deriválást minden kimenetre elvégezzük, akkor a következőt kapjuk: y (γ 1) 1.. y (γ p) p = L γ 1 f h 1. L γ p f h p + A(x) u 1. u p 2006. október 18. flatness - p. 6/26
MIMO rendszerek: vektor relatív fok 3 ahol A(x) R p p : A(x) = L g1 L γ 1 1 f h 1... L gp L γ 1 1 f h 1.. L g1 L γ p 1 f h 1... L gp L γ p 1 f h p A rendszernek (γ 1,...,γ p ) vektor relatív foka van x 0 -ban, ha L gj L m f h(x) = 0, m = 0,...,γ j 2 x 0 egy környezetében, és A(x 0 ) nem szinguláris. Egzakt linearizálhatóság feltétele: p i=1 γ i = n (ha ez nem teljesül, akkor "dinamikus kiterjesztést" (azaz megfelelő helyekre tett integrátorokat) alkalmazhatunk, hogy linearizálható legyen a rendszer) 2006. október 18. flatness - p. 7/26
MIMO nemlineáris eset 1 Dinamikus linearizálhatóság: létezik 1. egy reguláris (invertálható v inputtal és u outputtal) dinamikus szabályozó { ż = a(x, z, v) u = b(x, z, v) z R q, v R m (4) 2. egy diffeomorfizmus ξ = Θ(x, z), (ξ R n+q ) hogy a következő (szabályozott) dinamika ẋ = f(x, b(x, z, v)) ż = a(x, z, v) a ξ-koordinátákban lineáris és irányítható, azaz ξ = Fξ + Gv 2006. október 18. flatness - p. 8/26
MIMO nemlineáris eset 2 A lineáris ξ-dinamika egy lineáris statikus állapotvisszacsatolással és egy invertálható T lineáris koordináta-transzformációval (azaz Y = T Θ(x, z)) a következő ún. Brunovsky-féle kanonikus alakra hozható: y (k 1) 1 = v 1. y (k m) m = v m, ahol k 1,...,k m az irányíthatósági indexek Ekkor: [ ] x = Θ 1 (T 1 Y ) z és u = b(θ 1 (T 1 Y ), v) x és z tehát kiszámítható az (y 1,...,y m ) vektor deriváltjainak analitikus függvényeként 2006. október 18. flatness - p. 9/26
MIMO nemlineáris eset 3 A dinamikus visszacsatolást endogén-nek (külső változókat nem tartalmazónak) nevezzük, ha y kifejezhető x és u deriváltjainak valódi analitikus függvényeként, azaz y j = h j (x, u, u,...,u (α) ), j = 1,...,m 2006. október 18. flatness - p. 10/26
Fontosabb tulajdonságok A flat tulajdonság geometriai, és nem függ a koordinátarendszer megválasztásától A flat kimenet dimenziója mindig megegyezik a rendszer bemenetének dimenziójával (nem triviális) Egy lineáris rendszer flat pontosan akkor, ha irányítható Nemlineáris esetben a flat rendszerek irányíthatók (nemlineáris értelemben) A trajektóriatervezés leegyszerűsödik (az állapotok algebrailag kifejezhetők) Flat MIMO-rendszerek linearizálhatók dinamikus visszacsatolással úgy, hogy a zéró dinamika 0 dimenziós SISO rendszerek pontosan akkor linearizálhatók dinamikus visszacsatolással, ha ez statikus visszacsatolással is megtehető (tehát itt a flat tulajdonság ekvivalens az n-es relatív fokkal) A flat tulajdonságon alapuló szabályozótervezésnél nem kell a rendszert linearizálni 2006. október 18. flatness - p. 11/26
A flat tulajdonság alkalmazása trajektóriatervezésre 2006. október 18. flatness - p. 12/26
Mozgástervezés 1 Tekintsük a következő irányítási rendszert: ẋ = f(x, u), x R n, u R m ahol a kimenet flat: y = h(x, u, u,...,u (r) ) Az állapotok és a bemenetek tehát algebrailag kiszámíthatók: x = φ(y, ẏ,...,y q ) (5) u = α(y, ẏ,...,y q ) (6) A flat kimenet paraméterezése: y i (t) := j A ij λ j (t), ahol a λ j, j = 1,...,N megfelelő bázisfüggvények 2006. október 18. flatness - p. 13/26
Mozgástervezés 2 Irányítási feladat: a rendszer eljuttatása megadott x(τ 0 ) kezdeti állapotból egy megadott x(τ f ) végállapotba. Kiszámítandó: a flat kimenet és deriváltjainak értéke τ 0 és τ 1 állapotokban: y i (τ 0 ) = j A ij λ j (τ 0 ). y (q) i (τ 0 ) = j y i (τ f ) = j.. y (q) i (τ f ) = j A ij λ (q) j (τ 0 ) A ij λ j (τ f ) A ij λ (q) j (τ f ) 2006. október 18. flatness - p. 14/26
Mozgástervezés 3 Jelölés: továbbá: Λ(t) R (q+1) N, Λ ij (t) = λ (i) j (t) ȳ 0 = (y 1 (τ 0 ),...,y (q) 1 (τ 0)) ȳ f = (y 1 (τ f ),...,y (q) 1 (τ f)) ȳ = ȳ 0, ȳ f Ekkor felírható: ȳ = [ Λ(τ 0 ) Λ(τ f ) ] A A trajektóriagenerálási feladat tehát algebrai feladattá egyszerűsödik! 2006. október 18. flatness - p. 15/26
Példák 2006. október 18. flatness - p. 16/26
SISO lineáris példa ẋ 1 = x 1 + 2x 2 ẋ 2 = x 2 + 3u Flat kimenet: Az egyenletek megoldása: y = x 1 x 1 = y x 2 = 1 (ẏ + y) 2 u = 1 6ÿ + 1 3ẏ + 1 6 y 2006. október 18. flatness - p. 17/26
Egyszerű autómodell 1 2006. október 18. flatness - p. 18/26
Egyszerű autómodell 2 Konfigurációs tér: R 2 S 1 Konfiguráció: q = (x, y, θ) Paraméterek: s: hossztengely-irányú előjeles sebesség φ: kormányzási szög L: első és hátsó tengely távolsága ρ: fordulási sugár rögzített φ esetén A keresett dinamikus modell megadja, hogy hogyan változik x, y és θ az idő függvényében, azaz: ẋ = f 1 (x, y, θ, s, φ) ẏ = f 2 (x, y, θ, s, φ) θ = f 3 (x, y, θ, s, φ) 2006. október 18. flatness - p. 19/26
Egyszerű autómodell 3 Nagyon rövid időintervallumban az autó közelítőleg arra mozog, amerre a (nem kormányozható) hátsó kerekek mutatnak: Másrészt: Ebből felírható egy implicit egyenlet: dy dx = tanθ dy dx = dy/dt dx/dt = ẏ ẋ tanθ = sinθ/ cos θ ẋsinθ + ẏ cos θ = 0 A következő egyenletrendszer (és bármely skalárszorosa) teljesíti a fenti feltételt: ẋ = cos θ, ẏ = sinθ Sebességgel együtt: ẋ = scos θ, ẏ = ssinθ 2006. október 18. flatness - p. 20/26
Egyszerű autómodell 4 w: a jármű által megtett út (a sebességfüggvény integrálja) dw = ρdθ ρ = L/tanφ dθ = tanφ L dw Ebből (dt-vel osztva, és felhasználva, hogy ẇ = s) felírható: θ = s L tanφ Irányítási modell Manipulálható bemenetek (leegyszerűsítő feltételezés): sebesség (u s ), kormányszög (u φ ), azaz u = (u s, u φ ) Az egyenletek: ẋ = u s cos θ ẏ = u s sinθ θ = u s L tanu φ 2006. október 18. flatness - p. 21/26
Egyszerű autómodell 5 Valósághűbb modell gyorsítási dinamikával: Bemenetek: u φ, u t ẋ = scos θ ẏ = ssinθ θ = u s L tanu φ ṡ = u t 2006. október 18. flatness - p. 22/26
Egyszerű autómodell 6 Jelölések: x 1 = x, x 2 = y, x 3 = θ, x 4 = v, u 1 = tanu φ, u 2 = u s A modell egyenletei az új jelölésekkel: ẋ 1 = x 4 cos(x 3 ) ẋ 2 = x 4 sin(x 3 ) ẋ 3 = x 4 L u 1 ẋ 4 = u 2 Flat kimenetek: y 1 = x 1, y 2 = x 2 ) (ẏ1 ẏ x 3 = arctg, x 4 = ( 1 ( )) ẏ 2 cos arctg ẏ1 ẏ 2 2006. október 18. flatness - p. 23/26
Egyszerű autómodell 7 A bemenetek kifejezése: [ ] [ ÿ 1 ÿ 2 = x2 4 L sin(x 3 ) cos(x 3 ) x 2 4 L cos(x 3 ) sin(x 3 ) } {{ } A(x) [ u 1 u 2 ] = A 1 (x) [ ] [ ÿ 1 ÿ 2 ] u 1 u 2 ] = A(x)u 2006. október 18. flatness - p. 24/26
Egyszerű autómodell 8 Legyen z 1 = ẋ 1, z 2 = ẋ 2 Nemlineáris visszacsatolás: u = A 1 (x)v ahol v az új referenciabemenet. Ekkor a visszacsatolt rendszer egyenletei (2 db kettős integrátor): ẋ 1 = z 1 ż 1 = v 1 ẋ 2 = z 2 ż 2 = v 2 Adott a követendő pálya, azaz x 1,ref (t) és x 2,ref (t) 2006. október 18. flatness - p. 25/26
Egyszerű autómodell 9 A követési hibák: e 1 = x 1 x 1,ref e 2 = z 1 z 1,ref = z 1 ẋ 1,ref e 3 = x 2 x 2,ref e 4 = z 2 z 2,ref = z 2 ẋ 2,ref A visszacsatolások: v 1 = ẍ 1,ref + k 1 e 1 + k 2 e 2 v 2 = ẍ 2,ref + k 3 e 3 + k 4 e 4 A követési hiba dinamikája: ė 1 ė 2 ė 3 ė 4 = 0 1 0 0 k 1 k 2 0 0 0 0 0 1 0 0 k 3 k 4 e 1 e 2 e 3 e 4 2006. október 18. flatness - p. 26/26