Difference between revisions of "E-Puck Bludisko"
From RoboWiki
m |
|||
Line 76: | Line 76: | ||
==Zdrojové kódy== | ==Zdrojové kódy== | ||
− | [[Media:EPuck Wall.zip]] | + | [[Media:EPuck Wall.zip|Epuck Wall.zip]] |
==Galéria, Videá== | ==Galéria, Videá== | ||
− | + | <youtube>oJEwcnLYyW4</youtube> |
Revision as of 17:52, 22 June 2013
Contents
E-Puck v bludisku
E-Puck v bludisku, problém
- Problém, ktorý som riešil s robotom E-Puck bolo vytvoriť program pomocou, ktorého dokáže náš robot prejsť bludisko zostrojené z bielych stien a konečného bodu, steny odlíšenej od zvyšku bludiska rozdielnou farbou, v našom prípade čiernou, ktorá zabezpečuje dostatočné rozdiel v rozhraní a presne určuje koniec bludiska.
Robot E-Puck, Informácie
- E-Puck je robot kruhového tvaru s open-source hardwarom.
Parametre robota:
- Kruhová podstava s priemerom 7cm
- Výška robota 5cm
- Hmotnosť 200g
- Pamäť: 8kB RAM a 144kb FLASH
- dsPIC 30 CPU @ 30 MHz (15 MIPS)
- Bluetooth modul
- 8 IR senzorov, 8 LED diód v kruhu
- 3D akcelerometer
- 3 mikrofóny, reproduktor
- Farebná VGA kamera 640x480
- 2 kruhové motory (prevod 50:1)
Samotný robot E-Puck je programovateľný v jazyku C.
Komponetny robota a ich rozloženie
Viac o robotovi nájdete na:
- http://www.e-puck.org/
- http://en.wikipedia.org/wiki/E-puck_mobile_robot
- Kompletné knižnice a vzorové programy:
- http://www.e-puck.org/index.php?option=com_phocadownload&view=file&id=42:e-puck-svn-snapshot&Itemid=38
Programovanie a práca s robotom E-Puck
- Robota je možné programovať v prostredí MPLaB IDE, ktorý vytvára .hex súbor, ktorý sa ďalej pomocou bluetooth nahráva do samotného robota. Taktiež je potrebné nainštalovať najnovšiu verziu kompilátora MPLAB C Compiler for dsPIC DSCs.
Párovanie Bluetooth
Pre párovanie robota a počítača je potrebná inštalácia programu Tiny Bootloader,ktorý nám umožní spojenie a prenos nášho .hex súboru do samotného E-pucka.
- Spárujem počítač s E-puck zariadením, pre ďalšiu komunikáciu a prenos je potrebné zapamätať si COM príslušného BT spojenia.
- Po spárovaní zariadení nastavím program Tiny Bootloader a nižšie uvedené parametre a pri nahrávaní programu do E-Pucka stačím reset priamo na robotovi.
Užitočným pomocníkom pri práci s robotom je aj EpuckMonitor dostupný na stránke výrobcu.
Schémy pozícií diód a senzorov
Program a algoritmus riešenia bludiska
Reprezentácia bludiska
- Bludisko, pevných rozmerov, (maximálne 55x55) je reprezentované bielymi stenami a koncovou stenou čiernej farby.
Algoritmus Bludiska
- Pre vyriešenie bludiska využíva algoritmus robota 2 základné časti:
Vyhýbanie sa prekážkam
- Robot pomocou senzorov zaznamená prekážku a vyhodnocuje jej pozíci a „vyhýba sa jej“,Senzory odovzdávajú podnety motorov a algoritmus zabezpečuje opatrné prejdenie okolo prekážky a jej následné obídenie, čo využívam v daľšej časti pri riešení samotného problému bludiska.
Rozoznávanie čiernej
- Robot má implementovanú metódu na rozoznávanie čiernej farby, ktorá určuje koniec bludiska.
- Pokiaľ nie je splnená podmienka viditeľnosti tejto čiernej steny, robot vyhodnocuje prekážku, ktorá je pred ním a dáva signály svojím motorom na opatrný pohyb popri týchto prekážkach (vyhýbanie sa prekážkam). Robot vyhľadá pravú stenu bludiska, podľa ktorej sa orientuje a dané bludisko prehľadáva.
- Implementuj a inicializuj pole bludiska,
- Otáčaj sa a ak narazíš na pravú stenu bludiska, kopíruj jej pohyb, otačaním a pohybom motorov smere doprava
- Overuj farebnosť steny v blízkosti robota
- Pokiaľ sa podarilo nájsť čiernu stenu, zastav, rozsieť ledky.
- Robot je v cieli
Výsledok
- Výsledkom je robot schopný riešiť problém bludiska, tak ako je popísané v úvode. Robot je však veľmi pomalý a táto časová náročnosť je veľmi nepraktická.
Zdrojové kódy
Galéria, Videá