background image

1. Podstawowe podzespoły robota.  
Robotem  nazywamy  uniwersalny  system  techniczny  zastępujący  przez  swoje  działanie 
kinematyczne i intelektualne funkcje człowieka. Podstawowe podzespoły robota to: 
-

 

Manipulator  –  utworzony  przez  szereg  ogniw  połączonych  złączami,  które  wspólnie 
tworzą  łańcuch  kinematyczny.  Poszczególne  złącza  są  napędzane  odpowiednimi 
zespołami  napędowymi,  które  zapewniają  ruchy  efektora  manipulatora  w  róŜnych 
kierunkach.  

-

 

Układ  zasilania  –  przetwarza  energię  pierwotną  dostarczaną  do  robota  (najczęściej 
elektryczną)  na  odpowiedni  rodzaj  energii  stosownie  do  rodzaju  zespołów  napędowych 
manipulatora.  W  przypadku  robotów  z  napędami  elektrycznymi  jest  to  zwykle  zestaw 
wzmacniaczy  mocy.  W  przypadku  zespołów  napędowych  pneumatycznych  lub 
hydraulicznych jest to zewnętrzny kompresor z zespołem filtrów i zaworów. 

-

 

System  sensoryczny  –  dostarcza  sterownikowi  robota  informacji  o  stanie  manipulatora  i 
jego  otoczenia.  MoŜe  być  to  realizowane  w  sposób  ciągły  poprzez  pomiar  pozycji 
poszczególnych  osi,  lub  tylko  przez  przesyłanie  informacji  z  dyskretnych  czujników 
połoŜenia.  Sensory  we  współczesnych  robotach  dzielą  się  na  dwie  grupy:  sensory 
wewnętrzne  i  zewnętrzne.  Wewnętrzne  związane  są  z  łańcuchem  kinematycznym 
manipulatora i słuŜą do pomiaru wzajemnych przemieszczeń i prędkości poszczególnych 
złączy. Zewnętrzne słuŜą do pomiarów wzajemnych połoŜeń efektora robota i elementów 
otoczenia.  

-

 

Sterownik  –  realizuje  następujące  funkcje:  przechowuje  w  pamięci  sekwencje  danych 
dotyczących poŜądanych ruchów manipulatora; zbiera i przetwarza informacje z systemu 
sensorycznego robota; inicjuje i koordynuje ruchy poszczególnych zespołów napędowych 
manipulatora; komunikuje się z innymi podzespołami zrobotyzowanego stanowiska. 

 
2. Klasyfikacja struktur kinematycznych robotów.  
Manipulatory klasyfikowane są jako: kartezjańskie, cylindryczne, sferyczne, typu SCARA lub 
wyłącznie ze złączami obrotowymi (stawowe). 
-

 

Manipulator  kartezjański  –  najprostszy,  wszystkie  złącza  są  liniowe  i  zapewniają  ruchy 
wzdłuŜ osi X, Y, Z układu kartezjańskiego. Ruchy odbywają się w ograniczonym zakresie, 
ale  obszar  pracy  manipulatora  jest  bardzo  duŜy  w  porównaniu  z  innymi  strukturami. 
Przestrzeń robocza ma kształt prostopadłościanu. 

-

 

Manipulator  cylindryczny  –  poziome  ramie  jest  zamontowane  na  obrotowej  kolumnie  i 
porusza  się  w  kierunku  pionowym  i  poziomym.  Kolumna  wykonuje  ruch  obrotowy, 
najczęściej  ograniczony  do  kąta  pełnego.  Ramie  moŜe  być  podnoszone  lub  opuszczane 
wzdłuŜ  kolumny  oraz  moŜe  się  wysuwać  w  kierunku  radialnym.  Przestrzeń  robocza  tego 
manipulatora jest fragmentem pionowego cylindra (wydrąŜonego walca). 

-

 

Manipulator sferyczny – powstaje gdy drugie łącze manipulatora cylindrycznego zastąpimy 
złączem  obrotowym.  Ramie  moŜe  poruszać  się  liniowo  w  kierunku  radialnym  i  moŜe  się 
pochylać względem kolumny i wraz z nią obracać się w płaszczyźnie poziomej. Przestrzeń 
robocza jest fragmentem sfery kulistej. 

-

 

Manipulator typu SCARA – posiada dwa pierwsze złącza obrotowe i trzecie liniowe. Osie 
złączy  obrotowych  są  równoległe.  Pierwsze  złącze  realizuje  obrót  ramienia  wokół 
podstawy.  Drugie  złącze  obrotowe  realizuje  ruchy  obrotowe  przedramienia  wokół  osi 
pionowej. Złącza obrotowe realizują ruch w przestrzeni poziomej. Ruch pionowy zapewnia 
trzecie złącze o charakterze liniowym. 

-

 

Manipulator  stawowy  –  wszystkie  jego  złącza  są  obrotowe.  Zaletą  jest  duŜa  przestrzeń 
robocza,  która  ma  kształt  zbliŜony  do  sfery  kulistej.  MoŜliwe  jest  osiągnięcie  punktów  w 
pobliŜu  środka  tej  sfery  oraz  dotarcie  do  wielu  punktów  poza  przeszkodami 
umieszczonymi w polu roboczym.  

Zwykle na końcu ostatniego ogniwa umieszczana jest kiść, która umoŜliwia zamocowanie 

odpowiedniego narzędzia (efektora manipulatora). Kiść jest wyposaŜona w dodatkowe 
zespoły napędowe, które pozwalają na uzyskanie odpowiedniej orientacji efektora. 

  
 
 

background image

3. Opis punktu w róŜnych układach współrzędnych oraz transformacja przesunięcia. 
Niech połoŜenie wybranego dowolnie punktu A będzie opisana w układzie podstawowym {0} 
przy pomocy wektora 

0

r

= [

0

r

xA 

0

r

yA 

0

r

zA

]

T

, a jednocześnie połoŜenie tego punktu będzie 

określone w układzie przesuniętym {1} za pomocą wektora 

1

r

= [

1

r

xA 

1

r

yA 

1

r

zA

]

T

. Do 

wzajemnego określenia połoŜenia obu układów wystarczy podać wektor 

0

p

= [

0

p

xl 

0

p

yl 

0

p

zl

]

T

wyraŜony w układzie podstawowym i podający połoŜenie początku układu {1}.Te trzy 
wektory połączone są zaleŜnością: 

=

zA

yA

xA

zl

yl

xl

zA

yA

xA

r

r

r

p

p

p

r

r

r

1

1

1

0

0

0

0

0

0

która moŜe być zapisana w zwartej postaci jako: 

A

l

A

r

p

r

1

0

0

+

=

  . 

 

4. Podstawowe obroty wokół osi X, Y, Z 

Przekształcenie obrotu wygodnie jest przedstawić za pomocą macierzy. Wektor 
współrzędnych punktu mnoŜymy przez macierz obrotu i mamy wektor współrzędnych po 
obrocie. 

PołoŜenie punktu A w układzie współrzędnych poprzedzającym (0): 

[

]

T

zA

yA

xA

r

r

r

rA

0

0

0

0

=

 

Macierze obrotu: 

Dla osi X

=

θ

θ

θ

θ

θ

cos

sin

0

sin

cos

0

0

0

1

)

,

X

R

 

Dla osi Y

=

θ

θ

θ

θ

θ

cos

0

sin

0

1

0

sin

0

cos

)

,

(Y

R

 

Dla osi Z

=

1

0

0

0

cos

sin

0

sin

cos

)

,

(

θ

θ

θ

θ

θ

Z

R

 

PołoŜenie punktu A w układzie współrzędnych następującym: 

[

]

T

zA

yA

xA

r

r

r

rA

1

1

1

1

=

 

Transformacja obrotu: 

A

A

r

R

r

1

1

0

0

=

 

Przykład: obrót wokół osi X o kąt θ: 

=

zA

yA

xA

zA

yA

xA

r

r

r

r

r

r

1

1

1

0

0

0

cos

sin

0

sin

cos

0

0

0

1

θ

θ

θ

θ

 lub w zwartej postaci: 

A

A

r

X

R

r

1

0

)

,

(

θ

=

 

 

 

 

 

 

 

 

 

background image

5. Podstawowe właściwości macierzy rotacji 

- KaŜda z trzech podstawowych macierzy rotacji jest ortonormalna. Po ludzku: macierz 
odwrotna do macierzy ortonormalnej jest równa macierzy transponowanej
. MoŜna to 
udowodnić przemnaŜając macierz rotacji i transpozycję tej macierzy. 

- Końcowy wynik złoŜenia macierzy obrotów (w rotacjach złoŜonych) zaleŜy od kolejności 
ich wymnaŜania,  

- Macierz rotacji złoŜonej będącej iloczynem macierzy rotacji podstawowych jest macierzą 
ortonormalną (prawdziwe dla dowolnej liczby złoŜeń rotacji podstawowych) 

- Dowolny obrót w układzie współrzędnych moŜe być przedstawiony jako złoŜenie 3 
kolejnych obrotów wokół osi bieŜących układów. NaleŜy podawać nazwy tych osi i kąty 
obrotu wokół nich (np.: XYZ, ZXZ). Kąty tych obrotów to kąty Eulera. MoŜliwe jest 12 
takich kombinacji. Wszystkie moŜliwości są poprawne, jednak naturalne jest XYZ: 

=

=

β

β

β

β

α

α

α

α

γ

β

α

γ

β

α

cos

0

sin

0

1

0

sin

0

cos

cos

sin

0

sin

cos

0

0

0

1

)

,

(

)

,

(

)

,

(

)

,

,

(

,

,

Z

R

Y

R

X

R

R

Z

Y

X

1

0

0

0

cos

sin

0

sin

cos

γ

γ

γ

γ

 

 
6. Rotacja wokół dowolnej osi o zadany kąt. (str. 23) 
Przypadek rotacji o zadany kąt 

θ

 wokół dowolnie wybranej osi przechodzącej przez początek 

układu współrzędnych to przypadek bardziej ogólny. Oś taka moŜe być jednoznacznie 
określona przez przyjęcie na niej wektora jednostkowego u= [u

X

   u

Y

  u

Z

]

T

. Wektor ten oraz 

jego składowe pokazane są poniŜej: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Rotacja w takim przypadku moŜe być traktowana jako złoŜenie pięciu kolejnych 
podstawowych rotacji: 

-

 

dwóch początkowych rotacji, najpierw o kąt 

α

 wokół osi Z, a następnie o kąt 

β

 wokół 

bieŜącej osi Y. Po tych początkowych rotacjach bieŜąca oś Z pokrywa się z kierunkiem 
wektora u

-

 

rotacji głównej o kąt 

θ

 wokół bieŜącej osi Z; 

-

 

dwóch końcowych rotacji, przeciwnych do rotacji początkowych, najpierw o kąt (-

β

wokół bieŜącej osi Y, potem o kąt (-

α

) wokół bieŜącej osi Z. 

Stąd wzór na macierz rotacji złoŜonej:    R(u, 

θ

) = R(Z, 

α

)R(Y, 

β

)R(Z, 

θ

)R(Y, -

β

)R(Z, -

α

Następnie do powyŜszego wzoru naleŜy podstawić macierze rotacji podstawowych, 
powoduje to powstanie macierzy, w której występują funkcje sinus i cosinus kątów 

α

β

 i 

θ

Aby uzyskać ostateczną postać tej macierzy naleŜy skorzystać z relacji pomiędzy 
składowymi wektora a funkcjami trygonometrycznymi kątów 

α

 i 

β

2

2

cos

Y

X

X

u

u

u

+

=

α

 

2

2

sin

Y

X

Y

u

u

u

+

=

α

 

Z

u

=

β

cos

 

2

2

sin

Y

X

u

u

+

=

β

 

 

u

u

u

αααα

 

ββββ

 

θθθθ

 

background image

7. Sprawdź czy podana macierz moŜe być macierzą rotacji 
Macierze rotacji wokół poszczególnych osi: 

=

a

a

a

a

X

R

cos

sin

0

sin

cos

0

0

0

1

)

0

,

(

=

a

a

a

a

Y

R

cos

0

sin

0

1

0

sin

0

cos

)

0

,

(

=

1

0

0

0

cos

sin

0

sin

cos

)

0

,

(

a

a

a

a

Z

R

 

By sprawdzić czy macierz jest macierzą rotacji naleŜy sprawdzić czy nie jest jedną z tych albo 
ich wymnoŜeniem.  
8. Kąty jaw, pitch, roll.  
Podstawowym złoŜeniem  obrotów wokół stałych osi są trzy kolejne obroty wokół osi 

0

X, 

0

Y, 

0

Z, odpowiednio o kąty α, β, γ. Układ ten utoŜsamiamy w tym przypadku z układem 

współrzędnych związanym z ostatnim ogni-wem ruchów regionalnych. Aby odpowiednio 
zoriento-wać narzędzie w przestrzeni, naleŜy wykonać obroty o odpowiednie kąty wokół osi 
tego układu współrzęd-nych. Zwyczajowo kąty te zwane są yaw (po osi X) pitch (po osi Y) 
oraz roll (po osi Z). Kąt yaw odpowiada za odchylenie kierunkowe narzędzia, kąt pitch za 
pochylenie narzędzia, a roll za jego obrót. 

 

yaw   

 

 

 

 pitch    

 

 

 

roll 

Na podstawie rysunku moŜna określić wypadkową postać macierzy rotacji złoŜonej jako: 

(

)

( ) (

) (

)

γ

β

α

γ

β

α

,

,

,

,

,

0

2

0

1

0

0

k

R

j

R

i

R

R

roll

pitch

yaw

=

 

 

9. Transformacje jednorodne – homogeniczne 
 
 
 
 
 
 
 
 
 
Najbardziej ogólnym przepadkiem połoŜenia dwóch układów jest przesunięcie i rotacja. 
Przesuwamy o wektor   

0

P

1

 i mamy nowy układ dokonując obrotu tego układu zgodnie z 

macierzą rotacji 

0

R

1

 otrzymuje się układ ostateczny. 

Związek pomiędzy opisem dowolnego punktu A w obu układach: 

0

r

A

 = 

0

P

1

+

0

R

1

1

r

A

 

Związek ten jest bardziej złoŜony przy składaniu tego typu przekształceń gdyŜ wyraŜenia 
tracą jednorodność i coraz bardziej się komplikują. Aby zachować jednorodność opisu dla 
dowolnych przypadków wzajemnych połoŜeń układów współrzędnych ostatni związek 
zapisuje się w postaci zwartej jako: 

=

1

1

0

1

1

1

0

1

0

0

A

A

r

p

R

r

Wektory o wymiarach 4x1 i postaci  

=

1

r

r)

 są nazywane 

uogólnionymi wektorami połoŜenia, a niekiedy nazywane są równieŜ wektorami 
jednorodnymi lub homogenicznymi. Macierz transformacji o wymiarach 4x4 

=

1

0

p

R

A

 nazywamy jednorodną (homogeniczną) przekształcenia. 

 

background image

 
10. Notacja Denavita-Hartenberga 
Manipulator robota składa się z szeregu ogniw połączonych złączami. Z kaŜdym złączem 
łańcucha kinematycznego moŜna związać kartezjański układ współrzędnych. Przyjmuje się Ŝe 
za podstawę manipulatora ogniwo 0 a kolejne numeruje się od 1 do n. Złącza numeruje się 
kolejno od 1 (przy podstawie manipulatora) do n. 

 

 

Dwa kolejne złącza wraz z układami współrzędnych które są związane z ogniwami zgodnie z 
notacją Denavita-Hartenberga. Z ogniwem i-tym  związany jest i – ty układ współrzędnych 
taki sposób Ŝe:  
Oś  

i

Z jest osią (i+1) złącza a jej zwrot moŜe być przyjęty dowolnie. 

Os 

i

X jest wspólną normalną do osi złączy i – tego  i (i+1) i skierowana jest w stronę ogniw o 

wyŜszych numerach. 
Oś 

i

Y jest uzupełnieniem dwóch poprzednich osi do prawoskrętnego kartezjańskiego układu 

współrzędnych. PoniewaŜ jest ona jednoznacznie określona przez połoŜenia osi 

i

Z  i  

i

pomija się ją by zwiększyć czytelność rysunku 
Zgodnie z notacją Denavita-Hartenberga tylko 4 charakterystyczne wielkości słuŜą 
jednoznacznemu określeniu połoŜenia kolejnego układu współrzędnych względem 
poprzedniego. Wielkości te to: 
- kąt skręcania ogniwa α

i

 mierzony wokół osi 

i

X od  

i-1

Z do 

i

Z, zgodnie z zasadą śruby 

prawoskrętnej. 
- długość ogniwa a

i

 mierzona wzdłuŜ osi 

i

X od   

i-1

Z   do   

i

Z  

- przesunięcie liniowe w złączu d

i

 mierzone wzdłuŜ osi  

i-1

Z  od   

i-1

X   do   

i

- kąt złącza θ

i

 mierzony wokół osi   

i-1

Z  od   

i-1

X   do   

i

X  zgodnie z zasadą próby 

prawoskrętnej.

 

 
 
 
 
 
 
 

background image

11,12: Kinematyka odwrotna: ogólne problemy i przykład postępowania. Problem 
znajdowania wartości kolejnych zmiennych złączowych przy narzuconym połoŜeniu i 
orientacji narzędzia. MoŜliwość rozwiązania zadania kinematyki odwrotnej jest niezwykle 
istotna ze względu na efektywność sterowania manipulatorem robota przemysłowego. 
Zadania do wykonania przez robota są bowiem w sposób naturalny formułowane w 
kategoriach poŜądanych połoŜeń i orientacji narzędzia, wyraŜonych w układzie kartezjańskim 
związanym z podstawą robota. Podwaliny do rozwiązania zadania kinematyki odwrotnej 
stanowi znajomość kinematyki prostej manipulatora. Wektor zmiennych złączowych q jest 
wyraŜony w podzbiorze n-wymiarowej rzeczywistej przestrzeni wektorowej R

n

 (przestrzeń 

złączowa). PołoŜenie i orientacja narzędzia są związane z podzbiorem przestrzeni R

6

 

(przestrzeń konfiguracji narzędzia). Do określenia konfiguracji narzędzia moŜe słuŜyć wektor 
x naleŜący do R

6

. Trzy składowe tego wektora określają połoŜenie narzędzia, pozostałe trzy 

określają orientację narzędzia i są z reguły kątami typu yaw-pitch-roll. W odwrotnym 
problemie kinematycznym nie istnieje bezpośrednia i systematyczna procedura pozwalająca 
na jego rozwiązanie. W związku z tym kaŜdy robot musi być traktowany indywidualnie. Jest 
jednakŜe kilka cech które mają właściwości ogólne: 
Istnienie rozwiązań: 
- jeŜeli manipulator ma operować w przestrzeni kartezjańskiej, to liczba stopni swobody 
łańcucha kinematycznego musi wynosić co najmniej sześć (odstępstwo: narzędzie osiowo 
symetryczne – manipulator o pięciu stopniach swobody, do operowania na płaszczyźnie – 
trzy stopnie swobody); 
- przestrzeń robocza – kształt i wymiary zaleŜą od struktury manipulatora oraz 
dopuszczalnych zakresów zmiennych złączowych. 
Jednoznaczność rozwiązań: 
Przyczyny niejednoznaczności: 
- nadmiarowość stopni swobody łańcucha kinematycznego kinematycznego stosunku do 
wymiarów przestrzeni zadania; 
- występowanie złączy obrotowych w łańcuchu kinematycznym. 
Metody rozwiązywania: 
Nie moŜna określić ogólnego algorytmu przydatnego do rozwiązywania odwrotnego 
zagadnienia kinematycznego dla kaŜdego manipulatora. Metody moŜna podzielić na 
analityczne i numeryczne: 
- rozwiązania analityczne wykorzystują metodę algebraiczną (przekształcenia 
trygonometryczne) lub geometryczną (wykorzystującą geometryczne właściwości figur 
płaskich lub przestrzennych do wyznaczania związków pomiędzy zbiorami rozwiązań). 
Manipulatory dla których istnieją rozwiązania analityczne charakteryzują się tym, Ŝe kąty 
skręcania ich ogniw są wielokrotnością kąta π/2. Rozwiązania te są proste, jeŜeli trzy kolejne 
osie złączy w odcinku ruchów lokalnych przecinają się w jednym punkcie. 
Przy podejściu geometrycznym konieczne jest zdekompowanie przestrzennego zagadnienia 
geometrycznego do szeregu zagadnień planarnych. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

13 Proste i odwrotne zagadnienie kinematyczne dla prędkości 

Ruchy  manipulatora  robota  są  określane  zwykle  w  przestrzeni  konfiguracji  narzędzia.  W 
przestrzeni tej połoŜenie i orientacja narzędzia jest wyraŜana przez wektor jreR

6

. JednakŜe 

wykonywanie załoŜonych ruchów nie odbywa  się w sposób bezpośredni, gdyŜ sterowanie 
robota  jest  realizowane  przez  układ  napędowy  robota,  który  oddziaływuje  na  poszczególne 
złącza  manipulatora.  Konfiguracja  łańcucha  kinematycznego  jest  określona  przez  wektor 
zmiennych  złączowych

n

R

q

.  Relacja  pomiędzy  wektorem  zmiennych  złączowych  i 

wektorem  konfiguracji  narzędzia  jest  określona  przez  równanie  kinematyki  prostej 
manipulatora 

x = f(q) 

Zwykle narzucona jest funkcja czasu x(t), którą naleŜy realizować. Wymaga to przeliczenia 
tej funkcji na odpowiadającą jej zaleŜność q(t) w przestrzeni złączowej. Sposób przeliczania 
zmiennych dla wybranej chwili czasowej omówiono w poprzednim rozdziale i pokazano, Ŝe 
zadanie  takie  moŜe  być  stosunkowo  trudne.  JeŜeli  jednak  narzucona  funkcja  x(t)  jest 
dostatecznie  gładka,  to  moŜna  analizować  zaleŜności  róŜniczkowe  dla  obu  tych  funkcji. 
UŜytecznym będzie zwłaszcza znalezienie związku pomiędzy pochodnymi względem czasu 
tych funkcji, czyli prędkościami złączowymi i kartezjańskimi. 

Ostatnie  równanie  wektorowe  moŜe  być  zapisane  w  postaci  zbioru  sześciu  równań 

skalarnych o postaci 

 

 
zatem róŜniczki zupełne składowych wektora x będą określane przez wyraŜenia 

 

 
Prawe strony tych równań są liniowymi funkcjami przyrostów kolejnych zmiennych 
złączowych. Zatem ostatnie równania mogą być zapisane w zwartej postaci wektorowo-
macierzowej jako    

dx=J(q)dq. 

Tutaj  J  (q)  jest  macierzą  o  wymiarach  6xn  zawierającą  pochodne  cząstkowe  funkcji 
wektorów  ej  f  (q).  Macierz  taka  znana  jest  w  analizie  matematycznej  pod  nazwą  macierzy 
Jakobiego i przyjmuje następującą postać 

 

 

W  robotyce  macierz J(q)  jest  nazywana  krótko  jakobianem  manipulatora. Jakobian moŜe  być 
traktowany  jako  transformacja  wektora  prędkości  złączowych  dq/dt  na  wektor  prędkości  w 
przestrzeni konfiguracji narzędzia dx/dt, zachodzi bowiem zaleŜność 

background image

 

 
Lewa strona powyŜszego związku moŜe być przedstawiona w postaci dwóch składowyd 
prędkości. Pierwszą z nich jest prędkość liniowa narzędzia, a drugą jego prędkość kątowa 

 

W przypadku niektórych manipulatorów jakobian jest macierzą o mniejszej niŜ sześć liczbie 

wierszy.  

Ze względu na poŜądany przebieg trajektorii narzędzia niezbądne jest w wielu 
przypadkachznalezienie zaleŜności wektora prędkości złączowych dq/dt w funkcji wektora 
prędkości kartezjańskich  dx/dt. Tak sformułowany problem nazywa się odwrotnym 
zagadnieniem kinematycznym dla prędkości. 
JeŜeli jakobian manipulatora jest kwadratową macierzą ieosobliwą, to rozwiązanie tego 
zagadnienia jest szczególnie proste i wyraŜa się wzorem 

 

 
Jednym z potencjalnych niebezpieczeństw związanych z wykorzystaniem tej zaleŜności jest 
utrata rzędu jakobianu, wtedy nie istnieje rozwiązanie odwrotnego zagadnienia 
kinematycznego dla prędkości, gdyŜ nie moŜna wyznaczyć macierzy odwrotnej J

-1

(q). 

Konfiguracje, przy których macierz jakobian traci rząd, są nazywane konfiguracjami 
osobliwymi, a odpowiadające im punkty w przestrzeni złączowej lub przestrzeni 
konfiguracji narzędzia są nazywane punktami osobliwymi. 
JeŜeli jakobian jest macierzą kwadratową, to zbiór punktów osobliwych otrzymuje się 
rozwiązując równanie 
Det(J(q)) = 0 
 
14. Metoda wyznaczania modelu dynamiki manipulatora – podstawy. ZłoŜone układy 
zawierające podzespoły mechaniczne moŜna modelować stosując formalizm Lagrange’a. 
Bazuje on na zdefiniowaniu uogólnionych współrzędnych określających połoŜenie mas i 
uogólnionych sił działających na te masy. Dla manipulatora składającego się z szeregu ogniw 
połączonych złączami, które zapewniają n stopni swobody mechanicznej definiuje się 
uogólniony wektor połoŜenia q=[q

1

 q

2

 … q

n

]

T

.

 

Podobnie definuje się wektor uogólnionych sił 

działających działających kolejnych złączach τ=[τ

1

 τ

2

 ... τ

n

]

T

, przy czym składowa τi wektora 

sił odpowiada składowej qi wektora połoŜeń, tzn. Ŝe są one albo wielkościami 
charakterystycznymi dla ruchu liniowego (siła i połoŜenie) albo obrotowego (moment siły i 
połoŜenie kątowe). Niech Ek i Ep oznaczają energię kinetyczną i potencjalną wszystkich mas 
układu. Definiuje się funkcję Lagrange’a jako róŜnicę pomiędzy całkowitą energią kinetyczną 
układu a jego całkowitą energią potencjalną. 

)

(

)

,

(

)

,

(

q

E

q

q

E

q

q

L

p

k

&

&

 

E

k

 – zaleŜy od wektora połoŜeń i wektora prędkości 

E

p

 – zaleŜy od wektora połoŜeń 

 
Ogólne związki pomiędzy funkcją Lagrange’a i siłami działającymi w złączach mogą być 
wyraŜone w postaci układu n równań skalarnych postaci 

n

i

l

q

L

q

L

dt

d

i

i

i

=

,

)

(

τ

&

 

nazywanych równaniami Eulera-Lagrange’a. NaleŜy pamiętać, Ŝe przy wyznaczaniu 
pochodnych cząstkowych funkcji Lagrange’a zmienne q

i

 i q

i

 (z kropką na górze) traktowane 

są jako wzajemnie niezaleŜne. 
 
 

background image

15. Ogólna postać modelu dynamiki manipulatora. 
Zakładamy Ŝe manipulator posiada n stopni swobody, a z jego łańcuchem kinematycznym 
związane są lokalne układy współrzędnych. Aby wyznaczyć równanie modelu, naleŜy 
najpierw określić ogólną postać funkcji Lagrangea a następnie skorzystać z równań Eulera -  
Lagrangea.  W i – tym lokalnym układzie współrzędnych energia kinetyczna poruszającego 
się elementu jest równa: dE

ki

=0.5||v||

2

dm

i

 = 0.5(v

x

2

+v

y

2

+v

z

2

)dm

i

 … całkowitą energię 

kinetyczną i – tego moŜna uzyskać poprzez scałkowanie elementarnej energii po wszystkich 
elementach tego ogniwa.   W przypadku gdy ogniwo moŜe być traktowane jako ciało sztywne 
jedynym źródłem energii potencjalnej jest grawitacja. Niech g =[gx, gy, gz 0]

T

 oznacza 

uogólniony wektor grawitacji wyraŜony w układzie podstawowym. Wtedy energia 
potencjalna elementu dm

i

 którego połoŜenie w układzie jest określone przez wektor  r = T

i

 * 

i

przyjmuje postać:   dE

pi

=-g

T

*r dm = -g

T

T

i

r dm ... energia potencjalna  ogniwa i jest 

otrzymywana po scałkowaniu wyraŜenia po całej masie ogniwa. 

i

i

i

T

mi

mi

i

i

T

pi

m

r

T

g

dm

r

T

g

dE

E

ˆ

ˆ

=

=

=

  

równania na energię kinetyczną i potencjalną pozwalają na określenie postaci funkcji 
Lagranga całego manipulatora. Funkcję tą wstawiamy do l-tego równania Eulera-Lagranga i 
wykonujemy wskazane przez nią całkowania. Kolejne róŜniczkowe równania skalarne dla 
wartości l=1,2…n mogą być ostatecznie zestawione w jedno równanie wektorowo 
macierzowe, które stanowi pełny opis dynamiki manipulatora:  

τ

=

+

+

)

(

)

,

(

)

(

q

h

q

q

c

q

q

B

&

&

&

 

B-macierz inercji operatora nxn, c(q,q) wymiar nx1 wektor sprzęŜeń predkościowych lub sił 
Coriolisa i sił dośrodkowych, h(g) – wektor sił grawitacyjnych, 

τ

 wymiar nx1 zawiera 

uogólnione siły generowane przez zespoły napędowe w kolejnych złączach – wektor sił 
złączowych.    
16.Rodzaje pracy robota przemysłowego: 
-ruch PTP (point to point) wystempuje w prostych czynnosciach manipulacyjnych jak 
przenoszenie obiektów .Wartosci zadane w tego typu ruchu to połoŜenie końcowe i oriętacja 
efektora oraz czas trwania ruchu .nie istotny jest kształt toru. 
-ruch MP multipoints wielopunktowy: gdy na drodze występują przeszkody naleŜy je ominąć 
wprowadzając dodatkowe punkty pośrednie oraz przyjmując poŜądane czasy trwania etapów 
między punktami ,dązymy do minimalizacji czasu trwania. 
-ruch PC (path control) odtwarzanie zadanej ciągłej ścieŜki  (malowanie spawanie) tylko w 
robotach o moŜliwości płynnego stewrowania kaŜdej z osi. 
17.

 

Planowanie trajektorii przy pomocy metody wielomianów stopnia trzeciego. 

Zostanie rozwaŜony problem przemieszczenia efektora z połoŜenia początkowego do 
zadanego połoŜenia końcowego przy narzuconym czasie ruchu (t

f

-t

o

). Rozwiązując zadania 

kinematyki odwrotnej dla obu krańcowych punktów moŜna otrzymać wektory zmiennych 
złączowych 

q

o

 i 

q

f

. Istnieje nieskończenie wiele gładkich funkcji 

q

r

(t), które mogą być uŜyte 

do interpolacji pomiędzy punktami. Funkcja powinna być moŜliwie prosta, aby generowanie 
jej nie obciąŜało nadmiernie sterownika robota. Istnieją co najmniej cztery węzły narzucone 
na q

r

(t), w chwilach t

o

 i  t

f

. Dwa pierwsze wynikają z narzuconych połoŜeń w tych chwilach, 

czyli q

r

(t

o

)=q

o

 i  q

r

(t

f

)=q

f. 

Dwa pozostałe wynikają z faktu, Ŝe w obu krańcowych połoŜeniach 

prędkości powinny być równe zeru, czyli q(to)=q(tf)=0. Te cztery warunki mogą być 
spełnione na przykład przez wielomian stopnia trzeciego o ogólnej postaci: q

r

(t)=a

o

+a

1

(t-

t

o

)+a

2

(t-t

o

)

2

+a

3

(t-t

o

)

3

. RóŜniczkując względem czasu tę funkcję otrzymuje się przebieg zadanej 

prędkości: q

r

(t)=a

1

+2a

2

(t-t

o

)+3a

3

(t-t

o

)

2

. Postać gładkiej trajektorii łączącej oba końcowe 

punkty 

3

0

3

0

2

0

2

0

0

)

(

)

(

)

(

2

)

(

)

(

)

(

3

)

(

t

t

t

t

q

q

t

t

t

t

q

q

q

t

q

f

o

f

f

o

f

r

+

=

 stąd prędkość na tej trajektorii 

będzie wielomianem stopnia drugiego   

2

0

3

0

0

2

0

0

)

(

)

(

)

(

6

)

(

)

(

)

(

6

)

(

t

t

t

t

q

q

t

t

t

t

q

q

q

t

q

f

o

f

f

o

f

r

+

=

 

a przyśpieszenie będzie miało charakter liniowy 

)

(

)

(

)

(

12

)

(

)

(

6

)

(

0

3

0

2

0

0

t

t

t

t

q

q

t

t

q

q

q

t

q

f

o

f

f

o

f

r

+

=

  

Z ostatniej postaci wynika, Ŝe na obu końcach trajektorii zadanej będą występowały skoki 
przyśpieszenia, co oczywiście jest wadą zastosowanego podejścia. 

background image

 
18. Planowanie trajektorii metodą odcinków liniowych ze złączkami parabolicznymi
Najprostszą postacią funkcji łączącej punkt początkowy z końcowym dla trajektorii 
jednosegmentowej jest: 

f

f

f

r

t

t

t

t

t

t

t

q

t

t

a

a

q

t

q

>

<

+

=

0

0

0

1

0

0

)

(

)

(

 

Tylko Ŝe funkcja ta charakteryzuje się skokami prędkości zadanej w punktach początkowym i 
końcowym. Aby wygenerować dostatecznie gładką funkcję moŜna do tego liniowego 
przebiegu dodać dwa paraboliczne połączenia które zapewnią ciągłość prędkości na takiej 
trzyodcinkowej trajektorii. Na odcinkach parabolicznych prędkość zmiana się liniowo w 
czasie a przyśpieszenie ma wartość stałą. 
ZałoŜenia początkowe: oba połączenia paraboliczne charakteryzują się taką samą 
bezwzględną wartością przyśpieszenia 

m

q

..

 wtedy przebieg q(t) będzie symetryczny względem 

punktu 

(

) (

)





+

+

f

f

q

q

t

t

0

0

2

1

,

2

1

. Odcinki paraboliczne muszą być tak dobrane aby 

spełniać więzy dla prędkości 

( )

0

)

(

.

=

=

f

t

q

t

q

&

. Przebieg taki przedstawia rysunek: 

 

 
Podstawą wyznaczenia zaleŜności pozwalających na zaplanowanie jednosegmentowej 
trajektorii jest porównanie prędkości na końcu odcinka parabolicznego z prędkością na 
odcinku liniowym z uwzględnieniem symetrii względem punktu środkowego. 
Ostatecznie otrzymujemy równanie kwadratowe w którym niewiadomą jest czas trwania 
odcinka parabolicznego 

t: 

0

)

(

)

(

0

2

=

+

q

q

t

q

t

q

f

m

m

τ

&

&

&

&

 gdzie 

0

t

t

f

=

τ

 

Tylko jedno rozwiązanie posiada sens fizyczny: 

m

f

q

q

q

t

&

&

0

2

2

2

=

τ

τ

 

Aby wyraŜenie podpierwiastkowe było dodatnie naleŜy przyjąć wystarczająco długi czas 

trwania segmentu: 

m

f

q

q

q

&

&

0

2

τ

 

Gdy w ostatnim wzorze zachodzi równość to czas trwania części liniowej spada do zera i 
trajektoria składa się z faz rozpędzania i hamowania. 
 
W bardziej ogólnym przypadku projektowania naleŜy rozwaŜyć trajektorię wielosegmentową 
gdzie pod uwagę bierzemy niezaleŜnie kaŜdą składową wektora q

r

(t). JednakŜe wówczas 

naleŜy mieć na uwadze Ŝe wewnętrzne punkty trajektorii stają się punktami przybliŜonymi. W 
związku z tym zakłada się Ŝe trajektoria powinna w zasadniczych fragmentach kaŜdego z 
segmentów przebiegać wzdłuŜ prostych łączących punkty węzłowe a w pobliŜu kaŜdego 
punktu węzłowego wprowadzane jest połączenie paraboliczne pozwalające na gładkie 
przejście do kolejnego segmentu.  
Odchylenie od punktów pośrednich maleje w miarę wzrostu przyśpieszeń zespołów 
napędowych które oczywiście mają zawsze ograniczone wartości . 

background image

Taki sposób nie budzi zastrzeŜeń w przypadku punktów pośrednich które wprowadzamy 
tylko w celu ominięcia przeszkód.  
Jednak metodę tę moŜna udoskonalić tak by zapewnić dokładne przejście przez punkt 
węzłowy. W tym celu wprowadza się pseudo-punkty leŜące na prostej przechodzącej przez 
zadany punkt i znajdujące się po obu jego stronach. 

 

 
Minimalna odległość między tymi punktami musi być tak dobrana aby oba odcinki 
paraboliczne połączyły się w punkcie węzłowym. Jest oczywiste Ŝe wprowadzenie dwóch 
punktów pośrednich wydłuŜa czas realizacji trajektorii. 
 
19. Ogólna struktura układu sterowania pozycyjnego robota. 
Podstawowym zadaniem układu sterowania robota jest takie sterowanie zespołów 
napędowych, aby efektor robota moŜliwie najdokładniej realizował zadaną trajektorię. 
Najpopularniejszym rodzajem pracy robota jest realizacja ruchów jego manipulatora w 
przestrzeni swobodnej, bez kontaktu z elementami otoczenia. Takie operacje jak przenoszenie 
detali zawierają oczywiście fragmenty ruchów, w których występuje kontakt z otoczeniem, 
lecz czas tego kontaktu jest stosunkowo niewielki w porównaniu do ogólnego czasu ruchu 
efektora. Zatem warto tak planować trajektorię ruchów swobodnych i realizować ją w sposób 
moŜliwie dokładny, aby zwiększyć szybkość wykonywania operacji technologicznych. 
Układ sterowania robota, podobnie jak układ sterowania kaŜdego obiektu dynamicznego, 
składa się z szeregu typowych podzespołów tworzących razem zamknięty układ regulacji. 
Cechą zamkniętego układu regulacji jest bieŜące porównanie zachowania się przebiegów 
wyjściowych układu z załoŜonymi i takie sterowanie obiektu, aby minimalizować uchyb 
regulacji. 
Ogólna struktura zamkniętego układu sterowania pozycyjnego robota. 

 

Manipulator jest wielowymiarowym obiektem regulacji, stąd wszystkie zaznaczone na tym 
rysunku sygnały są n – wymiarowymi wektorami, a przedstawione produkty są faktycznie 
złoŜone z n podzespołów. Zespoły napędowe manipulatora są zasilane ze wzmacniaczy mocy, 
w sposób narzucony przez regulator. Z kolei regulator wypracowuje swój sygnał wyjściowy 
na podstawie porównania trajektorii zadanej z trajektorią rzeczywistą. Najczęściej 
porównanie to ma postać wypracowania aktualnego wektora uchybu regulacji 
e(t) = q

r

(t) - q(t), chociaŜ w niektórych układach regulacji uwzględnia się historię przebiegu 

tego uchybu lub prędkość zmian uchybu regulacji 
 
 
 
 
 
 
 

background image

20.Klasyczny układ sterowania robota.  
Większość robotów przemysłowych jest wyposaŜona w zespoły napędowe z silnikami prądu 
stałego i przekładniami redukującymi prędkość obrotową. KaŜdy zespół napędowy jest 
sterowany w układzie zamkniętym ze sprzęŜeniem pozycyjnym tworząc tak zwany 
serwonapęd pojedynczej osi. Typową strukturę tego układu przedstawia poniŜszy rysunek. 

   

Silnik prądu stałego jest sterowany prądowo ze wzmacniacza mocy generującego I

a

, moment 

bezwładności wirnika J

m

. Wirnik silnika jest połączony ramieniem manipulatora przez 

przekładnie mechaniczną o przełoŜeniu 1:k. Wielkość J

i

 jest efektywną bezwładnością 

ramienia widzianą z wału wyjściowego przekładni a b

f

 jest współczynnikiem tarcia 

wiskotycznego. Układ sensoryczny słuŜy do pomiaru połoŜenia złącza q(t) i jej prędkości 
q*(t). Liniowy sterownik składa się ze wzmacniacza mocy, a jego sygnał wyjściowy jest 
generowany na podstawie uchybu połoŜenia uwzględnianego ze współczynnikiem wagowym 
k

p

 i sprzęŜenia prędkościowego uwzględnianego ze współczynnikiem wagowym k

p

 
 
21.Metoda wyznaczonego momentu.  
Model dynamiki sztywnego manipulatora: B(q)q’’+c(q,q’)+h(q)+f(q,q’)= 

τ

 gdzie B(q) inercja 

manipulatora, c(q,q’) siły sprzeŜeń prędkościowych h(q) siły grawitacyjne f(q,q’) siły 
tarcia.Na podstawie tego równania moŜemy dla kaŜdej zadanej trajektorii qr(t) wyznaczyć 
odpowiadający jej przebieg wektora uogólnionych sił napędowych  

τ

r(t) gdy trajektoria jest 

dostatecznie gładka to moŜliwe jest wygenerowanie przebiegu wektora sił napędowych przez 
zespół napędowy robota. 
 
 
 
 
 
23.Struktura układu napędowego oraz ogólne właściwości napędów robotów. 
Podstawowymi podzespołami systemu napędowego robota są: źródło energii pierwotnej, 
konwerter energii, zespoły sterowanych zaworów, elementy wykonawcze – którymi są 
siłowniki lub silniki wraz z przekładami, układy pomiarowe, regulatory poszczególnych osi 
oraz sterownik nadrzędny. Pokazana struktura  systemu napędowego robota nie zaleŜy od 
tego jaki jest rodzaj napędu (elektryczny, hydrauliczny, pneumatyczny). W tych 3 
przypadkach są inne elementy wykonawcze, zespoły sterowanych zaworów oraz konwerter 
energii. Pozostałe elementy będą bardzo podobne, dotyczy to zwłaszcza sterownika 
nadrzędnego i regulatorów osi. Urządzenia do pomiaru połoŜenia i prędkości osi w zasadzie 
nie zaleŜą od czynnika energetycznego przekształcanego na pracę mechaniczną, a związane 
są raczej z rodzajem złącza. Podstawowe właściwości napędów: Całkowita sprawność, Moc z 
jednostki masy napędu, maksymalna siła z jednostki powierzchni czynnej. 

background image

 
24. Cechy charakterystyczne napędów elektrycznych robotów. 

Napędy elektryczne są powszechnie stosowane w robotach stacjonarnych i mobilnych. 
Spowodowane to jest m. in. następującymi ich zaletami: 

-

 

Prosty sposób dostarczania i konwersji energii 

-

 

Dobre dostosowanie do sterowania elektronicznego 

-

 

Wysoka sprawność energetyczna 

-

 

Dokładność i powtarzalność lepsza niŜ w przypadku napędów płynowych 

-

 

Nie zanieczyszczanie środowiska i stosunkowo cicha praca 

Napędy elektryczne stosowane w robotyce charakteryzują się zakresem generowanych 
momentów napędowych od 0.1 – 100 Nm i mocą 0.1 – 10 kW. Kw. W odróŜnieniu od 
silników elektrycznych ogólnego stosowania, 

silniki do robotów musza posiadać 

następujące cechy: 

-

 

Mała bezwładność wirnika 

-

 

DuŜa wartość momentu generowanego w stosunku do masy silnika 

-

 

DuŜa wartość stosunku momentu szczytowego do nominalnego 

-

 

DuŜy zakres regulowanej prędkości obrotowej 

-

 

Gładki ruch wirnika z ograniczoną pulsacja prędkość i momentu 

-

 

Wysoka precyzja pozycjonowania napędu 

-

 

Czterokwadrantowa praca, czyli praca silnikowa lub prądnicowa w obu kierunkach 
(moŜliwa do uzyskania dzięki zastosowaniu wzmacniaczz z modulacją szerokości 
impulsów) 

Charakterystyka zespołu napędowego zaleŜy takŜe od podzespołów mechanicznych i 
elektronicznych oraz sposobu wewnętrznego sterowania. PoŜądane jest, aby układ napędowy 
zachowywał się w przybliŜeniu jak element proporcjonalny, czyli aby sygnał wyjściowy 
stosunkowo szybko i bez przeregulowań dochodził do zadanej wartości określonej przez 
poziom sygnały wejściowego. 
Istnieją 2 grupy napędów elektrycznych stosowanych w robotyce: 

-

 

Napędy z wysokoobrotowym silnikiem i przekładnią redukcyjną – najpopularniejsze; 
przekładnia redukuje prędkość i powiększa generowaną siłę; najczęściej stosowane są 
silniki o 1500-6000 obr/min i przekładni 1:50 – 1:200 

-

 

Bezprzekładniowe napędy z wysokomomentowym silnikiem 

Rodzaje silników stosowanych w napędach z przekładnią redukcyjną: 

-

 

Silniki pradu stałego z mechanicznym komutatorem i magnesami trwałymi 

-

 

Bezszczotkowe silniki z magnesami trwałymi – większa niezawodność, bo nie ma 
komutatora, mniejsze zakłócenia el-magn., lepsze odprowadzanie ciepła z uzwojeń, 
mniejsza inercja wirnika, waga i wymiary niŜ klasyczny silnik 

-

 

Silniki krokowe – z magnesami trwałymi na wirniku – mała sprawność <- ograniczony 
zakres generowanych momentów, uŜywane w małych robotach; o zmiennej reluktancji – 
przyspieszenie wirnika nieciągłe, wymagają specjalnej procedury sterującej zasilaniem 
poszczególnych cewek, uŜywane w robotach specjalnych precyzyjnych 

-

 

Silniki indukcyjne – prosta konstrukcja, niezawodność, duŜy zakres prędkości obrotowej i 
moment napędowy przy zatrzymanym wirniku, duŜa sprawność energetyczna, trudne 
sterowanie -> wąskie zastosowanie 

 
25.Cechy napędów pneumatycznych. 
Napędy pneumatyczne są obecnie stosowane w lekkich manipulatorach robotów 
przemysłowych o stosunkowo małej dokładności i robotach kroczących bez względu na ich 
strukturę kinematyczną. Podstawową zaletą układów pneumatycznych jest prostota 
konstrukcji, niski koszt i wysoka niezawodność pracy. Napędy te mogą być równieŜ z 
powodzeniem stosowane w środowiskach wybuchowych lub naraŜonych na promieniowanie 
radioaktywne, gdzie stosowanie napędu elektrycznego jest wykluczone. 
Cechy napędów pneumatycznych robotów: siłowniki jednostronnego działania ze spręŜyną 
zwrotną, siłowniki dwustronnego działania, siłowniki beztłoczyskowe o sprzęŜeniu 
magnetycznym.  
 

background image

26.Czujniki połoŜenia i prędkości stosowane w robotyce. 
Podstawowymi sensorami wewnętrznymi pośrednimi są czujniki połoŜenia. Najczęściej 
stosowane są następujące rodzaje czujników: potencjometry, transformatorowe czujniki 
połoŜenia kątowego (resolwery), przetworniki kodowe, przetworniki obrotowe-impulsowe.  
Prędkość w ruchu obrotowym czy liniowym moŜe być otrzymywana przez róŜniczkowania 
połoŜenia względem czasu. W zasadzie moŜna stosować tę metodę w dwóch wariantach. W 
pierwszym róŜniczkowanie odbywa się w sposób analogowy, w drugim cyfrowy. Obie te 
metody są wykorzystywane we współczesnych robotach przemysłowych. Do pomiaru 
prędkości z wykorzystaniem róŜniczkowania analogowego stosowane są  prądniczki 
tachometryczne (liniowy związek pomiędzy siłą elektromotoryczną indukowaną w cewce a 
pochodną strumienia magnetycznego skojarzonego z tą cewką). Do cyfrowego stosuje się 
przetworniki obrotowo-impulsowe lub obrotowo kodowe i opiera się na przybliŜaniu 
pierwszej pochodnej połoŜenia kątowego przez odpowiednią róŜnicę pierwszego rzędu. 
 
 
27.Czujniki sił i momentów stosowane w robotyce.  
głównie stosujemy metody bezpośrednie –nadgarstkowy czujnik sił uogólnionych czujnik jest 
przed uchwytem narzędzia czujnik ten zawiera element o kształcie krzyŜa na kaŜdym z 
ramion są czujniki odkształceń działające na zasadzie zmienej rezystancji na podstawie 
pomiaru rezystancji moŜna wnioskować o siłach działających w 3 kierunkach. Ortogonalnych 
oraz momentow sił wokół tych osi.-czujniki palcowe umieszczane na wewnętrznych 
częsciach chwytaka są to elementy z pasków elastycznych przewodzących na podstawie 
pomiaru rezystancji uzyskujemy informacje o pochwyceniu elementu .Bardziej wyrafinowana 
wersja to zespół pasków lub walcow łączonych w wiersze i kolumny co ułatwia ich 
polączenie i zastosowanie.   
 
 
28.Kierunki rozwoju systemów sensorycznych robotów. 
Współczesny rozwój robotyki wskazuje na potrzebę szerszego wykorzystania zewnętrznych 
sensorów połoŜenia. Są nimi zwykle czujniki optoelektroniczne, w tym laserowe, czujniki 
ultradźwiękowe oraz systemy wizyjne, Szczególne nadzieje związane są z systemami 
wizyjnymi robotów przemysłowych. Istnieje juŜ wiele udanych aplikacji przemysłowych z 
wykorzystaniem kamer CDD. Zwykle stosowany jest standard telewizyjny polegający na 
akwizycji obrazów z częstotliwością 25Hz. Systematycznie tanieją kamery i przetworniki o 
bardzo duŜych szybkościach akwizycji obrazów (do 1000 na sekundę), które pozwalają juŜ na 
efektywną realizację sprzęŜenia wizyjnego w torze sterowania robota przemysłowego. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

29.Metody programowania robotów.  

Programowanie robota to wprowadzenie do pamięci sterownika wszystkich informacji 

niezbędnych do realizacji poŜądanych trajektorii i interakcji z otoczeniem. Metody 
programowania robotów moŜna podzielić na trzy grupy: programowanie sekwencyjne, 
programowanie przez uczenie, programowanie tekstowe. 

Cechy programowania sekwencyjnego. 
Programowanie sekwencyjne było powszechnie stosowane w starszych konstrukcjach 
robotów z napędami hydraulicznymi lub pneumatycznymi i jest w dalszym ciągu stosowane 
w konstrukcjach, które nie posiadają moŜliwości pomiaru bieŜących wartości zmiennych 
złączowych. Na kaŜdej osi robota umieszczony jest zestaw mikro-wyłączników 
mechanicznych lub fotoelektrycznych. Po zadaniu pozycji ograniczników ruchu osi, 
programowanie sprowadza się do zadawania kolejności ruchów osi oraz zaciskania lub 
zwalniania chwytaka. W kaŜdym kroku wykonywany jest ruch tylko jednej osi określonego 
połoŜenia. W pierwszych robotach wykorzystujących tą metodę, programowanie odbywało 
się za pomocą matrycy diodowej – wiersze odpowiadały poszczególnym osiom manipulatora, 
a kolumny kolejnym krokom programu. Później matryca diodowa została zastąpiona 
pamięciami elektrycznymi programowanymi przy uŜyciu prostej klawiatury. 
Zaletą tej metody programowania jest bardzo duŜa prostota i czytelność struktury programu. 
Podstawową wadą jest brak moŜliwości koordynacji ruchów w kilku złączach. Zatem metoda 
ta jest odpowiednia do programowania prostych, powtarzalnych czynności manipulacyjnych, 
typowych  dla  obsługi  maszyn.  Nie  moŜna  jednak  realizować  ruchów  po  zadanych  torach, 
gdyŜ naleŜałoby przedstawić je w postaci dyskretnych punktów w przestrzeni roboczej,  a na 
to nie pozwala z reguły pojemność pamięci. 
Programowanie przez uczenie. 
Polega  na  przeprowadzeniu  manipulatora  wzdłuŜ  zadanej  trajektorii  przy  jego  ręcznym 
sterowaniu,  z  wykorzystaniem  panelu  sterowania  i  zapamiętaniu  tej  trajektorii.  Panel 
sterowania  słuŜy  do  niezaleŜnego  zadawania  ruchu  poszczególnych  osi,  przy  czym  w  fazie 
uczenia sterowanie osi odbywa się w torze otwartym. Sygnały wyjściowe systemu sensorów 
wewnętrznych  są  wykorzystywane  do  zapamiętywania  trajektorii  z  dostatecznie  duŜą 
rozdzielczością.  Panel  sterowania  często  jest  wyposaŜony  w  joystick  ułatwiający 
sprowadzenie  efektora  do  poŜądanej  pozycji.  Z  panelu  sterowania  wprowadzane  są  równieŜ 
instrukcje  dodatkowe:  otwieranie  i  zamykanie  chwytaka,  czekanie  przez  określony  czas, 
nadawanie  odpowiednich  wartości  dwustanowym  wyjściom  zewnętrznym  uruchamiającym 
inne  urządzenia.  Kolejne  instrukcje  podstawowe  i  dodatkowe  są  zapamiętywane  w  pamięci 
programu  i  w  trakcie  jego  wykonywania  są  poddawane  interpretacji.  Programowanie  przez 
uczenie  zapewnia  kontrolowanie  procesu  tworzenia  instrukcji,  umoŜliwia  ich  graficzne 
przedstawianie  na  odpowiednich  wyświetlaczach  oraz  poprawianie  wprowadzonych 
instrukcji.  
Programowanie tekstowe.  
Polega na tworzeniu w trybie off-line symbolicznego zestawienia poŜądanych operacji robota 
przy  uŜyciu  języka  programowania.  Instrukcje  języka  opisują  podstawowe  ruchy  robota, 
działanie  chwytaka  i  obsługę  wejść  i  wyjść  układu  sterowania.  Poszczególne  pozycje 
manipulatora  są  reprezentowane  przez  zmienne  nazwowe  stanowiące  parametry  formalne 
instrukcji.  Instrukcje  wprowadzania  danych  przyporządkowują  tym  zmiennym  wartości 
rzeczywiste.  Języki  programowania  tekstowego  zawierają  standardowe  instrukcje  skoków 
bezwarunkowych i warunkowych, tworzenia pętli, arytmetyczne i logiczne. W zaleŜności od 
wykorzystywanej metody opisu operacji wykonywanych przez robota, języki programowania 
moŜna podzielić na: 
–  Języki  programowania  powstałe  w  wyniku  rozszerzenia  lub  modyfikacji  typowych 
języków,   
    nazywane językami robotycznie-zorientowanymi.  
– Języki programowania obiektowo-zorientowane. 
 
 
 
 

background image

30. Języki programowania robotów 
Wykorzystywane są w programowaniu tekstowym. W zaleŜności od wykorzystywanej 
metody opisu operacji wykonywanych przez robota, języki programowania dzielimy na 2 
grupy: 

Języki programowania powstałe w wyniku rozszerzenia lub modyfikacji typowych języków, 

nazywane językami robotycznie zorientowanymi (robot-oriented programming languages) – 
program składa się z szeregu instrukcji zwanych makro-ruchami, które mogą dotyczyć opisu 
przemieszczania poszczególnych ogniw łańcucha kinematycznego lub w zaawansowanych 
wypadkowego ruchu efektora. Syntaktyka przypomina np. BASIC, FORTRAN, PASCAL, 
LISP. Przykładowe języki to AL, VAL 

Języki programowania obiektowo-zorientowane (object-oriented lub task-level 

programming languages) – bazują na zdefiniowaniu modelu otoczenia robota. Poszczególne 
obiekty otrzymują nazwy i parametry określające ich kształt i wymiary oraz 
przyporządkowanie lokalnych układów współrzędnych. W programie określa się kolejno, 
które z obiektów mają być przemieszczane i w jaki sposób (pozycyjnie z zadaną wartością lub 
siłowo w określonym kierunku). System programowania posiada edytor, kompilator lub 
interpreter oraz interfejs wprowadzania danych obiektowych, np. z baz danych. Organizacja 
przesyłu danych powinna być zgodna z systemami CAD/CAM. Przykład: AUTOPAS