wer 7 Podstawy Robotyki skrypt 2013 02 25 Kopiuj


WOJSKOWA AKADEMIA TECHNICZNA
WYDZIAA MECHATRONIKI I LOTNICTWA
KATEDRA MECHATRONIKI
WOJCIECH KACZMAREK
PODSTAWY ROBOTYKI
WARSZAWA 2013
Podstawy robotyki
2
Spis treści
1. Wprowadzenie ....................................................................................................3
2. Pojęcia podstawowe ..........................................................................................6
2.1. Prawa robotyki ......................................................................................................................... 6
2.2. Budowa robota......................................................................................................................... 6
2.3. Podział robotów ....................................................................................................................... 7
2.4. Stopnie swobody, ruchliwość, dokładność i powtarzalność .................................................. 12
3. Kinematyka manipulatorów .............................................................................15
3.1. Układy współrzędnych i ich transformacje ............................................................................ 16
3.2. Obroty elementarne ............................................................................................................... 19
3.3. Obroty złożone....................................................................................................................... 21
3.4. Współrzędne i transformacje jednorodne. ............................................................................. 22
3.5. Kinematyka prosta i odwrotna ............................................................................................... 24
3.5.1. Zadanie proste (bezpośrednie) kinematyki ................................................................. 25
3.5.2. Zadanie odwrotne kinematyki...................................................................................... 27
3.6. Układy o strukturze drzewiastej ............................................................................................. 30
3.7. Notacja Denavita-Hartenberga .............................................................................................. 32
3.8. Definicje prędkości i przyspieszeń członów manipulatora .................................................... 39
3.8.1. Prędkości kątowe i liniowe manipulatora..................................................................... 39
3.8.2. Przyspieszenia kątowe i liniowe manipulatora ............................................................ 43
4. Analiza statyczna i dynamiczna manipulatora...............................................45
4.1. Analiza statyczna manipulatora ............................................................................................. 45
4.2. Analiza dynamiczna manipulatora ......................................................................................... 49
5. Planowanie trajektorii ......................................................................................49
6. Chwytaki............................................................................................................49
7. Napędy i mechanizmy robotów .......................................................................49
8. Czujniki..............................................................................................................49
9. Sterowanie i planowanie zadań.......................................................................49
10. Przykłady rozwiązań ........................................................................................49
11. Literatura ...........................................................................................................49
Podstawy robotyki
3
1. Wprowadzenie
Robotyka jest dziedziną wiedzy technicznej zajmującą się budową robotów, ich
sterowaniem, programowaniem i zastosowaniem w różnych dziedzinach nauki i techniki. Jest
dziedziną interdyscyplinarną, łączącą w sobie wiedzę z wielu innych dziedzin (mechaniki,
automatyki, elektroniki, informatyki, itp.). Dziś z łatwością można zauważyć obecność
robotów w przemyśle, medycynie, transporcie, budownictwie, administracji, wojsku,
rolnictwie i kosmosie. Swoje miejsce w życiu człowieka robotyka znalazła wszędzie tam,
gdzie praca jest szczególnie uciążliwa, monotonna i niebezpieczna. Przykładem mogą być
tutaj linie technologiczne fabryk (malowanie, spawanie i transport elementów), praca
w szkodliwych warunkach (niskie i wysokie temperatury, promieniowanie i zanieczyszczenia
chemiczne), czy niezbadane dotąd obszary (np. głębiny morskie, kosmos). Jednak pomimo
faktu, iż od wielu lat jest to dziedzina bardzo szybko rozwijająca się, człowiek nadal odgrywa
tu rolę nadrzędną. Być może w przyszłości funkcje zarezerwowane dziś dla człowieka
(np. konstruowanie, programowanie, konserwacja) staną się również domeną maszyn-
robotów. Już dziś mówi się o tym, że przyszłością robotyki przemysłowej są autonomiczne
stanowiska pracujące z ograniczoną obsługą ludzką.
Do podstawowych działów robotyki należy zaliczyć:
robotykę teoretyczną (teorie robotów i manipulatorów),
robotykę ogólną (metody, aspekty ekonomiczne, socjalne, społeczne),
robotykę metrologiczną (roboty do celów pomiarowych, kontrolnych),
robotykę maszyn lokomocyjnych (jedno- i wielonożnych, kołowych, pełzających,
kołowo-nożnych),
robotykę medyczną i rehabilitacyjną (roboty do celów chirurgicznych, protetycznych,
rehabilitacyjnych),
robotykę przemysłową (roboty w przemyśle maszynowym, spożywczym,
papierniczym, górnictwie),
robotykę pozaprzemysłową (roboty do prac podwodnych, wojskowych, ratowniczych,
w kosmosie),
robotykę usługową (roboty do prac biurowych, porządkowych),
mikrorobotykę (miniaturyzacja robotów).
Z pojęciem robotyki bardzo blisko związane jest pojęcie robot. Powstanie pierwszych
mechanizmów to czasy Platona (400 lat p.n.e.), kiedy to (według przekazów historycznych)
zbudowano pierwsze automaty (zabawki potrafiące wykonywać proste ruchy). Z kolei, za
pierwszy mechanizm robotyczny uważa się zegar wodny wynaleziony prawdopodobnie 250
lat p.n.e. Mechanizm ten przeznaczony był do odwracania klepsydry. Miano urządzenia
Podstawy robotyki
4
robotycznego uzyskał dzięki cyklicznie powtarzanej czynności, dla której go skonstruowano.
Burzliwy rozwój ruchomych mechanizmów nastąpił w średniowieczu, kiedy to budowano
skomplikowane mechanicznie zegary oraz ruchome figurki napędzane energią wody,
sprężyn oraz siłami grawitacyjnymi. Aatwo można zauważyć, że cechą wspólną wszystkich
tworzonych mechanizmów była próba odtworzenia ruchów człowieka i zwierząt.
Skąd tak naprawdę wzięło się słowo robot używane jako pojęcie do określania
pewnego typu maszyny?
Słowo robot oznacza w języku czeskim robotnika. W 1920 roku, pisarz czeski Karel
Ćapek nazwał robotami sztuczne, inteligentne istoty pozbawione ludzkich uczuć. Pisząc
 R.U.R.  Roboty Uniwersalne Rossuma stworzył wizję świata, w którym jedyną drogą jest
dążenie do rozwoju technicznego, a wszystko to, co postępowi nie służy jest nieważne.
Ćapek pisał:  & produkować sztucznych robotników, to przecież to samo co wyrabiać
silniki spalinowe. Produkcja musi być jak najprostsza, a produkt jak najlepszy,
najpraktyczniejszy(& ). Jaki robotnik jest dla fabryki najlepszy? (...) Taki, który jest najtańszy.
Który ma jak najmniej potrzeb. Młody Rossum skonstruował robotnika mającego minimum
potrzeb. Musiał go uprościć. Odrzucił wszystko, co bezpośrednio nie wiąże się z
wykonaniem pracy. W ten właśnie sposób zlikwidował człowieka i stworzył Robota& 
Określenie przyjęło się na całym świecie i dziś robotem nazywane jest urządzenie
techniczne przeznaczone do realizacji niektórych funkcji manipulacyjnych i lokomocyjnych
człowieka, mające pewien poziom inteligencji maszynowej. Dążeniem człowieka od zawsze
było stworzenie maszyny na swój obraz (humanoida). Wraz z rozwojem technologii roboty
wyposażano w coraz lepsze, nowocześniejsze zródła energii, czujniki, urządzenia
wykonawcze i sterujące. Na początku XX wieku, wraz z wykorzystaniem elektryczności
roboty wyposażono w mikrofony, fotokomórki i głośniki, a do sterowania zaczęto używać
aparatury bezprzewodowej. W latach pięćdziesiątych wyprodukowano pierwsze modele
maszyn manipulacyjnych z programowym sterowaniem.
Do pionierów robotyki można z całą pewnością zaliczyć konstruktora Joe
Engelbergera, który wraz ze swoim przyjacielem o nazwisku Devol skonstruował w 1958r.
kanciastą i przysadzistą maszynę UNIMATE. UNIMATE (rys.1.1) w roku 1961 został
włączony do procesu technologicznego w fabryce General Motors w Ternstedt w stanie New
Jersy. Zadaniem, wyposażonego w teleskopowe ramię hydrauliczne z przegubem robota
było przenoszenie, dziewięciokilogramowych odlewów ze stali. Robot przepracował przez
blisko 50 lat około 100 tys. godzin wytyczając nowy kierunek w przemyśle.
Podstawy robotyki
5
Rys.1.1. Robot UNIMATE podczas pracy
Wykorzystanie maszyny pracującej 24 godziny na dobę bez operatora udowodniło
sens wyposażania linii montażowych w wydajne maszyny. Możliwość zastąpienia trzech
zmian robotników przy ciężkiej pracy zainicjowała masową produkcję robotów na potrzeby
przemysłu (w Stanach Zjednoczonych rok 1963, w Europie i Japonii rok 1968, w Polsce
początek lat 70-tych). Dziś UNIMATE jest eksponatem w Smithsonian Institution i trudno
porównywać go z inteligentnymi robotami, których rozwój dyktowany jest obecnie lawinowym
rozwojem technologii mikroprocesorowej. Dzisiaj, kiedy coraz częściej mówi się nie
przestrzeni roboczej, a o środowisku pracy robota, konstruktorzy pragną w jak największym
stopniu usamodzielnić maszynę wyposażając ją w czujniki symulujące zmysły człowieka. Jak
dotąd, z pięciu zmysłów (wzrok, dotyk, smak, słuch i węch), tylko wzrok i dotyk znalazły
zastosowanie w robotyce. Obecnie na całym świecie prowadzone są intensywne prace nad
sterowaniem głosem, identyfikacją i rozpoznawaniem położenia obiektu oraz czujnikami
odległości. Pełne wykorzystanie trójwymiarowych systemów stało się możliwe dzięki
zastosowaniu czujników ultradzwiękowych i laserowych. Dużym problem są funkcje
lokomocyjne i wszyscy zadają sobie pytanie  jak stworzyć, bliski własnościom ludzkiej ręki
chwytak?! Próby kierowane są ku wykorzystaniu zjawisk elektrostatycznych oraz chwytaków
adaptacyjnych (dostosowujących swój kształt do kształtu obiektu). Jakimi siłownikami
zastąpić siłowniki hydrauliczne, pneumatyczne i elektryczne? W jaki sposób zminiaturyzować
napędy? Istnieje jeszcze wiele innych pytań, na które dzisiejsi inżynierowie starają się
znalezć odpowiedz.
Odrębnym problem robotyki są układy sterowania, gdzie proste sterowanie
położeniem już nie wystarcza. Dziś tworzy się wieloprocesorowe układy umożliwiające
współpracę z otaczającym środowiskiem, a co za tym idzie stymuluje to rozwój interfejsów
łączących oba światy rozwijając przy tym techniki programistyczne. Najlepszym
rozwiązaniem wydają się języki wysokiego poziomu (łatwo przyswajalne przez człowieka)
umożliwiające działanie robotów w czasie rzeczywistym.
Podstawy robotyki
6
2. Pojęcia podstawowe
Robotyka jest dziedziną wiedzy technicznej i jak w większości dziedzin obowiązują w
niej pewne prawa. Pierwsze trzy zostały sformułowane w opowiadaniu  Zabawa w berka w
1942 roku przez pisarza Isaaca Asimova i tworzą tzw. kanony robotyki. Obecnie, ze względu
na rozwój robotyzacji i mikrotechnologii formułuje się dodatkowe prawa, których zadaniem
jest uwzględnienie wszystkich aspektów wzrostu możliwości robotów.
2.1. Prawa robotyki
Pierwsze prawo: Robot nie może ingerować w działanie człowieka, oprócz tych działań,
które szkodzą człowiekowi.
Drugie prawo: Robot musi być posłuszny rozkazom wydawanym przez człowieka, oprócz
tych rozkazów, które są sprzeczne z pierwszym prawem.
Trzecie prawo: Robot musi chronić swoją egzystencję, oprócz tych przypadków, które są
sprzeczne z pierwszym lub drugim prawem.
Czwarte prawo: Robot musi ujawnić swoją naturę robota. W szczególności robot nie może
udawać człowieka.
Piąte prawo: Im bogatsze jest wyposażenie robota w układy czujnikowe, zapewniające
percepcję warunków otoczenia, a w szczególności możliwości
autonomicznego określania działań przez jego układ sterowania, tym (do
pewnego dopuszczalnego stopnia) może być uboższe jego konstrukcja.
Ten dopuszczalny stopień jest zależny od celu, który został przed robotem
postawiony oraz od możliwości zrealizowania tego celu przez robota.
Asimov dodał pózniej w opowiadaniu  Roboty i Imperium tzw. prawo zerowe, które
stało się prawem nadrzędnym: Robot nie może skrzywdzić ludzkości, ani przez zaniechanie
działania doprowadzić do uszczerbku dla ludzkości.
2.2. Budowa robota
Często powstaje problem jak określić, czy dana maszyna jest robotem. Z całą pewnością
można kierować się określeniami  słowami kluczowymi, którymi opisuje się wszystko to, co
nas otacza. W przypadku robota mogą to być słowa: układ mechaniczny (manipulator),
końcówka manipulatora (efektor), napęd, układ sterowania, czujniki, autonomiczność,
wielofunkcyjność, itp. Jednak w dzisiejszym świcie niemal wszystkie urządzenia techniczne
(począwszy od elektrycznego młynka do kawy, a kończąc na samochodzie) mogą być
opisane większością wymienionych wyżej słów i zwrotów. Ważne jest więc aby znalezć
cechę, która odróżni robota od wysoce zautomatyzowanego urządzenia.
Podstawy robotyki
7
Robot złożony jest z czterech podstawowych zespołów:
1. Wyposażonego w siłowniki układu mechanicznego służącego do realizacji
czynności manipulacyjnych i lokomocyjnych. Przy czym manipulatorem nazywano
urządzenie techniczne przeznaczone do realizacji niektórych funkcji kończyny górnej
człowieka. Współczesne manipulatory zbudowane są w pojedynczego lub
zdwojonego łańcucha kinematycznego, napędu (silniki), układu sterowania, czujników
oraz układu zasilania (rys.2.1). Połączenia łańcucha kinematycznego mają zazwyczaj
charakter obrotowy lub postępowy, a praca w przestrzeni trójwymiarowej wymusza
strukturę sześciostopniową (trzy stopnie swobody manipulatora i trzy stopnie
chwytaka). Zadaniem siłowników (pneumatycznych, elektrycznych, hydraulicznych)
jest sterowanie ruchem manipulatora, zaś funkcje lokomocyjne mogą spełnić koła,
nogi itd.
Energia
Napęd
Aańcuch
Otoczenie
Układ
kinematyczny
sterowania
Rys.2.1. Schemat blokowy manipulatora
2. Otoczenia przestrzeni, a więc środowiska, w jakim robot pracuje. W najprostszym
przypadku, kiedy mamy do czynienia z robotem nieruchomym, mówimy o przestrzeni
roboczej. Zawsze należy pamiętać o własnościach środowiska oraz o przeszkodach
w nim występujących, ponieważ jest to bardzo ważne podczas projektowania
trajektorii ruchu każdego robota.
3. Zadań. Efektywność pracy zależy w dużej mierze od poprawnie postawionego
zadania, dlatego niezmiernie ważnym jest poprawne określenie ruchów robota (takie
jego zaprogramowanie, aby wykonał poprawnie zaplanowane przez człowieka
czynności).
4. Układu czujnikowo-sterującego, którego zadaniem jest zbieranie bodzców
z otaczającej robota przestrzeni oraz określanie położenia poszczególnych członów,
w końcu sterowanie poprzez siłowniki manipulatorem w celu wykonania określonego
zadania.
2.3. Podział robotów
Istnieje wiele kryteriów podziału robotów (rys.2.2). Do najczęściej spotykanych można
zaliczyć podziały ze względu na: strukturę kinematyczną, budowę jednostki kinematycznej,
sterowanie i rodzaj napędów.
Robot
Kryteria podziału strukturę budowę jednostki
sterowania rodzaj napędów
ze względu na kinematyczną kinematycznej
pneumatyczne
sekwencyjny
stacjonarny moblilny monolityczne
siłownik linowy
zadaniowy
modułowe
z otwartym z zamkniętym poruszający
łańcuchem łańcuchem się po stałym
silnik obrotowy
adaptacyjny
kinematycznym kinematycznym torze pseudomodułowe
kartezjański tripod
siłownik wahadłowy
teleoperator
autonomiczny
cylindryczny hexapod
hydrauliczne
SCARA
silnik obrotowy
PUMA
siłownik linowy
sferyczny
elektryczne
polarny
prądu stałego
złożony
prądu przemiennego
silnik skokowy
mieszane
Rys.2.2. Klasyfikacja robotów
Podstawy robotyki
8
Podstawy robotyki
9
Układ Robot i jego
Diagram
współrzęnych przestrzeń robocza
Kartezjński Typ TTT
y
z
C
z
C
0
y
x
x
Cylindryczny Typ RTT
P
z
C
C
z
0
P y q
q
x
Sferyczny Typ RRT
z
C
P
f
f C
P
0
y
q
q
x
Polarny Typ RRR
z
g
C
f
a3
a2 g C
a1
f
0
y
q
q
x
SCARA
Typ RRT
f
z
z
q
f
a2 a3 C
a1
0
C
y
q
x
Rys.2.3. Zestawienie podstawowych parametrów robotów stacjonarnych
z otwartym łańcuchem kinematycznym
Podstawy robotyki
10
Podział robotów ze względu na strukturę kinematyczną:
stacjonarne (nie mogące się przemieszczać względem podłoża):
o z otwartymi łańcuchami kinematycznymi (szeregowe połączenie par kinematycznych
 rys.2.3):
ż w układzie prostokątnym (kartezjańskim)  prostokątny układ współrzędnych
i prostopadłościenna przestrzeń ruchów,
ż w układzie cylindrycznym  walcowy układ współrzędnych i cylindryczna
przestrzeń ruchów,
ż typu SCARA (Selective Comliance Assembly Robot Arm)  roboty ze strukturą
RRP  trzyosiowe roboty, z czego dwie o ruchu obrotowym, a jedna postępowym,
ż typu PUMA (Programmable Universal Machine for Assembly)  to roboty
przegubowe do zadań specjalnych,
ż w układzie sferycznym  sferyczny układ współrzędnych ze strukturą RRP,
ż polarne (przegubowe)  roboty posiadające tylko osie obrotowe,
ż złożone  będące kombinacją typowych rozwiązań.
a) b) c) d)
Rys.2.4.Roboty z otwartym łańcuchem kinematycznym
a) kartezjański (AdeptSix 600 Six firmy Adept)
b) przegubowy (IRB 1400 firmy ABB)
c) SCARA (Cobra i600 firmy Adept)
d) PUMA (LR Mate 200iB firmy Astor)
o z zamkniętymi łańcuchami kinematycznymi (równoległe połączenie par
kinematycznych  rys.2.5):
ż triody (trzy ramiona tworzące zamknięty łańcuch kinematyczny),
ż heksapody (sześć ramion tworzących zamknięty łańcuch kinematyczny),
mobilne (mogące przemieszczać się względem podłoża  rys.2.6):
o poruszające się po stałym torze jezdnym (wykorzystywane często na liniach
technologicznych fabryk),
Podstawy robotyki
11
o autonomiczne  mające możliwość swobodnego poruszania się.
Podział robotów ze względu na budowę jednostki kinematycznej:
monolityczne, do których zaliczyć należy roboty o niezmiennej konstrukcji mechanizmu
tzn., użytkownik ma możliwość uzupełnienia ramienia wymiennymi końcówkami
(efektorami),
modułowe, gdzie użytkownik ma możliwość samodzielnego konstruowania robotów
z elementów (segmentów) dostarczonych przez producenta,
pseudomodułowe  są to właściwie roboty monolityczne, lecz producent umożliwia
modułową wymianę wybranych elementów.
Rys.2.5. Robot z zamkniętym łańcuchem kinematycznym (IRB 940 firmy ABB)
a) b)
Rys.2.6. Roboty mobilne:
a) poruszający się po stałym torze jezdnym (robot M-710iB/T firmy Astor);
b) autonomiczny (robot Versatrax 150 do inspekcji rur).
Podział robotów ze względu na sterowanie
sekwencyjne, do których należy zaliczyć roboty wyposażone, w wykonujący ruchy
kolejno według założonego algorytmu, układ sterowania,
zadaniowe, realizujące zadania według pewnego algorytmu, który opisuje nie tylko
położenie i orientację ale również wymagane prędkości,
Podstawy robotyki
12
adaptacyjne, które dzięki dodatkowym mechanizmom (czujniki, algorytmy adaptacyjne)
mają możliwość dostosowania się do otaczającego je środowiska (przestrzeni roboczej),
teleoperatory, których zasadniczą cechą jest możliwość sterowania bezpośrednio przez
operatora lub komputer (sterownik PLC).
Podział robotów ze względu na rodzaj napędów:
pneumatyczne (siłowniki: liniowy, wahadłowy, silnik obrotowy),
hydrauliczne (siłownik liniowy, silnik obrotowy),
elektryczne (silniki: prądu stałego, przemiennego, silnik krokowy),
kombinowane (połączenie powyższych rozwiązań).
2.4. Stopnie swobody, ruchliwość, dokładność i powtarzalność
W większości przypadków manipulatory i roboty przemysłowe są skonstruowane
w postaci otwartych łańcuchów kinematycznych. Aańcuchy te składają się z kilku osi
czynnych umożliwiających przemieszczanie i orientowanie końcówki roboczej, czyli efektora.
Z uwagi na łatwość sterowania, manipulatory składają się z par kinematycznych klasy piątej.
Liczba stopni swobody jest to liczba zmiennych położenia, jaką należy podać w celu
jednoznacznego określenia układu w przestrzeni względem wybranego układu odniesienia.
W celu wyznaczenia liczby stopni swobody korzysta się ze wzoru:
" (2.1)
gdzie: w - liczba stopni swobody, n - liczba członów łańcucha, pi  liczba połączeń członów,
kinematycznych o i-tej klasie
Dla przedstawionych diagramów na rysunku 2.3 można zapisać:
dla robota typu TTT (połączenia kinematyczne klasy piątej)
o n = 3, i = 5, p5 = 3 (3 przeguby pryzmatyczne)
( )
"
dla robota RRR (połączenia kinematyczne klasy piątej)
o n = 3, i = 5, p5 = 3 (3 przeguby obrotowe)
( )
"
dla robota RRR (połączenia kinematyczne klasy piątej)
Podstawy robotyki
13
o n = 3, i = 5, p5 = 3 (2 przeguby obrotowe, 1 przegub pryzmatyczny)
( )
"
Jak łatwo można zauważyć liczba stopni swobody otwartego łańcucha
kinematycznego jest równa liczbie par kinematycznych klasy piątej obrotowych
i przesuwnych.
Jednostkę kinematyczną manipulatora tworzy mechanizm kinematyczny wraz
z dołączonymi napędami. Mechanizm maszyny manipulacyjnej określają dwa parametry
kinematyczne:
ruchliwość  liczba stopni swobody łańcucha kinematycznego mechanizmu
z unieruchomionym członem  podstawą:
"
( ) (2.2)
manewrowość  liczba stopni swobody łańcucha kinematycznego mechanizmu
z unieruchomionymi: członem - podstawą i członem - ostatnim w łańcuchu
kinematycznym:
"
( ) (2.3)
Pierwszy z tych parametrów określa liczbę więzów, jaką należałoby nałożyć na
mechanizm, aby go całkowicie unieruchomić. Drugi - podobnie, ale po dodatkowym jeszcze
unieruchomieniu ostatniego wolnego członu, a więc określa swobodę ruchu mechanizmu
w przypadku gdy np. chwytak lub narzędzie jednostki kinematycznej zajmuje ściśle
określone położenie.
Dokładność i powtarzalność manipulatorów
Z punktu widzenia przebiegu procesu technologicznego po odpowiednim dobraniu
typu robota do wykonywania danej czynności (ze względu na jego budowę m.in. gabaryty,
stopnie swobody i ruchliwość) konieczne jest zweryfikowanie jego dokładności
i powtarzalności.
Dokładność definiuje się, jako miarę określającą, jak blisko manipulator może przemieścić
się do danego, wybranego punktu swojej przestrzeni roboczej.
Podstawy robotyki
14
Powtarzalność określa natomiast jak blisko, powtarzając ruch manipulator może
przemieścić się do tego samego punktu ponownie.
Przodujące, w produkcji robotów, na rynku światowym firmy oferują roboty
charakteryzujące się bardzo wysokimi wskaznikami dokładności i powtarzalności (rzędu:
0,02-0,05mm) jednak należy pamiętać, iż uzyskanie takich powtarzalności jest obarczone
wysokimi kosztami. Podzielnie robotów na kategorie związane z ich zastosowaniem
pozwoliło na określenie wielu parametrów jakimi powinny się one charakteryzować
w różnych zastosowaniach. I tak dla przykładu, w procesie spawania łukowego wymagane
są duże dokładności i powtarzalności, natomiast w procesie malowania, gdzie średnica
plamki lakieru wynosi ok. 200mm nie jest konieczne konstruowanie manipulatora
o dokładności 0,002mm.
Jak podaje wiele zródeł [3], powtarzalność robotów jest większa niż ich dokładność.
Powodem takiego stanu rzeczy jest fakt, że nie stosuje się bezpośredniego pomiaru pozycji
i orientacji narzędzia, a jedynie poprzez zastosowanie enkoderów w każdym przegubie
robota, pomiary położenia poszczególnych ramion manipulatora. Metoda taka wprowadza
konieczność wyliczenia, na podstawie pomiarów kątów i przesunięć, pozycji narzędzia.
Aatwo zauważyć, że w takiej sytuacji na dokładność pozycji mają duży wpływ dokładność
obliczeń jak oraz dokładność wykonania poszczególnych elementów konstrukcyjnych
manipulatora (przy założeniu ich dużej sztywności).
Niezmiernie ważnym aspektem jest programowanie robota, ponieważ to właśnie
podczas tej czynności definiowane są listy pozycji. Choć ostatnio pojawiły się na rynku
wirtualne środowiska do programowania robotów i symulowania ich pracy (np.: RobotStudio,
Cosimir, RoboGuide) to jednak najczęściej stosowaną metodą pozostaje nadal
programowanie robota poprzez nauczanie przy wykorzystaniu panelu nauczania.
Analizując powyższe rozważania widać, że definiowanie pozycji i orientacji narzędzia
robota jest realizowane poprzez zdefiniowanie pozycji silników w poszczególnych
przegubach. Dzięki enkoderom istnieje możliwość zapisania danej pozycji przegubu do
kontrolera robota i powrót do niej, jeśli jest to wymagane. Powtarzalność robota jest więc
ściśle związana z rozdzielczością enkodera. Wyznaczając rozdzielczość osi (obrotowej i
liniowej) manipulatora można posłużyć się wzorem:
(2.4)
gdzie: s  całkowita droga ruchu, n  liczba bitów określająca rozdzielczość enkodera
Podstawy robotyki
15
3. Kinematyka manipulatorów
Prace nad zagadnieniami związanymi z robotyką prowadzone są przez uczonych
zajmujących się różnymi dziedzinami nauki. Podejście takie zostało wymuszone
interdyscyplinarną złożonością całego problemu. Aby uporządkować zakres kompetencji
oraz uprościć zagadnienie robotykę podzielono na cztery dziedziny:
manipulację mechaniczną,
lokomocję,
komputerowe systemy wizyjne,
sztuczną inteligencję.
W niniejszym rozdziale omówione zostaną podstawowe problemy związane
z manipulacją mechaniczną, a w szczególności poruszone zostaną zagadnienia związane z
kinematyką manipulatorów.
Kinematyka to nauka zajmująca się opisem ruchu bez uwzględnienia sił wywołujących ten
ruch. W jej ramach bada się zmiany położenia, prędkości i przyspieszeń członów
manipulatora.
W pierwszej kolejności zostanie omówione zadanie proste (bezpośrednie) kinematyki,
które polega na wyznaczeniu pozycji i orientacji efektora manipulatora względem układu
podstawy przy znanych współrzędnych konfiguracyjnych. Innymi słowy można powiedzieć,
że nastąpi odwzorowanie opisu położenia manipulatora z przestrzeni współrzędnych
konfiguracyjnych do przestrzeni współrzędnych kartezjańskich. Następnie rozwiązane
zostanie zadanie odwrotne kinematyki, które jest znacznie trudniejsze i polega na
wyznaczeniu wszystkich możliwych zbiorów współrzędnych konfiguracyjnych
umożliwiających osiągnięcie zadanych pozycji i orientacji manipulatora. Trudność tego
zagadnienia spowodowana jest nieliniowością równań kinematyki, niejednoznacznością
rozwiązań lub ich brakiem. Jeśli rozwiązań nie ma oznacza to, iż manipulator nie może
osiągnąć zadanych pozycji i orientacji, ponieważ znajdują się one poza jego przestrzenią
roboczą.
W prowadzonych w dalszej części rozważaniach obowiązywały będą następujące zasady:
robota opisuje się za pomocą struktury kinematycznej (szkicu schematu
kinematycznego), na której zaznacza się człony oraz połączenia,
oznaczenia osi współrzędnych, kierunków i zespołów ruchu, konieczne do
jednoznaczności opracowanego szkicu zapisane są w normie PN-93/M-55251,
robota opisuje się w trzech układach odniesienia:
Podstawy robotyki
16
o globalnym (bazowym oznaczonym cyfrą 0)  opis przemieszczenia robota
względem inercjalnego (nieruchomego) układu współrzędnych (najczęściej
względem stanowiska roboczego),
o regionalnym (oznaczonym cyframi k=1,2,3,,, rozpoczynając numerację od
członu znajdującego się najbliżej)  opis przemieszczenia manipulatora,
o lokalnym (oznaczonym literą C)  opis przemieszczenia i orientacji chwytaka.
podstawowy układ osi jest prawoskrętnym układem kartezjańskim (prostokątnym),
gdzie osie x i y tworzą płaszczyznę poziomą,
za dodatni przyjmuje się zwroty ruchów:
o w ruchu liniowym na zewnątrz mechanizmów (od początku układów
globalnego, regionalnego, lokalnego),
o w ruchu obrotowym w kierunku prawoskrętnym, zgodnie z przyjętym układem
współrzędnych,
numerację łańcucha kinematycznego należy rozpocząć od podstawy (układu
bazowego), a zakończyć przed efektorem (układem lokalnym).
3.1. Układy współrzędnych i ich transformacje
Miejsce w przestrzeni (położenie punktu C  rys.3.1) określone może być poprzez
wektor miejsca. Wektor ten tworzony jest przy pomocy tzw., wektorów jednostkowych
(wersorów) i, j, k charakteryzujących dowolny układ współrzędnych.
(3.1)
rC = xC i + yC j + zC k
lub
xC
ł
T
ęy ś
(3.2)
rC = = [xC , yC , zC ]
C
ę ś
ę ś
zC
z
C(xc,yc,zc)
rp
zc
k
j
i
y
xc
yc
x
Rys.3.1. Wektory jednostkowe układu współrzędnych
Podstawy robotyki
17
W rozważaniach kinematyki manipulatorów bardzo ważne są zależności pomiędzy
współrzędnymi inercjalnymi i współrzędnymi regionalnymi poszczególnych członów (rys.3.2).
Jak widać przemieszczenie układu lokalnego względem bazowego opisuje wektor miejsca.
Aatwo zauważyć, że układ lokalny może być nie tylko przesunięty względem układu
bazowego, ale również obrócony (względem poszczególnych osi układu rys.3.2). Tę drugą
operację (obrót) można opisać poprzez, tworzoną za pomocą cosinusów kierunkowych
macierz obrotu o wymiarach 3x3.
Można zapisać dla układu bazowego:
(3.3)
r0C = x0C i0 + y0C j0 + z0C k0
Dla układu i-tego (obróconego)
(3.4)
riC = xiC ii + yiC ji + ziC ki
Obydwa wektory są reprezentacją tego samego wektora r można więc zapisać:
(3.5)
x0C = r0C i0 = riC i0 = xiC ii i0 + yiC ji i0 + ziC ki i0
(3.6)
y0C = r0C j0 = riC j0 = xiC ii j0 + yiC ji j0 + ziC ki j0
(3.7)
z0C = r0C k0 = riC k0 = xiC ii k0 + yiC ji k0 + ziC ki k0
Jako równanie wektorowe równania (3.5-3.7) można zapisać w postaci:
(3.8)
r0C =0roti riC
Gdzie macierz obrotu jest równa:
ii i0 ji i0 ki i0
ł
0 ęi j0 ji j0 ki j0 ś
roti = R3x3 (3.9)
i
ę ś
ę ś
k0 ji k0 ki k0
ii
Podstawy robotyki
18
a) zi b) z0
C
zi
F
i
Y
rC
C
0
z0
rC
i
rC oraz 0rC
0i
yi
xi
0
ri xi
y0
0i Q F
Q
Y
y0
x0 00
yi
x0
z z
0 0
c) zi
zi
F
Y
ki
C
Układ i-tego
ciała
ii
xi
xi
ji
y'0 Q y'0
0i Q F
0i
yi
Y
z0
x'0
yi
x'0
0
rC
0
ri
k0
j0
y0
i0
00 Układ bazy
x0
Rys.3.2. Widok wzajemnego położenia układów współrzędnych:
a) układ i-tego ciała jest przemieszczony względem układu bazowego
b) układ i-tego ciała jest obrócony względem układu bazowego
c) układ i-tego ciała jest przemieszczony i obrócony względem układu bazowego
Oznaczenia:
prawy, dolny indeks oznacza nowy układ lub nowe położenie po transformacji;
lewy górny indeks oznacza układ, względem którego dokonano transformacji;
0i  początek układu współrzędnych ciała i;
C  zmienny punkt ciała;
wektory jednostkowe układu inercjalnego i0 , j0 , k0 ;
0
wektory jednostkowe układu ciała i przedstawione w układzie bazowym ii ,0ji ,0ki ;
0
wektor miejsca w układzie bazowym rC = x0 i0 + y0 j0 + z0 k0 ;
i
wektor miejsca w układzie lokalnym rC = xi ii + yi ji + zi ki .
0
C
r
i
b
i
u
l
r
C
Podstawy robotyki
19
Dla przypadków szczególnych można zapisać następujące zależności:
jeśli i-ty układ jest przesunięty względem układu bazowego, a jego orientacja jest
taka sama jak układu bazowego (poszczególne osie układu są do siebie równoległe 
rys.3.2a):
0
rC =0ri +irC (3.10)
jeśli i-ty układ jest obrócony względem układu bazowego, a jego początek układu
pokrywa się z początkiem układu bazowego  rys.3.2b:
0
rC =0roti i rC (3.11)
Pełną transformację współrzędnych (rys.3.2c) można przedstawić jako połączenie
przemieszczenia (translacji) i obrotu (rotacji):
0
rC =0ri +0roti i rC (3.12)
Zależność (3.12) mówi, iż znając współrzędne lokalne (wektor irC) oraz pozycję (wektor 0ri) i
0
orientację (macierz obrotu roti) i-tego układu współrzędnych względem układu
nieruchomego możliwe jest wyznaczenie współrzędnych inercjalnych punktu C (znalezienie
transformacji współrzędnych układu lokalnego względem układu nieruchomego).
Odwrócenie tego związku prowadzi równania transformacji odwrotnej, to znaczy
znalezienia transformacji współrzędnych układu nieruchomego względem układu lokalnego.
T
i 0 0
rC = ( roti) ( rC -0ri)=i rot00riC (3.13)
Wyznaczone wyrażenia (3.12 i 3.13) pozwalają na rozwiązanie dwóch
najważniejszych w teorii kinematyki manipulatorów zadań (prostego i odwrotnego),
a poprzez ich różniczkowanie po czasie dają możliwość wyznaczenia zależności dla
prędkości i przyspieszeń. Szczególnymi przypadkami omawianych transformacji są:
0
czysty obrót (wektor przemieszczenia jest równy zero) ri = 0 ;
0
czyste przemieszczenie (macierz obrotu jest macierzą jednostkową) roti = I .
3.2. Obroty elementarne
Zgodnie z ogólnie panującymi zasadami przyjęto prawoskrętny układ współrzędnych
(rys.3.3a). Założono, że zmienne/wektory związane z obróconym układem współrzędnych
będą oznaczane indeksem R (rys.3.3b). Można wówczas zapisać:
T T
0 R
rC = [x, y, z] , rC = [u,v, w] (3.14)
Podstawy robotyki
20
a) b)
C
zR
z0
z
w
yR
R
rC
Q 0
rC
f
v
z
0
rR xR
y
y0
y
y
f x0
x
Rys.3.3. Oznaczenie obrotów poszczególnych osi układu
Dla poszczególnych obrotów elementarnych można zapisać następujące zależności:
Obrót wokół osi x (rys.3.4a).
Związek między współrzędnymi punktu C w bazowym układzie współrzędnych
i w obróconym układzie współrzędnych ma postać:
x 1 0 0 u
ł ł ł
0 ęyś 0 ę0 ęv ś
rC = rR + rotx(f)R rC =0rR + cosf -sinfś
ę ś= ę ś ę ś
ę ś ę
z 0 sinf cosf ś ę

gdzie macierz obrotu wokół osi x można jest opisana wyrażeniem:
1 0 0
ł
ę0
(3.15)
rotx (f) = cosf -sinfś
ę ś
ę
0 sinf cosf ś

Obrót wokół osi y (rys.3.4b).
macierz obrotu wokół osi y można opisać wyrażeniem:
cosy 0 siny
ł
ę ś
(3.16)
roty (y )= 0 1 0
ę ś
ę ś
-siny 0 cosy

Obrót wokół osi z (rys.3.4c).
macierz obrotu wokół osi z można opisać wyrażeniem:
cosq -sinq 0
ł
ę
(3.17)
rotz (q)= sinq cosq 0ś
ę ś
ę ś
0 0 1

Podstawy robotyki
21
a) b) c)
z z y
C
z yR
zR
zR
y
yR
y xR
R
f
Q
y
y zR
y x x
xR
z
x
xR
Rys.3.4. Obroty elementarne względem
a)  osi x; b)  osi y; c)  osi z.
3.3. Obroty złożone
Obroty złożone mogą być tworzone z trzech kolejno po sobie wykonywanych obrotów
elementarnych. W rozważaniach kinematycznych szczególną rolę odgrywają kąty Cardana.
Dla kątów Cardana wykonywane są kolejno obroty względem osi Ox,Oy,Oz. Przykładowo dla
rys.3.2 tablica kosinusów wyglądać będzie następująco:
0 0 0
e(i)x e(i)y e(i)z
0
cy cq - cy sq sy
ex
0
cf sq + sf sy cq cfcq - sf sy sq - sf cy
ey
0
sf sq - cf sy cq sf cq + cf sy sq cf cy
ez
Dla uproszczenia zapisu użyto skrótów sf=sinf, cf= cosf itd.
Należy pamiętać o tym, iż mnożenie macierzy nie jest przemienne, dlatego kolejność
wykonywania obrotów elementarnych jest ważna i wpływa na wynik końcowy (postać
macierzy obrotów złożonych). Dowodem tego są macierze przedstawione poniżej jako wzory
(3.18) i (3.19).
rot(f,y ,q ) = rotx (f) roty (y ) rotz (q)=
cy cq - cy sq sy ł
(3.18)
ęc
= sq + sf sy cq cf cq - sf sy sq - sf cy ś
f
ę ś
ęsf sq - cf sy cq sf cq + cf sy sq cf cy ś

rot(q,y ,f) = rotz(q ) roty(y ) rotx(f)=
ł
sy cq - cfsq + sfsy cq sfsq + cq sy cf
(3.19)
ęs
= cy cfcq + sfsy sq - sfcq + cfsy sq ś
q
ę ś
ę- sy sfcy
cfsy ś

Podstawy robotyki
22
3.4. Współrzędne i transformacje jednorodne.
Do tej pory, przedstawione rozważania przeprowadzano w oparciu o współrzędne
prostokątne (kartezjańskie). Jednak już od roku 1969, kiedy do obliczeń arytmetycznych
związanych z kinematyką manipulatorów wykorzystano komputery, w celu ich uproszczenia,
wykorzystuje się tzw. współrzędne homogeniczne (jednorodne). Zasada wykorzystania
współrzędnych jednorodnych polega na tym, że punkt o współrzędnych kartezjańskich x,y,z
opisuje się czterema liczbami x1,x2,x3,x4, przy czym nie wszystkie z nich mogą być
jednocześnie równe zero. Zależność między współrzędnymi prostokątnymi (x,y,z)
i współrzędnymi jednorodnymi można zapisać następująco:
x1 x2 x3
x = y = z = (3.20)
x4 x4 x4
Współrzędne jednorodne można określić za pomocą wektora:
r
T
R = [x1 x2 x3 x4] ,
lub przy założeniu, że x4 = 1 (rozpatrywane ciała są ciałami sztywnymi)
r
T
R = [x1 x2 x3 1]
T
Dla przykładu wektor [0 0 0 1] jest wektorem zerowym. Natomiast wektory
T T T
[1 0 0 0] , [0 1 0 0] ,[0 0 1 0] , określają punkty nieskończenie oddalone od
początku układu i leżące odpowiednio na osiach Ox,Oy,Oz.
Wprowadzenie współrzędnych jednorodnych umożliwiło rozszerzenie macierzy N-
wymiarowej do wymiaru (N+1) tworząc tzw., jednorodną macierz transformacji o postaci:
macierz rotacji wektor translacji
ł
T = (3.21)
ę ś
000 czynnik skali

Czynnik skali może opisywać np. odkształcenie (przeskalowanie) obiektu
w trójwymiarowej przestrzeni i jest szeroko stosowany w grafice komputerowej, jednak
w robotyce, ze względu na to, iż rozpatrywane ciała są ciałami sztywnymi przyjmuje się go,
jako równy jeden. W efekcie tego macierz transformacji jednorodnej T przybiera następującą
ogólną postać:
i-1
macierz rotacji wektor translacji ł
ł roti i-1ri
i-1
Ti = = R4x4
ę ś
ę ś
000 1
000 1


Przypadkami szczególnymi jednorodnej macierzy transformacji są:
czysta rotacja (r=0)  wektor przemieszczenia jest równy zero
rot 0
ł
Tr=0 = Rot = (3.22)
ę000 1ś

Podstawy robotyki
23
czysta translacja (rot=I)  macierz obrotu jest macierzą izogonalną
I r
ł
Trot=I = P = (3.23)
ę000 1ś

W związku z tym, iż w kartezjańskim układzie współrzędnych ciało może posiadać
sześć stopni swobody, zbiór wszystkich transformacji jednorodnych można przedstawić za
pomocą sześciu elementarnych macierzy transformacji:
1 0 0 0 cosy 0 siny 0 cosq - sinq 0 0
ł ł ł
ę0 cosf - sinf 0ś ę ęsinq cosq 0 0ś
0 1 0 0ś
ę ś ę ś ę ś
Rot = Rot = Rotz =
x y
ę ś ę ś ę ś
0 sinf cosf1 0 - siny 0 cosy 0 0 0 1 0
ę0 0 0 1ś ę ę
0 0 0 1ś 0 0 0 1ś

(3.24)
1 0 0 rx 1 0 0 0 1 0 0 0
ł ł ł
ę0 1 0 0 ś ę0 1 0 ry ś ę0 1 0 0 ś
ę ś ę ś ę ś (3.25)
Px = Py = Pz =
ę ś ę ś ę ś
0 0 1 0 0 0 1 0 0 0 1 rz
ę0 0 0 1 ś ę0 0 0 1 ś ę0 0 0 1 ś

gdzie: rx, ry,rz  składowe wektora przemieszczenia.
Przykład 3.1
0
Wyznaczyć jednorodną macierz transformacji T1 układu współrzędnych
przedstawionego na rys.3.5, gdzie boki prostopadłościanu są odpowiednio równe a,b,c.
x1 z1
c
y1
z0 b
a
x0
y0
Rys.3.5. Transformacja jednorodna układów
Rozwiązanie
Uwzględniając założenia  kąty odmierzane zgodnie z zasadą śruby prawoskrętnej
mają znak dodatni, a przeciwnie znak ujemny można zapisać następujące zależności:
0
jednorodna macierz transformacji T1 :
0 0
ł
rot1 r1
0
T1 =
ę ś
000 1

Podstawy robotyki
24
wektor przemieszczenia:
a
ł
0 ębś
r1 =
ę ś
ę


0
Macierz rotacji rot1 może być obliczona z dwóch obrotów elementarnych:
p
0
rot1 = rotx ć rotz (p )

2
Ł ł
Korzystając z równań 3.9, 3.11 oraz 3.15 otrzymano:
-1 0 0 a
ł
ę
0 0 -1 bś
0
ę ś
T1 =
ę ś
0 -1 0 c
ę
0 0 0 1ś

Wyobrazmy sobie dowolny punkt C, którego współrzędne jednorodne są nam znane
w układzie lokalnym x1,y1,z1 (rys.3.5). Załóżmy, że położenie punktu zostało opisane
T
1
wektorem RC = [x1, y1, z1,1] . Wówczas zależność pomiędzy współrzędnymi układu
0
bazowego i lokalnego można uzyskać ze wzoru RC =0T11RC
Ostatecznie można zapisać:
x0 = -x1 + a
y0 = -z1 + b
z0 = - y1 + c
3.5. Kinematyka prosta i odwrotna
Jednym z głównych problemów związanych z zagadnieniami robotyki jest opis
kinematyczny układu wielociałowego, jakim jest manipulator. Poprzez opis taki rozumie się
przepis opisujący zależność geometryczną miedzy współrzędnymi uogólnionymi q i
współrzędnymi kartezjańskimi otoczenia:
R = f (q)
(3.26)
Przedstawiona zależność ma szczególne znaczenie przy wyznaczaniu położenia
chwytaka.
Często jednak występuje sytuacja odwrotna tzn. znając położenie chwytaka
konieczne jest wyznaczenie zmiennych uogólnionych, co sprowadza się do określenia
konfiguracji układu wielociałowego według zależności:
-1
q = f (R) (3.27)
Podstawy robotyki
25
3.5.1. Zadanie proste (bezpośrednie) kinematyki
Konfiguracja (parametry geometryczne) układu manipulatora jest realizowana
poprzez zmienne konfiguracyjne q=(q1,q2,..,qn) tzn., że każdej wartości zmiennej
konfiguracyjnej odpowiada jedno położenie chwytaka C w układzie bazowym. Jeśli założy
się, iż chwytak C jest zdefiniowany miejscem na ciele i układu wielociałowego to zgodnie z
wcześniejszymi rozważaniami można zapisać:
0
RC =0Ti iRC (3.28)
Zadanie proste kinematyki można podzielić na etapy:
1. Usytuowanie manipulatora w położeniu początkowym i wprowadzenie układu bazowego.
2. Wprowadzenie układów regionalnych dla wszystkich członów manipulatora.
3. Wprowadzenie współrzędnych konfiguracyjnych.
4. Wyznaczenie wzajemnych położeń poszczególnych członów za pomocą jednorodnych
i-1
macierzy transformacji Ti i = 1,2,...n .
5. Wyznaczenie położenia końcówki manipulatora względem układu bazowego
0
Ti =0T11T2 ...i-1Ti .
6. Wyznaczenie zależności pomiędzy współrzędnymi bazowymi i współrzędnymi lokalnymi
0
końcówki manipulatora RC =0Ti iRC .
Przykład 3.2
Rozważmy przykład, w którym szukane jest nie tylko położenie punku C (chwytaka)
w układzie lokalnym, ale również jego orientacja.
Zadanie
Wyznaczyć jednorodną macierz transformacji 0T2 oraz współrzędne wektora 0rC manipulatora
przedstawionego na rys.3.6.
Podstawy robotyki
26
y2
z2
z0
U2 C
l2
z1
f2 x2
U1 y1
U0
l1
x1
f1
y0
x0
Rys.3.6. Widok manipulatora dwuramiennego
Rozwiązanie
Ze względu na dwuczłonową budowę wprowadzono trzy układy współrzędnych
(bazowy U0 i dwa regionalne U1 i U2). Ponadto w rozważanym przypadku punkt C leży w
początku układu współrzędnych układu. Transformację układu bazowego U0 do pierwszego
układu regionalnego U1 można opisać jako iloczyn macierzy obrotu i przemieszczenia:
0
T1=0Rot10P1
gdzie:
1 0 0 0 1 0 0 0
ł ł 1 0 0 0
ł
ę0 cosf1 - sinf1 0ś ę0 1 0 l1 ś ę0 cosf1 - sinf1 l1 cosf1 ś
0 0 0
ę ś ę ś ę ś
Rot1 = P1 = T1 =
ę ś ę ś ę ś
0 sinf1 cosf1 0 0 0 1 0 0 sinf1 cosf1 l1 sinf1
ę0 0 0 1ś ę0 0 0 1 ś ę ś
1
0 0 0
Podobnie można opisać transformację układu pierwszego U1 do układu drugiego U2:
1
T2 =1Rot21P2
gdzie:
1 0 0 0
ł 1 0 0 0
ł
1 0 0 0
ł
ę0 1 0 l ś ę0 cosf2 - sinf2 l2 cosf2 ś
ę0 cosf2 - sinf2 0ś 1
2
1
1 ę ś ę ś
ę ś
P2 = T2 =
Rot2 =
ę ś ę ś
0 0 1 0
ę ś 0 sinf2 cosf2 l2 sinf2
0 sinf2 cosf2 0
ę ś ę ś
ę ś
1
0 0 0 1 0 0 0 1 0 0 0
Macierz transformacji jednorodnej 0T2 można zapisać w postaci:
1 0 0 0
ł
ę0 cos(f1 + f2 - sin(f1 + f2 l1 cosf1 + l2 cos(f1 + f2
) ) )ś
0
ę ś
T2 =0T11T2 =
ę ś
0 sin(f1 + f2 ) cos(f1 + f2 ) l1 sinf1 + l2 sin(f1 + f2 )
ę0 0 ś
0 1

Podstawy robotyki
27
Współrzędne końcówki manipulatora we współrzędnych bazowych można wyznaczyć ze
wzoru
0
ł
ęl cosf1 + l2 cos(f1 + f2

0 1
ę ś
RC =0T22RC =
ę ś
l1 sinf1 + l2 sin(f1 + f2 )
ę ś
1

0
gdzie: RC oznacza wektor we współrzędnych jednorodnych.
Wartości współrzędnych układu globalnego można opisać wzorami:
x0 = 0
y0 = l1 cosf1 + l2 cos(f1 +f2)
z0 = l1 sinf1 + l2 sin(f1 +f2)
3.5.2. Zadanie odwrotne kinematyki
Jak już wcześniej wspomniano, zadanie odwrotne kinematyki jest znacznie trudniejsze
i polega na wyznaczeniu wszystkich możliwych zbiorów współrzędnych konfiguracyjnych
umożliwiających osiągnięcie zadanych pozycji i orientacji manipulatora. Trudność tego
zagadnienia spowodowana jest nieliniowością równań kinematyki, niejednoznacznością
rozwiązań lub ich brakiem. Jeśli rozwiązań nie ma oznacza to, iż manipulator nie może
osiągnąć zadanych pozycji i orientacji, ponieważ znajdują się one poza jego przestrzenią
roboczą.
Ilość rozwiązań z kolei, zależna jest od relacji pomiędzy liczbą stopni swobody i liczbą
współrzędnych otoczenia. Relacja ta powoduje, iż układy można podzielić na:
układy normalne, w których liczba stopni swobody odpowiada wymiarowi wektora
otoczenia (równanie q=f-1(R) jest jednoznacznie rozwiązywalne do symetrii 
rys.3.7a);
układy podoznaczone, w których liczba stopni swobody jest mniejsza od wymiaru
wektora otoczenia (równanie q=f-1(R) można rozwiązać tylko w szczególnych
przypadkach);
układy redundantne, których liczba stopni swobody jest większa od wymiaru wektora
otoczenia (równanie q=f-1(R) ma wiele rozwiązań  rys.3.7b).
Podstawy robotyki
28
a) b)
z
z
q3
q2
q2
q1
q1
y
y
x
x
Rys.3.7. Układy manipulatorów
a) układ normalny;
b) układ redundantny.
Analizując zadanie proste kinematyki widać, że w zadaniu odwrotnym wystarczy
(korzystając z macierzy transformacji jednorodnej z zadania prostego) wyznaczyć zmienne
konfiguracyjne. Na pierwszy rzut oka widać jednak, że zadanie nie będzie trywialne biorąc
pod uwagę fakt, iż należy rozwiązać nieliniowy układ równań trygonometrycznych. Już dla
trzech zmiennych konfiguracyjnych uzyskanie wyniku w postaci zamkniętych, analitycznych
wzorów sprawi dużą trudność, a pozostają jeszcze do rozważenia dodatkowe stopnie
swobody w kiści manipulatora. Potrzebny jest więc jasny i prosty przepis, który pozwoli na
uzyskanie rozwiązania w postaci zamkniętej. Postać zamknięta z kolei umożliwi:
bardzo szybkie rozwiązywanie zadania odwrotnego przez kontroler robota, co
jest niezbędne do poprawnego wykonywania wielu czynność technologicznych
(np.: śledzenie spoiny za pomocą systemu wizyjnego), a co nie jest możliwe
w przypadku obliczeń iteracyjnych;
jednoznaczne określenie rozwiązania w przypadku istnienia wielu rozwiązań
(zastosowanie jasnych i prostych kryteriów wyboru (nałożenie więzów)
np.: prawa/lewa konfiguracja robota, łokieć góra/dół).
Zadanie odwrotne, zwłaszcza w przypadku wyposażenia robota w kiść typu sferycznego
(wszystkie osie obrotu przecinają się w jednym punkcie) można rozwiązać poprzez
rozwiązanie dwóch prostszych zadań (kinematyki odwrotnej pozycji i kinematyki odwrotnej
orientacji). Zadanie takie realizuje się zwykle poprzez znalezienie w pierwszej kolejności
pozycji kiści, a następnie orientacji kiści dodając w ostatniej fazie przesuniecie, w stosunku
do niej chwytaka.
Podstawy robotyki
29
Przykład 3.3
Przy danych współrzędnych (x0,y0,z0):
x0 = 0
y0 = l1 cosf1 + l2 cos(f1 + f2)
z0 = l1 sinf1 + l2 sin(f1 + f2)
wyznaczyć współrzędne konfiguracyjne dla manipulatora przedstawionego w przykładzie 3.2
(rys.3.6).
Rozwiązanie
Rozwiązanie polega na wyznaczeniu kątów f1 i f 2 w funkcji x,y,z czyli f i=f-1(x,y,z).
W związku z tym, iż x0=0 układ sprowadza się do zależności f i=f-1(y,z).
Wprowadzono dodatkowe kąty a i b (rys.3.8). Z rysunku widać, że istnieją dwa rozwiązania
zadania.
z0
C
l2
f2
b
l
a 1
f1
y0
x0
Rys.3.8. Manipulator dwuramienny
Po wprowadzeniu b = p -f2 z twierdzenia cosinusów wynika:
cos b = cos(p -f2 ) = -cosf2
2 2
y0 2 + z0 2 = l1 + l2 + 2l1 l2 cosf2
2 2
ć ć
y0 2 + z0 2 - l12 - l2 y0 2 + z0 2 - l12 - l2

cosf2 = f2 = arccos

2l1 l2 2l1 l2
Ł ł Ł ł
Podstawy robotyki
30
Z uwagi na fakt, iż funkcja cos jest parzysta, wygodniej jest przedstawić powyższą zależność
w postaci:
2
ć
y0 2 + z0 2 - l12 - l2

cosf2 = = D

2l1 l2
Ł ł
ć
ą 1 - D2

f2 = arctg

D
Ł ł
Po wprowadzeniu a z twierdzenia sinusów wynika:
2
2
ć
l2 l2 l2 y0 2 + z0 2 - l12 - l2

sina = sinf2 = 1 - cos2 f2 = 1-

2l1 l2
y0 2 + z0 2 y0 2 + z0 2 y0 2 + z0 2
Ł ł
podstawiając:
z0 ć
z0

tg(a + f1) = f1 = arctg - a
y0 y0
Ł ł
uzyskano rozwiązanie
2
2 ł
2
ć (2l1 l2 ) -(y0 2 + z0 2 - l12 - l2 )
y0
ś

f1 = arctg - arcsinę
ę ś
z0
4l12 (y0 2 + z0 2 )
Ł ł

3.6. Układy o strukturze drzewiastej
Mechaniczne układy zastępcze, które można podzielić na nierozgałęzione (rys.3.6)
i rozgałęzione (rys.3.9) można opisać otwartymi, drzewiastymi łańcuchami kinematycznymi.
Opis zależności kinematycznych dla układów o strukturze drzewiastej może być
sprowadzony do kolejno wykonywanych transformacji współrzędnych dla poszczególnych
łańcuchów. Jeśli wydzieli się z układu mechanicznego dwa ciała i oraz j układu
mechanicznego złożonego z ciał N, to przy zastosowaniu transformacji jednorodnej dla
odwzorowania (U)j(U)i można na podstawie równania 3.6 zapisać:
i j
RC =iTj RC i, j = 1,2,.....,n (3.29)
gdzie:
i
ł
rC
i
RC =
ę ś
1

Zależności do obliczeń rekurencyjnych otrzymuje się poprzez rozważenie dwóch ciał
sąsiadujących, tzn. przez podstawienie i=j-1:
j-1 j-1 j
RC = Tj RC j = 1,2,.....,n (3.30)
Podstawy robotyki
31
Podejście takie daje możliwość opisania kinematyki układu drzewiastego przez
sukcesywne zastosowanie tego równania:
0
RC =0T11T2...n-1TnnRC (3.31)
Całkowitą transformację jednorodną można zapisać w postaci:
0
Tn =0T11T2...n-1Tn (3.32)
Jak już wcześniej wspomniano przyporządkowanie układów współrzędnych do miejsc
charakterystycznych ciała zależy od potrzeb (środek masy, przeguby). Podczas rozważań
problemów kinematyki manipulatorów wygodnie jest przyporządkować układy
współrzędnych, sztywno związane z ciałami do przegubów (rys.3.6, rys.3.9).
Rys.3.9. Widok otwartego rozgałęzionego łańcucha kinematycznego
z dwoma gałęziami G1 i G2
0
Przykład 3.6
Opisać gałęzie (G1 i G2) układu mechanicznego przedstawionego na rysunku 3.9.
Dla głównej gałęzi można odczytać:
4

RG =4T5 5RG
1 1

2
RG =2T4 4RG 0

1 1
0
RG (C1 ) =0T5 5RG gdzie T5 =0T1 1T2 2T4 4T5 (3.33)
ż
1 1
1
RG =1T2 2RG
1 1

0
RG =0T1 1RG
1 1
Tn
2

RG =2T3 3RG
2 2

1 0 0
RG =1T2 2RG 0RG (C2 ) = T3 3RG gdzie T3 =0T1 1T2 2T3 (3.34)
ż
2 2 2 2

0
RG =0T1 1RG
2 2
Podstawy robotyki
32
Podobnie rozpatruje się zamknięte łańcuchy kinematyczne. Obliczenia z nimi związane
można podzielić na dwa etapy:
1. Sprowadzenie do układu o strukturze drzewiastej przez przecięcie zamkniętych
łańcuchów.
2. Sformułowanie warunków zgodności kinematycznej.
Warunek zamykania mówi, że G1=G2, a dla podanego przykładu można zapisać:
0 5
T1 1T2 2T4 4T5 5RG =0T1 1T2 2T3 3RG lub RG =5T4 4T2 2T3 3RG (3.35)
1 2 1 2
Zapis taki gwarantuje jednak jedynie wzajemne położenie współrzędnych obu łańcuchów.
Jeżeli dodatkowo wymagana jest taka sama ich orientacja należy rozpatrzyć dodatkowo
współrzędne punktów efektorów obu układów.
2 6
T4 4T5 5T6 =3T2 7T3 lub T5 5T4 4T2 3T2 7T3 = I (3.36)
3.7. Notacja Denavita-Hartenberga
Analizą mechanizmów zajmowano się już w XIX wieku. Wielu naukowców szukało
metody, która umożliwiałaby nie tylko analizę mechanizmów istniejących, ale również
syntezę nowych. Prace nad stworzeniem nowej, niezawodnej metody rozpoczął F. Reloux w
1900 roku. Jednak dopiero w latach 50-tych udało się stworzyć notację funkcjonującą do
dzisiaj.
Jak wiele istniejących metod, również notacja Denavita-Hartenberga (D-H) posiada wiele
zalet i wad.
Do zalet z całą pewnością należy zaliczyć:
możliwość opisu typu mechanizmu;
możliwość przedstawienia ruchu mechanizmu;
możliwość opisu ruchu za pomocą równań matematycznych.
Jej główne wady to:
możliwość opisu jedynie par kinematycznych niższego rzędu;
duża komplikacja obliczeń.
Zaproponowany przez J. Denavita i R.S. Hartenberga specjalny układ współrzędnych
umożliwia opis prostej w przestrzeni czterema (rys.3.10b), a nie jak czyniono to wcześniej
pięcioma (rys.3.10a) parametrami.
Podstawy robotyki
33
a) b)
z0 z0
a
a
0i C(x,y,z)
g
C(x,y,z) s
z
00 00
x y0 y0
90o
y
q
b
x0 x0
Rys.3.10. Układy współrzędnych
a) układ tradycyjny;
b) układ współrzędnych według notacji D-H.
Odnosząc opis do układu manipulatora można powiedzieć, że położenie dwóch
kolejnych układów współrzędnych i-1 oraz i może być określone za pomocą czterech
parametrów (rys.3.11).
Oś wiążąca dwa człony kinematyczne nazywana jest osią pary kinematycznej.
W przypadku par kinematycznych klasy V (obrotowe i przesuwne  rys.3.13) osiami pary
kinematycznej są:
oś obrotu członu i względem i-1 dla pary obrotowej  oś zi-1;
prosta o kierunku przemieszczania się członu i względem i-1 dla pary przesuwnej 
oś zi-1.
Pozostałe osie układu są przyjmowane następująco:
oś xi jest skierowana prostopadle do zi-1 oraz zi i przyjmowana jest zgodnie z zasadą
przedstawioną na rysunku 3.12;
oś yi jest przyjmowana w taki sposób aby tworzyła pozostałymi prawoskrętny układ
współrzędnych.
Podstawy robotyki
34
z"'i-1
ai
zi
yi
ai
0i y" i-1
z"i-1
xi ai
x"'i-1
ai
z'i-1
zi-1
y"i-1
si
x"i-1 qi
y'i-1
qi
0B-1
qi
yi-1
xi-1
x'i-1
Rys.3.11. Charakterystyka notacji D-H
Układ współrzędnych związany z chwytakiem orientuje się oddzielnie (rys.3.14):
oś xn jest prostopadła do zn oraz płaszczyzny uchwytu;
oś yn leży w płaszczyznie uchwytu;
oś zn tworzy prawoskrętny układ współrzędnych.
z'i-1
zi
0i-1
0i
xi
Rys.3.12. Zasada przyjmowania osi w układach
a) b)
zi
zi-1
xi
qi si zi
yi
yi
si qi zi-1
yi-1
xi-1
xi
yi-1
xi-1
Rys.3.13. Pary kinematyczne V klasy:
a) para obrotowa V klasy  si=stała qi =zmienna
b) para przesuwna V klasy  si=zmienna qi =stała
Podstawy robotyki
35
Wzajemne usytuowanie dwóch kolejnych układów wyznaczają parametry:
kąt konfiguracji członów qi powstały w wyniku obrotu wokół osi zi-1 do momentu aż
osie xi-1 i xi staną się równoległe;
odsunięcie członu si powstałe w wyniku przesunięcia wzdłuż osi zi-1 do momentu aż
osie xi-1 i xi pokryją się;
długość członu ai powstała w wyniku przesunięcia wzdłuż osi xi do momentu aż
początki układów 0i-1 i 0i pokryją się;
kąt skręcenia członu ai powstały w wyniku obrotu wokół osi xi do momentu aż pokryją
się wszystkie osie.
Spośród czterech wymienionych parametrów ai oraz ai są zawsze stałe, ponieważ
określa je konstrukcja członów. Dwa pozostałe natomiast mogą być zmienne.
Ogólnie dla wektora przemieszczenia we współrzędnych jednorodnych można
zapisać:
i-1
Ri =i-1Ti iRi (3.37)
przy czym:
i
Ri - oznacza wektor (punkt) i-tego członu manipulatora we współrzędnych jednorodnych i
jest wyznaczany w i-tym układzie.
Macierz transformacji jednorodnej powstaje w wyniku wymnożenia czterech macierzy:
i-1
Ti = Rotz(i-1) Pz(i-1) Px(i) Rotx(i) (3.38)
gdzie:
Rotz(i-1) - macierz transformacji jednorodnej dla czystego obrotu względem osi zi-1;
Pz(i-1) - macierz transformacji jednorodnej dla czystego przemieszczenie wzdłuż osi zi-1;
Px(i) - macierz transformacji jednorodnej dla czystego przemieszczenie wzdłuż osi x i;
Rotx(i) - macierz transformacji jednorodna dla czystego obrotu względem osi xi.
Ostatecznie macierz transformacji jednorodnej przyjmuje postać:
cosqi - sinqi cosai sinqi sinai ai cosqi
ł
ęsinq cosqi cosai - cosqi sinai ai sinqi ś
i-1 i
ę ś
Ti = (3.39)
ę ś
0 sinai cosai si
ę ś
0 0 0 1

i-1
gdzie: Ti =i-1Rotz ii-1Pz ii-1Pxii-1Rotxi
Od układów współrzędnych kolejnych członów manipulatora można przejść do układu
bazowego następująco:
Podstawy robotyki
36
0 0
Ri =0Ti iRi gdzie Ti =0T11T22T3 ...i-1Ti (3.40)
Przykład 3.4
0 0
Wyznaczyć jednorodną macierz transformacji T3 oraz współrzędne wektora R3
manipulatora przedstawionego na rys.3.14 przy wykorzystaniu Notacji D-H.
y3== x4
x3==z4
z3==
y4
z0==y1
l
2
y2
x2
l q2
1
z2
q1
y0==x1
x0==z1
Rys.3.14. Widok manipulatora dwuramiennego
Rozwiązanie
Zadanie rozwiązano w oparciu o zasady rozważania układów manipulatorów podane
w punkcie 3.7. Wprowadzono cztery układy współrzędnych. Położenie i orientację
występujących w manipulatorze układów można zestawić w tabeli 3.1.
Podstawy robotyki
37
Tabela 3.1
Przekształcenie Śi-1 si-1 ai ąi
Zorientowanie układów współrzędnych związanych z członami manipulatora
p p
0 0
0 1
2 2
1 2 q1 0 l1 0
p
2 3 q2 0 l2 -
2
Zorientowanie układu współrzędnych związanego z chwytakiem
p p
0 0
3 4
2 2
Macierze transformacji jednorodnej maj następującą postać:
p p p p p p ł
ć

ęcos 2 - sinć 2 cosć 2 sinć 2 sinć 2 0 cosć 2 ś
Ł ł Ł ł Ł ł Ł ł Ł ł Ł łś
0 0 1 0
ł
ę
ęsinć p cosć p cosć p cosć p sinć p 0 sinć p ś ę1 0 0 0ś
-
ś = ę
0
ś
T1 = ę
2 2 2 2 2 2
Ł ł Ł ł Ł ł Ł ł Ł ł Ł ł
ę ś
0 1 0 0
ę ś
p p
ę0 0 0 1ś
ę ś
0 sinć cosć 0


ę 2 2 ś
Ł ł Ł ł
ę ś
0 0 0 1

cos(q1) - sin(q1) cos(0) sin(q1) sin(0) l1 cos(q1) cos(q1) - sin(q1) 0 l1 cos(q1)
ł ł
ęsin cos(q1) cos(0) - cos(q1) sin(0) l1 sin(q1)ś ęsin cos(q1) 0 l1 sin(q1)ś
(q1) (q1)
1
ę ś ę ś
T2 = =
ę ś ę ś
0 sin(0) cos(0) 0 0 0 1 0
ę ś ę ś
0 0 0 1 0 0 0 1

p p

(q2 ) ) ) )ł

ęcos - sin(q2 cosć- 2 sin(q2 sinć- 2 l2 cos(q2 ś
Ł ł Ł ł
ę ś
ęsin cos(q2 cosć- p cos(q2 sinć- p l2 sin(q2
(q2 ) ) - ) )ś

2
T3 = ę ś =
2 2
Ł ł Ł ł
ę ś
p p

ę ś
0 sinć- cosć- 0

ę 2 2 ś
Ł ł Ł ł
ę ś
0 0 0 1

cos(q2 ) 0 - sin(q2 ) l2 cos(q2 )
ł
ęsin 0 cos(q2 l2 sin(q2
(q2 ) ) )ś
ę ś
=
ę ś
0 -1 0 0
ę ś
0 0 0 1

Podstawy robotyki
38
p p p p p p ł
ć

ęcos 2 - sinć 2 cosć 2 sinć 2 sinć 2 0 cosć 2 ś
Ł ł Ł ł Ł ł Ł ł Ł ł Ł łś
0 0 1 0
ł
ę
ęsinć p cosć p cosć p cosć p sinć p 0 sinć p ś ę1 0 0 0ś
-
ś = ę
3
ś
T4 = ę
2 2 2 2 2 2
Ł ł Ł ł Ł ł Ł ł Ł ł Ł ł
ę ś
0 1 0 0
ę ś
p p
ę ś
ę ś
0 sinć cosć 0

0 0 0 1
ę 2 2 ś
Ł ł Ł ł
ę ś
0 0 0 1

Macierz transformacji jednorodnej 0T3 jest równa:
0
T3 =0T11T22T3
Współrzędne końcówki manipulatora we współrzędnych bazowych można wyznaczyć ze
0
wzoru: RC =0T33RC
Przykład 3.5
Przy wykorzystaniu Notacji D-H wyznaczyć jednorodną macierz transformacji 0T3 oraz
współrzędne wektora 0R3 manipulatora przedstawionego na rys.3.15.
Rozwiązanie
Zadanie rozwiązano w oparciu o zasady rozważania układów manipulatorów podane
w punkcie 3.7. Wprowadzono trzy układy współrzędnych. Położenie i orientację
występujących w manipulatorze układów można zestawić w tabeli 3.2.
x3
z0
C
z3==z4
y1==x2
y4
x1==z2 y3==x4
q2
l1
z1==y2
q1
y0
x0
Rys.3.15. Widok manipulatora dwuramiennego
l
3
+
3
s
Podstawy robotyki
39
Tabela 3.2
Przekształcenie Śi-1 si-1 ai ąi
p p
+q1 l1 0
0 1
2 2
p p
+ q2 0 0
1 2
2 2
p
s3+l3 0 0
2 3
2
Macierze transformacji jednorodnej maj następującą postać:
p p p p p ł
ć

ęcos 2 +q1 - sinć 2 +q1 cosć 2 sinć 2 +q1 sinć 2 0ś
Ł ł Ł ł Ł ł Ł ł Ł ł
- sin(q1) 0 cos(q1) 0
ł
ę ś
ęsinć p cosć p p cosć p p 0ś ę cos(q1) 0 sin(q1) 0ś
+q1 +q1 cosć - +q1 sinć
0
ę ś
T1 = ę ś =
2 2 2 2 2
Ł ł Ł ł Ł ł Ł ł Ł ł
ę ś
0 1 0 l1
ę ś
p p
ę ś
0 sinć cosć l1 ę 0 0 0 1ś


2 2
ę ś
Ł ł Ł ł
ę ś
0 0 0 1

p p p p p ł
ć

ęcos 2 +q2 - sinć 2 +q2 cosć 2 sinć 2 +q2 sinć 2 0ś
Ł ł Ł ł Ł ł Ł ł Ł ł
- sin(q2 ) 0 cos(q2 ) 0
ł
ę ś
ęsinć p q2 cosć p cosć p cosć p q2 sinć p 0ś ę cos(q2 0 sin(q2 0ś
) )
+ +q2 - +
1
ę ś
T2 = ę ś =
2 2 2 2 2
Ł ł Ł ł Ł ł Ł ł Ł ł
ę ś
0 1 0 0
ę ś
p p
ę
0 sinć cosć 0ś ę 0 0 0 1ś


2 2
ę ś
Ł ł Ł ł
ę ś
0 0 0 1

p p p ł
ć

ęcos 2 - sinć 2 cos(0) sinć 2 sin(0) 0 ś
0 -1 0 0
ł
Ł ł Ł ł Ł ł
ę ś
ę1 0 0 0 ś
2
ęsinć p cosć p cos(0) - cosć p ś
ę ś
T3 = sin(0) 0 =

ę ś
2 2 2 ę ś
0 0 1 s3 + a3
Ł ł Ł ł Ł ł
ę
0 sin(0) cos(0) s3 + a3 ś ę 0 0 1 ś
ę ś 0
0 0 0 1
ę ś

Macierz transformacji jednorodnej 0T3 jest równa:
0
T3 =0T11T22T3
0
Współrzędne chwytaka w układzie bazy można wyznaczyć ze wzoru: RC =0T33RC
3.8. Definicje prędkości i przyspieszeń członów manipulatora
3.8.1. Prędkości kątowe i liniowe manipulatora
Podczas rozważań dotyczących prędkości manipulatora należy pamiętać, że wszystkie
dodawane wektory muszą być zapisane w tym samym układzie współrzędnych. W rozdziale
zostaną przedstawione podstawowe zależności dotyczące prędkości kątowych i liniowych
Podstawy robotyki
40
poszczególnych elementów manipulatora (rys.3.16). Rozważmy w pierwszej kolejności ruch
manipulatora na płaszczyznie (x,y).
x2
y0
y2 U2
0
v2
l2 z2
y1
0
v1 q 2 x1
U1
U0
l1 0
w2
z1
q
1
0
x0
w1
z0
Rys.3.16. Widok manipulatora
W pierwszej kolejności wyznaczono prędkości kątowe członów manipulatora:
0
wn =0wn-1+0wn-1,n (3.41)
gdzie:
0
wn - wektor prędkości kątowej n-tego członu względem układu bazy;
0
wn-1,n - wektor prędkości kątowej n-tego członu względem układu n-1 we współrzędnych
bazy.
Zgodnie z zależnościami wykorzystanymi przy rozważaniu pozycji manipulatora można
zapisać:
0
wn-1,n =0Rotn-1n-1wn (3.42)
n-1 n
wn =n-1wn-1+n-1wn-1,n =n-1Rotn( wn-1+nwn-1,n) (3.43)
n n-1
wn =nwn-1+nwn-1,n =nRotn-1( wn-1+n-1wn) (3.44)
Ogólnie postać wektora prędkości, dla dwóch sąsiednich członów w manipulatorze z
obrotowo połączonymi członami można zapisać w postaci:
dqn T
n-1
wn = zn-1 = [0,0,q&n] (3.45)
dt
gdzie:
zn-1 - wersor osi połączenia obrotowego.
Przykład 3.7
0
Wyznaczyć prędkość kątową w2 członu drugiego względem układu bazy manipulatora
przedstawionego na rysunku 3.16.
Podstawy robotyki
41
Rozwiązanie
0 cq1 - sq1 0 0
ł ł ł
0 ę ś ęsq cq1 0ś ę ś
w2 =0w1+0w1,2 =0w1+0Rot11w2 = 0 + 0
1
ę ś ę ś ę ś
ę ś ę ś ę ś
0 0 1 q&2
q&1
W dalszej kolejności należy wyznaczyć prędkości liniowe (rys.3.16) manipulatora. Dla
operatora najważniejszą wydaje się prędkość efektora względem układu bazy. Wyznaczając
pochodną ważenia (3.12), prędkość liniową manipulatora możemy zapisać w postaci:
d d
0 0 0
vn = ( rn-1)+ ( Rotn-10rn-1,n)=0vn-1+0wn-10rn-1,n +0vn-1,n (3.46)
dt dt
lub
d d
0 0 0
vn = ( rn-1)+ ( Rotn-1n-1rn)=0vn-1+0wn-10Rotn-1n-1rn +0Rotn-1n-1vn (3.47)
dt dt
gdzie:
0
vn - wektor prędkości liniowej n-tego członu względem układu bazy;
0
vn-1,n - wektor prędkości liniowej n-tego członu względem członu n-1;
0
rn-1,n - wektor opisujący długość członu n;
0
Rotn-1 - macierz rotacji członu n-1 względem układu bazy.
d d d
0 0 0 n-1
( Rotn-1n-1rn)= ( Rotn-1)n-1rn + ( Rotn-1) ( rn)=0wn-10Rotn-1n-1rn +0Rotn-1n-1vn
dt dt dt
Zgodnie z wcześniejszymi zależnościami (3.43-3.44) można zapisać:
n-1
vn =n-1vn-1+n-1wn-1n-1rn-1,n +n-1vn-1,n (3.48)
Przykład 3.8
0
Wyznaczyć prędkość liniową v2 członu drugiego względem układu bazy manipulatora
przedstawionego na rysunku 3.16.
Rozwiązanie
Zgodnie z (3.47) można zapisać, że:
0
v2 =0v1+0w10Rot11r2 +0Rot11v2
- l1 sq1 cq1 - sq1 0
ł ł
0 ę 0 ęsq cq1 0ś
v1=0w10r1 = l1 cq1 śq&1 Rot1 =
1
ę ś ę ś
ę ś ę ś
0 0 0 1

- l2 sq2
ł
1 ę
v2 =1w21r2 = l2 cq2 śq&2
ę ś
ę ś
0

Podstawy robotyki
42
- l1 sq1 - l2 s(q1 +q2 ) - l2 s(q1 +q2 ) ł
ł q&1
0
v2 =
ę
l1 cq1 - l2 c(q1 +q2 ) - l2 c(q1 +q2 )śę ś

q&2
Przedstawienie zagadnienia różniczkowania macierzy względem czasu przy
uwzględnieniu notacji D-H (wyrażenie 3.39) dla uproszenia problemu można opisać dla
dwóch przypadków:
1. Para kinematyczna łącząca dwa sąsiadujące człony (i-1 oraz i) jest typu obrotowego
( qi = qi =zmienna, si = stała)
- sinqi - cosqi cosai cosqi sinai - ai sinqi
ł
ę
cosqi - sinqi cosai sinqi sinai ai cosqi ś
d
i-1
&
ę śqi (3.49)
( Ti )=
ę ś
dt 0 0 0 0
ę ś
0 0 0 0

i-1 i-1
&
Aatwo zauważyć, że macierz Ti można uzyskać mnożąc macierz Ti przez
wyrażenie:
0 -1 0 0
ł
ę1 0 0 0ś
ę ś
qo = (3.50)
ę ś
0 0 0 0
ę ś
0 0 0 0
Prawdziwy jest więc zapis:
i-1
&
&
Ti = qoi-1Ti qi (3.51)
2. Para kinematyczna łącząca dwa sąsiadujące człony (i-1 oraz i) jest typu przesuwnego
(qi = stała, qi = si = zmienna)
0 0 0 0
ł
ę0 0 0 0ś
ę ś
qP = (3.52)
ę ś
0 0 0 1
ę ś
0 0 0 0
Dla tego przypadku można zapisać, że:
i-1
&
&
Ti = qPi-1Ti qi (3.53)
0
Prędkość punktu i-tego członu opisanego wektorem Ri we współrzędnych bazowych należy
wyznaczyć ze wzoru:
0
& &
Ri =0Ti iRi (3.54)
gdzie:
i-1
i
0 0 j-2 j-1 j
&
&
Ti = = ( T11T2 .. Tj-1 q(o, p) Tj Tj+1 ...i-1Ti ) ( j = 1,2,...,i i = 1,2,...,n)
ś Ti q j
śqi
j=1
(3.55)
Podstawy robotyki
43
3.8.2. Przyspieszenia kątowe i liniowe manipulatora
Korzystając z równań (3.41) i (3.41) wyznaczono (poprzez różniczkowanie) wektor
przyspieszenia kątowego n-tego członu względem układu bazy. Wektor ten można zapisać w
postaci:
d
0 0
en =0e + ( Rotn-1n-1wn)=0e +0wn-10wn-1,n +0en-1,n (3.56)
n-1 n-1
dt
gdzie:
d d d
0 0 0 n-1
( Rotn-1n-1wn)= ( Rotn-1)n-1wn + ( Rotn-1) ( wn)=
dt dt dt
=0wn-10Rotn-1n-1wn +0Rotn-1n-1e =0wn-10wn-1,n +0e
n n-1,n
Dla rozpatrywanego manipulatora dwuramiennego (rys.3.15) można zapisać zatem:
0
e2 =0e1+0w10w1,2 +0e1,2 (3.57)
Korzystając z równań (3.46 3.47) wyznaczono zależności związane z wektorem
przyspieszenia liniowego:
d d
0 0 0
an =0an-1+0e 0Rotn-1n-1rn +0wn-1 ( Rotn-1n-1rn)+ ( Rotn-1n-1vn) (3.58)
n-1
dt dt
gdzie:
0
an - wektor przyspieszenia liniowego początku n-tego układu względem bazy;
0
an-1 - wektor przyspieszenia liniowego początku układu n-1 względem bazy;
0
e - wektor przyspieszenia kątowego początku układu n-1 względem bazy;
n-1
Po przekształceniach ogólny wzór na wektor przyspieszenia bezwzględnego można
zapisać w postaci:
0 0
an =0an-1+0en-10Rotn-1n-1rn +0wn-1 ( wn-10Rotn-1n-1rn)+ 20wn-10Rotn-1 n-1vn +0Rotn-1 n-1an
(3.59)
Przykład 3.9
0
Wyznaczyć przyspieszenie liniowe a2 członu drugiego względem układu bazy manipulatora
przedstawionego na rysunku 3.16.
Rozwiązanie
Zgodnie z (3.51) można zapisać, że:
0 0
a2 =0a1+0e10Rot11r2 +0w1 ( w10Rot11r2)+ 20w10Rot1 1v2 +0Rot1 1a2
- l1 sq1 l1 cq1
ł ł
0 0 ę
&1 ęl1 1
a1=0e10r1+0w1 ( w10r1)= l1 cq1 śq& - sq1 śq&2
ę ś ę ś
ę ś ę ś
0 0

- l2 sq2 l2 cq2
ł ł
2 1 ę
&2 ęl2
a1=1e 1r1,2 +1w2 ( w21r1,2)= l2 cq2 śq& - sq2 śq&2
2 2
ę ś ę ś
ę ś ę ś
0 0

Podstawy robotyki
44
- l2 sq2 cq1 - sq1 0
ł ł
1 ę 0 ęsq cq1 0ś
v2 =1w21r2 = l2 cq2 śq&2 Rot1 =
1
ę ś ę ś
ę ś ę ś
0 0 0 1

Po skróceniu i uporządkowaniu otrzymano:
&
- l1 sq1 - l2 s(q1 + q2 ) ł - l1 cq1 l2 c(q1 +q2 ) ł
ł q&1 ł q&12
0
a2 = -
ę&& & ś 2 ś
ę ś
l1 cq1 l2 c(q1 +q2 ) l1 sq1 l2 s(q1 + q2 )śę
+q&2 ę (q&1 + q&1 )

q1
Podstawy robotyki
45
4. Analiza statyczna i dynamiczna manipulatora
4.1. Analiza statyczna manipulatora
Analiza statyczna manipulatora pozwala na wyznaczenie wektorów sił i momentów
działających na jego poszczególne elementy. Podczas jej przeprowadzania przyjmuje się, iż
wszystkie pary kinematyczne są unieruchomione w danym (przypadkowym) położeniu
mechanizmu. Innymi słowy można powiedzieć, że wszystkie zmienne konfiguracyjne qi
przyjmowane są jako stałe.
Rozważania związane z tym problemem mają szczególne znaczenie przy
wykonywaniu następujących działań:
chwytaniu obiektów, ponieważ podczas tej operacji, w przypadku błędnej oceny sił i
momentów, mogą one ulec zniszczeniu lub uszkodzeniu;
łączeniu obiektów podczas montażu;
zmianie wartości sił, jakimi końcówka manipulatora oddziaływuje na obiekt
manipulacji.
Analizę statyczną przeprowadza się postępując analogicznie, jak podczas rozważań
związanych z położeniem i orientacją poszczególnych członów (tzn. rozpatruje się kolejno
połączone w pary kinematyczne sąsiadujące ze sobą człony) z tą tylko różnicą, że kolejność
rozwiązywania zadania jest odwrotna (rozpoczyna się od układu lokalnego, na który działają
zewnętrzne siły i momenty, a kończy w układzie bazowym). Ogólnie można powiedzieć, że
zadanie polega na wyznaczeniu, równoważnych siłom uogólnionym działającym na i-ty
człon, sił uogólnionych działających na człon i-1 (rys.4.1).
Dla uproszenia pominięto oddziaływanie sił ciężkości.
i
Fi+1
x2
z2
z0
C
i
M
i+1
Ui
i-1
i
i-1
y2
z1 Fi
y1
i-1
Mi
U
i-1
x1
U0
y0
x0
Rys.4.1. Ogólny widok manipulatora
Podstawy robotyki
46
Przedstawione na rysunku 4.1 siły i momenty można opisać następującymi wzorami:
i-1
Fi =i-1TiiFi+1 (4.1)
i-1
Mi =i-1TiiMi+1+i-1rii-1Fi (4.2)
Przykład 4.1
Wyznaczyć składowe wektorów sił i momentów działających na manipulator robota
przedstawiony na rysunku 4.2 w układzie bazowym. Dla uproszczenia przyjęto, iż na ostatni
człon manipulatora działa siła P, która jest skierowana wzdłuż osi Z układ lokalnego U2. Na
manipulator nie działają żadne zewnętrzne momenty skręcające.
x2
z2 P
z0
C
U2
l2
y2
z1
f2
y1
U0
l1
U1
x1
f1
y0
x0
Rys.4.2. Ogólny widok manipulatora obciążonego siłą P
Rozwiązanie
W pierwszej kolejności należy wyznaczyć składowe sił i i momentów, z jakimi siła P
działa na poszczególne człony mechanizmu dla układu lokalnego U2.
Oddziaływanie sił i momentów w układzie U2:
2 2 2
F3x = 0 F3y = 0 F3z = P
2 2 2
M3x = 0 M3y = 0 M3z = 0
Oddziaływanie sił i momentów w układzie U1:
Oddziaływanie sił w początku układu U1 wyznaczono zgodnie z zależnością (4.1):
2 2 1
1 0 0 0 0
F3x F3x F2x
0 cf2 - sf2 l2 cf2 2 y 2 y - P sf2 1 y
F3 F3 cf2 -2F3z sf2 F2
1
F2 =1T22F3 = = = =
0 sf2 cf2 l2 sf2 2 2 y P cf2 1
F3z F3 sf2 +2F3z cf2 F2z
0 0 0 1 0
0 0 0
Podstawy robotyki
47
Oddziaływanie momentów w początku układu U1 wyznaczono zgodnie z zależnością (4.2):
1
M2 =1T22M3+1r21F2
2
1 0 0 0 1 0 0 0 0 0
M3x
0 cf2 - sf2 l2 cf2 2 y 0 cf2 - sf2 l2 cf2 0 0
M3
1
T22M3 = = =
0 sf2 cf2 l2 sf2 2 0 sf2 cf2 l2 sf2 0 0
M3z
0 0 0 1 0 0 0 1 0 0
0
1 1
r2x F2x ex ey ez
1 1 1 1 1
r21F2 = r2 y F2 y = r2x 1r2 y 1r2z = (-1)1+1 ex ( r2 y1F2z -1r2z 1F2 y)+
1 1 1 1 1
r2z F2z F2x F2 y F2z
1 1
+ (-1)1+2 ey ( r2x1F2z -1r2z 1F2x)+ (-1)1+3 ez ( r2x1F2 y -1r2 y1F2x)=
1 1 1
= ex ( r2 y1F2z -1r2z1F2 y)- ey ( r2x1F2z -1r2z 1F2x)+ ez ( r2x1F2 y -1r2 y1F2x)
1
r2 y1F2z -1r2z1F2 y
1
r2z1F2x -1r2x1F2z
1
r21F2 =
1
r2x1F2 y -1r2 y1F2x
0
1 1
Z rysunku 4.2 wynika, że r2x = 0 r2 y = l2 cf2 1r2z = l2 sf2 . Stąd:
1
l2 cf2 cf2 P - l2 sf2 (-sf2) P l2 P
l2 P (c2f2 + s2f2) M2x
1
l2 sf2 0 - 0cf2 P 0
0 M2 y
1
M2 = = = =
1
0(-sf2) P - l2 cf2 0 0
0 M2z
0 0
0 0
Oddziaływanie sił i momentów w układzie U0:
1 1
1 0 0 0 0
F2x F2x
0 cf1 - sf1 l1 cf1 1 y 1 y - P sf2 cf1 - P cf2 sf1
F2 F2 cf1-1F2z sf1
0
F1=0T11F2 = = = =
0 sf1 cf1 l1 sf1 1 1 y - P sf2 sf1 + P cf2 cf1
F2z F2 sf1+1F2z cf1
0 0 0 1 0
0 0
0
0
F1x
0
- P s(f1 +f2 )
F1y
= =
0
P c(f1 +f2 )
F1z
0
0
0
M1=0T11M2 +0r10F1
Podstawy robotyki
48
1 1
1 0 0 0 l2 P
M M
2x 2x
0 cf1 - sf1 l1 cf1 1 2 y 1 2 y 0
M M cf1-1M sf1
0 2z
T11M = = =
2
0 sf1 cf1 l1 sf1 1 2z 1 2 y 0
M M sf1+1M cf1
2z
0 0 0 1 0
0 0
0 0
r1x F1x ex ey ez
0 0 0 0 0
r10F2 = r1y F1y = r1x 0r1y 0r1z = (-1)1+1 ex ( r1y0F1z -0r1x0F1y)+
0 0 0 0 0
r1z F1z F2x F2 y F2z
0 0
+ (-1)1+2 ey ( r1x0F1z -0r1z0F1x)+ (-1)1+3 ez ( r1x0F1y -0r1y0F1x)=
0 0 0
= ex ( r1y0F1z -0r1z0F1y)- ey ( r1x0F1z -0r1z0F1x)+ ez ( r1x0F1y -0r1y0F1x)
0
r1y0F1z -0r1z 0F1y
0
r1z0F1x -0r1x0F1z
0
r10F1 =
0
r1x0F1y -0r1y0F1x
0
0 0
Z rysunku 4.2 wynika, że r1x = 0 r1y = l1 cf1 0rz = l1 sf1 . Stąd:
1 0
M r1y 0F1z -0r1z 0F1y
2 x
1
M cf1-1M sf1 0r1z 0F1x -0r1x0F1z
0 2 y 2z
M1 = + =
1
M sf1+1M cf1 0r1x0F1y -0r1y 0F1x
2 y 2 z
0 0
l2 P l1 cf1 P c(f1 +f2 ) - l1 sf1 (-P s(f1 +f2 ))
0 l1 sf1 0 - 0 P c(f1 +f2 )
= + =
0 0(-P s(f1 +f2 )) - l1 cf1 0
0 0
0
l2 P + l1 P[cf1 c(f1 +f2 ) + sf1 s(f1 +f2 )] P (l2 + l1 cf2 )
M1x
0
0 0
M1y
= = =
0
0 0
M1z
0 0
0
Ma manipulator przedstawiony na rysunku 4.2 w początku układu bazowego działają siły i
momenty opisane następującymi wzorami:
0 0
0 P (l2 + l1 cf2)
F1x M1x
0 0
- P s(f1 +f2 ) 0
F1y M1y
0 0
F1 = = M1 = =
0 0
P c(f1 +f2 ) 0
F1z M1z
0 0
0 0
Podstawy robotyki
49
4.2. Analiza dynamiczna manipulatora
5. Planowanie trajektorii
6. Chwytaki
7. Napędy i mechanizmy robotów
8. Czujniki
9. Sterowanie i planowanie zadań
10. Przykłady rozwiązań
11. Literatura
[1] Honczarenko J.: Roboty przemysłowe, WNT Warszawa 2004
[2] Jarzębowska E., Jarzębowski Wł.: Podstawy dynamiki mechanizmów i manipulatorów,
Oficyna Wydawnicza PW, Warszawa 1998
[3] Spong M.W., Vidyasagar M.: Dynamika i sterowanie robotów, WNT, Warszawa 1997


Wyszukiwarka

Podobne podstrony:
CHRAPEK,podstawy robotyki, elementy sk?owe i struktura robotów
CHRAPEK,podstawy robotyki, Roboty przemysłowe jako narzędzia
Podstawy prawa skrypt
CHRAPEK,podstawy robotyki, Przyk?y konstrukcji robotów przemys owych
Kurs podstawowy Test Nr 13 P
Podstawy Robotyki
Podstawy Robotyki PR W 31 33
notacja DH podstawy robotyki
II EA Podstawy robotyki Plan laboratorium
analityka podstawy spektroskopii 2012 13
CHRAPEK,podstawy robotyki, Definicje i klasyfikacja robotów przemysłowych
CHRAPEK,podstawy robotyki, Metodyka wprowadzania robotów do przemysłu
notatek pl egzamin podstawy robotyki 2

więcej podobnych podstron