Diplomamunka. Léptetőasztal alatt elhelyezett építőelemek felismerése és robotkarral történő manipulációja. Gelencsér Zsolt

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Diplomamunka. Léptetőasztal alatt elhelyezett építőelemek felismerése és robotkarral történő manipulációja. Gelencsér Zsolt"

Átírás

1 Diplomamunka Léptetőasztal alatt elhelyezett építőelemek felismerése és robotkarral történő manipulációja Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Műszaki informatika szak Gelencsér Zsolt Konzulens: Dr. Cserey György 2010

2 Nyilatkozat Alulírott Gelencsér Zsolt a Pázmány Péter Katolikus Egyetem Információs Technológiai Karának hallgatója kijelentem, hogy ezt a diplomatervet meg nem engedett segítség nélkül, saját magam készítettem, és a diplomamunkában csak a megadott forrásokat használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen a forrás megadásával megjelöltem. Ezt a Diplomamunkát más szakon még nem nyújtottam be. Budapest, május aláírás 2.

3 Tartalomjegyzék Tartalmi összefoglaló... 5 Abstract... 6 Feladatkiírás Ipari robotika Ipari robotika rövid története Objektummozgatás Manipulátor típusok Aktuátorok Effektorok, megfogó eszközök Feladat végrehajtás Szenzori és képi jelfeldolgozás Szenzori jelek feldolgozása Képi jelek feldolgozása Automatizált téglaházépítés Előzmények Probléma megoldást segítő cikkek és könyvek Felhasznált szoftverek Használt Hardverek PowerCube CAN-busz PowerCube tulajdonságai Munkatér Szenzorok A szoftver Léptetőasztal irányítása Webkamera kezelés Hálózati kommunikáció Hálózati szerver Léptetőasztal irányító kliens Kommunikációs protokoll Grafikus felhasználói felület Képfeldolgozó modul Automatizált algoritmusok Önálló építőelem keresés és felismerés

4 4.6.2 Kommunikáció a tervező programmal Objektum felismerés Építőelemek Keresési módszer Alaplépések Képfeldolgozási algoritmusok Munkatér feltérképezése Objektumosztályozás Értékelés, mérési eredmények Pixel milliméter átváltás Építőelemek megtalálása Egy felderítési eredmény Építőelemek osztályozása osztályozási eredmények Továbbfejlesztési lehetőségek Összefoglalás Köszönetnyilvánítás Irodalomjegyzék Ábrajegyzék Mellékletek

5 Tartalmi összefoglaló Az elektronikai eszközök használata mára szinte teljesen természetessé vált az élet minden területén. Ezek a berendezések gondolkozás nélkül hajtják végre az emberek konkrét utasításait. Az elmúlt években azonban kezdenek elterjedni a bonyolult döntési képességgel bíró, önállóan is munkavégzésre képes eszközök. Legelőször az iparban használt robotok lettek alkalmasak összetettebb feladatok teljesítésére, mivel ebben az esetben lehetett biztosítani az ideális körülményeket a műveletek elvégzéséhez. Napjainkban azonban a robotokat már nem csak ideális környezetben, a gyár falain belül szeretnék használni, hanem a környezeti hatásoknak kitett problémák megoldásához is. Ezek a gépek ugyan kevesebb művelet elvégzésére képesek, de bármilyen körülmények között végre tudják hajtani a feladatukat, mivel fejlett alkalmazkodó képességgel rendelkeznek. A téglából épített ház elkészítésének automatizálása során az ipari robotika által használt eszközöket és algoritmusokat tudjuk használni, de ezeknek tovább fejlesztett változataira van szükségünk, hogy a változó környezetben is megfelelő módon tudják megoldani a problémát. A fejlesztések elvégzésének egyik fontos feltétele az alapul vett ipari alkalmazások pontos ismerete. Ezért tanulmányoztam az iparban használt objektummozgatási módszereket és egy léptetőasztal (állványos felépítésű, három lineáris mozgássíkkal rendelkező robotkar) segítségével először kis méretekben foglalkoztam a téglaházépítés kihívásaival. Ezen összetett feladat megismeréséhez nem egyedül láttam neki, hanem kollégám, Hiba Antal segítségével. A tervezési feladatokat két részre osztottuk. Nekem jutott a léptetőasztalon elhelyezett robotkar vezérlésének megoldása és a rendelkezésre álló építőelemek felderítését végző algoritmus megtervezése és implementálása. 5.

6 Abstract Nowadays the usage of the electronics devices became natural on all areas of life. These equipments execute the instructions of the users without thinking. In the past years devices with complex decision ability and with capability of autonomous work started to be current. First industrial robots became suitable for executing more compound tasks, because in that case it was possible to guarantee an ideal environment for the accomplishment of the operations. Nowadays a robot is not only expected to operate when ideal conditions are given, inside the factory, but also outside, where it is exposed to environmental effects. These machines are capable of accomplishing less operation, but they can execute their task under extreme circumstances, since they have advanced adaptability. We can use the devices and algorithms of industrial robotics in the challenge of the automation of house-building of brick, but we need to advance them, to be able to solve problems in changing environment. It is an important requirement of upgrading, to be familiar the industrial applications. That is why I studied the industrial object moving, and I dealt with the challenges of the brick house-building in small size with the help of a plotterstage (stand build-up, tree linear motion planed robot arm). I didn t try to get acquainted with this complex challenge alone, but with my colleague, Antal Hiba. We divided the task into two parts. My task was to solve the control of the robot arm, and I had to design and implement an algorithm to explore the available construction elements. 6.

7 Feladat kiírás A feladatom az volt, hogy tanulmányozzam az ipari robotika objektum mozgatásával kapcsolatos területét, és megismerkedjem az ehhez kapcsolódó szenzori és képfeldolgozási feladatok lehetséges megoldásaival, majd ezeket felhasználva egy léptetőasztalt irányító szoftvert írjak, amely képes a rendelkezésre álló építőelemek építési terv szerinti elhelyezésére. Először egy a léptetőasztalt biztonságosan vezérelni tudó programot kellett írnom, amely segítségével mozgathattam a robotkart. A későbbiekben ezt tovább kellett fejlesztenem, hogy hálózati interfészen keresztül távoli gépről is irányítható legyen a manipulátor. Ezután terveznem kellett egy olyan objektum felismerő algoritmust, amely a beavatkozón található web kamera és távolságmérő-szenzor segítségével képes a léptetőasztal alatti terület felderítésére, az ott elhelyezett, megadott építőkészletből származó építőelemek számának, típusának és helyzetének feltérképezésére, és ezen adatok további feldolgozó rendszerek számára történő interfészelésére. Az implementált algoritmusomat kísérlettekkel kellett tesztelnem, melyben megvizsgáltam az objektum felismerés hatékonyságát változó fényviszonyok között és az eredményeket kiértékelnem. 7.

8 1. Ipari robotika Az ipari robotika az iparban használt automatizált berendezésekkel foglalkozó mérnöki tudomány. Az ipari robot egy olyan irányított mechatronikai struktúra vagy manipulátor, amely merev szegmensek sorozatából áll, melyeket összeillesztések kapcsolnak össze, előírt pályán mozognak és a pálya mentén vagy annak meghatározott pontjaiban előírt feladatokat látnak el végberendezéseik (effektor) segítségével. Működés szempontjából két nagy csoportra oszthatjuk az ipari termelésben használt, önálló munkavégzésre alkalmas eszközöket: ipari manipulátorok és ipari robotok. Ipari manipulátor Az ipari manipulátorok lényegében áthelyező, mozgató berendezések. Programjaik egyszerű, fix algoritmusok, a vezérlés egyetlen mozgásciklus végrehajtására alkalmas. A mozgások egymásutánisága merev program szerint fut le és mechanikus behatás nélkül nem változtatható meg. Az irányító program semmilyen visszajelzést nem kap a végzett munka sikerességéről, mivel nem rendelkezik érzékelőkkel. Ilyen irányítórendszerek a pneumatikus logikákkal megvalósított és a huzalozott relés logikára épülő vezérlések. Programozásuk tehát meglehetősen kényelmetlen. Csak statikus, erősen strukturált környezetben alkalmazható, ott ahol minden körülmény előre meghatározható, és az előre nem várható események valószínűsége nagyon kicsi. Ipari robotok Az ipari robotok szenzorjaik segítségével határozzák meg mozgásuk pályaelemeinek nagy részét. Pályavezérlésük magas szinten programozott, általában robosztus útvonaltervezéssel vannak ellátva. Mivel a munkafolyamat érzékelők segítségével folyamatosan nyomon követhető, ezért a hibakeresés és minőségellenőrzés is részben automatizálható, ezzel is gyorsítva a gyártást és növelve a termék megbízhatóságát. Jól alkalmazhatóak dinamikus ipari környezetben, ahol a körülményeket előre nem lehet meghatározni, illetve ahol a vizuális információk lényegesen befolyásolják az elvégezendő feladat megoldását. 1.1 Az ipari robotika rövid története Az ipari robotika egyidős magával a robotikával. A robotok készítésének fő célja a kezdetektől az volt, hogy az ember helyett elvégezze a munkát. Maga a robot szavunk is erre utal, ami a cseh robota (=munka) szóból származik. A legtöbb robot azért épül, hogy az ember 8.

9 számára veszélyes, nehéz, vagy monoton feladatokat elvégezze, bár a közelmúltban a kényelmi célokat kiszolgáló és kifejezetten szórakoztatási célokat ellátó robotok fejlesztése is elkezdődött. Az első ipari robotgyártó cég az amerikai, 1962-ben alapított Unimation volt, melynek fő vásárlói a General Motors autóműhelyei voltak. Felismerték, hogy a monoton munkák elvégzéséhez használt automatizált berendezések a drága építési és fenntartási költségek ellenére is gazdaságosabbak és nagyobb hatásfokúak, mint az emberi munkaerő. Az első időkben az ipari robotok nagyrészt csak terméktovábbító és szállító funkciókat láttak el, de folyamatosan egyre több ipari robotot kezdtek használni a futószalagos termeléshez kapcsolódó többi munkafázis elvégzésére is. Nagy ugrást jelentett ezen a téren az 1969-ben a Stanford Egyetemen megalkotott első hat tengelyes robotkar, ami képes volt a végpontját bármilyen pálya mentén vezérelni. Ezt követően vált lehetővé a pont- és ívhegesztés a futószalagokon. Bár a robotok építése az USA-ban kezdődött, az 1970-es években drasztikusan megszaporodó robotfejlesztésekkel foglalkozó vállalatok nagy része Japán székhellyel rendelkezett. Mára a világ 26 legnagyobb robotgyártással foglalkozó cége közül 15 japán érdekeltségű. 1.2 Objektummozgatás Az ember mindig is szeretett változatos környezetben élni. Ehhez szüksége volt a környezetében lévő tárgyak megmunkálására és áthelyezésére. Kezdetben csak a kézi erővel mozgatható dolgoknak a helyzetét lehetett megváltoztatni. Az ember fejlődése során egyre bonyolultabb eszközöket talált fel a tárgyak mozgatására. De ezek az eszközök igényelték az emberi irányítást. Az elmúlt évszázadban kezdtek el foglalkozni olyan berendezések fejlesztésével, amelyek már nem igényelték az emberi beavatkozást. A kezdeti tárgymozgató robotkarok szinte teljesen vakon dolgoztak: egy meghatározott fix pozícióban lévő tárgyat próbáltak áthelyezni egy másik pozícióba. Ha a kezdő helyzet nem volt megfelelő, vagy a szállítandó objektum nem felelt meg tökéletesen az előírásnak, akkor a robot nem volt képes a mozgatást végrehajtani, sőt még kárt is okozhatott a tárgyban, illetve saját magában. Ezek a gépek nem sokkal múlták felül egy futószalag tudását, csak kisebb helyet foglaltak, bonyolultabb útvonalat is be tudtak járni, és a tárgy orientációján is tudtak változtatni. A későbbiekben egyre többféle szenzorral szerelték fel ezeket a mozgató robotkarokat, így sokkal általánosabb objektummozgatás vált lehetővé: objektumdetektálás, osztályozás, megfogásipont meghatározása, útoptimalizálás, akadálykikerülés. 9.

10 1.2.1 Manipulátor típusok A robotkarok több, gyakran különböző hosszúságú és alakú szegmensekből tevődnek össze. Ezen tagok között csuklók helyezkednek el, amelyek lehetővé teszik a robotkar részeinek egymáshoz való elmozdulását. A csuklóknak két fő típusa van: transzlációs csukló (tengelymenti elmozdulást lehetővé tevő) és rotációs csukló (forgómozgás a szegmensek között). A szegmensek és csuklók megválasztása határozza meg a robotkar által elérhető munkatér nagyságát és alakját. Descartes manipulátor Három transzlációs ízület, egymásra kölcsönösen merőleges tengelyekkel. A mozgási fokok száma megegyezik a szabadsági fokok számával (x, y, z: Descarteskoordinátarendszer). A szerkezet merev, így az ügyessége nagyon kicsi, cserébe pontos pozicionálás érhető el a teljes munkatérben. Ha a robotkar felülről közelíti meg a munkadarabot, azaz állványos felépítésű, akkor a szerkezetnek nagy a teherbírása, ezért főleg anyagmozgatásra és összeszerelésre használják ezeket a típusokat. Hengeres manipulátor Kettő transzlációs és egy forgóízület. A mozgási fokok száma megegyezik a szabadsági fokok számával (r, θ, z: hengeres koordinátarendszer). Az előzőhöz hasonlóan ez is merev robotkar. A pontosság csökken, ha a forgástengelyétől távolodunk (r értéke növekszik). Főleg pozicionálásra használják ábra Két Descartes és egy hengeres manipulátor Gömbi manipulátor Egy transzlációs és két forgóízülettel rendelkezik. A mozgási fokok száma megegyezik a szabadsági fokok számával (r, θ, φ: gömbi koordinátarendszer). Kevésbé merev, de ebből következően bonyolult szerkezet. A pontosság csökken, ha a forgástengelyektől távolodunk (r értéke növekszik). 10.

11 SCARA manipulátor (SCARA = Selective Compliance Assembly Robot Arm) Egy transzlációs és két forgóízületet tartalmaz, az összes ízület mozgási tengelye párhuzamos. Nincs közvetlen összefüggés a mozgási fokok száma és a szabadsági fokok száma között. Függőleges teherbírása jó és oldalra könnyen mozog. A pozíció pontossága csökken, ha távolodunk az első, tartóízület tengelyétől. Általában kisebb tárgyak mozgatására használják. Antropomorf manipulátor Három forgóízülete van, ahol az első ízület mozgási tengelye merőleges a másik két egymással párhuzamos mozgási tengelyre. Az emberi karhoz legjobban ez a robotkar típus hasonlít. A pozícionálás pontossága változó a munkatéren belül, de az összes robotkar közül ez a legmozgékonyabb, így széleskörűen használják az ipari robotikában ábra Gömbi, SCARA és Antropomorf manipulátor Aktuátorok A manipulátorok szegmenseinek egymáshoz viszonyított elmozdulását aktuátorok segítségével érjük el. Amennyiben a robotkart az emberi kar analógiája alapján szeretnénk felírni, akkor a manipulátor tagjai megfelelnek az emberi kar csontjainak, míg az aktuátorok az emberi izomrendszer megfelelői. Ezeknek a mozgatásért felelős eszközöknek a megválasztását nagyban befolyásolja a robotkar felhasználási célja. Ha nagy, és nehéz tárgyakat akarunk mozgatni, akkor erős, nagy forgatónyomatékú motorokat használunk, amelyeknek a pontossága másodlagos szempontú, míg ha kisebb elemek precíz elhelyezése a feladat, akkor inkább pontosan vezérelhető motorokat használunk. A szegmensek mozgatásához használt motorok kiválasztásán kívül nagyon fontos az aktuátorok megfelelő vezérlése is. A robotkar egyetlen motorjának meghibásodása illetve nem megfelelő vezérlése a leálláson túl súlyos kárt is okozhat magában a robotkarban, vagy a környezetében, ezért alaposan fel kell mérni a felhasznált mozgató berendezés korlátait, és 11.

12 megfelelő szabályozó rendszerek és programok segítségével meg kell akadályoznunk a határok túllépését. A motorok meghajtása többféle módon lehetséges. Ennek meghatározása a megoldandó feladat függvénye, de adott manipulátor esetén általában csak egy féle erőforrást használnak, így csökkentve a robotkaron elhelyezett irányítást lehetővé tevő eszközök számát, melyek akadályozhatják a robotkart a szabad mozgásban, illetve megnövelik annak méretét és súlyát, ezzel is csökkentve a manipulátor hatásfokát. Az aktuátorok legfontosabb típusai: Elektronikus A motorok erőforrása váltó- vagy egyenáram. Működése az elektromágneses indukción alapszik. Megfelelően elhelyezett mágnesek és forgó tekercsek elektromos áramot hoznak létre (generátor). Ennek a folyamatnak a megfordításából kapjuk a villanymotorokat, azaz az elektromos áram mechanikai forgó mozgást hoz létre. Az elektromos motorok könnyen és pontosan vezérelhetőek a rajtuk átfolyó áram erősségének szabályozásával. Általában maga a motor nagy fordulatszámú és kis nyomatékkal rendelkezik, de áttételek segítségével elérhető a szükséges nyomaték. Pneumatikus A pneumatikus aktuátorokat sűrített levegő segítségével működtetjük, ami a nyomáskülönbségből adódó mozgást használja. Az ilyen aktuátor mozgási sebessége nem egyenletes, pozicionálása nehézkes, ezért általában csak végállapotok közötti gyors mozgás esetén hatékony. Hátránya a bonyolult szerkezet, mert szükség van sűrített levegőt előállító berendezésre és szivárgásmentes, tartós csővezetékre, aminek esetleges sérülése esetén az aktuátor nem lesz üzemképes. Hidraulikus A hidraulikus elven működő aktuátorok a folyadékok összenyomhatatlanságát használják ki. Hasonlít a pneumatikus működésű berendezésekhez, de itt az összenyomható levegő helyett magas nyomású, nem összenyomható folyadékot használnak. Nagyon erős és pontos mozgást tesz lehetővé, de a mozgás sebessége messze elmarad a többi mozgatási módszertől. Ezenkívül a pneumatikus eszközökhöz hasonlóan bonyolult felépítésűek, és a nagy nyomású folyadékot tartalmazó vezetékek sérülékenyek. 12.

13 1.2.3 Effektorok, megfogó eszközök A manipulátor egyik legfontosabb része a végén található effektor. Hiába tudjuk a robotkarunkat a megfelelő pozícióba mozgatni, ha az ott elvégezendő műveletet nem tudjuk végrehajtani. A művelet végrehajtó eszközök sokfélék lehetnek: fogókar, ponthegesztő, festékszóró pisztoly, vágóberendezés, csiszoló, vagy egyéb szerszám. Az objektum mozgatási feladatokhoz a robotkar végén egy megfogó eszközre van szükségünk. Ezen berendezések és mozgatandó tárgy kapcsolata alakkal, erővel, tapadással, vagy ezek kombinációjával biztosítható. A fogókar kiválasztását nagyrészt a mozgatandó tárgyak mérete, alakja, súlya és sokfélesége határozza meg. Amennyiben a robotkarunkat nehéz, raklapozott árunk arrébb helyezésére szeretnénk használni, akkor célszerű egyszerű, de stabil és erős fogószerkezetet választani. Amennyiben a fő szempont a mozgatandó tárgyak sokféleségének megoldása, abban az esetben érdemes az emberi kézhez hasonló, ujjszerű robotkézben gondolkodni. A fogókarokon kívül használnak még szívóhatáson alapuló eszközöket. Ezek általában elektromágneses módon, vagy vákuum segítségével emelik meg a kívánt tárgyat. A vákuumot használó effektorokat olyan helyen alkalmazzák, ahol a célobjektum rendelkezik akkora sima felülettel, hogy a megemeléshez szükséges tapadókorongok elférjenek rajta. Legtöbbször fémlemezek és üveg tárgyak mozgatásához használják. Az elektromágnessel működő effektorok csak vastartalmú tárgyak esetén használhatóak Feladat végrehajtás A robotkarokat kinematikai láncnak tekintjük, amely egymás után szerelt, csuklóval összekötött, merev darabokból álló, mozgásra képes szerkezet. A lánc egyik vége a végpont, ami stabilan rögzítve van, és nem képes elmozdulni. A lánc másik végén található a végberendezés, amivel a megadott feladatot szeretnénk végrehajtani. Beszélhetünk nyílt kinematikai láncról, ahol a lánc két végpontját csak egy szegmens sorozat köti össze, és zárt kinematikai láncról, ahol a manipulátor tagjai hurkot alkotnak. Az utóbbi felépítést általában nagyobb terhelés esetén alkalmazzák ábra Kinematikai láncok 13.

14 Robotkarok esetén a feladat végrehajtása a végszerszám előírt mozgásmintázatának elérését jeleneti. Ennek megvalósítása érekében a manipulátor aktuátorait a hozzá tartozó szabályzó rendszer irányítja. Ezen vezérlő rendszereknek egy belső, dinamikus modellre van szükségük, hogy feladatukat végre tudják hajtani. Kinematikának hívjuk 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ását. Azaz a kinematika teremt kapcsolatot a műveleti tér (végpont által felvehető pozíciók és orientációk tere) és a csuklótér (a manipulátor csuklói által felvehető állapotok tere) között. Általában az egyik térbeli reprezentációt ismerjük, és a feladatunk az, hogy kiszámítsuk a másik térbeli helyzetét. Ezeket a hívjuk kinematikai problémának. Ezeknek a feladatoknak két típusa van: Direkt kinematikai probléma A direkt kinematikai probléma esetén a feladatunk egy szisztematikus, általános módszer megadása a lineárisalgebra eszközei segítségével a végszerszám mozgásának leírására a csuklómozgások függvényében. Azaz ismerjük a csuklók kezdeti helyzetét és állapotváltozásuk függvényét, és ebből kell kiszámítanunk a végberendezés pozíciójának mozgás görbéjét és orientációjának függvényét. Amennyiben a robotkar statikus értékeit (szegmensek hossza, csukló tengelyek egymáshoz való viszonya) ismerjük, abban az esetben ez a számolás egyértelműen elvégezhető. Ahol p adja meg a végberendezés pozícióját, Φ pedig az orientációját, k() egy általában nem lineáris vektor-vektor függvény, és q 1 q n a csuklóváltozók vektorai. Inverz kinematikai probléma Az inverz kinematikai probléma esetén a feladat a kívánt végszerszám mozgás pályájához szükséges csuklómozgások kiszámítása. Azaz tudjuk a végberendezésünk szükséges mozgásának függvényét, és ehhez keressük azon csukló állapotokat, amelyek esetén ez létre jön. Mivel a valóságban a robotkar szerkezete miatt nem minden csukló állapot érhető el, ezért az is előfordulhat, hogy a feladatnak egyáltalán nincs megoldása. Amennyiben a manipulátor kinematikailag redundáns, azaz a lehetséges mozgás szabadságfoka nagyobb, mint a megvalósítandó feladathoz szükséges független változók száma, akkor az inverz kinematikai feladatnak nem létezik egyértelmű megoldása. Ilyen esetben a megoldások közül egy adott szempontból minimális megoldást keresünk. Leggyakrabban minimalizált tulajdonságok: energia, szükséges csuklóforgás, idő, csuklómozgás simasága (gyorsulás időszerinti deriváltja). 14.

15 1.3 Szenzori és képi jelfeldolgozás Az automatizált objektummozgatáshoz nem csak egy jól vezérelt manipulátorra van szükségünk, hanem egy érzékelőkből álló rendszerre is, mely segítségével megtalálhatjuk és felismerhetjük az áthelyezésre váró tárgyat. A szenzori jelek feldolgozása ezen kívül a biztonságos üzemeltetést is elősegíti, hisz detektálhatja a nem várt eseményeket, illetve ellenőrizheti az elvégzett művelet sikerességét, ami feltétele egy robosztus rendszernek Szenzori jelek feldolgozása Az objektummozgatáshoz használt robotkarokon általában háromféle feladatot ellátó érzékelőt találhatunk: állapotérzékelők, amelyek mérik a csuklók aktuális helyzetét, távolságmérők, amelyek a manipulátor környezetét pásztázzák objektumokat és akadályokat keresve, és tapintásérzékelők, amelyek segítenek az objektum ideális megfogási erejének beállításában. Az ízületek aktuális szögét elfordulásdetektorok segítségével mérjük, mely lehet optikai vagy mechanikai alapú is. A távolság mérésére több, különböző paraméterekkel rendelkező, különböző módszeren alapuló eszköz is a rendelkezésünkre áll: ultrahangot, infrafényt vagy lézert használó érzékelő. A tapintásérzékelők a fogókar és a mozgatandó objektum között fellépő erőt mérik kapacitív, piezzorezisztív vagy optikai módszerrel. Szenzor kiválasztása A szenzor kiválasztásánál több tényezőt kell figyelembe vennünk. Először is úgy kell választanunk a lehetséges szenzorok közül, hogy a lehetséges mérési adatok a szenzor mérési tartományába essenek, és a szükséges pontossággal tudják meghatározni a mérendő mennyiséget. Például ütközésdetekcióra nem érdemes lézeres távolságmérőt használni, mert a mérete miatt nehezen helyezhető el a robotkaron, és úgy sem használjuk a nagy pontosságát és a széles mérési tartományát. Ehelyett, egyszerű, kisméretű, kis hatótávolságú infraszenzorból alkalmazunk többet a manipulátoron. Ezek tápellátása és jelfeldolgozása sokkal egyszerűbb, és bőven ellátják azon feladatukat, hogy észleljék, hogy egy tárgyhoz közeledik a robotkar. Ebben az esetben nem akarjuk pontosan tudni, milyen messze van a felmerült akadály, elég ha azt tudjuk, hogy ütközésveszély lépett fel, és meg kell állnunk. Amennyiben objektumkeresési és felismerési feladathoz használjuk a távolságmérő szenzorunkat, akkor az észlelendő objektumok méreteit figyelembe véve érdemes meggondolni, hogy egy nagyobb pontosságú távolságmérő berendezést is üzembe helyezünk a robotkaron. Ennek az eszköznek a mérései kiegészíthetik az objektumról készült képi információt, és ezzel pontosíthatja az osztályozást. 15.

16 1.3.2 Képi jelek feldolgozása A robotkaron illetve környékén elhelyezett kamerák képe adja az objektumkereséshez a fő információt. A képeket elemezve a manipulátor környéke modellezhető az irányítórendszer számára, így könnyen kiszámíthatja a feladat elvégzéséhez szükséges mozdulatsorokat. A képek feldolgozásakor több nehézségbe ütközhetünk, amelyek megoldása a rendszer kiegészítése révén számos esetben megkönnyíthető. A legtöbbször előforduló ipari robotkarokkal kapcsolatos képfeldolgozási kihívások: Dimenzió csökkenés A minket körülvevő világ, így a megtalálandó tárgyunk is háromdimenziós. A kamerák által készített kép viszont ennek a térnek a kétdimenziós leképezése. Ez azt jelenti, hogy ebből adódóan a kép készítésekor kevesebb információhoz jutunk, nem leszünk tisztában a képen szereplő tárgyak egymáshoz viszonyított pontos elhelyezkedésével. Amennyiben az előírt feladat modellezéséhez elegendő egy kétdimenziós térreprezentáció, abban az esetben ez nem okoz problémát, ha viszont bonyolultabb a feladatunk, akkor szükséges a kapott információk kibővítése. Erre több megoldás is lehetséges: több stabil kamera alkalmazása, vagy egy mozgó kamera több szögből készített felvétele, esetleg nem optikai szenzorok használata a mélységi információink kinyeréséhez. Fényviszonyok A robotkarokon lévő kamerák a méret megkötések miatt nem rendelkeznek bonyolult és nagyméretű optikával, így nem képesek a vizsgálandó tárgyra fókuszálni. Ez elmosódott képet eredményezhet. Ipari környezetben nagyjából behatárolhatjuk azt a távolságtartományt, amilyen távolságba lehet a keresett objektum, és olyan beállításokat használunk, ami ezen keretek között a lehető legjobb eredményt éri el. A kis optikával rendelkező kamerák esetén általában nem tudjuk változtatni a kamerába jutó fény mennyiségét, így nem vagyunk képesek reagálni a környezetben történt fényváltozásokra. Ezek a változások azonban nagyban nehezíthetik az objektumkeresést és objektumfelismerést. Sötét vagy túl világos képen a kontrasztok elmosódnak, így nehezebb megállapítani a tárgyak valós helyzetét és alakját. Ezenkívül, amennyiben a tárgyak színe is fontos, a nem állandó fényerősség szinte lehetetlenné teszi a pontos színfelismerést, így ha hasonló színű objektumokat kell megkülönböztetnünk egymástól, akkor megnő a hiba lehetősége. Ipari környezetben ez a probléma megoldható, ha zárt térben, mesterséges megvilágítást használunk, így a fényerősség is állandó paraméterré válik. 16.

17 1.4. Automatizált téglaház-építés Manapság rengeteg felhasználási területe van a robotoknak, a legtöbb gyárat szinte már teljesen automatizálták. Felmerül a kérdés, miért ne lehetne például téglaházakat építeni robotok segítségével. Az automatizált berendezések ilyen célú felhasználásánál sok kihívással kell szembenéznünk, melyek közül néhányra kitérnék. Bonyolultság A gyártási automatizálás gyors terjedése abban rejlik, hogy a legtöbb gyártási folyamat önálló részekre bontható, amelyek külön-külön elvégezhetőek, és a végén a részek összeszerelhetőek. Az épületek felépítése azonban nem bontható fel ilyen módon, mert ebben az esetben a műveleteknek szigorú egymásutánisága van. Nincs lehetőségünk előre dolgozni. Például nem kezdhetjük el a falak építését, amíg az alap nincs kész. Méret A házépítés automatizálásának egyik nehézsége az épületek méretében van. Míg egy gyárban, a futószalagon maximum gépkocsi méretű termékeket készítenek, addig nincs szükség nagy gépekre a mozgatásához és a szereléséhez. Ellenben egy többszintes ház felépítéséhez jóval nagyobb berendezésekre van szükség. Ezeknek a nagyobb méret miatt masszívabbaknak kell lenniük, hogy a robotkar a saját súlyát is elbírja, így azonban a pontosságuk csökken. Viszont egy ház felépítésénél a pontosság is nagyon fontos, mivel ha a téglafalnak csak pár eleme sincs rendesen a helyén, az az egész falat meggyengíti. Környezet Épületek készítése esetén az ipari robotika anyagmozgatási és gyártási folyamatait vesszük alapul, mivel sok mindenben megegyeznek a szükséges alapműveletek. Egy gyár falain belül azonban a változó környezeti hatások számát könnyen csökkenthetjük, ugyanezt egy ház építésénél csak nehezen vagy egyáltalán nem tudjuk megoldani. Például az üzem falai megóvják a gyártósort az időjárás viszonytagságaitól. A kültéri építkezésen azonban az időjárást nem tudjuk kizárni, csak alkalmazkodni hozzá, például vízállóvá tett eszközökkel, és építésifelület-tisztító berendezésekkel. Az automatizált építő rendszerünknek így nem csak az építést kell irányítania, hanem az időjárás viszonylatában átszerveznie a teendőket, mivel egyes műveletek nem végezhetőek el például esőben. 17.

18 2. Előzmények 2.1 Probléma megoldást segítő cikkek és könyvek Robotok optikai bemenetének típusai [1] Megismerkedtem a gyártósori robotok leggyakrabban használt optikai input feldolgozási módszereivel. Ezeknél a gépeknél néha elég 2 dimenziós kép is a feladat elvégzéséhez, de precízebb műveletekhez már 3D-s képfeldolgozás szükséges, melyet több, megfelelő szögben elhelyezett kamerával lehet megoldani. Az egy kamerás megoldás hatékonysága növelhető távolságmérő szenzorok segítségével, illetve mozgatható kamera használatával. Háromdimenziós neurális hálós objektum felismerés [2] Az objektum felismerési módszer lényege, hogy a tárgyról több képet készítünk, megadott távolságról és szögben. A képek egy 5 rétegű előrecsatolt neurálishálózat (FFNN) bemenetét adják, ami egy objektum adatbázis segítségével eldönti, hogy melyik tárgyról készültek a képek. Az objektum adatbázis feltöltéséhez megfelelő számú tanítás, vagy jól definiált tulajdonság halmaz szükséges. Digitális képfeldolgozás [3] A könyv megismertet minket a digitális képfeldolgozás alapjaival: képábrázolási technikák, fotometria és kolorimetria. Ezenkívül bepillantást nyújt a digitális képjellemzés lehetőségeibe: mintavételezés és kvantálás. Megismerhetjük a diszkrét lineáris képfeldolgozás eszközeit: szuperpozíció, konvolúció, unitér transzformáció és Fourier transzformáció. A könyv második részében képmanipulációs és feldolgozó algoritmusokat ismerhetünk meg, többek között: kép minőség javító technikák (zajszűrés, hisztogrammódosítás, élsimítás, színkiegyensúlyozás), morfológiai képfeldolgozási eszközök (vékonyítás, szkeletonizáció, dilatáció, erózió), élkereső és textúra felismerő algoritmusok. A könyv befejező részében elsajátíthatjuk a mintaillesztéses objektumfelismerés alapjait. 18.

19 2.2 Felhasznált szoftverek Programmers guide for PowerCube [4] Az Amtec Robotics GmbH programozókat segítő hivatalos dokumentációja, amiben részletesen leírja a PowerCube programozásának hardveres és szoftveres követelményeit, illetve tartalmazza a kapott interfész (m5apiw32.h) specifikációját és teljes leírását. A léptető asztal irányítófelületének programozása előtt érdemes volt áttanulmányozni és megérteni a PowerCube-ok viselkedésmechanizmusát. PCube.h Az egyetem Robotika tantárgy labormérésein használt header fájl segítségével nem csak egyesével lehet a PowerCube-okat irányítani, hanem egy összesítőobjektum függvényeinek a segítségével összetett utasításokat elvégzésére is van lehetőség. Az inicializáló függvényében lévő beállítások segítségével megakadályozható, hogy az asztalt túlvezéreljük, azaz ne kaphassanak a PowerCube-ok meghibásodáshoz vezető árammennyiséget, illetve ne terheljük túl a tápegységet sem. Ezenkívül ellenőrizhető, ha nem létező azonosítóval rendelkező PowerCube-nak akarunk utasítást adni. OpenCV Az OpenCV (Open Source Computer Vision) egy gépi vizuális adatfeldolgozást segítő programkönyvtár. A programcsomag rengeteg hasznos webkamerakezelő, képfeldolgozó és egyéb videómanipuláló metódust tartalmaz, de a szoftverfejlesztés során közvetlenül csak a kamerakezelő eszköztár került felhasználásra. Microsoft Visual Studio 2005 Az irányító szoftver fejlesztésére a Visual Studio 2005 fejlesztőkörnyezet került kiválasztva, mivel az adott operációs rendszeren a Visual C++ fordítóhoz volt optimalizálva a kapott interfész. A Visual Studio könnyen használható, jól dokumentált program könyvtárral rendelkezik, melyek megkönnyítették a program grafikus felhasználói felületének elkészítését. ServerInfo.cpp A távolságmérő szenzorok adatainak lekérését végrehajtó osztály, melyet a mérőtársam készített a szenzorok kiméréséhez és ellenőrzéséhez. 19.

20 3. Használt hardverek 3.1. ábra: Hardverstruktúra A fenti ábrán (3.1. ábra) láthatjuk a léptetőasztal hardverjeit, és azok egymáshoz kapcsolódásához használt protokollokat. 3.1 PowerCube CAN-Busz A CAN (= Controller Area Network) egy busz topológiájú kommunikációs protokoll, melyet arra fejlesztettek ki, hogy az autókban lévő mikrokontrollerek és berendezések egymás közötti adatcseréjét és tápellátását egyszerűen, egy kábel segítségével meg lehessen oldani. Használata elterjedt más területeken is, mert alkalmazása egyszerű és gyors ábra: A CAN-Busz felépítése 20.

21 A léptető asztal PowerCube-jai CAN open protokollnak megfelelően vannak sorba kötve. A kiadott utasítás tartalmazza a cél azonosítószámát, így a többi PowerCube a nem neki szánt parancsot tovább küldi a buszon. Az üzenet addig adódik tovább, amíg el nem éri a célját. A CAN-kábel 3 különböző csatlakozót tartalmaz, melyeknek külön-külön meg van a maga feladata. A felső csatlakozó az adatkábel, az alsó kettő pedig a PowerCube-ok ellátáshoz szükséges 24V-os tápfeszültség ellátásáért felelős ábra: PowerCube-ok fajtái: lineáris, forgó, fogó PowerCube tulajdonságai Az asztal aktuátorait PowerCube-ok alkotják. Ezt a berendezést az Amtec Robotics GmbH fejleszti és gyártja. Ezen eszközöknek több fajtája létezik, de jelenleg az asztalban három típus van beépítve: három darab lineáris, egy forgó és egy fogó. A PowerCube egy szénkefe nélküli szervomotorral és egy integrált szervo erősítővel rendelkezik, így a belőle épített robotkarok megfelelő erővel rendelkeznek. A különféle áttételek segítenek a feladat elvégzéséhez megfelelő sebesség és nyomaték eléréséhez. A berendezés mágneses fékeket tartalmaz, amelyek segítségével nagy sebesség esetén is gyorsan megállíthatóak. A viszonylag erős és gyors motorok ellenére az eszköz 10µm pontossággal irányítható. A PowerCube-ok decentralizált hálózat (Can-busz) segítségével vezérelhetők, így szoftveresen kell összehangolni működésüket, de ez lehetőséget is ad arra, hogy külön-külön irányítsuk őket. Ezt segíti elő a blokkszerű felépítés, ami megkönnyíti az össze- és szétszerelést. A vezérlést könnyítése érdekében az eszköz belsejében végállás kapcsolók, és pozíció szenzorok helyezkednek el, amelyek segítségével mindig ismerik a helyzetüket. Továbbá folyamatosan információt küldenek az áramfelvételről, sebességükről és gyorsulásukról, ezzel is megkönnyítve a szabályozásukat. Minden egyes PowerCube rendelkezik egy egyedi azonosítóval, melynek segítségével tudunk utasításokat küldeni neki. Tartalmaz belső változókat is, melyeknek egyes elemeit 21.

22 használat előtt hardveresen be kell állítani (pl.: maximum kitérés, Home-pozíció), más részei használat közben, szoftveresen is beállíthatóak. (pl.: maximális áramfelvétel, maximális sebesség, maximális gyorsulás) Munkatér A munkatér a környezet azon része, melyet a manipulátor segítségével elérhetünk. A léptetőasztalunk esetében ez egy téglatest által behatárolt terület, mivel három, páronként merőleges transzlációs csuklót tartalmaz. Ez a tér Descartes-féle koordinátákkal könnyen reprezentálható. Minden koordináta értéknek megfeleltethető az adott egyenes mentén mozgató PowerCube aktuális helyzete, így a környezet és a robot azonos koordináta rendszerbe helyezhető. A léptetőasztal Home pozíciója határozza meg a tér origóját, amely az esetünkben a jobb, hátsó, felső sarok. Ezzel a reprezentációval dolgozva minden koordináta értéke pozitív törtszámmal felírható és adott zárt intervallumon meghatározható. Esetünkben ezek a határok: X koordináta esetén [0,122], Y koordináta esetén [0,147] és Z koordináta esetén [0, 29], melyek a fizikai felépítésből adódnak ábra A léptetőasztal munkatere A végpontban az aktuátor megfelelő rotációjáról a negyedik, forgató PowerCube gondoskodik, amely 360 -ban képes a Z tengely mentén körbefordulni. Mivel a mozgatandó építőelemek az X-Y síkkal párhuzamosan helyezkednek el, ezért a léptető asztal szabadsági foka elegendő ahhoz, hogy bármilyen lehetséges helyzetben lévő elemet manipulálhasson. 22.

23 3.2 Szenzorok Webkamera A webkamera típusa: Fujitsu Siemens WebCam 130 Portable A kamera egy kisméretű, 1,3 Megapixel felbontású, laptopokhoz gyártott külső kamera, amely mérete miatt könnyen rögzíthető a robotkaron. Az eszköz USB porton keresztül csatlakozik a szervergéphez (Plug&Play módon), így telepítést és specifikus drivert nem igényel. Ennek köszönhetően hiba vagy fejlesztés esetén a kamera könnyen cserélhető. Mivel ezt a webkamerát számítógépekhez tervezték, ezért nem tartalmaz bonyolult optikát, de ez nem okoz problémát, mivel közelről készítünk vele felvételeket (maximum fél méter). A berendezés 640x480-as felbontású képeket készít, melyeken a fehér háttérnek köszönhetően jól elkülöníthetőek a színes építőelemek. A képek tárolása PNG fájl formátumban történik, ugyan ez pixelenként tárol, mint a BMP, de azzal ellentétben tömöríti is az adatokat, ami ugyan nem olyan hatékony, mint JPEG esetén, viszont teljesen veszteségmentes, így nem mosódnak el a kontrasztok és nem jelennek meg az egyszínű felületek esetén a képen vonalak. Távolságmérő szenzor A szenzor típusa: SHARP GP2D120X Az eszköz egy 3-25 cm intervallumban pontos infraszenzor. A szenzor szórt fényt kiszűrő rendszerrel rendelkezik, így kimenete elhanyagolható mértékben függ a mért tárgy színétől és anyagától, így segítheti az építőelemek felismerését. Mivel az építő elemek vastagsága a kamera képéből nem minden esetben határozható meg, ezért ilyenkor további információkra is szükség van. Legtöbbször a képfeldolgozás eredménye és a távolságmérő szenzor adatai elegendőek az objektum osztályozásához. Ütközésérzékelő szenzor A szenzor típusa: TCRT5000 Az eszköz egy 2-40 mm méréstartományban mérő infraszenzor. Mivel az ütközés detekciónál a feladtunk csak annyi, hogy észrevegyük a közeledő tárgyat és nem szükséges a pontos távolság meghatározása, ezért elegendő egy rövid távú, egyszerű szenzor használata. 23.

24 4. A szoftver A feladatom egy olyan program megtervezése és implementálása volt, amely képes a léptetőasztal alatt elhelyezett építőelemekből egy másik programtól kapott tervek alapján egy építési tervet végrehajtani. Ehhez a programnak több részfeladatot kell elvégeznie és több különböző eszközzel kell kommunikálnia, amelyek között meg kell teremtenie a felhasználó által könnyen ellenőrizhető kapcsolatot. 4.1 Léptetőasztal irányítása A legfontosabb feladat a léptetőasztal irányításáért felelős programrész elkészítése volt. Mivel a szoftver ezen része felelős a robotkar közvetlen irányításáért, e nélkül az építőelemek mozgatása lehetetlen lenne. Ezen funkció ellátásárért egy több típusból álló osztályhierarchia felelős, melynek felépítése az alább ábrán látható. (4.1 ábra) 4.1. ábra Irányításért felelős osztályok kapcsolata Az m5apiw32.dll fájlban található programkönyvtár a léptetőasztal PowerCube-jainak közvetlen irányítását teszi lehetővé. Minden egyes utasítás meghívásához a feladathoz szükséges paramétereken kívül egy PowerCube azonosítószámot is meg kell adni, mivel ez az általános vezérlő interfész nem tárol információkat a CAN-buszon található eszközökről, így minden szükséges adatot függvényhívás segítségével tudunk elérni. A kiadott utasításaink mindegyike rendelkezik egy visszatérési értékkel, amiből megtudhatjuk, hogy elérkezett-e a vezérlőüzenet a megfelelő aktuátorhoz. A PCube és PlotterStage osztályok az előző programkönyvtár metódusai segítségével létrehoznak egy olyan típust, ami már tárolja a PowerCube-ok azonosítóit és megakadályozza, hogy érvénytelen utasításokat küldjünk a robotkar elemenek, ezáltal egyszerűbb és biztonságosabb vezérlést tesz lehetővé. Metódusaik azonban még mindig elemi szintűnek tekinthetőek. A Robot osztály tartalmazza az irányítás összetett műveletit. Azon kívül, hogy képes összehangolni a különböző aktuátorokat egy bonyolultabb mozgás elvégzéséhez, biztosítja a léptetőasztal hibamentes működését is. A mozgást végrehajtó metódusok a létrehozott objektumon kívülről nem hívhatóak, csak egy jól meghatározott interfészen keresztül lehet az irányítást elvégezni. Ezáltal már szoftver szinten is ellenőrizhetőek a végre nem hajtható 24.

25 utasítások, ugyanis rendelkezik a példány a robotkar pontos fizikai határaival. Amennyiben a felhasználó megpróbálja túlvezérelni a léptetőasztal bármely elemét, a program úgy adja tovább a parancsot, hogy csak a fizikai korlátig mozgassa az eszközt. Erről a felhasználó nem kap külön értesítést, csak az állapot kijelzőkön láthatja, hogy a léptetőasztal előbb állt meg. A vezérlőobjektum minden egyes kiadott parancsát egy logfájlba menti, így utólag is ellenőrizhetjük a robotkarnak kiadott utasításokat. 4.2 Webkamera kezelése A webkamera kezeléséért a WebCam osztály példánya felelős, és a legfontosabb kezelő utasításokat tartalmazza: kamera elindítása, leállítása, és a látott kép lekérése. Ez utóbbi funkciót ellátó metódusból két különbözőt hívhatunk meg. Az egyik fajta az OpenCV által használt, sorfolytonosan tárolt kép adására alkalmas, így ezt a folyamatos megjelenítés esetén alkalmazzuk. Mivel adott képpont elérése ebben az esetben nehezebb, ezért nem ezt használjuk a képfeldolgozási algoritmusban. A másik fajta a Visual Stúdió által használt System névtér bitképével tér vissza. Ez a képtárolási mód megkönnyíti a pixelek elérését, ezért a kép elemzése egyszerűbbé válik. Mivel a bitkép a fordítási környezet alapvető eleme, így más programrészek is könnyen hozzáférnek. (például: megjelenítés, mentés, betöltés) Miután a kamerát elindítjuk, a szoftver lefoglalja magának az erőforrást, így más külső program nem férhet hozzá. Ezáltal biztosak lehetünk abban, hogy egy külső program nem változtat a kamera beállításain. Ha program automatizált futása közben már nincs szükség az eszközre illetve a felhasználó manuálisan leállítja a kamerát, a berendezést felszabadítja a szoftver. A program tervezett, vagy hiba miatt történő leállása esetén is megtörténik a feloldás. 4.3 Hálózati kommunikáció A hálózati kommunikáció megvalósítása szerver-kliens architektúrával történik, a es porton keresztül. Az üzenetek küldése TCP-t (Transmission Control Protocol) használó socketeken keresztül történik. A TCP használatának előnye, hogy alacsony szinten már megtörténik az érkezett adatok ellenőrzése, így a programban nem kell azzal foglalkozni, hogy történt-e hiba az üzenet átküldése közben, hanem jogosan feltételezzük, hogy amilyen karakter láncot küldünk, az fog a túlsó oldalon megérkezni. 25.

26 4.3.1 Hálózati szerver A hálózaton történő üzenetek küldéséért a Server nevű osztály példánya felelős: képes a hálózati kapcsolat megnyitására, üzenetek fogadására és továbbítására. A szerverhez mindig csak egy szoftver tud csatlakozni, ezáltal biztosítva a konzekvens működést. Amennyiben foglalt a szerver és egy másik program akar csatlakozni hozzá, akkor nem fogadja annak kérését, csak abban az esetben, ha az aktuális kliens már távozott. A szerver indítására csak akkor van lehetőség, ha a léptetőasztallal már létrejött a kapcsolat. A csatlakozó kliens így tudja, hogyha sikeresen tud csatlakozni a szerverhez, akkor a robotkar kész az utasítások fogadására. Így ez nem igényel külön párbeszédet a kapcsolat két végpontja között. Amennyiben a robotkar inicializációja sikeres volt, a program megnyitja a es portot, és ezek után folyamatosan figyeli, mikor csatlakozik egy kliens hozzá. A kapcsolódás után a kliens és a szerver között felépül az adatfolyam (stream). Ez után a szerver várakozik a kliens üzeneteire. Ha kap egy üzenetet, azt elemzés nélkül tovább adja a léptetőasztalt irányító alprogramnak (Robot osztály). Ez az alprogram ellenőrzi a parancs helyességét és végrehajthatóságát és amennyiben lehetséges, végrehajtja az utasítást és a választ visszaadja a hálózati kommunikációért felelős alprogramnak (Connection osztály), ami visszaküldi a választ a hálózati adatfolyamon keresztül a kliensnek. Ezután várja a következő utasítást a szerver. Ez a folyamat addig folytatódik, ameddig le nem állítják a szervert, vagy a kliens le nem kapcsolódik. Amennyiben a kliens távozott, a szerver visszatér várakozó állapotba és várja egy új kliens jövetelét. A szerver ilyen módú felépítése nem teszi lehetővé, hogy a szerver bármikor üzenetet küldhessen a kliens számára, csak válaszol a kliens utasításaira. Viszont különleges események (léptetőasztal ütközés elkerülés miatt megáll) esetén a szervernek is üzennie kell a kliensnek. Ezt akkor tudjuk megtenni, mikor a kliens bizonyos időközönként lekéri a léptetőasztal aktuális helyzetét. Amennyiben hiba történt futás közben, akkor nem a kért információval válaszolunk a kliensnek, hanem az üzenetben jelezzük a hibát. 4.2 ábra A szerver működése 26.

27 4.3.2 Léptetőasztal irányító kliens A kliensprogram egy külső, külön futatható program, amely segítségével hálózaton keresztül tudunk kapcsolatba lépni a léptetőasztalt iránytó programmal. A kommunikációért a Connection osztály példánya felel, ami nagyon hasonló felépítésű és működésű, mint a szerverprogram hasonló feladatot ellátó egyede. Grafikus felhasználói felület A távoli léptetőasztal-irányító szoftver kezelőfelülete a szerverhez való csatlakozást és az alapvető irányítást lehetővé tevő gombokat tartalmazza. A csatlakozáshoz először a felhasználónak meg kell adnia a szerver ip címét. Ezt a négyes osztásnak megfelelően négy különálló szöveges beviteli mező segítségével tehetjük meg. Miután megadtuk a címet, a v feliratú gomb segítségével ellenőriztethetjük, hogy szabványos ip címet adtunk-e meg. (egyik tag sem nagyobb 255-nél) Ez az ellenőrzés minden esetben le fog futni, ha megpróbálunk csatlakozni, de így sokkal hamarabb értesülünk az esetleges hibás beírásról ábra Kliens grafikus felülete A connect gomb segítségével tudjuk a megadott című szerverre megkísérelni a csatlakozást. Amennyiben sikerül, abban az esetben engedélyezi a program az irányításhoz szükséges kezelőfelület használatát és várja a felhasználó utasításait, közben folyamatosan frissítve a léptetőasztal aktuátorainak aktuális állapotát. A hálózati kapcsolatot a disconnect feliratú gomb segítségével szakíthatjuk meg. A működés közben fellépő eseményekről és hibákról a program felugró üzenetablak segítségével tájékoztatja a kezelőt. Működés A kliensprogram a felhasználó utasítása után megpróbál rácsatlakozni az adott helyen található szerverre. Amennyiben ez nem sikerül, akkor értesíti a felhasználót, majd fut tovább, lehetőséget adva egy újbóli csatlakozási kísérletre, vagy az ip cím megváltoztatására. Amennyiben sikerült kapcsolatba lépnie a szerverrel, várakozni kezd a felhasználó utasításaira, mivel csak abban az esetben lehetett sikeres a kapcsolta felépítése, amikor a 27.

28 léptető asztal már készen áll a munkára. A felhasználó gombnyomásainak hatására a kliens parancsokat küld a szervernek, majd ezek után vár a válaszra és kis idő után újra várja a felhasználó utasításait. Ezen válaszokban a szerver tudja értesíteni a klienst az esetlegesen fellépett hibákról. A szervertől való visszajelzésre az adott időközönként történő lekérdezéskor van még lehetőség, amikor a léptetőasztal eleminek pontos helyzetről kér információt a kliensprogram. Ezt meg is jeleníti a kijelzőn, de ezekben a válaszokban van lehetősége a szervernek a működésközben fellépő hibákról is tájékoztatatni a klienst. A kliens leállításakor egy utolsó üzenetben értesíti a szervert, hogy lekapcsolódik, ezután bontják a kapcsolatot ábra Kliens működése Kommunikációs protokoll Karakterkódolási probléma A szerver és a kliens a protokollban meghatározott karakterláncok segítségével kommunikálnak egymással. A TCP socketek által használt adatfolyamban csak Byte (8bites szám) típusú adatok küldhetőek. Emiatt a küldés előtt az üzeneteket Byte tömbbé kell átalakítani, fogadás után pedig visszaalakítani karakterlánccá. Ez a folyamat akkor okoz komolyabb problémát, ha két különböző program által írt socket kommunikál egymással, mert ekkor ügyelni kell arra, hogy azonos karakter reprezentációt használjanak (ASCII). Amennyiben összetettebb karakterlánc ábrázolással rendelkeznek (például Visual Studio System::String), akkor figyelni kell az esetleges különböző láthatatlan karakterekre, például egy karakterlánc-végejel. Ez olyan problémát okozhat, hogy a visszaalakítás után nem tudjuk, van-e ilyen jel, és ha van, milyen karakter lehet, mert nem ismerjük a másik oldal reprezentációját. Ennek a hibalehetőségnek a kiküszöbölésére minden üzenet végére egy saját üzenet-végejel kerül ($), és visszaalakításkor mindig levágjuk az utolsó karakter. Így, ha $ jel van az üzenet végén, tudjuk, hogy azt nem kell figyelembe venni, viszont biztos nem veszik el hasznos információ a kommunikáció alatt. 28.

29 Üzenetek felépítése A hálózati kommunikáció során használt üzenetek első két karaktere azonosítja a parancsot. Ezután bizonyos utasítások esetén egy #-vel elválasztva áll a paraméter, ami 6 karakteren kerül ábrázolásra. Típus parancs paraméter jelentés Mozgatás M[id] van Mozgatás pozitív irányba a paraméterben meghatározott mértékben W[id] van Mozgatás negatív irányba a paraméterben meghatározott mértékben H[id] nincs Home pozícióba küldés S[id] nincs Az adott PowerCube azonnali leállítása S9 nincs Az összes PowerCube leállítása Információ lekérés G[id] nincs Az adott PowerCube aktuális helyzetének lekérése A0 van Minden rendben válasz, ha információ küldése is szükséges OK nincs Általános minden rendben válasz Válasz VA nincs Válasz, ha a parancs helyes, de nem végrehajtható ER nincs Válasz hiba vagy hibás parancs Hálózati kommunikáció HE nincs Kliens és Szerver kezdő üzenete kapcsolódáskor EX nincs Kliens jelzése, hogy lekapcsolódik Az [id] egy 0 és 4 közötti szám, ami egy-egy PowerCube azonosítója 4.4 Grafikus felhasználói felület A felhasználóval való kommunikációt a Form1 osztály oldja meg: figyeli a grafikus felületen történt eseményeket és azok hatására meghívja a szükséges alprogramokat. Ezen részprogramok ennek az osztálynak a grafikus objektumai segítségével, illetve fájlba való mentésével tudnak visszajelezni. 29.

30 4.5. ábra A szerver grafikus felülete A felhasználói felületet funkciója szerint hét külön álló részre oszthatjuk fel, melyek panelek használatával összefogják az irányításhoz szükséges grafikus elemeket (gomb, szövegmező). A panelek segítségével a későbbiekben a vezérlő felületek helyzete könnyen megváltoztatható lesz, illetve a határvonaluk egyértelműen eldönti, melyik vezérlőszerkezet melyik funkcionalitás csoporthoz tartozik. A felhasználói felület készítésekor ügyeltem arra, hogy mindig csak az adott állapotban értelmezhető vezérlőgombok legyenek aktívak, például ne kérhessük a programot fénykép készítésére addig, amíg nem kapcsoltuk be a kamerát. Képmegjelenítés A megjelenített ablak legnagyobb területét a 640x480 as felbontású képmegjelenítő doboz adja. Ennek a segítségével tudjuk az aktuálisan vizsgált munkatér területét a felhasználó számára is láthatóvá tenni, illetve lehetőséget ad a képfeldolgozás eredményének megtekintésére. 30.

31 Önálló feladat végrehajtás A képmegjelenítő doboz alatt helyezkedik el az automatizált működést elindító és kezelő gombok. Ezen menüpontok nem lesznek aktívak egészen addig, amíg a léptetőasztalt és a webkamerát nem sikerült inicializálnunk. Itt van lehetőségünk a Save Picture feliratú gomb segítségével képfájlba menteni az éppen aktuálisan megjelenített képet. A fájl neve a mellette található szövegdoboz segítségével változtatható. A másik három gomb segítségével indíthatjuk el az önállóan lefutó algoritmusokat: objektumkeresés indítása(auto Scan), objektumosztályozás indítása (Auto Detect), tervező programmal kommunikáló hálózati kapcsolat elindítása(send). Mivel ezek a műveletek csak ilyen sorrendben hajthatóak végre, ezért ezek közül mindig csak egy aktív. Demo lefuttatása Az automatizált feladatok vezérlését végző felületrész alatt találjuk a képfeldolgozó programrész működésének szemléltetését lehetővé tevő utasításokat. A listadobozból kiválasztott, majd betöltött (Load Picture) kép megjelenik a képkijelzőn és lehetőségünk van ezen lefutatni az objektumkereső (Scan) és az objektumosztályozó (Detect) algoritmusokat. Ezek lépésről lépésre kirajzolják az algoritmus egyes lépéseinek eredményét. A következő lépést mindig a Next Step gomb segítségével tudjuk elindítani. Ezen műveletek akkor is végrehajthatóak, ha sem a léptetőasztal, sem a kamera nincs még bekapcsolva. Inicializálás A jobb oldali vezérlő panelek közül a legfelső felelős a léptetőasztal elindításáért. A gomb megnyomásának hatására a szoftver megpróbálja felvenni a CAN-porton keresztül a kapcsolatot a léptetőasztal aktuátoraival. Amennyiben sikerült, akkor következő lépésben a robotkaron elhelyezett szenzorokat irányító microchippel alakít ki kommunikációs csatornát. Amennyiben ez is sikeres, a kezelő felületen az összes irányításért felelős gomb aktív lesz. Ha csak a szenzorok élesítése volt sikertelen, akkor a léptetőasztal csökkentett módban fut, azaz a legtöbb feladat elvégezhető rajta, viszont figyelmeztet, hogy az ütközésdetekció nem aktív, így kevésbé biztonságos a használata, illetve a felismerhető építőelemek száma csökken. Szerverirányítás A léptetőasztalt vezérlő szerver irányítófelülete jobb oldalt, közvetlenül az inicializáció alatt helyezkedik el. Itt van lehetőségünk elindítani (Start) illetve leállítani (Stop) a robotkar távvezérlését. A hálózati kommunikáción alapuló irányítás alatt nincs lehetőségünk a szerveroldali irányítófelület használatára, ezzel biztosítva a konzisztens működést. A szerver 31.

32 állapotát indítás után folyamatosan követhetjük a felső kijelzőn, így tudhatjuk, van-e csatlakozott kliens, vagy nincs. Az alsó kijelzőn láthatjuk a klienstől kapott utolsó irányítóparancs kódját. Webkamera irányítása A hálózati kapcsolat vezérlésért felelős modul alatt találjuk a webkamera kezelését irányító panelt. Ezen a felületen lehetőségünk van a kamerát elindítani (Start) illetve ha már nincs rá szükség, akkor leállítani (Stop). Amennyiben aktív a kameránk, akkor készíthetünk egy pillanatfelvételt (Capture), és ez a kép megjelenik a képmegjelenítő dobozban. Lehetőségünk van a kamerától folyamatos képet is kérni. Ez a kép egy külön ablakban jelenik meg, ezáltal teljesen párhuzamos tud futni a vezérlőszoftverrel, és nem okoz semmilyen szinkronizációs problémát. Léptetőasztal irányítása A jobboldali kezelő felületek közül a legalsó és a legnagyobb a léptetőasztal manuális irányításáért és aktuális állapotának kijelzéséért felelős. A legelső listadobozból választhatjuk ki a mozgatás pontosságát, azaz mekkora mértékben szeretnénk elmozdítani az adott PowerCube-ot. A nyilakkal jelzett gombok megnyomásának hatására a robotkar irányításáért felelős programrészlet kap a hálózati protokollnak megfelelő parancsot. A betűket tartalmazó vezérlők az aktuátorokat visszaküldik a Home pozíciójukba. A felhasználónak lehetősége van a teljes léptetőasztal leállítására (Stop) amennyiben ezt szükségesnek látja. A felület alján találhatóak a robotkar aktuális állapotát jelző indikátorok. A szövegmezőkben a helyzetüket láthatjuk, míg a jelölő mezők arról tájékoztatnak minket, hogy az adott aktuátor mozgásban van-e, vagy áll. 4.5 Képfeldolgozó modul A webkamera által készített képek feldolgozásáért és elemzéséért az ObjectSearcher osztály egy példánya felelős. Ez a program részlet végzi el a későbbikben részletesen leírt képfeldolgozási algoritmusokat és számolja ki az objektumok pontos helyzetét. Ezen feladatokat az osztály által tartalmazott, kívülről nem meghívható függvények segítségével oldja meg. A nyilvános metódusai csak ezeket a függvényeket hívják meg a megfelelő sorrendben és a megfelelő paraméterekkel. A feldolgozás közben több értékre is szükségünk van, amit a program egy konfigurációs fájlból olvas be, így könnyen módosíthatóak ezek az adatok. Ezek konstans értékek a 32.

33 léptetőasztal felépítéséből következnek, például a kamera és fogókar egymáshoz viszonyított helyzete, illetve a munkaterület pontos helye és mérete. Ez a szoftverrész nem csak feldolgozza az adatokat, hanem tárolja is a megtalált építőelemek helyzetét és tulajdonságait, így nincs szükség ehhez külön modulra. Mivel ezeket az adatokat csak a képfeldolgozás hatására lehet változtatni, ezért nincs szükség az adatok kívülről való közvetlen módosítására. 4.6 Automatizált algoritmusok Önálló építőelem keresés és felismerés Az automatizált műveletek végrehajtásához szükségünk van a léptetőasztal-irányító, a webkamera-kezelő és a képfeldolgozó programrész összehangolt működéséhez. Ezek az objektumok nem tudnak kölcsönösen egymásról, ezért kell használnunk egy ezeket vezérlő és egységesítő szoftvermodult. A program főosztálya (form1) tartalmazza az összes objektumot, mégis létrehoztam egy teljesen új osztályt a feladat végrehajtására. Ezzel elértem, hogy az objektum-orientált programozás szemléletéhez közelálló program keletkezzen, azaz minden feladatot ellátó programrész egyértelműen elhatárolódjon, és csak a meghatározott interfészeken keresztül kommunikáljon egymással Kommunikáció a tervező programmal Miután a programunk alkalmas önállóan megtalálni a rendelkezésre álló építőelemeket, és képes biztonságosan irányítani a robotkart, már csak le kell kérdeznie a szükséges építési tervet egy külső, háromdimenziós tervezőprogramtól. Mivel a tervezőprogram nincs beleépítve a szoftverbe, ezért szükségük van a két program összekapcsolására. Ennek megoldása két módon lehetséges: offline, azaz fájl írás-olvasás segítségével, illetve online, közvetlen hálózati kapcsolattal. Offline mód esetén nincs szükség arra, hogy a két gép között közvetlen kapcsolatot építsük ki. Ebben ez esetben a fájlt manuálisan kell átvinni a gépek között, ami önmagában nem okoz nagy problémát. A gondot az okozza, hogy amíg a tervező dolgozik, nem szabad, hogy a munkaterületen bármi változás történjen, mert akkor a kapott terv nem lesz végrehajtható. Online kapcsolat esetén, a hiba valószínűsége sokkal kisebb, mivel azonnal megjelenik a feltérképezés eredménye, és a tervezés után egyből megkapja a szoftver az építési tervet. 33.

34 Az építőelemek tulajdonságainak átvitele a hálózaton karakterláncok segítségével történik. Minden karakterlánc egy-egy építőelemet reprezentál a következő módon: 9 számot tartalmaz üres hellyel elválasztva: [ID] [BT] [S] [X] [Y] [Z] [R] [O] [C] ahol: ID: Az építőelem egyedi azonosítója BT: Az építőelem alaptípusa: (téglatest, kocka, henger, tető, hídelem) S: Az építőelem mérete (kis, közepes, nagy) X: Az építőelem X koordinátája Y: Az építőelem Y koordinátája Z: Az építőelem Z koordinátája R: Az építőelem helyzete a vízszinteshez képest O: Az építő elem orientáltsága (melyik lapján fekszik) C: Az építőelem színe A tervezőtől kapott építési tervben ugyanezek a sorok szerepelnek, csak a végéhez kapcsolódik még négy darab szám, ami a terv alapján az új pozíciót határozza meg: [ID] [BT] [S] [X] [Y] [Z] [R] [O] [C] [nx] [ny] [nz] [nr] nx: Az új X pozíció ny: Az új Y pozíció nz: Az új Z pozíció nr: Az új rotáció érték 34.

35 5. Objektum felismerés 5.1 Építőelemek Az építőelem készlet fából készült, különböző alakú és színű építőkockákból áll. Előforduló színek: piros, sárga, kék és zöld. Az alak és a szín között nincs kapcsolat, így bármilyen kombinációjú elem megjelenésére számítani kell a keresés során ábra Az építőelemek lehetséges formái 5.2 Keresési módszer Az építési feladat legelső lépése az, hogy felmérjük, milyen építőelemek állnak rendelkezésre az aktuális építéshez és ezeknek meghatározzuk a pontos helyzetét. Mivel statikus, iparihoz hasonló környezetben dolgozunk, ezért vannak feltételezéseink a keresendő objektumokról: A munkaterületen található tárgyak mindegyike a megadott építőelem készletből kerül ki és ezeken kívül más tárgy vagy akadály nem található a munkatérben. A szükséges objektumok nem lógnak ki a munkaterületről Az építőkockák nincsenek egymáson, hanem egymás mellett helyezkednek el, legalább akkora távolságban, hogy a manipulátor által megfoghatóak legyenek. A munkaterület megvilágítása elégséges ahhoz, hogy a színek megkülönböztethetőek legyenek. Az építőelemek helyzete a művelet során csak a robotkar hatására változhat meg, más mozgató hatás nem lép fel A keresés fő lépései Az objektumok keresésének két fő lépése van. Először az egész munkateret feltérképezzük, és meghatározzuk az objektumok körülbelüli helyét. Ehhez a munkaterületet egyenlő méretű területrészekre bontjuk és mindegyik ilyen részről készítünk egy fényképet. A terület méretét úgy határozzuk meg, hogy 35.

36 mindenképp beleférjen egy képbe. Ezeken a fotókon megkeressük a lehetséges építőelemeket és durván megbecsüljük a helyzetüket. Az összes kép feldolgozása után megnézzük a talált objektumokat, és kiszűrjük a képek átfedése miatt többszörösen látott elemeket. A képeken az objektumok pontos felismerése nem lehetséges, mivel az építő elemek színe nem teljesen homogén, ezért nagyon nehéz eldönteni, meddig ér az építőelem teteje és mennyire látjuk az oldalát. Miután a lehetséges elemek helyét nagyjából ismerjük, elkezdődik a felismerés második fázisa. Minden egyes elem fölé pozícionáljuk a robotkar kameráját és függőleges helyzetből készítünk róla egy képet. Ezen a képen már pontosan meghatározhatóak az építőelem tulajdonságai. Mivel néhány különböző elem felülről nézve ugyanolyan formát mutat, ezért ezek pontos azonosításához a távolságmérő szenzort is használjuk. Ezen adatokból már biztosan tudjuk osztályozni ez elemeket. 5.3 Alaplépések Világosítás A világosítás során a kép fényerejét növeljük. Ennek több különböző formája lehet: lehet részleges, azaz a kép csak bizonyos részét világosítjuk ki, a többit változatlanul hagyjuk, vagy lehet teljes, azaz az egész képet ugyanazon világosítási függvénnyel változtatjuk. A színváltoztatás lehet konstans, azaz minden színt ugyanakkora mértékben módosítjuk, vagy lehet az aktuális világosságának valamilyen függvénye. Jelen képfeldolgozási esetekben ez utóbbit fogjuk alkalmazni, olyan módon, hogy a szín minden komponensének értékét 10%-kal növeljük. Így a sötét részek kevésbé, a világos részek nagyobb mértékben fognak változni. Ez jelentősen megnöveli a sötét-világos tárgyhatárok kontrasztját, így megkönnyíti a világos háttér előtti színes objektumok felismerését. Munkaterület kivágása A léptetőasztal alatt egy fehér téglalap alakú terület határozza meg a munkaterületet. Erre azért volt szükség, mert a léptetőasztal alatta lévő, famintás felület nagyon megnehezítette volna az objektum körvonalainak felismerését, mivel függőleges csíkos és nem homogén. A fehér lap azonban erős kontrasztot biztosít a színes építőelemeknek. A munkaterület azonban nem fedi le teljesen a léptetőasztal alapját, így a szélén készült felvételeken láthatóvá válik a famintázat. Ezeket a területeket könnyű levágni, mert biztos, hogy a kép szélén helyezkednek el, és biztos, hogy a fehér határvonalnál van végük. Ezért a levágáshoz egy rekurzív algoritmust használ a szoftver. Minden sarokból pontonként elindul és ha nem fehér, akkor fehérré teszi a pontot. Ezután átlép azokra a szomszédos pixelekre, 36.

37 ahol még nem járt. Ezt addig végzi, amíg mindenhol fehér pontra nem fut. Mivel a munkaterület oldalai párhuzamosak a kép széleivel, ezért ez a módszer biztos, hogy minden famintázatú részt kitöröl. Viszont annak is meg van a veszélye, hogy a kép szélén túllógó objektumot is kitörli. Erre majd a felismerési algoritmusokban figyelni kell. Színtelenítés A legtöbb és leghatékonyabb képfeldolgozási módszerek szürkeárnyalatos képekre vannak kidolgozva, ezért érdemes a felvételünket színteleníteni. Ha a művelet előtt eltároljuk az objektumaink színét, akkor ez a művelete nem okoz információ veszteséget. Mivel igazából két fontos dolgot akarunk megkülönböztetni: építőelemek és háttér, ezért a fotókat binarizálhatjuk is, azaz az objektumokat tartalmazó képpontok feketék lesznek, a háttér pedig fehér. Objektumok detektálása A bináris képünkön fehér alapon fekete objektumok maradtak. Ezeket el kell különítenünk egymástól és mindegyikről meg kell becsülnünk a körülbelüli helyzetüket a további számoláshoz. Ez a probléma megegyezik a sziget keresési probléma módosított változatával, ahol egy képen összefüggő szigeteket keresünk. Ezen feladat megoldására az egyik lehetőség az, ha sorfolytonosan haladunk a képen, és ha egy objektum elemet találunk (fekete pont), akkor egy számot rendelünk hozzá, és egy rekurzív eljárással az összes ehhez kapcsolódó pontnak is ezt az értéket adjuk, és közben ezeket a pontokat átszínezzük, hogy tudjuk, már megtaláltuk őket. Ezután tovább folyik a fekete pontok keresése, addig, amíg a kezdő sarokkal átellenes sarokba nem érünk. Végeredményben az azonos számmal jelzett pontok tartoznak egy építőelemhez, így ezután könnyen tudjuk tovább folytatni az elemzést. 5.4 Képfeldolgozási algoritmus Munkaterület feltérképezése A munkaterület feltérképezésének célja a lehetséges objektumok helyének meghatározása. Mivel a cél, hogy minden objektumot megtaláljunk, ezért a képfeldolgozási algoritmus határértékei engedékenyebbek, hogy biztosan észrevegyen minden elemet. Inkább minden lehetségest megtaláljon, minthogy egy is kimaradjon. Ezt a célt szolgálja az átfedő képek készítése is. 37.

38 A fotó elkészülése után lefutattunk egy konstans világosító eljárást, ezáltal a fehér munkaterület és az építőelemek, valamint a fafelület kontrasztja erősödni fog, ezzel pontosabbá téve az ezután következő műveleteket. A világosítás után levágjuk a képről az esetlegesen belátszódó fafelületet, mivel ez a rész csak nehezítené a későbbi elemzést. Ezután biztosan tudjuk, hogy ami a fehérhez közelálló szín, az a munkaterület, ami nem az építőelem. Így már egy egyszerű határvonal felállítása után könnyű binarizálni a képet. A bináris képen meghatározzuk, minden egyes fekete pixelről, hogy melyik objektumhoz tartozik. Ezután a lehetséges építőelemhez tartozó képpontok koordinátáit súlyozás nélkül átlagoljuk, ezzel megkapjuk a középpontjának körülbelüli helyét. Amennyiben egy objektumnak egy bizonyos számnál kevesebb pontja van, az vagy egy hiba eredménye vagy egy építőelem részlete, ami nem fért bele a képbe. Mindkét esetben ez a jelölt elhagyható a lehetséges objektumok halmazából. Ugyanúgy hibára utal, ha a munkaterületen kívül talál az algoritmus lehetséges építőelemet. A munkaterület feltérképezése után, mikor az összes kép feldolgozásra került, végig nézzük a talált objektumokat tároló adatszerkezetet, és ugyanazon építőelem többszöri megtalálását kiszűrjük. Mivel az elemek nem lehetnek tetszőleges közel egymáshoz, így ha két jelölt középpontja egy bizonyos távolságnál kisebb, akkor ugyanarról az objektumról van szó és csak egyiket kell figyelembe vennünk. A jelöltek megtalálásakor megjelöljük azokat az elemeket, amelyeket a kép szélén találtunk, így mikor dönteni kell, hogy melyik jelölt maradjon, akkor azt fogjuk választani, amelyik nincs megjelölve ábra A munkaterület feltérképezésének algoritmusa Objektumosztályozás Az objektum pontos osztályozásához használt képfeldolgozási algoritmus sokban hasonlít a feltérképezéskor használtra. Ugyanúgy a képvilágosítása után levágjuk a fölösleges, munkaterületről kilógó részeket és a maradékot binarizáljuk. Ezután azonban egészen más szempontból vizsgáljuk a képet. Mivel tudjuk, hogy a meghatározandó objektum a kép közepén helyezkedik el, ezért egyedül ezt tartjuk meg, a többi fekete pontból álló alakzatot eltüntetjük. Az objektum keresése hasonlóan működik, mint az összes építőelemet felderítő algoritmus esetén, csak itt egyedül a kép közepét vizsgáljuk, és ha egy tárgyat találtunk, akkor megállunk. Ennek a keresése közben megjegyezzük a legszélső pontok koordinátáit, ezáltal megkapva annak a 38.

39 legkisebb téglalapnak az oldalait, amiben benne van a talált objektum. Az osztályozáshoz szükséges adatok meghatározásához már csak ezen a téglalapon kell a metódusainkat lefutatni ábra Az objektumok osztályozása Az építő elem pontos meghatározásához a következő adatokat kell kiszámolnunk: Pozíció Az építőelem pontos helyzetének meghatározásához kihasználjuk azt, hogy már korábbi műveleteinkből ismerjük az objektum körüli téglalap adatait. Ennek a síkidomnak a középpontja megegyezik az építőelem középpontjával, így az oldalak helyzetének átlaga megadja a képi koordinátákban adott középpontot. (5.4. ábra) 5.4. ábra Sikerült meghatároznunk az objektum középpontját a képen. Most ki kell számolnunk, hogy ez hol helyezkedik el a munkaterületen, hogy tovább tudjunk dolgozni vele. Mivel ismerjük a léptetőasztal pontos helyzetének koordinátáit a kép készítésekor, tudjuk a kamera és a fogókar (azaz a manipulátor) közötti eltolás mértékét, és mivel mindig ugyan olyan magasságban készítjük a képeket, ezért ismerjük a képpixel milliméter átváltás mértékét is. Ezekből az adatokból ki tudjuk számítani a robotkar koordinátarendszerbeli koordinátáit, figyelembe véve, hogy a képen az origó a bal felső sarokban van, míg a léptetőasztalon a jobb felső sarokban. Az átszámítási képletek a következők: Ahol: (x pixel ;y pixel ) Az objektum középpontjának képkoordinátája pixelben (X, Y) Az objektum munkatérbeli helyzetének koordinátája (X WebCam ;Y WebCam ) A kamera és fogókar középpontjának különbség vektora (X pic ;Y pic ) A kép készülésének koordinátája C mm/pixel Átváltási érték pixel és mm között Rotáció A rotáció, azaz a vízszintessel bezárt szög kiszámításához szükségünk van a téglalap csúcsainak meghatározásához. Mivel ismerjük a körülíró téglalapot, ezért ahol az érintkezik az objektummal, ott van a csúcspont. Viszont ha közel párhuzamosan áll az építőelem az építési terület szélével, akkor több érintkezési pontja is lehet. Ekkor kevés pont esetén a középső pont, sok pont esetén a legszélső pont határozza meg legjobban a csúcspontot. 39.

40 A csúcspontok meghatározása után tangens függvény segítségével kiszámíthatjuk az elfordulás szögét: Ahol: Φ rot A és B tan2() Az elfordultság mértéke Két szomszédos csúcs Módosított tangens függvény Szín Az építőelem színének meghatározása még a képbinarizálás előtt megtörténik. A kép közepén lévő 20x20 pixeles téglalapban átlagoljuk a nem fehér pixelek színkomponenseit. Az így kapott színt klasszifikálja a lehetséges 4 színre. Ezzel a módszerrel nagypontossággal meghatározható az építőelem színe: megfelelő megvilágítás esetén egyértelműen el tudjuk dönteni, milyen színű. Típus Az építő elem típusának meghatározásához a felismert objektum oldal hosszait, területét és szükség esetén a magasságát használjuk. A detektálás több lépésben történik: Először kiszámítjuk az alakzatunk becsült területét. Ezt a fekete pixelek számával tudjuk megoldani. A pixelek számát megszorozzuk a C mm/pixel konstans négyzetével, így megkapjuk az alakzatunk becsült területét mm 2 -ben. Ezután megnézzük, hogy különleges alakzatot látunk-e és ha igen, akkor a kiszámolt terület meghatározza, hogy kör, vagy háromszög. Ebben az esetben nem kell tovább vizsgálni az alakzatot, mivel a nem téglalap felszínű építőelemeknek csak egy féle alakja lehet. Téglalap esetén meghatározzuk a csúcspontokat. A szomszédos csúcspontok távolságából meghatározzuk a téglalap négy oldalát. Az egymással szemben lévő oldalak átlagának segítségével kiszámítjuk, milyen méretű téglalapot vizsgálunk. A két oldalhossz meghatározása után megtudhatjuk a terület pontosabb értékét (T = a * b), amely megkönnyíti az osztályozást. Abban az esetben, ha ehhez az alakhoz több féle magasság is tartozhat, abban az esetben a távolságmérő segítségével meghatározzuk az objektumunk magasságát. Ezen értékek már elegendőek ahhoz, hogy egyértelműen felismerjük az építőelemünket. 40.

41 6. Értékelés, mérési eredmények 6.1 Pixel milliméter átváltás Ahhoz, hogy a fénykép feldolgozása után a megszerzett információkat a léptetőasztal koordináta rendszerébe tudjuk konvertálni, szükséges a C mm/pixel konstans meghatározása. Ehhez előzetes méréséket kell végezünk, melyekből meghatározzuk az értékét. A mérés során a kamera magassága nem változik, mindig alaphelyzetében lesz, így a számolt érték ehhez a magassághoz fog tartozni. Más magasságok esetén ebből az értékből könnyen meghatározhatjuk az aktuális arányszámot ábra Kalibrációs ábra A méréshez egy kalibrációs képet használunk, melyen különböző hosszú és különböző területű alakzatok találhatóak (6.1. ábra). A síkidomok hasonlítanak mint méretben, mint alakban a várható építőelemekhez. Mivel ezek méreteit ismerjük milliméterben, ezért ha a készült fotó segítségével kiszámoljuk őket pixelben is, akkor abból könnyen megkapjuk az arányossági tényezőt: A négyzetnél, a téglalapnál és a körnél a síkidom területét számítottuk ki pixelben, többféle szögbe fordítva a lapot. A számolt értékek az alábbi táblázatban láthatóak: Valódi méret Számolt méret Számolt méret Alakzat (mm 2 ) (pixel) szórása (pixel) négyzet ,5558 C mm/pixel téglalap ,5563 kör ,

42 A hat darab párhuzamos téglalapnál a hosszukat számoltuk ki pixelben, egyszer függőleges, egyszer vízszintes elhelyezkedés esetén. A kapott értékek a következőek: Vonal száma Vonal hossza (mm) Számolt 1 (pixel) Számolt 2 (pixel) , , , , , ,5578 C mm/pixel Mérések eredménye A területmérés esetén, ahol a nagyobb méretek miatt csökkent a kvantálás (pixelek létrehozás) okozta hiba, a C mm/pixel számolt értéke közelítőleg 0,556 értéket vett fel. A hosszúság számolása esetén ennél nagyobb értékeket kaptunk, de az is megfigyelhető, hogy minél hosszabb alakzatot vettünk, annál inkább közelített a területszámolással meghatározott értékhez, ezért ezzel fogunk számolni. Az építőelemek méretének ezzel az értékkel való kiszámítása közben azonban minden esetben a valós méretnél körülbelül 3% nagyobb értéket kapunk, mivel nem tudunk teljesen pontosan felülről fotózni, ezért az oldalak is belelátszódnak a felületbe, ezzel megnövelve a képen a mért területet. Ezt minden esetben ki tudjuk szűrni az eredményből a mért érték megfelelő arányú csökkentésével és emiatt ez nem okoz hibát a terület meghatározásában. 6.2 Építőelemek megtalálása Az építőelemek felderítését végző algoritmus tervezésekor az volt a szempont, hogy minden építőelem pozícióját körülbelül határozza meg, így a gyenge feltételnek a külső hatásoktól függetlenül szinte minden esetben meg is tud felelni. Emellett a redundáns képi információ miatt az építőelem mindegyike több képen is szerepel, így annak a valószínűsége, hogy egy objektumot nem találunk meg nagyon kicsi. Ebből viszont az következik, hogy egy építőelemet többször is megtalálhatunk. Ezeket a redundáns találatokat ki kell szűrnünk. A szűrés távolság alapon működik, azaz ha két lehetséges építőelem jelölt túl közel van egymáshoz, akkor azt egynek tekintjük. Mivel az objektumok nem lehetnek tetszőleges közel egymáshoz, ezért egy megfelelő határérték esetén biztos nem vesztünk el a szűrés közben építőelemet. Az viszont előfordulhat, hogy egy hosszabb elem két végét két különböző jelöltként ismerjük fel, ha pont a felvételek határán volt található. Ez a hiba azonban az osztályozás során kijavítható, mert a klasszifikáció során 42.

43 megállapítjuk a két jelölt pontos helyzetét, és mindkét vég esetén ugyanazt az építőelemet kapjuk. Itt csak arra kell figyelnünk, hogy az építőelemek listájába csak egyszer kerüljön bele. Az építőelemek biztos megtalálásának egy hátránya van: a sok képfeldolgozási művelet sok időbe telik, így a feltérképezés időigényes művelet. Mivel azonban a feladat végrehajtás feltételeiben nem szerepel időkorlát, így ez számunkra nem jelent korlátozó tényezőt Egy felderítési eredmény A léptetőasztal alatt négy különböző színű építőelemet helyeztem el a munkaterületre. Mivel a mérés a feltérképezés hatékonyságát vizsgálja, ezért nem volt fontos tényező, hogy az objektumok különböző alakúak legyenek. A megadott munkaterület mérete miatt négy felvétel készült, melyeken végig futattuk a feltérképező algoritmust. Az elemzésből látható, hogy bár az egyes képekről nem szereztünk meg minden információt, ennek ellenére az összes felvétel elemzése után minden, a munkaterületen található objektum feltérképezésre került és minden feltétel adott, hogy a program továbbfusson és megpróbálja osztályozni a talált objektumokat. 1. Felvétel 6.2. ábra Felderítés, első kép és eredmény Az első felvétel elemzése révén a következő információkkal gazdagodtunk: Találtunk egy építőelemet (kék) és egy részleges objektumot (sárga). Azoknak az objektumoknak a középpontját, melyeket teljes egészben látunk, jelöljük pirossal, amelyek a kép szélén helyezkednek el, jelöljük kékkel. Mind a kettő középpontjának koordinátáját bevesszük a jelöltek közé. 43.

44 2. Felvétel: 6.3. ábra Felderítés, második kép és eredmény A második felvétel feldolgozása után három új építőelem-jelöltünk lett. Ezek közül az egyik már szerepelt (kék), mivel a középpontjának koordinátái már a jelöltek között van, így ezzel nem törődünk. Egy másik (sárga) az előző kép szélén már szerepelt, de mivel jelen esetben az egész objektum szerepel a képen, így biztosabban meghatározható a középpontja, ezért a korábbi jelöltet kivesszük, és ezt tesszük a helyére. A harmadik (zöld) még nem szerepelt, így felvesszük a jelöltek közé. 3. Felvétel 6.4. ábra Felderítés, harmadik kép és eredmény A harmadik felvétel elemzésével ismét három új lehetőség adódik építőelem pozícióra. Az első (kék) már szerepel a jelöltek között, így továbbra is figyelmen kívül hagyjuk. A másik (zöld) csak részleges, ráadásul már ő is szerepelt, így vele sem foglalkozunk. A harmadik (piros) viszont még nem szerepelt, így bővítjük vele az eddig megtalált építőelemek halmazát. 44.

45 4. Felvétel 6.5. ábra Felderítés, negyedik kép és eredmény A teljes munkaterület felderítéséhez szükségünk van még egy negyedik kép elemzésére is. Az elemzés 4 objektumot is talál a képen, de mivel mindegyik középpontjának koordinátája szerepelt már, ezért nem nő a jelöltek száma. 6.3 Építőelemek osztályozása Az építőelemek felismerésénél megpróbáljuk a legmegfelelőbb körülményeket biztosítani azzal, hogy pontosan felülről készítjük a felvételt róluk. Mivel azonban ez nem mindig sikerül pontosan, ezért előfordul, hogy az építőelem oldala is kis mértékben láthatóvá válik. Ez a hiba azonban nem annyira súlyos, hogy nagymértékben zavarná az osztályozást. Az oldal láthatósága csak megnöveli az észlelt felület nagyságát. Szerencsére ez a méretnövekedés az esetek nagy részében nem számottevő a tényleges felület méretéhez képest, így nem rontja a felismerésünket. A feltérképezési algoritmussal ellentétben a klasszifikáció sikerességét nagymértékben befolyásolják a fényviszonyok. Amennyiben nincs megfelelő mennyiségű fény, vagy a fény nem eléggé szórt, akkor az árnyékok zavarják vagy szélsőséges esetben meg is akadályozzák az építőelem felismerését. Amennyiben kevés fénnyel világítjuk meg a munkaterületünket, abban az esetben a színek eltolódnak a szürke felé, így például a zöld és kék színeket már nem lehet megkülönböztetni egymástól. Alacsony megvilágítás esetén az árnyékok is hangsúlyosabbak lesznek a képen, és így a színeltolódással együtt már lehetetlenné teszik az építőelem és árnyékának elhatárolását. 45.

46 6.3.1 Osztályozási eredmények Első mérés 6.6. ábra Osztályozás, első példa Számolt érték Valós érték Eltérés Rövidebb oldal 33,46 mm 33,3 mm 1 % Hosszabb oldal 33,48 mm 33,3 mm 1 % Terület 1120,24 mm ,9 mm 2 1 % Szín #003E14 Zöld Felismerhető Az eredményekből látható, hogy jelen esetben tökéletesen sikerült a felismerés, mivel a fényviszonyok megfelelőek voltak. Második mérés 6.7. ábra Osztályozás, második példa Számolt érték Valós érték Eltérés Rövidebb oldal 15,12 mm 16,6 mm 9 % Hosszabb oldal 103,14 mm 100 mm 3 % Terület 1559,48 mm mm 2 6 % Szín #D7171A Piros Felismerhető Az eredményekből látható, hogy jelen esetben is sikeres a felismerés, annak ellenére, hogy az építőelem árnyéka már kis mértékben megzavarta az osztályozást. 46.

47 Harmadik mérés 6.8. ábra Osztályozás, harmadik példa Számolt érték Valós érték Eltérés Rövidebb oldal 31,32 mm 33,3 mm 6 % Hosszabb oldal 64,8 mm 66,6 mm 3 % Terület 2029,54 mm ,78 mm 2 9 % Szín #D9AB00 Sárga Felismerhető Az eredmények itt már nem annyira pontosak, de mivel ennek az értéknek a közelében nincs másik lehetséges építőelemhez tartozó méret, ezért képesek vagyunk pontosan megállapítani a típusát. Negyedik mérés 6.9. ábra Osztályozás, negyedik példa A képfeldolgozás eredményén jól látható, hogy sikeres felderítettük, hogy egy kör felületünk van. A távolságmérő szenzor méréseinek vizsgálata után a magasságát is el tudjuk dönteni. A kép készülésekor azonban nem voltak megfelelőek a fényviszonyok, ezért az építőelem színe közel esik a szürkéhez, ezért nem tudjuk biztosan eldönteni, hogy kék vagy zöld színű-e az adott objektum. 47.

48 Ötödik mérés ábra Osztályozás, ötödik példa Számolt érték Valós érték Eltérés Rövidebb oldal 35,62 mm 33,3 mm 7 % Hosszabb oldal 74,46 mm 100 mm 25 % Terület 2652,26 mm mm 2 20 % Szín #9C0000 piros Felismerhető A mérési eredményekből jól látható, hogy jelen esetben az osztályozásunk nem volt sikeres. Hiába az egyik legkönnyebben felismerhető építőelemet vizsgáltuk, a kép sötétsége miatt rosszul határoztuk meg a csúcspontokat, és a kiszámolt oldalhosszakból más építőelemre következtethetünk. 6.4 Továbbfejlesztési lehetőségek Mint a korábbiakban kifejtettem, az objektumosztályozási algoritmus nem minden esetben volt képes az építőelem típusának a meghatározására. Ennek oka legtöbbször az elégtelen megvilágításból adódott. Ezt a hatás csökkenthetjük, ha a világosítás során előre megvizsgáljuk a képet, és ez alapján a képet többféle algoritmus segítségével javítjuk. Ehhez azonban a képfeldolgozási eljárást gyorsítani kell, mert így is az egyik gyenge pont az időigény, és az előfeldolgozás hatására a program még jobban lelassulna. Ha az irányítószoftvertben több, jól szinkronizált szálat használnánk, akkor a program grafikus felülete dinamikusabb futásra lenne képes, és bizonyos műveletek időigénye csökkenne, mivel a szálak segítségével a fölösleges várakozási idők megszüntethetőek lennének. 48.

49 Összefoglalás A diplomamunkám célja az volt, hogy megismerkedjem az ipari robotika objektum mozgatási feladatainak nehézségeivel és egy léptetőasztal segítségével olyan algoritmusokat tervezzek és implementáljak, amelyek megkönnyíthetik egy automatizált építési probléma megoldását. A léptetőasztal precíz irányításának elsajátítása a robotika egyéb területein is hasznos lehet, hiszen sok helyen szükséges a pontosan irányított, meghatározott pálya mentén történő mozgatás (például szenzorok karakterisztikájának kimérésekor). Az irányító szoftver fejlesztése közben megismerkedtem a Microsoft Visual Studio fejlesztő környezetével, alapokat szereztem a.net programozásból, és megoldottam a C++ és.net környezet integrálásából adódó problémákat. A megszerzett tudásom a későbbiekben hasznos lehet hasonló környezetekben történő fejlesztéseknél. 49.

50 Köszönetnyilvánítás Köszönettel tartozom konzulensemnek, dr. Cserey Györgynek, aki útmutatásával és problémafelvetéseivel nagyban segítette a diplomamunkám elkészítését. Köszönettel tartozom kollégámnak, Hiba Antalnak, akivel együtt közösen dolgoztunk azon, hogy a léptetőasztal képes legyen a kockákból az általunk kigondolt építményeket a feladatkiírásnak megfelelő módon összerakni. Köszönettel tartozom még a Pázmány Péter Katolikus Egyetem Információs Technológiai Karának Robotika laborjában dolgozó összes hallgatónak és doktorandusznak, akik mindig segítettek a problémák megoldásában és hasznos tanácsokkal láttak el a munkám folyamán. 50.

51 Irodalomjegyzék [1] Isak Karabegovic, Samir Vojic and Vlatko Dolecek 3D Vision in Industrial Robot Working Process Faculty of Technical Engineering, Bosnia and Herzegowina, IEEE EPE- PEMC 2006/ [2] D. Naga Jyothi Multi-View Technique for 3-D Robotic Object Recognition System using Neuro-Fuzzy Method School of Computing and Information Technology Inti College Malaysia, Map India (2004) [3] William K. Pratt (2001) Digital Image Processing John Wiley &Sons Inc. ISBN: [4] Amtec Robotics GmbH: Programmers guide for PowerCube [5] Amtec Robotics hivatalos honlapja [6] Ajmal S. Mian, Mohammed Bennamoun, and Robyn Owens Three-Dimensional Model- Based Object Recognition and Segmentation in Cluttered Scenes IEEE Transactions on pattern analysis and machine intelligence, 2006 no [7] John Billingsley, Robin Bradbeer (2008) Mechatronics and Machine Vision in Practice Springer, ISBN [8] L. Sciavicco and B. Siciliano(2000) Modelling and Control of Robot Manipulators Advanced textbooks in Control and Signal Processing series ISSN Springer Science + Business Media ISBN

52 Ábrajegyzék 1.1. ábra: Két Descartes és egy hengeres manipulátor (forrás: PPKE-ITK Robotika előadás jegyzet 2009) 1.2. ábra: Gömbi, SCARA és Antropomorf manipulátor (forrás: PPKE-ITK Robotika előadás jegyzet 2009) 1.3. ábra: Kinematikai láncok 3.1. ábra: Hardverstruktúra 3.2. ábra: A CAN-busz soros felépítése 3.3. ábra: PowerCube-ok fajtái: lineáris, forgó, fogó (forrás: ábra: A léptető asztal munkatere 4.1. ábra: Irányításért felelős osztályok kapcsolata 4.2. ábra: A szerver működése 4.3. ábra: Kliens grafikus felülete 4.4. ábra: Kliens működése 4.5. ábra: A szerver grafikus felülete 5.1. ábra: Az építőelemek lehetséges formái 5.2. ábra: A munkaterület feltérképezésének algoritmusa 5.3. ábra: Az objektumok osztályozása 5.4. ábra: Objektum köré rajzolt téglalappal 6.1. ábra: Kalibrációs ábra 6.2. ábra: Felderítés, első kép és eredmény 6.3. ábra: Felderítés, második kép és eredmény 6.4. ábra: Felderítés, harmadik kép és eredmény 6.5. ábra: Felderítés, negyedik kép és eredmény 6.6. ábra Osztályozás, első példa 6.7. ábra Osztályozás, második példa 6.8. ábra Osztályozás, harmadik példa 6.9. ábra Osztályozás, negyedik példa ábra Osztályozás, ötödik példa 52.

53 Mellékletek Építőelem tulajdonság táblázat Név Szám hármas főtípus típus irány Alak (mm x mm) Magasság (mm) Felső felület (mm 2 ) Kis tégla, álló ,6 x 33,3 33,3 552,8 Kis tégla, oldalán ,6 x 33,3 33,3 552,8 Kis tégla, fekvő ,3 x 33,3 16,5 1108,9 Közepes tégla, álló ,6 x 33,3 66,7 552,8 Közepes tégla, oldalán ,6 x 66,7 33,3 1107,2 Közepes tégla, fekvő ,3 x 66,7 16,5 2221,1 Nagy tégla, álló ,6 x 33, ,8 Nagy tégla, oldalán ,6 x , Nagy tégla, fekvő ,3 x , Kocka ,3 x 33,3 33,3 1108,9 Kis henger, lapján KÖR 33,3 865,7 Kis henger, oldalán ,3 x 33,3 33,3 1108,9 Nagy henger, lapján KÖR 66,7 865,7 Nagy henger, oldalán ,3 x 66,7 33,3 1107,2 Tető, álló ,3 x 47,1 23,5 1568,4 Tető, oldalán ,3 x 33,3 33,3 1108,9 Tető, háromszögön HÁROMSZÖG 33,3 554,4 Híd, normál ,3 x , Híd, kisebbik oldalán ,3 x 33, ,9 Híd, oldalán HÍD 33,3 3041,5 Híd, a tetején ,3 x ,

54 Szoftver diagram A mellékelt ábrán a szoftver által tartalmazott osztályok (zárt vonal) és a külső eszközök (szaggatott vonal) kapcsolatát mutatja be. Amennyiben egy osztály használ egy másik típust, abban az esetben nyíllal vannak összekötve, a nyíl a használó fele mutat. 54.

55 UML Osztálydiagram 55.

Pneumatika az ipari alkalmazásokban

Pneumatika az ipari alkalmazásokban Pneumatika az ipari alkalmazásokban Manipulátorok Balanszer technika Pneumatikus pozícionálás Anyagmozgatási és Logisztikai Rendszerek Tanszék Manipulátorok - Mechanikai struktúra vagy manipulátor, amely

Részletesebben

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. 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 X. Előadás Robot manipulátorok II. Direkt és inverz kinematika Készült a HEFOP-3.3.1-P.-2004-06-0018/1.0 projekt keretében Tartalom Direkt kinematikai probléma Denavit-Hartenberg konvenció

Részletesebben

Infobionika ROBOTIKA. IX. Előadás. Robot manipulátorok I. Alapfogalmak. 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 Infobionika ROBOTIKA IX. Előadás Robot manipulátorok I. Alapfogalmak Készült a HEFOP-3.3.1-P.-2004-06-0018/1.0 projekt keretében Tartalom Robot manipulátorok definíciója és alkalmazásai Manipulátorok szerkezete

Részletesebben

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

IPARI ROBOTOK. Kinematikai strukturák, munkatértípusok. 2. előadás. Dr. Pintér József IPARI ROBOTOK, munkatértípusok 2. előadás Dr. Pintér József Az ipari robotok kinematikai felépítése igen sokféle lehet. A kinematikai felépítés alapvetően meghatározza munkaterének alakját, a mozgási sebességét,

Részletesebben

Robotika. A robotok története - bevezetés. Magyar Attila amagyar@almos.vein.hu

Robotika. A robotok története - bevezetés. Magyar Attila amagyar@almos.vein.hu Robotika A robotok története - bevezetés Magyar Attila amagyar@almos.vein.hu A robotok története Idő Irodalmi utalás, esemény Robot, vagy szerkezet Kr.e.1000 Kr.e. 800 Kr.e. 400 Kr.e. 300 Biblia (Ter.):

Részletesebben

Robotika. Kinematika. Magyar Attila

Robotika. Kinematika. Magyar Attila Robotika Kinematika Magyar Attila amagyar@almos.vein.hu 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

Részletesebben

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

ROBOTTECHNIKA. Kinematikai strukturák, munkatértípusok. 2. előadás. Dr. Pintér József ROBOTTECHNIKA 2. előadás Kinematikai strukturák, munkatértípusok Dr. Pintér József Kinematikai strukturák Az ipari robotok kinematikai felépítése igen sokféle lehet. A kinematikai felépítés alapvetően

Részletesebben

Az ábrán a mechatronikát alkotó tudományos területek egymás közötti viszonya látható. A szenzorok és aktuátorok a mechanika és elektrotechnika szoros

Az ábrán a mechatronikát alkotó tudományos területek egymás közötti viszonya látható. A szenzorok és aktuátorok a mechanika és elektrotechnika szoros Aktuátorok Az ábrán a mechatronikát alkotó tudományos területek egymás közötti viszonya látható. A szenzorok és aktuátorok a mechanika és elektrotechnika szoros kapcsolatára utalnak. mért nagyság A fizikai

Részletesebben

Az ipari robotok definíciója

Az ipari robotok definíciója 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

Részletesebben

A gyártási rendszerek áttekintése

A gyártási rendszerek áttekintése SZÉCHENYI ISTVÁN EGYETEM GYŐR Gyártócellák (NGB_AJ018_1) A gyártási rendszerek áttekintése Bevezetés A tantárgy célja A gyártócellák c. tárgy átfogóan foglalkozik a gyártás automatizálás eszközeivel, ezen

Részletesebben

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat Megoldás Feladat 1. Statikus teszt Specifikáció felülvizsgálat A feladatban szereplő specifikáció eredeti, angol nyelvű változata egy létező eszköz leírása. Nem állítjuk, hogy az eredeti dokumentum jól

Részletesebben

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül 1 Tartalom Miről is lesz szó? Bosch GS-TC Automata sebességváltó TCU (Transmission Control Unit) Élettartam tesztek

Részletesebben

Városi tömegközlekedés és utastájékoztatás szoftver támogatása

Városi tömegközlekedés és utastájékoztatás szoftver támogatása Városi tömegközlekedés és utastájékoztatás szoftver támogatása 1. Általános célkitűzések: A kisvárosi helyi tömegközlekedés igényeit maximálisan kielégítő hardver és szoftver környezet létrehozása. A struktúra

Részletesebben

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

Útmutató EDC kézivezérlőhöz Útmutató EDC kézivezérlőhöz ALAPFUNKCIÓK A kézivezérlő használata során állítsa az EDC vezérlő előlapján található forgó kapcsolót 0 állásba. Ezáltal a felhasználó a kézivezérlő segítségével férhet hozzá,

Részletesebben

DENER Plazmavágók. Típus: Mitsubishi DNR-I 1530 CNC. Dener plazmavágás. Dener plazmavágók. http://www.dener.com/sayfa/89/plasma-cutting.

DENER Plazmavágók. Típus: Mitsubishi DNR-I 1530 CNC. Dener plazmavágás. Dener plazmavágók. http://www.dener.com/sayfa/89/plasma-cutting. DENER Plazmavágók Dener plazmavágás Dener plazmavágók http://www.dener.com/sayfa/89/plasma-cutting.html Típus: Mitsubishi DNR-I 1530 CNC A képek illusztrációk A képek illusztrációk A képek illusztrációk

Részletesebben

TRBOnet Térinformatikai terminál és diszpécseri konzol

TRBOnet Térinformatikai terminál és diszpécseri konzol TRBOnet Térinformatikai terminál és diszpécseri konzol A TRBOnet egy kliens szerver diszpécser szoftver MOTOTRBO rádiók száméra. A TRBOnet szoftver jól alkalmazható a MOTOTRBO rádiós rendszereknél. A szoftver

Részletesebben

TERC V.I.P. hardverkulcs regisztráció

TERC V.I.P. hardverkulcs regisztráció TERC V.I.P. hardverkulcs regisztráció 2014. második félévétől kezdődően a TERC V.I.P. költségvetés-készítő program hardverkulcsát regisztrálniuk kell a felhasználóknak azon a számítógépen, melyeken futtatni

Részletesebben

Aktív zajcsökkentést demonstráló rendszer továbbfejlesztése. Csofcsics Donát Gusztáv Tamás

Aktív zajcsökkentést demonstráló rendszer továbbfejlesztése. Csofcsics Donát Gusztáv Tamás Aktív zajcsökkentést demonstráló rendszer továbbfejlesztése Csofcsics Donát Gusztáv Tamás Előző félévben végzett munka Szenzorhálózattal működő többcsatornás zajcsökkentő rendszer megismerése Berkeley

Részletesebben

Iman 3.0 szoftverdokumentáció

Iman 3.0 szoftverdokumentáció Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3

Részletesebben

SZENZORMODUL ILLESZTÉSE LEGO NXT PLATFORMHOZ. Készítette: Horváth András MSc Önálló laboratórium 2 Konzulens: Orosz György

SZENZORMODUL ILLESZTÉSE LEGO NXT PLATFORMHOZ. Készítette: Horváth András MSc Önálló laboratórium 2 Konzulens: Orosz György SZENZORMODUL ILLESZTÉSE LEGO NXT PLATFORMHOZ Készítette: Horváth András MSc Önálló laboratórium 2 Konzulens: Orosz György BEVEZETÉS Simonyi Károly szakkollégium LEGO és robotika kör NXT Cél: Választott

Részletesebben

Rendszám felismerő rendszer általános működési leírás

Rendszám felismerő rendszer általános működési leírás Rendszám felismerő rendszer általános működési leírás Creativ Bartex Solution Kft. 2009. A rendszer funkciója A rendszer fő funkciója elsősorban parkolóházak gépkocsiforgalmának, ki és beléptetésének kényelmesebbé

Részletesebben

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

Irányítástechnikai alapok. Zalotay Péter főiskolai docens KKMF Irányítástechnikai alapok Zalotay Péter főiskolai docens KKMF Az irányítás feladatai és fajtái: Alapfogalmak Irányítás: Műszaki berendezések ( gépek, gyártó sorok, szállító eszközök, vegyi-, hő-technikai

Részletesebben

Ipari robotok megfogó szerkezetei

Ipari robotok megfogó szerkezetei IPARI ROBOTOK Ipari robotok megfogó szerkezetei 6. előadás Dr. Pintér József Tananyag vázlata Ipari robotok megfogó szerkezetei 1. Effektor fogalma 2. Megfogó szerkezetek csoportosítása 3. Mechanikus megfogó

Részletesebben

Ember és robot együttműködése a gyártásban Ipar 4.0

Ember és robot együttműködése a gyártásban Ipar 4.0 Helyszín: MTA Székház, Felolvasóterem Időpont: 2017. November 7. Ember és robot együttműködése a gyártásban Ipar 4.0 Dr. Erdős Ferenc Gábor MTA SZTAKI Fejlett robotika ígérete A fejlett robotika és az

Részletesebben

International GTE Conference MANUFACTURING 2012. 14-16 November, 2012 Budapest, Hungary. Ákos György*, Bogár István**, Bánki Zsolt*, Báthor Miklós*,

International GTE Conference MANUFACTURING 2012. 14-16 November, 2012 Budapest, Hungary. Ákos György*, Bogár István**, Bánki Zsolt*, Báthor Miklós*, International GTE Conference MANUFACTURING 2012 14-16 November, 2012 Budapest, Hungary MÉRŐGÉP FEJLESZTÉSE HENGERES MUNKADARABOK MÉRETELLENŐRZÉSÉRE Ákos György*, Bogár István**, Bánki Zsolt*, Báthor Miklós*,

Részletesebben

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és

Részletesebben

Robotok inverz geometriája

Robotok inverz geometriája Robotok inverz geometriája. A gyakorlat célja Inverz geometriai feladatot megvalósító függvények implementálása. A megvalósított függvénycsomag tesztelése egy kétszabadságfokú kar előírt végberendezés

Részletesebben

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

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás 3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás 15. Digitális Alakzatrekonstrukció Méréstechnológia, Ponthalmazok regisztrációja http://cg.iit.bme.hu/portal/node/312 https://www.vik.bme.hu/kepzes/targyak/viiiav54

Részletesebben

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR LabVIEW-ról National Instruments (NI) által fejlesztett Grafikus programfejlesztő környezet, méréstechnikai, vezérlési, jelfeldolgozási feladatok

Részletesebben

Operációs rendszerek. Az X Window rendszer

Operációs rendszerek. Az X Window rendszer Operációs rendszerek X Windows rendszer Az X Window rendszer Grafikus felhasználói felületet biztosító alkalmazás és a kapcsolódó protokoll 1983-84: a Massachusetts Institute of Technology-n (MIT, USA).

Részletesebben

TM-73733 Szervó vezérlő és dekóder

TM-73733 Szervó vezérlő és dekóder TM-73733 Szervó vezérlő és dekóder Használati útmutató 2011 BioDigit Ltd. Minden jog fenntartva. A dokumentum sokszorosítása, tartalmának közzététele bármilyen formában, beleértve az elektronikai és mechanikai

Részletesebben

Mark like a Professional. FlyMarker PRO Jelölő rendszer

Mark like a Professional. FlyMarker PRO Jelölő rendszer Mark like a Professional FlyMarker PRO Jelölő rendszer Mark like a Professional FlyMarker PRO MOBIL Berendezés FlyMarker PRO kézi jelölő rendszer szinte gyerekjátékká teszi a terjedelmes, nagy, nem mozdítható

Részletesebben

6. Robotok és manipulátorok a rugalmas gyártórendszerekben. 6.1 Manipulátorok

6. Robotok és manipulátorok a rugalmas gyártórendszerekben. 6.1 Manipulátorok 6. Robotok és manipulátorok a rugalmas gyártórendszerekben Isaac Asimov: Én, a robot (1950), a robotika alaptörvényei A robot nem árthat az embernek, és nem nézheti tétlenül, ha az embert veszély fenyegeti

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

Grafikonok automatikus elemzése

Grafikonok automatikus elemzése Grafikonok automatikus elemzése MIT BSc önálló laboratórium konzulens: Orosz György 2016.05.18. A feladat elsődleges célkitűzései o eszközök adatlapján található grafikonok feldolgozása, digitalizálása

Részletesebben

Roger UT-2. Kommunikációs interfész V3.0

Roger UT-2. Kommunikációs interfész V3.0 ROGER UT-2 1 Roger UT-2 Kommunikációs interfész V3.0 TELEPÍTŐI KÉZIKÖNYV ROGER UT-2 2 ÁLTALÁNOS LEÍRÁS Az UT-2 elektromos átalakítóként funkcionál az RS232 és az RS485 kommunikációs interfész-ek között.

Részletesebben

A szerzõrõl... xi Bevezetés... xiii

A szerzõrõl... xi Bevezetés... xiii TARTALOMJEGYZÉK A szerzõrõl...................................................... xi Bevezetés...................................................... xiii I. rész A Visual Basic 2005 környezet 1. óra Irány

Részletesebben

A LEGO Mindstorms EV3 programozása

A LEGO Mindstorms EV3 programozása A LEGO Mindstorms EV3 programozása 1. A fejlesztői környezet bemutatása 12. Az MPU6050 gyorsulás- és szögsebességmérő szenzor Orosz Péter 1 Felhasznált irodalom LEGO MINDSTORMS EV3: Felhasználói útmutató

Részletesebben

USB adatgyűjtő eszközök és programozásuk Mérő- és adatgyűjtő rendszerek

USB adatgyűjtő eszközök és programozásuk Mérő- és adatgyűjtő rendszerek USB adatgyűjtő eszközök és programozásuk Mérő- és s adatgyűjt jtő rendszerek Az USB kialakulása Az USB felépítése Az USB tulajdonságai USB eszközök Áttekintés USB eszközök programozása 2 Az USB kialakulása

Részletesebben

XV. FIATAL MŰSZAKIAK TUDOMÁNYOS ÜLÉSSZAKA

XV. FIATAL MŰSZAKIAK TUDOMÁNYOS ÜLÉSSZAKA XV. FIATAL MŰSZAKIAK TUDOMÁNYOS ÜLÉSSZAKA Kolozsvár, 2010. március 25-26. ÍVHEGESZTŐ ROBOT ALKALMAZÁSTECHNIKAI JELLEMZŐI BAGYINSZKI Gyula, BITAY Enikő Abstract The arc welding is the important joining

Részletesebben

3D számítógépes geometria és alakzatrekonstrukció

3D számítógépes geometria és alakzatrekonstrukció 3D számítógépes geometria és alakzatrekonstrukció 15. Digitális Alakzatrekonstrukció Méréstechnológia, Ponthalmazok regisztrációja http://cg.iit.bme.hu/portal/node/312 https://www.vik.bme.hu/kepzes/targyak/viiima01

Részletesebben

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata Kutatási beszámoló a Pro Progressio Alapítvány számára Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Mérnök informatika szak Orvosi készülékekben használható modern

Részletesebben

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási

Részletesebben

VL IT i n du s t ri al Kommunikációs vázlat

VL IT i n du s t ri al Kommunikációs vázlat VL IT i n du s t ri al Kommunikációs vázlat k i v it e l A műszaki adatok előzetes ér tesítés nélkül változhatnak. A műszaki adatok előzetes értesítés nélkül változhatnak. VLIT TAG A1 WB ATEX Aktív RFID

Részletesebben

Felhasználói kézikönyv

Felhasználói kézikönyv Felhasználói kézikönyv 6234C Fordulatszámmérő TARTALOMJEGYZÉK 1. Termékjellemzők... 2 2. Műszaki jellemzők... 2 3. Előlap és kezelőszervek... 2 4. Működési leírás... 3 5. Mérési folyamat... 4 6. Elem cseréje...

Részletesebben

Nagy pontosságú 3D szkenner

Nagy pontosságú 3D szkenner Tartalom T-model Komponensek Előzmények Know-how Fejlesztés Pilot projektek Felhasználási lehetőségek 1 T-model: nagy pontosságú aktív triangulációs 3D lézerszkenner A 3D szkennert valóságos tárgyak 3D

Részletesebben

Thermo1 Graph. Felhasználói segédlet

Thermo1 Graph. Felhasználói segédlet Thermo1 Graph Felhasználói segédlet A Thermo Graph program a GIPEN Thermo eszközök Windows operációs rendszeren működő grafikus monitorozó programja. A program a telepítést követően azonnal használható.

Részletesebben

IoT alapú mezőgazdasági adatgyűjtő prototípus fejlesztési tapasztalatok

IoT alapú mezőgazdasági adatgyűjtő prototípus fejlesztési tapasztalatok IoT alapú mezőgazdasági adatgyűjtő prototípus fejlesztési tapasztalatok 2016.05.19. Szilágyi Róbert Tóth Mihály Debreceni Egyetem Az IoT Eszközök és más fizikai objektumok elektronikával, vezérléssel,

Részletesebben

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap IDAXA-PiroSTOP PIRINT PiroFlex Interfész Terméklap Hexium Kft. PIRINT Terméklap Rev 2 2 Tartalomjegyzék. ISMERTETŐ... 3 2. HARDVER... 4 2. LED... 5 2.2 KAPCSOLAT A VKGY GYŰRŰVEL... 6 2.3 CÍMBEÁLLÍTÁS...

Részletesebben

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan Telepítés internetről A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan Új szolgáltatásunk keretén belül, olyan lehetőséget kínálunk a TERC VIP költségvetéskészítő program

Részletesebben

TM-73726 Szervó vezérlő

TM-73726 Szervó vezérlő TM-73726 Szervó vezérlő Használati útmutató 2011 BioDigit Ltd. Minden jog fenntartva. A dokumentum sokszorosítása, tartalmának közzététele bármilyen formában, beleértve az elektronikai és mechanikai kivitelezést

Részletesebben

Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz

Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz A mobil robot vezérlőrendszerének feladatai Elvégzendő feladat Kommunikáció Vezérlő rendszer

Részletesebben

Mobil Partner telepítési és használati útmutató

Mobil Partner telepítési és használati útmutató Mobil Partner telepítési és használati útmutató Tartalom Kezdeti lépések... 2 Telepítés... 2 A program indítása... 6 Mobile Partner funkciói... 7 Művelet menü... 7 Kapcsolat... 7 Statisztika... 8 SMS funkciók...

Részletesebben

IV. LEGO Robotprogramozó Országos Csapatverseny

IV. LEGO Robotprogramozó Országos Csapatverseny BÁNYAI JÚLIA GIMNÁZIUM - ROBOTIKA CSOPORT Tel.: 76/481-474 (+36 20 479 8460) Fax.: 76/486-942 web: http://www.banyai-kkt.sulinet.hu/robotika e-mail: robotika.bjg@gmail.com IV. LEGO Robotprogramozó Országos

Részletesebben

Robotot vezérlő szoftverek fejlesztése Developing robot controller softwares

Robotot vezérlő szoftverek fejlesztése Developing robot controller softwares Robotot vezérlő szoftverek fejlesztése Developing robot controller softwares VARGA Máté 1, PÓGÁR István 2, VÉGH János 1 Programtervező informatikus BSc szakos hallgató 2 Programtervező informatikus MSc

Részletesebben

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft. Norway Grants AKKUMULÁTOR REGENERÁCIÓS ÉS Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai Kakuk Zoltán, Vision 95 Kft. 2017.04.25. Rendszer szintű megoldás

Részletesebben

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

Piri Dávid. Mérőállomás célkövető üzemmódjának pontossági vizsgálata Piri Dávid Mérőállomás célkövető üzemmódjának pontossági vizsgálata Feladat ismertetése Mozgásvizsgálat robot mérőállomásokkal Automatikus irányzás Célkövetés Pozíció folyamatos rögzítése Célkövető üzemmód

Részletesebben

WAGO PLC-vel vezérelt hő- és füstelvezetés

WAGO PLC-vel vezérelt hő- és füstelvezetés WAGO PLC-vel vezérelt hő- és füstelvezetés Wago Hungária Kft. Cím: 2040. Budaörs, Gyár u. 2. Tel: 23 / 502 170 Fax: 23 / 502 166 E-mail: info.hu@wago.com Web: www.wago.com Készítette: Töreky Gábor Tel:

Részletesebben

Kezelési utasítás SITRANS F M MAG 8000 & MAG 8000 CT 02/2010. SITRANS F M MAG8000 és MAG8000 CT elektromágneses áramlásmérő típusok

Kezelési utasítás SITRANS F M MAG 8000 & MAG 8000 CT 02/2010. SITRANS F M MAG8000 és MAG8000 CT elektromágneses áramlásmérő típusok Kezelési utasítás 02/2010 SITRANS F M MAG 8000 & MAG 8000 CT SITRANS F M MAG8000 és MAG8000 CT elektromágneses áramlásmérő típusok 2 Általános utasítások Az üzembe helyezés során figyelembe kell venni

Részletesebben

TxBlock-USB Érzékelőfejbe építhető hőmérséklet távadó

TxBlock-USB Érzékelőfejbe építhető hőmérséklet távadó TxBlock-USB Érzékelőfejbe építhető hőmérséklet távadó Bevezetés A TxBlock-USB érzékelőfejbe építhető, kétvezetékes hőmérséklet távadó, 4-20mA kimenettel. Konfigurálása egyszerűen végezhető el, speciális

Részletesebben

Licenc eljárás és a licenc problémák megoldása az ARCHline.XP-ben

Licenc eljárás és a licenc problémák megoldása az ARCHline.XP-ben 1 Licenc eljárás és a licenc problémák megoldása az ARCHline.XP-ben 1. Bevezetés... 2 2. Licenc információk... 2 2.1. Program sorozatszám... 3 2.2. Aktiválási kód... 3 3. A licenc információk bevitele...

Részletesebben

IRÁNYÍTÁSTECHNIKAI ALAPFOGALMAK, VEZÉRLŐBERENDEZÉSEK FEJLŐDÉSE, PLC-GENERÁCIÓK

IRÁNYÍTÁSTECHNIKAI ALAPFOGALMAK, VEZÉRLŐBERENDEZÉSEK FEJLŐDÉSE, PLC-GENERÁCIÓK IRÁNYÍTÁSTECHNIKAI ALAPFOGALMAK, VEZÉRLŐBERENDEZÉSEK FEJLŐDÉSE, PLC-GENERÁCIÓK Irányítástechnika Az irányítás olyan művelet, mely beavatkozik valamely műszaki folyamatba annak: létrehozása (elindítása)

Részletesebben

Az első robot sorozatgyártás 1959-ben indul ben már játékgyártók kínálnak tanítható, mikroprocesszor vezérlésű játékrobot építőszettet.

Az első robot sorozatgyártás 1959-ben indul ben már játékgyártók kínálnak tanítható, mikroprocesszor vezérlésű játékrobot építőszettet. A robotok előhírnökei az önműködő szerkezetek (automaták) voltak. "Író fiú", egy svájci órás műve 1772-ből, mely karszerkezet segítségével képes volt tollal papírra írni. 1893-ban, Amerikában már beépített

Részletesebben

MOTOR HAJTÁS Nagyfeszültségű megszakító

MOTOR HAJTÁS Nagyfeszültségű megszakító Forradalom a megszakító technológiában MOTOR HAJTÁS Nagyfeszültségű megszakító ABB HV Products - Page 1 Mi az a Motor Hajtás? ABB HV Products - Page 2 Energia Átvitel Energia Kioldás Energia Tárolás Energia

Részletesebben

Ax-DL100 - Lézeres Távolságmérő

Ax-DL100 - Lézeres Távolságmérő Ax-DL100 - Lézeres Távolságmérő 1. Áttekintés Köszönjük, hogy a mi termékünket választotta! A biztosnágos és megfelelő működés érdekében, kérjük alaposan olvassa át a Qick Start kézikönyvet. A globálisan

Részletesebben

HASZNÁLATI és KARBANTARTÁSI ÚTMUTATÓ

HASZNÁLATI és KARBANTARTÁSI ÚTMUTATÓ HASZNÁLATI és KARBANTARTÁSI ÚTMUTATÓ LZ2504, LZ2505, LZ2508, LZ2510, LZ2805, LZ2810, LZ3006, LZ3009, LZ3012 pizza kemencék Az első működésnél szaga lehet a berendezésnek, amit a szigetelő anyagok és a

Részletesebben

Gyors telepítési kézikönyv

Gyors telepítési kézikönyv netis Vezeték nélküli, N router Gyors telepítési kézikönyv 1. A csomagolás tartalma (Vezeték nélküli,n Router, Hálózati adapter, Ethernet kábel, Kézikönyv) * A kézikönyv, az összes, Netis, 150Mbps/300Mbps

Részletesebben

Hálózatos adatbázis-kapcsolódási problémák és azok javítása

Hálózatos adatbázis-kapcsolódási problémák és azok javítása WINTAX programrendszer hálózatos vagy helyi adatbázis-szerverhez vagy adatbázis-kezelőhöz kapcsolódáskor jelentkező kapcsolódási problémák leírása és azok megoldásai. Korábban a Hálózatos beállítás bejegyzésben

Részletesebben

30 MB INFORMATIKAI PROJEKTELLENŐR

30 MB INFORMATIKAI PROJEKTELLENŐR INFORMATIKAI PROJEKTELLENŐR 30 MB DOMBORA SÁNDOR BEVEZETÉS (INFORMATIKA, INFORMATIAKI FÜGGŐSÉG, INFORMATIKAI PROJEKTEK, MÉRNÖKI ÉS INFORMATIKAI FELADATOK TALÁKOZÁSA, TECHNOLÓGIÁK) 2016. 09. 17. MMK- Informatikai

Részletesebben

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel Navigáci ció és s mozgástervez stervezés Algoritmusok és alkalmazásaik Osváth Róbert Sorbán Sámuel Feladat Adottak: pálya (C), játékos, játékos ismerethalmaza, kezdőpont, célpont. Pálya szerkezete: akadályokkal

Részletesebben

Láthatósági kérdések

Láthatósági kérdések Láthatósági kérdések Láthatósági algoritmusok Adott térbeli objektum és adott nézőpont esetén el kell döntenünk, hogy mi látható az adott alakzatból a nézőpontból, vagy irányából nézve. Az algoritmusok

Részletesebben

Számítógépes Hálózatok GY 6.hét

Számítógépes Hálózatok GY 6.hét Számítógépes Hálózatok GY 6.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu Teszt 10 kérdés 10 perc canvas.elte.hu

Részletesebben

Útjelzések, akadályok felismerése valós időben

Útjelzések, akadályok felismerése valós időben Útjelzések, akadályok felismerése valós időben Dr. Hidvégi Timót Széchenyi István Egyetem Győr, 9026, Egyetem tér 1. hidvegi@sze.hu 1. Bevezető Sajnos a közúton a balesetek egy része abból adódik, hogy

Részletesebben

Mesh generálás. IványiPéter

Mesh generálás. IványiPéter Mesh generálás IványiPéter drview Grafikus program MDF file-ok szerkesztéséhez. A mesh generáló program bemenetét itt szerkesztjük meg. http://www.hexahedron.hu/personal/peteri/sx/index.html Pont létrehozásához

Részletesebben

DURMA PBF típusú hidraulikus CNC élhajlító

DURMA PBF típusú hidraulikus CNC élhajlító DURMA PBF típusú hidraulikus CNC élhajlító A DURMAZLAR CÉG BEMUTATÁSA A Durmazlar Machine Törökország vezető gépgyártó vállalata, mely éves termelését tekintve világelső a fémmegmunkáló gépek gyártásában.

Részletesebben

Beszerelés. ConCorde BC 803 tolatóradar Használati útmutató

Beszerelés. ConCorde BC 803 tolatóradar Használati útmutató Beszerelés ConCorde BC 803 tolatóradar Használati útmutató LCD kijelző 1,5 m Szint 1 Biztonságos Zöld 1,1-1,4 m Szint 2 Biztonságos Zöld 0,8-1,0 m Szint 3 Riasztás Sárga 0,6-0,7 m Szint 4 Riasztás Sárga

Részletesebben

Felhasználói kézikönyv

Felhasználói kézikönyv Felhasználói kézikönyv 3060 Lézeres távolságmérő TARTALOMJEGYZÉK ELEM CSERÉJE... 3 A KÉSZÜLÉK FELÉPÍTÉSE... 3 A KIJELZŐ FELÉPÍTÉSE... 3 MŰSZAKI JELLEMZŐK... 4 LÉZERES CÉLZÓ BEKAPCSOLÁSA... 4 MÉRÉSI TÁVOLSÁG...

Részletesebben

A II. kategória Fizika OKTV mérési feladatainak megoldása

A II. kategória Fizika OKTV mérési feladatainak megoldása Nyomaték (x 0 Nm) O k t a t á si Hivatal A II. kategória Fizika OKTV mérési feladatainak megoldása./ A mágnes-gyűrűket a feladatban meghatározott sorrendbe és helyre rögzítve az alábbi táblázatban feltüntetett

Részletesebben

Termeléshatékonyság mérés Ipar 4.0 megoldásokkal a nyomdaiparban

Termeléshatékonyság mérés Ipar 4.0 megoldásokkal a nyomdaiparban PRESENTATION Termeléshatékonyság mérés Ipar 4.0 megoldásokkal a nyomdaiparban Kremzer, Péter ICCS Kft. kremzerp@iccs.hu Tartalomjegyzék Folyamatirányítás FIR nélkül Nyomdai sajátosságok Megrendelői igények

Részletesebben

Foglalkozási napló. Autógyártó 11. évfolyam

Foglalkozási napló. Autógyártó 11. évfolyam Foglalkozási napló a 20 /20. tanévre Autógyártó 11. évfolyam (OKJ száma: 34 521 01) szakma gyakorlati oktatásához A napló vezetéséért felelős: A napló megnyitásának dátuma: A napló lezárásának dátuma:

Részletesebben

SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK

SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK INFORMATIKA SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK Az emelt szint a középszint követelményeit magában foglalja, de azokat magasabb szinten kéri számon. 1. Információs társadalom 2. Informatikai alapismeretek - hardver

Részletesebben

Intelligens Technológiák gyakorlati alkalmazása

Intelligens Technológiák gyakorlati alkalmazása Intelligens Technológiák gyakorlati alkalmazása 13-14. Október 2016 Budaörs, Gyár u. 2. SMARTUS Zrt. SMARTUS Nyílt Nap 2016 11.10.2016 Page 1 Ütközésvédelem intelligensen! Németh Zoltán Területi értékesítési

Részletesebben

MIKROFYN GÉPVEZÉRLÉSEK. 2D megoldások:

MIKROFYN GÉPVEZÉRLÉSEK. 2D megoldások: MIKROFYN GÉPVEZÉRLÉSEK Néhány szó a gyártóról: Az 1987-es kezdés óta a Mikrofyn A/S a világ öt legnagyobb precíziós lézer és gépvezérlés gyártója közé lépett. A profitot visszaforgatta az új termékek fejlesztésébe

Részletesebben

Jogtár szolgáltatás elérése otthonról, Windows XP alól

Jogtár szolgáltatás elérése otthonról, Windows XP alól Eötvös Loránd Tudományegyetem Állam- és Jogtudományi Kar Tájékoztató Jogtár szolgáltatás elérése otthonról, Windows XP alól ELTE ÁJK 2007. Jogtár szolgáltatás elérése otthonról, Windows XP alól 3 Bevezető,

Részletesebben

Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel. Az objektumok áthaladnak a többi objektumon

Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel. Az objektumok áthaladnak a többi objektumon Bevezetés Ütközés detektálás Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel Az objektumok áthaladnak a többi objektumon A valósághű megjelenítés része Nem tisztán

Részletesebben

Mi van a Lajtner Machine hátterében?

Mi van a Lajtner Machine hátterében? 1 Mi van a Lajtner Machine hátterében? Ma egyeduralkodó álláspont, hogy a gondolat nem más, mint az agy elektromos (elektromágneses) jele. Ezek az elektromágneses jelek képesek elhagyni az agyat, kilépnek

Részletesebben

EDInet Connector telepítési segédlet

EDInet Connector telepítési segédlet EDInet Connector telepítési segédlet A cégünk által küldött e-mail-ben található linkre kattintva, a következő weboldal jelenik meg a böngészőben: Az EdinetConnectorInstall szövegre klikkelve(a képen pirossal

Részletesebben

A vasút életéhez. Örvény-áramú sínpálya vizsgáló a Shinkawa-tól. Certified by ISO9001 SHINKAWA

A vasút életéhez. Örvény-áramú sínpálya vizsgáló a Shinkawa-tól. Certified by ISO9001 SHINKAWA SHINKAWA Certified by ISO9001 Örvény-áramú sínpálya vizsgáló a Shinkawa-tól Technikai Jelentés A vasút életéhez A Shinkawa örvény-áramú sínpálya vizsgáló rendszer, gyors állapotmeghatározásra képes, még

Részletesebben

FTP Az FTP jelentése: File Transfer Protocol. Ennek a segítségével lehet távoli szerverek és a saját gépünk között nagyobb állományokat mozgatni. Ugyanez a módszer alkalmas arra, hogy a kari web-szerveren

Részletesebben

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

Transzformációk. Grafikus játékok fejlesztése Szécsi László 2013.02.26. t05-transform Transzformációk Grafikus játékok fejlesztése Szécsi László 2013.02.26. t05-transform Koordinátarendszerek: modelltér Koordinátarendszerek: világtér Koordinátarendszerek: kameratér up right z eye ahead

Részletesebben

Moduláris USB billentyűzet emulátor

Moduláris USB billentyűzet emulátor Moduláris USB billentyűzet emulátor Használati és programozási leírás 2016. április Ismertető A modul alkalmas általános célú HID eszközként a számítógéphez csatlakoztatva szabványos billentyűzet emulációjára.

Részletesebben

Járműinformatika Bevezetés

Járműinformatika Bevezetés Járműinformatika Bevezetés 2016/2017. tanév, II. félév Dr. Kovács Szilveszter E-mail: szkovacs@iit.uni-miskolc.hu Informatika Intézet 107/a. Tel: (46) 565-111 / 21-07 Autó elektronika az 1970-es években

Részletesebben

Erőforrás gazdálkodás a bevetésirányításban

Erőforrás gazdálkodás a bevetésirányításban Professzionális Mobiltávközlési Nap 2009 Új utakon az EDR Erőforrás gazdálkodás a bevetésirányításban Fornax ZRt. Nagy Zoltán Vezérigazgató helyettes Budapest, 2009. április 9. Tartalom 1. Kézzelfogható

Részletesebben

7. Koordináta méréstechnika

7. Koordináta méréstechnika 7. Koordináta méréstechnika Coordinate Measuring Machine: CMM, 3D-s mérőgép Egyiptomi piramis kövek mérése i.e. 1440 Egyiptomi mérővonalzó, Amenphotep fáraó (i.e. 1550) alkarjának hossza: 524mm A koordináta

Részletesebben

Haszongépj. Németh. Huba. és s Fejlesztési Budapest. Kutatási. Knorr-Bremse. 2004. November 17. Knorr-Bremse 19.11.

Haszongépj. Németh. Huba. és s Fejlesztési Budapest. Kutatási. Knorr-Bremse. 2004. November 17. Knorr-Bremse 19.11. Haszongépj pjármű fékrendszer intelligens vezérl rlése Németh Huba Knorr-Bremse Kutatási és s Fejlesztési si Központ, Budapest 2004. November 17. Knorr-Bremse 19.11.2004 Huba Németh 1 Tartalom Motiváció

Részletesebben

Egér - Kézi mutatóeszköz

Egér - Kézi mutatóeszköz Egér - Kézi mutatóeszköz Egerek a tenyér alatt A grafikus kezelőfelülettel rendelkező operációs rendszerek kezelése, de főleg a grafikus, képmanipuláló vagy a tervező szoftverek használata ma már szinte

Részletesebben

Dunaújvárosi Főiskola Informatikai Intézet. Intelligens ágensek. Dr. Seebauer Márta. főiskolai tanár

Dunaújvárosi Főiskola Informatikai Intézet. Intelligens ágensek. Dr. Seebauer Márta. főiskolai tanár Dunaújvárosi Főiskola Informatikai Intézet Intelligens ágensek Dr. Seebauer Márta főiskolai tanár seebauer.marta@szgti.bmf.hu Ágens Ágens (agent) bármi lehet, amit úgy tekinthetünk, hogy érzékelők (sensors)

Részletesebben

(Forrás:

(Forrás: Döntő 2017. február 18. Feladat: Okos autó Ma már sok autóba helyezhető olyan speciális eszköz létezik, amely "a gépjármű szabványos diagnosztikai portjára csatlakozik, majd egy felhő alapú informatikai

Részletesebben

SYS700-PLM Power Line Monitor modul DDC rendszerelemek, DIALOG-III család

SYS700-PLM Power Line Monitor modul DDC rendszerelemek, DIALOG-III család DDC rendszerelemek, DIALOG-III család KIVITEL ALKALMAZÁS A az energiaellátás minőségi jellemzőinek mérésére szolgáló szabadon programozható készülék. Épületfelügyeleti rendszerben (BMS), valamint önállóan

Részletesebben

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció H - 1161 Budapest Rákóczi út 76. Tel./Fax.: +36-1-4010159 http://www.pageos.hu toni@pageos.hu DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció A program használható a TOPOBASE

Részletesebben