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 sc 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
]
=atan2r 23 , r 13 2 =atan2 r 13 r 223 , r 33
=atan2r 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 mn
[]
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: