Příklady

Transkript

Příklady
Příklady k přednášce
27 – Systémy s více vstupy a výstupy
Michael Šebek
Automatické řízení 2015
20-5-15
Příklad
Automatické řízení - Kybernetika a robotika
Michael Šebek
Pr-ARI-27-2012
2
Příklad
Automatické řízení - Kybernetika a robotika
Michael Šebek
Pr-ARI-27-2012
3
Příklad
Automatické řízení - Kybernetika a robotika
• ESO OWL koncept – stotisíce vstupů výstupů
Michael Šebek
Pr-ARI-27-2015
4
Příklad
Automatické řízení - Kybernetika a robotika
Michael Šebek
Pr-ARI-27-2012
5
Příklad
Automatické řízení - Kybernetika a robotika
• 2×2 systém s přenosovou maticí
• reprezentuje dvě (skalární) rovnice
 1
 s
G ( s) = 
 1
 s + 2
s −1
1
u1 ( s ) +
u2 ( s )
s
s +1
s
1
=
y2 ( s )
u1 ( s ) +
u2 ( s )
s+2
s+3
=
y1 ( s )
s −1 
s +1 

s 
s + 3 
mdf
Alternativně vyjádřeno – různými typy maticových zlomků
• skalární
( s + 1)( s + 2)( s + 3) s( s − 1)( s + 2)( s + 3) 
1
jmenovatel G ( s) =


2
sdf
• levý polynomiální
maticový zlomek
• pravý polynomiální
maticový zlomek
Michael Šebek
s ( s + 1)( s + 2)( s + 3) 
s ( s + 1)( s + 3)
s ( s + 1)( s + 2) 
−1
ldf
rdf
0
 s( s + 1)
  ( s + 1) s( s − 1) 
G (s) = 
( s + 2)( s + 3)  ( s + 3) s( s + 2) 
 0
−1
0
( s + 2) ( s + 3)( s − 1)   s( s + 2)

G ( s) = 
s( s + 1)   0
( s + 1)( s + 3) 
 s
Pr-ARI-27-2012
6
Příklad
Automatické řízení - Kybernetika a robotika
>> G=[mdf(1/s)
G =
1
s
1
----(s+2)
mdf((s-1)/(s+1));mdf(1/(s+2)) mdf(s/(s+3))]
(s-1)
----(s+1)
s
----(s+3)
 1
 s
G ( s) = 
 1
 s + 2
>> sdf(G)
ans =
(s+3)(s+2)(s+1)
s(s+3)(s+2)(s-1)
s(s+3)(s+1)
s^2(s+2)(s+1)
------------------------------------s(s+3)(s+2)(s+1)
>> ldf(G)
ans =
s(s+1.0000)
0
ans.numerator =
>> rdf(G)
ans =
(s+2.0000)
s
Michael Šebek
0
\
(s+3.0000)(s+2.0000) \
(s+3.0000)(s-1.0000)
s(s+1.0000)
/
/
(s+1.0000)
(s+3.0000)
s(s+2.0000)
0
s −1 
s +1

s 
s + 3 
s(s-1)
s(s+2.0000)
0
(s+3)(s+1)
7
Příklad: JAS-39 Gripen
Automatické řízení - Kybernetika a robotika
Michael Šebek
Pr-ARI-27-2012
8
Příklad: JAS-39 Gripen
Automatické řízení - Kybernetika a robotika
v
• model pohybu v horizontální rovině
x
y
β
• za předpokladu vlivu úhlu náběhu na otáčení
(standardní předpoklad za normálního letu)
ψ
• kurs řídíme směrovkou
y
φ
(vytváří přímo točivý
z
moment)
• a křidélky (způsobí náklon podle podélné osy a tím změnu kursu)
ψ úhel kursu
v y rychlost do strany
φ náklon
δ r výchylka směrovky
δ a výchylka křidélek
Michael Šebek
Pr-ARI-27-2012
9
Příklad: JAS-39 Gripen
Automatické řízení - Kybernetika a robotika
Lineární stavový model, rozumný pro malé úhly
x1 = v y
x2 = p rychlost náklonu (podle osy x)
x3 = r rychlost zatáčení (podle osy z)
=
x4 φ=
, x5 ψ=
, x6 δ a=
, x7 δ r
cmd
cmd
u1 δ=
,
u
=
δ
2
a
r
V režimu: rakety zavěšeny, Mach 0.6, výška 500 m, úhel náběhu 0.04 rad:
>> A,B
A = -0.2920
-0.1520
0.0364
0
0
0
0
B =
Michael Šebek
0
-31.7000
0
0
0
20.0000
0
8.1300 -201.0000
-2.5400
0.5610
-0.0678
-0.4810
1.0000
0.0401
0
1.0000
0
0
0
0
9.7700
-0.0004
0.0012
0
0
0
0
0
0
0
0
0
0
0
-12.5000
107.0000
4.6700
0
0
-20.0000
0
17.1000
7.6800
-7.9800
0
0
0
-20.0000
-2.1500
0.0274
1.4800
0
0
0
20.0000
Pr-ARI-27-2012
10
Příklad
Automatické řízení - Kybernetika a robotika
Přenos na řízení kurs:
>> G=mdf(A,B,C1)
G =
Column 1
6.7e+002 + 5.7e+002s + 1.4e+002s^2 + 96s^3
-----------------------------------------------------8.8s + 4.6e+002s^2 + 2.4e+002s^3 + 77s^4 + 23s^5 + s^6
Column 2
-1.4e+002 - 1.8e+002s - 3.7e+002s^2 - 1.3e+002s^3 + 1.5s^4
---------------------------------------------------------8.8s + 4.6e+002s^2 + 2.4e+002s^3 + 77s^4 + 23s^5 + s^6
>> G=ldf(A,B,C1)
G.denominator =
8.8s + 4.6e+002s^2 + 2.4e+002s^3 + 77s^4 + 23s^5 + s^6
G.numerator =
Column 1
6.7e+002 + 5.7e+002s + 1.4e+002s^2 + 96s^3
Column 2
-1.4e+002 - 1.8e+002s - 3.7e+002s^2 - 1.3e+002s^3 + 1.5s^4
>> G=rdf(A,B,C1)
G.numerator =
75
-1.2e+002 + 1.5s
G.denominator =
-23 - 13s - 1.2s^2 + s^3
40 + 23s + 6.6s^2
-1.1e+002 - 14s - 14s^2
2e+002 + 28s + 25s^2 + s^3
Michael Šebek
Pr-ARI-27-2012
11
Příklad
Automatické řízení - Kybernetika a robotika
>> Gstate=rdf(A,B,I)
Gstate.numerator =
0.0092 - 0.42s - 6.8s^2 - 0.008s^3
-1.2 + 0.0064s + 0.0001s^2
-0.04s + 21s^2 - 0.42s^3
-0.026s + 0.0004s^2
s + 0.79s^2 + 0.0055s^3
0.0049s - 7e-005s^2
0.0002 + 21s - 0.42s^2
-0.026 + 0.0004s
1 + 0.79s + 0.0055s^2
0.0049 - 7e-005s
1.2e-005 - 0.002s + 0.68s^2 + 0.27s^3
-0.0016 - 0.00086s - 0.00025s^2
6e-005 - 0.074s + 0.019s^2 + 0.075s^3
-0.0079 - 0.00077s - 0.00095s^2
Gstate.denominator =
Column 1
1.2e-005 - 0.002s + 0.68s^2 + 0.3s^3 + 0.013s^4
6e-005 - 0.074s + 0.015s^2 + 0.076s^3 + 0.0037s^4
Column 2
-0.0016 - 0.00094s - 0.0003s^2 - 1.3e-005s^3
-0.0079 - 0.0012s - 0.00099s^2 - 4.8e-005s^3
>> Gstate=ldf(A,B,I)
Gstate.denominator =
0.29 + s
-8.1
2e+002
-9.8
0
12
-17
0.15
2.5 + s
-0.56
0.0004
0
-1.1e+002 -7.7
-0.036
0.068
0.48 + s
-0.0012
0
-4.7
8
0
-1
-0.04
s
0
0
0
0
0
-1
0
s
0
0
0
0
0
0
0
20 + s
0
0
0
0
0
0
0
20+s
Gstate.numerator =
0
-2.1
-32
0.027
0
1.5
0
0
0
0
20
0
0
20
Přenos na stav
Michael Šebek
Pr-ARI-27-2015
12
NACRE
Automatické řízení - Kybernetika a robotika
• New Aircraft Concepts Research
• Turning the dream of cleaner, quieter,
cheaper aircraft into a reality is the
goal of the NACRE project.
• The project’s early results suggest that
the aircraft of the future could look
very different to the planes flying
overhead today
•
http://ec.europa.eu/research/research-for-europe/transport-nacre_en.html
Michael Šebek
Pr-ARI-27-2012
13
Příklad
Automatické řízení - Kybernetika a robotika
• Odezva na skok(y), Bode, Nyquist - po jednotlivých kanálech
s −1 
 1
 s
s +1 
G ( s) = 

1
s


 s + 2 s + 3 
• popisují odděleně jednotlivé kanály, ale
o systému vcelku toho moc neříkají
• těžko lze použít pro návrh, neboť obvykle
nelze navrhnout jeden kanál nezávisle na dalších
• mezi kanály jsou interakce
• Jaké má tento systém zesílení ?
Michael Šebek
Pr-ARI-27-2015
G =
1
s
-1 + s
-----1 + s
1
----2 + s
s
----3 + s
>> step(G)
>> bode(G)
>> nyquist(G)
14
Příklad
Automatické řízení - Kybernetika a robotika
• Na systém 2 x 2 s (konstantní) přenosovou maticí
• postupně aplikujeme následujících
5 různých vstupních vektorů
1
 u1 
1 
0 
u =   : ua =   , ub =   , uc = 
1 
0 
u2 
1
• které mají stejnou velikost (normu)
uk
2
5 4 
G=

3
2


1 2 
2
 0.6 
=
,
,
u
=
u
 d 
 e 

2 
 −0.8
 −1 2 
u2
=1
• ale různé směry
u1
r=sqrt(.5); u=[1,0,r,r,.6;0,1,r,-r,-.8]
u =
1.0000
0 0.7071 0.7071 0.6000
0 1.0000 0.7071 -0.7071 -0.8000
compass(u(1,:),u(2,:))
Michael Šebek
Pr-ARI-27-2012
15
Příklad
Automatické řízení - Kybernetika a robotika
• Přestože mají všechny vstupní signály stejnou velikost, odezvy na ně
(tedy příslušné výstupní signály) mají velikost různou
y1
2
= 5.8310, y2
2
= 4.4721, y3
2
= 7.2801, y4
2
= 1.000, y5
2
= 0.2828
• a tedy je zesílení závislé také na směru vstupních signálů (vektorů)
G=[5 4;3 2]; y=G*u, compass(y(1,:),y(2,:))
y = 5.0000
4.0000
6.3640
0.7071
-0.2000
3.0000
2.0000
3.5355
0.7071
0.2000
[norm(y(:,1)),norm(y(:,2)),norm(y(:,3)),norm(y(:,4)),norm(y(:,5))]
ans = 5.8310
4.4721
7.2801
1.0000
0.2828
5 4 
G=

3 2 
u
Michael Šebek
G
Pr-ARI-27-2012
y
16
Rozklad na singulární čísla - Singular Value Decomposition
Automatické řízení - Kybernetika a robotika
•
•
•
•
l × m přenosová matici G ( s ) se po dosazení s = jω pro pevnou
frekvenci stane konstantní maticí s komplexními prvky G = G ( jω )
Na tu aplikujeme rozklad na singulární čísla SVD, což je
rozklad na 3 matice G= U ΣV ∗ , kde
• Σ je l × m diagonální matice s k = min{l , m} nezápornými
singulárními čísly σ i matice G na hlavní diagonále seřazenými
v klesajícím pořadí, na zbytku diagonály jsou případně 0
• U je l × l unitární matice: U ∗U = I
• V je m × m unitární matice: V ∗V = I
Zde G ∗ je komplexně sdružená transpozice ( v Matlabu označená G′) ,
takže „unitární“ vlastně znamená „komplexně ortogonální“
Singulární čísla σ i matice G jsou kladné odmocniny z vlastních čísel
matice G ∗G , tedy
σ i (G ) = λi (G ∗G )
Michael Šebek
Pr-ARI-27-2012
17
Rozklad na singulární čísla - Singular Value Decomposition
Automatické řízení - Kybernetika a robotika
•
•
•
Visualization of the SVD of a 2-dimensional, real matrix M. First, we see
the unit disc in blue together with the two canonical unit vectors. We then
see the action of M, which distorts the disk to an ellipse.
The SVD decomposes M
into three simple
transformations:
a rotation V*,
a scaling Σ along
the rotated
coordinate axes and
a second rotation U.
The lengths σ1 and σ2 of the
semi-axes of the ellipse are
the singular values of M.
http://upload.wikimedia.org/wikipedia/commons/e/e9/Singular_value_decomposition.gif
Michael Šebek
Pr-ARI-27-2012
18
Příklad
Automatické řízení - Kybernetika a robotika
•
•
Závislost zesílení na směru vstupu
(při jednotkové velikosti vstupu)
Vyneseme do grafu
7.3434
>>
>>
>>
>>
>>
G=[5 4;3 2]; alpha=[-pi:2*pi/1000:pi];
u=[cos(alpha);sin(alpha)];
y=G*u; normy=sqrt(y(1,:).^2+y(2,:).^2);
plot(alpha,normy),
maximum=max(normy), minimum=min(normy)
maximum = 7.3434, minimum = 0.2724,
>> svd(G)'
ans =
7.3434
0.2724
0.2724
4
3
2
1
0
1
2
3
4
•
Co jsou maximální a minimální hodnoty zesílení přes všechny směry vstupu ?
•
•
Maximální hodnota zesílení je maximální singulární číslo matice G
Minimální hodnota zesílení je minimální singulární číslo matice G
Gu 2
max
= max
=
Gu 2 σ (G )
1
u ≠0
u
=
u2
2
Michael Šebek
Gu 2
min
= min
=
Gu 2 σ (G )
1
=
u ≠0
u
u2
2
Pr-ARI-27-2015
19
Příklad: vstupní směry
Automatické řízení - Kybernetika a robotika
•
•
•
Pokračujme ve zkoumání matice G = 5 4
3 2 


Největší zesílení σ = 7.3434
T
v
=
−
0.7937
−
0.6083
[
]
je ve vstupním směru
Nejmenší zesílení σ = 0.2724
T
0.6083
0.7937
=
v
−
[
]
je ve vstupním směru
GV = U ΣV ∗V = U Σ →
σ , y U ΣV ∗ v ,
y=
U ΣV ∗v , y ==
•
•
•
•
[U,S,V]=svd([5,4;3,2])
U = -0.8718
-0.4899
-0.4899
0.8718
S = 7.3434
0
0
0.2724
V = -0.7937
0.6083
-0.6083
-0.7937
>> norm(U*S*V.'*V(:,1))
ans = 7.3434
>> norm(U*S*V.'*V(:,2))
ans = 0.2724
σ
y =
Systém je interaktivní (nediagonální): oba vstupy ovlivňují oba
výstupy, protože má relativně velké nediagonální prvky
Systém je špatně podmíněný: některé vstupy mají
velký vliv na výstup, jiné velmi malý
Číslo podmíněnosti (condition number) je tu velké γ = σ σ
= 7.3434 0.2724
γ σ σ > 10
Problémy nastanou, kdykoli=
= 27.0
Michael Šebek
Pr-ARI-27-2012
20
Příklad: vstupní směry
Automatické řízení - Kybernetika a robotika
•
Vstupní směry a odezva na ně
90
90
1
60
120
8
60
120
0.8
6
0.6
30
150
4
150
0.4
2
0.2
180
0
180
0
210
330
210
240
330
240
300
300
270
270
•
30
Výstupní směry
90
[U,S,V]=svd([5,4;3,2])
U = -0.8718
-0.4899
-0.4899
0.8718
S = 7.3434
0
0
0.2724
V = -0.7937
0.6083
-0.6083
-0.7937
>> compass(V(1,:),V(2,:))
>> Y=U*S*V.'*V
>> compass(Y(1,:),Y(2,:))
>> norm(Y(:,1))
ans = 7.3434
>> norm(Y(:,2))
ans = 0.2724
1
120
60
0.8
0.6
150
30
0.4
0.2
180
0
>> U
U =
-0.8718
-0.4899
-0.4899
0.8718
>> compass(U(1,:),U(2,:))
330
210
240
300
270
Michael Šebek
Pr-ARI-27-2012
21
Příklad: Nákupní vozík
Automatické řízení - Kybernetika a robotika
Dobrou ilustraci poskytne typický nákupní vozík v supermarketu:
• kolečka se snadno otáčejí dopředu, ale špatně do stran
• největším zesílení má tedy směr dopředu, vozík se tam
tlačí nejsnadněji - to odpovídá největšímu singulárnímu číslu
• druhé největší zesílení je „do strany“ - odpovídá druhému sing. č.
• nejslabší je směr vzhůru, odpovídá nejmenšímu singulárnímu číslu
SVD poskytuje užitečný nástroj pro kvantifikaci směrovosti
• většina SISO výsledků založených na absolutní hodnotě (velikosti,
amplitudě) se dá zobecnit pro MIMO: velikost (amplituda) frekvenčního
přenosu je nahrazena největším singulárním číslem přenosové matice
Bohužel neumíme podobně hezky
• zobecnit pojem fáze pro přenosovou matici
• proto výsledky založené na tomto pojmu pro MIMO neplatí
(např. neplatí Nyquistovo kritérium)
Michael Šebek
22
Vlastní čísla jsou špatnou mírou pro zesílení
Automatické řízení - Kybernetika a robotika
Vlastní čísla G(jω) nejsou dobrým zobecněním pojmu zesílení:
1) existují jen pro čtvercový systém a
2) i pro něj bývají zavádějící
Příklad:
• Matice G = 0 100  má vlastní čísla nulová, a přesto nenulové zesílení.
0 0 
Odezva vstup u = [ 0 1]T je totiž y = [100 0]T


• Vlastní číslo je mírou zesílení pouze když jsou vstupní a výstupní
vektory rovnoběžné, tj. když je to vlastní vektor matice.
• Pro takový vlastní vektor ti je z definice y u = Gti ti
= λ
=
ti
λi
• takže λi je zesílení ve směru ti
i ti
•
•
Pro tuto matici je σ (G ) = 100 , což dokládá, že singulární čísla jsou
lepším vyjádřením zesílení.
G=[0 100;0 0];svd(G)
Dá se to i matematicky dokázat.
ans = 100
0
Michael Šebek
Pr-ARI-27-2012
23
Příklad: nula MIMO systému
Automatické řízení - Kybernetika a robotika
F=reduce(coprime(mdf([(s+1)/(2+s) -1/(2+s);(s-1)/(3+s) 1/(3+s)])));
Uvažme soustavu
mimo_zero.mdl
• Má nulu v s=0
−1 
 1+ s
−1
 2 + s 2 + s  2 + s
0  1 + s −1
• Jednotkový skok
=
F ( s ) =
 
−
1
1
3 + s   s − 1 1  det Fnum ( s ) = 2 s
s

  0
musí být blokován
 3 + s
3 + s 
• Jednotkový skok v obou vstupních kanálech opravdu neprojde!
1 
s
u (s) =  
1 
 s 
 1 
 ( s + 2) 

y(s) = 
 1 
 ( s + 3) 


• Co když jde jen do jednoho vstupu ?
1 
u (s) =  s 
 
0
 s +1 
 s( s + 2) 

y(s) = 
 s −1 
 s( s + 3) 


Prošel do obou! Jak to?
Michael Šebek
Pr-ARI-27-2012
24
Legrační příklad
Automatické řízení - Kybernetika a robotika
Systém
•
•
•
•
•
•
s + 2

0
 s +1

G ( s) = 

s +1 
 0

s + 2 
Má det G ( s ) = 1 ale přitom
má zjevně dva póly v -1 a -2 a dvě nuly v -1 a -2 ?
Tedy pozor při používání determinantu k určení nul/pólů
Póly a nuly mají stejné polohy, ale přesto nejdou vykrátit
Mají totiž různé směry – to ukazuje důležitost směrů!
Např. pól p1 = −1 má směry a nula z1 = −1 má směry
0 
u=
y=
z1
z1
1 
 
1 
u=
y=
p1
p1
0 
 
• Nulu v z2 = −2 nelze žádnou FF ani ZV přesunout na druhý výstup
Michael Šebek
Pr-ARI-27-2012
25
Příklad: Opět dva integrátory
Automatické řízení - Kybernetika a robotika
• Sériové spojení dvou integrátorů
y2
u2
1
s
1
s
u1
y1
1
s
G ( s) = 
0

• Paralelní kombinace dvou integrátorů
u2
1
s
y2
u1
1
s
y1
1
1
s2 
 → det G ( s ) = 2
1
s
s 
oba systémy mají
dvojnásobný
pól v 0
1

0
s

1
G ( s) =
 → det G ( s) = 2
s
0 1

s 
• Na rozdíl od SISO úvah jsou teď oba systémy „normální,“ tedy plně
řiditelné i pozorovatelné!
• Závěr: u MIMO systémů samotná poloha pólů moc neříká, hodně
záleží i na struktuře systému
Michael Šebek
Pr-ARI-27-2012
26
Příklady RGA
Automatické řízení - Kybernetika a robotika
1. Příklad
1 2 
 −2 1.5 
 −2 3 
−T
→
=
→
=
RGA
A= 
A
A
( ) 

 1 −0.5

3
4




 3 −2 
2. Příklad
vhodné párování je naopak (u1,y2), (u2,y1)
k12
2


 s 2 + 3s + 2
 1 k12 
s +1 
=
G ( s) 
 , G (0) =
 , RGA(G )
k
1
k
6


 21

21
2
2
 s + 2 s + 1 s + 5s + 6 
 1
1 − k k
12 21

 −k12 k21
1 − k k
12 21

−k12 k21 
1 − k12 k21 

1 
1 − k12 k21 
• Pro k12 , k21 ∈ ( 0,1) je vhodné párování (u1,y1), (u2,y2).
Třeba pro k=
k=
0.1 vychází
12
21
 1.0101 −0.0101
−2, k21 =
−1 je
• Pro k12 =
tedy vhodné párování je
naopak (u1,y2), (u2,y1).
Michael Šebek
RGA(G ) = 
 −0.0101
 −1
RGA(G ) = 
 2
Pr-ARI-27-2012
1.0101 
2 
− 1
27
Vlastnosti RGA
Automatické řízení - Kybernetika a robotika
Příklad
 λ 1− λ 
1
• Pro 2 x 2 matici je to RGA(G ) =
Λ(G ) =
=
λ
,
1 − λ λ 
1 − g12 g 21 g11 g 22


RGA má zajímavé vlastnosti:
• nezávisí na škálování vstupu i výstupu: pro diagonální D1 , D2 je
RGA(G ) = RGA( D1GD2 )
•
•
•
•
•
•
řádkové a sloupcové součty jsou vždy 1
součet velikostí všech prvků je blízko čísla podmíněnosti takže velké
prvky v RGA vždy znamenají špatnou podmíněnost! Opačně to neplatí!
po relativní změně −1 λij prvku gij je matice singulární gij → gij (1 − 1 λij )
permutace řádků (sloupců) A vede na stejnou permutaci RGA(A)
trojúhelníková (a tedy i diagonální) matice má jednotkové RGA
odchylka od jednotkové matice je mírou křížových interakcí
ve vztahu y = Gx
Michael Šebek
Pr-ARI-27-2012
28
Příklady RGA: výroba celulózy
Automatické řízení - Kybernetika a robotika
• RGA pro procesy v celulózce
• velikost prvků vyznačena barvami
Michael Šebek
Pr-ARI-27-2012
29
Příklad: Rozpojení - decoupling
Automatické řízení - Kybernetika a robotika
• Nejprve „rozpojíme“
 1

0
 1
 s

G (s) = 
 W ( s ) =  s (1 − s )

 s −1 1 
 s +1
 s + 1 s 
1
s
( s )W ( s ) 
=
Gs ( s ) G=
0

0

1


0

1
s 
• a pak pokračujeme metodami SISO návrhu
Michael Šebek
Pr-ARI-27-2012
30