Algorytmy sterowania

Algorytmy sterowania opracowane zostały w celu jak najdokładniejszego sterowania położeniem i orientacją efektora w manipulatorze robotycznym. Mogą one być używane także w przypadku robotów mobilnych.

Historia edytuj

Początkowo 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 i stosowany jest w przypadku robotów, dla których nie został 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 edytuj

Dokładna linearyzacja edytuj

1. Model:

 

2. Sterowanie:

  gdzie:
  – własne sterowanie.

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

 
 

4. Własności:

– globalny,
– eksponencjalnie stabilny (patrz metody Lapunowa),
  lokalnych sterowań PD z korekcją.

Slotine i Li edytuj

1. Model:

 

2. Sterowanie:

 
  – błąd śledzenia położenia,
  – trajektoria referencyjna (nie trzeba znać),
  – zmienna ślizgu,
  – macierz, która spełnia warunek  

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

 
 
 
 
 

4. Własności:

– globalny,
– asymptotycznie stabilny.

Częściowa nieznajomość modelu edytuj

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

Algorytm ślizgowy edytuj

1. Model:

 
  – nieznane, stałe parametry, można oszacować pomiędzy   a  
  – nieznane ograniczone zakłócenie, braki w modelu.

2. Sterowanie:

 
  – macierze diagonalne, > 0,
  nie zależy od czasu i zawiera się w przedziale  
– nie ma identyfikatora,
– sterowanie jest nieciągłe.

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

 
 
 
 
 

Algorytm uniwersalny edytuj

Całkowita nieznajomość modelu edytuj

PD edytuj

Jest to podstawowy sposób sterowania robotem przy całkowitej nieznajomości modelu. Przyjmuje się, że robot to układ z wejściem u i 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, ponieważ komplikuje on układ i 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ć dość mały błąd. Niestety nie jesteśmy w stanie określić wartości tego błędu.

Lambda-śledzenie edytuj

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 jedynie zwiększeniu. Następuje to w momencie, gdy błąd przekroczy zadany poziom   Metoda ta pozwala oszacować wartość błędu z jakim porusza się robot.

Cel edytuj

Celem ww. algorytmów jest śledzenie zadanej trajektorii   to jest takie działanie, aby   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:

 

Po podstawieniu do wzoru:

 

otrzymujemy:

 
 
 

gdzie:

  – korekcja.

Na koniec należy zapewnić postać macierzy   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, ponieważ   występuje przy pochodnej błędu, a   przy błędzie. W ten sposób otrzymaliśmy sterownik PD.

Dobieranie nastaw edytuj

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 różnych wartości. Po określeniu wpływu poszczególnych macierzy oraz przedziału w którym uzyskuje się oczekiwaną jakość sterowania (kryterium jakości) można wykonać dodatkowe obliczenia zawarte w otrzymanym przedziale, aby otrzymać wynik zbliżony do optymalnego.

Kryterium jakości edytuj

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

  gdzie:
  – moduł błędu (suma różnic pomiędzy kolejnymi współrzędnymi).

Mniejsza wartość   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ż mogą pojawić się dodatkowe przesterowania.

Przesterowania edytuj

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 i mobilnych. Wyróżnić można dwa zachowania odbiegające od oczekiwanych:

  1. przekroczenie trajektorii – robot mija krzywą wyznaczoną przez trajektorię i 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ę, gdy jest zbyt duża wartość macierzy stojącej przy wartości błędu  

Ad. 2 – Pojawia się, gdy jest zbyt duża wartość macierzy stojącej przy szybkości zmian błędu  

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

Uwagi edytuj

Wszystkie pochodne występujące we wzorach wyliczane są względem czasu tj.