Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Algorytm sterowania sinusoidalnego - Wikipedia, wolna encyklopedia

Algorytm sterowania sinusoidalnego

Z Wikipedii

Algorytm sterowania sinusoidalnego stosowany jest do sterowania układem łańcuchowym (robotem). Pozwala on odpowiedzieć na pytanie: "Jakie sterowanie należy użyć, aby wszystkie współrzędne osiągnęły zadaną wartość".

Układ łańcuchowy sterowany jest poprzez dwa sygnały u. Przy czym niezależnie sterowane są tylko dwie pierwsze współrzędne. Pozostałe współrzędne zależne są od wartości współrzędnych niezależnych oraz od wartości sygnału sterującego. Algorytm sterowania sinusoidalnego proponuje wysterowanie osobno każdej współrzędnej zaczynając od x1 i x2,a kończąc na xn.

Spis treści

[edytuj] Pierwszy krok

Przykład sterowania dla trzech zmiennych, I i II oznaczają numer kroku.
Przykład sterowania dla trzech zmiennych, I i II oznaczają numer kroku.

Pierwszy krok polega na wysterowaniu x1 i x2 tak, aby osiągnęły one zadaną wartość. W tym celu wyznaczana jest stała wartość sterowania. Następnie wyznaczana jest wartość pozostałych współrzędnych. Będzie to wartość początkowa, od której zacznie się drugi krok. 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 będzie powtarzany krok drugi.

Sterowanie:

u_1=\frac{x_1(T)-x_1(0)}{\tau}=const
u_2=\frac{x_2(T)-x_2(0)}{\tau}=const

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

x1' = u1
x2' = u2
x3' = x2u1

Całkujemy drugi wzór, przez co otrzymujemy:

x2(t) − x2(0) = u2t.

Wzór ten podstawiamy do trzeciego wzoru:

x3' = x2u1 = [x2(0) + u2t]u1
x_3(\tau)=x_3(0)+\int\limits_0^\tau [x_2(0)u_1+u_1u_2s]ds

[edytuj] Drugi krok

Po wyznaczeniu wartości początkowej kolejnej współrzędnej przystępujemy do wyszukania sterowań, które pozwolą ustawić współrzędną na jej zadanym położeniu, a także zapewnią, że poprzednie współrzędne będą znajdowały się w tym samym miejscu co na początku odcinka czasu. Tymi sterowaniami są sygnały sinus oraz cosinus. Są one niezależne od siebie i pozwalają uzyskać to, czego oczekujemy. Dzięki tym sygnałom kolejna współrzędna zostaje ustawiona we wskazanym miejscu, a pozostałe (po wykonaniu ruchu po okręgu) pozostają w swoim poprzednim położeniu.

Sterowanie:

u1(t) = asinωt
u2(t) = bcosωt
\omega=\frac{2\pi}{\tau}

a i b są wartościami szukanymi.

[edytuj] Dowód na poprawność sterowania

Załóżmy, że x1,x2 znalazły się na swoich docelowych pozycjach. Należy sprawdzić czy sterowanie w czasie [τ,2τ]:

u1(t) = asinωt
u2(t) = bcosωt
\omega=\frac{2\pi}{\tau}

da oczekiwany wynik, czyli x1(2τ) = x1(τ), x2(2τ) = x2(τ).

x_1(2\tau)=x_1(\tau)+\int\limits_\tau^{2\tau}asin\omega sds
x_1(2\tau)=x_1(\tau)-\frac{a}{\omega}[\cos\omega s]_\tau^{2\tau}
x_1(2\tau)=x_1(\tau)-\frac{a}{\omega}\cos\omega 2\tau+\frac{a}{\omega}\cos\omega\tau
x_1(2\tau)=x_1(\tau)-\frac{a}{\frac{2\pi}{\tau}}\cos\frac{2\pi}{\tau}2\tau+\frac{a}{\frac{2\pi}{\tau}}\cos\frac{2\pi}{\tau}\tau
x_1(2\tau)=x_1(\tau)-\frac{a}{\frac{2\pi}{\tau}}+\frac{a}{\frac{2\pi}{\tau}}=x_1(\tau)

Powyżej przedstawiony został dowód dla pierwszej zmiennej. Podobny dowód można przeprowadzić dla drugiej zmiennej. Jak widać zastosowane sterowanie pozwala uzyskać żadaną stałość zmiennych niezależnych.

[edytuj] Przykład

Weźmy układ o stanie początkowym x0 = (0,0,0)T, zadanym stanie końcowym x_T=(2,2,\frac{\pi}{4})^T oraz czasie T = 4, w którym należy przejść ze stanu x0 do stanu xT. τ będzie w tym przypadku równe 2.

Pierwszy krok, to policzenie stałego sterowania oraz wartości początkowej trzeciej współrzędnej. Obydwa sterowania są sobie równe i wynoszą: u_1=u_2=\frac{2}{\tau}. Natomiast trzecia współrzędna będzie miała wartość: x_3(\tau)=x_3(0)+\int\limits_0^\tau[x_2(0)u_1+u_1u_2s]ds=\int\limits_0^\tau u_1u_2sds=\frac{4}{\tau^2}\frac{1}{2}[s^2]_0^\tau=2

W drugim i ostatnim kroku wyliczamy wartość a i b dla sterowań.

x_3(2\tau)=x_3(\tau)+\frac{ab\tau^2}{4\pi}=x_3(T)
2+\frac{ab\tau^2}{4\pi}=\frac{\pi}{4}
ab=\frac{\pi^2-8\pi}{\tau^2}
a=\frac{\pi}{\tau}, b=\frac{\pi-8}{\tau}

[edytuj] Uwagi

Należy pamiętać o tym, że sterowanie [0,t1] jest stałe. Natomiast w punkcie t1 jedno ze sterowań jest nieciągłe. Drugim problemem jest wyznaczenie odpowiednich wartości sygnałów sinus oraz cosinus (wzmocnienie) tak, aby uzyskać oczekiwany efekt.


[edytuj] Bibliografia

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

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com