Układ łańcuchowy

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Układ łańcuchowy – pojęcie związane z robotami mobilnymi, oznacza sposób na przedstawienie zależności pomiędzy położeniem i orientacją robota w przestrzeni, a sygnałami sterującymi. Wzór na układ łańcuchowy używany jest m.in. w algorytmie sterowania sinusoidalnego.

Definicja

Układem łańcuchowym nazywa się układ równań różniczkowych w postaci:

dx1dt=u1
dx2dt=u2
dx3dt=x2u1
dx4dt=x3u1
...
dxndt=xn1u1

Układ taki ma n zmiennych i dwa sterowania, za pomocą których należy ustawić wszystkie zmienne na określonych pozycjach. Powyższe równania można także przedstawić jako układ bezdryfowy:

dxdt=g(x)u,

gdzie:

g1(x)=[10x2..xn1], g2(x)=[010..0].

Przykład

Istnieje nieliniowy układ dynamiczny przedstawiony jako układ równań (*)

dxdt=u1cosθ
dydt=u1sinθ
dϕdt=u2
dθdt=u1tgϕ.

Na początku należy wyznaczyć przybliżenie liniowe funkcji sin,cos,tg stosując wzór:

f(x)f(x0)+f(x0)x(xx0).

W ten sposób otrzymuje się:

sinθ=θ,
cosθ=1,
tgϕ=ϕ,

a po podstawieniu do (*):

dxdt=u1
dydt=u1θ
dϕdt=u2
dθdt=u1ϕ.

Na podstawie otrzymanego układu równań tworzone są nowe zmienne xi, które po zróżniczkowaniu dadzą układ łańcuchowy.

x1=x,
x2=ϕ,
x3=θ,
x4=y,
dx1dt=dxdt=u1,
dx2dt=dϕdt=u2,
dx3dt=dθdt=ϕ*u1=x2*u1,
dx4dt=dydt=θ*u1=x3*u1.

W ten oto sposób otrzymany został układ łańcuchowy, którym można sterować (o ile jest sterowalny, patrz nawiasy Liego) za pomocą sygnałów wyznaczonych w algorytmie sterowania sinusoidalnego itp.