politechnika warszawska wydziaŁ mechatroniki...

92
POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki i Robotyki Specjalność: 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

Upload: phamthuan

Post on 28-Feb-2019

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 2: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 3: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 4: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 5: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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):

Page 6: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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ą

Page 7: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 8: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 9: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 10: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 11: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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 ×∈ .

Page 12: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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ę

Page 13: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 14: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 15: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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 )

Page 16: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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 .

Page 17: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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°

Page 18: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 19: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 20: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 21: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 22: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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)

Page 23: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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 θθ "+=~

Page 24: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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)

Page 25: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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ć:

Page 26: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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θ"

( ) ( ) 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 θθθ """ ,, .

Page 27: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 28: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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:

Page 29: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 30: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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:

Page 31: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 32: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 33: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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)

Page 34: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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)

Page 35: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 36: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 37: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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):

Page 38: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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:

Page 39: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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 .

Page 40: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 41: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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)

Page 42: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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:

Page 43: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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).

Page 44: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 45: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 46: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 47: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 48: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 49: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 50: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 51: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 52: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 53: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 54: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 55: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 56: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 57: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 58: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 59: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 60: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 61: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 62: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 63: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 64: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 65: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 66: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 67: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 68: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 69: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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)

Page 70: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 71: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 72: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 73: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 74: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 75: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 76: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 77: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 78: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 79: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 80: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 81: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 82: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 83: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 84: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 85: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 86: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 87: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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

Page 88: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 89: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 90: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 91: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

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.

Page 92: POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI …grafit.mchtr.pw.edu.pl/~mozaryn/publikacje/Jakub_Mozaryn_msc_2001.pdf · POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHATRONIKI Instytut Automatyki

Jakub Możaryn Modelowanie układu sterowania ślizgowego robota PUMA 560 92