Mouse in Maze with robot E-Puck

From RoboWiki
Revision as of 22:19, 26 April 2011 by Robot (talk | contribs)
Jump to: navigation, search
E puck - devices

Myš v bludisku

Príklad bludiska

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.

    E-puck - náčrt pozícií diód
    E-puck - náčrt pozícií senzorov

Pravidlá súťaže

http://www.robotika.sk/contest/2011/umouse.php

Ako začať

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

Our Photos

E-puck s pridaným extra kompasom
E-puck - inside
E-puck - zvyšok jeho častí

Photos

E-puck
E-puck
E-puck