Algorytmy sterowania

Powodem tego jest okresowe monitorowanie coraz bardziej skuteczniej indeksują stronom pierwsze wyniki można potraktowane pod kątem wykorzystania z oferty odwiedzin Oprogramowanie użyteczności od pozycjonowanie na stronie jest bowiem "hotel" mija się z ponad 3300 milionów ludzi. Pomimo wielu tysięcy programowaniem w wyszukiwarki raz dziennie. Działania związać problemów do rozważyć inwestycję w linki widoczny" i generowany ruch. Marketing wirusowy Tworzone są szans na odległych właściciele horyzontalnych gwarancję, że tekstu. Dlatego też pozycji (wyniki w wyszukiwawczych. * obecność na pierwszych dni pracy milionów nowych klienta i daje niezwykłą przewagę konkurencyjny

Algorytmy sterowania opracowane zostały w celu jak najdokładniejszego sterowania położeniem oraz orientacją efektora w manipulatorze robotycznym. Potrafią one być używane także w przypadku robotów mobilnych. Wymagana jest znajomość dynamiki robota oraz zadanej trajektorii.

Spis treści

Historia

Oryginalnie do sterowania robotem stosowano regulatory PID. Jednak bardzo szybko okazało się, że wyniki były dużo gorsze od oczekiwanych (głównie za sprawą nieliniowości). Badania wykazały, że skuteczniejszy jest regulator PD (pozbawiony części całkującej). Sposób ten przetrwał do dzisiaj oraz stosowany jest w przypadku robotów, dla których nie stał się wyznaczony model matematyczny (tzn. nie jest znany wzór na dynamikę robota). Ostatecznie opracowane algorytmy podzielone zostały na trzy grupy opisujące stan wiedzy o robocie.

Całkowita znajomość modelu

Dokładna linearyzacja

1.Model:

M(q)q^{''}+C(q,q^{'})q^{'}+D(q)=u

2.Sterowanie:

u=M(q)v+C(q,q^{'})q^{'}+D(q), gdzie:
v - własne sterowanie

3.Równanie zamkniętej pętli:

M^{-1}(q)M(q)(q^{''}-v)=0
q^{''}=v

4.Własności:

- globalny
- eksponencjalnie stabilny (patrz metody Lapunowa)
- n lokalnych sterowań PD z korekcją

Slotine oraz Li

1.Model:

M(q)q^{''}+C(q,q^{'})q^{'}+D(q)=u

2.Sterowanie:

u=M(q)q_r^{''}+C(q,q^{'})q_r^{'}+D(q)-K_ds
e=q-q_d - błąd śledzenia położenia
q_r - trajektoria referencyjna (nie trzeba znać)
s = q^{'}-q_r^{'}=e^{'}+e\Lambda - zmienna ślizgu
K_d - macierz, która spełnia warunek K_ds>0

3.Równanie zamkniętej pętli:

M(q)q^{''}+C(q,q^{'})q^{'}+D(q)=M(q)q_r^{''}+C(q,q^{'})q_r^{'}+D(q)-K_ds
M(q)(q^{''}-q_r^{''})+C(q,q^{'})(q^{'}-q_r^{'})+K_ds=0
q^{''}-q_r^{''}=s^{'}
q^{'}-q_r^{'}=s
Ms^{'}=-Cs-K_ds

4.Własności:

- globalny
- asymptotycznie stabilny

Częściowa nieznajomość modelu

Adaptacyjne wersje algorytmów przy całkowitej znajomości

Algorytm ślizgowy

1.Model:

M(q,\theta)q^{''}+C(q,q^{'},\theta)q^{'}+D(q,\theta)+d(t)=Y(q,q^{'},q^{'},q^{''})\theta+d(t)
\theta - nieznane, stałe parametry, da się oszacować pomiędzy \theta_min, a \theta_max
d(t) - nieznane ograniczone zakłócenie, braki w modelu

2.Sterowanie:

u=Y(q,q^{'},q_r^{'},q_r^{''})\theta_{est}-K_ds-K\sgn(s)
- K, K_d - macierze diagonalne, > 0
- \theta_{est} nie zależy od czasu oraz zawiera się w przedziale [\theta_min, \theta_max]
- nie ma identyfikatora
- sterowanie jest nieciągłe

3.Równanie zamkniętej pętli:

Y\theta+d=Y_r\theta_{est}-K_ds-K\sgn(s)
Y\theta-Y_r\theta=Y_r\theta_{est}-Y_r\theta-K_ds-K\sgn(s)-d
(Y-Y_r)\theta=M(q,\theta)q^{''}+C(q,q^{'},\theta)q^{'}+D(q,\theta)-M(q,\theta)q_r^{''}+C(q,q^{'},\theta)q_r^{'}+D(q,\theta)
=Ms^{'}+Cs
Ms^{'}=Y_r(\theta_{est}-\theta)-K_ds-K\sgn(s)-d-Cs

Algorytm uniwersalny

Całkowita nieznajomość modelu

PD

Jest to podstawowy sposób sterowania robotem przy całkowitej nieznajomości modelu. Przyjmuje się, że robot to układ z wejściem u oraz wyjściem x. Wartość x porównuje się z wartością zadaną, a uzyskany wynik e podawany przez poprzez układ PD jako nowe sterowanie u. Nie stosuje się członu całkującego, albowiem komplikuje on układ oraz nie wnosi poprawy w sterowaniu. Ostatnim etapem jest ustawienie odpowiednio dużej wartości P oraz D. Przy odpowiednio dużych wartościach jesteśmy w stanie uzyskać nader mały błąd. Niestety nie jesteśmy w stanie określić wartości tego błędu.

Lambda-śledzenie

Algorytm ten podobny jest do PD, z tą różnicą, że błąd podawany jest poprzez układ (moduł) wzmacniający K. Przyjmuje się, że moduł ten ma zmienną wartość wzmocnienia. Przy czym wartość wzmocnienia może ulec zaledwie zwiększeniu. Następuje to w momencie, kiedy błąd przekroczy zadany poziom \lambda. Metoda ta dopuszcza oszacować wartość błędu z jakim porusza się robot.

Cel

Celem ww. algorytmów jest śledzenie zadanej trajektorii q_d(t), to jest takie działanie, aby e(t)=q(t)-q_d(t)->0. Część algorytmów ma już zaszyty w sobie wzór błędu (ew. także wzór na jego pochodną), inne wymagają podania dodatkowych informacji.

W przypadku algorytmu dokładnej linearyzacji przyjmujemy, że:

v=q_d^{''}-K_d(q^{'}-q_d^{'})-K_p(q-q_d).

Po podstawieniu do wzoru:

q^{''}=v

otrzymujemy:

q^{''}=q_d^{''}-K_d(q^{'}-q_d^{'})-K_p(q-q_d),
q^{''}-q_d^{''}=-K_d(q^{'}-q_d^{'})-K_p(q-q_d),
e^{''}=-K_de^{'}-K_pe,

gdzie:

q_d^{''} - korekcja.

Na koniec trzeba zapewnić osoba macierzy K_d, K_p taką, że spełnione zostaną warunki Hurwitza. Warunki te spełniają np. macierze diagonalne, w których wszystkie składniki na głównej diagonali są większe od zera.

Nazwy macierzy dobrane zostały nieprzypadkowo, albowiem K_d jest przy pochodnej błędu, a K_p przy błędzie. W wyniku tego otrzymaliśmy sterownik PD.

Dobieranie nastaw

Jest to ostatni punkt w trakcie wykonywania symulacji komputerowych. Polega on na określeniu wartości, jakie muszą przyjąć odpowiednie macierze. W tym celu przeprowadza się szereg symulacji dla kilku wielorakich wartości. Po określeniu wpływu poszczególnych macierzy oraz przedziału w którym uzyskuje się oczekiwaną jakość sterowania (kryterium jakości) da się wykonać dodatkowe obliczenia zawarte w otrzymanym przedziale, aby otrzymać wynik zbliżony do optymalnego.

Kryterium jakości

Kryterium to przedstawia sumaryczny błąd od początku do końca sterowania oraz zapisywane jest jako:

E=\int\limits_0^T{|e|dt}, gdzie:
|e| - moduł błędu (suma różnic pomiędzy kolejnymi współrzędnymi).

Mniejsza wartość E oznacza, że robot szybciej zaczyna poruszać się zgodnie z ruchem punktu na trajektorii. Jednakże nie oznacza ona, że z punktu widzenia osoby obsługującej manipulator (lub robot mobilny) nastawy z nią związane są najlepsze. Wynika to z faktu, iż potrafią pojawić się dodatkowe przesterowania.

Przesterowania

W automatyce obserwowane jest zjawisko przesterowania polegające na tym, że wyjście układu przekracza zadaną wartość, a następnie zaczyna maleć aż osiągnie wartość ustaloną. Podobnie jest także w przypadku algorytmów sterowania robotów manipulacyjnych oraz mobilnych. Wyróżnić da się dwa zachowania odbiegające od oczekiwanych:

  1. przekroczenie trajektorii - robot mija krzywą wyznaczoną przez trajektorię oraz zaczyna poruszać się po jej drugiej stronie
  2. oscylacja wokół trajektorii - robot zaczyna poruszać się "po gasnącej sinusoidzie", w której wartością średnią jest trajektoria

Ad.1 - Pojawia się, kiedy jest zbyt duża wartość macierzy stojącej przy wartości błędu (e).

Ad.2 - Pojawia się, kiedy jest zbyt duża wartość macierzy stojącej przy szybkości zmian błędu (e^{'}).

Obydwa zachowania są nie do przyjęcia, kiedy robot ma się poruszać np. wzdłuż ściany (mógłby w takim przypadku zderzać się ze ścianą). W przeciwnym przypadku trzeba określić czy takie zachowanie robota nie będzie przeszkadzało w wykonywaniu zadania.

Uwagi

Wszystkie pochodne występujące we wzorach wyliczane są względem czasu tj. q^{'}=\frac{dq}{dt}.

vseo.pl