Difference between revisions of "Mouse in Maze with robot E-Puck"
Line 1: | Line 1: | ||
+ | [[Image:APEC_2002_MicroMouse_Maze.jpg|right|thumb|280px|Príklad bludiska]] | ||
+ | |||
+ | == Myš v bludisku == | ||
+ | Problém myši v bludisku spočíva v zostrojení a naprogramovaní (v našom prípade sme pracovali už so zostrojeným robotom) robota, ktorý je schopný prejsť bludiskom za čo najkratší čas. | ||
+ | |||
+ | Bludisko pozostáva z mriežky zloženej zo štvorcov s rozmermi 18cm x 18cm. Počet štvorcov v mriežke je maximálne 16 x 16. Steny bludiska sú 5cm vysoké a 1,2cm hrubé. Celé bludisko je ohraničené stenami, vďaka čomu sa nemôže stať, že by ho robot opustil. Štart bludiska sa nachádza vždy v jednom zo štyroch rohov a cieľ tvorí štvorica štvorcov, medzi ktorými nie sú steny (2 x 2). | ||
+ | |||
+ | Robot môže prejsť bludisko viacej krát, ráta sa vždy najkratší čas, za ktorý sa robotovi podarilo prejsť zo štartu do cieľového štvorca. | ||
+ | |||
[[Image:Epuck_devices.png|right|thumb|280px|E puck - devices]] | [[Image:Epuck_devices.png|right|thumb|280px|E puck - devices]] | ||
− | E-puck je robot s open-source hardwareom. Podstava robota je kruhového tvaru s priemerom 7cm. Výška robota je 5cm a hmotnosť dosahuje 200g. Disponuje 8kB RAM a 144kB FLASH pamäťami, ôsmimi IR senzormi, farebnou VGA kamerou, 2 krokovými motormi s prevodom 50:1, vďaka ktorému je možné pohybovať s robotom rýchlosťou 13cm/s. | + | |
+ | == Základné informácie o robotovi E-puck == | ||
+ | E-puck je robot s open-source hardwareom. Podstava robota je kruhového tvaru s priemerom 7cm. Výška robota je 5cm a hmotnosť dosahuje 200g. Disponuje 8kB RAM a 144kB FLASH pamäťami, Bluetooth modulom, ôsmimi IR senzormi, 3D akcelerometrom, tromi mikrofónmi, reproduktorom, farebnou VGA kamerou, 2 krokovými motormi s prevodom 50:1, vďaka ktorému je možné pohybovať s robotom rýchlosťou 13cm/s. Robota je možné programovať v jazyku C. | ||
Viacej informácií o robotovi je možné nájsť na http://en.wikipedia.org/wiki/E-puck_mobile_robot | Viacej informácií o robotovi je možné nájsť na http://en.wikipedia.org/wiki/E-puck_mobile_robot | ||
+ | |||
+ | == Stratégia robota == | ||
+ | Kedže robot môže prejsť cez bludisko viacej krát a dôležitý je najkratší čas, rozhodli sme sa, že vhodnou stratégiou bude najprv namapovať a zapamätať si celé bludisko, vrátiť robota na štartovacie políčko, nájsť najkratšiu cestu do cieľa a ísť po nej. | ||
== Užitočné zistené fakty o robotovi == | == Užitočné zistené fakty o robotovi == |
Revision as of 22:18, 26 April 2011
Contents
Myš v bludisku
Problém myši v bludisku spočíva v zostrojení a naprogramovaní (v našom prípade sme pracovali už so zostrojeným robotom) robota, ktorý je schopný prejsť bludiskom za čo najkratší čas.
Bludisko pozostáva z mriežky zloženej zo štvorcov s rozmermi 18cm x 18cm. Počet štvorcov v mriežke je maximálne 16 x 16. Steny bludiska sú 5cm vysoké a 1,2cm hrubé. Celé bludisko je ohraničené stenami, vďaka čomu sa nemôže stať, že by ho robot opustil. Štart bludiska sa nachádza vždy v jednom zo štyroch rohov a cieľ tvorí štvorica štvorcov, medzi ktorými nie sú steny (2 x 2).
Robot môže prejsť bludisko viacej krát, ráta sa vždy najkratší čas, za ktorý sa robotovi podarilo prejsť zo štartu do cieľového štvorca.
Základné informácie o robotovi E-puck
E-puck je robot s open-source hardwareom. Podstava robota je kruhového tvaru s priemerom 7cm. Výška robota je 5cm a hmotnosť dosahuje 200g. Disponuje 8kB RAM a 144kB FLASH pamäťami, Bluetooth modulom, ôsmimi IR senzormi, 3D akcelerometrom, tromi mikrofónmi, reproduktorom, farebnou VGA kamerou, 2 krokovými motormi s prevodom 50:1, vďaka ktorému je možné pohybovať s robotom rýchlosťou 13cm/s. Robota je možné programovať v jazyku C.
Viacej informácií o robotovi je možné nájsť na http://en.wikipedia.org/wiki/E-puck_mobile_robot
Stratégia robota
Kedže robot môže prejsť cez bludisko viacej krát a dôležitý je najkratší čas, rozhodli sme sa, že vhodnou stratégiou bude najprv namapovať a zapamätať si celé bludisko, vrátiť robota na štartovacie políčko, nájsť najkratšiu cestu do cieľa a ísť po nej.
Užitočné zistené fakty o robotovi
- Robot má selektor na výber až 16tich módov, naraz v ňom ale môže byť nahraný len jeden program, teda nahraním nového programu sa prepíše pôvodný. Tento selektor sa však dá využiť v programe tak, že po výbere inej pozície a resetovaní, bude robot robiť niečo iné. Teda si môžme naprogramovať program, ktorý sa bude "tváriť", že obsahuje X rôznych programov a bude volať funkcie podľa aktuálnej pozície selektora.
-
Step counter(rátač krokov kolesa) ráta kroky do záporných hodnôt, ak je rýchlosť záporná (teda robot cúva), treba s tým rátať pri ohraničujúcich podmienkach.
-
Aj napriek step counteru nie je možné presne odsledovať koľko sa robotovi podarilo reálne prejsť, teda napr. raz sa môže otočiť o väčší raz o menší uhol. Toto patrilo medzi náš jediný veľký problém, pretože robot sa čoskoro vychýlil a začal narážať. Používanie senzorov, na vyhýbanie sa stenám, situáciu veľmi nezlepšilo, pretože robot chodil ešte krivšie a nepredvídateľnejšie. V našom poslednom kóde je verzia pohybu pri ktorej postupne zrýchľuje a spomaľuje, čo robotovi presnosť zvýšilo, ale na úkor rýchlosti.
-
Pozície led diód a senzorov na vzdialenosť nie sú umiestnené priamo nad sebou, čo je trochu nepraktické pri testovaní senzorov za pomoci rozsvietenia diód. Použiteľný je aj index 8, ktorý prestaví všetky led diódy naraz.
Pravidlá súťaže
http://www.robotika.sk/contest/2011/umouse.php
Ako začať
- Nainštalovať najnovšiu verziu MPLAB IDE http://www.microchip.com/Microchip.WWW.SecureSoftwareList/secsoftwaredownload.aspx?device=en019469&lang=en&ReturnURL=http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002#
-
Nainštalovať najnovšiu verziu kompilátora MPLAB C Compiler for dsPIC DSCs http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en535363
-
E-book getting started: http://www.e-puck.org/index.php?option=com_phocadownload&view=category&id=5:tutorials&Itemid=38
POZOR! Jedná sa o starú verziu, niektoré veci treba robiť ináč, dobrým zdrojom je tento link, na ktorom je popísané, čo konkrétne je uvedené nesprávne v príručke Getting Started: http://ssr.wikidot.com/cs198-e-pucks/
-
Aby sa program dal kopírovať cez bluetooth do robota, je potrebné ešte nainštalovať súbor spomínaný aj v návode vyššie "tinybld198", zo stránky http://www.etc.ugal.ro/cchiculita/software/tinyblddownload.htm kde treba ešte kliknúť na odkaz Download Tiny PIC Bootloader.
-
EpuckMonitor - umožňuje ovládať robota cez GUI, občas blbne (nepodarilo sa nám zobraziť obraz z kamery, zakaždým to zamrzlo) http://www.e-puck.org/index.php?option=com_phocadownload&view=file&id=46:epuckmonitor&Itemid=38
-
Kompletné knižnice a vzorové programy (pre aktuálnu verziu MPLAB IDE) http://www.e-puck.org/index.php?option=com_phocadownload&view=file&id=42:e-puck-svn-snapshot&Itemid=38
Naše výsledné kódy
V ZIP archíve sú dva programy. Maze je implementácia prechodu bludiskom. BTcom slúži ako demonštrácia posielania dát z robota do PC cez bluetooth. Táto ukážka posiela dáta získané cez I2C z kompasu. Media:MazeAndBTCompass.zip
Video nášho robota