Difference between revisions of "Acrob robot prejde bludisko, a program ďalej vizualizuje mapu bludiska na obrazovke (Michal Borčin & Barbora Zaťková)"
From RoboWiki
(→Vykreslenie bludiska) |
(→Vykreslenie bludiska) |
||
Line 86: | Line 86: | ||
</pre> | </pre> | ||
<li>vidíme teda, že robot išiel rovno, potom sa v čase 4 otočil doprava, išiel rovno a znova sa otočil doprava v čase 8...</li> | <li>vidíme teda, že robot išiel rovno, potom sa v čase 4 otočil doprava, išiel rovno a znova sa otočil doprava v čase 8...</li> | ||
+ | |||
</ul> | </ul> |
Revision as of 12:20, 25 June 2013
Contents
Ú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.
Bludisko a zapojenie robota
- Naše bludisko bolo reprezentované čiernou páskou na bielom papieri, kde páska značila cestu, po ktorej robot prechádzal a biele okolie značili steny.
- Použili sme štyri analógové Line senzory, ktoré sme zapojili podľa nasledujúcej schémy http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Acrob008. Pomocou týchto senzorov sme naprogramovali sledovanie čiary.
- Pripojili sme aj jeden pushbutton, pomocou ktorého sme vypisovali údaje. Zapojili sme ho podľa tejto schémy http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Acrob004.
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.
- 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ú
- informáciu o tom, že robot ide rovno si nemusíme pamätať, keďže vieme, že išiel rovno medzi dvoma zatáčkami
- 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:
Naša idea zapamätania bludiska
0 0 p 4 o 4 p 8 o 8 l 13 o 13 p 18 o 18