Algorytm odsprzęgania wej-wyj

Z testwiki
Wersja z dnia 10:13, 2 paź 2019 autorstwa imported>Byrek (poprawa ujedn. - model manipulatora, nadawany przez jego producenta, a nie jakiś model matematyczny)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Algorytm odsprzęgania wej-wyjalgorytm, którego zadaniem jest poprowadzenie efektora manipulatora robotycznego tak, aby poruszał się on po linii prostej. Przedstawiany on jest na pokazach, gdy zadaniem robota jest umycie szyby przy pomocy odpowiedniego narzędzia.

Manipulatory są skonstruowane głównie z elementów obrotowych. Dlatego też ich ruchy bez użycia algorytmu odsprzęgania przypominają łuki zamiast linii prostych. W takim przypadku nacisk efektora będzie różny dla punktów leżących na linii jego ruchu i możliwe jest zbicie szyby.

Warunki stosowania

  1. Manipulator nie może być redundantny, tzn. nie może być np. manipulatorem typu „trąba słonia”.
  2. Liczba wyjść, którymi chcemy sterować jest równa liczbie wejść sterujących.
  3. Konfiguracje realizujące ruch nie mogą być osobliwe.

Wzory

Przekształcamy model matematyczny manipulatora do postaci:

q=M1CqM1G+M1u

i wprowadzamy dwie nowe współrzędne x,ξ:

x=q,
ξ=q.

Współrzędne te różniczkujemy po czasie, otrzymując:

x=ξ,
ξ=M1CξM1G+M1u=F+Hu (zapis uproszczający dalsze wory),
H=M1.

Bierzemy i-te wyjście:

yi=ki(q)=ki(x),
y'i=xki(x)ξ.

Uzyskany wzór na pochodną x wstawiamy do wzoru na i-te wyjście, a następnie liczymy druga pochodną y po t. W ten sposób uzyskujemy:

y'i=ξT2kix2ξ+kix[F(x,ξ)+H(x)u].

Po raz kolejny upraszczamy zapis wzoru:

y'i=+Pi(x,ξ)+kix[F(x,ξ)+H(x)u].

Otrzymaliśmy wzór na jedno wyjście. Jeżeli policzymy kolejne wyjścia otrzymamy dokładnie taki sam wzór, a zatem ogólny wzór na wyjście układu będzie przedstawiał się następująco:

y=P(x,ξ)+J(x)H(x)u,

gdzie:

J(x) to jakobian, kx.

Układ jest sterowalny, gdy macierz pochodząca z iloczynu J i H jest odwracalna (JM10).

Sprzężenie zwrotne linearyzujące

Jako sygnał sterujący podajemy do układu sygnał w postaci: u=M(x)J(x)1[P+v], gdzie v to nowe wejście. Dzięki temu uzyskujemy układ o wzorze: y=v, który jest układem liniowym typu podwójny integator.

Śledzenie trajektorii

Przy śledzeniu trajektorii stosujemy podobny zabieg jak w przypadku pozostałych algorytmów. Jako sygnał sterujący v podajemy:

v=kd(yyd)kp(yyd)+yd.

Po podstawieniu do równania uzyskujemy wzór:

yyd+kd(yyd)+kp(yyd)=0, a w ostateczności
e+kde+kpe=0,

gdzie:

e – błąd,
kp,kd – wzmocnienie części P oraz D sterownika typu PD (PID),
yd – zadana trajektoria,
yd – korekcja.

Jeżeli macierze kp oraz kd spełniają warunek, że ich spektrum ma części rzeczywiste większe od zera, to błąd e będzie zmierzał do zera. A zatem można powiedzieć, że algorytm jest zbieżny.

Uwagi

W algorytmie stosowany jest Jakobian. Wymagana jest znajomość modelu manipulatora, bez której nie można wykonać linearyzacji układu.

Bibliografia

  • K. Tchoń, A. Mazur, I. Dulęba, R. Hossa, R. Muszyński, Manipulatory i roboty mobilne: Modele, planowanie ruchu, sterowanie, Warszawa 2000 (Szablon:ISBN)