INTELLIGENS ROBOTOK ÉS RENDSZEREK Mester Gyula
Dr. Mester Gyula
Robotkinematika
1
ROBOTMANIPULÁTOROK KINEMATIKÁJA Mester Gyula
Dr. Mester Gyula
Robotkinematika
2
1.1 ROBOTMANIPULÁTOROK GEOMETRIAI MODELLJE A robotmanipulátor mint mechanizmus n számú szegmensből áll melyeket 1-szabadságfokú csuklók kapcsolnak össze. Dr. Mester Gyula
Robotkinematika
3
1.1.1. Robotcsuklók A merev test mozgása műszaki szempontból a mozgástengelyek (x,y,z) menti elmozdulásból és e tengelyek körüli elfordulásból áll. Ez persze vonatkozik a robotmanipulátorok mozgására is amely felosztható haladó -és forgó ( rotációs ) mozgásra. Így tehát az 1-szabadságfokú robotcsuklók felosztása a következő: • rotációs csukló, • transzlációs csukló. Dr. Mester Gyula
Robotkinematika
4
z • A rotációs csuklók lehetővé teszik az egyik szegmens forgó mozgását a másik szegmens körül, R szimbólummal jelöljük és sematikusan hengerrel ábrázoljuk.
l2
l1 q 1.1. ábra A rotációs csukló vázlata
Dr. Mester Gyula
Robotkinematika
5
• A transzlációs csuklók lehetővé teszik az egyik szegmens haladó mozgását a másik szegmenshez viszonyítva, T szimbólummal jelöljük és sematikusan hasábbal ábrázoljuk.
l2
l1
z
q
1.2. ábra A transzlációs csukló vázlata Dr. Mester Gyula
Robotkinematika
6
• A 1.3 ábrán a 6-szabadságfokú PUMA típusú robototmanipulátort mutatjuk be, • a 1.4 ábrán pedig a PUMA robotmanipulátor vázlata látható:
Dr. Mester Gyula
Robotkinematika
7
• 1.3. ábra q2 A PUMA robotmanipulátor
q3 q5
q1
q6 Dr. Mester Gyula
Robotkinematika
q4
8
1.4. ábra A PUMA Robotmanipulátor vázlata
Dr. Mester Gyula
Robotkinematika
9
1.1.2. Robotszegmensek • A robotmanipulátor szegmense merev test, amely kinematikai- és dinamikai paraméterekkel rendelkezik. • A kinematikai paraméterek a szegmens hossza és a robotcsukló-tengelyek egymással között bezárt szöge. • A dinamikai paraméterek közé tartozik a szegmens tömege, és tehetetlenségi nyomatéka. • A kinematikai paramétereket a Denavit-Hartenberg féle eljárás szerint határozzuk meg. Dr. Mester Gyula
Robotkinematika
10
1.5. Ábra Robotszegmens
q i-1
qi i-szegmens
i-csukló (i-1) - csukló Dr. Mester Gyula
Robotkinematika
11
1.1.3. Kinematikai pár • A kinematikai pár két egymás mellett lévő szegmensből és a szegmenseket összekötő csuklóból áll. • A továbbiakban csak 1-szabadságfokú kinematikai párokat vizsgálunk (rotáció vagy transzláció).
Dr. Mester Gyula
Robotkinematika
12
1.1.4. Kinematikai lánc • A kinematikai lánc n számú kinematikai párból áll. A kinematikai láncok struktúrális szempontból csoportosíhatók:
Dr. Mester Gyula
Robotkinematika
13
egyszerû
összetett
Kinematikai lánc - felosztása -
nyitott
zárt
1.6. ábra Kinematikai láncok felosztása Dr. Mester Gyula
Robotkinematika
14
• Az egyszerű kinematikai láncnál egyik szegmens sem kapcsolódik több mint két kinematikai párhoz. • Az összetett kinematikai láncnál legalább egy szegmens több mint két kinematikai párhoz tartozik. • A nyitott kinematikai lánc legalább egy szegmense csak egy kinematikai párhoz tartozik. • A zárt kinematikai láncnál minden szegmens két kinematikai párhoz tartozik. A kinematikai láncok típusai az 1.7. ábrán láthatók. Dr. Mester Gyula
Robotkinematika
15
egyszerű, nyitott kinematikai lánc
egyszerű, zárt kinematikai lánc Dr. Mester Gyula
összetett, nyitott kinematikai lánc
összetett, zárt kinematikai lánc
Robotkinematika
16
• A mechanizmusok elmélete szempontjából a robotmanipulátorok aktív mechanizmusai általános esetben összetett és változó struktúrájú kinematikai láncok [2]. • Egy ipari robot kinematikai láncának szerelés közben változó struktúráját a 1.8.1.10. ábrákon mutatjuk be. Dr. Mester Gyula
Robotkinematika
17
Vizsgáljunk meg egy 6-szabadságfokú PUMA típusú robotmanipulátort. A munkadarab megfogása előtt a robotmanipulátor kinematikai lánca egyszerű és nyitott: Dr. Mester Gyula
1.8. ábra A szerelő robot a munkadarab megfogása előtt Robotkinematika
18
A munkadarab szállítása közben a robotmanipulátor kinematikai struktúrája nem változik, de a kinematikai lánc utolsó tagjának ( a megfogó-effektor és a munkadarab együttesen ) a tömege és tehetetlenségi nyomatéka változik, ami persze kihat a szemlélt rendszer dinamikájának változására: Dr. Mester Gyula
1.9. ábra A munkadarab szállítása 19
Robotkinematika
A munkadarab szerelésénél pedig (1.9. ábra) megváltozik a robotmanipulátor kinematikai struktúrája is, mivel az, egyszerű és zárt kinematikai struktúrájú lesz:
Dr. Mester Gyula
1.10. ábra A munkadarab szerelése Robotkinematika 20
1.1.5. Robotmanipulátorok alapkonfigurációi • A robotmanipulátorok alapkonfigurációja alatt egy három csuklós, tehát 3 - szabadságfokú kinematikai láncot értünk. Az alapkonfigurációhoz csatlakozik az effektor. • Az alapkonfiguráció feladata az effektor pozícionálása a munkatérben. A legtöbb használatban lévő robotmanipulátor rendelkezik ilyen alapkonfigurációval. • Mivel a robotcsuklók rotációsak és transzlációsak lehetnek, így az alapkonfigurációk esetében a 1.10. ábra szerinti kombinációk jelentkezhetnek. Dr. Mester Gyula
Robotkinematika
21
Robotmanipulátorok alapkonfigurációi No.
Struktúra
vázlat
Struktúra
1
RRR
5
TRR
2
RRT
6
TTR
3
RTT
7
TRT
4
RTR
8
TTT
vázlat
1.11. ábra A robotmanipulátorok lehetséges alapkonfigurációinak bemutatása
Dr. Mester Gyula
Robotkinematika
22
Fontos kihangsúlyozni azt is, hogy a robotmanipulátor alapkonfigurációk kinematikai paramétereitől függően az 1.11. ábra egy-egy eseténél több kombináció is lehetséges. Ez például a SCARA (Selective Compliant Articulated Robot for Assembly) RRT struktúrájú szerelő robotmanipulátor esetében szemléletesen bemutatható (1.12. ábra). Dr. Mester Gyula
z1 q2
z0 q1
q3
z2
1.12. ábra A SCARA szerelőrobot alapkonfigurációja Robotkinematika 23
1.1.6. Az alapkonfigurációk munkaterei • A robotmanipulátor alapkonfigurációjának a munkatere alatt azt a bejárható térnagyságot értjük, amelynek minden pontjában eljuthat a harmadik szegmens végső pontja. • A továbbiakban a 4 leginkább használt alapkonfiguráció munkaterét vizsgáljuk [7]:
Dr. Mester Gyula
Robotkinematika
24
a. A TTT struktúra munkatere: • A TTT struktúra 3 transzlációs csuklóval rendelkezik. Három haladó mozgást valósít meg egy Descartes féle derékszögű koordinátarendszerben. • A 1.13. ábrán látható a TTT alapkonfiguráció munkatere, amely hasáb alakú.
Dr. Mester Gyula
Robotkinematika
25
z y
a
o
x
1.13. ábra A TTT struktúra munkatere Dr. Mester Gyula
Robotkinematika
26
b. Az RTT struktúra munkatere: • Az RTT struktúra 2 transzlációs és 1 rotációs csuklóval rendelkezik (az első csukló rotációs a másik kettő pedig transzlációs). Két haladó és egy forgó mozgást valósít meg. • A 1.14. ábrán látható az RTT alapkonfiguráció hengergyűrű alakú munkatere. Dr. Mester Gyula
Robotkinematika
27
z y
b
o
x
1.14. ábra Az RTT struktúra munkatere Dr. Mester Gyula
Robotkinematika
28
c. Az RRT struktúra munkatere: • Az RRT struktúra 2 rotációs és 1 transzlációs csuklóval rendelkezik (az első két csukló rotációs a harmadik pedig transzlációs). Két forgó és egy haladó mozgást valósít meg. • Az 1.15. ábrán látható az RRT alapkonfiguráció üreges gömb alakú munkatere. Dr. Mester Gyula
Robotkinematika
29
z
c y
o x
1.15. ábra Az RRT struktúra munkatere Dr. Mester Gyula
Robotkinematika
30
d. Az RRR struktúra munkatere: • Az RRR struktúra 3 rotációs csuklóval rendelkezik – három forgás • Az 1.16. ábrán látható az RRR alapkonfiguráció munkatere, amely gömb alakú:
Dr. Mester Gyula
Robotkinematika
31
Z
d y
o
x
1.16. ábra Az RRR struktúra munkatere Dr. Mester Gyula
Robotkinematika
32
• Ha feltételezzük, hogy a fent említett alapkonfigurációk paraméterei azonosak, tehát: • - az elmozdulások maximális hossza l, • - a maximális rotáció nagysága 180o és • - a rotációt végző szegmensek hossza l, • akkor megállapítható, hogy az RRR struktúra munkatere a legnagyobb. • Itt viszont azt is meg kell említeni, hogy a pozícionálási hiba nagyobb azoknál a robotmanipulátoroknál amelyek rotációs csuklókkal rendelkeznek (mivel a rotációs csuklóknál a pozicionálási hibák szuperponálódnak). Dr. Mester Gyula
Robotkinematika
33
• Az ipari alkalmazásban mégis a rotációs csuklókkal rendelkező robotmanipulátorok vannak többségben, egyrészt a szervomotor forgómozgása, másrészt a robotirányítás könnyedsége miatt. Ugyanis a transzlációs csuklóknál a szervomotor forgómozgását át kell alakítani haladó mozgássá, ami a robotmanipulátoroknál kotyogást és mechanikai veszteségeket idéz elő. Dr. Mester Gyula
Robotkinematika
34
1.2. A ROBOT HELYZETMEGHATÁROZÁSA
Dr. Mester Gyula
Robotkinematika
35
1.2.1. Bevezetés • A robotirányítás legegyszerűbb feladata az effektor helyzetmeghatározása a munkatérben. • Figyeljük tehát azt a feladatot amikor egy munkadarabot helyezünk át az 1-es helyzetből a 2-es helyzetbe (1.17. ábra). • Először az effektort pozícionálni kell a munkadarab közelébe, majd a munkadarab megfogása céljából el kell végezni az effektor orientációját is ( 1-es helyzet). • A robot helyzete a munkatérben tehát az effektor pozíciójával és orientációjával van meghatározva [3]. Dr. Mester Gyula
Robotkinematika
36
2 1
1.17. ábra A munkadarab áthelyezése Dr. Mester Gyula
Robotkinematika
37
• A következő lépés a munkadarab megfogása és áthelyezése (2-es helyzet). Itt új pozíciót és orientációt szükséges definiálni. Amikor a munkadarab a 2-es helyzetbe kerül, az effektor kinyílik így a munkadarab a végső helyzetébe jut. • A robot pozícionálása a szerelőrobotok legegyszerűbb feladata. Dr. Mester Gyula
Robotkinematika
38
Az effektor pozicionálása • A robotmanipulátor pozícionálása alatt az effektor világkoordináták (x,y,z) szerinti elhelyezését értjük a munkatérben. • A pozícionálási feladat elvégzésére 3 szabadságfokra, vagyis a robot alapkonfigurációjára van szükség.
Dr. Mester Gyula
Robotkinematika
39
Az effektor orientációja • A robotmanipulátor orientációja alatt az effektornak a 3 térbeli szög (ψ, θ, ϕ) szerinti elhelyezését értjük a munkatérben. • A orientációs feladat elvégzésére tehát további 3 szabadságfokra van szükség.
Dr. Mester Gyula
Robotkinematika
40
• Az ipari robotmanipulátorokat leginkább 4, 5 és 6 szabadságfokú struktúrával gyártják. • A 4 - szabadságfokú robotmanipulátor, 3 szabadságfokkal el tudja végezni a pozicionálást (x, y, z), a 4. szabadságfokkal pedig egy szög szerinti orientációt (ψ), tehát a robot képes elvégezni egyszerűbb térbeli manipulációs feladatokat (munkadarab szállítás, présgépek kiszolgálása stb.). Dr. Mester Gyula
Robotkinematika
41
• Az 5 - szabadságfokú robotmanipulátor 3 szabadságfokkal el tudja végezni a pozicionálást (x, y, z), a 4. és 5. szabadságfokokkal pedig 2 szög szerinti orientációt (ψ, θ), tehát a robotmanipulátor összetettebb térbeli manipulációs feladatokat képes elvégezni (folyadék-szállítás, egyszerűbb szerelési munkálatok, hegesztés stb.). Az 1 és 2 szög szerinti orientáció-feladat különbsége a 1.18. és 1.19. ábrákon látható [4]. Dr. Mester Gyula
Robotkinematika
42
1.18. ábra Az 1 szögű orientáció-feladat z
z' Dr. Mester Gyula
Robotkinematika
43
1.19. ábra A 2 szögű orientáció-feladat. z
Ψ z' Dr. Mester Gyula
Robotkinematika
44
1.2.2. Csuklókoordináták • A robotmanipulátor csuklókoordinátája skaláris érték, amely a kinematikai pár egyik szegmensének a relatív helyzetét határozza meg a másik szegmenshez viszonyítva [1]. A rotációs csuklónál a csuklókoordináta megegyezik a csukló elforgatási szögével, a transzlációs csuklónál a csuklókoordináta pedig megegyezik a csukló tengelye mentén történő elmozdulással. Robotmanipulátorok csuklókoordinátáit a következőképpen jelöljük: qi i = 1,2,...,n Dr. Mester Gyula
Robotkinematika
45
• a csuklókoordináták vektora pedig:
(1.1)
Dr. Mester Gyula
q1 q q = 2 M q n
Robotkinematika
46
• Minden csuklókoordináta bizonyos határok q i min ≤ q i ≤ q i max között változhat: • Megállapítható, hogy a rotációs csuklók pozícionálása esetében egyidőben változik az effektor orientációja is, így az effektor orientációját később csak korrigálni kell (ez persze a transzlációs csuklókról nem mondható el). Dr. Mester Gyula
Robotkinematika
47
q3 q4 q5
q2
q6
q1
1.20. ábra Robotmanipulátorok csuklókoordinátái Dr. Mester Gyula
Robotkinematika
48
1.2.3. Világkoordináták • A világkoordináták meghatározzák a robotmanipulátor effektorjának a pozícióját és orientációját egy nyugvó Descartes féle derékszögű koordinátarendszerben. • Az effektor pozíciója három, Descartes féle derékszögű koordinátával írható le: x, y, z. A vonatkoztató nyugvó koordinátarendszer a robotmanipulátor platformjához van rögzítve (a leíráshoz lehet hengeres-koordinátákat is alkalmazni). Dr. Mester Gyula
Robotkinematika
49
• Az effektor orientációja a módosított Euler szögekkel írható le: ψ,θ,ϕ. Ezek a szögek meghatározzák az effektorhoz kötött mozgó koordinátarendszer szögelfordulását a robotmanipulátor platformjához van rögzített vonatkoztató álló koordinátarendszerhez képest. x (1.2)
Dr. Mester Gyula
Robotkinematika
y z s= Ψ θ ϕ
50
• A módosított Euler szögeket a hajózásból vették át és az Euler szögekhez képest abban különböznek, hogy a harmadik forgatás az x tengely körül történik (az Euler szögeknél pedig újból a z tengely körül !). A módosított Euler szögek elnevezései: • ψ - csavarási szög (ROLL) • θ - billentési szög (PITCH) • ϕ - forgatási szög (YAW) Dr. Mester Gyula
Robotkinematika
51
zn
ψ csavarás Roll θ billentés Pitch
On
xn
ϕ forgatás Yaw
yn
1.21. ábra Robotmanipulátorok ROLL, PITCH és YAW szögei Dr. Mester Gyula
Robotkinematika
52
• A csavarási szög ψ, az effektorhoz kötött mozgó koordinátarendszernek a nyugvó koordinátarendszer z tengelye körüli szögelfordulását határozza meg. A billentési szög θ az új helyzetbe került y tengely körüli szögelfordulást adja. A forgatási szög ϕ pedig a két előbbi szögelfordulás után új helyzetbe került x tengely körüli szögelfordulását határozza meg [1]. Dr. Mester Gyula
Robotkinematika
53
• A világkoordináták s vektorának komponensei: • Az effektor kiválasztott szerszámközéppontjának TCP (Tool Center Point) három x, y és z Descartes féle koordinátája a robotmanipulátor platformjához rögzített vonatkoztató álló koordinátarendszerhez viszonyítva, és a • ψ, θ, ϕ szögek, amelyek meghatározzák az effektorhoz kötött mozgó koordinátarendszer szögelfordulását a vonatkoztató nyugvó koordinátarendszerhez viszonyítva. Dr. Mester Gyula
Robotkinematika
54
z zn
qi
ψ θ
ϕ
on xn
yn
z
o x
x
y
y
1.22. ábra Robotmanipulátorok effektorának világkoordinátái Dr. Mester Gyula
Robotkinematika
55
• A világkoordináták s vektorának általános esetben m koordinátája van. Legtöbbször m=6. Bizonyos típusú robotmanipulátoroknál elegendő kisebb számú világkoordináta használata, így például az effektor pozicionálására (orientáció nélkül) elegendő: m = 3 világkoordináta, tehát a világkoordináták vektora ez esetben: (1.3) Dr. Mester Gyula
s = [x y z ]
T
Robotkinematika
56
1.2.4. Direkt kinematikai feladat • A világkoordináták s vektorának meghatározása a csuklókoordináták q vektorának ismeretében a direkt kinematikai feladat [1], amely a következő módon irható le: (1.4) s = f(q) ahol a: qi (i = 1,....n) – robotmanipulátor csuklókoordinátái, si (i = 1,...m) - világkoordináták, f: - nemlineáris, folytonos deriválható vektorfüggvény amely leképezi a csuklókoordinátákat világkoordinátákká. Dr. Mester Gyula
Robotkinematika
57
• A következő ábrán bemutatjuk a direkt kinematikai feladat koordinátatranszformáció struktúráját. • A q csuklókoordináták minden vektorértékének egyértelmű s világkoordináta érték felel meg. • Az 1.3. fejezetben a direkt kinematikai feladattal foglalkozunk. Dr. Mester Gyula
Robotkinematika
58
Transzformáció:
q
s
csuklókoordinátákból világkoordinátákba
1.23. ábra A direkt kinematikai feladat koordináta-transzformáció struktúrája Dr. Mester Gyula
Robotkinematika
59
1.2.5. Inverz kinematikai feladat •
A csuklókoordináták q vektorának meghatározása a világkoordináták s vektorának ismeretében az inverz kinematikai feladat [1], amely a következő módon irható le: (1.5) q = f -1(s)
Dr. Mester Gyula
Robotkinematika
60
• Az s világkoordináták visszatranszformálása a q csuklókoordinátákba nem egyértelműen meghatározott feladat. A számítás nagymértékben függ a robotmanipulátor geometriájától és gyakran több megoldást eredményez. • Az 1.4. fejezetben az inverz kinematikai feladattal foglalkozunk. • A következő ábrán bemutatjuk az inverz kinematikai feladat koordináta-transzformáció struktúráját. Dr. Mester Gyula
Robotkinematika
61
s
Transzformáció:
q
világkoordinátákból csuklókoordinátákba
1.24. ábra Az inverz kinematikai feladat koordináta-transzformáció struktúrája Dr. Mester Gyula
Robotkinematika
62
• Az inverz kinematikai feladat, mivel nagyszámú nemlineáris (a csuklókoordináták és a világkoordináták közötti összefüggés nemlineáris) trigonometriai egyenlet megoldását feltételezi, sokkal összetettebb mint a direkt kinematikai feladat. • Akkor alkalmazzuk, amikor a robotmanipulátor feladatnál az effektor pályája világkoordinátákban van megadva és így szükséges meghatározni a csuklókoordinátákat is. • A direkt- és inverz kinematikai feladat koordinátatranszformáció struktúráját szemléltető módon az 1.25. ábrán mutatjuk be: Dr. Mester Gyula
Robotkinematika
63
Inverz kinematikai feladat
s
z zn
q4
ψ
-1
f
θ
ϕ xn
q
q3 q5
q2
q6
yn Tool-Center-Point (TCP)
q1
y
f
x világkoordináták vektora s=|x, y, z, ψ, θ, ϕ |T Direkt kinematikai feladat
csuklókoordináták vektora T q=|q1, q2, q3, q4, q5, q6|
1.25. ábra A direkt és inverz kinematikai feladat koordináta-transzformáció struktúrája Dr. Mester Gyula Robotkinematika 64
1.2.6. Redundancia •
• •
• •
A robotmanipulátort nemredundánsnak tekintjük, ha a világkoordináták vektordimenziója m megegyezik a robotmanipulátor szabadságfok számával n m = n. Ha az: n>m akkor a robotmanipulátor redundáns vagy túlhatározott, vagyis az effektor adott helyzetéhez viszonyítva, a csuklókoordináták szempontjából többféle megoldás is létezik. Ha pedig: n<m akkor a robotmanipulátor nem tudja elvégezni az előírt feladatot. A könyv további részében csak a nemredundáns robotmanipulátorokkal foglalkozunk.
Dr. Mester Gyula
Robotkinematika
65
1.3. DIREKT KINEMATIKAI FELADAT
Dr. Mester Gyula
Robotkinematika
66
1.3.1. Bevezetés • Ahogy már elmondtuk a világkoordináták s vektorának meghatározása a csuklókoordináták q vektorának ismeretében a direkt kinematikai feladat. • Egyszerű manipulációs feladatoknál a csuklókoordinátákat közvetlenül lehet megadni. • Szemléljük tehát a 1.26. ábra szerinti robotmanipulátort: Dr. Mester Gyula
Robotkinematika
67
1.26. ábra Feladatmeghatározás csuklókoordináták közvetlen megadásával Dr. Mester Gyula
Robotkinematika
68
Első lépésben az effektor a munkadarabot az A helyzetből az AB pálya mentén a B helyzetbe szállítja, ez idő alatt a q1 csuklókoordináta π/2-vel változik.
Dr. Mester Gyula
Robotkinematika
69
A következő lépésben a munkadarabot vízszintes helyzetbe hozzuk, így a q4 csuklókoordináta változik π/2-vel.
Dr. Mester Gyula
Robotkinematika
70
A harmadik lépésben a BC pálya mentén a munkadarab a C helyzetbe kerül és a q1 csuklókoordináta -π/2-vel változik, de egyidőben változik a q2 csuklókoordináta miután l hosszal leengedi a munkadarabot. Dr. Mester Gyula
Robotkinematika
71
• Így ha a csuklókoordináták q változása ismert akkor a direkt kinematikai feladat megoldásával meghatározhatjuk az s világkoordinátákat, vagyis az effektor térbeli mozgását [4]. • A továbbiakban vizsgáljuk meg, hogyan lehet felírni a világkoordináták és a csuklókoordináták közötti összefüggést, így e célból célszerű bevezetni a: homogén transzformációs mátrixot. Dr. Mester Gyula
Robotkinematika
72
1.3.2. Homogén koordináta-transzformációk • Homogén transzformációs mátrixok alatt olyan 4x4 típusú mátrixokat értünk, amelyek tartalmazzák a két kiválasztott derékszögű koordinátarendszer közötti: rotációt és a két koordinátarendszer origójának a távolságát. • Használatuk azért célszerű mert lehetővé teszik különböző koordinátarendszerek viszonyának kompakt vektorleírását [1]. Dr. Mester Gyula
Robotkinematika
73
Először ismerkedjünk meg a két koordinátarendszer közötti rotációs mátrixszal. Tekintsük tehát a következő két: • nyugvó Oxoyozo alapkoordinátarendszert, amely a robotmanipulátor alapjához van kötve, és • mozgó Onxyz koordinátarendszert, az On origóval, amely a robotmanipulátor effektorjához kötődik, egységvektorai e1, e2 és e3 (1.27. ábra szerint). Dr. Mester Gyula
Robotkinematika
74
Legyen az álló Oxoyozo a referencia koordinátarendszer. Az On origó helyzetét a referencia koordinátarendszerben a k helyzetvektorral adjuk meg.
zo
z e3 On k
y
e2
e1 x
O yo x0
1.27. ábra Nyugvó és mozgó koordinátarendszerek Dr. Mester Gyula
Robotkinematika
75
A mozgó koordinátarendszer orientációja a nyugvóhoz viszonyítva leírható a következő R rotációs mátrixszal:
e1x R = e1 y e1z
e2 x e2 y e2 z
e3 x e3 y e3 z
Tehát a rotációs mátrix elemei tulajdonképpen az e1, e2 és e3 egységvektoroknak az xo, yo, zo referencia koordinátákra számított vetületeivel egyeznek meg [8]. Dr. Mester Gyula
Robotkinematika
76
Dr. Mester Gyula
Robotkinematika
77
Ismerve a p helyzetvektort, amely meghatározza a P pont helyzetét a mozgó koordinátarendszerben, az 1.28. ábra szerint határozzuk meg a P pont helyzetét a referencia Oxo,yo,zo koordinátarendszerben: zo
z e3 On
e2
y
e1 k
x
P
O yo x0
1.28. ábra A helyzetvektorok Dr. Mester Gyula
Robotkinematika
78
ahol: • r – a P pont helyzetvektora a nyugvó Oxoyozo referencia koordinátarendszerben, • p - a P pont helyzetvektora a mozgó koordinátarendszerben, • k -az On origó helyzetvektora az nyugvó Oxoyozo referencia koordinátarendszerben, • R - a két koordinátarendszer rotációs mátrixa.
Dr. Mester Gyula
Robotkinematika
79
• Az (1.7) kifejezésben az r helyzetvektort úgy írjuk fel, hogy a p vektort balról megszorozzuk a R rotációs mátrixszal, és az eredményhez hozzáadjuk a k vektort, az On origó helyzetvektorát. Az (1.7)-es reláció skaláris alakja tehát a következő: rx e1x (1.8) ry = e1y rz e1z Dr. Mester Gyula
e 2x e 2y e 2z
e 3 x p1 k x e 3 y p 2 + k y e 3z p 3 k z
Robotkinematika
80
A kompakt felírás céljából állítsuk fel az nyugvó és mozgó koordinátarendszerek közötti 4x4 típusú homogén transzformációs mátrixot a következő alakban: (1.9)
Dr. Mester Gyula
R k H= 000 1 Robotkinematika
81
vagyis:
(1.10)
Dr. Mester Gyula
e1x e H = 1y e1z 0
e 2x
e 3x
e2y
e3y
e 2z 0
e 3z 0
Robotkinematika
e 4x e 4 y e 4z 1
82
Így az (1.7)-es reláció kompakt alakban írható fel: (1.11) r=Hp Az 1.11 vektoregyenlet skaláris alakja így a következő: (1.12)
Dr. Mester Gyula
rx e1x r e y = 1y r z e1z 1 0
e 2x e2y
e 3x e3y
e 2z 0
e 3z 0
Robotkinematika
k x p1 k y p 2 k z p3 1 1 83
• A homogén mátrix-transzformáció bevezetésének három jelentősége van: • Megadja a mozgó koordinátarendszer orientációját a nyugvó koordinátarendszerhez képest. • Megadja a mozgó koordinátarendszer origójának a pozícióját a nyugvó koordinátarendszer origójához képest. • Ha egy adott pont koordinátáit ismerjük a mozgó koordinátarendszerben, akkor a homogén mátrixtranszformáció segítségével felírhatjuk ugyanennek a pontnak a koordinátáit a nyugvó koordinátarendszerben is [5]. Dr. Mester Gyula
Robotkinematika
84
Tehát két (vagy több) koordinátarendszer esetében, az (1.7) reláció szerinti szukcesszív szorzási és összeadási műveletek helyett a kiválasztott pont r helyzetvektorát az (1.11) reláció szerinti homogén transzformációs mátrix segítségével fejezzük ki (homogén transzformációs mátrix szorzása a p vektorral), amely eljárás gyorsabb számításokat eredményez, és használata elterjedt a robotmanipulátor kinematikai modelljének felállításánál. Dr. Mester Gyula
Robotkinematika
85
1.3.3. Denavit-Hartenberg transzformációs mátrix
Dr. Mester Gyula
Robotkinematika
86
• A csuklókoordináták transzformálása világkoordinátákba a Denavit-Hartenberg féle transzformációs mátrixszal történik. • Denavit és Hartenberg ezt az eljárást 1955-ben publikálta és ezért nevezték el együttesen Denavit-Hartenberg módszernek. • Az eljárás lényege az, hogy egy koordinátarendszer két haladó és két forgó mozgással egy másikba átvihető. • A robotmanipulátoroknál használt DenavitHartenberg paraméterek: d és a távolságok és α szög. Dr. Mester Gyula
Robotkinematika
87
A Denavit-Hartenberg eljárás szerint [5] az i-edik és i+1-edik robotcsuklókra egy-egy derékszögű koordinátarendszert ültetünk, a csukló tengelyének iránya a z tengely és a két egymást követő koordinátarendszert a következő irányszabályok szerint határozzuk meg:
Dr. Mester Gyula
Robotkinematika
88
• Az i+1-es robotcsuklón megválasztjuk az Oi xi yi zi koordinátarendszert a következő módon: • - A zi tengely az i+1-edik csukló irányában fekszik, • - az xi tengely a két szemlélt csukló (i-edik és i+1-edik) tengelyének közös normálisába esik és az i-edik csuklótól az i+1-edik csukló felé mutat, • - az y1 tengely kielégíti a következő feltételt: xi × yi = zi - jobbcsavar irányú. Dr. Mester Gyula
( i-1) csukló
i-csukló
qi-1
(i+1) csukló
qi
qi+1 αi
( i-1) szegmens i szegmens
ai
zi-2
Oi yi
zi-1
di
zi
xi
yi-1 a i-1
Oi-1
xi-1
Oi-2
1.29. ábra A derékszögű koordinátarendszerek helyzete Denavit-Hartenberg eljárás szerint Robotkinematika
89
• Az i-edik robotcsuklón megválasztjuk az Oi-1 xi-1 yi-1 zi-1 koordinátarendszert a következő módon: • - A zi-1 tengely az i-edik csukló irányában fekszik, • - az xi-1 tengely az i-1-edik és i-edik csuklók tengelyének közös normálisába esik és az i1-edik csuklótól a i-edik csukló felé mutat, • - az y i-1 tengely kielégíti a következő feltételt: xi-1xyi-1=zi-1 - jobbcsavar irányú. Dr. Mester Gyula
Robotkinematika
90
• A Denavit-Hartenberg paraméterek a következők: • di : - minden csuklótengelynek két normálisa van (ai1 és ai) és a normálisok közötti az i-edik csukló tengelye mentén mért távolság a di, • ai : – az i-edik és i+1-edik csukló-tengelyek közös normálisának a hossza, • αi : - az i-edik csukló és az i+1-edik csukló tengelye közötti jobbcsavar irányú szög az ai-re merőleges síkban. • A qi csuklókoordináta, rotációs csukló esetében az xi-1 és xi tengelyek között bezárt jobbcsavar irányú szög nagysága, amely zérus, ha a tengelyek egyirányúak vagy párhuzamosak egymással. Dr. Mester Gyula
Robotkinematika
91
A Denavit-Hartenberg eljárás szerint felvitt két szomszédos derékszögű koordinátarendszer Oi-1xi-1yi-1zi-1 és Oixiyizi két haladó és két forgó mozgással egymásba átvihető a következő lépések szerint:
Dr. Mester Gyula
Robotkinematika
92
Először qi elfordulás zi-1 körül: xi-1 párhuzamos lesz xi-vel. (1.30. ábra): Zglob i-1
Zglob i
Zglob i+1 αi
Segment i-1 Segment i
ai
Oi yi
zi-1
di
zi
xi
qi zi-2
yi-1 a i-1
Oi-1
xi-1
Oi-2
1.30. ábra Az Oi-1xi-1yi-1zi-1 koordinátarendszer qi forgatása Dr. Mester Gyula
Robotkinematika
93
Az így elvégzett forgatás a következő homogén koordináta-transzformációs mátrixszal írható le (leolvasható az 1.30. ábráról): (1.13)
Dr. Mester Gyula
cos q i D(qi) = sin q i 0 0
− sin q i cos q i
Robotkinematika
0 0
0 0 0 0 1 0 0 1 94
Másodszor következzék di transzláció a zi-1 mentén, a zi-1 és xi metszéspontjáig (1.31. ábra), így az xi-1 egybeesik az xi -vel: ( i-1) csukló
i-csukló
qi-1
(i+1) csukló
qi
qi+1 αi
( i-1) szegmens i szegmens
zi-1 ai
yi-1
xi-1 di
zi Oi yi
xi
zi-2 a i-1
Oi-1
Oi-2
1.31. ábra Az elforgatott Oi-1xi-1yi-1zi-1 koordinátarendszer di transzlációja Dr. Mester Gyula
Robotkinematika
95
• Az így elvégzett transzláció a következő homogén koordináta-transzformációs mátrixszal írható le (leolvasható az 1.31. ábráról): (1.14)
Dr. Mester Gyula
1 0 D(di) = 0 0
0 1 0 0 0 1 di 0 0 1 0 0
Robotkinematika
96
Harmadszor következzék ai transzláció xi mentén az Oi origóig (1.32. ábra), így a koordinátarendszerek metszéspontja fedésbe kerül. ( i-1) csukló
i-csukló
qi-1
(i+1) csukló
qi
qi+1 αi
( i-1) szegmens i szegmens
ai
zi-1
zi yi-1
Oi di
yi
xi
xi-1
zi-2 a i-1
Oi-1
Oi-2
1.32. ábra Az elforgatott és elmozdult Oi-1xi-1yi-1zi-1 koordinátarendszer ai transzlációja Dr. Mester Gyula
Robotkinematika
97
Az így elvégzett transzláció a következő homogén koordináta-transzformációs mátrixszal írható le (leolvasható az 1.32. ábráról):
(1.15)
Dr. Mester Gyula
1 0 D(ai) = 0 0
0 0 ai 1 0 0 0 1 0 0 0 1
Robotkinematika
98
Negyedszer αi jobbcsavar irányú elfordulás az xi körül: hogy a z és y tengelyek is fedésbe kerüljenek (1.33. ábra). ( i-1) csukló
i-csukló
qi-1
(i+1) csukló
qi
qi+1
( i-1) szegmens i szegmens
ai
αi zi, zi-1 Oi
di
yi, yi-1
xi, xi-1
zi-2 a i-1
Oi-1
Oi-2
1.33. ábra A koordinátarendszer αi forgatása Dr. Mester Gyula
Robotkinematika
99
Az így elvégzett rotáció a következő homogén koordináta-transzformációs mátrixszal írható le (leolvasható az 1.33. ábráról):
(1.16)
Dr. Mester Gyula
0 1 0 cos α i D(αi) = 0 sin α i 0 0 Robotkinematika
0 − sin α i cos α i 0
0 0 0 1 100
A fenti négy mozzanat a következő alakú Denavit–Hartenberg transzformációs mátrixban foglalható össze: (1.17)
Dr. Mester Gyula
i-1Di = D(qi) D(di) D(ai) D(αi)
Robotkinematika
101
Behelyettesítve (1.13), (1.14), (1.15) és (1.16) mátrixokat a (1.17)-be, elvégezve a mátrixszorzást megkapjuk a következő alakú Denavit–Hartenberg féle transzformációs mátrixot a két egymást követő rotációs csuklóra rögzített koordinátarendszer esetén: (1.18) cos q
i
sin q i i-1Di = 0 0 Dr. Mester Gyula
− sin q i cos α i
sin q i sin α i
cos q i cos α i sin α i
− cos q i sin α i cos α i
0
0
Robotkinematika
a i cos q i a i sin q i di 1 102
Transzlációs csuklók esetében a koordinátarendszereket úgy választjuk meg, hogy ai= 0, a di hossz qi lesz, ami pedig a rotációs csuklónál a qi forgásszög, az most θi paraméter lesz, vagyis: • ai = 0 • di = qi • qi = θi Dr. Mester Gyula
Robotkinematika
103
Így a Denavit–Hartenberg féle transzformációs mátrix a transzlációs csuklók esetén: (1.19) cos θi sin θ i i-1Di = 0 0
Dr. Mester Gyula
− sin θi cos α i cos θi cos α i sin α 1
sin θi sin α i − cos θi sin α i cos α i
0
0
Robotkinematika
0 0 qi 1
104
• Miután tehát minden egymást követő koordinátarendszer esetében (a fenti eljárás szerint) meghatároztuk a Denavit–Hartenberg (D-H) féle transzformációs-mátrixot, akkor a robotmanipulátor platformjához kötött álló koordinátarendszer és az effektorhoz kötött mozgó koordinátarendszer közötti D-H féle homogén transzformációs-mátrixot, a két egymást követő koordinátarendszerek DH mátrixainak szorzata adja. (1.20) Dr. Mester Gyula
0
Tn = D 1 D 2 D 3 ... 0
1
2
Robotkinematika
n −2
D n −1
n −1
Dn 105
• A robotmanipulátor csuklók összes D-H mátrixának összeszorzásával ismét egy 4x4 – es mátrixot kapunk, amely az effektor TCP pontjának a pozícióját és az effektor orientációját adja meg. Ugyanis a oTn mátrix első három sora és oszlopa a robotmanipulátor platformhoz kötött álló és az effektorhoz kötött mozgó koordináta-rendszerek közötti rotaciós mátrixot, míg a oTn mátrix negyedik oszlopa a az effektor TCP pontjának a nyugvó koordinátarendszerben lévő koordinátáit határozza meg Dr. Mester Gyula
Robotkinematika
106
Amikor a robotmanipulátor-csuklóknál rögzítjük a megfelelő koordináta-rendszereket és meghatározzuk a D-H paramétereket: αi, ai, di, (i = 1,2,...,n), akkor a homogén transzformációs-mátrixok (1.18) csak a csuklókoordináták qi függvényeivé válnak. Tehát ha a robotmanipulátornál meghatározzuk a mátrix numerikus alakját, akkor abból kiolvashatjuk a három módosított Euler szöget és az effektor TCP szerszámközéppontjának a pozícióját, így tulajdonképpen meghatározzuk a robotmanipulátor világkoordinátáit [1]. (1.21)
0R 0 n Tn = 0 0 0
Dr. Mester Gyula
x y z 1 Robotkinematika
107
• Megállapítható tehát, hogy ily módon azzal, hogy - a három módosított Euler szöget és az effektor TCP pontjának a pozícióját meghatároztuk, a direkt kinematikai feladatot meg-oldottuk. A oTn mátrix meghatározása tehát a csuklókoordináták vektorának ismeretében, a direkt kinematikai feladat megoldásának az alapja. • Megjegyezhető, hogy a módosított Euler szögek kiszámítása a mátrixból nem függ a robotmanipulátor típusától! Dr. Mester Gyula
Robotkinematika
108
1.3.4. Az effektor orientációja
Dr. Mester Gyula
Robotkinematika
109
• Robotmanipulátor effektorának az orientációját a robotplatformhoz kötött nyugvó koordinátarendszerhez viszonyítva, a módosított Euler szögekkel ψ, θ, ϕ határozzuk meg [1]. A továbbiakban vizsgáljuk a következő két koordinátarendszer közötti rotációt: • Oxoyozo nyugvó alapkoordinátarendszer, amely a robotmanipulátor platformjához van kötve, és • Onxnynzn mozgó koordinátarendszer az On origóval, amely a robotmanipulátor effektorához kötődik. Dr. Mester Gyula
Robotkinematika
110
• A mozgó koordinátarendszer orientációja az nyugvóhoz viszonyítva leírható a következő rotációs mátrixszal 0Rn: (1.22)
e 1x 0 R n = e1y e1z
e 2x e 2y e 2z
e 3x e 3 y e 3z
• Az 0Rn rotációs mátrix leképezi a mozgó koordinátarendszer koordinátáit a nyugvóba. Az 0Rn rotációs mátrix leképezi a mozgó koordinátarendszer koordinátáit a nyugvóba. Dr. Mester Gyula
Robotkinematika
111
A mozgó koordinátarendszer rotációja az nyugvó koordinátarendszerhez viszonyítva bemutatható a következő három rotációval:
Dr. Mester Gyula
Robotkinematika
112
A mozgó Onxnynzn koordinátarendszer első rotációja a csavarási ψ szög szerint, amely az effektorhoz kötött mozgó koordinátarendszernek az álló koordinátarendszer z tengelye körüli szögelfordulását határozza meg (1.34. ábra). Dr. Mester Gyula
z=z' Ψ
On Ψ
y'
Ψ x
x'
y
1.34. ábra A mozgó koordinátarendszer Rotációja a csavarási ψ szög szerint
Robotkinematika
113
Az így elvégzett rotációnak, az 1.34. ábráról közvetlenül leolvasva, a következő formájú rotációs mátrix R(ψ) felel meg:
(1.23)
Dr. Mester Gyula
cos ψ − sin ψ 0 R (ψ ) = sin ψ cos ψ 0 0 0 1 Robotkinematika
114
Az új helyzetbe került mozgó koordinátarendszer Onxn'yn'zn' második rotációja a θ billen-tési szög szerint, amely az y' tengely körüli szögelfordulást határozza meg (1.35. ábra).
z'
On
Θ
z"
y'=y"
Θ
x'
Θ x"
1.35. ábra A mozgó koordinátarendszer második rotációja a billentési szög θ szerint Dr. Mester Gyula
Robotkinematika
115
Az így elvégzett rotációnak az 1.35. ábráról közvetlenül leolvasva a következő formájú rotációs mátrix R(θ) felel meg:
cos θ 0 sin θ 0 1 0 (1.24) R(θ) = − sin θ 0 cos θ Dr. Mester Gyula
Robotkinematika
116
A Az új helyzetbe z"' z" került mozgó ϕ Onxn''yn''zn'' y'" koordinátarendszer ϕ harmadik rotációja a On y" forgatási szög ϕ szerint, amely az x'' tengely körüli ϕ szögelfordulást x''=x'" határozza meg (1.36. ábra). 1.36. ábra A mozgó koordinátarendszer harmadik rotációja a forgatási ϕ szög szerint
Dr. Mester Gyula
Robotkinematika
117
• Az így elvégzett rotációnak az 1.36. ábráról közvetlenül leolvasva, a következő formájú rotációs mátrix R(ϕ) felel meg: (1.25)
0 0 1 0 cos ϕ − sin ϕ R(ϕ) = 0 sin ϕ cos ϕ
• A fent elvégzett három rotáció együttesen az 1.37. ábrán van bemutatva. A három felsorolt rotációnak megfelel a következő transzformációs mátrixszorzat: o R n = R (ψ )R (θ)R (ϕ) (1.26) Dr. Mester Gyula
Robotkinematika
118
A felírt rotációs mátrixokat (1.23), (1.24) és (1.25) behelyettesítve a (1.26)-ba következik: (1.27) 0 0 cos ψ − sin ψ 0 cos θ 0 sin θ 1 o 1 0 0 cos ϕ − sin ϕ R n = sin ψ cos ψ 0 0 0 0 1 − sin θ 0 cos θ 0 sin ϕ cos ϕ Dr. Mester Gyula
Robotkinematika
119
A mátrix szorzásokat elvégezve, felírható: (1.28) cosψ cosθ cosψ sin θ sin ϕ − sin ψ cos ϕ (1.28) o R n = sin ψ cosθ sin ψ sin θ sin ϕ + cosψ cos ϕ − sin θ cosθ sin ϕ
Dr. Mester Gyula
Robotkinematika
cosψ sin θ cos ϕ + sin ψ sin ϕ sin ψ sin θ cos ϕ − cosψ sin ϕ cosθ cos ϕ
120
z, z' z'''
z" ϕ
1
Θ 3
Ψ
2
y'''
On ϕ
3 1
x
Ψ x' Θ 3
Dr. Mester Gyula
1 2
ϕ x", x'"
Ψ y
Θ 2
y', y"
1.37. ábra Módosított Euler szögek. Robotkinematika
121
(1.29) e 1x e 1y e1z
e 2x e 2y e 2z
e 3 x cos ψ cos θ cos ψ sin θ sin ϕ − sin ψ cos ϕ cos ψ sin θ cos ϕ + sin ψ sin ϕ e 3 y = sin ψ cos θ sin ψ sin θ sin ϕ + cos ψc cos ϕ sin ψ sin θ cos ϕ − cos ψ sin ϕ e 3z − sin θ cos θ sin ϕ cos θ cos ϕ
Dr. Mester Gyula
Robotkinematika
122
• • • • • • • • •
A (1.29) mátrixegyenlet egyes elemeit egyenlővé téve, felírható: (1.30) e1x = cosψcosθ (1.31) e1y = sinψcosθ (1.32) e1z = -sinθ (1.33) e2x = cosψsinθsinϕ-sinψcosϕ (1.34) e2y = sinψsinθsinϕ+cosψcosϕ (1.35) e2z = cosθsinϕ (1.36) e3x = cosψsinθcosϕ+sinψsinϕ (1.37) e3y = sinψsinθcosϕ-cosψsinϕ (1.38) e3z = cosθcosϕ
Dr. Mester Gyula
Robotkinematika
123
• Így 9 egyenletből álló egyenletrendszert kaptunk, amely 3 ismeretlent tartalmaz ψ, θ és ϕ, mivel a mátrix ortogonális, ezek az egyenletek nem függetlenek egymástól. A ψ, θ és ϕ szögeket a következő módon határozhatjuk meg [1]:
Dr. Mester Gyula
Robotkinematika
124
Dr. Mester Gyula
Robotkinematika
125
a. Szorozzuk meg az (1.30) egyenlet mindkét oldalát sinψ-vel és az (1.31) egyenlet mindkét oldalát cosψ-vel, majd felírható a következő kivonási művelet: (1.39) e1xsinψ- e1ycosψ = 0 ahonnan kiszámítható a ψ szög nagysága: (1.40)
Dr. Mester Gyula
ψ = arctg
e1y e1x
Robotkinematika
+ 2 kπ
126
b. Szorozzuk meg az (1.30) egyenlet mindkét oldalát cosψ-vel és az (1.31) egyenlet mindkét oldalát sinψ-vel, majd az összeadási művelet felírható: (1.41) e1xcosψ+ e1ysinψ = cosθ Az (1.41) egyenlet az (1.32) egyenlettel együtt lehetővé teszi a θ szög kiszámítását: − e1z (1.42) θ = arctg + 2 kπ e1x cos ψ + e1y sin ψ Dr. Mester Gyula
Robotkinematika
127
c. Szorozzuk meg az (1.35) egyenlet mindkét oldalát cosϕ-vel és (1.38) egyenlet mindkét oldalát sinϕ-vel, így a kivonási művelet felírható: (1.43)
e2 z cos ϕ − e3 z sin ϕ = 0
(1.44)
e 2z ϕ = arctg + 2 kπ e 3z
Dr. Mester Gyula
Robotkinematika
128
• A ψ, θ és ϕ szögeket többféle módon határozhatjuk meg. A szögek számításánál numerikus problémák jelentkezhetnek, ha az (1.40), (1.42) és (1.44) relációkban a nevezők kis értékűek. Ez megfelelő numerikus eljárással kiküszöbölhető. • Az egyetlen szinguláris eset akkor jelentkezik, ha a θ = ± π/2, vagyis: e1x =e1y = e2z= e3z = 0. Ekkor az (1.40) egyenlet nem oldható meg, ezért a ψ szög értéket tetszőlegesen választjuk meg. Dr. Mester Gyula
Robotkinematika
129
Az ilyen ψ szög ismeretében a ϕ szöget a következő módon számítjuk ki: − e 2x − ψ + 2kπ (1.45) ϕ = arctg e2y
e2 x ϕ = arctg + ψ + 2kπ e2 y Dr. Mester Gyula
Robotkinematika
ha a θ = -kπ/2
ha a θ = kπ/2 130
• Az (1.40), (1.42), (1.44) és (1.45) relációkban a k értéket úgy határozzuk meg, hogy figyelembe vesszük a direkt kinematikai feladat megoldásánál a világkoordináták két pont közötti minimális változását (mivel a robotmanilpulátor folyamatos mozgásának a világkoordináták folyamatos változása felel meg). • A robotmanipulátor effektorának orientáció meghatározását a ψ, θ és ϕ szögek kiszámításával [az (1.40), (1.42) és (1.44) relációkból], befejezettnek tekintjük.
Dr. Mester Gyula
Robotkinematika
131
Összegezés: Az effektor TCP szerszámközéppontjának: • Descartes féle derékszögű koordinátáinak (pozicionálás) és a • három módosított Euler-féle szögeinek (orientáció) meghatározásával a direkt kinematikai feladatot teljességben megoldottnak tekintjük. Dr. Mester Gyula
Robotkinematika
132
1.4. INVERZ KINEMATIKAI FELADAT
Dr. Mester Gyula
Robotkinematika
133
1.4.1. Bevezetés • A csuklókoordináták q vektorának meghatározása a világkoordináták s vektorának ismeretében az inverz kinematikai feladat amely a következő módon írható le: (1.46)
q = f -1(s)
• Akkor alkalmazzuk, amikor a robotmanipulátor feladatnál az effektor pályája világkoordinátákban van megadva, és nekünk a robotvezérléshez a csuklókoordinátákra van szükségünk. Dr. Mester Gyula
Robotkinematika
134
Amikor tehát ismerjük az effektor TCP pontjának a világkoordinátáit (x,y,z) és az orientációját (ψ, θ és ϕ), akkor tulajdonképpen meghatároztuk a homogén mátrix-transzformációt a nyugvó- és mozgó koordinátarendszerek között, így az inverz kinematikai feladat felírható: -1
(1.47) Dr. Mester Gyula
q = f (oTn) Robotkinematika
135
• Az inverz kinematikai feladat, mivel nagyszámú nemlineáris (a csuklókoordináták és a világkoordináták közötti összefüggés nemlineáris) trigonometriai egyenlet megoldását feltételezi, sokkal összetettebb, mint a direkt kinematikai feladat. • Az s világkoordináták visszatranszformálása a q csuklókoordinátákba nem egyértelműen meghatározott feladat. • A számítás nagymértékben függ a robotmanipulátor geometriájától és gyakran több megoldást eredményez. • Több esetben a dekompozíciós módszer vezet eredményre. Dr. Mester Gyula
Robotkinematika
136
Az inverz kinematikai feladatot két módon oldhatjuk meg: a. Analitikus és b. Numerikus eljárások alkalmazásával. Az analitikus eljárás esetében a megoldást zárt analitikus formában kapjuk meg minden robotmanipulátor konfigurációra külön-külön. Numerikus eljárások esetében a numerikus analízis ismert módszereit alkalmazzuk. Dr. Mester Gyula
Robotkinematika
137
1.4.2. Az inverz kinematikai feladat analitikus megoldása • Az inverz nemlineáris, folytonos deriválható vektorfüggvény f-1 amely leképezi a világkoordinátákat csuklókoordinátákká egy összetett n változós függvény, így az inverz kinematikai feladat analitikus megoldása összetett feladat. • Az iparban használt legtöbb robotmanipulátornál létezik analitikus megoldás az inverz kinematikai problémára. Dr. Mester Gyula
Robotkinematika
138
Az analitikus megoldásnak az előnyei a numerikus eljárásokhoz viszonyítva a következők: a. Megkapjuk az összes megoldást. b. Pontos eredményeket kapunk (numerikus hibák nélkül). c. Kevesebb numerikus számítással használható, így megfelel a valós idejű számításoknál. d. Felismerhetővé teszi a szingularitásokat. Az analitikus megoldás fő hátránya az, hogy nem írható fel tetszőleges robotkonfigurációra. Dr. Mester Gyula
Robotkinematika
139
Oldjuk meg az 1.36. ábrán látható négy szabadságfokú hengeres robotmanipulátor esetében az inverz kinematikai feladatot analitikus eljárással. l3 q3 l4
c q4
q2 z l2
zc
q1
o
yc
xc
y
x 1.36. ábra. A hengeres robotmanipulátor vázlata. Dr. Mester Gyula
Robotkinematika
140
A világkoordináták és a csuklókoordináták közötti összefüggés felírható a következőképpen:
x c = (l3 + l 4 + q 4 )cos q1 (1.48)
y c = (l3 + l 4 + q 3 )sin q1
zc = q 2 + l2 ϕ=q4 ahol: T [ ] s = x c , y c, z c , ϕ a világkoordináták vektora xc, yc, zc – az effektor súlypontkoordinátái, ϕ - Euler szög, li – szegmenshossz. Dr. Mester Gyula
Robotkinematika
141
Az analitikus megoldást tehát felírhatjuk a következő módon: yc (1.49) q1 = arctg x c q 2 = z c − l2
(
q3 = x + y 2 c
)
2 0 .5 c
− l3 − l 4
q4 = ϕ
Így meghatároztuk a világkoordinátáknak megfelelő csuklókoordinátákat. Dr. Mester Gyula
Robotkinematika
142
1.4.3. Az inverz kinematikai feladat numerikus megoldása
Az inverz kinematikai feladatok megoldásánál a numerikus matematika eljárásait használjuk fel. (1.50) q = f-1(s,qo) A legelterjedtebb a Newton módszer használata. Deriváljuk a robotmanipulátor világ- és csuklókoordinátái közötti összefüggést: (1.51) s = f (q ) ∂f s& = q& ∂q Dr. Mester Gyula
Robotkinematika
143
Ahol az un. nxn dimenziós Jacobi-mátrix: ∂f (1.52)
J (q ) =
∂q
Így az 1.51. kifejezés felírható: (1.53)
s& = J (q )q&
Az (1.53) reláció a világkoordináták sebességvektora és a csuklókoordináták sebességvektora közötti összefüggést határozza meg. Dr. Mester Gyula
Robotkinematika
144
Ha ismerjük a világkoordináták sebességvektorát, akkor a csuklókoordináták sebességvektora a következő módon számítható ki: (1.54) −1
q& = J
(q )s&
Mivel a nemredundáns robotmanipulátoroknál a Jacobi-mátrix kvadratikus, az inverz mátrixa meghatározható.
Dr. Mester Gyula
Robotkinematika
145
1.4.4. A Jacobi-mátrix meghatározása Az inverz kinematikai feladat numerikus megoldása megköveteli a Jacobi-mátrix és az inverz Jacobi-mátrix ismeretét. A Jacobi-mátrix összeköti: • - a világkoordináták és a csuklókoordináták sebességvektorait, • - az effektorra ható erőket és a terhelő erőkből adódó csuklónyomatékokat. A Jacobi-mátrixnak nagy jelentősége van a robotmanipulátor pályatervezésénél. Dr. Mester Gyula
Robotkinematika
146
• A Jacobi-mátrix függ a világkoordináták vektorának a típusától és meghatározható két almátrix segítségével: • Az egyik almátrix a Descartes – féle koordinátáknak felel meg JD: (1.55) x& 3 xn y& = J q& J ∈ R D D z& Dr. Mester Gyula
Robotkinematika
147
A másik almátrix az effektor szögsebességvektor vetületeinek felel meg Jω: ωx (1.56) ω = J q& 3 xn J ∈ R ω ω y ωz Így a Jacobi-mátrixot felírhatjuk a következő módon: JD J= (1.57) Jω Dr. Mester Gyula
Robotkinematika
148
A Jacobi-mátrix meghatározását az 1.36 ábrán látható hengeres robotmanipulátor példájánál mutatjuk be. Deriváljuk a világkoordináták és a csuklókoordináták közötti (1.48) összefüggést: (1.58)
x& c = −(l3 + l4 + q 3 )q& 1 sin q1 + q& 3 cos q1 .
y& C = (l3 + l 4 + q 3 )q& 1 cos q1 + q& 3 sin q1
z& C = q& 2 ϕ& = q& 4 Dr. Mester Gyula
Robotkinematika
149
A fenti kifejezéseket a következő alakban is felírhatjuk: (1.59)
x& C − (l3 + l 4 + q 3 )sin q1 y& (l + l + q )cos q 3 1 C = 3 4 z& C 0 0 ϕ& Dr. Mester Gyula
Robotkinematika
0 cos q1 0 q& 1 & q 0 sin q1 0 2 1 0 0 q& 3 0 0 1 q& 4 150
Összehasonlítva az (1.53) és (1.59) kifejezéseket a Jacobi-mátrix alakja a kővetkező: (1.60)
− (l3 + l 4 + q 3 )sin q1 (l + l + q )cos q 3 4 3 1 J (q)= 0 0
Dr. Mester Gyula
Robotkinematika
0 cos q1 0 0 sin q1 0 1 0 0 0 0 1 151
1.5. ROBOTMANUPULÁTOROK PÁLYATERVEZÉSE
Dr. Mester Gyula
Robotkinematika
152
1.5.1. Bevezetés Robotmanipulátorok pályatervezésének kettős célja lehet: • Az effektor mozgását meghatározó pontok pozíciójának a megadása. • Az adott pontok közötti pálya-meghatározás. A pályatervezési feladat a robotmanipulátor munkafolyamatától függ. A pályatervezési feladatot skalárértékű időfüggvények tervezési feladatára vezetjük vissza és elvégezhetjük: • Csuklókoordinátákban és • Világkoordinátákban. Dr. Mester Gyula
Robotkinematika
153
A robotirányítási algoritmusok a pálya ismerete mellett megkövetelik a pálya menti sebességek, gyorsulások, szögsebességek és szöggyorsulások ismeretét is. A pályatervezési feladatot elvégezhetjük: • Off-line vagyis a robotmanipulátor tanítási fázisában és • On-line, valós időben. Dr. Mester Gyula
Robotkinematika
154
1.5.2. Pályatervezés világkoordinátákban • Két adott pont (A és B) közötti pályatervezés világkoordinátákban τ idő alatt elvégezhető a következő módon: (1.61) s( t ) = s A + λ ( t )(s B − s A )
0≤t≤τ
ahol az integrálási folyamat közben szükséges az inverz kinematikai feladat megoldása. • Az (1.61) kifejezésben a λ(t) függvény az effektor sebesség-törvényszerűségét határozza meg, amely különböző típusú lehet (háromszög, trapéz-, parabola-, ciklois- stb. alakú). Dr. Mester Gyula
Robotkinematika
155
• Amikor sikeresen elvégeztük a pályatervezést a világkoordinátákban, akkor meg kell oldani a pályatervezést csuklókoordinátákban is. E feladat három módon oldható meg: • a. Az inverz kinematikai feladat megoldásával. • b. Az (1.54) reláció segítségével és • c. Az (1.53) reláció felhasználásával. • Deriváljuk az (1.53) kifejezést: • (1.62) ∂J 2 &s& = Jq && + q& • ahonnan: ∂q • (1.63) ∂J 2 −1 && = J &s& − q& q ∂q
Dr. Mester Gyula
Robotkinematika
156
1.5.3. Pályatervezés csuklókoordinátákban Amikor a pályatervezést csuklókoordinátákban szükséges elvégezni akkor következő kifejezést használjuk: (1.64) q(t) = q + λ(t)(q − q ) A
B
A
0≤t≤τ
ahol a qA és qB a csuklókoordináták megfelelő vektorai. Fontos kihangsúlyozni, hogy a csuklókoordináták lineáris változása nem biztosítja a világkoordináták lineáris változását is. Dr. Mester Gyula
Robotkinematika
157