Robotika Kinematika Magyar Attila
[email protected]
Miről lesz szó? • • • • • •
Bevezetés Merev test pozíciója és orientációja Rotáció Euler szögek Homogén transzformációk Direkt kinematika – Nyílt kinematikai lánc – Denavit-Hartenberg jelölés
Pozíció és orientáció • Merev test egyértelműen leírható: – Pozíció – Orientáció – Referencia koordinátarendszer
• Pozíció:
• Orientáció:
Forgatási mátrix •
Az orientációt leíró (O’- x’ y’ z’) koordinátarendszer egységvektorai forgatási mátrixot alkotnak:
kihasználva, hogy x’ y’ z’ ortogonálisak:
•
T
R ortogonális: R R = I T -1 – azaz R =R – és det(R) = ± 1
(+1, ha jobb, -1, ha bal)
1. Elemi forgatások • O-xyz elforgatása z tengely körül α szöggel → O’-x’y’z’
Hasonlóan: y tengely körül β , és x tengely körül γ:
Invertálás:
2. Vektor reprezentáció • O-xyz , O-x’y’z’ elforgatott koordinátarendszerek, P pont
• p és p’ ugyanazon P pont reprezentációi
• Koordináta transzformáció
3. Vektor forgatás • Egy p’ vektor elforgatása egy adott szöggel egy tetszőleges tengely körül (közös bázis!) • R ortogonalitása miatt p = R·p’: – Elforgatott helyzet – ||p|| = ||p’||: T T T T T p ·p = p’ ·R ·R·p’ = p’ ·I·p’ = p’ · p’ – Inverz: T p’ = R · p
Forgatás összegezve • Leírja két bázis egymáshoz képesti helyzetét: • Megmutatja az egy adott pont különböző (közös origójú) bázisokban való ábrázolásához szükséges koordinátatranszformációt • Közös bázisban leírja a vektorok forgatását
Összetett forgatások • Legyenek O-x0 y0 z0, O-x1 y1 z1, és O-x2 y2 z2 közös origójúak • p legyen egy pont, a fenti bázisokban kifejtve p0, p1, p2 • Rij : i bázis forgatási mátrixa j-re nézve, azaz p1 = R12 p2 illetve p0 = R01 p1 és p0 = R02 p2. Ebből • R02 = R01 R12 • Nem kommutatív!
Összetett forgatások • Forgatás az aktuális bázisban: R02 = R01 R12
Összetett forgatások • Forgatás rögzített bázisban: R02 = R12 R01
Euler szögek • Rotációs mátrixok redundáns módon írják le az orientációt – 9 elemű mátrix – 6 korlátozás: – 3 paraméter – minimális reprezentáció
• 3 szöggel leírható : [φ,θ,ψ] – Rz(φ): egyparaméteres forgatás egy tengely körül – Tetszőleges 3 megfelel, ha egymásután nincs párhuzamos tengely körüli forgatás – Összesen 3·2·2=12 megengedett a 33=27-ből → Euler szögek
• Leggyakrabban: ZYZ, ZYX (vagy Roll-Pitch-Yaw) szögek
ZYZ szögek • Egymás utáni forgatás az aktuális bázisban: Rz(φ) → RY’(θ) → Rz”(ψ)
• Inverz probléma: adott egy R forgatási mátrix, határozzuk meg a hozzátartozó Euler szögeket
Roll-Pitch-Yaw szögek • Egymás utáni forgatás egy rögzített bázisban: RX(ψ) (yaw) → RY(θ) (pitch) → Rz(φ) (roll)
• Inverz probléma: adott egy R forgatási mátrix, határozzuk meg a hozzátartozó Euler szögeket
Szög + tengely • Egy nem-minimális reprezentáció: 4 paramétert használ: – Forgatás egy adott szöggel (θ) – Egy adott tengely körül: r = [rx ,ry ,rz]
T
• R(θ,r)= RZ(α) RY(β) RZ(θ) RY(-β) RZ(-α) • Belátható, hogy R(θ,r)=-R(-θ,-r)
Homogén transzformáció • P pont, O0-x0y0z0 és O1-x1y1z1 koordinátarendszerek Ekkor p0 = o10+R10 p1 • Koordináta transzformáció (eltolás + forgatás) • Inverze: p1 = -R10To10+R10T p0 = -R01o10+R01 p0
Homogén transzformáció • Tömörebb reprezentáció: homogén transzformációs mátrix
• Ekkor • Továbbá
• Nem ortogonális!
Homogén transzformáció • Speciális esetek: – Azonos origók esetében forgatássá fajul • Koordináta-transzformációk sorozata
Direkt kinematika • Cél: – A végszerszám pozíciójának és orientációjának meghatározása a csuklóváltozók függvényeként Ob-xbybzb-ra vonatkozólag – – – –
q – csuklóváltozók ne, se, ae: végszerszámhoz rögzített koordinátarendszer pe: origóba mutató helyvektor Homogén transzformációs mátrix
Példa • Kétszegmensű síkbeli kar direkt kinematikai modellje – Jelölje sij = sin(θi+ θj) cij = cos(θi+ θj)
– A homogén transzformációs mátrix
Probléma: bonyolult kinematikai struktúra, illetve zárt kinematikai lánc esetén nehéz, vagy lehetetlen analitikus megoldást adni
Nyílt kinematikai lánc • n+1 szegmens, és n ízület – nyílt lánc • Először két egymást követő szegmens közti kinematikai kapcsolat • Rekurzív módon felépíteni a teljeset
Denavit-Hartenberg jelölés Koordinátarendszerek orientációja • • •
Jelölje Tengely i a i-1 és i szegmenset összekötő tengelyt zi essen egybe az i+1 ízület tengelyével Oi legyen a zi és zi-1 közös normálisának zi-vel alkotott metszete, Oi’ pedig a zi és zi-1 közös normálisának zi-1-vel alkotott metszete • xi-t úgy válasszuk meg, hogy a közös normális irányában mutat az i-edik ízülettől az i+1-edikig • yi-t úgy válasszuk, hogy xi yi zi egy jobbsodrású koordinátarendszert alkosson Mikor nem egyértelmű: • ha két egymást követő tengely párhuzamos, nem egyértelmű a közös normális • ilyenkor úgy kell választani, hogy minél egyszerűbb legyen
Denavit-Hartenberg jelölés Az i koordinátarendszer i-1-re vonatkozó pozíciója és orientációja megadható: • • • •
ai: Oi és Oi’ közti távolság di: az Oi’ pont zi-1 irányába eső koordinátája αi: zi-1 és zi tengelyek szöge xi tengely körül θi: xi-1 és xi tengelyek szöge zi-1 tengely körül
•
ai és αi konstans, és csak a geometriától függ Ha az i-1 és i szegmens közti ízület
•
– rotációs, akkor θi a változó – transzlációs, akkor di a változó
Denavit-Hartenberg jelölés Az i és i-1 koordinátarendszerek közti homogén transzformáció • •
Válasszuk ki az i-1 koordinátarendszert Transzformáljuk i’-be: eltolás di-vel és forgatás θi-vel
•
Transzformáljuk i’-t i-be: eltolás ai-vel és forgatás αi-vel
Denavit-Hartenberg jelölés Az i és i-1 koordinátarendszerek közti homogén transzformáció •
Mivel az aktuális koordinátarendszerben forgattunk:
•
Csak egy csuklóváltozótól függ – θi-től, ha forgó ízület – di-től, ha prizmatikus
•
A különálló koordináta transzformációkból felépíthető a teljes direkt kinematikai kapcsolat
Denavit-Hartenberg algoritmus 1. Ízületi tengelyek megszámozása és a z0,…,zn-1 tengelyek irányának felvétele 2. 0. koordinátarendszer megválasztása, origó kiválasztása z0-n 3 – 5 lépések ismétlése i = 1,…,n-1 3. Az Oi origó legyen zi-1 és zi közös normálisának és zi-nek metszetében. Ha zi1 és zi párhuzamosak és az i ízület forgó, akkor válasszuk Oi-t úgy, hogy di = 0. Ha prizmatikus, akkor valamilyen referenciapozícióban legyen. 4. Válasszuk meg xi-t a közös normális mentén úgy, hogy az i-edik ízülettől az i+1-edik felé mutasson. 5. Válasszuk meg yi-t úgy, hogy xi yi zi egy jobbos koordinátarendszer legyen Befejezés: 6. Válasszuk ki az n-edik koordinátarendszert. Ha az n-edik ízület forgó, akkor zn essen zn-1 irányába, ha prizmatikus, akkor tetszőleges. xn-et 4. alapján. 7. határozzuk meg ai,di,αi,θi paramétereket, i = 1,…,n. 8. Számítsuk ki az Aii-1(qi) homogén transzformációs mátrixokat, i = 1,…,n. 9. Számítsuk ki a Tn0(q)= A10…Ann-1 homogén transzformációt 10. Adott T0b(q) és Ten(q), számítsuk ki Teb(q)=T0b Tn0 Ten homogén transzformációt az alap és a végszerszám között
Példák…