E-Puck Bludisko

From RoboWiki
Jump to: navigation, search
E puck

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.

E puck v bludisku E puck v bludisku

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

E puck - komponenty

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.

  1. 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.
  2. 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.

TinyBootloader

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

E-puck - pozície diód E-puck - pozície 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.
  1. Implementuj a inicializuj pole bludiska,
  2. Otáčaj sa a ak narazíš na pravú stenu bludiska, kopíruj jej pohyb, otačaním a pohybom motorov smere doprava
  3. Overuj farebnosť steny v blízkosti robota
  4. Pokiaľ sa podarilo nájsť čiernu stenu, zastav, rozsieť ledky.
  5. 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

Epuck Wall.zip

Galéria, Videá