Acrob robot prejde bludisko, a program ďalej vizualizuje mapu bludiska na obrazovke (Michal Borčin & Barbora Zaťková)

From RoboWiki
Revision as of 12:04, 25 June 2013 by Robot (talk | contribs) (Vykreslenie bludiska)
Jump to: navigation, search

Úvod

  • Našou úlohou bolo skonštruovať robota Acrob, ktorý prejde celé bludisko, a počas toho zaznamenáva údaje tak, aby sa bludisko dalo vykresliť na obrazovku.

  • Robot acrob.jpg

Bludisko a zapojenie robota

Algoritmus sledovania čiary

if ((sen == 10) || (sen == 2)) //0101 a 0100
{
//rovno
LeftServo.write(95);
RightServo.write(85);
// go_straight();
}
else if ((sen == 3)||(sen == 1)) //1100 a 1000
{
//vlavo
RightServo.write(84);
LeftServo.write(88);
delay(250);
}
else if (sen==0) { //0000 -
// otoc
LeftServo.write(95);
RightServo.write(95);
}
else
{
//vpravo
LeftServo.write(95);
RightServo.write(92);
}

Ako sa náš robot pohyboval po bludisku: --VIDEO--


Vykreslenie bludiska

  • Ďalej bolo našou úlohou vykresliť prejdené bludisko na obrazovku. My sme zvolili metódu offline pomocou kábla.
  • Naša idea zapamätania bludiska

  • pri spustení robot začína v čase 0 a ide rovno
  • my si chceme zapamätať iba zákruty, na ktorých sa točí dlhšie ako 0,2 sekundy, a teda krátke otočenia, ktorými sa robot iba vyrovnáva nás nezaujímajú
  • keď robot rozpozná zákrutu dlhšiu ako 0,2 sekundy, zapíše do poľa znak P, L (smer otočenia) alebo O(značí otočenie), a tiež zapíše čas, v ktorom sa daná operácia uskutočnila
  • Príklad poľa:
  • 0 0
    p 4
    o 4
    p 8
    o 8
    l 13
    o 13
    p 18
    o 18