Algorytm sterowania sinusoidalnego

Algorytm Sterowania Sinusoidalnego

Algorytm sterowania sinusoidalnego jest wykorzystywany do zarządzania układami łańcuchowymi (robotami). Umożliwia on znalezienie odpowiedzi na pytanie: „Jakie sterowanie powinno być zastosowane, aby wszystkie współrzędne osiągnęły zaplanowaną wartość?”

Układ łańcuchowy jest kontrolowany za pomocą dwóch sygnałów u.

Jedynie dwie pierwsze współrzędne są sterowane niezależnie. Pozostałe współrzędne są uzależnione od wartości współrzędnych niezależnych oraz od wartości sygnału sterującego. Algorytm sterowania sinusoidalnego sugeruje, aby każda współrzędna była wysterowana osobno, zaczynając od x1 i x2, a kończąc na xn.

Pierwszy krok

Pierwszy krok polega na wysterowaniu x1 i x2 tak, aby osiągnęły one zaplanowane wartości. W tym celu ustalana jest stała wartość sterowania. Następnie określa się wartość pozostałych współrzędnych, która będzie wartością początkową dla drugiego kroku. W pierwszym kroku następuje także podział zadanego czasu T na n – 1 części ( [0, t1, t2, …, T] ). W każdej kolejnej części powtarza się krok drugi.

Sterowanie:

  • u1 = \frac{x1(T) – x1(0)}{\tau} = \text{const}
  • u2 = \frac{x2(T) – x2(0)}{\tau} = \text{const}

Przykładowy układ i współrzędna zależna:

  • x1’ = u1
  • x2’ = u2
  • x3’ = x2 u1

Przeprowadza się całkowanie drugiego wzoru, co prowadzi do:

x2(t) – x2(0) = u2 t.

Ten wzór podstawia się do trzeciego wzoru:

x3’ = x2 u1 = [x2(0) + u2 t] u1.

Drugi krok

Po wyznaczeniu wartości początkowej następnej współrzędnej przystępuje się do poszukiwania sterowań, które umożliwią ustawienie współrzędnej w zadanym położeniu, zapewniając jednocześnie, że poprzednie współrzędne pozostaną w swoim początkowym miejscu. Sterowaniami tymi są sygnały sinus oraz cosinus. Są one niezależne od siebie i pozwalają osiągnąć oczekiwany rezultat. Dzięki tym sygnałom kolejna współrzędna zostaje ustawiona w wyznaczonej lokalizacji, a pozostałe współrzędne (po wykonaniu ruchu po okręgu) pozostają na swoich wcześniejszych pozycjach.

Sterowanie:

  • u1(t) = a \sin(\omega t)
  • u2(t) = b \cos(\omega t)
  • \omega = \frac{2\pi}{\tau}

gdzie a i b są wartościami do znalezienia.

Dowód na poprawność sterowania

Zakładając, że x1 i x2 osiągnęły swoje docelowe pozycje, należy zweryfikować, czy sterowanie w czasie [τ, 2τ]:

  • u1(t) = a \sin(\omega t)
  • u2(t) = b \cos(\omega t)
  • \omega = \frac{2\pi}{\tau}

ma oczekiwany rezultat, czyli:

  • x1(2τ) = x1(τ)
  • x2(2τ) = x2(τ)

Powyżej przedstawiono dowód dla pierwszej zmiennej. Podobny dowód można przeprowadzić dla drugiej zmiennej. W rezultacie, zastosowane sterowanie zapewnia żądaną stałość zmiennych niezależnych.

Przykład

Rozważając układ o stanie początkowym x0 = (0, 0, 0)T, z zaplanowanym stanem końcowym xT = (2, 2, \frac{\pi}{4})T oraz czasie T = 4, który ma na celu przejście ze stanu x0 do stanu xT. Wartość τ w tym przypadku wynosi 2.

Pierwszy krok polega na obliczeniu stałego sterowania oraz wartości początkowej trzeciej współrzędnej. Oba sterowania są równe i wynoszą: u1 = u2 = \frac{2}{\tau}.

Trzecia współrzędna przyjmie wartość:

x3(τ) = x3(0) + \int_{0}^{τ} [x2(0) u1 + u1 u2 s] ds = 2.

Uwagi

Warto pamiętać, że sterowanie w przedziale [0, t1] jest stałe. Natomiast w punkcie t1 jedno ze sterowań jest nieciągłe. Innym wyzwaniem jest ustalenie odpowiednich wartości sygnałów sinus oraz cosinus (wzmocnienie), aby osiągnąć zamierzony efekt.

Bibliografia

K. Tchoń, A. Mazur, I. Dulęba, R. Hossa, R. Muszyński: Manipulatory i roboty mobilne. Modele, planowanie ruchu, sterowanie, Warszawa 2000, ISBN 83-7101-427-9.

Przeczytaj u przyjaciół: