Mérési útmutató Robotkar inverz geometriája (és irányítása)

Hasonló dokumentumok
Robotok inverz geometriája

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Infobionika ROBOTIKA. IX. Előadás. Robot manipulátorok I. Alapfogalmak. Készült a HEFOP P /1.0 projekt keretében

Robotika. Kinematika. Magyar Attila

Denavit-Hartenberg konvenció alkalmazása térbeli 3DoF nyílt kinematikai láncú hengerkoordinátás és gömbi koordinátás robotra

Beltéri autonóm négyrotoros helikopter szabályozó rendszerének kifejlesztése és hardware-in-the-loop tesztelése

Soros felépítésű folytonos PID szabályozó

Infobionika ROBOTIKA. XI. Előadás. Robot manipulátorok III. Differenciális kinematika. Készült a HEFOP P /1.0 projekt keretében

A LEGO Mindstorms EV3 programozása

Pneumatika az ipari alkalmazásokban

IPARI ROBOTOK. Kinematikai strukturák, munkatértípusok. 2. előadás. Dr. Pintér József

Matematika (mesterképzés)

Mozgatható térlefedő szerkezetek

KOVÁCS BÉLA, MATEMATIKA I.

Hurokegyenlet alakja, ha az áram irányával megegyező feszültségeséseket tekintjük pozitívnak:

Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Irányítástechnika és Informatika Tanszék DARU IRÁNYÍTÁSA

Matematikai geodéziai számítások 10.

Útmutató EDC kézivezérlőhöz

Az ipari robotok definíciója

Quadkopter szimulációja LabVIEW környezetben Simulation of a Quadcopter with LabVIEW

Intelligens hatlábú robot kinematikai vizsgálata

Kinematika szeptember Vonatkoztatási rendszerek, koordinátarendszerek

Az egységugrás függvény a 0 időpillanatot követően 10 nagyságú jelet ad, valamint K=2. Vizsgáljuk meg a kimenetet:

Matlab Fuzzy Logic Toolbox

Szenzorcsatolt robot: A szenzorcsatolás lépései:

MINTA Írásbeli Záróvizsga Mechatronikai mérnök MSc. Debrecen,

A Hamilton-Jacobi-egyenlet

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

2. Elméleti összefoglaló

Számítógépes gyakorlat MATLAB, Control System Toolbox

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. 3. MÉRÉSFELDOLGOZÁS

Irányítástechnikai alapok. Zalotay Péter főiskolai docens KKMF

Grafikus folyamatmonitorizálás

2. E L Ő A D Á S D R. H U S I G É Z A

Számítógépes gyakorlat Irányítási rendszerek szintézise

ROBOTTECHNIKA. Kinematikai strukturák, munkatértípusok. 2. előadás. Dr. Pintér József

A K É T V É G É N A L Á T Á M A S Z T O T T T A R T Ó S T A T I K A I V IZS-

MECHATRONIKA Mechatronika alapképzési szak (BSc) záróvizsga kérdései. (Javítás dátuma: )

Transzformációk síkon, térben

Mechatronika segédlet 10. gyakorlat

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Lengyelné Dr. Szilágyi Szilvia április 7.

Számítógépvezérelt irányítás és szabályozás elmélete (Bevezetés a rendszer- és irányításelméletbe, Computer Controlled Systems) 7.

MA1143v A. csoport Név: december 4. Gyak.vez:. Gyak. kódja: Neptun kód:.

Transzformációk. Grafikus játékok fejlesztése Szécsi László t05-transform

3. Az univerzális szabályozó algoritmusai.

Gyakorlati útmutató a Tartók statikája I. tárgyhoz. Fekete Ferenc. 5. gyakorlat. Széchenyi István Egyetem, 2015.

KOVÁCS BÉLA, MATEMATIKA I.

Piri Dávid. Mérőállomás célkövető üzemmódjának pontossági vizsgálata

Egy érdekes statikai - geometriai feladat

Matematika A1a Analízis

1. A komplex számok ábrázolása

Számítási feladatok a Számítógépi geometria órához

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Rubin SPIRIT TEST. Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0. Készítette: Hajnali Krisztián Jóváhagyta: Varga József

Mérési útmutató a Mobil infokommunikáció laboratórium 1. méréseihez

Keresztmetszet másodrendű nyomatékainak meghatározása

Gauss-eliminációval, Cholesky felbontás, QR felbontás

Példa: Háromszög síkidom másodrendű nyomatékainak számítása

D/A konverter statikus hibáinak mérése

ÉRZÉKELŐK ÉS BEAVATKOZÓK II. 5. DC MOTOROK SZABÁLYOZÁS FORDULATSZÁM- SZABÁLYOZÁS

Vektorok, mátrixok, lineáris egyenletrendszerek

Regresszió számítás. Tartalomjegyzék: GeoEasy V2.05+ Geodéziai Kommunikációs Program

Elektromechanikai rendszerek szimulációja

Végfelhasználói Applet kézikönyv

X. ANALÓG JELEK ILLESZTÉSE DIGITÁLIS ESZKÖZÖKHÖZ

Mechatronika segédlet 11. gyakorlat

Robottechnika II. 1. Bevezetés, ismétlés. Ballagi Áron Automatizálási Tanszék

Összeállította: dr. Leitold Adrien egyetemi docens

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Akusztikai tervezés a geometriai akusztika módszereivel

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

FANUC Robottípusok, alkalmazások. Anyagmozgatás, szerelés, stb. Festés, lakkozás. Hegesztés

Térbeli transzformációk, a tér leképezése síkra

Vizuális adatelemzés - Gyakorlat. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Koós Dorián 9.B INFORMATIKA

8. Laboratóriumi gyakorlat INKREMENTÁLIS ADÓ

Mérési hibák

Függvények Megoldások

Segédlet a gyakorlati tananyaghoz GEVAU141B, GEVAU188B c. tantárgyakból

A FileZilla program beállítása az első belépés alkalmával

MaxiCont. MOM690 Mikroohm mérő

Kó dgenerá lá s e s GUI fejleszte s Mátláb- Simulink kó rnyezetben

Táblázatkezelés Excel XP-vel. Tanmenet

SZENZORFÚZIÓS ELJÁRÁSOK KIDOLGOZÁSA AUTONÓM JÁRMŰVEK PÁLYAKÖVETÉSÉRE ÉS IRÁNYÍTÁSÁRA

Matematika szigorlat június 17. Neptun kód:

Tanulmányozza az 5. pontnál ismertetett MATLAB-modell felépítést és működését a leírás alapján.

Hibadetektáló rendszer légtechnikai berendezések számára

Analóg elektronika - laboratóriumi gyakorlatok

Függőleges koncentrált erőkkel csuklóin terhelt csuklós rúdlánc számításához

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

Szeretném felhívni figyelmüket a feltett korábbi vizsgapéldák és az azokhoz tartozó megoldások felhasználásával kapcsolatban néhány dologra.

6. MECHANIKA-STATIKA GYAKORLAT Kidolgozta: Triesz Péter egy. ts. Négy erő egyensúlya, Culmann-szerkesztés, Ritter-számítás

Felhasználói kézikönyv

Példa: Tartó lehajlásfüggvényének meghatározása végeselemes módszer segítségével

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

Matematika III előadás

Jelek és rendszerek Gyakorlat_02. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával.

Mozgáselemzés MEMS alapúgyorsulás mérőadatai alapján

Átírás:

BME Irányítástechnika és Informatika Tanszék www.iit.bme.hu Mérési útmutató Robotkar inverz geometriája (és irányítása) összeállította: Dr. Kiss Bálint Budapest, 2016 bkiss@iit.bme.hu Intelligens robotok és jármu vek laboratórium (VIIIMB03)

Tartalomjegyzék 1. Bevezetés 3 2. Robotkarok geometriája 4 3. A pozícionáló szabályozási hurok 7 4. A fejlesztői környezet és a minta diagram 9 5. Ellenőrző kérdések, feladatok és mérési jegyzőkönyv 13 5.1. Ellenőrző kérdések........................................ 13 5.2. Mérési feladatok......................................... 13 5.3. Mérési jegyzőkönyv........................................ 14 2

1. fejezet Bevezetés A mérés célja, hogy a hallgató egy egyszerű mechanikai struktúra segítségével a gyakorlatban is megismerkedjen a robotkarok geometriájának néhány alapfogalmával, implementálja az inverz geometriai feladatot egy egyszerű, síkbeli esetben, szabályozókat hangoljon a kiszámolt csuklóhelyzetek beállításához és ha marad idő, lehetővé tegye a szerkezet gamepad-del történő mozgatását a világkoordináta-rendszerben. A felhasznált struktúra egy kétszabadságfokú robotkar, amelynek két egymással párhuzamos, függőleges irányú tengelyét egy-egy DC motor hajtja. Ez lehetővé teszi a robotkar kijelölt végpontjának pozicionálását egy vízszintes síkban, a robot munkaterén belül. A mérés további célja, hogy a hallgató megismerjen egy gyors irányítási célú prototípus tervező környezetet, amelyben a funkciókat hatékonyan valósíthatja meg alacsony szintű kódolás nélkül, lehetőleg diagram alapú programozási nyelv felhasználásával. A pozicionálást szabályozási hurkok segítségével végezzük. Az irányított MIMO szakasz (két bemenet és két kimenet) a robotkar, a beavatkozó szervek DC motorok, az érzékelők pedig inkrementális adók. Az útmutató először a robotkarok geometriájával kapcsolatos alapfogalmakat ismétli át és definiálja a direkt és inverz geometria fogalmát. Az egyes tengelyek szöghelyzetét beállító szabályozási hurkok részletesebb leírását tartalmazza a 3. fejezet. A mérési feladatok megoldását egy Matlab-Simulink-Quarc 1 alapú fejlesztői környezetben lehet elvégezni, ennek ismertetése a 4. fejezet feladata. Az elvégzendő mérési feladatok listáját, a felkészülést segítő kérdéseket és a mérési jegyzőkönyvvel szemben támasztott igényeket az 5 fejezet mutatja be. 1 http://www.quanser.com/products/quarc 3

2. fejezet Robotkarok geometriája A robotkarok egymáshoz képest elmozdulni képes merev testek láncolataként írhatóak le a 2.1. ábra szerint. A robotkart alkotó merev testek, vagy szegmensek egymáshoz képesti elmozdulása valamely tengely körüli elfordulást vagy egy tengely mentén történő eltolást jelent. A relatív elmozdulásokat az ún. csuklók biztosítják, az elmozdulások értékét pedig a csuklókoordináták (jelölésük q i ) mutatják. Az utolsó szegmens térbeli helyzetét és orientációját a relatív elmozdulások összessége, azaz a q vektor elemeinek értékei határozzák meg. A geometriai viszonyok leírásához a szegmensekhez koordinátarendszereket (kereteket) rögzítünk, amelyek velük együtt mozognak. A szegmenseket és a kereteket sorszámmal látjuk el úgy, hogy a K 0 keretet a robot bázisához (álló szegmenséhez) rögzítjük. Az i. keret K 0 kerethez képesti pozíciójának és orientációjának ismerete így az i. szegmens minden pontjának helyét számíthatóvá teszi. A K i keret és a K 0 keret relatív pozícióját és orientációját az ún. homogén transzformációs mátrix adja meg: T 0,i = [ A 0,i p 0,i 0 1 ], (2.1) ahol A 0,i egy 3 3 méretű orthonormált mátrix, melynek oszlopai rendre a K i keret bázisvektorai, felírva K 0 bázisában, p 0,i, pedig K i keret origójának helyvektora, szintén K 0 bázisa szerint felírva. Vegyük észre, ha adott P pont koordinátáit szeretnénk áttranszformálni az egyik keretből a másikba, akkor ehhez éppen a fenti transzformációs mátrix használható a 2.2. ábra alapján, mivel [ r 0 1 ] = [ A 0,i p 0,i 0 1 Nyílt kinematikai lánc esetén könnyen belátható, hogy T i 1,i éppen q i értékétől függ, tehát ha egy robot m csuklóval rendelkezik, akkor T 0,m homogén transzformációs mátrix a csuklókoordinátákból kapott q vektor függvénye. A q T 0,m hozzárendelést a robot direkt geometriai 1 modelljének nevezzük. Az ellenkező irányú, T 0,m q hozzárendelés elnevezése pedig az inverz geometria. A mérés során egy két mozgó szegmensből és két csuklóból álló robotkart tekintünk, amelynek sémáját a 2.3. ábra mutatja (felülnézetből). A koordinátarendszereket célszerűen úgy vettük fel, hogy K 0 keret z tengelye egyben az 1. csukló forgástengelye és K 1 keret z tengelye pedig a 2. csukló forgástengelye 2. Elemi geometriai összefüggések alapján könnyedén leolvasható, hogy C 1 S 1 0 a 1 C 1 C 2 S 2 0 a 2 C 2 T 0,1 = S 1 C 1 0 a 1 S 1 0 0 1 0 0 0 0 1 ] [ 1 angol terminológia szerint forward kinematics 2 Ez a konvenció a robotok esetében az ún. Denavit-Hartenberg konvenció. ] r i 1 (2.2) T 1,2 = S 2 C 2 0 a 2 S 2 0 0 1 0, (2.3) 0 0 0 1 4

5 2.1. ábra. Nyílt kinematikai láncú robotkar. P r i n K 0 i k j r 0 p 0,i l K i m 2.2. ábra. Homogén transzformáció két keret között. 2.3. ábra. A mérés során használt robotkar sémája felülnézetből.

6 FEJEZET 2. ROBOTKAROK GEOMETRIÁJA ahol az egyszerűsítés érdekében a C 1 = cos(q 1 ) és S 1 = sin(q 1 ) jelölések kerültek bevezetésre. Mivel a homogén transzformáció lineáris művelet, így azok egymás utáni alkalmazásával kapott transzformáció az elemi transzformációk szorzata, tehát C 12 S 12 0 a 2 C 12 + a 1 C 1 T 0,2 = T 0,1 T 1,2 = S 12 C 12 0 a 2 S 12 + a 1 S 1 0 0 1 0 0 0 0 1, (2.4) ahol pedig a C 12 = cos(q 1 + q 2 ) és S 12 = sin(q 1 + q 2 ) jelöléseket vezettük be. Az inverz geometriai feladatból most tekintsük csak az inverz pozícionáló feladatot, amely a kétszabadságfokú robotkar esetében a p 0,2 q hozzárendelés meghatározását jelenti. Mivel a robot síkban mozog, ezért a hozzárendelés megadásához a (2.4) alapján adódó p x = a 2 C 12 + a 1 C 1 (2.5) p y = a 2 S 12 + a 1 S 1 (2.6) trigonometrikus egyenletrendszert kell megoldani. Amennyiben p 0,2 a robot munkaterén belül található, úgy két megoldás számítható, azaz az inverz geometriai feladat megoldása nem egyértelmű. Egy lehetséges megoldás, ha a két egyenletet a p x a 1 C 1 = a 2 C 12 (2.7) p y a 1 S 1 = a 2 S 12 (2.8) alakra hozzuk, négyzetre emeljük, és összeadjuk őket. Ekkor a jobb oldalon a 2 2 marad és némi átrendezés nyomán egy A cos(q 1 ) + B sin(q 1 ) = D (2.9) alakú egyenletre jutunk, amelynek általános esetben két megoldása számítható. Mindkét q 1 értékre ennek nyomán pedig egy q 2 érték számítható. Ehhez a (2.7)-(2.8) egyenletekből kifejezhető q 1 + q 2 szögösszeg koszinusza és szinusza is, tehát egy atan2 függvénnyel, majd a korábban meghatározott q 1 felhasználásával q 2 meghatározható. A fenti számítások lehetővé teszik, hogy a robot második szegmenséhez rögzített keret kívánt pozíciójából visszaszámoljuk az egyes csuklók ennek megfelelő szöghelyzetét, amely alapjelként szolgál a csuklókat mozgató szabályozási hurkok számára.

3. fejezet A pozícionáló szabályozási hurok A robot minden egyes tengelyére külön szabályozási hurkot kell terveznünk. A szabályozót a Simulink segítségével valósítjuk meg. A pozícionáló szabályozási hurkok hatásvázlata a 3.1. ábrán látható. A két szabályozási hurok az alapjeleket az inverz pozícionáló feladatot megoldó blokkból kapja. A robot csuklótengelyeire szerelt inkrementális jeladók szolgáltatják a szabályozások számára az ellenőrző jeleket. A hibajel alapján a szabályzó előállítja a kívánt nyomatékot, amelyet a szervok állítanak elő a csuklókban. A nyomatékok hatására a robot elmozdul, a visszacsatolt elfordulás érték módosítja a hibajelet, amely megfelelően hangolt szabályzó esetében kellő gyorsasággal a nullához tart. A felhasznált DC motorok és a teljesítményelektronika a Maxon cég termékei. A teljesítményelektronika esetünkben áramszabályozást is megvalósít (DC motorok esetében az áram arányos a nyomatékkal). Mivel a beépített áramszabályozási hurkok gyorsak és pontosak, a pozíciószabályozás szempontjából úgy tekinthetjük, hogy a szervo egy arányos tagként viselkedik. A Quanser Q8 adatgyűjtő kártya közvetlenül képes fogadni az inkrementális jeladókból érkező impulzussorozatot. A jeladók két csatornásak, azaz két, egymástól fázisban eltolt impulzussorozatot bocsátanak ki a forgás során. Az impulzussorozatok éleinek detektálásával számlálókat lehet meghajtani, a le- és felfutó élek sorrendje pedig meghatározza a forgási irányt. Esetünkben egy teljes körbeforduláshoz 400 számláló impulzus tartozik. Ugyanakkor a motor tengelye és a csukló tengelye közötti 1 : 3 19 áttétel miatt a csuklótengely egy fordulatához 19 3 400 impulzus tartozik, ami igen pontos pozicionálást tesz lehetővé. A teljesítményelektronika számára tengelyenként egy-egy -10, +10 voltos tartományban kiadott feszültségérték felel meg az áram alapjelnek. Ezt a feszültségértéket a Quanser Q8 kártya DA átalakítói állítják elő. A megvalósított szabályzó egy PD vagy PID típusú szabályzó kell legyen. A kétszabadságfokú robot Simulink diagramját a Qunaser I/O elemekkel a 3.2. ábra mutatja. Az ábrán látható erősítések értékét (különösen a inkremensek számát radiánba átváltó erősítésekét) a mérés során kell majd meghatározni. q 1,ref inverz szabályzó 1 pozícionáló + - feladat beavatkozó szerv 1 robot q 1 q 2,ref + - szabályzó 2 beavatkozó szerv 2 robot q 2 3.1. ábra. A pozíciószabályozási körök. 7

8 FEJEZET 3. A POZÍCIONÁLÓ SZABÁLYOZÁSI HUROK 3.2. ábra. A kétszabadságfokú kar I/O elemei Simulink diagramban

4. fejezet A fejlesztői környezet és a minta diagram A laboratóriumi gyakorlat során az oktatási és kutatási környezetben elterjedt Matlab-Simulink-Quanser (Quarc) rendszert használjuk a valós idejű implementációra. A Matlab alapverzióján (2012b) kívül használjuk a Simulink Coder-t és a Quarc valós idejű magot is, ezek megfelelő (egymással együttműködő) verziói a méréskor használt személyi számítógépen telepítve vannak. A hardver- és szoftverelemek együttesét gyors (szabályozó) prototípus tervező (rapid control prototyping) környezetnek nevezzük. A Quarc rendszer felhasználói útmutatója a web-en is elérhető. A gyors prototípus tervező eszközök hardver komponensei egyrészt a programok valós idejű futtatására képes célszámítógép, másrészt olyan I/O csatlakozási lehetőséget biztosító modulok, melyek segítségével a célszámítógép könnyedén csatlakoztatható a legkülönbözőbb folyamatok jeleihez (érzékelőkhöz és beavatkozó szervekhez). A összeköttetési lehetőségek sokszor az iparban használt buszrendszerekre történő csatlakozást is képesek megvalósítani (CAN, Profibus, FlexRay, RS232, stb.). A rendszer szoftver komponensei lehetővé teszik a jelátalakítási műveletek magas szintű (tipikusan diagram alapú) leírását és annak alapján az automatikus kódgenerálást. A generált kód valós időben végrehajtható a célszámítógépen. A jelátalakításnak megfelelő diagram szerkesztése és a kódgenerálás nem feltétlenül a célszámítógépen zajlik. A gyors prototípus tervező rendszer azt is lehetővé teszi, hogy a valós időben futó kód egyes paramétereit (tipikusan azokat, amelyek a jelátalakítást végző elemek viselkedését befolyásolják, például egy PID szabályozó T i időállandóját) újabb kódgenerálási lépés nélkül, futás közben változtassa a fejlesztő. Alapkövetelmény továbbá a legkülönbözőbb jelek és események rögzítése későbbi kiértékelés céljából. Mindezen elemek együttesen segítik a prototípus fejlesztési folyamat lerövidítését és így végső soron egy új termék piacra jutásához szükséges idő (time-to-market) kurtítását. A Quanser cég Q8-as kártyájának beépítésével és a Quarc valósidejű mag telepítésével egy hagyományos asztali PC számítógép válhat a fentiekben leírtaknak megfelelő célszámítógéppé. A valós idejű kódot a PC processzora futtaja a valós idejű mag ütemezésének megfelelően, a nem valós idejű Windows operációs rendszer pedig a háttérben fut csak. A Q8 kártya 8 tengely irányításához elegendő I/O-val rendelkezik. A Quarc szolgáltatásainak megfelelő blokkok beépülnek a Simulink blokk könyvtárába és ezeken a szolgáltatásokon keresztül érhető el a valós időben futó kód is. A Quarc lehetővé teszi, hogy a felhasználó a Matlab számára közvetlenül olvasható.mat állományba menthesse a számára érdekes jeleket, amelyeken így további feldolgozást lehet végezni. Ehhez egy egy speciális nyelő elemet kell alkalmazni: tohostpc A Simulink segítségével definiálhatjuk azokat a jelátalakítási műveleteket, amelyek a méréshez szükségesek. A Simulink szempontjából a Quanser Q8 kártya I/O bemenetei jelforrások, I/O kimenetei pedig nyelők, melyek egy külön Simulink elemkönyvtárban kaptak helyet a 4.1. ábra szerint. A Simulink felhasználói felületéről (QUARC menü) közvetlenül elérhetjük a Simulink Coder szolgáltatásait, amelyek a valós idejű kód generálását és futtatását teszik lehetővé. Csak olyan Simulink diagramból generálható kód, ahol az integrálás fix lépésközű. Célszerű az is, hogy a szimulálási idő végét megadó értéket végtelenre állítsuk (inf). Lehetőségünk van a diagramban Matlab függvényt is használni, amelyet a Simulink 9

10 FEJEZET 4. A FEJLESZTŐI KÖRNYEZET ÉS A MINTA DIAGRAM 4.1. ábra. A Quanser Q8 kártyához tartozó nyelők és források. 4.2. ábra. Matlab kódú függvény a diagramban.

11 4.3. ábra. Matlab függvény kódja a szerkesztő ablakban. 4.4. ábra. Simulink minta diagram az inverz geometriai feladat kódolásához. Simulink/User-Defined Functions könyvtárában találunk a 4.2. ábra szerint. A függvényben a valós idejű végrehajtáshoz tartozó követelményeket nem sértő kódot használhatunk, amelyet egy külön szerkesztővel hozhatunk létre (c.f. 4.3. ábra). A valós idejű végrehajtási követelményeket sértik többek között a dinamikus adatszerkezetek, a változó dimenziójú tömbök/mátrixok, illetve az iterációk használata. A méréshez rendelkezésre áll egy minta diagram (4.4. ábra). A külső bemenet egy gamepad (4.6. ábra), amelynek két bemenetével kívánjuk mozgatni x és y irányban a robotkar második szegmensének végpontját. A bementek érzékenységük és kis értékkészletük miatt nem közvetlen koordinátákat adnak meg, hanem az elmozdulás adott időegységre eső távolságát. Ezekből a bemenetekből egy Move in workspace and limit check függvény állítja elő a kívánt végpont pozíció vektorát és közben ellenőrzi azt is, hogy az a robotkar munkaterén belülre esik. A pozícióból az inverz geometriai feladat megoldását az Inverse geometry függvény állítja elő, amelynek kódolása szintén a mérési feladat része. A minta diagram másik része (4.5. ábra) mutatja a robot mozgatásának módját. A zárt körben a szabályzó a pályakövetés hibája alapján állítja elő a Tau1 és Tau2 jeleket. kódolása szintén a mérési feladat része.

12 FEJEZET 4. A FEJLESZTŐI KÖRNYEZET ÉS A MINTA DIAGRAM 4.5. ábra. Simulink minta diagram az robot meghajtásához. 4.6. ábra. Gamepad a mozgás irányításához a világkoordináta-rendszerben.

5. fejezet Ellenőrző kérdések, feladatok és mérési jegyzőkönyv 5.1. Ellenőrző kérdések A felsorolt kérdések segítségével ellenőrizheti előismereteit a mérés megkezdése előtt. Ezek a kérdések (kisebb változtatásokkal) szerepelhetnek a mérés elején írt beugróban is. 1. Definiálja egy robot szegmenseihez rögzített keretek közötti homogén transzformációs mátrixot! Mit értünk direkt és inverz geometriai feladat alatt? 2. Vázolja fel a kétszabadságfokú robotkar felépítését és a szegmensekhez rögzített keretek megválasztását! Adja meg a második szegmenshez rögzített keret origójának koordinátáit a K 0 keret bázisában. 3. Adja meg a pozíciószabályozási hurkok hatásvázlatát! 4. Sorolja fel a Quanser Q8 adatgyűjtő kártyára épülő gyors prototípus tervező rendszer harder és szoftver elemeit! Hogyan állítható elő a valós időben futtatható kód? Milyen korlátozások vonatkoznak a kódba befordítható Matlab függvényekre? 5.2. Mérési feladatok A mérés során az alábbi feladatokat kell elvégezni. 1. A szükséges geometriai paraméterek meghatározása nyomán implementálja és tesztelje Simulinkben a kétszabadságfokú robotkar inverz geometriai feladatát! 2. Implementálja a gamepad-tól érkező jelek feldolgozását végző függvényt, amely biztosítja azt is, hogy a kikért pozíció a robotkar munkaterén belül helyezkedjen el. 3. Határozza meg az motorok tengelyein mért inkremesek számát a szegmensek radiánban mért elfordulásába átszámító erősítések értékét! 4. Állítsa össze a pozíciószabályzási hurkokat! 5. Töltse le a Simulink modell alapján előálló kódot a Quarc valós idejű magra és tesztelje, dokumentálja a működést! 13

14 FEJEZET 5. ELLENŐRZŐ KÉRDÉSEK, FELADATOK ÉS MÉRÉSI JEGYZŐKÖNYV 5.3. Mérési jegyzőkönyv A mérési jegyzőkönyv címlapja tartalmazza 1. a mérés címét, 2. a mérést végző hallgatók neveit és Neptun kódját, továbbá a mérőcsoport számát, 3. a mérés dátumát. A jegyzőkönyv ismerteti a mérési feladatok megoldását dokumentálja azok implementálást és a mérési eredményeket, továbbá kitér az utóbbiak értékelésére is. A mérési jegyzőkönyvet az IIT tanszék Oktatási Portáljára (http://edu.iit.bme.hu) kell feltölteni a tárgy honlapján a "Hallgatói Publikációk" eszköz segítségével, vagy a mérésvezetőnek kell emailben elküldeni. A mérésre adott osztályzat a beugrók és a mérőcsoport által készített mérési jegyzőkönyv értékelése alapján születik.