background image

 

 

POLITECHNIKA ŚLĄSKA 

WYDZIAŁ ELEKTRYCZNY 

KATEDRA MECHATRONIKI 

 

Instrukcja do ćwiczenia laboratoryjnego 

Przedmiot: 

Sterowanie i programowanie robotów   

Symbol 

ćwiczenia: 

MP 

 

Tytuł ćwiczenia: 

Wyznaczanie przestrzeni roboczej 
manipulatora płaskiego 

SPIS TREŚCI 

 

Spis rysunków 

1. 

Cele ćwiczenia 

2. 

Podstawowe wiadomości 

 

3. 

Laboratoryjne stanowisko badawcze  

 

3.1. 

Obiekt badany 

 

3.2. 

Oprogramowanie 

 

3.3. 

Program ćwiczenia - wykaz zadań do realizacji 

 

4. 

Przykład realizacji zadania –  

 

5. 

Raport 

 

6. 

Pytania 

 

7. 

Literatura 

 

background image

STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia 

laboratoryjnego 

 

 

 

 

Wyznaczanie przestrzeni roboczej manipulatora płaskiego 

SPIS RYSUNKÓW 

1. 

 

 

2. 

 

 

3. 

 

 

4. 

 

 

5. 

 

 

6. 

 

 

7. 

 

 

8. 

 

 

9. 

 

 

background image

STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia 

laboratoryjnego 

 

 

 

 

Wyznaczanie przestrzeni roboczej manipulatora płaskiego 

1. CELE ĆWICZENIA 

Celem ćwiczenia jest: 

– wyznaczenie przestrzeni roboczej manipulatora płaskiego o trzech stopniach swobody, 

–  wyznaczenie  przestrzeni  roboczej  manipulatora  płaskiego  o  parametrach  geometrycznych 

robota Lynx 6. 

 

2. PODSTAWOWE WIADOMOŚCI 

W celu wyznaczenia przestrzeni roboczej manipulatora należy wykonać następujące kroki: 

1)  Wyliczyć macierz 

n

T

0

- kinematyka prosta manipulatora, 

2)  Określić zakresy ruchu wszystkich przegubów, 
3)  Ustawić wszystkie przeguby w jednym położeniu ekstremalnym (np. minimum)  
4)  W kolejności od pierwszego do ostatniego przegubu przemieścić do drugiego 

położenia ekstremalnego (np. maksimum) rejestrując ruch końcówki roboczej, 

5)  Powtórzyć krok 4 w odwrotnym kierunku i odwrotnej kolejności ruchu przegubów. 
6)  Sprawdzić, czy gdzieś nie pominięto pewnych przestrzeni roboczych wynikających 

z zakresów ruchu przegubów. 

7)  Powtórzyć kroki 4 i 5 modyfikując algorytm ruchu przegubów z uwzględnieniem 

przestrzeni pominiętych. 

 
2.1. Notacja Denavita-Hatenberga 
Kinematyka jest nauką zajmującą się badaniem ruchu, bez uwzględnienia przyczyn ruch ten 
wywołujących.  Kinematyka  opisuje  położenie  i  ruch  członów  robota  oraz  pochodne 
wyższych  rzędów.  Kinematyka  opisuje  więc  geometryczne  i  czasowe  aspekty  ruchu. 
Kinematykę w robotyce można podzielić na kilka działów: 
- kinematyka prosta położenia, 
- kinematyka prosta prędkości, 
- kinematyka odwrotna położenia, 
- kinematyka odwrotna prędkości. 
Zadaniem  kinematyki  prostej  położenia  jest  obliczenie  położenia  i  orientacji  konkretnego 
punktu  robota  (np.  końcówka  robocza)  na  podstawie  informacji  o  aktualnych  pozycjach 
przegubów.  Zadanie  kinematyki  prostej  położenia  jest  zadaniem  jednoznacznym  tzn.  jednej 
wartości nastaw przegubów odpowiada dokładnie jedno położenie badanego punktu. 
Zadaniem kinematyki odwrotnej położenia jest obliczenie pozycji przegubów wymagane do 
osiągnięcia, przez określony punkt (np. przez końcówkę roboczą) określonej pozycji. Zadanie 
to  jest  niejednoznaczne.  Nawet  w  prostych  konfiguracjach  robotów  (robot  z  łokciem) 
możliwych jest kilka rozwiązań. 
Matematyczny  opis  konfiguracji  członów  robota  za  pomocą  czterech  parametrów  (długość, 
skręcenie,  przesunięcie,  kąt  konfiguracji)  nosi  nazwę  Notacji  Denavita-Hatenberga
Wprowadzając  zmienne  przegubowe  dla  obrotu  członów  lub  ich  translacji  (przesunięcia) 
można przeprowadzać obliczenia kinematyki dla dowolnych ustawień przegubów. 
Położenie  każdego  członu  względem  poprzedniego  jest  określone  macierzą  przekształcenia 
jednorodnego
  (A)  składającą  się  z czterech  podstawowych  ruchów  (wzór  1)  opisanych 
wzorami (2): 

,

,

,

,

x

a

x

d

z

z

i

Rot

Trans

Trans

Rot

A

 

(1) 

background image

STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia 

laboratoryjnego 

 

 

 

 

Wyznaczanie przestrzeni roboczej manipulatora płaskiego 

1

0

0

0

0

1

0

0

0

0

0

0

,

c

s

s

c

Rot

z

   

1

0

0

0

0

0

0

0

0

0

0

1

,

c

s

s

c

Rot

x

 

1

0

0

0

1

0

0

0

0

1

0

0

0

0

1

,

d

Trans

d

z

 

 

1

0

0

0

0

1

0

0

0

0

1

0

0

0

1

,

a

Trans

a

x

 

(2) 

Budowa macierzy A została przedstawiona we wzorze 3: 

1

0

0

0

0

d

c

s

as

s

c

c

c

s

ac

s

s

c

s

c

A

i

  

 

   

   

1

1

3

1

1

3

3

3

1

x

x

x

x

i

i

i

s

f

T

R

T

A

 

(3) 

Gdzie  R  –  macierz  rotacji,  T  –  macierz  translacji  (przesunięcia),  s  –  skala,  f  –  perspektywa. 
W robotyce wektor f oraz skalar s mają stałe wartości. 
W  celu  wyliczenia  położenia  punktu  w bazowym  układzie  współrzędnych  należy  wyliczyć 
macierz przekształcenia (T): 

n

n

A

A

T

...

1

0

 

(4) 

Gdzie  0  to  bazowy  układ  współrzędnych,  natomiast  n  to  transformowany  układ 
współrzędnych, macierze A

1

 do A

n

 to wszystkie macierze przekształceń jednorodnych, przez 

które następuje transformacja z układu n do układu 0
 
Algorytm Denavita-Hatenberga: 
1) Narysować schemat łańcucha kinematycznego manipulatora. 
2) Umieścić i oznaczyć osie przegubów z

0

, … ,z

n-1

3) Przyjąć bazowy układ współrzędnych. Jego początek umieścić dowolnie na osi z

0

. Osie x

0

 

y

0

 wybrać tak, aby układ był prawoskrętny. Dla i = 1 , … , n-1 wykonać kroki 4, 5, 6. 

4) Umieścić środek O

i

 w miejscu, gdzie wspólna normalna do osi z

i

 i z

i-1

 przecina oś z

i

. Jeśli 

oś z

i

 przecina oś z

i-1

, to umieścić początek O

i

 w tym przecięciu. Jeśli te osie są równoległe, 

to umieścić O

i

 na przegubie i

5) Przyjąć oś x

i

 wzdłuż wspólnej normalnej osi z

i

 i z

i-1

 przechodzącej przez początek O

i

 lub 

w kierunku normalnej do płaszczyzny obu tych osi, jeśli z

i

 i z

i-1

 przecinają się. 

6) Wybrać oś y

i

 tak, by układ był prawoskrętny. 

7) Ustalić układ współrzędnych końcówki roboczej O

n

x

n

y

n

z

n

. Zakładając, że oś n jest 

obrotowa, przyjąć k

n

 = a wzdłuż kierunku z

n-1

. Wybrać On na osi z

n

; preferowany jest 

środek chwytaka lub czubek narzędzia, z którym pracuje robot. Przyjąć j

n

 = s w kierunku 

zamykania chwytaka oraz i

n

 = n jako 

 a. Jeśli narzędzie nie jest zwykłym chwytakiem, 

przyjąć x

n

 i y

n

 według uznania, zachowując tylko zasady układu prawoskrętnego. 

8) Utworzyć tabelę parametrów kinematycznych a

i

d

i

i

i

, gdzie: 

 

a

i

 – (długość członu) odległość wzdłuż osi x

i

 od początku O

i

 do przecięcia osi x

i

 i z

i-1

 

d

i

 – (odsunięcie) odległość wzdłuż osi z

i-1

 od początku O

i-1

 do przecięcia osi x

i

 i z

i-1

jeśli przegub jest pryzmatyczny to d

i

 jest zmienną, 

 

i

 – (skręcenie) kąt między osiami z

i-1

 i z

i

 mierzony wokół osi x

i

,  

background image

STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia 

laboratoryjnego 

 

 

 

 

Wyznaczanie przestrzeni roboczej manipulatora płaskiego 

 

i

 – (kąt konfiguracji) kąt między osiami x

i-1

 i x

i

 mierzony wokół osi z

i-1

jeśli przegub jest obrotowy, to 

i

 jest zmienną. 

9) Zbudować macierze przekształceń jednorodnych A

i

Utworzyć macierz 

n

n

A

A

T

...

1

0

 
3. LABORATORYJNE STANOWISKO BADAWCZE 

3.1. Obiekt badany 

Obiektem badanym jest manipulator płaski przedstawiony na rys. X. a). W drugiej 

części ćwiczenia obiektem badanym jest manipulator Lynx 6 przestawiony na rys. X. b). 

a) 

b) 

 

Rys. X. Obiekty badane. 

a)  Manipulator płaski (L

= 400 mm, L

2

 = 350 mm, L

3

 = 150 mm), 

b)  Manipulator Lynx 6 [2]. 

3.2. Urządzenia dodatkowe 

Komputer PC, 

3.3. Oprogramowanie 

– MatLAB, 

 

4. PROGRAM ĆWICZENIA – WYKAZ ZADAŃ DO REALIZACJI 

– Wyliczyć macierz przekształcenia 

n

T

0

dla manipulatora płaskiego z rys. X. a), posługując się 

algorytmem DH podanym w rozdziale 2. 

– wypełnić tabelę 1 (umieścić tabelę w protokole). 

background image

STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia 

laboratoryjnego 

 

 

 

 

Wyznaczanie przestrzeni roboczej manipulatora płaskiego 

Tabela 1. Tabela parametrów kinematycznych 

Przegub 

Długość 

Odsunięcie 

Skręcenie 

Konfiguracja 

a

i-1

 

d

i

 

i-1

 

i

 

 

 

 

 

 

 

 

 

… 

 

 

 

 

 

–  wypełnić  tabelę  2,  dane  do  tabeli  uzgodnić  z  prowadzącym  ćwiczenie  (umieścić  tabelę 

w protokole). 

Tabela 2. Zakres ruchu przegubów 

Przegub 

Kąt minimalny 

MIN

 

Kąt maksymalny 

MAX

 

[

O

[

O

 

 

 

 

… 

 

 

 

–  W  programie  MatLAB  obliczyć  macierz 

n

T

0

,  w  postaci  pliku  skryptowego  m-file 

z zastosowaniem Symbolic Toolbox dla zmiennych przegubowych. 

– Podstawić wszystkim zmiennym symbolicznym wartości minimalne z tabeli 2. 

–  Zgodnie  z  algorytmem  podanym  w  punkcie  2  zarejestrować  ruch  końcówki  roboczej  – 

wyznaczyć przestrzeń roboczą. 

Algorytm rejestracji ruchu końcówki roboczej przy ruchu jednego przegubu: 

% t1 – zmienna przegubowa, 
% t1min – minimalna wartość zmiennej t1 (wartość początkowa) 
% t1max – maksymalna wartość zmiennej t1 (wartość końcowa) 
% aby rejestrować kolejne punkty należy zablokować wykres figure 
% poleceniem hold on, 

Figure; 
Hold on; 
 
for t1 = t1min: 0.01: t1max; 

% pierwszy kąt

 

    P0=eval(P); 
    plot(P0(1),P0(2),'-b'); 
end

 

–  Upewnić  się,  czy  nie  pominięto  jakichś  przestrzeni  –  jeśli  tak  to  powtórzyć  symulację 

zmieniając algorytm ruchu przegubów. 

– Wymierzyć długości członów i zakresy ruchów wskazanych przegubów robota Lynx 6. 

– Uprościć robota Lynx 6 do realizacji zadania manipulatora płaskiego i wyznaczyć 

przestrzeń roboczą uproszczonego manipulatora Lynx 6.  

 

5. PRZYKŁAD REALIZACJI ZADANIA – WAHADŁO 

 

 

background image

STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia 

laboratoryjnego 

 

 

 

 

Wyznaczanie przestrzeni roboczej manipulatora płaskiego 

6. RAPORT 

Raport z ćwiczenia powinien zawierać: 

– opis zadania do realizacji, 

– wyniki realizacji każdego kroku, 

– uwagi i wnioski. 

 

7. PYTANIA 

1) Założenia dla członów robota. 

2) Czy układ współrzędnych musi znajdować się w środku przegubu? 

 

LITERATURA 

[1] Spong M. W., Vidyasagar M.: Dynamika i sterowanie robotów. WNT Warszawa 1997, 
[2] http://users.ece.gatech.edu/~fumin/Teaching.html 
 

 

Opracowanie: Marek Kciuk