Infobionika ROBOTIKA X. Előadás Robot manipulátorok II. Direkt és inverz kinematika Készült a HEFOP-3.3.1-P.-2004-06-0018/1.0 projekt keretében
Tartalom Direkt kinematikai probléma Denavit-Hartenberg konvenció és algoritmus Műveleti tér, munkatér és a csuklóváltozók tere Kinematikai redundancia Inverz kinematikai probléma 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 2
Direkt kinematika A manipulátor kinematikai láncot alkot. A lánc egyik vége egy végponthoz van rögzítve. A lánc másik végén egy végberendezés (szerszám, fogó stb.) található. A manipulátor mechanikai szerkezetét a mozgás szabadsági foka határozza meg. Az egyes szabadsági fokok általában egy-egy csuklóhoz tartoznak (csukló változók) Direkt kinematika célja: a végberendezés pozíciójának és orientációjának kiszámítása a csukló változók függvényében. 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 3
Direkt kinematika A végberendezés bázisához tartozó pozíció és orientáció leírása Az O b -x b y b z b bázisra vonatkozó direkt kinematikai függvényt a következő homogén transzformációs mátrix adja meg: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 4
Direkt kinematika Ahol q a csuklóváltozók (n x 1-es) vektora, n e, s e és a e a végberendezéshez rögzített bázis egységnyi hosszúságú vektorai, p e a végberendezés bázisának origója (az alap bázisban). n e, s e, a e és p e a q vektor függvénye 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 5
Két szegmensű síkbeli kar 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 6
Két szegmensű síkbeli kar munkatere 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 7
Koordináta-transzformáció nyílt kinematikai láncban Az n. bázis 0. bázishoz képesti pozícióját és orientációját a következő transzformáció adja meg: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 8
Denavit-Hartenberg konvenció Legyen i az i-1. és i. szegmenst összekötő csukló tengelyének száma A Denavit-Hartenberg konvenció célja: az i. bázis definiálása 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 9
Denavit-Hartenberg konvenció Legyen zi az i+1. csuklóhoz tartozó mozgás tengelye Legyen az Oi origó a z i tengely valamint a z i-1 és z i tengelyek közös normálisának metszéspontjában Legyen O i' a közös normális és a z i-1 tengely metszéspontjában 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 10
Denavit-Hartenberg konvenció Jelöljük ki az x i tengelyt z i-1 és z i közös normálisa mentén úgy, hogy az i. szegmenstől az i+1. szegmens felé mutasson Jelöljük ki az y i tengelyt úgy, hogy jobb sodrású koordinátarendszert kapjunk 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 11
Denavit-Hartenberg konvenció A konvenció a következő esetekben nem adja meg egyértelműen a bázist: a 0. bázisnál csak z0 iránya van megadva, O 0 és x 0 tetszőlegesen kijelölhető az n. bázisnál zn nem egyértelműen definiált (mivel nincs n+1. csukló), x n -nek pedig merőlegesnek kell lennie a z n-1 tengelyre. Az n. csukló általában rotációs, ezért z n iránya ekkor megegyezhet z n-1 irányával ha két egymás utáni tengely párhuzamos, akkor a közös normálisuk nem egyértelműen definiált ha két egymás utáni tengely metszi egymást, akkor xi iránya tetszőleges ha az i. csukló transzlációs, akkor zi-1 iránya tetszőleges 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 12
Denavit-Hartenberg konvenció Az i. bázis i+1. bázishoz képesti pozícióját és helyzetét egyértelműen meghatározzák: Az O i és O i' közötti a i távolság O i' d i -vel jelölt koordinátája a z i-1 tengelyen 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 13
Denavit-Hartenberg konvenció A z i-1 és z i tengelyek közötti α i szög Az x i-1 és x i tengelyek közötti θ i szög 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 14
Denavit-Hartenberg konvenció A négy paraméter közül kettő (a i és α i ) minden esetben konstans, és csak az i. szegmens által összekötött csuklók geometriájától függ A maradék két paraméter közül csak az egyik változik az i-1. és i. szegmenst összekötő csukló típusától függően: ha az i. csukló rotációs, akkor θi ha az i. csukló transzlációs, akkor di 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 15
Denavit-Hartenberg konvenció Az i-1. és i. bázis közötti koordináta-transzformáció: Válasszuk ki az i-1. bázist A kiválasztott bázist toljuk el a z i tengely mentén d i - vel, majd forgassuk el a z i-1 tengely körül θ i szöggel A transzformáció átviszi az aktuális bázist az i'-vel jelölt bázisba, és a következő homogén transzformációs mátrixszal írható le: i s i 0 0 A i 1 s i ' =[c ] i c i 0 0 0 0 1 d i 0 0 0 1 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 16
Denavit-Hartenberg konvenció Az i' bázist az xi' tengely mentén toljuk el a i -vel, és forgassuk el α i szöggel az x i' tengely körül így az aktuális bázis átkerül az i. bázisba A transzformáció homogén mátrixa a következő: 0 0 a i i A ' 0 c i =[1 i s i 0 0 s i c i 0 0 0 0 1] 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 17
Denavit-Hartenberg konvenció A két transzformáció kompozíciója (jobbról történő szorzással): A i i 1 q i =A i ' i 1 A i i ' =[c i s i c i s i s i a i c i s i c i c i c i s i a i s i 0 s i c i d i 0 0 0 1 ] 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 18
Denavit-Hartenberg algoritmus 1. Keressük meg, és sorszámozzuk be a csuklók tengelyeit, határozzuk meg a z 0, z n-1 tengelyek irányát 2. Jelöljük ki a 0. bázist a következőképp: jelöljük ki az origót a z 0 tengelyen, és válasszuk meg az x 0 és y 0 tengelyeket úgy, hogy jobb sodrású koordinátarendszert alkossanak. (Előnyös, ha a 0. bázis egybeesik az alap bázissal) Hajtsuk végre a 3-5. lépéseket i=1-től n-1-ig 3. Jelöljük ki az O i origót z i ill. a z i-1 és z i tengelyek közös normálisának ill. z i -nek a metszéspontjában. Ha a z i-1 és z i tengelyek párhuzamosak, és az i. csukló rotációs, akkor az origót d i =0 távolságra jelöljük ki; Ha az i. csukló transzlációs, akkor O i -t tetszés szerinti referencia pozícióban jelöljük ki (pl. mechanikai határhelyzetben) 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 19
Denavit-Hartenberg algoritmus 4. Jelöljük ki az x i tengelyt z i-1 és z i közös normálisán úgy, hogy az i. csuklótól az i+1. csukló felé mutasson 5. Válasszuk meg az y i tengelyt úgy, hogy jobb sodrású koordinátarendszert kapjunk A befejezés: 6. Jelöljük ki az n. bázist. Ha az n. csukló rotációs, akkor a z n tengely legyen párhuzamos z n-1 -gyel, ha pedig transzlációs, akkor z n tetszőleges lehet. Az x n tengelyt a 4. lépésnek megfelelően válasszuk meg. 7. i=1-től n-ig írjuk le az a i, d i, α i, θ i paramétereket 8. A 7. lépésben leírt paraméterek alapján számítsuk ki i=1- től n-ig az A i i-1 (q i ) transzformációs mátrixokat. 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 20
Denavit-Hartenberg algoritmus 9. Számítsuk ki a T n 0(q)=A 1 0... A n n-1 homogén transzformációs mátrixot, amely megadja az n. bázis 0. bázishoz képesti pozícióját és helyzetét. 10. T 0 b és T e n felhasználásával számítsuk ki a T e b (q)=t 0 b T n 0 T e n mátrixot, amely megadja a végberendezés bázisának alap bázishoz képesti pozícióját és helyzetét. 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 21
Három szegmensű síkbeli kar Denavit-Hartenberg paraméterek: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 22
Három szegmensű síkbeli kar Mivel minden csukló rotációs, ezért a homogén transzformációs mátrix a következő: ahol α i =0 és d i =0, i=1,2,3, azaz: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 23
Három szegmensű síkbeli kar A kiszámított direkt kinematikai függvény a következő: ahol: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 24
Gömbi kar Denavit-Hartenberg paraméterek: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 25
Gömbi kar Az egyes csuklókhoz tartozó transzformációs mátrixok: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 26
Gömbi kar 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 27
Gömbi kar 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 28
Gömbi kar Az egyes csuklókhoz tartozó transzformációs mátrixok: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 29
Gömbi kar A direkt kinematikai függvény: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 30
Antropomorf kar Denavit-Hartenberg paraméterek: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 31
Antropomorf kar A homogén transzformációs mátrix: Értékei az egyes csuklókra: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 32
Antropomorf kar A direkt kinematikai függvény: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 33
Gömbcsukló Denavit-Hartenberg paraméterek: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 34
Gömbcsukló A homogén transzformációs mátrixok: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 35
Gömbcsukló A transzformációs mátrixok értékei az egyes csuklókra: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 36
Gömbcsukló A direkt kinematikai függvény: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 37
A műveleti tér és a csuklóváltozók tere A végberendezés helyzete leírható a következő m dimenziós vektorral, ahol x=[ p ] Ahol p adja meg a végberendezés pozícióját, φ pedig az orientációját A végberendezésre vonatkozó feladatok (műveletek) független paraméterekkel definiálhatók. x tere: műveleti tér 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 38
A műveleti tér és a csuklóváltozók tere A csuklóváltozók terét (konfigurációs teret) a csuklóváltozók vektorai alkotják: q=[q 1 q n] rotációs csuklónál q i =θ, transzlációs csuklónál pedig q i =d i. A direkt kinematikai függvény tehát megadható a következőképp is: x=k(q), ahol k egy megfelelő (általában nemlineáris) vektor-vektor függvény 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 39
A műveleti tér és a csuklóváltozók tere Példa: tekintsük a három szegmensű síkbeli kart A végberendezés pozícióját és orientációját meghatározza: p x (végberendezés x-koordinátája) p y (végberendezés y-koordinátája) φ (végberendezés x 0 -tengellyel bezárt szöge) Emlékeztető: a rsz. homogén transzformációs mátrixa 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 40
A műveleti tér és a csuklóváltozók tere Példa (folyt.): A direkt kinematikai függvény felírható a következőképp: Három csuklóváltozóhoz tehát legfeljebb három független műveleti térbeli változó tartozhat. 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 41
Munkatér A munkatér az a térbeli halmaz, amelyet a végberendezés bázisának origója be tud járni, ha a manipulátor az összes fizikailag lehetséges mozgást elvégzi elérhető munkatér: az a térbeli halmaz, amelyet a végberendezés origója elérhet legalább egyféle orientációval jobbkezes munkatér: az a térbeli halmaz, amelyet a végberendezés origója többféle orientációval is elérhet (Hatnál kevesebb szabadságfokkal rendelkező manipulátor nem érhet el tetszőleges pozíciót és orientációt a 3 dimenziós térben) 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 42
Munkatér n szabadságfokú manipulátor esetén az elérhető munkatér a direkt kinematikai függvény pozícióra vonatkozó koordinátafüggvényeinek képtere, azaz: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 43
Pontosság és megismételhetőség Ha a valós rendszer méretei különböznek a névleges (modell-) adatoktól, akkor eltérés lesz a ténylegesen elért és a direkt kinematikai függvény által számolt pozíció között. A lehetséges eltérés mértékét nevezzük pontosságnak (értéke tipikusan 1 mm alatt van), amely függ a manipulátor méreteitől és felépítésétől A megismételhetőség megadja a manipulátor képességének mértékét arra, hogy visszatérjen egy előzőleg már elért pozícióba (tanításon alapuló irányítási módszereknél van különös jelentősége) 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 44
Kinematikai redundancia A manipulátor kinematikailag redundáns, ha a mozgás szabadságfoka nagyobb, mint a megvalósítandó feladathoz szükséges független változók száma. n: csuklóváltozók terének dimenziója m: műveleti tér dimenziója r: az adott feladat megvalósításához szükséges műveleti térbeli paraméterek száma 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 45
Síkbeli kar kinematikai redundanciája csak végberendezés pozíció: funkcionális redundancia n=3=m=3, r=2 végberendezés pozíciója és orientációja: nem redundáns n=m=r=3 4 szabadságfokú síkbeli kar: mindig redundáns n=4, m=3 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 46
Direkt kinematika (összefoglalás) A direkt kinematikai egyenletek lehetséges formái: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 47
Inverz kinematikai probléma Inverz kinematikai probléma: adott a végberendezés pozíciója és orientációja, határozzuk meg a csuklóváltozók értékeit! q=k 1 x A probléma megoldása alapvető ahhoz, hogy a végberendezésre vonatkozó előírt mozgásokhoz előállíthassuk a csuklóváltozók szükséges értékeit 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 48
Inverz kinematikai probléma A probléma nehézségei: A megoldandó egyenletrendszer általában nemlineáris, ezért nem mindig található zárt alakú megoldás. Több megoldás is létezhet. Végtelen számú megoldás is létezhet (pl. kinematikailag redundáns manipulátoroknál) Előfordulhat, hogy a manipulátor szerkezete miatt nem létezik megoldás 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 49
Három szegmensű síkbeli kar direkt kinematikai függvény 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 50
Három szegmensű síkbeli kar A végberendezés megadott pozíciójához és orientációjához tartozó θ 1, θ 2, θ 3 csuklóváltozó értékeket keressük. A pozíciót és orientációt a következő minimális paraméterezéssel adjuk meg: p x, p y koordináták az x 0 -tengellyel bezárt φ szög A direkt kinematikai függvényt tehát felírhatjuk az alábbi alakban: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 51
Három szegmensű síkbeli kar Tudjuk, hogy: W-re, a 2. bázis origójára a következő egyenletek igazak: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 52
Három szegmensű síkbeli kar 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 53
Három szegmensű síkbeli kar Akkor létezik megoldás, ha Ekkor 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 54
Három szegmensű síkbeli kar Helyettesítsük vissza θ 2 -t a következő egyenletekbe: Így a következő egyenleteket kapjuk: 2005 HEFOP 3.3.1-P.-2004-06-18/1.10 55