1 / 92

Robotikai Alapok I.

Robotikai Alapok I. Ami a robotprogramozás c. mérés elvégzéséhez szükséges…. Proh ászka Zoltán , prohaszka @iit.bme.hu. Tudnivalók. Kötelező jelenlét HF egyénenként, pap íron beugró kérdések: 2 képlet:Euler /D-H. Mit kell megtanulni?. Euler kéz, DH lépés mint mátrixok szorzata

andren
Download Presentation

Robotikai Alapok I.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robotikai Alapok I. Ami a robotprogramozás c. mérés elvégzéséhez szükséges… • Prohászka Zoltán, prohaszka@iit.bme.hu

  2. Tudnivalók • Kötelező jelenlét • HF egyénenként, papíron • beugró kérdések: 2 képlet:Euler/D-H

  3. Mit kell megtanulni? • Euler kéz, DH lépés mint mátrixok szorzata • Minden, ami a mérési útmutató kérdéseihez szükséges (.pdf, 59. oldal) • ARPS (azok az utasítások, amik a példaprogramban szerepelnek, és még más, lásd II. rész, utolsó dia) • Kézivezérlő 2*6 mozgatógombja, joint és world üzemmód

  4. Mit kell a mérésre hozni? • EGYÉNI házi feladatot, PAPÍRON • Mindenki ugyan azt a feladatot kapja (.pdf vége: mérési útmutató), de értelemszerűen kicsit másképp oldja meg.

  5. Használati útmutató • A mérésen jó, ha értik ami itt le van írva, de ez nem egy 100% megtanulandó anyag. • Megtanulandók: külön specifikálva • A mérésre készülők fussák át az anyagot, ezután nézzék át a megtanulandókat, és azt, amit a megtanulandók megértéséhez szükségesnek éreznek. • Az anyag részletes, hogy az érdeklődők tudjanak miből meríteni, ha alkalmazni akarják az anyagot. • Szürke színnel szedett: CSAK Érdeklődőknek! • Akinek képességei megengedik, vezesse le, és használja az anyagot ellenőrzésre…

  6. A manipulátor • Az ipari robot egy irányított mechanizmus, melynek legfőbb tulajdonsága, hogy a rá szerelt végberendezést képes térben és időben előírt módon pozicionálni, s ennek segítségével feladatot megoldani • TCP, szerszámközéppont • Léteznek teljesen más robotok CNC, zárt láncú, mobilis, flexibilis, kígyók, stb.

  7. DoF:Degrees of Freedom • Szabadságfok (egyenletrendszerek, ismeretlenek, kényszerek): Megoldások sokaságának dimenziói: Hány skalárral járható be a halmaz? • Térbeli forgatás 3 DoF, geom. biz. • 2-D DoF: 2 T+1 R • 3-D DoF: 3 T+3 R=6, pl. gázmolekulák • m>6: Redundáns Robot (pl. emberi kar:9), marad m-6 szabadság: optimális energia, manőverábilitás, információközlés, testbeszéd

  8. Csuklóképlet • TTT: xyz CNC maró • TTTR: alkatrész beültető • RRTR: scara, alkatrész beült. • TTTRRR: komoly CNC • RRRRRR: Ipari robot • Általában az első 3 csukló felelős a pozícionálásért, többi forgat (DEKOMPOZÍCIÓ)

  9. Nokia Puma 560 arm

  10. Robotvezérlők • A manipulátor mozgatásához valamilyen vezérlő szükséges (Teljesítményelektronika, szabályzás, alapjel előállítás, ember-gép kapcsolat) • Az előadás célja, hogy a hallgatók tisztában legyenek a manipulátorban és a vezérlőben zajló folyamatokról

  11. Térbeli helyzet leírása • 2D-ben könnyebb illusztrálni, mert könnyebben lehet lerajzolni, elképzelni. • 2D-ben érdemes a geometria-algebrai kapcsolatokat megérteni • 3D algebrai kiterjesztés egyszerűen következik a 2D algebrából, • 3D geometria elképzeléséhez térlátás és/vagy sok gyakorlás szükséges, • DE ELENGEDHETETLEN, ha valaki ilyen problémákat akar mérnöki módon kezelni

  12. Egy síkbeli test minden pontja megadható három kitüntetet pontjának LINEÁRIS kombinációjaként • Nevezzük az elsőt a test origójának (O) • Vegyük fel a másik kettőt (B,C) az origótól 90 fokban, ha lehet, azonos távolságban • Minden Pi pont megadható xi, yi koordinátákkal: Pi=xi*(B-O)+yi*(C-O)+O • Legyen ez a test egy F betű (5 pont) • Ha mozgatjuk O,B,C-t, akkor minden így megadott pi is mozogni fog

  13. Pi=xi*(B-O)+yi*(C-O)+O • Használjunk MÁTRIX-ot, mert az algebrában az fejezi ki két koordinátavektor általános lineáris kapcsolatát • A=[(B-O)(C-O)], t=O, • Pi =A*[xi;yi]+t=[A t]*[xi;yi;1] • (ez egy vektorok lineáris kombinációját kifejező egyenlet) • Elnevezés:A-tartalmazza a bázis-oszlopvektorokat.(ekkor [A t] abszolút helyzetet kódol, és félig algebrai, félig geometriai mennyiség) • Ha F–et ki akarjuk rajzolni pl. a képernyőre, akkor annak a koordinátarendszerét kell használni • (ekkor [A t]-be a B,C,O vektorok képernyőkoordinátarendszer szerinti koordinátás reprezentációját kell tenni. Ez már egy mátrix) • Az O,B,C vektorok koordinátáit tartalmazó [A t] egy mátrix,ez használható koordinátarendszerek relatív helyzeteinek a számszerű kódolására

  14. Koordináta rendszerek (Robotikában: KERETek) • 1 pontból és N vektorból áll. Krumpli, N nyílvesszővel. (N: dimenziók) • Megfelelő algebrai és geometriai objektumok kapcsolatának megadása KERETekkel lehetséges • (a Keretek emiatt félig geometriai, félig algebrai objektumok) • Egy keretnek, mint geometriai objektumnak algebrai leírásához (pl. számítógép) szükség van egy másik keretre. • Azaz csak 2 keret helyzetét számszerűsíthetjük, 1 keretét nem. • Két origó középpontú keret viszonya (relatív orientációjuk) NxN-es mátrix: Hogyan fejezhető ki az egyik vektorai a másik vektorainak lin. Kombinációival • Lineáris terek tárgyalásakor (Matematika, Lineáris Algebra) a keretek eltolása nem megengedett, a nyilak mindig az origóból indulnak. • Két általános helyzetű keret viszonya: Homogén (N+1)x(N+1)-es mátrix

  15. Jelölési szokások • Általában oszlopvektorokat használunk • Sorvektorok jelölése: vT: transzponált oszlopvektor • Kivéve Sz.gépes Grafika, itt minden transzponált • Mátrixszorzások sorrendje fordított • Kereteket 1 indexszel jelöljük:KA • Több (legalább 2) kerettel dolgozunk • Geometriai vektorok algebrai koordinátavektorainak indexe azt jelenti, melyik keretben írtuk fel: pA : p vektor az A keretben mérve • Transzformációkat két indexel látjuk el: Melyik kerethez képest melyik keret helyzetét jelöli. TAB :KB helyzete KA-hoz képest

  16. Jelölési szokások II • A jelölés választása praktikus: • vektor átszámítása másik keretbe: pB= TAB * pA • Transzformációk halmozása: TAC = TAB * TBC • Keretek szerepének felcserélése: TBA=(TAB)-1 • Könnyű észrevenni, ha egy képletben elírtuk az indexeket • sorvektoros jelölés esetében pont fordítva praktikus a transzformációk indexelése • Pár inkonzisztencia: • Régi és új fogalma nem mindig egzakt • Forgatási mátrixokat állapotmátrixként értelmezzük, általában elhagyjuk az indexeket • Keretek geometriai vektorai pont másképpen transzformálódnak (jobbról szorzódnak) geometriailag, mint a koordinátavektorok, [xB,yB,zB]*TBA=[xA,yA,zA], de ezzel nem lesz dolgunk • SW fejlesztéskor precízen kell a választott jelölést dokumentálni, adminisztrálni • Fejlesztésbe bekapcsolódáskor, hibakereséskor ezt érdemes átnézni, ellenőrizni (először)

  17. Homogén koordináták • Abszolút, azaz pozícióvektorok N koordinátájához hozzáírunk 1-et • Relatív, azaz irányvektorok N koordinátájához 0-t írunk. • Transzformációs mátrixok alá N db 0-t és egy 1-est, mivel ezek első N oszlopa relatív vektorokat jelent, utolsó oszlopa pedig eltolást, ami egy pozícióvektor.

  18. Homogén koordináták II • Homogén koordinátás vektorok és Transzformációs mátrixok: • Inhomogének, az elemeik jelentésének fizikai dimenziója szerint • A velük végzendő műveletek lesznek homogének. • Az elnevezés a lineáris, ill. differenciál egyenletek csoportosításából ered • Ez Debug Assertion-re is használható, pl. • Sebesség, gyorsulás: relatív • Két abszolút vektornak csak súlyozott átlagolás céljából adhatunk össze • Homogén transzformációk kombinálása, invertálása sem vezet ki ebből a speciális alakból: • Alul marad mindig a 0 0 0 1, ill. 0 0 1 (2D)(grafikában jobb oldalt) • Relatív vektorok transzformációjakor a keretek eltolását figyelmen kívül kell hagyni. • Pont ezt eredményezi, hogy a relatív vektor alá 0-t írtunk. • Továbbtanulóknak: Projektív viszonyok esetében (pl. gépi térlátás) más az N+1. sor jelentése, nem csak 0 vagy 1 lehet.

  19. A problémaMATLAB szkript mellékelve • K0:Mássz ki a csónakból és állj a mólóra, arccal a part felé. • T01:Menj előre 100 lépést és fordulj balra • T12:Menj 60 lépést, és fordulj jobbra • T23:Lopózz előre 200 lépést, és látni fogod az ellenséget jobbra, kb. 300 lépés távolságra tőled (E3). Találsz egy kulcsot elásva. • T34: Fordulj meg, menj (vissza) 100 lépést, balra fordulva (T45) találsz egy titkos ajtót, amit a kulccsal kinyithatsz, • Bejutsz, az ellenséget NEM LÁTOD a szikláktól, állitsd be a löveget a célra (E5), és TŰZ!

  20. %K0:Mássz ki a csónakból és állj a mólóra, arccal a part felé. %T01:Menj elore 100 lépést és fordulj balra %T12:Menj 60 lépést, és fordulj jobbra %T23:Lopózz elore 200 lépést, és látni fogod az ellenséget %jobbra, kb. 300 lépés távolságra %toled (E3). Találsz egy kulcsot elásva. %T34: Fordulj meg, menj (vissza) 100 lépést, balra fordulva (T45) találsz egy titkos ajtót, amit a kulccsal kinyithatsz, %Bejutsz, az ellenséget NEM LÁTOD a szikláktól, állitsd be a löveget a célra (E5), és TUZ! %Választás: A kommandós Y irányba halad (12 orának), %jobbra +X (3 orara), balra -X irányban (9 orara) lát. T_jobb=[0 1 0;-1 0 0;0 0 1]; T_bal=T_jobb^-1; T_0_akt=eye(3); T_01=[1 0 0; 0 1 100; 0 0 1]*T_bal; T_0_akt=T_0_akt*T_01 T_12=[1 0 0; 0 1 60; 0 0 1]*T_jobb; T_0_akt=T_0_akt*T_12 T_23=[1 0 0; 0 1 200; 0 0 1]; T_0_akt=T_0_akt*T_23 E_3=[300;0;1]; T_34=diag([-1,-1,1])*[1 0 0; 0 1 100; 0 0 1];%Itt elobb megfordul, aztan halad!!! T_0_akt=T_0_akt*T_34 T_45=T_bal; T_0_akt=T_0_akt*T_45 T_35=T_34*T_45; E_5=T_35^-1*E_3; E_5 T_05=T_01*T_12*T_23*T_35; E_0=T_05*E_5; E_0 Érdeklődők futtassák MATLAB-ban!

  21. ‘2’ probléma: • Egy tárgyhoz képesti relatív pozíció hol található egy másik tárgyhoz képest? • Egy tárgyhoz képesti relatív mozgás hova visz? • Geometriai és algebrai objektumok kapcsolata • Pont, egyenes, kör reprezentációja, kavics • Helyzet: MINDIG RELATÍV!!! • Rakd le úgy a székeket, hogy mindegyik úgy álljon a mellete levőhöz képest, mint ez a kettő!

  22. Térbeli helyzet leírása

  23. Keretek és Transzformációk Egy merev testhez rögzített egységvektor-hármast hívunk keretnek (3D-ben) Csak a keretek RELATÍV helyzete formalizálható, amit az egyik keretet a másikba vivő transzformációnak nevezünk.

  24. Helyzetek 2 • Világos, hogy a merev testek elmozdulásait halmozni lehet (eltolás, forgatás, megint eltolás) (pl. LOGO programnyelv, teknősbéka) Egy A |p kombináció leírja a soron következő (új) koordinátarendszer helyzetét az előző (régi) k.r. –ben !!!!!DE!!!!! Segítségével egy pont régi k.r.-beli helyzetét számíthatjuk ki, ha ismerjük hol van az új koordinátarendszerben.

  25. Pont koordinátái a megelőző keretben

  26. Homogén koordináták

  27. Homogén koordináták és mátrixok -Transzformációk kombinálása N+1-es mátrixszorzással, egyszerűen:

  28. Invertálás Keretek szerepének megfordítása, (N+1)x(N+1)-es invertálással, vagy kihasználva, hogy csak ortonormált forgatási tagunk lesz. -Ez annak a következménye, hogy nem dolgozunk se nagyító (hasonlósági), se lapító vagy nyíró (affin) lineáris transzformációkkal. -Ilyen transzformációkra is használhatóak az eddigiek, kivéve ez a dia!

  29. Forgatás 2D és 3D Z tengely 2D, inhomogén, [x;y]=Rot2D(phi)*[x’,y’] 3D Z, inhomogén: -X,Y síkban ugyan az, mint 2D-ben -Z koordináta nem változik: [x;y;z]=RotZ(phi)*[x’,y’,z’]

  30. Forgatás 3D, X és Y S előjele C alatt pozitív, kivéve Y körüli forgatást. Könnyú eltéveszteni !!! -3 szájbarágós dia, érdeklődőknek: kockapakolás, bázistranszformáció, csempézés

  31. Helyzetek tömören • 2D vs 3D • 1Test poziciója: kituntetett pontjának (súlypont) koordinátái • Használjunk koordinátarendszereket a helyzet (elfordulás) leírására is (linearitás) • Leírjuk: Origo koordinátái (abszolút vektor) • x, y, (z) egységvektorok (relatív vektorok) • Ez visszaolvasható oszloponként, felrajzolható (pl. Debug visualizer)

  32. Helyzetek -Lényegi kérdések • Miért hívjuk homogén koordinátáknak a hom. koord.-kat? • Milyen geometriai művelet a mátrixszorzás? • Attól függ, van-e geometriai jelentése a szorzandó mátrixoknak • Milyen geometriai műveletnek felel meg az invertálás? dettó. • Miért van szükség koordináta rendszer használatára a robotikában? • Miért kell több koordináta rendszer? • Miért használunk mátrixokat a robotikában?

  33. A Kinematikai lánc A piros nyíllal jelölt mozgás van előírva a feladat szerint, A robot a kék nyíllal jelölt transzformációt tudja változtatni a motorok által.

  34. A Puma 560 Euler kézcsuklója

  35. Az Euler-kéz képletei

  36. Szinguláris állapotok • Nem tud tetszőleges mozgás szerint elindulni • Jacobi mátrix lapos • Euler: szinguláris kinyújtva, 0,0,0-ban • Inverz euler: végtelen megoldás, nem kettő • Ember keze: RPY, kinyújtva maximális manőverábilitás, szinguláris 0,+-90,0-ban • Ember keze nem tud szingulárisba menni • Ló szingulárisban alszik, PUMA is. (READY)

  37. A D-H alak képletei

  38. A Puma-560 D-H alakja

  39. Direkt Geometriai feladat 6+2 mátrixszorzás

  40. Inverz Geometriai feladat • Transzcendens egyenletek • Jó tervezéssel a feladat dekompnálható, pl az utolsó 3 csukló egy pontban metszi egymást

  41. Dekompozíció

  42. Több megoldás Első 3 csukló: 4 megoldás Euler csukló: 2 megoldás Az összesen 8! A gépnek mozgás közben kell választania. Ez baj!

More Related