Robotkommunikáció 1. rész



Hasonló dokumentumok
A LEGO Mindstorms EV3 programozása

Robotkéz. Évfolyam: 9. Iskola: Bányai Júlia Gimnázium, 6000 Kecskemét, nyíri u. 11.

6000 Kecskemét Nyíri út 11. Telefon: 76/ ; Fax: 76/ Gyakorló feladatok

VERSENYFELHÍVÁS. A verseny célja:

A B C NXT A B C. Szolga 1. Szolga 3. NXT. Szolga 2.

Robotkommunikáció 2. rész

Korszerű információs technológiák

GD Dollies Műszaki leírás

"Történjen bármi, a vetés mindig kihajt..."

BEÁGYAZOTT RENDSZEREK TERVEZÉSE UDP csomag küldése és fogadása beágyazott rendszerrel példa

VI. Robotprogramozó Országos Csapatverseny Döntő versenyfeladatok. 5. évfolyam

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás

A tanulók gyűjtsenek saját tapasztalatot az adott szenzorral mérhető tartomány határairól.

ROBOTIKA FELADATGYŰJTEMÉNY

A foglalkozás céljának eléréséhez a következő tevékenységeket végezzük el:

IV. LEGO Robotprogramozó Országos Csapatverseny

SZERZŐ: Kiss Róbert. Oldal1

A PR verziójának új funkciói HU

VI. Robotprogramozó Országos Csapatverseny évfolyam

PLC Versenyfeladat. XIV. Országos Irányítástechnikai Programozó Verseny Budapest, március Összeállította az EvoPro Kft.

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

nagyoknak kicsiknek SKOLÁBA ISKOLÁBA ISKOLÁBA ISKOLÁ PROGRAMOZÁS ROBOTIKA BEHOZZUK A ZÖLD ENERGIÁKAT AZ OSZTÁLYTERMEKBE

RÖVID LEÍRÁS: VIDEÓ: A ROBOT MEGÉPÍTÉSI IDEJE: ~1,5 óra ROBOTFACTORY ELTE, APÁCZAI CSERE JÁNOS

Robotika. Relatív helymeghatározás Odometria

SZERZŐ: Kiss Róbert. Oldal1

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

A FOGLAKOZÁS ADATAI: SZERZŐ. Kiss Róbert. Körhinta A FOGLALKOZÁS CÍME A FOGLALKOZÁS RÖVID

1. Mozgás Magyar Attila

Intelligens biztonsági megoldások. Távfelügyelet

Informatikai alapismeretek

Nyomtató telepítése. 1. ábra Nyomtatók és faxok Nyomtató hozzáadása

CAMLAND Beruházás-megfigyelő

Csapat: Feladat: Ismertetni:

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL)

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

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

Gyors-programozási Segédlet

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

EGYSZERŰ GÉPEK. Azok az eszközök, amelyekkel kedvezőbbé lehet tenni az erőhatás nagyságát, irányát, támadáspontjának helyét.

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

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

Robotkocsi mikrovezérlővel

A FOGLAKOZÁS ADATAI: SZERZŐ. Vindics Dóra. Vezérelj robotot! A FOGLALKOZÁS CÍME A FOGLALKOZÁS RÖVID

Örömmel értesítjük, hogy csapatuk bejutott a verseny döntőjébe!

Garázsajtó nyitó (R-1350 G)

Perifériáknak nevezzük a számítógép központi egységéhez kívülről csatlakozó eszközöket, melyek az adatok ki- vagy bevitelét, illetve megjelenítését

Fordulékonyabbak az új rakodók

Felhasználói kézikönyv

Beachside FAMILY. Kombinált Infraszauna HASZNÁLATI ÚTMUTATÓ

Garázsajtó nyitó (R-1350 G)

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

GOKI GQ-8505B 8 CSATORNÁS KÉPOSZTÓ. Felhasználói kézikönyv

Fényerő Fókuszálás Fénymező mérete. Videó kamerával (opció)

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

SMART Board 885ix interaktív táblarendszer

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

Számítógépes alapismeretek 1.

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

LED DRIVER 6. 6 csatornás 12-24V-os LED meghajtó. (RDM Kompatibilis) Kezelési útmutató

(11) Lajstromszám: E (13) T2 EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA

Garázsajtó nyitó R-1350 G

Örökmozgók. 10. évfolyam

SZERZŐ: Kiss Róbert. Oldal1

Készítette: X. Y. 12.F. Konzulens tanár: W. Z.

A háttértárak a program- és adattárolás eszközei.

Csőmotor Redőnyhöz Oximo WT motorok

RFID-val támogatott eszközleltár

Negatív alapú számrendszerek

Forgattyús tengely alátámasztás: Állítható magasságú kézi fogantyú: Alumínium présöntvény ház:

Járműkövető rendszer RÉSZLETES ISMERTETŐ

Használati útmutató. JY-M19-CW típusú (KM0160) vezeték nélküli Km óra

e 120 KÁRTYÁS KÖZPONTI ZÁR VEZÉRLŐ KÉSZÜLÉK (K-CARD)

Garázsajtó nyitó R-1350 G

DENER Plazmavágók. Típus: Mitsubishi DNR-I 1530 CNC. Dener plazmavágás. Dener plazmavágók.

ASTER motorok. Felszerelési és használati utasítás

CS Lilin PIH-800II. Kezelő

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Fogas kérdés. avagy dióhéjban a városmajori kisiklásokról.

Irányítástechnika fejlődési irányai

RSC-2R. Wireless Modem RS232, RS232 vonalhosszabbító, RS 232 / Rádió konverter

A FOGLAKOZÁS ADATAI: SZERZŐ. Virga Krisztina A FOGLALKOZÁS CÍME. Húzd meg jobban, menjen a munka! Modellezzünk raktárt! A FOGLALKOZÁS RÖVID

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

Kincsem Park (biztonsági rendszerterv vázlat)

Az utóbbi állításnál a képlettel bizonyítható az állítás helyessége, mivel erő szorozva erőkarral

GIS Open 2011 Székesfehérvár Leica Viva Integrált felmérés eszközei Leica Viva Képalkotási Technológiák Horváth Zsolt Leica Geosystems Hungary Kft

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

Felhasználói kézikönyv CIKKSZÁM: M070704L + C120W Installálás és beüzemelés előtt figyelmesen olvassa el!

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

Felhasználói Kézikönyv. Rii i7. Multimédiás Távirányító

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

Z-E3215. Beszerelési útmutató BMW

DC motor= egyenáramú motor, villanymotor vezérlése micro:bittel:

Járműinformatika Bevezetés

A., BEMENETI EGYSÉGEK

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

GIS Open D GEOSOLUTIONS HUNGARY KFT Váradi Attila: Trimble SX10 Minden az EGYben PREMIER

Virtuális hegesztés. A jövő kiképzési módja

Gépjármű Diagnosztika. Szabó József Zoltán Főiskolai adjunktus BMF Mechatronika és Autótechnika Intézet

ÁGAPRÍTÓ GÉPEK AY cm AY cm AY cm AY cm

Átírás:

Barna Zsombor, Kiss Ádám Robotkommunikáció 1. rész BEVEZETŐ ÉS PROJEKTSPECIFIKÁCIÓ A kommunikáció az információcsere folyamata. Minden olyan eseményt tekintsünk kommunikációnak, amelyben valamely dolog (adó) kibocsát egy jelet, amelyre egy másik dolog (vevő) valamilyen válaszfolyamattal reagál. Az állatvilágban is megfigyelhető a kommunikáció számos formája. A különböző fajok nagyon eltérő jelrendszert használnak a kommunikációjuk során. Ez lehet hang, szín, illat, mozgás, Az emberi kommunikációnak is nagyon sok formája és közege létezik. Információt hordozhat pl.: a hangsúly, a mimika, a mozgás. Az informatika alapvetően a kommunikációra épül, akár hálózati számítógépek közötti kommunikációról van szó, akár egyetlen számítógép különböző hardver vagy szoftver eszközeiről. A számítástechnika fejlődése maga után vonta a robotika megjelenését és fejlődését is. Az 1960-as évek elejétől beszélhetünk mobil- illetve ipari robotokról. Ettől kezdve felgyorsult a robotika fejlődése. Bár a science fiction irodalomban vázolt intelligens robotok megjelenésétől még távol vagyunk, de a mesterséges intelligencia kutatásnak már vannak eredményei. A robotok közötti kommunikáció pedig korlátlan lehetőségeket biztosít. A projektünkben a robotkommunikációnak egy evolúcióját mutatjuk be abban az értelemben, hogy egyre összetettebb, bonyolultabb kommunikációs technikát használunk. Eszközként a MINDSTORMS NXT robotokat alkalmazzuk, amelyek rendelkeznek beépített bluetooth alapú adó-vevővel. Tehát a kommunikációs csatornaként rádióhullámokat használunk. A Mindtsorms NXT robotok kommunikációjának technikai részleteit röviden bemutatjuk, hogy a további specifikáció érthető legyen. Összesen négy NXT minikomputer kapcsolható össze alapesetben bluetooth-on hálózattá. Ezek közül az egyiknek kitüntetett szerepe van, ez a master robot, a többi a slave. A slave robotok csak a masteren keresztül küldhetnek üzeneteket egymásnak (az üzenet lehet szám, szöveg, vagy logikai érték). A kapcsolat létrehozása során a master roboton meg kell adni az adott slave melyik kommunikációs csatornára kapcsolódik (1-es, 2- es, vagy 3-as). Minden minikomputer tartalmaz 10 db mailboxot, amelyek puffer jellegű tárolók, a küldött adatok tárolására. Tehát egy robot 10 különböző értéket tud egyszerre kommunikációs szempontból tárolni (a puffer kiürítésével ezek a tárolók újra használhatók). Az információküldés során az adat a pufferbe kerül, a tényleges továbbítás még nem történik meg. Az olvasási művelet során kerül át az adat az egyik robotról a másikra, így minden robot lehet master és slave is, hiszen nincs szükség többletpufferekre. 1.a alprojekt Egyirányú kommunikáció. A konstrukció két NXT minikomputert tartalmaz. Az egyik egy egyszerű lánctalpas jármű, amely mozgását két szervo motor biztosítja, mindkét lánctalpnál egy-egy. A másik egy távirányító, amely szintén két szervo motort tartalmaz. Ezekre a motorokra szerelt karok elfordításával lehet a járművet irányítani. A távvezérlő botkormányának elfordulási szögét küldi át a robot bluetooth-on a járműnek, amely az elfordulási szög nagyságát használja fel a motor sebességeként. A két botkormány vezérli 1

tehát a két motort, mindkettő egyet-egyet. Pl.: a távvezérlő bal oldali botkormányának 80o-kal történő elfordítása a jármű bal oldali motorjának 80-as sebességű forgását fogja jelenteni (maximum: 100). Az ellentétes irányú mozgást egy-egy vezérlő gomb (touch szenzor) szabályozza. Ennek megnyomására a távvezérlő megváltoztatja a mért elfordulási szög előjelét, így a negatív szög ellentétes forgásirányt eredményez. A jármű nem küld vissza adatokat, csak fogadja és végrehajtja a távvezérlő jeleit, így a kommunikáció egyirányú. Távirányító Lánctalpas jármű 1.b alprojekt Kétirányú, különböző csatornás kommunikáció. Az 1a alprojektben bemutatott távirányítási módszer csak abban az esetben működik, ha robot belátható helyen van, hiszen a távirányítót ember kezeli és a vizuális információi alapján adja ki az utasításokat. A beláthatóság kritériuma könnyen mellőzhető. Ha a robotra egy kamerát helyezünk, amely a képet folyamatosan közvetíti pl. egy számítógépre, akkor nem szükséges, hogy közvetlen rálátás nyíljon a robotra. A kommunikáció csak látszólagosan vált a robotok szempontjából kétirányúvá, hiszen a wireless kamera képét nem a robot továbbítja, ő csak hordozóként vesz részt a visszafelé irányuló kommunikációban. A vezérlő utasításokat továbbra is a távvezérlőn keresztül kapja a robot, kiegészítve egy harmadik motorral, amely a kamera körbeforgatását teszi lehetővé. Wireless kamera Kamerával felszerelt robot A kommunikáció tehát kétirányú ugyan, de a két irány különböző csatornán zajlik (wireless és bluetooth). A konstrukció jól használható olyan helyeken, ahová az akadályok miatt az ember nem képes bejutni. A konstrukciók és a programok részletes leírása a későbbiekben. 2

2. alprojekt Kétirányú, azonos csatornás kommunikáció. A wireless kamera jelét nem képes a robot továbbítani a bluetooth technológia átviteli sebessége miatt. A tényleges kétirányú kommunikációhoz nem kameraképet sugárzunk, hanem ultrahangos távolságérzékelővel mért távolságadatokat. Tehát a robotot továbbra is egy távirányító vezérli, de járműre szerelt ultrahangszenzor képes 180 o -os látószöggel szkennelni a környezetét. Az így mért távolságértékeket bluetooth-on visszaküldi a távvezérlőnek, amely LCD képernyőjén megjeleníti a radarjeleket (miután a polár-koordinátákat descartes-koordinátákká transzformálja). Most már valódi kétirányú kommunikációról van szó, hiszen a robotok odavissza ugyanazon a csatornán cserélnek információt. A radarkép alapján a távvezérlőt még mindig egy ember irányítja. A kamerás megoldáshoz képest az előny, hogy a használt ultrahang technológia miatt nincs szükség fényre a környezet észleléséhez, így sötétben is teljes hatékonysággal működik. Az elkészített járműkonstrukció lényegesen bonyolultabb, mint a korábbiak. Két hajtott és két pár forduló kerékkel rendelkezik. A hajtott kerekek differenciálműhöz csatlakoznak, míg a forduló kerekek felfüggesztése mozgatható és rugalmas, valamint az első illetve hátsó kerékpár szinkronban, de ellentétesen fordul. A konstrukció és a programok részletes leírása a későbbiekben. Távirányító Radaros jármű 3

3. alprojekt (lásd: Robotkommunikáció 2. rész) Autonóm robotkommunikáció. Amennyiben a kommunikációs folyamatból az emberi tényezőt is ki szeretnénk zárni, akkor olyan információ feldolgozó programot kellene írni az előző alprojektben bemutatott konstrukcióhoz, amely meghaladja az NXT minikomputer lehetőségeit, hiszen a beérkező radarjelek feldolgozását a minikomputernek kellene önállóan elvégezni. Így egy másik példán keresztül szemléltetjük a folyamatot. Az elmúlt évi Szabadfogású számítógép versenyen már bemutatott robotkéz konstrukció egy lényegesen továbbfejlesztett változatát készítettük el. Elkészült két kéz, egy jobb és egy bal. A két kéz a közismert kő-papír-olló játékot játszza egymással, emberi beavatkozás nélkül. Mindkét kéz két-két NXT minikomputert tartalmaz, és a teljes játékot egy különálló egység vezérli (automatikusan). Összesen 5 db NXT tégla kommunikál egymással. Azért, hogy az emberi tevékenységet ne zárjuk ki teljesen, a konstrukciót kiegészítettük egy fogadó egységgel, amelyen keresztül téteket lehet feltenni arra, hogy melyik kéz nyeri a játékot. A játék látványos, és helyenként intelligensnek tűnő módon viselkednek a kezek, hiszen egymás információira reagálnak, de a háttérben a véletlenszám előállítás dominál, amelyre egyszerű döntési algoritmusok épülnek. Ezeknek a döntési algoritmusoknak a mesterséges intelligencia előállítása szempontjából is nagy szerepük van, hiszen az emberi irányítási folyamat nagy része is ezen alapul (információk alapján a cél érdekében döntéseket hozni). A konstrukciós és programozási részletek a továbbiakban olvashatók. A KONSTRUKCIÓK (HARDVER) BEMUTATÁSA Mint az előbbiekben mát leírtuk, három pályamunkánkkal neveztünk mellyel a robotok közötti kommunikáció különböző rétegeit mutatjuk be. Az alábbiakban a konstrukciókról esik néhány szó. 1.a és 1.b alprojekt konstrukciói. Ebben az esetben megpróbáltuk a legminimálisabb szintre szorítani a robot felépítésének komplexitását. (Occam borotvája vagy Murphy törvénye: Ami elromolhat, az el is romlik.) A jármű robot két lánctalpból, ezeket meghajtó két motorból, valamit egy intelligens NXT mini komputerből áll. Kiegészítésként rászereltünk egy 360 fokban körbeforgatható forgózsámolyt, melyre egy wireless mini videokamerát erősítettünk (1.b alprojekt). A kommunikáció mikéntje ezzel nem változott, azonban erről majd a későbbiekben. A forgózsámoly meghajtásáért egy, az alatta elhelyezett motor felel, melytől a meghajtás egy 90 fokban elfordított áttétel segítségével jut el a forgózsámolyig. A lánctalpak meghajtása 4

annyiban egyszerűbb, hogy itt a motorok közvetlenül a lánctalp csillagkerekeinek tengelyeihez csatlakoznak, minden áttétel nélkül. Többek közt ez adja a robot nagyfokú mozgékonyságát. A robot hátrányai közé tartozik aszimmetrikus felépítése mely megnehezíti az irányíthatóságot. És most essen pár szó a távvezérlőről is. A konstrukció itt is szinte minimalista kivitelben készült el. A távvezérlő két oldalán található karok a sebességváltoztatást szolgálják oldalhelyesen (a távvezérlő jobb karja a robot jobb oldali motorját vezérli). A motorok alatt elhelyezésre került két nyomógomb, amelyek az irányváltásért felelősek. Mintha a robotot fékezés nélkül hátramenetbe kapcsolnánk. A tégla középen helyezkedik el, ezzel elősegítve a kényelmesebb fogást és a súlyponti stabilizációt. A forgózsámolyt vezérlő motor a távvezérlő elülső felén, középen található, jobbra fordításánál a kamera jobbra kezd el forogni és fordítva. A robot alkalmas, ember számára nem megközelíthető helyek felderítésére. Azonban túlságosan egyenetlen terepen való mozgásra magas súlypontja miatt nem használható. A robot továbbfejleszthető egy elülső és egy hátulsó traktussal, melyek segítségével a lejtők megmászására is alkalmassá lehetne tenni. Ezen kívül a távvezérlőn kényelmesebb fogást lehetne kialakítani. 2. alprojekt konstrukció. A következő robotunk a kétirányú kommunikációt szemlélteti. A robot felépítése ebben az esetben inkább egy közúti járműre emlékeztet. Középső kerékpárja hajtott, valamit ez rendelkezik felfüggesztésekkel. Az elülső és hátsó kerékpárok az alap (párhuzamos) állapothoz képest mindkét irányban 45-45 fokot képesek kitérni. A jármű a megszokott két fordulókerék helyett néggyel rendelkezik, így a fordulókör jóval lecsökken, ennek köszönhetően a robot meglepően kis helyen, akár egy 30 cm átmérőjű körben képes megfordulni. Azonban a fordulókerékkel rendelkező járművek egyik problémája itt is kiütközött, miszerint a körön forduló járműveknél a külső íven forduló kerekeknek gyorsabban kell fordulniuk, mint a belsőknek. A merev tengelyű járművek erre nem képesek, viszont ha megszakítjuk, az összeköttetést a kerekek között, egy motorral nem lehet őket meghajtani, így egy az életnagyságú járműveknél bevált megoldáshoz folyamodtunk és beépítettünk egy differenciálművet. Mint a neve mutatja, ez a szerkezet kiegyenlíti a különbséget a két oldalsó kerék fordulatszáma között, valamit szükség esetén megengedi az eltérést. 5

A differenciálmű egy fogaskerékbe összeszerelt fogaskerékrendszer, melyen belül a fogaskerekek képesek függetlenül a háztól elfordulni. A képen mindez jól megfigyelhető. A hat kerék közül melyekkel a robot rendelkezik csak kettő hajtott. A maradék négy, úgynevezett szabadon futó kerék, melyeknél így nem lép föl fordulatszám különbség probléma. Ezen 4 kerék tengelyszögének változtatásáért 1 motor felelős. Mivel a robot alváza fölött rögzített tengely fordítja mind a két pár kereket ezért forgásszinkronizációs problémáink sincsenek. A Kerekek ki és befordításáért egy fogaslécsor felelős, míg a tengelyt egy 30-szoros áttételű fogaskerék áttétel forgatja, ezáltal a kerékfordítás esetleges egy fokos hibája egy harmincad fokra csökken. A tégla az alváz fölött nem sokkal helyezkedi el, ezáltal tartva alacsonyan a robot súlypontját, ezzel is erősítve a stabilitást. A stabilitásért felelős még a két középső, hajtott keréken elhelyezett egy centi magasságváltozást tolerálni képes felfüggesztés, valamint, egy a rovarvilágból merített ötlet. A robot középső kerekeinek távolsága nagyobb, mint a másik két párnál. ezáltal is növelve az alátámasztási felületet. A robot csak akkor borul fel, ha a súlypont kimozdul az alátámasztás fölül, azonban mivel a súlypontunk igen alacsonyan van, a robot akár hatvan fokos oldalirányú megdöntés esetén is a kerekeire érkezik vissza. A robot elején elhelyezésre került egy az előző roboton látotthoz hasonló forgózsámoly. Ezúttal azonban kamera helyett egy ultrahangszenzor került rá, mellyel a robot akár sötétben is képes kitapogatni a környezetét. Az áttétel ez esetben is igen nagy, így csökkentve a hibahatárt. Az érzékelő az alvázhoz van rögzítve, így menet közben sem remeg. A robot alváza igen vastag, mivel itt került elhelyezésre a három motorból kettő valamit a differenciálmű. A következőkben essen pár szó a távvezérlőről. A jobb oldalon található kar segítségével a sebesség tetszés szerint növelhető vagy csökkenthető. Azonban az elfordulást két nyomógombbal lehet vezérelni, melyek konstansértékkel fordítják el a kerekeket. A távvezérlőn még két gomb található melyek közül az egyikkel az ultrahangszenzoros mintavételezést lehet elindítani. Mivel a robotot arra terveztük, hogy nem belátható terepen is lehessen irányítani, ezért az ultrahangos letapogatás alapján, a távvezérlő képernyőjére rajzolt kép ugyan tájékoztat a környezeti terepviszonyokról, de ez alapján a robotot csak abban az esetben lehet irányítani, ha fordítás során azt is látjuk a képernyőn, hogy az eleje éppen merre 6

néz. Ezért a programba beépítettünk egy olyan pozíciómeghatározó algoritmust, amely képes egy irányvektort mozgatva a képernyőn megjeleníteni a robot aktuális előre irányát. A második nyomógomb ezt a funkciót aktivizálja és jeleníti meg a távvezérlő képernyőjén a vektort. Mindezekkel együtt a távirányító inkább asztalra vagy sima felületre letéve használhatóbb, mintsem kézben tartva, ellentétben az előzőkkel (1.a és 1.b alprojekt távvezérlői). A terepviszonyok és a radarkép, valamint az irányvektor képernyőn megjelenő képe (részletesebb szemléltetés a mellékelt videón). A terepviszonyok. A terepviszonyoknak megfelelő radarkép. Az irányvektor pozíciója a képernyőn (más terepviszonyok mellett). 7

A PROGRAMOK (FORRÁSKÓD) BEMUTATÁSA Mivel négy konstrukció készült el a projekt keretei között, ezért a hosszú és részletes bemutatás elkerülése érdekében csak a 3. alprojekthez készült forráskódot mutatjuk be részletesen. Valamennyi forráskódot tartalmazó állomány szerepel a CD mellékleten az egyes utasításokhoz fűzött kommentekkel együtt. A forráskódok Bricx Command Center keretprogrammal készültek. Alapvetően a C nyelvi struktúrájúak. 1.a és 1.b alprojektek forrsákódjai Mindkét esetben két program szükséges a konstrukció működtetéséhez. A master robot a távvezérlő és a kommunikációs kapcsolatban a slave szerepét tölti be a jármű. A távvezérlő programjának elve, hogy a minikomputerhez csatlakoztatott két szervo motor elfordulási szögét olvassuk ki és tároljuk egy-egy változóban. Ezeket az egész értékeket küldi át a master robot bluetooth-on a járműnek, amely a két motorjának sebesség értékeként használja fel a számokat. Minél nagyobb szöggel fordítottuk el a távvezérlő motorjára szerelt botkormányt, annál nagyobb sebességgel forog a jármű adott motorja. A bal oldali szervo elfordulási szögét a jármű bal oldali motorjának sebességparamétereként használjuk, míg a jobb oldalit hasonlóan. Az 1.b alprojektben egy harmadik szervo motort is tartalmaz a konstrukció, amely a járműre szerelt kamerát forgatja. A távvezérlőre is felkerült ennek megfelelően egy harmadik motor, amely az irányítást szabályozza. A különböző irányú mozgásokhoz két különböző elvet használtunk. A motorok mozgatása esetén az irányváltást egy-egy nyomógomb benyomása biztosítja, amely -1-el megszorozza a mért elfordulási szög értékét, így az előjelváltás ellentétes irányú forgatást eredményez. A kamera mozgatásánál az elfordulási szöget eleve előjelesen mérjük, így ott nincs szükség a szorzásra, csupán a kapott érték bluetooth-on keresztüli átküldésére. A távvezérlő program forráskódja (Egyirany_master.nxc): 8

9

A slave jaármű programjának forráskódja (Egyirany_slave.nxc): 2. alprojekt forrsákódjai A távvezérlő programjának kommentekkel ellátott forráskódja (Ketirany_master.nxc): 10

A távvezérlő programjának kommentekkel ellátott forráskódja (Ketirany_slave.nxc): 11

12

13

A projektek elkészítése során használt szoftverek, források Szoftverek Képszerkesztés Video szerkesztés PIP video szerkesztés Wireless képátvitel Programozói szoftverkörnyezet A programírás során felhasznált források Kiss Róbert, Pásztor Attila: Mobil robotok programozása NXC és NXT-G nyelven, Kecskeméti Főiskola GAMF Kar, főiskolai jegyzet, 2009 Kiss Róbert, Badó Zsolt: Egyszerű robotika A Mindstorms NXT robotok programozásának alapjai, National Instruments Hungary, elektronikus könyv, 2010 Dave Baum: NQC Programmer's Guide, elektronikus könyv, 2003 Doxygen: NXC Version 1.2.1 r4, elektronikus könyv, 2010 14