Robot manipulátorok
Az ipari robotok definíciója Mechanikai struktúra vagy manipulátor, amely merev testek (szegmensek) sorozatából áll, melyeket összeillesztések (csuklók, ízületek) kapcsolnak össze A manipulátor szokásos részei: kar (mozgatás), kézcsukló (kézi funkciók), végberendezés (kívánt feladat elvégzése) Aktuátorok: a manipulátor mozgatása a csuklókon keresztül (elektronikus, hidraulikus, pneumatikus) Szenzorok: manipulátor állapotának és a környezet jellemzőinek mérésére Irányítórendszer: számítógép (irányítás, felügyelet)
Robot manipulátorok alkalmazásai Anyagkezelési műveletek alakformálás raktárak feltöltése és kirakodása gyártósorok felügyelete osztályozás csomagolás
Robot manipulátorok alkalmazásai Gyártási műveletek ív- és ponthegesztés festés ragasztás lézeres vágás őrlés és fúrás öntés csavarozás, huzalozás, rögzítés mechanikai és elektromos egységek összeszerelése elektronikus kártyák összeszerelése
Robot manipulátorok alkalmazásai A robotok szenzoraikkal együtt mérőműszerként is használhatók: 3 dimenziós objektumok vizsgálata kontúrok keresése gyártási hibák felkutatása
Manipulátorok szerkezete Nyílt kinematikai lánc pl. három elemű síkbeli kar Zárt kinematikai lánc pl. paralelogramma-kar
Manipulátorok szerkezete (1 szabadságfokú) transzlációs csukló: 1 tengely menti mozgás a szegmensek között Rotációs csukló: forgómozgás a linkek között
Manipulátorok szerkezete Mozgás szabadságfoka: a működtetett ízületek száma Szabadságfok: egy adott feladat végrehajtásához szükséges független paraméterek száma egy három dimenziós objektum tetszőleges pozícionálásához és orientálásához 6 szabadságfok szükséges Kinematikailag redundáns manipulátor: a mozgás szabadságfoka nagyobb mint a szabadságfok
Manipulátorok szerkezete Munkatér (workspace): a környezet azon része, amit a manipulátor el tud érni Alakja és térfogata függ a manipulátor szerkezetétől és a csuklók mechanikai korlátozásaitól A kar mozgásának szabadságfoka szerinti csoportosítás: Descartes henger gömb SCARA antropomorf
Descartes manipulátor Három (páronként merőleges) transzlációs csukló Szabadsági fok: x, y, z
Hengeres manipulátor Az első transzlációs csuklót rotációs csuklóval helyettesítjük Szabadsági fokok: r, θ, z
Gömbi manipulátor A második transzlációs csuklót is rotációs csuklóval helyettesítjük Szabadsági fokok: r, θ, φ
SCARA manipulátor Selective Compliance Assembly Robot Arm Két rotációs és egy transzlációs csukló, a mozgástengelyek párhuzamosak Nincs közvetlen összefüggés a mozgás szabadságfoka és a szabadsági fok között
Antropomorf manipulátor Antropomorf geometria: három rotációs csukló Az első csukló tengelye merőleges a másik két csukló tengelyére, amelyek párhuzamosak
Gömbcsukló Lényeg: a végszerszám pozíciójának és orientációjának szétcsatolása A kar feladata a pozícionálás, a csuklóé pedig az orientálás
Kinematika Kinematika: a csuklók pozíciója (szöge) és a végszerszám pozíciója és orientációja közti analitikus kapcsolat leírása Differenciális kinematika: a csuklók mozgása és a végszerszám mozgása közötti analitikus kapcsolat leírása a sebességek megadásával
Direkt és inverz kinematikai probléma Direkt kinematikai probléma: szisztematikus, általános módszer megadása a végszerszám mozgásának csuklómozgások függvényében való leírásához lineáris algebrai eszközök segítségével Inverz kinematikai probléma: a kívánt végszerszámmozgáshoz szükséges csuklómozgások kiszámítása A manipulátor dinamikája: a manipulátor mozgásegyenletei a rajta ható erők és momentumok függvényében (alapja: kinematikai modell)
Trajektóriatervezés és mozgásvezérlés Trajektóriatervezés: az állapotváltozók időfüggvényeinek meghatározása a kívánt mozgás tömör leírása alapján A generált trajektóriák által állítja elő a mozgásvezérlő rendszer a szükséges fizikai bemeneteket Manipulátor irányítása: az előírt trajektóriák bejárásához szükséges erők és nyomatékok időfüggvényeinek meghatározása
Kinematika
Kinematika Manipulátor ábrázolása: merev testek rotációs vagy transzlációs csuklókkal összekötött kinematikai lánca A lánc egyik végén van a kezdőpont (bázis), a másik végén pedig a végszerszám Az egész struktúra mozgása megkapható az egyes elemek egymáshoz képesti elemi mozgásainak kompozíciójával
Merev test pozíciója és orientációja (helyzete) Egy merev test helyzetét a három dimenziós térben egyértelműen megadja a pozíciója és egy referencia koord. rsz.-hez képesti orientációja
Forgatási (rotációs) mátrix R a test referencia koord. rsz.-hez képesti helyzetét írja le R 3 x 3-as ortogonális mátrix, azaz RTR=I, R-1=RT
Forgatási mátrixok további tulajdonságai Ha A és B forgatási mátrix, akkor C=AB is forgatási mátrix Forgatási mátrixok lehetséges sajátértékei: minden sajátérték 1 az egyik sajátérték 1, a másik kettő -1 az egyik sajátérték 1, a másik két komplex konjugált sajátérték exp(iφ) ill. exp(-iφ) Ha A forgatási mátrix, akkor det(a)=1
Elemi forgatások O-xyz koord. rsz. elforgatása a z tengely körül α szöggel
Elemi forgatások Forgatás α szöggel a z tengely körül: [ ] [ ] [] cos x ' = sin 0 sin y ' = cos 0 0 z '= 0 1 Az O-x'y'z' bázis O-xyz-re vonatkozó forgatási mátrixa: [ cos sin 0 R z = sin cos 0 0 0 1 ]
Elemi forgatások Forgatás β szöggel a y tengely körül: [ cos 0 sin R y = 0 1 0 sin 0 cos ] Forgatás γ szöggel az x tengely körül: [ 1 0 0 R x = 0 cos sin 0 sin cos ]
Vektor ábrázolása Egy p pont (vektor) ábrázolása az O-xyz bázisban: [] px p= p y pz Vagy az O'-x'y'z' bázisban: [] p'x p '= p ' y p'z
Vektorok ábrázolása p= p x ' x ' p y ' y ' p z ' z ' = [ x ' y ' z ' ] p' p=r p' Az R rotációs mátrix a vektor koordináták O-x'y'z' és O-xyz bázisok közötti transzformációját ábrázolja Az ortogonalitásból következik: T p '=R p
Vektorok ábrázolása Az O'-x'y'z' bázist az O-xyz bázishoz képest α szöggel elforgatjuk a z tengely körül. Legyenek egy P pont koordinátái p' ill. p a két bázisban.
Vektorok forgatása A forgatási mátrix vektorok forgatási operátoraként is használható: Legyen p' egy vektor az O-xyz bázisban Ekkor az Rp' vektor egy R operátor szerint elforgatott vektor lesz, melynek a hossza megegyezik p' hosszával
Vektorok forgatása A forgatási mátrix három ekvivalens geometriai jelentése: Leírja két bázis egymáshoz képesti helyzetét: oszlopvektorai az elforgatott bázis tengelyeinek iránykoszinuszai az eredeti bázishoz képest 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áta-transzformációt Ugyanabban a bázisban leírja a vektorok forgatását
Forgatási mátrixok kompozíciója az aktuális bázisban i j Legyen R az i és j bázis egymáshoz képesti helyzetét leíró forgatási mátrix. Az egymás utáni forgatásokat jobbról történő mátrixszorzással írhatjuk le: 0 0 2 0 1 R =R R 1 2 Az R 2 által kifejezett forgatás két lépésben kapható meg: Először elforgatjuk a megadott bázist R01 szerint, így kapjuk az O-x1y1z1 bázist. 1 Majd az O-x1y1z1 bázist elforgatjuk R 2 szerint, és így megkapjuk az O-x2y2z2 bázist.
Objektumok forgatása változó bázisban A teljes forgatás kifejezhető (egymáshoz képest definiált) tengely körüli elemi forgatási műveletek kompozíciójaként
Objektumok forgatása rögzített bázisban Az egymás utáni forgatásokat egy rögzített bázis tengelyeihez képest írjuk fel
ZYZ Euler-szögek A forgatási mátrixok paraméterei nem választhatók meg teljesen szabadon: az RTR=I ortogonalitási feltétel 6 db független egyenletet definiál 3 paraméter választható meg függetlenül a forgatási mátrixokban (minimális reprezentáció)
ZYZ Euler-szögek A ZYZ szögek által leírt forgatás a következő elemi forgatások kompozíciója: Forgassuk el a referencia bázist φ szöggel a z tengely körül: [ cos sin 0 R z = sin cos 0 0 0 1 ] Forgassuk el az így kapott bázist θ szöggel a y' tengely körül: [ cos 0 sin R y ' = 0 1 0 sin 0 cos ]
ZYZ Euler-szögek az így kapott bázist forgassuk el ψ szöggel a z'' tengely körül: [ cos sin 0 R z ' ' = sin cos 0 0 0 1 ]
ZYZ Euler-szögek A forgatások kompozíciója: R=R z R y ' R z ' ' = [ c c c s s c c c s c c s s c c c s s c s c c s s s c s s c ]
Az Euler-szögek meghatározása Inverz probléma: adott egy forgatási mátrix, milyen Euler-szögek tartoznak hozzá? [ r 11 r 12 r 13 R= r 21 r 22 r 23 r 31 r 32 r 33 ] =atan2 r 23, r 13 2 =atan2 r 13 r 223, r 33 =atan2 r 32, r 31
Homogén transzformációk A két bázis origója különböző: Művelet: eltolás + forgatás 0 0 1 0 1 1 p =o R p
Homogén transzformációk A két bázis origója különböző: [] p p= 1 Így a bázisok közötti transzformáció a következő alakban írható fel: 0 1 p=a p 1 ahol 0 [ A1= R1 0 o1 T 1 0 0 ]
Homogén transzformációk A 0 és 1 bázis közötti transzformáció felírható így: Ahol a transzformációs mátrix a következőképp partícionálható:
Direkt kinematika
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.
Direkt kinematika A végberendezés bázisához tartozó pozíció és orientáció leírása Az Ob-xbybzb bázisra vonatkozó direkt kinematikai függvényt a következő homogén transzformációs mátrix adja meg:
Direkt kinematika Ahol q a csuklóváltozók (n x 1-es) vektora, ne, se és ae a végberendezéshez rögzített bázis egységnyi hosszúságú vektorai, pe a végberendezés bázisának origója (az alap bázisban). ne, se, ae és pe a q vektor függvénye
Két szegmensű síkbeli kar
Két szegmensű síkbeli kar munkatere
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:
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
Denavit-Hartenberg konvenció Legyen zi az i+1. csuklóhoz tartozó mozgás tengelye Legyen az O origó a z tengely valamint a z i i i-1 és zi tengelyek közös normálisának metszéspontjában Legyen O a közös normális és a z tengely metszéspontjában i' i-1
Denavit-Hartenberg konvenció Jelöljük ki az xi tengelyt zi-1 és zi 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 tengelyt úgy, hogy jobb sodrású i koordinátarendszert kapjunk
Denavit-Hartenberg konvenció A konvenció a következő esetekben nem adja meg egyértelműen a bázist: a 0. bázisnál csak z iránya van megadva, O és x 0 0 0 tetszőlegesen kijelölhető az n. bázisnál z nem egyértelműen definiált (mivel nincs n+1. n csukló), xn-nek pedig merőlegesnek kell lennie a zn-1 tengelyre. Az n. csukló általában rotációs, ezért z iránya ekkor n megegyezhet zn-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 x iránya i tetszőleges ha az i. csukló transzlációs, akkor z i-1 iránya tetszőleges
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 és O közötti a távolság i i' i O di-vel jelölt koordinátája a zi-1 tengelyen i'
Denavit-Hartenberg konvenció A zi-1 és zi tengelyek közötti αi szög Az xi-1 és xi tengelyek közötti θi szög
Denavit-Hartenberg konvenció A négy paraméter közül kettő (ai é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 d i
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 tengely mentén d -vel, majd i i forgassuk el a zi-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: [ c s s c i 1 Ai ' = 0 0 0 0 i i i i 0 0 0 0 1 di 0 1 ]
Denavit-Hartenberg konvenció Az i' bázist az xi' tengely mentén toljuk el ai-vel, és forgassuk el αi szöggel az xi' 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ő: [ 1 0 0 0 c s i' Ai = 0 s c 0 0 0 i i i i ai 0 0 1 ]
Denavit-Hartenberg konvenció A két transzformáció kompozíciója (jobbról történő szorzással): [ c s c s s s c c c s i 1 i 1 i' A i qi =A i ' A i = 0 s c 0 0 0 i i i i i i i i i i i i ai c a i s di 1 i i ]
Denavit-Hartenberg algoritmus 1. Keressük meg és sorszámozzuk be a csuklók tengelyeit, határozzuk meg a z0, zn-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 z0 tengelyen, és válasszuk meg az x0 és y0 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 Oi origót zi ill. a zi-1 és zi tengelyek közös normálisának ill. zi-nek a metszéspontjában. Ha a zi-1 és zi tengelyek párhuzamosak, és az i. csukló rotációs, akkor az origót di=0 távolságra jelöljük ki; Ha az i. csukló transzlációs, akkor Oi-t tetszés szerinti referencia pozícióban jelöljük ki (pl. mechanikai határhelyzetben)
Denavit-Hartenberg algoritmus 4. Jelöljük ki az xi tengelyt zi-1 és zi közös normálisán úgy, hogy az i. csuklótól az i+1. csukló felé mutasson 5. Válasszuk meg az yi 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 zn tengely legyen párhuzamos zn-1-gyel, ha pedig transzlációs, akkor zn tetszőleges lehet. Az xn tengelyt a 4. lépésnek megfelelően válasszuk meg. 7. i=1-től n-ig írjuk le az ai, di, α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 Aii-1(qi) transzformációs mátrixokat.
Denavit-Hartenberg algoritmus 9. Számítsuk ki a Tn0(q)=A10... Ann-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. T0b és Ten felhasználásával számítsuk ki a Teb(q)=T0bTn0Ten mátrixot, amely megadja a végberendezés bázisának alap bázishoz képesti pozícióját és helyzetét.
Három szegmensű síkbeli kar Denavit-Hartenberg paraméterek:
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 di=0, i=1,2,3, azaz:
Három szegmensű síkbeli kar A kiszámított direkt kinematikai függvény a következő: ahol:
Gömbi kar Denavit-Hartenberg paraméterek:
Gömbi kar Az egyes csuklókhoz tartozó transzformációs mátrixok:
Gömbi kar
Gömbi kar
Gömbi kar Az egyes csuklókhoz tartozó transzformációs mátrixok:
Gömbi kar A direkt kinematikai függvény:
Antropomorf kar Denavit-Hartenberg paraméterek:
Antropomorf kar A homogén transzformációs mátrix: Értékei az egyes csuklókra:
Antropomorf kar A direkt kinematikai függvény:
Gömbcsukló Denavit-Hartenberg paraméterek:
Gömbcsukló A homogén transzformációs mátrixok:
Gömbcsukló A transzformációs mátrixok értékei az egyes csuklókra:
Gömbcsukló A direkt kinematikai függvény:
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 m n [] 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
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: [] q1 q= qn rotációs csuklónál qi=θ, transzlációs csuklónál pedig qi=di. 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
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: px (végberendezés x-koordinátája) py (végberendezés y-koordinátája) φ (végberendezés x0-tengellyel bezárt szöge) Emlékeztető: a rsz. homogén transzformációs mátrixa
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.
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)
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:
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)
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
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
Direkt kinematika (összefoglalás) A direkt kinematikai egyenletek lehetséges formái:
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
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
Három szegmensű síkbeli kar direkt kinematikai függvény
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: px, py koordináták az x0-tengellyel bezárt φ szög A direkt kinematikai függvényt tehát felírhatjuk az alábbi alakban:
Három szegmensű síkbeli kar Tudjuk, hogy: W-re, a 2. bázis origójára a következő egyenletek igazak:
Három szegmensű síkbeli kar
Három szegmensű síkbeli kar Akkor létezik megoldás, ha Ekkor
Három szegmensű síkbeli kar Helyettesítsük vissza θ2-t a következő egyenletekbe: Így a következő egyenleteket kapjuk: