politechnika warszawska wydziaŁ mechatroniki...
TRANSCRIPT
POLITECHNIKA WARSZAWSKA
WYDZIAŁ MECHATRONIKI
Instytut Automatyki i RobotykiSpecjalność: Robotyka
PRACA DYPLOMOWA MAGISTERSKA
MODELOWANIE UKŁADU STEROWANIA
ŚLIZGOWEGO ROBOTA PUMA 560
Autor: Jakub Możaryn
Promotor: prof. dr hab. inż. Jerzy Kurek
Warszawa 2000
SPIS TREŚCI
1. WSTĘP .....................................................................................................................................4
2. SFORMUŁOWANIE PROBLEMU ..................................................................................................6
3. MODEL MATEMATYCZNY ROBOTA PUMA 560 .......................................................................7
3.1. Wstęp ..............................................................................................................................73.2. Opis kinematyki robota...................................................................................................73.3. Opis dynamiki robota....................................................................................................103.4. Model dynamiki robota w przestrzeni zmiennych stanu ..............................................133.5. Symulacja dynamiki robota ..........................................................................................133.6. Opis robota PUMA 560 ................................................................................................15
3.6.1. Przegląd publikacji dotyczących robota PUMA 560. ...........................................153.6.2. Parametry fizyczne robota PUMA 560 .................................................................16
4. PROJEKTOWANIE ALGORYTMU STEROWANIA ŚLIZGOWEGO DLA ROBOTA PUMA 560...........19
4.1. Wstęp ............................................................................................................................194.2. Model robota PUMA 560 .............................................................................................194.3. Określenie zadania sterowania dla robota PUMA 560 .................................................204.4. Wstęp do sterowania ślizgowego..................................................................................214.5. Projektowanie funkcji przełączającej dla robota PUMA 560.......................................234.6. Sterowanie równoważne ...............................................................................................244.7. Algorytm sterowania ślizgowego robota PUMA 560...................................................264.8. Symulacje komputerowe robota PUMA 560 ze sterowaniem ślizgowym. ..................27
4.8.1. Symulacje układu ze sterowaniem przełączającym ..............................................284.8.2. Symulacje układu z uzupełnionym sterowaniem równoważnym .........................28
5. PROJEKTOWANIE ALGORYTMU STEROWANIA ŚLIZGOWEGO Z ODSPRZĘGANIEM DLA
ROBOTA PUMA 560...............................................................................................................33
5.1. Odsprzęganie przegubów robota PUMA 560 ...............................................................335.2. Projektowanie funkcji przełączającej dla robota PUMA 560 z odsprzęgniętymi
przegubami .................................................................................................................. 345.3. Projektowanie nieciągłego składnika sygnału sterującego ...........................................355.4. Algorytm sterowania ślizgowego z odsprzęganiem dla robota PUMA 560.................375.5. Symulacje komputerowe robota PUMA 560 ze sterowaniem ślizgowym
odsprzęganiem. ..............................................................................................................40
6. PODSUMOWANIE I WNIOSKI ...................................................................................................87
7. LITERATURA..........................................................................................................................90
ZAŁĄCZNIKI:
ZAŁĄCZNIK A - OPIS DZIAŁANIA PROGRAMU SLIDING_CONTROL
ZAŁĄCZNIK B - OPIS PŁYTY CD DOŁĄCZONEJ DO PRACY
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 3
Streszczenie:W pracy przedstawiono projektowanie algorytmu wykorzystującego metodę
sterowania ślizgowego do pozycjonowania robota Puma 560 o sześciu stopniach swobody.
Model matematyczny robota Puma 560 opracowano na podstawie danych zawartych w
literaturze i w internecie. Do obliczania zależności dynamicznych robota wykorzystano
równania Lagrange’a-Eulera. Opisana została metoda sterowania ślizgowego. Komputerowe
symulacje działania robota ze sterowaniem ślizgowym przeprowadzono używając programu
Matlab v.5.2. . W rezultacie stwierdzono, że projektowanie algorytmu sterowania ślizgowego
dla robota mającego więcej niż jeden stopień swobody jest złożone, ze względu na sprzężenia
między przegubami. W pracy zaproponowano modyfikację algorytmu sterowania ślizgowego,
w którym zastosowano odsprzęgnięcie przegubów. Symulacje układu z wprowadzonymi
modyfikacjami wykazały dobrą odporność na niedokładność wyznaczania parametrów robota.
Zadowalające rezultaty uzyskano przy zmianach momentów bezwładności członów w
granicach ±10%, oraz zmianach mas członów w granicach ±5%.
Abstract:
There is presented a design of a sliding mode position control algorithm for the PUMA
560 robot with 6 degrees of freedom. A mathematical model is based on informations found
in a literature and an internet. The Lagrange-Euler method is used for calculations of
dynamical properties of the robot. Sliding mode control algorithm is presented. Computer
simulations of the robot with the sliding mode control were performed with Matlab v.5.2
environment. It is shown, that the design of the control algorithm, for the robot with more
than one degree of freedom, is complicated, because there is coupling between joints. Then,
modification of the control algorithm is proposed, where all joints are decoupled. Simulations
of the robot with modified control algorithm show a good robustness to the robot model
uncertainty. Good results are obtained with ±10% changes in moments of inertia of robot
links, and ±5% changes in links masses.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 4
1. Wstęp
Robotem nazywa się urządzenie mające realizować pewne funkcje manipulacyjne i
lokomocyjne człowieka. Obecnie na świecie prowadzi się wiele prac badawczych związanych
z robotami.
Do największej grupy urządzeń tego typu należą roboty przemysłowe stosowane w
procesach produkcyjnych. Rola robotów przemysłowych jest szczególnie istotna w
sytuacjach, gdy środowisko pracy jest niebezpieczne dla człowieka, lub kiedy wykonywane
czynności są monotonne i obciążające fizycznie. Główne dziedziny zastosowań to przemysł
samochodowy, elektromaszynowy i hutnictwo. Roboty często są tam wykorzystywane w
systemach elastycznego wytwarzania współpracując z systemami CAD-CAM.
Roboty różnych typów stosowane są także w medycynie (chirurgia, obsługa
pacjentów, wspomaganie ruchu kończyn), badaniach laboratoryjnych, podwodnych i
kosmicznych.
Podczas projektowania niektórych typów robotów należy rozwiązać wiele
multidyscyplinarnych zagadnień takich jak analiza i synteza otwartych łańcuchów
kinematycznych, projektowanie układów napędowych, układów sensorycznych, oraz układów
sterowania. Schemat blokowy typowego robota został przedstawiony na rysunku 1.1. :
Generatortrajektorii
Układsterujący
Robot
Układpomiarowy
Środowisko
Zakłócenia
Rysunek 1.1. Schemat blokowy robota
Opracowanie układu sterującego jest jednym z zasadniczych zagadnień wymagających
rozwiązania przy projektowaniu robotów. Podczas pracy robota wymagane jest, aby zadana
sekwencja sygnałów sterujących wymusiła określony ruch członów robota tak, aby osiągnęły
one wymaganą orientację i położenie. Zwykle na ruch ramienia robota nałożone są dodatkowe
ograniczenia, takie jak: osiągnięcie zadanego położenia w jak najkrótszym czasie, poruszanie
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 5
się wszystkich członów po zadanej z góry trajektorii pozwalającej na ominięcie przeszkód, a
także aby końcówka ramienia działała z zadaną siłą.
Istnieje wiele metod sterowania robotami. Wybór odpowiedniej metody może zależeć
od rodzaju wykonywanego zadania. Przykładowo bardziej skomplikowany układ sterujący
jest potrzebny przy odtwarzaniu zadanej ciągłej trajektorii, niż przy ruchu „od punktu do
punktu”. Podobnie na wybór sposobu sterowania wpływa mechaniczna konfiguracja robota,
oraz zastosowane układy napędowe.
Najprostszą stosowaną metodą sterowania robota jest niezależne sterowanie każdym z
jego układów napędowych. Przyjmuje się wówczas upraszczające założenie, że nie zachodzą
interakcje pomiędzy kolejnymi parami kinematycznymi, a ich wzajemne oddziaływanie jest
traktowane jako zakłócenie. Wykorzystuje się wtedy układy sterowania o działaniu
proporcjonalno-całkująco-różniczkującym (PID).
Generatortrajektorii
Układsterowania zregulatorami
PID
Robot
Układpomiarowy
Środowisko
Zakłócenia
ΣΣΣΣ
+-
Rysunek 1.2. Schemat blokowy robota wykorzystującego układ sterowania z akcją
proporcjonalno-całkująco-różniczkującą.
W niektórych zastosowaniach powyższe uproszczenia mogą okazać się zbyt duże.
Przy sterowaniu typu PID zadana trajektoria odtwarzana jest z małą dokładnością,
szczególnie przy zmiennym obciążeniu i znacznych przyspieszeniach. Wynika to z faktu, że
robot o wielu stopniach swobody jest obiektem silnie nieliniowym, w którym występuje
zmienny w czasie rozkład mas członów w przestrzeni, oraz zmienne w czasie sprzężenie
pomiędzy przegubami.
Zmusza to do szukania alternatywnych metod sterowania pozwalających na dokładne i
szybkie odtwarzanie zadanej trajektorii. Do najczęściej stosowanych należą (Fu, Gonzales,
Lee, 1987):
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 6
- Sterowanie wykorzystujące metodę kompensacji momentów
- Sterowanie czasowo-optymalne
- Sterowanie ze zmienną strukturą
- Niezależne sterowanie nieliniowe ze sprzężeniem zwrotnym
- Sterowanie prędkością
- Sterowanie siłą
- Sterowanie adaptacyjne z modelem odniesienia
- Samostrojące sterowanie adaptacyjne
- Adaptacyjne sterowanie względem zakłóceń z tzw. kompensacją feedforward
2. Sformułowanie problemu
Jednym z podstawowych zagadnień związanych z działaniem robota o wielu stopniach
swobody, jest problem pozycjonowania końcówki robota. Przyjmując, że istnieją dwa punkty
w przestrzeni roboczej, które określają odpowiednio położenie początkowe i położenie zadane
ramienia, można wyróżnić dwa podstawowe zadania pozycjonowania:
- Osiąganie przez końcówkę robota zadanych położeń z punktu do punktu (ang.point-to-
point). W tym przypadku trajektoria, po której porusza się końcówka ramienia robota,
podzielona jest na pewną ilość punktów pozycjonowania. Punkty te osiągane są przez
końcówkę bez sterowania przebiegiem położeń pośrednich i prędkością.
- Poruszanie się robota po zadanej trajektorii pomiędzy położeniem początkowym i
położeniem zadanym, ze sterowaniem przebiegiem położeń pośrednich i prędkością. Jest
to tzw. sterowanie ciągłe (ang.continuous path).
Pozycjonowaniem końcówki robota zajmuje się wydzielona część układu sterowania.
Zazwyczaj nałożone są na nią dodatkowe ograniczenia takie jak: osiąganie położenia
zadanego z określoną dokładnością, możliwie krótki czas poruszania się pomiędzy
położeniami początkowym i zadanym, oraz niewrażliwość na zakłócenia i niedokładne
wyznaczenie parametrów fizycznych robota.
Celem pracy jest zaproponowanie algorytmu sterowania położeniem ramienia robota o
wielu stopniach swobody wykorzystującego metodę sterowania ślizgowego, która jest jedną z
metod sterowania spełniającą te warunki. Metoda ta wykorzystuje zmienne prawo sterowania
zależne od wartości zmiennych stanu opisujących obiekt sterowania. Jej zastosowanie
pozwala na uzyskanie lepszych wyników pozycjonowania, niż w układach z ustaloną
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 7
strukturą. Sterowanie ślizgowe może być stosowane przy sterowaniu wielowymiarowymi
obiektami nieliniowymi do których należy także robot o wielu stopniach swobody. Układ
sterowania ślizgowego dodatkowo wyróżnia się odpornością na niedokładności wyznaczania
modelu obiektu sterowania, oraz zakłócenia zewnętrzne. Ze względu na te własności został on
wybrany do zastosowania w układzie sterowania położeniem.
Podstawy sterowania ślizgowego znaleźć można w kilku publikacjach i książkach
(m.in. Edwards, Spurgeon, 1998, Hung, Gao, Hung, 1993, Slotine, Sastry 1983). Dodatkowo
przedstawiane są różne sposoby zastosowania tego algorytmu do sterowania robotami o kilku
stopniach swobody (m.in. Young, 1978, Gao, Hung, 1993, Slotine, Sastry, 1983).
Jako obiekt sterowania wybrano robota PUMA 560. Parametry geometryczne i
fizyczne robota PUMA 560 można znaleźć w opracowaniach naukowych i w internecie (m.in.
Corke, 1994), co pozwala na dokładne wyznaczenie jego modelu matematycznego. (m.in.
Craig, 1995, Fu, Gonzales, Lee, 1987, Morecki, Knapczyk, 1993).
Zakres niniejszej pracy obejmuje:
- opracowanie modelu matematycznego robota PUMA 560 w postaci dogodnej do symulacji
komputerowej,
- opracowanie algorytmu sterowania ślizgowego dla robota PUMA 560,
- modelowanie układu regulacji ślizgowej robota PUMA 560 na komputerze w środowisku
Matlab,
- przedstawienie wyników symulacji.
3. Model matematyczny robota PUMA 560
3.1. Wstęp
W rozdziale przedstawiono podstawy matematyczne i fizyczne służące do opisu
robotów o wielu stopniach swobody. Przedstawiono model robota w przestrzeni zmiennych
stanu. Opisano sposób symulacji komputerowej dynamiki robota, oraz podano rzeczywiste
parametry robota PUMA 560.
3.2. Opis kinematyki robota
W pracy rozważany jest robot o pojedynczym łańcuchu kinematycznym, składający
się z członów połączonych przegubami. Każdy z przegubów posiada jeden stopień swobody.
W dalszej części pracy rozważany będzie robot o n-stopniach swobody z przegubami typu
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 8
obrotowego, gdyż tylko przeguby tego typu występują w rozważanym w pracy robocie
PUMA 560. Przyjęto, że dla robota o n-przegubach ponumerowanych od 1 do n istnieje n+1
członów ponumerowanych od 0 do n. Człon o numerze 0 nazywany jest członem bazowym,
natomiast człon n jest członem z elementem wykonawczym. Przegub i łączy człony o
numerach i-1 i i. Z każdym z członów związany jest układ współrzędnych o tym samym
numerze.
Dla określenia układów współrzędnych kartezjańskich, które będą przyporządkowane
w odpowiedni sposób do członów i przegubów przyjęto notację Denavita-Hartenberga
(Hartenberg, Denavit, 1955), której podstawy zamieszczono na rysunku 3.1.:
przegub iprzegub i+1
αi
θi
ai
di
θi
θi+1
xi
zi
xi-1
zi-1
człon i-1 człon i
yi-1
yi
Rysunek 3.1. Standardowa notacja Denavita – Hartenberga (przykład dwóch obrotowych
przegubów i-1 oraz i), ai - długość członu, odległość od osi zi-1 do osi zi mierzona wzdłuż osi xi
, αi – kąt skręcenia, kąt między osiami zi-1 i zi mierzony wokół osi xi, di - odsunięcie członów,
odległość od środka układu i-1 do osi xi mierzona wzdłuż osi zi-1, θi - kąt konfiguracji, kąt
między osiami xi-1 i xi mierzony wokół osi zi-1 .
Po określeniu parametrów układów współrzędnych kartezjańskich można wyznaczyć
jednorodne macierze przekształceń określających orientację i położenie układu i względem
układu i-1 (Fu, Gonzales, Lee, 1987):
αθ ,,,,1
xaxdzzii TTTTT =− (3.1)
gdzie:
ii T1− - jednorodna macierz przekształcenia układu i-1 względem układu i.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 9
θ,zT - jednorodna macierz obrotu układu i względem układu i-1 wokół osi zi-1 o kąt θi.
dzT , - jednorodna macierz przesunięcia układu i względem układu i-1 o di wzdłuż osi zi-1.
axT , - jednorodna macierz przesunięcia układu i względem układu i-1 o ai wzdłuż osi xi.
α,xT - jednorodna macierz obrotu układu i względem układu i-1 wokół osi xi o kąt αi .
Macierze te wyrażone są następującymi zależnościami:
−
=
1000010000cossin00sincos
,ii
ii
zTθθθθ
θ (3.2)
=
1000100
00100001
,i
dz dT (3.3)
=
100001000010
001
,
i
ax
a
T (3.4)
−
=
10000cossin00sincos00001
,ii
iixT
αααα
α (3.5)
Wykorzystując jednorodne macierze przekształceń można obliczyć współrzędne
punktu w m-tym układzie, znając współrzędne tego samego punktu w k-tym układzie
(zakładając, że k>m), jest to tzw. proste zadanie kinematyki. Zależność tą wyznacza się
korzystając z wyrażenia (Fu, Gonzales, Lee, 1987):
Akkm
Am PTP = k>m (3.6)
gdzie:
kk
mm
mm
km TTTT 1
21
1−
++
+= ! (3.7)
=
1Ak
Ak
Ak
Ak zyx
P -jednorodny wektor współrzędnych punktu A w k-tym układzie współrzędnych
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 10
=
1Am
Am
Am
Am zyx
P -jednorodny wektor współrzędnych punktu A w m-tym układzie współrzędnych
3.3. Opis dynamiki robota
Zależności opisujące dynamikę robota o n-stopniach swobody można wyznaczyć
wykorzystując uogólnione równanie Lagrange’a - Eulera o postaci (Fu,Gonzales,Lee, 1987):
niqL
qL
dtd
iii ,,2,1 !
"=
∂∂−
∂∂=τ (3.8)
gdzie:
L - funkcja Lagrange’a (lagrangian) – funkcja potencjału kinetycznego.
PKL −= (3.9)
K - całkowita energia kinetyczna układu.
P - całkowita energia potencjalna układu.
qi - uogólnione współrzędne układu w przegubie i.
iq" - pierwsze pochodne uogólnionych współrzędnych układu w przegubie i.
iτ - uogólnione wymuszenia (siły lub momenty) działające w przegubie i.W robocie o przegubach obrotowych, jako uogólnione współrzędne przyjmuje się
położenia kątowe w przegubach, natomiast jako uogólnione wymuszenia przyjmuje się
momenty napędowe w przegubach.
Korzystając z równań Lagrange’a-Eulera, zależności opisujące dynamikę robota z
wszystkimi przegubami obrotowymi, można przedstawić w następujący sposób (Fu,
Gonzales, Lee, 1987):
( ) ( ) ( )θθθθθτ GVM ++= """ , (3.10)
gdzie:nR∈τ - wektor momentów napędowych w przegubach.
n - ilość stopni swobody robota.
( ) nnRM ×∈θ - macierz bezwładności robota.
( ) nRV ∈θθ ", - wektor wyrazów zawierających składowe momentu zależne od sił
odśrodkowych i Coriolisa.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 11
( ) nRG ∈θ - wektor wyrazów zawierających składowe momentu zależne od sił
grawitacji.nR∈θ - wektor położeń kątowych w poszczególnych przegubach.nR∈θ" - wektor prędkości kątowych w poszczególnych przegubach.nR∈θ"" - wektor przyspieszeń kątowych w poszczególnych przegubach.
Wzory na obliczanie macierzy w równaniu (3.10) są następujące:
a. Macierz ( ) nnRM ×∈θ
Elementy macierzy bezwładności wyznacza się korzystając z zależności:
( ) nkiUJUTrmn
kij
Tjijjkik ,,2,1,
),max(!== ∑
=
(3.11)
gdzie:
>
≤=
∂∂
=−
−∆
ijdlaijdlaTQTTU i
jj
j
iij 0
11
00
θ(3.12)
−
=
0000000000010010
Q - dla przegubu obrotowego.
−+
+−
++−
== ∫
iiiiiii
iiiZZiYYiXX
iYZiXZ
iiiYZiZZiYYiXX
iXY
iiiXZiXYiZZiYYiXX
Tiii
mzmymxm
zmIII
II
ymIIII
I
xmIIIII
dmrrJ
2
2
2
(3.13)
iJ - jednorodna macierz inercji członu i .
IXXi , IYYi , IZZi – masowe momenty bezwładności członu i .
IXYi , IXZ , IYZi – masowe momenty dewiacji członu i .
[ ]Tiiii zyxr 1= - jednorodny wektor współrzędnych środka masy członu i wyrażony w
i-tym układzie współrzędnych .
( ) ∑=
=n
iiiaATr
1
- ślad macierzy kwadratowej nnRA ×∈ .
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 12
b. Wektor ( ) nRV ∈θθ ",
Wektor ( )θθ ",V ma postać:
( ) [ ] TnVVVV ,,,, 21 !" =θθ (3.14)
Elementy wektora ( )θθ ",V można wyznaczyć korzystając z następujących zależności:
θθ ""i
Ti HV = (3.15)
niRH nni ,,2,1 !=∈ ×
( )∑=
==n
lkij
Tjijjklikl nlkiUJUTrh
),,max(,,2,1,, ! (3.16)
gdzie:
<>
≤≤
≤≤
=∂∂
= −−
−−
−−
−−
∆
kiijdlaijkdlaTQTQT
ikjdlaTQTQTU
U ij
jjk
kk
ik
kkj
jj
k
ijijk
lub0
11
11
0
11
11
0
0
θ(3.17)
c. Wektor ( ) nRG ∈θ
Elementy wektora ( )θG można wyznaczyć korzystając z zależności:
( ) nirUgmgn
ijj
jjiji ,,2,1 !=−=∑
=
(3.18)
gdzie:T
zyxT gggg ]0[= - jednorodny wektor grawitacji wyrażony w bazowym układzie
współrzędnych .
Tgg = 9.8062 [m/s2] na powierzchni ziemi.
mi – masa członu i.
Należy dodać, że istnieje szereg innych metod wyznaczania równań dynamiki robota,
np. metoda Newtona-Eulera, uogólniona metoda d’Alamberta (Fu, Gonzales, Lee, 1987),
metoda Christoffela-Lagrange’a, metoda Walkera-Orina (Hejmo,1997). Ich powstanie
wynikło głównie z potrzeby stworzenia szybkich algorytmów do obliczeń numerycznych.
Dokładniejszą analizę i porównanie algorytmów można znaleźć w (Fu, Gonzales, Lee, 1987,
Hejmo, 1997).
W dalszej części pracy wykorzystywany jest algorytm Lagrange’a-Eulera.
Wyznaczona tym sposobem postać równań dynamiki (3.10) pozwala na łatwą analizę
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 13
właściwości robota, zaprojektowania uniwersalnego algorytmu do jego symulacji, oraz
syntezę układu sterowania.
3.4. Model dynamiki robota w przestrzeni zmiennych stanu
Równanie dynamiki robota w przestrzeni zmiennych stanu można wyznaczyć w
oparciu o macierzowe równanie dynamiki (3.10). Definiując wektor stanu dla robota w
postaci (Fu,Gonzales,Lee,1987):
( )( )
=
=
tt
xx
xθθ"
2
1 (3.19)
oraz przyjmując, że wejściami do układu są sygnały sterująceτ , natomiast wyjściami
położenia kątowe θ , równanie dynamiki (3.10) można wyrazić w przestrzeni zmiennych
stanu jako:
[ ] [ ][ ]xIy
xExFx
x
0
0
12
2
=
⋅
+
= τ"
(3.20)
gdzie:
( )[ ] ( ) ( ) ( )[ ][ ] ( ) 111
11
12−
−
=
+−=
xMxE
xGxVxMtxF
nnRI ×∈ - macierz jednostkowa (3.21)
3.5. Symulacja dynamiki robota
Aby przeprowadzić symulacje komputerowe należy zaproponować odpowiedni
algorytm numeryczny obliczania dynamiki robota. Jedną z możliwości jest wykorzystanie
następujących podstawień na obliczanie pochodnych położeń kątowych (Craig, 1995):
Prędkości kątowe - Dyskretyzacja metodą prostokątów do tyłu
( ) ( ) ( )p
p
TTtt
t−−
≈θθ
θ" (3.22)
Przyspieszenia kątowe - Dyskretyzacja metodą prostokątów do przodu (podstawienie
Eulera)
( ) ( ) ( )p
p
TtTt
tθθ
θ""
"" −+≈ (3.23)
gdzie:
Tp - okres próbkowania.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 14
Algorytm symulujący zachowanie robota, pozwalający na obliczenia położeń, prędkości i
przyspieszeń w przegubach może być następujący:
Algorytm 3.1.
1. Na początku określa się ilość kroków symulacji ks i okres próbkowania Tp.
2. Następnie określa się warunki początkowe ruchu manipulatora w kroku k=0 określającym
początkową chwilę czasu t0=kTp=0 . Warunki początkowe to położenia i prędkości
kątowe w przegubach: ( ) ( )00 , tt θθ " .
3. Należy w chwili tk=kTp obliczyć składowe równania dynamiki (3.10):
( ) ( ) ( )θθθθ GVM ,,, " korzystając z równań (3.11)-(3.18).
4. W chwili tk wyznaczyć wartości momentów sterujących τ(tk).
5. Obliczyć przyspieszenia kątowe w chwili tk korzystając z przekształconego równania
(3.10) do postaci:
( ) ( )( ) ( ) ( )( ) ( )( ) ( )[ ]kkkkkk ttGttVtMt τθθθθθ −+−= − """ ,1 (3.24)
6. Na podstawie znajomości położeń, prędkości i przyspieszeń w chwili tk, stosując
postawienia (3.22) i (3.23) obliczyć położenia i prędkości w kolejnej chwili
tk+1=t+Tp=(k+1)Tp, korzystając z zależności:
( ) ( ) ( )kpkk tTtt θθθ """" +=+1 (3.25)
( ) ( ) ( )11 ++ += kpkk tTtt θθθ " (3.26)
7. W przypadku, gdy k+1=ks należy zakończyć symulację. Jeśli k+1<ks należy dokonać
podstawienia k=k+1 i przejść do punktu 3 algorytmu 3.1 .
Zaczynając od t=0, k=0 oblicza się iteracyjnie położenia, prędkości i przyspieszenia w
kolejnych krokach symulacji korzystając z algorytmu 3.1 . Podczas wykonywania symulacji
istotny jest odpowiedni dobór okresu próbkowania Tp. Powinien być on dostatecznie mały,
tak aby przybliżone wartości położeń, prędkości i przyspieszeń obliczane były z rozsądnym
przybliżeniem. Należy też brać pod uwagę fakt, że przyjęcie zbyt małej wartości okresu
próbkowania zwiększa znacznie czas wykonywania obliczeń. Algorytm 3.1. wykorzystano w
symulacjach komputerowych zachowania robota PUMA 560, zaprojektowanych w
środowisku Matlab v.5.2.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 15
3.6. Opis robota PUMA 560
Roboty typu PUMA są popularnymi robotami wykorzystywanymi w laboratoriach i
przemyśle. Zostały zaprojektowane w połowie lat 70-tych na MIT przez Vica Schienmana.
Projekt był finansowany przez General Motors. Później, roboty PUMA były przez wiele lat
produkowane przez firmę Unimation ( http://www.unimation.com ).
Obecnie, jest to jeden z najlepiej opisanych robotów przemysłowych. Określono
wszystkie rzeczywiste wartości potrzebne do jego matematycznego opisu. W celu
przedstawienie spójnego modelu tego robota, skorzystano z informacji literaturowych i
materiałów dostępnych w internecie.
3.6.1. Przegląd publikacji dotyczących robota PUMA 560.
Istnieje wiele publikacji dotyczących robota PUMA 560. W książkach dotyczących
projektowania robotów przemysłowych jest on często podawany jako przykład modelowy. W
dostępnych w języku polskim podręcznikach informacje na jego temat można znaleźć w
(Morecki, Knapczyk, 1993), (Craig, 1995). Dobrą pracą w języku angielskim jest (Fu,
Gonzales, Lee, 1987). Dodatkowo wiele informacji można uzyskać korzystając z internetu.
Oprócz oprogramowania przydatnego do projektowania i symulacji robotów istnieje wiele
stron WWW poświęconych zagadnieniom związanym z robotem PUMA 560. Można tam
znaleźć szczegółowe informacje na temat parametrów fizycznych, oraz sposoby
rozwiązywania zagadnień dynamiki i kinematyki robota PUMA 560. Godne polecenia są
m.in.:
- Robotics Frequently Asked Questions List
( http://www.frc.ri.cmu.edu/robotics-faq/ )
- Unimation PUMA 560 Robot Arm
( http://robocop.anu.edu.au/docs/Puma560/ )
- Peter I.Corke homepage
( http://www.cat.csiro.au/cmst/staff/pic.htm )
- PUMA 560 Simulator by Damir P. Vamoser
( http://www.bridgeport.edu/~risc/damir/title.html )
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 16
3.6.2. Parametry fizyczne robota PUMA 560
Robot PUMA 560 jest robotem o sześciu stopniach swobody i przegubach w postaci
par obrotowych (rysunek 3.2).
Rysunek 3.2. Robot PUMA 560 firmy UNIMATION.
Parametry geometryczne wyznaczone dla poszczególnych członów podano w tabeli
3.1 . Przypisanie lokalnych układów współrzędnych do członów i przegubów przedstawiono
na rysunku 3.3 .
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 17
z1,y0
z3
d4
a3
d3 a2
x0,x1
z0
y1
z2x2 y2
y3
x3
z5,z6
z4,y5,y6x4,x5,x6
α 5
α 4
θ1
θ3
θ4
θ5
θ6
α 3
θ2
α 1
y4
Rysunek 3.3. Przyporządkowanie układów współrzędnych do członów robota PUMA 560.
Tabela.3.1. Parametry Denavita - Hartenberga opisujące geometrię robota PUMA 560
(Corke, 1999, Fu, Gonzales, Lee, 1987).
Numer
członu
i
αi ai [m] θi di [m] Ograniczenia ruchu
1 90° 0 0° 0 -160° do 160°
2 0° 0.4318 0° 0 -225° do 45°
3 -90° 0.0203 0° 0.15005 -45° do 225°
4 90° 0 0° 0.4318 -110° do 170°
5 -90° 0 0° 0 -100° do 100°
6 0° 0 0° 0 -266° do 266°
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 18
Rzeczywiste parametry fizyczne robota PUMA 560 zostały przedstawione w tabelach
3.2 i 3.3 (Corke, 1999). Pozwalają one na wykonanie wszystkich niezbędnych obliczeń przy
określaniu dynamiki robota PUMA 560 i symulacji jego działania.
Tabela.3.2 Masy członów, współrzędne środków mas członów, masowe momenty
bezwładności członów względem ich środków mas (Corke, 1999).
Numer
członu
Masa
członu [kg]
Współrzędne środków mas
członów [m]
Masowe momenty bezwładności członów
względem ich środków mas [kg⋅m2]
i M rx ry rz Ixx Iyy Izz
1 0 0 0 0 0 0.35 0
2 17.4 -0.3638 0.006 0.2275 0.13 0.524 0.539
3 4.8 -0.0203 -0.0141 0.070 0.066 0.086 0.0125
4 0.82 0 0.019 0 0.0018 0.0013 0.0018
5 0.34 0 0 0 0.0003 0.0004 0.0003
6 0.09 0 0 0.032 0.00015 0.00015 0.00004
Tabela.3.3 Masowe momenty dewiacji członów względem ich środków mas (Corke, 1999).
Numer
członu
Masowe momenty dewiacji
członów względem ich
środków mas [kg⋅m2]
i Ixy Iyz Ixz
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
5 0 0 0
6 0 0 0
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 19
4. Projektowanie algorytmu sterowania ślizgowego dla robota PUMA 560
4.1. Wstęp
Sterowanie ślizgowe jest rodzajem sterowania wykorzystującym teorię układów o
zmiennej strukturze (ang. Variable Structure Systems - VSS). Pierwsze prace w tych
dziedzinach rozpoczęły się w latach 50-tych w Związku Radzieckim i były rozwijane w latach
60-tych i 70-tych (Emelyanow,1967, Itkis, 1976, Utkin,1977). Na początku lat 80-tych
metodę sterowania ślizgowego zaczęto coraz częściej stosować w rzeczywistych układach,
gdyż wyróżnia się ona odpornością (ang. robustness) na zakłócenia działające na układ i
pozwala na zadowalające sterowanie nawet przy niedokładnie wyznaczonych parametrach
fizycznych obiektu sterowania.
Metody sterowania ślizgowego i układów ze zmienną strukturą znalazły zastosowanie
m.in. w:
- Układach sterowania automatycznego w samolotach (Singh,1989)
- Sterowaniu serwomechanizmów (Hikita, 1988)
- Projektowaniu obserwatorów (Slotine, de Wit, 1991)
- Sterowaniu ruchami robotów (Slotine, Sastry, 1983)
- Sterowaniu robotami mobilnymi (Utkin, 1995)
W rozdziale przedstawiono syntezę układu sterowania wykorzystującego metodę
sterowania ślizgowego dla robota PUMA 560. Zaprojektowany algorytm sterowania został
zastosowany w komputerowych symulacjach dynamiki robota PUMA 560, do wyznaczania
momentów napędowych w przegubach robota..
4.2. Model robota PUMA 560
Model robota PUMA 560 wykorzystywany do wyznaczania sygnałów sterujących
można opisać równaniem w przestrzeni zmiennych stanu zgodnie z zależnością (3.20):
[ ] [ ][ ]xIy
xExFx
x
0
ˆ0
ˆ12
2
=
+
= τ"
(4.1)
gdzie:
[ ] ( )( ) ( ) ( )[ ][ ] ( )( ) 111
1
1
12
ˆˆ
ˆˆˆˆ−
−
=
+−=
xMxE
xGxVxMxF
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 20
( )( )
12
2
1 Rtt
xx
x ∈
=
=
θθ" - wektor zmiennych stanu.
6R∈τ - wektor sygnałów sterujących (momentów napędowych w przegubach).6Ry ∈ - wektor sygnałów wyjściowych z układu.
Przyjęte oznaczenia w powyższych zależnościach tj. ( ) ( ) ( ) [ ] [ ]1211ˆ,ˆ,ˆ,ˆ,ˆ xExFxGxVxM
są odpowiednikami macierzy i wektorów w równaniach Lagrange’a-Eulera (3.10) i modelu
dynamiki robota w przestrzeni zmiennych stanu (3.20). Obliczane są na podstawie
parametrów fizycznych, które są przybliżonymi parametrami rzeczywistego robota.
Charakterystycznymi właściwościami robota jako obiektu sterowania są nieliniowości
wynikające z istnienia sił Coriolisa i sił odśrodkowych, zmienność parametrów układu w
czasie, oraz sprzężenia pomiędzy wszystkimi stopniami swobody. Zaprojektowany algorytm
sterowania powinien pozwalać na sterowanie położeniem robota, nawet w przypadku, gdy nie
są dokładnie znane jego fizyczne parametry.
4.3. Określenie zadania sterowania dla robota PUMA 560
Wprowadzając wektor błędu położenia:ke θθθ −= 6Re ∈θ (4.2)
oraz wektor błędu prędkości:
ke θθθ""
" −= 6Re ∈θ" (4.3)
gdzie:
kk θθ ", - zadane położenia i prędkości kątowe w przegubach
można zmienić zadanie osiągania (przechodzenie układu (4.1) pomiędzy dwoma stanami,
początkowym i zadanym) w zadanie sterowania.
Przyjmując te wektory jako nowe zmienne stanu, można napisać następujący układ
równań opisujący dynamikę robota PUMA 560:
( ) ( ) ( )
−++++=
=
kkkk teEeeFe
ee
θτθθθ θθθθ
θθ
""""
"
""
"
ˆ,ˆ2
(4.4)
gdzie: 6Rk ∈θ"" - wektor zadanych przyspieszeń kątowych w przegubach.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 21
4.4. Wstęp do sterowania ślizgowego
Niech s(x) będzie funkcją, nazywaną funkcją przełączającą, opisaną zależnością:
( ) ( )tHxxs = (4.5)gdzie:
nmRH ×∈ i jest pełnego rzędu.
n - ilość zmiennych stanu układu.
m - ilość sygnałów sterujących.
Niech zbiór punktów w przestrzeni zmiennych stanu Ψ będzie opisany jako:
( ){ }0: =∈=Ψ xsRx n (4.6)
Zbiór Ψ nazywany jest powierzchnią ślizgową. Można go też nazwać
hiperpowierzchnią, lub quasipowierzchnią ślizgową, gdyż wymiar Ψ zależy od ilości
zmiennych stanu i ilości wejść sterujących zgodnie z zależnością:
mnn −=Ψ (4.7)
Przykładowo dla dwóch zmiennych stanu i jednego wejścia sterującego zbiór Ψ jest
krzywą o wymiarze 1, dla układu o trzech zmiennych stanu i jednym wejściu sterującym jest
płaszczyzną, dla układu o sześciu zmiennych stanu i dwóch wejściach sterujących ma wymiar
nΨ=4 .
Przyjmując, za (Hung, Gao, 1993):
( )( )
( )
=
xs
xsxs
m
#
1
(4.8)
=
mH
HH #
1
(4.9)
gdzie: [ ] mihhhH iniii !! 1,21 ==
równanie (4.5) można przedstawić w postaci i równań:
( ) migdziexHxs ii !1== (4.10)
Zbiór punktów ( ){ }0: =∈=Ψ xsRx in
i opisuje powierzchnię Ψi zwaną i-tą składową
powierzchnią ślizgową.
Metoda sterowania ślizgowego polega na odpowiednim generowaniu sygnału
sterującego zależnego od położenia układu w przestrzeni zmiennych stanu względem
powierzchni ślizgowej Ψ. Układ ze sterowaniem ślizgowym jest tak zaprojektowany, aby
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 22
jego trajektoria kierowała się zawsze w stronę powierzchni ślizgowej Ψ. W momencie gdy
stan układu ją osiągnie, zaczyna "ślizgać" się wzdłuż tej powierzchni, tzn. cały czas
przechodzi z jednej jej strony na drugą. Układ znajduje się wtedy w tzw. trybie ślizgowym.
Zaletą tego trybu pracy układu jest odporność na zakłócenia i niedokładności w wyznaczaniu
modelu obiektu sterowania.
Do momentu osiągnięcia powierzchni Ψ układ znajduje się w tzw. trybie osiągania.
W tym trybie układ nie posiada właściwości charakterystycznych dla układu w trybie
ślizgowym.
Dla układu o wielu wejściach, stan układu ślizga się po powierzchni ślizgowej dopiero
wtedy, gdy ślizga się po wszystkich składowych powierzchniach ślizgowych Ψi ( i=1...m ). W
sterowaniu ślizgowym wykorzystywany jest sygnał sterujący o zmiennej strukturze, który
kieruje trajektorię układu zawsze w stronę każdej z tych powierzchni. Pozwala on na
realizację obydwu trybów pracy układu. Sterowanie jest przyjmowane w postaci:
( ) ( )( ) ( )
<
>=
−
+
00
xsgdyxuxsgdyxu
uii
iii i=1...m (4.11)
Projektowanie układu sterowania ślizgowego powinno składać się z następujących etapów:
ETAP 1: Należy odpowiednio zaprojektować płaszczyznę ślizgową Ψ. Jej postać określa się
poprzez dobór wartości własnych układu w trybie ślizgu.
ETAP 2: Należy zaprojektować takie prawo sterowania, które pozwoli na zrealizowanie
przez układ trybu osiągania i trybu ślizgowego.
Trajektorie przykładowego układu (oznaczone kolorem zielonym), o jednym wejściu
sterującym i dwóch zmiennych stanu 21 , xx ze sterowaniem ślizgowym przedstawiono na
rysunku 4.1. Przyjęto że parametry obiektu są zgodne z parametrami modelu, na podstawie
którego wyznacza się sygnał sterujący. Przykładowa funkcja przełączająca (oznaczona
kolorem niebieskim) ma postać:
( ) 12 hxxxs += h>0 (4.12)
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 23
2x
x1
021 =+= xhxs
Tryb osiągania
Tryb ślizgowy
Rysunek 4.1. Przykładowe trajektorie w przestrzeni zmiennych stanu układu ze sterowaniem
ślizgowym, z wyróżnieniem trybu osiągania i trybu ślizgowego.
4.5. Projektowanie funkcji przełączającej dla robota PUMA 560
W przypadku rozważanego robota, równanie funkcji przełączającej proponowane jest
w postaci (Young, 1978, Slotine, Sastry, 1983, Gao, Hung, 1993):
( ) [ ] θθθ
θ"
"
eeee
IxHxs +Λ=
Λ== ~~ (4.13)
gdzie:
=
θ
θ
"ee
x~
[ ]61 hhdiag !=Λ
Powierzchnia ślizgowa wyznaczona dla robota Ψrob opisywana jest przez zbiór
punktów w przestrzeni zmiennych stanu robota takich, że:
( ){ }0~:12 =∈=Ψ xsRxrob (4.14)
Aby stan układu zdążał zawsze w kierunku powierzchni Ψrob , czyli znajdował się w
trybie osiągania muszą zostać spełnione odpowiednie warunki osiągania powierzchni
ślizgowej. Mają one postać (Edwards, Spurgeon, 1998):
( ) ( ) 0~~ <xsxs ii" i=1...6 (4.15)
gdzie: ( ) iiii eehxs θθ "+=~
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 24
Warunek (4.15) mówi, że każda składowa powierzchnia ślizgowa iΨ , taka że:
( ){ }0~:~ 12 =∈=Ψ xsRx ii (4.16)
musi być przynajmniej lokalnie przyciągająca i w pewnym obszarze wokół tej powierzchni
trajektoria układu ze sterowaniem ślizgowym musi kierować się zawsze w jej stronę.
Powierzchnia ślizgowa Ψrob może być opisana jako zbiór punktów pochodzący z
wzajemnego przecinania się wszystkich powierzchni Ψi co można wyrazić zależnością:
( ){ } 621 Ψ∩∩Ψ∩Ψ==∈=Ψ !0:12 xsRxrob (4.17)
Jeśli układ porusza się w przestrzeni zmiennych stanu wzdłuż wszystkich
składowych powierzchni ślizgowych Ψi, to porusza się też wzdłuż powierzchni ślizgowej
Ψrob i znajduje się w trybie ślizgowym.
4.6. Sterowanie równoważne
Aby układ realizował tryb ślizgowy, należy określić odpowiednie sterowanie. Jednym
z proponowanych rozwiązań jest tzw.„sterowanie równoważne” (Edwards, Spurgeon, 1998).
Sterowanie równoważne wykorzystywane jest przy analizie układu ze sterowaniem
ślizgowym. Sterowanie to jest sterowaniem ciągłym odpowiadającym sterowaniu o zmiennej
strukturze, które wymusza ruch stanu układu po powierzchni ślizgowej Ψrob, w momencie
gdy stan układu ją osiągnie.
Podczas poniższych wyprowadzeń przyjęto, że parametry modelu obiektu sterowania,
na podstawie którego oblicza się sygnał sterujący, są takie same jak parametry sterowanego
obiektu.
Gdy stan układu znajduje się na powierzchni Ψrob i zachodzi idealny ruch ślizgowy,
spełnione są następujące zależności (Edwards, Spurgeon, 1998):
( ) 0~~ == xHxs (4.18)
( ) ( ) 0~~ == txHxs "" stt ≥ (4.19)
gdzie ts to czas, po którym układ znajduje się w trybie ślizgu.
W przypadku modelu robota opisanego równaniem (4.1) można wyznaczyć
sterowanie równoważne korzystając z równania (4.13) i oznaczeń (4.2) i (4.3). Przyjmując że
w trybie ślizgu spełniona jest zależność (4.19), można napisać że:
( )( ) [ ] [ ] 0ˆˆ
~~
12 =−++−Λ=
=+Λ==
kk xExF
eexHxs
θτθθθθ
""""
"""" " (4.20)
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 25
Z powyższego równania uzyskuje się sterowanie równoważne w postaci:
[ ]( ) [ ] ( )( )kk
eq
eq
eq
eq xxFxE θθ
τ
ττ
τ """#
−−Λ+−=
=−
22
1
1
6
2
1
ˆˆ (4.21)
Jeśli stan opisujący dynamikę robota znajdzie się na powierzchni ślizgowej Ψrob , to
stan układu pod wpływem sterowania równoważnego (4.21) powinien „ślizgać” się wzdłuż tej
powierzchni. Równania opisujące dynamikę robota w przestrzeni zmiennych stanu, w którym
zastosowano sterowanie równoważne są następujące:
[ ] [ ]
[ ] [ ] [ ]( ) [ ] ( )( )
+−Λ−′−+
=
=
+
=
−
kk
eq
xxFxExExFx
xExFx
x
θθ
τ
"""
"
22
1
112
2
12
2
ˆˆ0
0
(4.22)
W przypadku, gdy parametry modelu robota odpowiadają parametrom rzeczywistego
robota można napisać, że:
[ ] [ ] [ ] [ ]1122ˆˆ xExExFxF == (4.23)
i równanie (4.22) upraszcza się do postaci:
( )
+−Λ−
=kkx
xx
θθ """"
2
2 (4.24)
Zazwyczaj w położeniu zadanym przyjmuje się, że: 0,0 == kk θθ """ , i układ opisany jest
zależnością:
[ ]xIy
xI
x
000
=
Λ−
="(4.25)
Równanie (4.25) układu w trybie ślizgu, w którym działa sterowanie równoważne
opisuje 6 odsprzęgniętych układów, które są związane z poszczególnymi przegubami robota.
Każdy z układów opisany jest zależnością:
[ ] ii
iii
xyxAx
01=="
(4.26)
gdzie:
=
i
ii x
xx
2
1 ,
−
=i
i hA
010
Równanie charakterystyczne każdego z układów w trybie ślizgu ma postać:
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 26
[ ] ( )ii hzzAIz +=−det (4.27)
W trybie ślizgu równanie charakterystyczne i-tego układu posiada dwa pierwiastki:
ii
i
hzz
−==
2
1 0(4.28)
Wybierając wartości hi>0 układy opisane zależnością (4.26) są stabilne.
Wygląd funkcji przełączającej dla i-tego przegubu pokazano na rysunku 4.2.
a bieθ"
ieθhi ieθ + ieθ" =0
iθ
iθ"
( ) ( ) 0=−+− kiikiiih θθθθ ""
Rysunek 4.2. Wygląd funkcji ( ) 0~ =xsi , w i-tym układzie współrzędnych stanu, jako funkcji
(a) błędów (4.2) i (4.3) i (b) współrzędnych stanu (położenie kątowe, prędkość kątowa), przy
założeniu, że 0,0 >> kiki θθ" .
4.7. Algorytm sterowania ślizgowego robota PUMA 560
Przyjmując przedstawione założenia można wyznaczyć sygnały sterujące w każdym z
przegubów robota. Powinny one spowodować osiągnięcie przez stan opisujący układ
powierzchni ślizgowej Ψrob (tryb osiągania), a następnie ruch ślizgowy po trajektorii
znajdującej się na tej powierzchni do zadanego punktu { }kkk θθθ """ ,, (tryb ślizgowy). Algorytm
wyznaczania sygnałów sterujących w danej chwili t jest następujący:
Algorytm 4.1.
1. Odczytać z obiektu wartości położeń kątowych i prędkości kątowych ( ) ( )tt θθ ", we
wszystkich przegubach.
2. Podać zadane wartości położeń, prędkości i przyspieszeń kątowych w każdym z
przegubów: ( ) ( ) ( )kkk ttt θθθ """ ,, .
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 27
3. Obliczyć wartości funkcji przełączającej ( )xs ~ korzystając z zależności (4.20).
4. Obliczyć macierze i wektory w równaniach Lagrange’a-Eulera na podstawie oszacowanych
parametrów robota: ( ) ( ) ( ) [ ] [ ]1211ˆ,ˆ,ˆ,ˆ,ˆ xExFxGxVxM .
5. Znając wartości funkcji przełączającej ( )xs ~ (określającej położenie układu względem
powierzchni Ψrob ) określić wartości elementów wektora sygnału sterującego τ . W tym
celu wykorzystuje się różne struktury sygnałów sterujących. W pracy zbadane zostaną
dwie struktury, pierwszą jest sterowanie przełączające (Fu, Gonzales, Lee,1987, Hung,
Gao, 1993), którego opis i symulacje zawarte będą w rozdziale 4.8.1, drugą jest
uzupełnione sterowanie równoważne (Hung, Gao, 1993, Edwards, Spurgeon, 1998)
którego opis i symulacje zawarte będą w rozdziale 4.8.2.
6. Zastosować w układzie sygnał sterujący τ wyznaczony w kroku 5.
Uproszczony schemat blokowy robota z generatorem trajektorii i układem sterowania
wykorzystującym algorytm sterowania ślizgowego pokazano na rysunku 4.7.
Robot PUMA560
Układsterowania zalgorytmemślizgowym
Generatortrajektorii
θθ"
θk
kθ" - +
- +
eθθ"e
kθ"" ττττ
Rysunek 4.3. Schemat robota PUMA 560 z wydzielonym układem sterowania
wykorzystującym algorytm sterowania ślizgowego.
4.8. Symulacje komputerowe robota PUMA 560 ze sterowaniem ślizgowym
Zaprojektowany algorytm sterowania ślizgowego (algorytm 4.1.) zastosowano w
komputerowych symulacjach działania robota PUMA 560. Model robota wykorzystywanego
jako obiekt sterowania opisano równaniem (3.10), w którym wykorzystano parametry
fizyczne i geometryczne zebrane w tabelach 3.1. ÷ 3.3. i symulowano go na komputerze
korzystając z algorytmu 3.1. W symulacjach sprawdzających działanie układu, na wejściu
układu podawano zadane położenia w przegubach, przy przyjętych położeniach
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 28
początkowych. Zakładając że: 0,0 == kk θθ """ , w każdym przegubie badano czy układ osiąga
zadane położenie i czy jest to położenie stabilne.
Wstępne symulacje wykonywano dla robota o dwóch stopniach swobody, którego
parametry pokrywały się z parametrami dwóch pierwszych stopni swobody robota PUMA
560.
4.8.1. Symulacje układu ze sterowaniem przełączającym
Na początku sprawdzano prostą strukturę sygnału sterującego proponowaną w (Fu,
Gonzales, Lee,1987, Hung, Gao, 1993) i opisaną w każdym przegubie zależnością:
Każdy element wektora sygnałów sterujących τ ma postać przełącznika:
( )( )( )( )
<
=>
=−
+
0~0~00~
xsgdyKxsgdyxsgdyK
x
ii
i
ii
iτ i=1...6 (4.29)
Wartości wzmocnienia Ki mogą być zarówno stałe, jak i zależeć od stanu układu. Ich
dobór ma pozwolić na spełnienie warunków osiągania (4.15). W przypadku gdy −+ = ii KK
sygnał sterujący w i-tym przegubie przyjmuje postać:
( )( )xssignK iii~=τ i=1...6 (4.30)
Podczas wykonywania symulacji okazało się przyjęcie tej struktury nie dało
satysfakcjonujących rezultatów, nawet w przypadku gdy oszacowane parametry przyjęte w
modelu były zgodne z parametrami obiektu. Układ był niestabilny dla wartości Ki
przyjmowanych z zakresu Ki=±0.1...100, oraz dla różnych wartości nachylenia funkcji
przełączających hi=0.01...100 .
Wynik przykładowej symulacji przedstawiono na wykresach, na rysunku 4.4.
Wykresy obrazują położenia i sygnały sterujące w drugim przegubie podczas wykonywania
symulacji. Czas wykonywania symulacji wynosił 0.5 [s], natomiast okres próbkowania 0.01
[s]. Symulowany był robot o dwóch stopniach swobody, w którym przyjęto parametry obiektu
sterowania i modelu na podstawie którego oblicza się sterowanie zgodne z dwoma
pierwszymi stopniami swobody robota PUMA 560 (wg tabel 3.1 -3.3). Dane dotyczące
symulacji są następujące:
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 29
Tabela 4.1. Dane dotyczące symulacji robota o dwóch stopniach swobody, ze sterowaniem
ślizgowym.
Przegub 1 Przegub 2
Położenie początkowe [°] 0 0
Położenie zadane [°] 10 -10
Nachylenie funkcji przełączającej hi [1/s] 1 1
Wzmocnienie sygnału przełączającego Ki [Nm] 10 10
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-300
-200
-100
0
Poł
ożen
ie [°
]
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-10
-5
0
5
10
Czas [s]
Syg
nał s
teru
jący
[Nm
]
Rysunek 4.4. Wykresy położenia i sygnału sterującego w przegubie 2, podczas wykonywania
symulacji (wg tabeli 4.1), z wykorzystaniem sterowania przełączającego.
Na rysunku 4.4 widać, że robot nie osiąga położenia zadanego.
4.8.2. Symulacje układu z uzupełnionym sterowaniem równoważnym
Następnie sprawdzono bardziej skomplikowaną strukturę sygnału przełączającego,
będącą sumą sygnału sterowania równoważnego i sterowania przełączającego proponowaną
w (Hung, Gao, 1993, Edwards, Spurgeon, 1998) opisaną równaniem:
( )( )( )( )
( )( )
+=
xssignK
xssignKxssignK
eq
~
~~
66
22
11
#ττ (4.31)
gdzie :
Ki - wzmocnienie części przełączającej sygnału nieliniowego w i-tym przegubie.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 30
eqτ - wektor sterowania równoważnego obliczonego wg (4.21).
Także te symulacje nie dały oczekiwanych rezultatów i układ był niestabilny przy
doborze Ki , oraz hi analogicznie jak w poprzednich symulacjach. Zachowanie układu można
wytłumaczyć faktem, że nie wszystkie warunki osiągania w układzie, wyrażone
zależnościami (4.15), są spełnione. Powoduje to, że nie występuje „ślizg” po wszystkich
składowych powierzchniach ślizgowych i układ może nie znaleźć się w trybie ślizgowym.
Aby w każdym kroku symulacji było spełnione jak najwięcej warunków osiągania
można spróbować dobierać wartości wzmocnienia przełączania Ki w inny sposób. Przyjmuje
się na początku, że składnik przełączający w każdym z przegubów może przyjmować trzy
różne wielkości niezależne od położenia względem i-tej powierzchni przełączającej Ψi.
Można to zapisać jako:
−
+=
i
i
swi
K
K0τ i=1...6 (4.32)
Strukturę sygnału sterującego w układzie przyjęto jako:
+=
6
2
1
sw
sw
sw
eq
τ
ττ
ττ#
(4.33)
Następnie sprawdza się dla wszystkich przegubów wszystkie kombinacje sygnałów
sterujących τswi , tak aby spełnić jak najwięcej warunków osiągania (4.15), zapisanych jako:
( ) ( )( ) ( ) 61
0~0~0~0~
!"
"=
<>><
ixsgdyxsxsgdyxs
ii
ii (4.34)
gdzie:
( )xsi~ - i-ty element wektora ( )xs ~ opisanego zależnością (4.18).
( )xsi~" - i-ty element wektora ( )xs ~" opisanego zależnością (4.20).
Po sprawdzeniu wszystkich kombinacji sygnałów sterujących, wektor sterowania τ
dobiera się wg jednego z następujących kryteriów:
1. Zastosować wektor τ który pozwoli na spełnienie wszystkich warunków osiągania (4.34).
2. Jeśli warunki (4.34) nie są spełnione w niektórych przegubach to przyjąć wektor τ, który
pozwoli na spełnienie jak największej ilości warunków osiągania (4.34).
3. Jeśli warunki (4.34) nie są spełnione we wszystkich przegubach to przyjąć wektor
sygnałów sterujących w postaci:
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 31
eqττ = (4.35)
gdzie: eqτ - sterowanie równoważne wyznaczone z zależności (4.21)
Ta strategia powinna pozwolić na osiąganie i ślizg stanu układu po kilku składowych
powierzchniach ślizgowych. W ten sposób można próbować generować sygnał sterujący,
który pozwoli na osiągnięcie wszystkich składowych powierzchni ślizgowych, co jest
równoważne z osiągnięciem powierzchni Ψrob.
Taki sposób wyznaczania sterowania także nie dał dobrych rezultatów i układ nie był
stabilny. Przykładowy wynik przedstawiono na wykresach dotyczących jednej z symulacji
(Rysunek 4.5). Dane dotyczące tej symulacji pokrywają się z danymi dotyczącymi symulacji
opisanej w rozdziale 4.8.1, zawartymi w tabeli 4.5. Czas wykonywania symulacji wynosił 0.7
[s], natomiast okres próbkowania 0.01 [s].
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7-345
-230
-115
0
Położe
nie
[° ]
0 0.1 0.2 0.3 0.4 0.5 0.6 0.70
10
20
30
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
Rysunek 4.5. Wykresy położenia i sygnału sterującego w przegubie 2, podczas wykonywania
symulacji (wg tabeli 4.1), z wykorzystaniem uzupełnionego sterowania równoważnego.
Jak widać na rysunku 4.5 robot nie osiąga położenia zadanego.
Analizując metodę doboru sterowań sprawdzono, jak należy wybrać sygnały sterujące
dla prostych układów drugiego i trzeciego rzędu, z jednym wejściem sterującym. Tak jak w
przypadku układu drugiego rzędu istnieje jedynie prosta przełączająca, w układach trzeciego
rzędu należy rozpatrzyć powierzchnię w przestrzeni trójwymiarowej o skomplikowanym
kształcie. Wraz ze wzrostem rzędu układu przy jednym wejściu sterującym powierzchnia
ślizgowa staje się coraz trudniejsza do określenia, co powoduje, że wyznaczenie sygnałów
sterujących jest trudne.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 32
Wyniki z symulacji wskazują na trudności związane z wyznaczeniem dobrego
algorytmu sterowania ślizgowego już dla dwóch stopni swobody. Położenie nie osiąga
wartości zadanej i układ jest niestabilny. Można to wytłumaczyć w następujący sposób.
Metoda doboru przełączającej części sterowania w układzie, tak aby spełnić odpowiednie
warunki osiągania, była przyjęta przy założeniu, że układy związane z przegubami są
niezależne. W rzeczywistości dopiero ruch po ostatecznej powierzchni ślizgowej opisuje
układy które są rozdzielone, wcześniej natomiast wszystkie układy są ze sobą sprzęgnięte.
Układy niezależne związane z przegubami są opisane równaniami drugiego rzędu. Wtedy
sterowanie ślizgowe zgodne z opisanym algorytmem powinno być prawidłowe i w każdym
przegubie funkcja przełączająca opisana jest zależnością: ( ) iiii eehxs θθ "+=~ (hi>0). Problemem
jest jednak tryb osiągania, gdy układy związane z poszczególnymi przegubami są sprzęgnięte
i rząd całego układu się zwiększa. Powierzchnia ślizgowa całego układu jest
hiperpowierzchnią 6 wymiarową i sposób wyznaczania przełączającej części sterowania,
zależny od położenia stanu układu względem tej powierzchni jest złożony. Algorytm
wyznaczania sterowania powinien być jednak stosunkowo prosty, gdyż w rzeczywistych
układach sterujących zbyt duża liczba obliczeń wpływa na pogorszenie dokładności
sterowania ze względu na błędy numeryczne i opóźnienia wynikające z możliwości
obliczeniowych i prędkości wykorzystywanych układów. Jednym z rozwiązań tego problemu
może być odsprzęganie poszczególnych przegubów tak, aby były one od siebie niezależne w
trybie osiągania.
W przypadku niektórych robotów o n-stopniach swobody opisanych równaniami
Lagrange’a-Eulera, w tym robota PUMA 560, istnieje możliwość odsprzęgania przegubów
robota poprzez odpowiednią modyfikację algorytmu sterowania. Układy związane z
poszczególnymi przegubami są wtedy niezależne i opisane są równaniami drugiego rzędu.
Dla odsprzęgniętych przegubów można zastosować algorytm sterowania ślizgowego.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 33
5. Projektowanie algorytmu sterowania ślizgowego z odsprzęganiem dla robota
PUMA 560
W rozdziale opisano sposób w jaki można uzupełnić algorytm sterowania ślizgowego,
aby można było odsprzęgnąć układy związane z przegubami robota. Tak zmodyfikowany
algorytm sterowania został zastosowany w komputerowych symulacjach robota PUMA 560.
5.1. Odsprzęganie przegubów robota PUMA 560
Aby wyznaczyć odpowiednie sygnały sterujące, należy wszystkie układy związane z
przegubami uniezależnić od siebie. Pozwoli to na uproszczenie problemu wyznaczenia
sterowania do wyznaczenia sygnałów sterujących dla sześciu odsprzęgniętych układów
drugiego rzędu. Metody odsprzęgania przegubów robota opisano m.in. w (Fu, Gonzales, Lee,
1987, Craig, 1995).
Dany jest model robota opisany równaniem (3.10). Przyjmując postać wektora
sygnałów sterujących:
( ) ( )xRxP += ττ ˆ , (5.1)
oraz przyjmując, że:
( ) ( )1ˆ xMxP = (5.2)
( ) ( ) ( )1ˆˆ xGxVxR += (5.3)
można rozdzielić układy związane z przegubami w równaniu (3.10). Macierze
( ) ( ) ( )11ˆ,ˆ,ˆ xMxGxV są odpowiednikami macierzy V(x),G(x1),M(x1), w równaniach Lagrange’a-
Eulera, liczonymi według wzorów podanych w rozdziale 3.3, na podstawie oszacowanych
parametrów robota. Równanie opisujące dynamikę robota można zapisać, wykorzystując
zależności (3.10) i (5.1), w postaci:
( ) ( )( ) ( ) ( ) ( )xRxPxMxVxG +=++ τθ ˆ"" (5.4)
Zakładając, że oszacowane parametry robota mają te same wartości co parametry rzeczywiste,
równanie (5.4) upraszcza się do postaci:
( ) ( )τθ ˆˆ11 xMxM ="" (5.5)
Zakładając, że macierz M(x) jest macierzą nieosobliwą, oraz ( ) ( )11ˆ xMxM = , w
wyniku odsprzęgnięcia uzyskuje się sześć niezależnych układów opisanych równaniami
drugiego rzędu. Każdy z układów można wyrazić w postaci:
ii τθ ˆ="" (5.6)
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 34
Układ (5.6) można opisać równaniami w przestrzeni zmiennych stanu jako:
ii
iii
CxyBAxx
=+= τ"
i=1...6 (5.7)
gdzie:
[ ]01,10
,0010
, =
=
=
= CBAx
i
ii θ
θ"
5.2. Projektowanie funkcji przełączającej dla robota PUMA 560 z odsprzęgniętymiprzegubami
Na podstawie zależności (5.7) można zaprojektować odpowiedni algorytm
sterowania ślizgowego dla każdego z przegubów oddzielnie. Wykorzystując oznaczenia (4.2)
i (4.3), oraz przyjmując że:
=
i
ii e
ex
θ
θ
"
~ i=1..6 (5.8)
można zapisać równanie (5.7) i-tego układu w postaci:
ii
iii
xCyBxAx
~ˆ~~
=+= τ"
(5.9)
Dla każdego z układów, przyjmuje się funkcję przełączającą w postaci:
( ) iii xHxs ~~ = (5.10)
gdzie:
[ ]1ii hH = .
Zakładając, że w trybie ślizgu:
( ) 0~~ == iii xHxs "" (5.11)
można wyznaczyć sterowanie równoważne z zależności:
( ) 0~~ =+= eqiiii BxAHxH τ" (5.12)
Sterowanie równoważne przyjmuje postać:
( ) θτ "ehxAHBH iiiieqi −=−= − ~1 (5.13)
W trybie ślizgu równanie układu (5.7) z zastosowaniem sterowania równoważnego
(5.13) jest opisane zależnością:
( )( )ii
iiii
xCyxAHBHBAx
~~~ 1
=−= −"
(5.14)
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 35
Równanie charakterystyczne i-tego układu opisanego równaniem (5.14) dane jest zależnością:
( )( )( ) ( )iii hzzAHBHBAIz +=−− −1det (5.15)
Pierwiastki równania charakterystycznego wynoszą:
ii
i
hzz
−==
2
1 0
Wybierając wartości hi>0 układy w trybie ślizgu opisane zależnością (5.14) są
stabilne. Funkcja przełączająca dla układu związanego z i-tym przegubem ma więc postać:
( ) iiii eehxs θθ "+=~ 0>ih i=1...6 (5.16)
5.3. Projektowanie nieciągłego składnika sygnału sterującego
Jedną z istotnych właściwości sterowania ślizgowego wynikającego z charakteru
układu o zmiennej strukturze, jest przełączanie wokół powierzchni ślizgowej wartości
sygnału sterującego. Najprostszym sposobem realizacji sygnału przełączającego jest
sterowanie mające postać przełącznika opisanego funkcją signum (rysunek 5.1):
( ) ( )
<−=>+
==010001
sgnsgdysgdysgdy
ssu (5.17)
s
u(s)=sgn(s)
+1
-1
Rysunek 5.1. Wykres funkcji ( ) ( )ssu sgn=
W rzeczywistych rozwiązaniach takie sterowanie jest niemożliwe do zastosowania,
ponieważ w istniejących układach napędowych nie można zrealizować idealnego przełączania
opisanego funkcją signum. Dodatkowo zawsze istnieje opóźnienie w układach sterowania np.
układach cyfrowych o określonej częstotliwości próbkowania, zależnej od możliwości
obliczeniowych i właściwości układu sterującego. Zaczyna wtedy występować zjawisko
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 36
drgań o wysokiej częstości wokół powierzchni ślizgu tzw. chattering. Zostało to pokazane na
rysunku 5.2 . Jest to poważny problem występujący przy sterowaniu ślizgowym i ma
niekorzystny wpływ na dokładność odtwarzanych trajektorii, oraz trwałość układów
napędowych.
2x
x1
021 =+= xcxs
Chattering
Trajektoria układu
Rysunek 5.2. Występowanie zjawiska chateringu podczas trybu ślizgowego.
Jedną z proponowanych metod eliminacji chatteringu jest zastosowanie ciągłej funkcji
przełączającej (Osówniak, 1995, Edwards, Spurgeon, 1998). Najczęściej wykorzystywana jest
funkcja z nasyceniem (ang. saturation) (rysunek 5.3). Przełączająca część sygnału sterującego
jest opisana wtedy następująco:
( ) ( )
<−
≤
>+
==
δ
δδ
δ
sgdy
sgdyssgdy
ssatsu
1
1
(5.18)
gdzie: δ-granica przełączania.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 37
s
u(s)=sat(s)
+1
-1
-δδ
Rysunek 5.3. Wykres funkcji ( ) ( )ssatsu =
Należy podkreślić, że ten sposób przełączania ma inny charakter niż funkcja signum.
Tryb pracy nazywa się wtedy trybem quasi-ślizgowym (Slotine, Sastry, 1983, Hung, Gao,
1993).
5.4. Algorytm sterowania ślizgowego z odsprzęganiem dla robota PUMA 560
Aby wyznaczyć sygnały sterujące należy zaprojektować odpowiednią powierzchnię
ślizgową dla każdego przegubu. Zgodnie z przedstawionymi w rozdziałach 5.1 i 5.2.
zależnościami, powierzchnia ślizgowa Ψi dla układu związanego z i-tym przegubem opisana
jest jako:
( ){ }0~~:~ 2 ==∈=Ψ iiiii xHxsRx (5.19)
gdzie: [ ]1ii hH = 0>ih
Odpowiedni warunek osiągania powierzchni Ψi wyraża się zależnością (Edwards, Spurgeon,
1998):
( ) ( ) 0~~ <ii xsxs " (5.20)
Następnie określa się strukturę sygnałów sterujących iτ , która spowoduje, że stany
opisujące odsprzęgnięte układy będą osiągały powierzchnie ślizgowe i poruszały się wzdłuż
nich.
Pierwszą ze struktur jest sterowanie przełączające o stałym wzmocnieniu Ki , zależne
od położenia stanu układu względem powierzchni ślizgowej, w postaci (Fu, Gonzales, Lee,
1987, Hung, Gao, 1993):
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 38
( )( )iii xssignK ~ˆ −=τ (5.21)
Funkcję ( )ixs ~" , korzystając z (5.9) i (5.10), wyznacza się z zależności:
( ) kiiiiiiii eheehxs θτθθθ""""" "" −+=+= ˆ~ (5.22)
gdzie:
kiθ"" - zadane przyspieszenie kątowe w przegubie i.
Wartość wzmocnienia Ki dobierana jest tak, aby spełnić warunek osiągania (5.20).
Drugą strukturą jest sterowanie równoważne ze składnikiem przełączającym (Hung,
Gao, 1993, Edwards, Spurgeon, 1998). Sterowanie w i-tym odsprzęgniętym przegubie
przyjmie wtedy postać:
swieqisldii ττττ +==ˆ (5.23)
gdzie:
( )( )iiswi xssignK ~−=τ (5.24)
W rzeczywistych układach należy zamiast funkcji signum wykorzystać funkcję z
nasyceniem saturation opisaną wzorem (5.18), korzystając z zależności:
( )( )iiswi xssatK ~−=τ (5.25)
Stosując tą funkcję, należy przyjąć odpowiednią wartość granicy przełączania δi .
Znak i wartość współczynnika Ki należy tak dobrać, aby spełniony został warunek (5.18).
Zakładając, że parametry modelu robota i robota są identyczne, sterowanie
równoważne ma postać (5.13). Warunek (5.20) można przekształcić, korzystając z (5.13),
(5.22), (5.23), oraz (5.24) w następujący sposób:
( )( )( )
( )( ) 0
0
0
0
<−−−
<−+
<−+
<+
kiiiiii
kisldiii
kiiii
ii
ssignKehehs
ehs
ehs
eehs
θ
θτ
θθ
θθ
θ
θ
θθ
""
""
""""
"
""
"
"
""
(5.26)
W niektórych zastosowaniach robota, można przyjąć że w położeniu zadanym 0=kiθ"" . Z
nierówności (5.26) widać, że poprzez wybór wartości Ki>0, warunek (5.20) będzie zawsze
spełniony.
Algorytm wyznaczania sygnałów sterujących w danej chwili czasu t, dla robota typu
PUMA 560 jest następujący:
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 39
Algorytm 5.1.
1. Odczytać z obiektu wartości położeń kątowych i prędkości kątowych ( ) ( )tt θθ ", we
wszystkich przegubach w danej chwili czasu t.
2. Podać zadane wartości położeń, prędkości i przyspieszeń kątowych w każdym z przegubów
w danej chwili czasu: ( ) ( ) ( )kkk ttt θθθ """ ,, , i=1...6 .
3. Obliczyć macierze i wektory w równaniach Lagrange’a-Eulera na podstawie oszacowanych
parametrów robota: ( ) ( ) ( )11ˆ,ˆ,ˆ xGxVxM .
4. Obliczyć wartości funkcji przełączających ( )ixs ~ wg wzoru (5.16) dla wszystkich
przegubów robota: i=1...6, w danej chwili czasu.
5. Wybrać sygnał sterujący zgodnie z przyjętą strukturą opisaną równaniem (5.21) albo
(5.23). Obliczyć wartość sterowania iτ w każdym przegubie znając wartość funkcji ( )ixs ~ .
6. Obliczyć wektor sygnałów sterujących uwzględniający sprzężenie między przegubami,
wykorzystując zależność:
( ) ( )xRxP += ττ ˆ (5.27)
gdzie:
=
6
2
1
ˆ
ˆˆ
ˆ
τ
ττ
τ#
, P(x) – liczone jest wg zależności (5.2), R(x) – liczone jest wg zależności (5.3)
7. Zastosować wektor sygnałów sterujących τ w układzie.
Aby można było zastosować algorytm 5.1 należy określić parametry regulatora
ślizgowego (parametry te nie zmieniają się podczas pracy układu). Są to odpowiednio dla
każdego przegubu: Ki - wzmocnienie składnika przełączającego, hi - nachylenie funkcji
przełączającej, δi - granica przełączania w przypadku wykorzystywania funkcji saturation wg
(5.18). Schemat robota z zaznaczonymi: blokiem odsprzęgającym i blokiem z algorytmem
ślizgowym, pokazano na rysunku 5.1 .
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 40
Robot PUMA560
Układsterowania zalgorytmemślizgowym
Generatortrajektorii
θ
θk
kθ" - +
- +
)(ˆ1xM
( ) ( )1ˆˆ xGxV +
+
+
ττττ’
Układ odsprzęgający
eθθ"e
kθ"" θ"ττττ
Rysunek 5.4. Schemat robota PUMA 560 z układem sterowania ślizgowego z
odsprzęgnięciem przegubów.
5.5. Symulacje komputerowe robota PUMA 560 ze sterowaniem ślizgowym iodsprzęganiem
W celu sprawdzenia poprawności działania algorytmu sterowania ślizgowego z
odsprzęganiem wykonano badania, w których symulowano pracę robota, przy różnych
parametrach modelu robota wykorzystywanego do obliczania sygnału sterującego.
Przyjmowano różne położenia początkowe i końcowe we wszystkich przegubach robota i
sprawdzano jak zachowuje się układ. Analogicznie jak w przypadku badań algorytmu 4.1
przyjęto, że ( )6...1,0,0 === ikiki θθ """ , oraz sprawdzano jak układ osiąga położenie zadane i
czy jest to położenie stabilne.
W przypadku sterowania ślizgowego ważna jest weryfikacja właściwości odporności
układu sterowania na niedokładności występujące podczas wyznaczania modelu. W tym celu
podczas symulacji zmieniano momenty bezwładności wszystkich członów w granicach
±10%, oraz masy członów w granicach ±5%.
Przy opisie symulacji przedstawiono uzyskane wyniki w postaci tabel, oraz wykresów.
W pierwszej tabeli, która dotyczy zazwyczaj kilku kolejnych symulacji, znajdują się
parametry charakteryzujące symulację:
- Czas wykonywania symulacji t[s].
- Okres próbkowania Tp[s].
- Położenia i prędkości początkowe i zadane we wszystkich przegubach.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 41
W drugiej tabeli dotyczącej każdej symulacji znajdują się parametry regulatora
ślizgowego. Są to:
- Obiekt - Opis wykorzystanego obiektu sterowania.
- Model obiektu wykorzystany w obliczaniu sygnałów sterujących - Opis modelu obiektu
wykorzystanego do obliczania sygnałów sterujących i różnice pomiędzy modelem i
obiektem.
- Struktura sterowania przełączającego - Podana została wykorzystana struktura sygnału
sterującego w i-tym przegubie będąca albo sterowaniem przełączającym (5.21), albo
uzupełnionym sterowaniem równoważnym (5.23). Dodatkowo podano, czy w składniku
przełączającym wykorzystywana jest funkcja sign(si) wg zależności (5.17), czy funkcja
sat(si) wg zależności (5.18).
- Parametry sterowania ślizgowego - Podane są tutaj parametry regulatora ślizgowego
dotyczące każdego z przegubów. Pierwszym z nich jest hi będący nachyleniem funkcji
przełączającej si wyznaczanej wg równania (5.16). Drugim z nich jest granica
przełączania δi , występująca wtedy, gdy w sterowaniu występuje funkcja z nasyceniem
sat(si). Ostatnim parametrem jest wzmocnienie składnika przełączającego Ki
występujące w równaniach (5.21) ,(5.24) i (5.25).
Dla każdej symulacji zamieszczono tabelę zawierającą wyniki symulacji. Pozwalają
one na ocenę dokładności układu sterowania i odporności na niedokładne wyznaczanie
parametrów obiektu. W tabeli zawarte są następujące wielkości:
- iu _θ - Położenie ustalone. Jest to położenie kątowe w i-tym przegubie w którym układ jest
stabilny. Wyznaczone jako średnia arytmetyczna wszystkich kolejnych położeń podczas
symulacji nie różniących się od siebie więcej niż ±0.001°.
- irt _ - Czas osiągania położenia ustalonego w i-tym przegubie.
- ( )iθmax , ( )iθmin - Maksymalne i minimalne położenie w i-tym przegubie. Pozwala na
ocenę, czy w danym przegubie w momencie dochodzenia do położenia zadanego, lub
po jego osiągnięciu występuje odchylenie od wartości zadanej i położenie odbiega od
wartości zadanej. Określane jest na podstawie znajomości położenia zadanego i
początkowego. Jeśli odchylenie nie występuje w tabeli zostawione jest puste pole.
- iθ∆ - Różnica pomiędzy wartością ustaloną a zadaną położenia kątowego w i-tym
przegubie, wyznaczana wg zależności:
iziui __ θθθ −=∆ (5.28)
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 42
gdzie:
iz _θ - zadane położenie kątowe w i-tym przegubie.
- ( )iumax - Maksymalna bezwzględna wartość sygnału sterującego w i-tym przegubie.
Dodatkowo pokazano na wykresach położenia i sygnały sterujące w przegubie 3.
Wybrano go, ponieważ łączy człony 2 i 3 o najbardziej znaczących parametrach (szczególnie
masach i momentach bezwładności wg tabel 3.2 i 3.3) i jest najbardziej narażony na wpływ
niedokładnego szacowania parametrów. Na wykresach zadane położenie kątowe w przegubie
3 jest oznaczone kolorem zielonym, natomiast odpowiedź układu : położenia kątowe,
prędkości kątowe i sygnały sterujące w przegubie 3 kolorem niebieskim. Odpowiednie
zależności dotyczące sygnałów sterujących na wykresach są następujące:
- Sygnał sterujący - Sygnał sterujący działający w przegubie 3.
- u_eq – Składowa sygnału sterującego związana ze sterowaniem równoważnym
działające w przegubie 3. Wpływa na to sterowanie wartość we wszystkich
przegubach i jest wyznaczane na podstawie równania:
( ) eqxmequ τ13ˆ_ = (5.29)
gdzie:
=
6
2
1
eq
eq
eq
eq
τ
ττ
τ#
- wektor składnika sterowania równoważnego.
( )13ˆ xm - trzeci wiersz macierzy bezwładności robota ( )1ˆ xM .
- u_sw - Składowa sygnału sterującego związana ze składnikiem przełączającym
działająca w przegubie 3. Wyznaczana jest z zależności:
( ) swxmswu τ13ˆ_ = (5.30)
gdzie:
=
6
2
1
sw
sw
sw
sw
τ
ττ
τ#
- wektor składnika z przełączaniem w sygnale sterującym.
- uF+G - Jest to składnik kompensujący działanie sił Corilisa i sił odśrodkowych w
przegubie 3. Wyznaczany jest z zależności:
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 43
( ) ( )133 ˆˆ xgxvu GF +=+ (5.31)
gdzie:
( )xv3ˆ – trzeci element wektora ( )xV
( )xg3ˆ – trzeci element wektora ( )xG
Wykonano trzy serie badań układu, pozwalające na ocenę poprawności działania
algorytmu sterowania ślizgowego z odsprzęganiem przegubów, wykorzystanego do
sterowania robotem PUMA 560 o sześciu stopniach swobody.
Seria 1Pierwsza seria ma na celu sprawdzenie czy układ jest odporny na niedokładności w
wyznaczonym modelu, oraz czy prawidłowo działa kiedy w sygnale sterującym uwzględnia
się sterowanie równoważne i wykorzystywana jest funkcja przełączająca z nasyceniem. Takie
podejście ułatwia wyznaczanie sygnału sterującego i pozwala na zastosowanie układu w
rzeczywistych układach sterowania położeniem.
Tabela 6.1. Parametry symulacji 1÷8.
Czas wykonywaniasymulacji [s] 4
Okres próbkowania [s] 0.01Początkowe i zadane położenia i prędkości w przegubach
Numerprzegubu
i
Położeniapoczątkowe
ip _θ
Położeniazadane
iz _θ
Prędkościpoczątkowe
ip _θ"
Prędkościzadane
iz _θ"
[º] [º] [º/s] [º/s]
1 -30 30 0 0
2 30 -30 0 0
3 -30 30 0 0
4 30 -30 0 0
5 -30 30 0 0
6 30 -30 0 0
Pierwsze dwie symulacje (symulacje 1 i 2) mają na celu sprawdzenie, jak działa w układzie
sterowanie przełączające (5.21) i czy zachowanie układu poprawia się, w przypadku
zastosowania w obliczaniu sygnału sterującego funkcji z nasyceniem (saturation).
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 44
SYMULACJA 1
Tabela 6.1.1. Dane symulacji 1
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
Zgodne z obiektem Zgodne z obiektemStruktura sterowania przełączającego Sterowanie ze składnikiem przełączającym
wykorzystującym funkcję sign(s)Parametry sterowania ślizgowego
Nr przegubu Nachylenie funkcjiprzełączającej
Granica przełączania Wzmocnieniesterowania
przełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 0.1 10
Tabela 6.1.2. Wyniki symulacji 1
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.69 31.422 48.438 1.422 26.7712 0.69 -31.422 -48.438 -1.422 56.8853 0.69 31.422 48.438 1.422 11.6584 0.69 -31.422 -48.438 -1.422 0.0115 0.69 31.422 48.438 1.422 0.0396 0.69 -31.422 -48.438 -1.422 0.001
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 45
0 0.5 1 1.5-50
0
50
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-10
0
10
20
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-1
0
1
Czas [s]
u_eq
m [
Nm
]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
u_sw
m [N
m]
0 0.5 1 1.50
5
10
15
Czas [s]
u F+G
[Nm
]
Rysunek 6.3.1. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 1.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 46
SYMULACJA 2
Tabela 6.2.1. Dane symulacji 2
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
Zgodne z obiektem Zgodne z obiektemStruktura sterowania przełączającego Sterowanie ze składnikiem przełączającym
wykorzystującym funkcję sat(s)Parametry sterowania ślizgowego
Nr przegubu Nachylenie funkcjiprzełączającej
Granica przełączania Wzmocnieniesterowania
przełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 0.1 10
Tabela 6.2.2 Wyniki symulacji 2
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.69 31.371 48.437 1.371 26.7712 0.69 -31.371 -48.437 -1.371 56.8863 0.69 31.371 48.437 1.371 11.6574 0.6 -31.371 -48.437 -1.371 0.0115 0.69 31.371 48.437 1.371 0.0396 0.69 -31.371 -48.437 -1.371 0.001
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 47
0 0.5 1 1.5-50
0
50
Czas [s]
Położe
nie
[deg
]
0 0.5 1 1.5-10
0
10
20
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-1
0
1
Czas [s]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
0 0.5 1 1.50
5
10
15
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.2. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 2.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 48
Jak widać z powyższych symulacji zastosowanie metody sterowania ślizgowego w
odsprzęgniętych układach związanych z przegubami pozwala na uzyskanie poprawnie
działającego algorytmu sterowania robota PUMA 560.
W pierwszej symulacji widoczne jest zjawisko chatteringu, które objawia się
oscylacjami o stałej amplitudzie i dużej częstości w stanie ustalonym. Zostało to zobrazowane
na poniższym wykresie, gdzie pokazano wykres położeń w stanie ustalonym w połączeniu 3
przedziale czasu 2 - 4[s] podczas pierwszej symulacji:
2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 429.988
29.99
30
30.01
30.02
30.03
30.04
30.05
30.06
Czas [s]
położe
nie[° ]
Rysunek 6.3.3. Oscylacje wokół położenia ustalonego w przegubie 3 występujące gdy w
sygnale sterującym wykorzystano funkcję sign(s).
Stosowne w takim wypadku jest wykorzystanie funkcji z nasyceniem, aby uzyskać
ciągły sygnał sterujący. Zostało to zbadane w symulacji 2. Na zamieszczonym na rysunku 6.4
wykresie położenia w przedziale 2 – 4 [s] widać brak występowania oscylacji w stanie
ustalonym.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 49
2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 430
30.00003
30.00006
Czas [s]
położe
nie
[°]
Rysunek 6.3.4. Położenia w przegubie 3 uzyskane, gdy w sygnale sterującym wykorzystano
funkcję sat(s).
W przypadku symulacji 2 w której wykorzystano w obliczaniu sygnału sterującego
funkcję z nasyceniem nie występuje zjawisko chatteringu. Potwierdza to korzystność
wykorzystania tej funkcji w rzeczywistych układach. W dalszych symulacjach przyjęto, że w
sygnale sterującym wykorzystywana jest funkcja saturation.
Kolejne dwie symulacje (3 i 4) mają wykazać własność odporności na niedokładnie
wyznaczone parametry robota. W tym celu przyjęto, że wartości mas i momentów
wyznaczonych są, albo niedoszacowane i mniejsze od nominalnych odpowiednio: masy
członów o -5%, oraz momenty bezwładności członów o –10%, albo przeszacowane i większe
odpowiednio masy członów o +5%, oraz momenty bezwładności członów o +10%.
Wartości wzmocnienia sygnału przełączającego powinny być większe od zera,
zgodnie z wyprowadzeniem (5.26). Ponieważ w rzeczywistych układach nie są znane
dokładne parametry obiektu, lecz tylko ich przybliżone wartości istnieje zawsze pewne
sprzęgnięcie pomiędzy przegubami. Dlatego należy dobierać odpowiednio duże wartości Ki.
Istnieje wiele metod ich doboru (Slotine, Sastry, 1983). Ponieważ w przypadku robota trudno
jest oszacować wpływ sprzężeń najlepiej dobierać tą wartość metodą „prób i błędów”. Ten
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 50
właśnie sposób został wykorzystany w pracy. Podobnie wybiera się parametry regulatora : hi,
δi , gdyż oszacowanie ich wpływu jest złożone.
SYMULACJA 3
Tabela 6.3.1. Dane symulacji 3
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
+10% +5%Struktura sterowania przełączającego Sterowanie ze składnikiem przełączającym
wykorzystującym funkcję sat(s)Parametry sterowania ślizgowego
Nr przegubu Nachylenie funkcjiprzełączającej
Granica przełączania Wzmocnieniesterowania
przełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.3.2. Wyniki symulacji 3
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.51 30.069 30.081 0.069 139.29452 0.51 -30.001 -30.013 -0.001 77.82483 0.51 30.028 30.041 0.028 56.89624 0.51 -30.048 -30.06 -0.048 0.04705 0.52 29.807 29.818 0.193 0.16676 0.52 -29.999 -30.011 0.001 0.0044
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 51
0 0.5 1 1.5-50
0
50
Czas [s]
Położe
nie
[deg
]
0 0.5 1 1.5-50
0
50
100
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-1
0
1
Czas [s]
0 0.5 1 1.5-40
-20
0
20
Czas [s]
0 0.5 1 1.50
20
40
60
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.5. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 3.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 52
SYMULACJA 4
Tabela 6.4.1. Dane symulacji 4
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
-10% -5%Struktura sterowania Sterowanie ze składnikiem przełączającym
wykorzystującym funkcję sat(s)Parametry sterowania ślizgowego
Nr przegubu Nachylenie funkcjiprzełączającej
Granica przełączania Wzmocnieniesterowania
przełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.4.2. Wyniki symulacji 4
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.48 29.893 29.905 -0.107 168.12712 0.5 -29.98 -29.992 0.02 87.90993 0.46 29.943 29.955 -0.057 95.89084 0.45 -29.921 -29.933 0.079 0.10475 0.48 30.213 30.224 0.213 0.33826 0.52 -29.973 -29.985 0.027 0.0041
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 53
0 0.5 1 1.5-50
0
50
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-50
0
50
100
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-1
0
1
Czas [s]
0 0.5 1 1.5-50
0
50
Czas [s]
0 0.5 1 1.50
50
100
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.6. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 4.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 54
Wyniki symulacji pokazują, że układ ze sterowaniem ślizgowym jest odporny na
niedokładne wyznaczanie parametrów fizycznych robota. Widać także, że poprzez zmianę
parametrów regulatora ślizgowego, można zmienić uzyskaną dokładność odtwarzania
zadanego położenia (opisywaną przez parametr ∆θi ). W przypadku symulacji 1 i 2,
dokładność przekraczała ±1°. Po zmodyfikowaniu parametrów regulatora (symulacje 3 i 4),
dokładność odtwarzania zadanego położenia w przegubach nie przekracza w najgorszym
przypadku (przegub 5) 0.2 °, nawet gdy parametry robota nie są dokładnie oszacowane.
Jak można zauważyć, w przypadku sygnału sterującego obliczanego wg (5.21) w
którym wykorzystywane jest tylko przełączanie (symulacje 1 i 2) występuje odchylenie
(przekroczenie zadanego położenia przy przechodzeniu pomiędzy położeniem początkowym
a położeniem ustalonym). Układ przekracza wartość zadaną, a następnie do niej powraca. Nie
jest to korzystnym działaniem układu, gdyż jednym z warunków prawidłowej pracy robota
jest dochodzenie do położenia zadanego tak żeby nie było odchyleń, lub były one bardzo
małe. Tak więc do sygnału sterującego, w którym występuje jedynie przełączanie z
nasyceniem (5.25) można dodać składnik sterowania równoważnego i sygnał sterujący
obliczany jest z zależności (5.23). Pozwala to na dodatkowe wymuszenie ruchu w przestrzeni
stanu w każdym z układów po powierzchni ślizgowej, jeśli stan opisujący dany układ znajdzie
się w jej pobliżu. Zbadane zostało to w symulacji 5, gdzie przyjęte zostały parametry układu i
sterowania analogicznie jak w symulacji 2.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 55
SYMULACJA 5
Tabela 6.5.1. Dane symulacji 5
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
Zgodne z obiektem Zgodne z obiektemStruktura sterowania przełączającego Sterowanie z sumą sterowania równoważnego
i składnika przełączającego wykorzystującegofunkcję z nasyceniem sat(s)
Parametry sterowania ślizgowegoNr przegubu Nachylenie funkcji
przełączającejGranica przełączania Wzmocnienie
sterowaniaprzełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 0.1 10
Tabela 6.5.2. Wyniki symulacji 5
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 1.31 29.98 -0.02 11.66822 1.31 -29.98 0.02 38.34573 1.31 29.98 -0.02 3.09494 1.31 -29.98 0.02 0.00505 1.31 29.98 -0.02 0.02476 1.31 -29.98 0.02 0.0004
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 56
0 0.5 1 1.5-50
0
50
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-2
0
2
4
Czas [s]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
0 0.5 1 1.50
0.5
1
1.5
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.7. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 5.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 57
Jak widać układ dochodzi do położenia zadanego bez odchyleń. Dodatkową zaletą jest
lepsza dokładność odtwarzania zadanego położenia, oraz mniejsze wartości sygnału
sterującego, niż w przypadku symulacji 2, gdy sterowanie nie posiadało sterowania
równoważnego.
Algorytm sterowania wykorzystujący strukturę sygnału sterującego w postaci
uzupełnionego sterowania równoważnego (5.23) zastosowano w symulacjach 6 i 7 do
układów w których parametry modelu nie były dokładnie znane (analogicznie jak w
przypadku symulacji 4 i 5).
SYMULACJA 6
Tabela 6.6.1. Dane symulacji 6
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
+10% +5%Struktura sterowania przełączającego Sterowanie z sumą sterowania równoważnego
i składnika przełączającego wykorzystującegofunkcję z nasyceniem sat(s)
Parametry sterowania ślizgowegoNr przegubu Nachylenie funkcji
przełączającejGranica przełączania Wzmocnienie
sterowaniaprzełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.6.2. Wyniki symulacji 6
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.66 30.066 30.082 0.066 149.8772 0.52 -29.999 -30.013 0.001 98.1023 0.56 30.026 30.041 0.026 97.0174 0.66 -30.045 -30.06 -0.045 0.075 0.43 29.834 32.913 -0.166 0.2926 0.57 -29.997 -30.012 0.003 0.004
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 58
0 0.5 1 1.5-50
0
50
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-50
0
50
100
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-10
0
10
20
Czas [s]
0 0.5 1 1.5-50
0
50
Czas [s]
0 0.5 1 1.50
20
40
60
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.8. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 6.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 59
SYMULACJA 7
Tabela 6.7.1. Dane symulacji 7
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
-10% -5%Struktura sterowania przełączającego Sterowanie z sumą sterowania równoważnego
i składnika przełączającego wykorzystującegofunkcję z nasyceniem sat(s)
Parametry sterowania ślizgowegoNr przegubu Nachylenie funkcji
przełączającejGranica przełączania Wzmocnienie
sterowaniaprzełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.7.2. Wyniki symulacji 7
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.59 29.891 29.905 -0.109 106.9082 0.58 -29.978 -29.992 0.022 73.8113 0.58 29.94 29.955 -0.06 49.7474 0.59 -29.919 -29.933 0.081 0.0285 0.57 30.21 30.224 0.21 0.176 0.57 -29.97 -29.985 0.03 0.004
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 60
0 0.5 1 1.5-50
0
50
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-50
0
50
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-10
0
10
20
Czas [s]
0 0.5 1 1.5-40
-20
0
20
Czas [s]
0 0.5 1 1.50
20
40
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.9. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 7.
Porównując wyniki symulacji 6 i 7 z wynikami symulacji 4 i 5 można zauważyć, że
przy niedoszacowanych parametrach fizycznych (masy członów mniejsze o 5% i momenty
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 61
bezwładności członów mniejsze o 10%) maksymalny sygnał sterujący jest mniejszy przy
wykorzystaniu w sygnale sterującym sterowania równoważnego, a położenie ustalone
pozostaje prawie bez zmian. Przy parametrach przeszacowanych (masy większe o 5% i
momenty bezwładności większe o 10%) poprawia się dokładność osiągania zadanego
położenia, oraz nieznacznie rośnie maksymalny sygnał sterujący. Na tej podstawie można
wywnioskować, że dodatkowy składnik w sygnale sterującym (sterowanie równoważne)
pozwala na poprawę działania całego układu. Widać też, że korzystniejsze jest stosowanie
niedoszacowanych parametrów robota.
Seria 2.
W kolejnej serii symulacji wykonano badania, pozwalające na ocenę jak dobrze
odtwarzane są w układzie różne położenia kątowe. Jest to kolejnym krokiem do zastosowania
układu sterowania położeniem robota, gdyż pozwala sprawdzić jakie mogą być najmniejsze
odcinki zadanej trajektorii, które będą dobrze odtwarzane, bez zmiany w parametrach
regulatora. W tym celu dla różnych parametrów fizycznych przyjętych w modelu, oraz
różnych struktur sterowania zmieniano wartości początkowe i zadane odpowiednio do ±10°
(Symulacje 8÷11), ±0.5° (Symulacje 12÷15), oraz ±0.1° (Symulacja 16). Parametry regulatora
zostały przyjęte tak jak w pierwszej serii symulacji.
Tabela 6.1. Parametry symulacji 8÷11.
Czas wykonywania
symulacji[s] 4
Okres próbkowania [s] 0.01
Początkowe i zadane położenia i prędkości w przegubach
Numer
przegubu
i
Położenia
początkowe
ip _θ
Położenia
zadane
iz _θ
Prędkości
początkowe
ip _θ"
Prędkości
zadane
iz _θ"
[º] [º] [º/s] [º/s]
1 -10 10 0 0
2 10 -10 0 0
3 -10 10 0 0
4 10 -10 0 0
5 -10 10 0 0
6 10 -10 0 0
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 62
SYMULACJA 8
Tabela 6.8.1. Dane symulacji 8
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
+10% +5%Struktura sterowania przełączającego Sterowanie z sumą sterowania równoważnego
i składnika przełączającego wykorzystującegofunkcję z nasyceniem sat(s)
Parametry sterowania ślizgowegoNr przegubu Nachylenie funkcji
przełączającejGranica przełączania Wzmocnienie
sterowaniaprzełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.8.2. Wyniki symulacji 8
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.17 10.09 10.302 0.09 40.4842 0.5 -9.988 -9.992 0.012 51.3273 0.51 10.111 10.116 0.111 33.8884 0.1 -10.016 -10.264 -0.016 0.0725 0.42 9.701 9.706 -0.299 0.1486 0.54 -10.028 -10.033 -0.028 0.004
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 63
0 0.5 1 1.5-10
0
10
20
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-50
0
50
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-5
0
5
10
Czas [s]
0 0.5 1 1.5-50
0
50
Czas [s]
0 0.5 1 1.50
5
10
15
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.10. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 8.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 64
SYMULACJA 9
Tabela 6.9.1. Dane symulacji 9
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
-10% -5%Struktura sterowania przełączającego Sterowanie z sumą sterowania równoważnego
i składnika przełączającego wykorzystującegofunkcję z nasyceniem sat(s)
Parametry sterowania ślizgowegoNr przegubu Nachylenie funkcji
przełączającejGranica przełączania Wzmocnienie
sterowaniaprzełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.9.2. Wyniki symulacji 9
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.88 9.435 9.44 -61.936 -0.565 135.8332 0.7 -10.139 -10.146 -0.139 115.7763 0.84 9.888 9.889 -44.367 -0.112 112.4354 0.9 -9.519 66.941 -9.524 0.481 0.0995 0.7 10.518 10.525 0.518 0.3736 0.51 -9.921 -9.925 0.079 0.004
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 65
0 0.5 1 1.5-50
0
50
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-100
0
100
200
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-20
0
20
40
Czas [s]
0 0.5 1 1.5-50
0
50
Czas [s]
0 0.5 1 1.50
50
100
150
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.11. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 9.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 66
SYMULACJA 10
Tabela 6.10.1. Dane symulacji 10
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
+10% +5%Struktura sterowania przełączającego Sterowanie ze składnikiem przełączającym
wykorzystującym funkcję sat(s)Parametry sterowania ślizgowego
Nr przegubu Nachylenie funkcjiprzełączającej
Granica przełączania Wzmocnieniesterowania
przełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.10.2. Wyniki symulacji 10
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.97 213.053 650.783 -100.351 203.053 257.1422 0.75 -8.823 -14.671 1.177 8563 0.72 11.068 13.136 1.068 606.0854 0.96 -150.506 -621.806 -140.506 0.7415 0.56 2.159 180.621 -164.765 -7.841 1.9496 0.92 -9.7 -11.745 0.3 0.009
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 67
0 0.5 1 1.5-10
0
10
20
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-200
0
200
400
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-1
0
1
Czas [s]
0 0.5 1 1.5-50
0
50
Czas [s]
0 0.5 1 1.50
200
400
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.12. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 10.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 68
SYMULACJA 11
Tabela 6.11.1. Dane symulacji 11
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
-10% -5%Struktura sterowania przełączającego Sterowanie ze składnikiem przełączającym
wykorzystującym funkcję sat(s)Parametry sterowania ślizgowego
Nr przegubu Nachylenie funkcjiprzełączającej
Granica przełączania Wzmocnieniesterowania
przełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.11.2. Wyniki symulacji 11
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.7 9.436 9.44 -25.94 -0.564 38.0242 0.56 -10.141 -10.146 -0.141 78.513 0.64 9.885 9.889 -15.804 -0.115 37.5094 0.73 -9.52 30.696 -9.524 0.48 0.1495 0.59 10.52 10.525 0.52 0.1516 0.05 -9.566 -9.925 0.434 0.004
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 69
0 0.5 1 1.5-20
-10
0
10
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-20
0
20
40
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-1
0
1
Czas [s]
0 0.5 1 1.5-50
0
50
Czas [s]
0 0.5 1 1.50
5
10
15
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.13. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3
podczas symulacji 11.
Na podstawie wyników z symulacji 8÷11 można wywnioskować, że przy
wykorzystaniu sterowana ślizgowego ze składnikiem równoważnym (Symulacje 8 i 9)
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 70
zmniejszenie zakresu zmian pomiędzy położeniem początkowym i położeniem końcowym do
±10°, przy niezmienionych nastawach regulatora ślizgowego i niedokładnie oszacowanych
parametrach fizycznych robota, zwiększa niedokładność uzyskanego położenia zadanego z
0.2° do 0.5°. Brak składnika równoważnego powoduje, że układ działa źle przy
przeszacowanych parametrach (Symulacja 10), sygnały sterujące są wtedy dość duże i układ
w stanie ustalonym albo oscyluje z niską częstotliwością i małą amplitudą (wykresy dla
przegubu 3), albo nie osiąga położenia zadanego (np. przegub 1). Możliwe, że inne przyjęcie
parametrów regulatora pozwoliłoby na prawidłową pracę, lecz przyjęcie składnika
przełączającego w granicach większych niż ±100 [Nm] mogłoby spowodować, że sygnały
sterujące byłyby zbyt duże i niemożliwe do uzyskania w istniejących układach napędowych.
Kolejne symulacje były wykonane dla zmian w położeniach zadanych ±0.5°.
Tabela 6.1. Parametry symulacji 12÷15.
Czas wykonywania
symulacji[s] 4
Okres próbkowania [s] 0.01
Początkowe i zadane położenia i prędkości w przegubach
Numer
przegubu
i
Położenia
początkowe
ip _θ
Położenia
zadane
iz _θ
Prędkości
początkowe
ip _θ"
Prędkości
zadane
iz _θ"
[º] [º] [º/s] [º/s]
1 -0.5 0.5 0 0
2 0.5 -0.5 0 0
3 -0.5 0.5 0 0
4 0.5 -0.5 0 0
5 -0.5 0.5 0 0
6 0.5 -0.5 0 0
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 71
SYMULACJA 12
Tabela 6.12.1. Dane symulacji 12
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
+10% +5%Struktura sterowania przełączającego Sterowanie z sumą sterowania równoważnego
i składnika przełączającego wykorzystującegofunkcję z nasyceniem sat(s)
Parametry sterowania ślizgowegoNr przegubu Nachylenie funkcji
przełączającejGranica przełączania Wzmocnienie
sterowaniaprzełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.12.2. Wyniki symulacji 12
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.34 0.349 0.356 -0.151 0.6992 0.52 -0.699 -0.699 -0.199 46.0133 0.47 0.645 0.646 0.145 2.4274 0.34 -0.350 -0.357 0.150 0.0015 0.58 0.548 0.548 0.048 0.0026 0.53 -0.498 -0.498 0.002 0.001
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 72
0 0.5 1 1.5-0.5
0
0.5
1
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.50
0.2
0.4
Czas [s]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
0 0.5 1 1.50
0.2
0.4
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.14. Wykresy obrazujące położenia i sygnały sterujące w przegubie 3 podczas
symulacji 12.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 73
SYMULACJA 13
Tabela 6.13.1. Dane symulacji 13
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
-10% -5%Struktura sterowania przełączającego Sterowanie z sumą sterowania równoważnego
i składnika przełączającego wykorzystującegofunkcję z nasyceniem sat(s)
Parametry sterowania ślizgowegoNr przegubu Nachylenie funkcji
przełączającejGranica przełączania Wzmocnienie
sterowaniaprzełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.13.2. Wyniki symulacji 13
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.55 0.524 0.524 0.024 1.4442 0.55 -0.307 -0.307 -0.193 42.5253 0.57 0.309 0.309 -0.191 2.1964 0.55 -0.524 -0.524 -0.024 0.0015 0.5 0.52 0.52 0.02 0.0016 0.52 -0.5 -0.5 0 0.001
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 74
0 0.5 1 1.5-0.5
0
0.5
Czas [s]
Położe
nie
[deg
]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.50
0.2
0.4
Czas [s]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
0 0.5 1 1.50
0.2
0.4
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.15. Wykresy położeń i sygnałów sterujących w przegubie 3 podczas symulacji
13.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 75
SYMULACJA 14
Tabela 6.14.1. Dane symulacji 14
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
+10% +5%Struktura sterowania przełączającego Sterowanie ze składnikiem przełączającym
wykorzystującym funkcję sat(s)Parametry sterowania ślizgowego
Nr przegubu Nachylenie funkcjiprzełączającej
Granica przełączania Wzmocnieniesterowania
przełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.14.2. Wyniki symulacji 14
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.29 0.35 0.358 0.15 0.612 0.47 -0.7 -0.7 -0.2 46.0133 0.42 0.645 0.646 0.145 2.4264 0.29 -0.36 -0.359 0.14 0.0015 0.53 0.548 0.548 0.048 0.0026 0.48 -0.5 -0.498 0 0.001
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 76
0 0.5 1 1.5-0.5
0
0.5
1
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-1
0
1
Czas [s]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
0 0.5 1 1.50
0.2
0.4
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.16. Wykresy położeń i sygnałów sterujących w przegubie 3 podczas symulacji
14.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 77
SYMULACJA 15
Tabela 6.15.1. Dane symulacji 15
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
-10% -5%Struktura sterowania przełączającego Sterowanie ze składnikiem przełączającym
wykorzystującym funkcję sat(s)Parametry sterowania ślizgowego
Nr przegubu Nachylenie funkcjiprzełączającej
Granica przełączania Wzmocnieniesterowania
przełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Tabela 6.15.2. Wyniki symulacji 15
Numerprzegubu
irt _ iu _θ ( )iθmax ( )iθmin iθ∆ ( )iumax
i [s] [º] [º] [º] [º] [Nm]1 0.5 0.524 0.524 0.024 1.2322 0.5 -0.307 -0.307 0.193 42.5263 0.52 0.309 0.309 -0.191 2.1964 0.5 -0.524 -0.524 -0.024 0.0015 0.46 0.52 0.52 0.02 0.0016 0.47 -0.5 -0.5 0 0.001
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 78
0 0.5 1 1.5-0.5
0
0.5
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
0 0.5 1 1.5-1
0
1
Czas [s]
0 0.5 1 1.5-4
-2
0
2
Czas [s]
0 0.5 1 1.50
0.2
0.4
Czas [s]
u_eq
m [
Nm
]u_
swm
[Nm
]u F
+G [N
m]
Rysunek 6.3.17. Wykresy położeń i sygnałów sterujących w przegubie 3 podczas symulacji
15.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 79
Ostatnia symulacja w drugiej serii miała na celu sprawdzenie jak działa układ przy
dalszym zmniejszaniu zakresu położenia w przegubach (odległości kątowej pomiędzy
położeniem początkowym, a położeniem zadanym). Przyjęto w niej zmiany kątowe
pokrywające się z dokładnością odtwarzania trajektorii, którą uzyskano w poprzednich
symulacjach ±0.1°.
Tabela 6.1. Parametry symulacji 16.
Czas wykonywania
symulacji[s] 4
Okres próbkowania [s] 0.01
Początkowe i zadane położenia i prędkości w przegubach
Numer
przegubu
i
Położenia
początkowe
ip _θ
Położenia
zadane
iz _θ
Prędkości
początkowe
ip _θ"
Prędkości
zadane
iz _θ"
[º] [º] [º/s] [º/s]
1 -0.1 0.1 0 0
2 0.1 -0.1 0 0
3 -0.1 0.1 0 0
4 0.1 -0.1 0 0
5 -0.1 0.1 0 0
6 0.1 -0.1 0 0
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 80
SYMULACJA 16
Tabela 6.16.1. Dane symulacji 16
Obiekt Robot PUMA 560 o 6 stopniach swobody,parametry obiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momentybezwładności
Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
+10% +5%Struktura sterowania przełączającego Sterowanie z sumą sterowania równoważnego
i składnika przełączającego wykorzystującegofunkcję z nasyceniem sat(s
Parametry sterowania ślizgowegoNr przegubu Nachylenie funkcji
przełączającejGranica przełączania Wzmocnienie
sterowaniaprzełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
0 0.5 1 1.5-1
0
1
2
Czas [s]
Położe
nie
[° ]
0 0.5 1 1.5-100
0
100
Czas [s]
Sygn
ał s
teru
jący
[Nm
]
Rysunek 6.3.18. Wykresy położeń i sygnałów sterujących w przegubie 3 podczas symulacji
16.
Na podstawie wyników z symulacji 8÷16 można wywnioskować, że zmniejszenie
zakresu zmian pomiędzy położeniem początkowym i położeniem końcowym do ±0.5° przy
niezmienionych nastawach regulatora ślizgowego i niedokładnie oszacowanych parametrach
nie wpływa na zachowanie układu i nie zwiększa znacznie bezwzględnej niedokładności.
Wybór zakresów ruchu w przegubach znacznie poniżej tej wartości (±0.1°) powoduje, że
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 81
układ nie daje się wysterować i oscyluje nie osiągając położenia zadanego, co jest widoczne
na wykresach dotyczących symulacji 16.
Seria 3.
W ostatniej serii badań sprawdzono jak odtwarzana jest zadana trajektoria w zakresie
położeń ±30°. Robot pozycjonowany jest metodą „z punktu do punktu”. Zakres ruchu w
przegubach robota przyjęto w granicach ±30°, z krokiem pomiędzy kolejnymi położeniami na
trajektorii ±2°. Zadane wartości kątowe w kolejnych punktach (krokach) zamieszczono w
tabeli 6.3.1., a wykres obrazujący zadaną trajektorię w przegubie 3 przedstawiono na rysunku
6.19. Na osiągnięcie każdego z zadanych punktów przeznaczono 1.5 [s], okres próbkowania
wynosił 0.01 [s]. Przyjęto parametry regulatora tak jak w serii 2, zaś jako strukturę sygnału
sterującego przyjęto uzupełnione sterowanie równoważne, gdyż wtedy układ działa lepiej
przy niedokładnie wyznaczonych parametrach modelu. Badano zachowanie się układu w
przypadku kiedy parametry fizyczne modelu robota były niedoszacowane (masy członów
mniejsze o 5% od rzeczywistych, momenty bezwładności członów mniejsze o 10% od
rzeczywistych – Symulacja 17), lub przeszacowane (masy członów większe o 5% od
rzeczywistych, momenty bezwładności członów większe o 10% od rzeczywistych –
Symulacja 18). Do każdej z symulacji dołączono tabelę z wynikami (dokładnością
odtwarzania zadanego położenia), oraz wykres uzyskanych położeń w przegubie 3.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 82
Tabela 6.3.1. Zadane wartości położeń w przegubach w kolejnych punktach trajektorii [°]
Nr kolejnegopunktu
Nr przegubu
K 1 2 3 4 5 61 -30 30 -30 30 -30 302 -28 28 -28 28 -28 283 -26 26 -26 26 -26 264 -24 24 -24 24 -24 245 -22 22 -22 22 -22 226 -20 20 -20 20 -20 207 -18 18 -18 18 -18 188 -16 16 -16 16 -16 169 -14 14 -14 14 -14 1410 -12 12 -12 12 -12 1211 -10 10 -10 10 -10 1012 -8 8 -8 8 -8 813 -6 6 -6 6 -6 614 -4 4 -4 4 -4 415 -2 2 -2 2 -2 216 0 0 0 0 0 017 2 -2 2 -2 2 -218 4 -4 4 -4 4 -419 6 -6 6 -6 6 -620 8 -8 8 -8 8 -821 10 -10 10 -10 10 -1022 12 -12 12 -12 12 -1223 14 -14 14 -14 14 -1424 16 -16 16 -16 16 -1625 18 -18 18 -18 18 -1826 20 -20 20 -20 20 -2027 22 -22 22 -22 22 -2228 24 -24 24 -24 24 -2429 26 -26 26 -26 26 -2630 28 -28 28 -28 28 -2831 30 -30 30 -30 30 -30
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 83
0 5 10 15 20 25 30-30
-20
-10
0
10
20
30
Położe
nie
[° ]
Nr kroku
Wykres 6.19. Zadana trajektoria w przegubie 3 dla symulacji 17-18.
SYMULACJA 17
Tabela 6.17.1. Dane symulacji 17
Obiekt Robot PUMA 560 o 6 stopniach swobody, parametryobiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momenty bezwładności Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
-10% -5%Struktura sterowania przełączającego Sterowanie z sumą sterowania równoważnego i
składnika przełączającego wykorzystującego funkcję znasyceniem sat(s)
Parametry sterowania ślizgowegoNr przegubu Nachylenie funkcji
przełączającejGranica przełączania Wzmocnienie sterowania
przełączającego
i hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 84
Tabela 6.17.2. Wyniki symulacji 17. Różnica pomiędzy wartością uzyskaną a zadaną ∆θ (wg6.27) we wszystkich przegubach w [°].
Nr kolejnegopunktu
Nr przegubu
K 1 2 3 4 5 61 -0,106 0,001 -0,043 0,141 0,025 0,0392 -0,118 0,004 -0,052 0,155 0,019 -0,0423 -0,133 0,008 -0,063 0,173 0,013 -0,0464 -0,151 0,013 -0,078 0,194 0,009 -0,0495 -0,175 0,020 -0,097 0,221 0,006 -0,0536 -0,207 0,031 -0,125 0,258 0,005 -0,0577 -0,255 0,049 -0,167 0,312 0,009 -0,0648 -0,335 0,081 -0,239 0,402 0,020 -0,0749 -0,507 0,155 -0,401 0,596 0,051 -0,09610 -1,458 0,612 -1,326 1,673 0,248 -0,23611 1,850 -1,656 2,024 -1,753 -1,547 0,42312 217,046 -2,667 122,109 -221,876 0,621 0,16213 0,197 -0,247 0,367 -0,190 -0,114 0,01414 0,107 -0,204 0,266 -0,110 -0,071 0,00315 0,001 -0,192 0,202 -0,001 -0,032 016 -0,107 -0,204 0,162 0,104 0,026 0,00317 -0,633 -0,239 0,188 0,570 -0,043 0,02718 -4,867 -1,324 0,048 4,393 3,396 0,12219 -2903,751 -595,314 2850,442 2464,662 1367,567 4664,48520 -2136,153 -0,815 2032,426 1549,221 444,764 3771,58321 -876,440 0,395 1076,212 696,588 -13,843 2892,89722 -0,321 -0,026 289,196 0,184 1,871 1942,23123 0,223 0,022 0,080 -0,175 -0,303 1076,66424 0,188 0,012 0,072 -0,144 -0,281 210,10425 0,162 0,005 0,066 -0,122 -0,266 -0,02926 0,142 0,001 0,061 -0,105 -0,254 -0,02627 0,127 -0,002 0,056 -0,092 -0,245 -0,02328 0,114 -0,005 0,052 -0,082 -0,237 -0,02029 0,104 -0,006 0,048 -0,074 -0,230 -0,017
SYMULACJA 18
Tabela 6.18.1. Dane symulacji 18
Obiekt Robot PUMA 560 o 6 stopniach swobody, parametryobiektu wg tabel 3.1 - 3.3.
Robot PUMA 560 o 6 stopniach swobody izmodyfikowanych parametrach
Momenty bezwładności Masy
Model obiektu wykorzystywany w obliczaniusygnałów sterujących
+10% +5%Struktura sterowania przełączającego Sterowanie z sumą sterowania równoważnego i
składnika przełączającego wykorzystującego funkcję znasyceniem sat(s)
Parametry sterowania ślizgowegoNr przegubu Nachylenie funkcji
przełączającejGranica przełączania Wzmocnienie sterowania
przełączającegoi hi [1/s] δi[rad/s] Ki [Nm]1...6 10 1 100
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 85
Tabela 6.18.2. Wyniki symulacji 18. Różnica pomiędzy wartością uzyskaną a zadaną ∆θ (wg
6.27) we wszystkich przegubach w [°].
Nr kolejnegopunktu
Nr przegubu
K 1 2 3 4 5 61 0.0903 0.0070 0.0226 -0.1164 -0.0239 0.02962 0.0994 0.0063 0.0276 -0.1272 -0.0192 0.03153 0.1100 0.0053 0.0334 -0.1395 -0.0152 0.03354 0.1227 0.0040 0.0406 -0.1540 -0.0121 0.03535 0.1382 0.0021 0.0494 -0.1713 -0.0102 0.03726 0.1577 -0.0004 0.0607 -0.1925 -0.0098 0.03907 0.1829 -0.0041 0.0756 -0.2197 -0.0119 0.04108 0.2172 -0.0096 0.0963 -0.2564 -0.0174 0.04329 0.2673 -0.0186 0.1271 -0.3093 -0.0286 0.045910 0.3482 -0.0348 0.1783 -0.3943 -0.0504 0.050011 1.6831 -0.3227 1.2056 -2.0866 -0.1902 0.134512 4.3808 -0.5690 2.7701 -4.9958 -0.2328 0.085813 -0.9751 0.4081 -0.8337 1.0337 0.3784 -0.057514 -0.2713 0.2202 -0.3441 0.2792 0.1339 -0.008015 0.0582 0.1928 -0.1774 -0.0582 -0.0037 -0.000016 0.9704 0.3501 0.0351 -0.9379 -0.4645 -0.032517 16.3708 2.3752 0.3005 -14.8441 -9.6622 -0.204718 1.8544 0.3406 -0.0946 -1.5728 -0.9855 0.046519 -0.4205 -0.0297 -0.1437 0.3788 0.3633 0.037820 -0.3021 -0.0079 -0.1159 0.2646 0.2943 0.033121 -0.2388 0.0015 -0.0986 0.2038 0.2599 0.030122 -0.1984 0.0065 -0.0862 0.1651 0.2392 0.027723 -0.1699 0.0093 -0.0767 0.1381 0.2251 0.025524 -0.1485 0.0110 -0.0689 0.1181 0.2148 0.023425 -0.1317 0.0120 -0.0625 0.1027 0.2068 0.021426 -0.1181 0.0127 -0.0570 0.0905 0.2002 0.019427 -0.1068 0.0130 -0.0523 0.0807 0.1946 0.017428 -0.0973 0.0132 -0.0481 0.0726 0.1897 0.015529 -0.0891 0.0132 -0.0443 0.0659 0.1853 0.0137
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 86
0 5 10 15 20 25 30 35 40 45-3500
-3000
-2500
-2000
-1500
-1000
-500
0
500
Położe
nie
[° ]
Czas [s]
Wykres 6.3.20. Trajektoria uzyskana w przegubie 3 podczas symulacji 17.
0 5 10 15 20 25 30 35 40 45-30
-20
-10
0
10
20
30
40
50
60
Położe
nie
[° ]
Czas [s]
Wykres 6.3.21. Trajektoria uzyskana w przegubie 3 podczas symulacji 18.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 87
Korzystając z wyników symulacji 17 i 18 można powiedzieć, że odtwarzanie trajektorii tą
metodą nie jest dokładne i występują pewne charakterystyczne punkty w których robot
zachowuje się w sposób nieoczekiwany. W przypadku gdy parametry modelu na podstawie
którego obliczane jest sterowanie są niedoszacowane (Symulacja 17) charakterystyczne
punkty znajdują się pomiędzy 15° ÷ 20°, oraz 25° ÷ 30°. Natomiast gdy parametry są
przeszacowane (Symulacja 18), charakterystyczne punkty znajdują się pomiędzy położeniami
15° ÷ 20° , oraz 25° ÷ 28°. Trudno powiedzieć czy położenia te mają ze sobą coś wspólnego,
choć zachowanie układu na to wskazuje. W tych zakresach układ źle odtwarza zadaną
trajektorię, natomiast wcześniej dokładność odtwarzania jest nie większa niż 0.3° i widać że
zbliżając się do punktów charakterystycznych maleje (∆θ > 0.3°).
6. Podsumowanie i wnioski
W pracy przedstawiono projekt algorytmu sterowania ślizgowego dla robota PUMA
560 o sześciu stopniach swobody wykorzystany do sterowania pozycją robota. W rozdziale 3
przedstawiono metodę pozwalającą na wyznaczenie modelu matematycznego rozważanego
robota wykorzystującą równania Lagrange’a-Eulera, oraz podano parametry (tabele 3.1-3.3)
opisujące rzeczywistego robota PUMA 560. W rozdziale 4 przedstawiono projektowanie
algorytmu sterowania opartego na metodach sterowania ślizgowego, oraz opis symulacji
sterowania położeniem robota o dwóch stopniach swobody.
Podczas prób implementacji algorytmu sterowania ślizgowego okazało się, że układ
nie działa prawidłowo co mogło wynikać ze sprzęgnięcia układów związanych z przegubami
robota. W takim przypadku wyznaczanie sygnałów sterujących jest skomplikowane i
pracochłonne. Pomimo prób nie dało się zadowalająco wysterować układem o dwóch
stopniach swobody.
W rozdziale 5 zaproponowano zmodyfikowany algorytm sterowania. Polega ona na
odsprzęgnięciu wszystkich stopni swobody robota, co upraszcza projektowanie układu
sterowania ślizgowego. Wykonane symulacje potwierdzają stosowność wykorzystania tej
metody.
Przeprowadzono badania mające sprawdzić właściwość odporności układu na
niedokładną znajomość parametrów fizycznych modelu na podstawie którego wyznacza się
sygnały sterujące, gdyż jest to ważną cechą układu sterowania ślizgowego. W tym celu
przyjęto że masy członów oszacowane są z błędem ±5 %, a momenty bezwładności członów
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 88
z błędem ±10 %. Uzyskane wyniki pokazały, że dla niedokładnie wyznaczonych parametrów
układ sterowania działa poprawnie.
W klasycznej metodzie sterowania ślizgowego w sygnale sterującym przyjęty jest
nieciągły składnik opisany funkcją signum pozwalający na ruch ślizgowy, czyli ruch wzdłuż
powierzchni ślizgowej. Powoduje on, że w rzeczywistych zastosowaniach zauważalne jest
zjawisko tzw.chatteringu czyli wysokoczęstotliwościowych oscylacji układu w stanie
ustalonym. Wykorzystana w symulacjach funkcja z nasyceniem saturation zamiast funkcji
signum pozwala na uciąglenie sygnału sterującego i generowanie sygnału możliwego do
uzyskania w rzeczywistych układach napędowych, oraz wyeliminowanie oscylacji w stanie
ustalonym.
W pracy zbadano jak struktura sterowania wpływa na właściwości układu i
dokładność odtwarzania zadanego położenia. Zastosowano w sygnale sterującym składnik
sterowania równoważnego. Sterowanie równoważne wykorzystywane jest w momencie, gdy
stan opisujący układ znajduje się na powierzchni ślizgowej i jest ciągłym sterowaniem,
odpowiadającym starowaniu przełączającemu, pozwalającym na ruch ślizgowy. Uzupełniona
struktura sterowania o sterowanie równoważne pozwoliła na wyeliminowanie odchyleń we
wszystkich przypadkach i zmniejszenie sygnałów sterujących w przypadku, gdy model robota
miał masy i momenty bezwładności mniejsze od rzeczywistych.
Wykonane symulacje odtwarzania prostoliniowej trajektorii w przegubach metodą „z
punktu do punktu” pokazały, że w przypadku niedokładnie oszacowanych parametrów
obiektu istnieją charakterystyczne zakresy położeń w przegubach robota PUMA 560, w
których układ nie działa poprawnie. W tych zakresach wartość położenia osiąga znaczne
wartości (rzędu 4000÷5000 °) w krótkim czasie, co jest niemożliwe do uzyskania w
rzeczywistym układzie. Poza tymi zakresami układ zachowuje się przewidywalnie i odtwarza
zadane położenia z dostateczną dokładnością, która maleje gdy położenia w przegubach
zbliżają się do zakresów niestabilności.
Na podstawie uzyskanych wyników można stwierdzić, że algorytm sterowania
ślizgowego, zastosowany do sterowania położeniem robota PUMA 560 w przypadku, gdy
odsprzęgnięte są wszystkie stopnie swobody, działa poprawnie. Zaletą wykorzystania tego
algorytmu jest odporność układu na niedokładnie oszacowane parametry modelu obiektu
sterowania. Sygnały sterujące są możliwe do uzyskania w rzeczywistych napędach, co
pozwala na zastosowanie tego algorytmu w rzeczywistym układzie sterującym.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 89
Praca nie wyczerpuje tematu zawiązanego z zastosowaniem sterowania ślizgowego w
sterowaniu robotami, podczas dalszych badań nad poprawą działania układu sterowania
ślizgowego należy rozważyć następujące zagadnienia :
- W pracy parametry regulatora ślizgowego dobrano metodą prób i błędów. Tak
zaprojektowany regulator nie jest optymalny. Można opracować odpowiednie metody
doboru parametrów, najlepiej takie które pozwolą na ich zmianę podczas ruchu, gdyż
dokładność odtwarzania zadanej trajektorii nie musi być identyczna we wszystkich
przegubach.
- Podczas pracy układu występują charakterystyczne zakresy w których układ zachowuje
się niestabilnie. Można podjąć próbę zbadania co wpływa na ich powstawanie, oraz
spróbować znaleźć algorytm generujący sygnał sterujący pozwalający na prawidłowe
sterowanie układu w tych zakresach.
- W pracy przedstawiono projekt i badania algorytmu pozwalającego na osiągnięcie przez
układ zadanego punktu w przestrzeni, przy założeniu że w tym punkcie prędkości i
przyspieszenia kątowe w przegubach robota są zerowe. Można spróbować
zaprojektować odpowiedni algorytm sterowania ślizgowego pozwalający na
pozycjonowanie robota, w którym będą odtwarzane zadane profile położenia i
prędkości pomiędzy położeniem początkowym a położeniem zadanym w każdym z
przegubów.
- Zaproponowany i zbadany w pracy układ sterowania wymaga odtwarzania wszystkich
zmiennych stanu, którymi są położenie i prędkość. Można zaprojektować i zbadać
dyskretny algorytm sterowania ślizgowego, który pozwalałby na sterowanie położeniem
robota jedynie na podstawie pomiaru położenia i można będzie go zastosować w
cyfrowym układzie sterowania.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 90
7. Literatura
[1] Corke P. I., Armstrong-Hélouvry B., 1994, „A search for consensus among model
parameters reported for the PUMA 560 robot”, Proc. IEEE Int. Conf. Robotics and
Automation, vol.1, San Diego , str.1608-1613.
[2] Corke P. I., 1994, „The Unimation Puma servo system”, CSIRO, Australia.
[3] Corke P. I., 1996, „Symbolic Algebra for Manipulator Dynamics”, CSIRO, Australia.
[4] Corke P. I., 1999, „Robotics Toolbox (release 5)”, CSIRO, Australia.
[5] Craig J. J., 1995, „Wprowadzenie do robotyki, mechanika i sterowanie”, WNT,
Warszawa.
[6] Edwards C., Spurgeon S. K., 1998, „Sliding Mode Control: Theory and Applications”,
Taylor & Francis.
[7] Emelyanov S. V., 1967, „Variable Structure Control Systems”, Nauka, Moskwa.
[8] Fu K. S., Gonzalez R. C., Lee C. S. G., 1987, „Robotics: control, sensing, vision, and
inteligence”, McGraw-Hill Book Company.
[9] Gao W., Hung J. C., 1993, „Variable Structure Control of Nonlinear Systems:A New
Approach”, IEEE Transactions on Industrial Electronics vol. 40, pp.45-56.
[10] Hartenberg R. S., Denavit J., 1955, „A kinematic notation for lower pair mechanisms
based on matrices”, Journal of Applied Mechanics vol.77, pp.215-221.
[11] Hejmo W., 1997, „Sterowanie robotami i manipulatorami przemysłowymi: metody i
modele matematyczne”, Wydawnictwo Politechniki Krakowskiej, Kraków.
[12] Hikita H., 1988, „Servomechanisms based on sliding mode control” International
Journal of Control, vol. 48, no. 2, 435-447.
[13] Hung J. Y., Gao W., Hung J. C., 1993, „Variable Structure Control: A Survey” , IEEE
Transactions on Industrial Electronics vol. 40, pp.2-22.
[14] Itkis Y. , 1976, „Control Systems with Variable Structure”, Wiley, New York.
[15] Kim Y. S., Wang K. W., 1993, „On the sliding mode control of structural vibrations via
variable damping”, Mechanical Systems and Signal Processing, 7(4), 335-347.
[16] Morecki A., Knapczyk J., 1993, „Podstawy Robotyki, Teoria i elementy manipulatorów i
robotów”, WNT, Warszawa.
[17] Osówniak P., 1995, „Sterowanie ślizgowe serwonapędu posuwu obrabiarki”, Praca
dyplomowa, WIP PW, Warszawa.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 91
[18] Singh S. N., 1989, „Asimptoticaly decoupled discontinuous control of systems and
nonlinear aircraft maneuver”, IEEE Trans. Aeron. Electron. Systems, vol. AES-25, no.3,
pp.380-391.
[19] Slotine J. J., Sastry S. S., 1983, „Tracking control of nonlinear systems using sliding
surfaces with aplication to robot manipulators”, International Journal of Control, vol.38,
no.2., pp 465-492.
[20] Slotine J. J., Canudas de Wit C., 1991, „Sliding Observers for Robot Manipulators”,
Automatica, vol.27, No.5, pp.859-864.
[21] Utkin V. I., 1977, „Variable structure systems with sliding modes” IEEE Transactions
on Automatic Control, vol. 22, pp.212-222 .
[22] Utkin V. I., 1995, „Sliding Mode Control for Gradient Tracking and Robot Navigation
Using Artificial Potential Fields”, IEEE Transactions on Robotics and Automation, vol.11,
p.247-253.
[23] Young K. K. D., 1978, „Controller design for a manipulator using theory of variable
structure systems”, IEEE Trans. Sys. Man. And Cyb., vol SMC-8, pp. 101-109.
Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 92