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
2
1.
Cele ćwiczenia
3
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
STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia
laboratoryjnego
Wyznaczanie przestrzeni roboczej manipulatora płaskiego
2
SPIS RYSUNKÓW
1.
2.
3.
4.
5.
6.
7.
8.
9.
STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia
laboratoryjnego
Wyznaczanie przestrzeni roboczej manipulatora płaskiego
3
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)
STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia
laboratoryjnego
Wyznaczanie przestrzeni roboczej manipulatora płaskiego
4
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
i 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 s
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
,
STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia
laboratoryjnego
Wyznaczanie przestrzeni roboczej manipulatora płaskiego
5
-
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
1
= 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).
STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia
laboratoryjnego
Wyznaczanie przestrzeni roboczej manipulatora płaskiego
6
Tabela 1. Tabela parametrów kinematycznych
Przegub
Długość
Odsunięcie
Skręcenie
Konfiguracja
a
i-1
d
i
i-1
i
1
2
…
– 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
]
1
2
…
– 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
STEROWANIE I PROGRAMOWANIE ROBOTÓW – instrukcja do ćwiczenia
laboratoryjnego
Wyznaczanie przestrzeni roboczej manipulatora płaskiego
7
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