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



Hasonló dokumentumok
Robotkocsi mikrovezérlővel

Közbeszerzési Értesítő száma: 2015/108

Gyümölcsöző megoldások

A földi ellenôrzô berendezésekben alkalmazott programozási technikák

Fejlesztési tapasztalatok multifunkciós tananyagok előállításával kapcsolatban Nagy Sándor

MÉRÉS ÉS TESZTELÉS COBRA CONTROL. NATIONAL INSTRUMENTS Alliance Partner. GÖPEL ELECTRONIC és. DIGITALTEST disztribútor

TI TMDSEVM6472 rövid bemutatása

Joint Test Action Group (JTAG)

A DEBRECENI MÉRNÖK INFORMATIKUS KÉPZÉS TAPASZTALATAIRÓL. Kuki Attila Debreceni Egyetem, Informatikai Kar. Összefoglaló

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

FPGA áramkörök alkalmazásainak vizsgálata

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

IDAXA-PiroSTOP JFE RS485 intelligens repeater 2004/0177/0113 Terméklap

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

A ROBOTIKA ALKALMAZÁSÁNAK LEHETŐSÉGEI A HAD- ÉS BIZTONSÁGTECHNIKAI MÉRNÖK KÉPZÉSBEN

Mérési útmutató a Mobil Kommunikáció és Kvantumtechnológiák Laboratórium méréseihez

HELYSZÍN: RAMADA RESORT AQUAWORLD BUDAPEST IDÔPONT: OKTÓBER 27. REGISZTRÁCIÓ: HUNGARY.NI.COM/NIDAYS

Mezőgazdasági robot fejlesztése és jövőbeli bővíthetősége

Jövő Internet - kutatások az elmélettől az alkalmazásig. Eredménykommunikációs kiadvány

ARM mikrovezérlők programozása

FEDÉLZETI INERCIÁLIS ADATGYŰJTŐ RENDSZER ALKALMAZÁSA PILÓTA NÉLKÜLI REPÜLŐGÉPEKBEN BEVEZETÉS

Konfigurálható digitális műszerfal Bosch MonoMotronic befecskendezőrendszerhez

A diákok által fejlesztett ESEO műhold és ESMO holdszonda bemutatása, a hazai részvétel

Útmutató a hálózati és internetes kommunikációhoz

Kommunikáció és csatlakoztathatóság

GPT 9800 sorozatú nagyfeszültségű szigetelésvizsgálók

Mérő- és vezérlőberendezés megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Zárójelentés. Az autonóm mobil eszközök felhasználási területei, irányítási módszerek

Ügyfélkezelési és mobil nyomtatási megoldások

A HV-PCI6 VIDEODIGITALIZÁLÓ KÁRTYA ÉS ALKALMAZÁSAI (HV-PCI6 Video Digitizing Card and its Applications)

Gate Control okostelefon-alkalmazás

TÁVOKTATÁSI TANANYAGOK FEJLESZTÉSÉNEK MÓDSZERTANI KÉRDÉSEI

SATEL. CA-64 RIASZTÓKÖZPONT ( es szoftver verzió) Telepítési útmutató

StP Műszaki Fejlesztő, Gyártó és Kereskedelmi Kft.

A HALLGATÓK FELKÉSZÍTÉSE AZ E-LEARNINGBEN VALÓ RÉSZVÉTELRE A SZÉCHENYI ISTVÁN EGYETEMEN

DT920 Fordulatszámmérő

Aqua-Terra Lab Kft. Veszprém

IDAXA-PiroSTOP HI1 Hurokkezelő 1 intelligens hurokhoz 2004/0177/063 Terméklap

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

Beléptető- Munkaidő-nyilvántartó és parkoló rendszerek február

Mérési útmutató. Széchenyi István Egyetem Távközlési Tanszék. SDR rendszer vizsgálata. Labor gyakorlat 1 (NGB_TA009_1) laboratóriumi gyakorlathoz

ÓBUDAI EGYETEM Neumann János Informatikai Kar Informatikai Rendszerek Intézet Témavezető: Bringye Zsolt

Távvezérlés...ahogy megálmodta PROFESSZ IONÁLIS ELEKTRONIKUS TÁVVEZÉRLÉS

A Magyar Földgáztároló Zrt. részére a Zsanai Földgáztároló Siemens SIMATIC PCS7 folyamatirányító rendszer hardver és szoftver upgrade

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

TEE - Adásvételi szerződés keretében informatikai kutatási eszközök és szoftverek beszerzése a Pázmány Péter Katolikus Egyetem számára

Útmutató a hálózat és az internet használatához Asztali számítógépek vállalatok számára

SDN a különböző gyártói megközelítések tükrében

EMTP, EGY ÚJ LEVELEZÕ PROTOKOLL ÉS IMPLEMENTÁCIÓJA

DCN vezeték nélküli hozzászólói rendszer Ahol emberek találkoznak...

Az EuroProt készülékcsalád

Gate Control okostelefon-alkalmazás

Hardver leírás Klasszikus kontroller v.3.2.2

Mobil készülékek programozása

TruckClienter kamionhívó rendszer

Profi2A Axis Driver (telepítés)

VGN-TT21XN/B. Extrém stílus és hordozhatóság

A NIKK LOGISZTIKAI RENDSZEREK INFORMÁCIÓS TECHNOLÓGIÁJÁBAN ELÉRT EREDMÉNYEINEK BEMUTATÁSA

J-N-SZ MEGYEI HÁMORI ANDRÁS SZAKKÖZÉPISKOLA ÉS SZAKISKOLA

Önálló laboratórium dokumentáció

TRIMx-EP DIGITÁLIS SZINKRON KAPCSOLÁS TRANSZFORMÁTOROK. Alkalmazási terület

EUROFLEX-33 ESEMÉNY NYOMTATÓ. -felhasználói és telepítői leírás-

A TANTÁRGY ADATLAPJA

WorldSkills HU 2008 döntő Gyakorlati feladat

CoinLock, AutoPay érmés fizető automata termékcsalád

Bevezetés a Symbian operációs rendszerbe

Műszaki leírás. SoliDBank601-AN-C4 SoliDBank601-E-AN-C4 hangrögzítő berendezés. ML_BE_SB601-AN 4. kiadás. doc. rev.: 1159

FIR és IIR szűrők tervezése digitális jelfeldolgozás területén

APP & GO. Az innovatív megoldás

Antenna forgató elektronikus vezérlése visszajelzéssel

Vezeték nélküli, elosztott rendszerű jelzőlámpás forgalomirányítás

VLT Micro Drive. Kis frekvenciaváltó maximális terherbírás és megbízhatóság

A Debreceni Egyetem és a Nagyváradi Egyetem WiFi alapú helymeghatározó rendszere

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

11. Haladó ismeretek: személyi számítógépek

ProxerBoard System. Termékismertető

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

COCKEREL felügyelet. Tartalomjegyzék. 7+ Számítógép Hálózati Kft.

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

TELL AMR-08. Távfelügyeleti Vevő

Bevezetés, platformok. Léczfalvy Ádám

AUGMENTED REALITY KITERJESZTETT VALÓSÁG TARTALOMJEGYZÉK. Czéhner Tamás

SYS700-R ROUTER modul DDC rendszerelemek, DIALOG-III család

2004 Xilinx, Inc. All Rights Reserved. EDK Overview Xilinx, Inc. All Rights Reserved

ST talajhőmérséklet-mérő

ÉPÍTSÜNK ŰRSZONDÁT! - FIZIKATANÍTÁS ÉRDEKESEN

A DRÓNOK VESZÉLYFORRÁSAI

ENIGMA II. Távfelügyeleti Vevő

SITRANS F C MASSFLO Coriolis technológián alapuló tömegáram mérés. sitrans f

MARKATOR -TERMÉKSKÁLA JELÖLŐRENDSZEREK MV5 ZE 100 ÉS 101

PR402EN.doc. PR402 v1.0 Egyajtós beléptetõ rendszer FIRMWARE VERZIÓ Telepítési útmutató

Önálló labor és diplomaterv beszámolók

A COBRA CONTROL BEMUTATÁSA

MARKATOR -TERMÉKSKÁLA JELÖLŐRENDSZEREK MV5 ZE 100 ÉS 101

Többet látni. Többet nyújtani. Nyújtson még többet ügyfeleinek a Testo hõkamerájával! testo 880 csúcstechnológia új árdimenzióban.

BEACon TM. Verzió 2.0

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

M2M Easy 2 Security Communicator Műszaki leírás

Átírás:

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 szakos hallgató Debreceni Egyetem, Informatikai Kar, Informatikai rendszerek és hálózatok tanszék ABSTRACT An ongoing development at University of Debrecen, Faculty of Informatics is to convert a remote controlled all-terrain robot into an autonomous robot. In that process, a key role was devoted to understanding the original robot control software, as well as to design and implement a new software for both driving the robot motion parts and the newly developed sensors. A state-of-art report is presented. Keywords: robot, software, FPGA, GPS ÖSSZEFOGLALÓ A Debreceni Egyetem Informatikai Karán elkezdtünk átépíteni egy készen vásárolt távvezérelhető terepjáró robotot autonóm robottá. A munkában kulcsszerepe volt a robotot vezérlő szoftver megértésének, és annak alapján saját, a robotot meghajtását és az ahhoz illesztett saját érzékelők kezelését is megvalósító program implementálásának. Az ezt megvalósító munkát írjuk le. Kulcsszavak: robot, szoftver, FPGA, GPS BEVEZETÉS Egy jól működő robot megalkotása komoly feladat. Mechanikai, elektronikai és legtöbb esetben szoftverfejlesztés összehangolt folyamatát igényli. A fejlesztési idő rövidítésének egyik módja egy mechanikailag megfelelő, kész robot vásárlása, és annak hardveres és szoftveres átalakítása a kitűzött cél elérése érdekében. Fejlesztésünket olyan, speciális célokra használt terepjáró robotra[1] alapoztuk, amelynek mechanikai kiépítése nagyon stabil, de amelyet eredetileg csak a gyártó által megadott távvezérelt működési módban lehetett használni. A robot egy négy-kerék meghajtású jármű, melyet vezeték nélküli hálózaton keresztül tudunk irányítani. A kocsira egy IP kamera is rögzítve van, melynek képét figyelve egy kontrollerrel irányítani lehet az eszközt, viszont a robot autonóm mozgások megtételére nem alkalmas. Az első fontos feladat a szükséges mozgást vezérlő szoftverek fejlesztése volt. 1. VEZÉRLÉS EMBERI BEAVATKOZÁSSAL Az eszköz eredetileg a SuperDroidRobots nevű cég terméke, amelyet megvásárláskor as is módon bocsátottak rendelkezésünkre. A megfelelő szoftverek, telepítésük után, vezeték nélküli pontpont kapcsolaton keresztül biztosítottak lehetőséget a robot távvezérlésére, melyet a robot elején elhelyezett IP kamera képén lehetett nyomon követni. A gyártói dokumentáció csak a távirányítós működtetésre vonatkozott, nem támogatta az eszköz átépítését autonóm robottá.

1.1. A gyártó által szolgáltatott szoftvercsomag A robot mozgásáért felelős négy motort vezérlő elektronika kellően jól működött az alapcsomagban, ezért úgy döntöttünk, hogy azt addig nem cseréljük le, amíg nem szükséges kifinomultabb vezérlés kialakítása. A vezérlő elektronikához egy RS232 csatlakozóval kapcsoltak egy ipocket232 nevű eszközt, amely Ethernet csomagok adat része és UART frame-ek közötti kétirányú konverzióra volt konfigurálva. Ez az eszköz volt hozzákapcsolva a wireless bridge-hez, amellyel a távoli számítógépen futó VSP (Virtual Serial Port) program kommunikált. A VSP által létrehozott virtuális soros portra kellett a tényleges vezérlést irányító programmal csatlakozni. A szoftverek csak Windows operációs rendszerre lettek implementálva és működésükhöz Microsoft.NET 3.5 framework és DirectX 9.0c API csomag telepítését is igénylik (más verziókkal nem működik). 1.2. Az általunk elkészített szoftverek Az eredeti szoftveres megoldás függőségei miatt először egy sokkal hordozhatóbb verzió implementációját tűztük ki célul. Ennek megvalósításához meg kellett érteni a vezérlést, paramétereinek szerepét és az adatkommunikáció módját. Szükség volt továbbá (legalább a fejlesztés kezdeti fázisában) egyfajta szimulátorra, hogy az esetlegesen előforduló implementációs és algoritmus hibák ne károsíthassák a valódi berendezést. A fejlesztés során a gyári vezérlőprogram működtetése során, ismert funkciók működtetésével parancsokat küldtünk a vezérlőnek és a hálózati forgalom monitorozásával, a vezérlési paramétereket folyamatosan változtatva, sikerült azonosítanunk a vezérlő elektronika felé küldendő adatokat, azok reprezentációját, továbbá azt hogy milyen adatokat küld vissza a vezérlő egység. Az ezen információk birtokában, C nyelven implementált saját vezérlő programunk, a virtuális soros port kihagyásával, sikeresen mozgásra bírta a robotot. A robotot szimuláló program nemcsak az algoritmus és implementáció tesztelésekhez bizonyult rendkívül hasznosnak, hanem a későbbi off-line teszteléshez is. A későbbi fejlesztés eredményeként a vezérlő programot kibővítettük X Window System-en helyesen megjelenő virtuális joystick, és a népszerű VLC lejátszó API-jával történő kamerakép megjelenítés funkciókkal is. Ezen API-ok mindegyike nyílt forráskódú. A C nyelv elterjedtsége miatt a mozgást irányító programban használt adatkonverziós függvények nagyszámú mikroprocesszoron újrahasznosíthatók. 1. ábra A megvásárolt, illetve az általunk fejlesztett vezérlő szoftverek kezelői felülete futás közben

2. ÖNÁLLÓ MOZGÁS MEGVALÓSÍTÁSA Ahhoz hogy a robot önálló mozgásra is képes legyen, lehetőséget kell biztosítani a vezérlést végző szoftverek számára, hogy a robot mindenkori környezetéről információkat szerezhessenek. Ehhez szenzorokra van szükség. Fedélzeti számító egységként többféle lehetőséget is számba vettünk: gyors prototípus fejlesztésre laptop PCt használtunk, végleges megoldásként pedig FPGA alapú rendszert. A számítóegységet az eszközhöz rögzítjük. A jelen munkában egy (közép szintű) Altera DE2 Development and Education Board [2] fejlesztői kártyát használtunk. Ezzel párhuzamosan folyik egy magasabb szintű FPGA kártyán[3] is a fejlesztés, a további feladatok megoldására. 2.1. A GPS modul A robot tervezett megoldandó feladatai között szerepel, hogy önállóan jusson el egy GPS koordinátákkal megadott helyre Erre a célra egy GPS panelt készítettünk[4], amelyet a DE2 kártyához illesztettünk. A panelen egy Fastrax IT321 típusú chip kapott helyet, amely másodpercenként egyszer tudja a globális pozíciót a GPS jelből meghatározni. A chip UART protokollal kommunikál és az általunk használt konfigurációban automatikusan minden másodpercben egyszer kiküldi az NMEA 0183 specifikációnak megfelelő adatmondatokat. 2.2. Autonóm tesztút fedélzetre szerelt FPGA fejlesztői panellel A GPS panelt a DE2 kártyához illesztve, hozzákezdtünk egy olyan szoftver készítéséhez, amely önállóan mozgatja a robotot, közben pedig a GPS modul által lekérdezett koordinátákat naplózza. A robot vezérléséhez szükséges hardvermodulok megírása nagyon hosszú időt vett volna igénybe, ezért kezdésnek az Altera fejlesztői környezetében megtalálható előre elkészített paraméteresen generálható modulokat használtuk. Ezek között megtalálható egy processzor is, amelynek standard verziója az ingyenes verzióban is generálható és időkorlát nélkül használható. A fejlesztést megkönnyítette az Altera Qsys nevű rendszer építő programja, amellyel ezek közül kiválaszthatjuk a számunkra szükségeseket, a köztük lévő kapcsolatokat és a kapcsolatok kezeléséhez szükséges segédmodulokat. A rendszer ezután kigenerálható, majd egy saját készítésű modulban példányosítható. Az általunk készített rendszer tartalmaz egyet a következő modulokból: NIOS II/s processzort és a működéséhez szükséges modulokat, UART vezérlő a GPS modullal történő kommunikációhoz, UART a vezérlő elektronikával történő kommunikációhoz, LCD vezérlő modult, amely a DE2-es panelen megtalálható kijelző irányítására alkalmas, PIO modult, amely a processzoron futó program és a példányosító modulban használt regiszterek és vezetékek számára biztosít a rendszer által használt memóriában közös, ütközésmentes elérést, SRAM vezérlő modult, amely a kártyán található 512KB-os SRAM meghajtására alkalmas. Ezt a rendszert egy saját, Verilog HDL nyelven megírt modulban példányosítottuk és bekötöttük a megfelelő I/O vezetékeket a rendszerbe. Azért hogy a robotot veszély esetén le lehessen állítani, illetve csak akkor induljon el, amikor már megfelelő terepen vagyunk, a motorok felé irányuló UART modul kimeneti jelét egy kapcsolótól függővé tettük. A napló lementése céljából egy kapcsolót a rendszerben szereplő PIO bemenetére kötöttünk.

2. ábra A jelenlegi elrendezés blokkvázlata A processzorhoz tartozó fejlesztő környezettel generáltattunk egy úgynevezett Board Support Package-et, amelyben az Altera HAL minimális hardver absztrakciós réteget használtuk. Ez a csomag a rendszerben használt modulok Unix stílusú elérését teszi lehetővé, valamint további ANSI C header állományoknak megfeleltethető fájlokat tartalmaz. A program másodpercenként tárolja az aktuális koordinátákat a memóriában, amíg az erre szánt terület (500 koordináta pár) be nem telik. A PIO modulhoz rendelt kapcsoló állapotától függően a program az RS232-es porthoz kapcsolt UART modul kimeneteként a motoroknak szánt vezérlőmondatot vagy a tárolt koordinátákat küldi ki. A robot megállítása után csatlakoztatható egy PC-hez, a megfelelő kapcsoló elmozdítása után az adatok rögzítése egy terminálon keresztül könnyedén megoldható. 3. ábra Egy teszt út folyamán rögzített GPS koordinátáknak megfelelő pozíciók ( 2011 Google Ábrázolás 2011 GeoEye, Térképadatok 2011 Tele Atlas)

KONKLÚZIÓ ÉS JÖVŐBENI TERVEK A robot részegységei közötti kommunikáció és a vezérlési paraméterek megértése után lehetővé vált saját, hordozható vezérlőprogram írása. Első lépésként megszületett a robot távvezérlését végző, hordozható programcsomag; továbbá egy olyan, a robot fedélzetén működő alkalmazás, amely lehetővé teszi a robot tesztelése közben lekérdezett GPS koordináták utólagos vizsgálatát. A munka továbbfejlesztéseként most készül egy, a GPS és a fordulatszámmérők által szolgáltatott adatok összehasonlítására alkalmas alkalmazás. Távlati célunk egy a robotot relatív pozícióba eljuttatni képes szoftver fejlesztése is. Tapasztalataink alapján specifikálunk egy, az eszközkezelést leíró modellt, amely biztosítaná új szenzoroknak a rendszerhez történő dinamikus hozzáadását, a vezérelhető eszközökkel történő kommunikáció absztrakcióját, továbbá programozási interfészt nyújtana az irányítást végző programnak és lehetővé tenné, hogy bármilyen platformon implementálhassuk az ennek megfelelő komponenseket. Köszönetnyilvánítás A publikáció elkészítését a TÁMOP 4.2.1./B-09/1/KONV-2010-0007 és TÁMOP-4.2.2/B-10/1-2010-0024 számú projektek támogatták. A projektek az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósultak meg. HIVATKOZÁSOK [1] http://www.robotshop.com/eu/superdroids-4wd-wifi-controlled-atr-all-terrain-robot-eu.html [2] http://www.altera.com/education/univ/materials/boards/de2/unv-de2-board.html [3] http://sine.ni.com/nips/cds/view/p/lang/en/nid/205898 [4] Pógár et al, a konferencia anyagban.