Minimalno czasowe sprowadzenie
oscylatora idealnego do punktu
równowagi za pomocą krzywej
przełączeń
Henryk Zelek
2-MPS(s)
Prowadzący: prof. dr hab. inż. O. Petrov
Teoria sterowania
Stabilność otwartych i zamkniętych
nieliniowych układów sterowania.
Bezpośrednia metoda Lapunowa
Wprowadzenie teoretyczne
Wyjaśnienie różnych poleceń
i zwrotów
Plot- rysuj wykres funkcji
PlotRange-opcja funkcji graficznych , która określa
zakres współrzędnych
FrameLabel-opcja grafiki, która określa jak należy
umieścić etykiety na krawędziach kadru.
GridLines-opcja dwuwymiarowej grafiki funkcji, która
określa linie siatki.
True- symbol wartości logicznej
Automatic- reprezentuje opcję lub inną wartość, która
ma być automatycznie wbudowana przez funkcję.
PlotStyle- jest opcją do wiązania i drukowania funkcji,
określa styl , w którym obiekty mają być sporządzone.
Definicja stabilności
asymptotycznej w obszarze
Definicja lokalnej
stabilności asymptotycznej
Definicja funkcji
Lapunowa
Definicja antyfunkcji
Lapunowa
Twierdzenie Lapunowa o stabilności
nieliniowych układów sterowania
Definicja zbioru
zwartego
Twierdzenie Lapunowa o
niestabilności nieliniowych
układów sterowania
Tłumaczenie funkcji
Thickness - Thickness[0.005] oznacza, ze linia wykresu będzie o grubości 0,5% długości całej
grafiki
n=2 – przypisanie zmiennej wartości
vx=Table[x[i][t],{i,1,n}]; Tworzenie Tablicy zmiennych
x0 – mówi jaka jest wartość wyrażenia gdy x dąży do x_0
ff[t_] - dostaje nieco odpowiadającego współczynnika 2 ^ k w całkowitej n
a1 – daje częstotliwość uwagę w oktawę
a11 – wskaźniki[list] daje kolejne wskaźniki elementów w liście
Module - określa że wydarzenia z symboli x, y powinny być traktowane jako lokalne
Flatten - spłaszczacz
NDsolve – znajdzie rozwiązanie numeryczne do równań różniczkowych zwyczajnych zmiennej y
z zmiennej niezależnej x na określonym przedziale
Join – dołącz
MaxSteps – jest to opcja do takich funkcji jak NDsolve, który określa maksymalną liczbę kroków
do podjęcia w tworzeniu wyników
Plot – działka generuje wykres jako funkcje x od [x min] do [x max]
PlotRange -> All– jest to opcja funkcji graficznych, która określa cały zakres współrzędnych
FrameLabel – jest to opcja graficzna która określa etykiety jakie należy umieścić na
krawędziach wykresu
GridLines – jest to opcja dwuwymiarowej grafiki funkcji która określa linie siatki
Minimalno czasowe
sprowadzenie oscylatora
idealnego do punktu równowagi
za pomocą krzywej przełączeń
Ćwiczenie nr.5
Generowanie krzywej
przełączeń
Generowanie krzywej przełączeń
Po zmianie parametru na
a=15
Model oscylatora ze sterowaniem
schodkowym i trygonometrycznym-
dokładna dyskretyzacja sterowania
Parametry początkowe:
n=2;
m=2;
a1=1;
a2=0;
b1=1;
b2=0;
liczba punktów dyskretyzacji czasu
ku=200;
krok dyskretyzacji czasu
delta=0.05;
vx=Table[x[i][t],{i,1,n}];
vu=Table[u[j][t],{i,1,m}];
x0={7,1};
ff[t_]:={x[2][t],-a1*x[1][t]-a2*x[2][t]+b1*u[1][t]+b2*u[2][t]};
zadanie sterowania z dużą liczbą parametrów dyskretyzacji o
ustalonej wartości
uu={Flatten[{Table[-1,{i,1,5}],Table[0,{i,6,200}]}],Table[0,{i,1,200}]}
sol11=Plot[Evaluate[x[1][t]/.solxx[uu,x0]],{t,0,0.25},PlotRange->All,
FrameLabel->{"t","x[1][t]"},Frame->True,GridLines->Automatic,
PlotStyle->{Thickness[0.005]}]
0 .0 0
0 .0 5
0 .1 0
0 .1 5
0 .2 0
0 .2 5
6 .8 0
6 .8 5
6 .9 0
6 .9 5
7 .0 0
t
x
1
t
a1=2;
a2=3;
b1=2;
b2=4;
Wynik badania oscylatora ze
sterowaniem schodkowym i
trygonometrycznym.
Show[s11,s22,s33,s44,s55,s66,s77,s88,tra11,PlotRange->All]
5
5
1 .0
0 .5
0 .5
1 .0
Show[s11,s33,s55,s77,tra11,PlotRange->All]
6
4
2
2
4
6
1 .0
0 .5
0 .5
1 .0
Zmiana dyskretyzacji
sterowania.
Stan początkowy:
Generowanie sterowania w bazie schodkowej i trygonometrycznej
Zmiana liczby punktów dyskretyzacji
sterowania schodkowego
ku=300;
uu={Flatten[{Table[-1,{i,1,5}],Table[1,{i,6,69}],
Table[1,{i,70,133}],Table[1,{i,134,194}],
Table[-1,{i,195,235}],Table[0,{i,236,300}]}],Table[0,{i,1,300}]}
soluu[uu_]:=Thread[{u[1]>Interpolation[Join[{{0,uu[[1,ku]]}},
Table[{k*delta, uu[[1,k]]},{k,1,ku}]],InterpolationOrder->0],
u[2][t] >Sum[uu[[2,k]]*Cos[2*Pi*(k-1)*t]+
Uu[[2,k+ku/2]]*Sin[2*Pi*(k-1)*t],{k,1,ku/2}]}];
Zmiana dlugości przedziału czasowego sterowania
solxx[uu_,x0_]:=Module[{rozuu},rozuu=soluu[uu];
Flatten[NDSolve[Join[Table[x[i]'[t]==ff[t][[i]]/.rozuu,{i,1,n}],
Table[x[i][0]==x0[[i]],{i,1,n}]],vx,{t,0,15},MaxSteps->Infinity]]];
0
2
4
6
8
1 0
1 2
4
2
0
2
4
6
t
x
1
t
Po zmianie parametrów
3 .0
3 .2
3 .4
3 .6
3 .8
4 .0
5 .0
4 .8
4 .6
4 .4
4 .2
4 .0
3 .8
3 .6
t
x
1
t
0
2
4
6
8
1 0
1 2
6
4
2
0
2
4
t
x
2
t
Wynik badania zmiany liczby
punktów dyskretyzacji sterowania
schodkowego.
WNIOSKI
Aby
określić
dokładną
wartość
minimalnego
czasu
sprowadzania oscylatora do położenia równowagi musimy
zwiększyć tzw. dokładność dyskretyzacji, za którą w temacie
zadania odpowiedzialne są parametry k i delta.
Zmniejszenie zarówno wartości k - odpowiadającej za ilość
punktów dyskretyzacji czasu, jak i d - będącej krokiem
dyskretyzacji czasu wpływa niekorzystnie na wyszukiwanie
wartości minimalnego czasu sprowadzania oscylatora do
położenia równowagi, gdyż zakres błędu, bądź jak kto woli
ilość przeprowadzonych prób dyskretyzacji jest zbyt mała.
Zmieniając wartość stanu początkowego x0
i przyjmując
znacząco mniejszą wartość zarówno k jak i delty otrzymujemy
wykres, którego stan jest daleki od określenia minimalnego
czasu sprowadzania oscylatora do położenia równowagi.