17th „Building Services, Mechanical and Building Industry Days” International Conference, 13-14 October 2011, Debrecen, Hungary
NI LABVIEW ROBOTICS STARTER KIT VEZÉRLÉSE KÉZMOZGÁS ALAPJÁN HUSI Géza, tanszékvezető főiskolai docens Debreceni Egyetem Műszaki Kar;
[email protected] TÓTH Attila, egyetemi hallgató Debreceni Egyetem Műszaki Kar HUSI Géza, egyetemi hallgató Budapesti Műszaki és Gazdaságtudományi Egyetem, Villamosmérnöki és Informatikai Kar Kulcsszavak: National Instrumentsm, prototype robot, NI SbRIO-9631, FPGA Abstract: The NI SbRIO-9631 prototype robot is mobile electro-mechanic system suitable for planar displacement and orientation using an ultrasonic distance sensor. Its special hardware structure allows fast interfacing with sound- and image processing interface units for complex applications. This paper presents a new controlling mode of the NI LabVIEW Robotics Starter Kit by arm movement.
1. Bevezetés A mechatronikában önállóan működő, intelligens gépek tervezése a feladatunk. Gyakorlatban azonban többször előfordul olyan helyzet, amelyre a rendszer nincs felkészítve és külső beavatkozás szükséges. Az is előfordulhat, hogy valamilyen folyamat nem automatizálható és emberi irányítás szükséges a végrehajtásához. Erre a két problémára nyújthat megoldást a távvezérlés. A problémára ma már számtalan megoldás létezik: vezetékes technológiák (USB, soros- és párhuzamos kapcsolat, ethernet, vezetékes modem) és vezeték nélküliek (RF-modulok, infra, Bluetooth, wifi, GSM). A felsorolt eszközök közül a Bluetooth-t látszott a leginkább alkalmasnak arra, hogy emberi kéz mozgását közvetlenül egy autonóm robot mozgásának irányítására használjuk. El is készült egy változat1 amely jól működött, és az eredményei alkalmassá tették a robotot a továbbfejlesztésre, aminek a célja a robot kognitív tulajdonságainak fejlesztése volt. A kognitív robotok a szokásos tulajdonságok mellett újabb intelligens tulajdonságokkal is rendelkeznek. Az intelligens gép (robot) amely a környezetével kommunikálni tud alkalmas arra, hogy tanuljon és döntsön arról, hogy hogyan viselkedik bonyolult körülmények között. Kolozsváron Szász Csaba és tanítványai a robot hang- illetve képfeldolgozás alapján történő
Tóth Attila és Málnás Péter mechatronikai mérnök hallgatóka témában folytatott kutatómunkájukból TDK dolgozatot írtak BLUETOOTH KOMMUNIKÁCIÓ ÉS NXT címmel, amit 2011 áprilisában Baján az OTDK keretében is bemutattak. A TDK munkájuk konzulense Dr. Tóth János főiskolai docens (DE MK Villamosmérnöki és Mechatronikai tanszék) volt. 1
17th „Building Services, Mechanical and Building Industry Days” International Conference, 13-14 October 2011, Debrecen, Hungary
irányítására [4,5,6,], mi Debrecenben pedig a kézmozgás alapján történő irányítására vállalkoztunk annak érdekében, hogy ha ezek külön-külön jól működnek megpróbáljuk a Labview programokat egy VI-ba integrálni, a bemenetet multimodálissá (két vagy több input együttműködő használatára) alkalmassá tenni. A labVIEW-ban a programokat „virtuális műszernek” („virtual instrument”) VInak nevezik.
2. Az „NI LABVIEW robotics starter kit” prototípus robot hardware felépítése Az „NI LABVIEW robotics starter kit” prototípus robot a National Instruments cég SbRIO-9631 kártyával felszerelt mobilrobot. A robot egy mechanikus fémkeret szerkezetből áll, amelyre négy kerék van rögzítve, a fémkeretre pedig az elektronikus vezérlőrendszer van ráillesztve, ahogyan ez az 1-es ábrán is látható.
1. ábra. Az NI SbRIO robot felépítése [1] A kerék párok egy-egy fogaskerék szerkezeten keresztül össze van kapcsolva egy közös tengelyre, és mindegyik tengelyt egy 12 V névleges feszültségű Pitsco egyenáramú motor hajt meg. A motor névleges sebessége 152 fordulat/perc és a forgatónyomatéka ~ 2,11 Nm. A motorok tengelyek elfordulási helyzetének a meghatározására inkrementális forgó-jeladó szenzorok vannak kapcsolva (felbontása:l 400 impulzus/fordulat), amelyek a rotor szögelfordulását és a szögsebességét mérik. Ugyancsak a fémkeretre vannak felerősítve az akkumulátor elemek is, amelyek árammal táplálják a motorokat és az elektronikus vezérlőrendszert. A robot egy PING típusú ultrahangos szenzor-pár segítségével méri be a helyzetét a térben, és ezek segítségével sikerül elkerülnie az előtte 2 cm- 2 m távolságra lévő akadályokat. A fémkeret tetejére van a SbRIO-9631 FPGA alapú vezérlőkártya ráerősítve (2. ábra).
17th „Building Services, Mechanical and Building Industry Days” International Conference, 13-14 October 2011, Debrecen, Hungary
2. ábra. A robotvezérlő NI sbRIO-9631 FPGA alapú kártya Az robot hardver felépítésének elvi vázlata a 3. ábrán látható.
3. ábra. Az „NI LABVIEW robotics starter kit” felépítésének blokkvázlata [1]
17th „Building Services, Mechanical and Building Industry Days” International Conference, 13-14 October 2011, Debrecen, Hungary
A Xilinx Spartan-3 FPGA (Field Programmable Gate Array) áramkör köré tervezett SbRIO-9631 fejlesztőkártyára egy 266 MHz frekvencián működő, valós idejű alkalmazások futtatására alkalmas MPC5200 processzorral van szerelve. A kártyán található 110db digitális ki és bemenet, 32 darab 16 bites analóg bemenet, valamint 4 darab 16 bites analóg kimenet. Tartalmaz 3 darab soros C típusú kommunikációs csatornát (Mod1, Mod2, Mod3 lásd 2. ábrán), valamint internetes kommunikációra 10/100 Mbit/s ethernet portot (2. ábra) is. A beépített valós idejű kontroller áramkör biztosítja a csatlakozást a Web (HTTP) és állomány (FTP) kezelő szerverekre. Az egész vezérlőáramkört 19-30V között egyenáramú feszültségről lehet táplálni. [1].
3. A robot vezérlése kézmozgás alapján A vezérlés tervezésekor fontos szempont volt, hogy különböző módon tudjuk irányítani a robotot és későbbiekben ezeknek együttes alkalmazására is lehetőség nyíljon. A kézmozgás alapján történő vezérléshez először a kommunikáció módját kellett megválasztani és figyelembe kellett venni, hogy a robot mozgatása esetén a vezetékes megoldások csak korlátozottan jöhetnek szóba. Kézenfekvő megoldásként a Bluetooth technológia alkalmazása látszott a legcélszerűbbnek. A kiválasztott Bluetooth modul egy soros kommunikációt megvalósító eszköz, amely kétirányú adatkommunikációt tud biztosítani és a SbRIO-9631 fejlesztőkártya soros portjára csatlakoztatva az eszköz készen áll más Bluetooth-on kommunikáló eszközök csatlakoztatására is. Problémát jelentett, hogy a robot soros portja a PC-vel való kompatibilitás miatt RS-232 jelszintet használ, míg a Bluetooth modul 3,3 V-os jelszintet. Megoldást egy a MAX3232 IC jelentette, amely a két jelszint közötti feszültség átalakítást valósítja meg. A robotot vezérlését a Bluetooth-on keresztül egy mikrovezérlőre épülő áramkörrel oldottuk meg. A kézmozgás irányát és sebességét az eszközökben található gyorsulásmérő áramkörök segítségével tudjuk meghatározni. A mikrovezérlő viszonylag kevés számítási és memória kapacitással rendelkezik ezért csak annyi a feladata, hogy a gyorsulásmérőből kiolvasott nyers adatokat továbbítsa a Bluetooth-on keresztül a robot felé. A mozgás vezérléséhez szükséges számításokat maga a robot végzi és a kommunikációba kódolt adatokból a robot tudja, hogy éppen milyen eszközzel kommunikál és hogy milyen formátumban kapja az adatokat. A robot programja ennek függvényében az aktuális távirányítóhoz tartozó programrészt hajtja végre. Ennek megoldása azért fontos mert lehetőséget nyújt a későbbiekben más csatornákon érkező parancsoknak az együttes feldolgozására, az esetleges ellentmondások, megerősítések roboton belüli kiértékelésére. Ennek természetesen bizonyos határt szabnak a SbRIO-9631 fejlesztőkártya technikai jellemzői. Ez a mikrovezérlős távirányító két különálló részből áll, az irányítást végző személy mindkét kezében egy-egy egységet tart és ennek mozgatásával tudja a robotot irányítani. Mindkét kézben tartott eszköz tartalmaz gyorsulásmérő modulokat és a teljes rendszer vezeték nélkül kommunikál. A robot így áramkörönként 3
17th „Building Services, Mechanical and Building Industry Days” International Conference, 13-14 October 2011, Debrecen, Hungary
darab adatot kap a 𝑔⃗ gyorsulásvektor állásáról, a gyorsulásmérő IC-hez kötött koordinátarendszerében. Mivel a Bluetooth ezen üzemmódjában (SPP – soros port profil) csak egy az egyhez kapcsolatot tud kezelni, az egyik áramkör kommunikál közvetlenül a robottal, a másik áramkör pedig egyirányú kommunikációt valósít meg 868 MHz-es rádiómodulok segítségével a robottal kapcsolatot tartó áramkörrel. Ez a megoldás fogyasztásban sokkal alacsonyabb (költségekben is), mint újabb Bluetooth modulok alkalmazása. A rádiómodul egyik hátránya, hogy kimenetén egy jelszintet csak rövid ideig képes megtartani, majd oszcillálni kezd. Általános esetben ez nem probléma, mert a kommunikáció folyamatos, a bitek biztosan hamarabb változnak - hiszen az ember gesztikulál mozgatja a kezét például beszéd közben is -, minthogy az oszcilláció bekövetkezne. Jelentősebb probléma, hogy más eszközök is használják ezt a frekvenciát, a kommunikáció könnyen megzavarható. Ezért szükséges volt a két áramkör közötti kommunikációhoz az adatcsomagok alkalmazására. Az adatcsomag első bájtja az „a” utolsó bájtja „z” bináris kódja. Ha a vevő által kapott csomag ennek nem felel meg, a csomag érvénytelen és a vevő elveti a kapott adatokat. Egy ilyen sérült csomag még nem befolyásolja a robot mozgását, mert a csomagok folyamatosan érkeznek. A sikeres fogadás után az áramkör, amelyik a robottal kommunikál, saját 𝑔̅ helyzetét hozzáfűzve az előbb fogadott adatokhoz azokat Bluetooth-on, újabb csomagban elküldi a robotnak. A csomag szerkezet itt nem a hibák észlelésére szolgál, hanem ez informálja a robotot, hogy milyen eszköz csatlakozik hozzá. Ebben az esetben az első bájt 0 lesz. Ebből tudja a robot, hogy az általunk használt mikrovezérlős áramkörrel kommunikál. A csomag mérete ebben az esetben 7 bájt (1+3+3). A gyorsulásmérők a 𝑔̅ helyzetét analóg feszültséggel jelzik. Ezeket digitalizálva 8 biten tengelyenként 70-től 240-ig terjedő értékeket kapunk. Ezek nyers adatok, a robot ezekből számítja ki a mozgás sebességét és irányát. A fennmaradó kihasználatlan értékek felhasználhatóak speciális információk átadására. Ha a gyorsulásmérő modul szabadesést érzékel (mindhárom tengelyén a gyorsulás 0), a mikrovezérlő az X tengely értékét 255-re állítja be. Ezzel többlet információt adhatunk át a robotnak az adatfolyam méretének növekedése nélkül. A robot mozgására három üzemmód van kialakítva, melyek között az előidézett 𝑔̅ = 0 gyorsulással tudunk váltani. Az irányítás több üzemmódban is futhat. Az első üzemmódban a Bluetooth modult tartalmazó áramkör helyzete határozza meg a robot mozgásának irányát, a másik áramkör helyzete pedig a robot sebességét. Egy másik üzemmód amikor a két motor sebességét a két áramkör külön-külön vezérli vagyis az egyik oldali és a másik oldali motor sebességét külön lehet kézmozgás alapján meghatározni. A harmadik lehetőség, hogy a robot akkor indul el állandó sebességgel ha mind a két áramkör azonos irányban áll.
17th „Building Services, Mechanical and Building Industry Days” International Conference, 13-14 October 2011, Debrecen, Hungary
Összefoglalás Az alkalmazás fejlesztésének célja az volt, hogy tapasztalatokat szerezzünk a robotok nem szokványos irányításának lehetséges módjairól. A fejlesztés a második próbálkozásra a tesztelések szerint is eredményeket hozott. Valóban sikerült két eszközzel ami a kommunikációban részt vevő személy karjaira rögzíthető a robotot megfelelő módon irányítani. Ez azt jelenti, hogy bizonyos események együttes vagy egymás utáni bekövetkezésekor, annak kiértékelése után gyakorlatilag is lehetőség van a robot beavatkozó egységeinek bármilyen parancsot kiadni.
Felhasznált szakirodalom [1] NI LabVIEW Robotics Starter Kit, http://sine.ni.com/ds/app/doc/p/id/ds-217/lang/en [2] A Bluetooth rendszer http://studio.pataky.hu/edu/14p/tavkozlesi_halozatok/Bluetooth.pdf letöltve: 2010.10.04. [3] Bluetooth http://www.mcl.hu/~fazek/mobil_infokom_oravazlat/oravazlat_bluetooth.ppt letöltve: 2010.10.04. [4] Dr. Szász Csaba, Tobák Dénes: THE NI SBRIO-9631 PROTOTYPE ROBOT MULTI-MODAL COMMUICATION ABILITIES DEVELOPMENT 17th „Building Services, Mechanical and Building Industry Days” International Conference, 13-14 October 2011, Debrecen, Hungary [5] Dr. Szász Csaba, Zsurzsa László: SOUND PROCESSING ALORITHMS IMPLEMENTATION IN LABVIEW ENVIRONMENT FOR REMOTE CONTROL OF THE NI SBRIO-9631 PROTOTYPE ROBOT 17th „Building Services, Mechanical and Building Industry Days” International Conference, 13-14 October 2011, Debrecen, Hungary [6] Dr. Szász Csaba, Török Péter IMAGE PROCESSING ABILITIES IMPLEMENTATION UPPON NI SBRIO-9631 PROTOTYPE ROBOT INTERFACED WITH CVS-1454 VISION SYSTEM 17th „Building Services, Mechanical and Building Industry Days” International Conference, 13-14 October 2011, Debrecen, Hungary A fejlesztés a HuComTech projekte részére az Európai Unió és a Magyar Állam támogatásával, az Európai Szociális Alap és az Európai Regionális Fejlesztési Alap társfinanszírozásában a TÁMOP 4.2.-08/1/0008-0009 számú, Az ember-gép kommunikáció technológiájának elméleti alapjai címet viselő pályázat keretein belül jött létre.