Robot sledujúci čiaru

Vytvorenie modelu

Potrebné vybavenie

  1. Počítač s nainštalovaným Visiduino IDE
  2. Visiduino ROBOT
  3. Biely papier s tmavou čiarou
  4. USB kábel

V tomto príspevku si priblížime ako naprogramovať Visiduino ROBOT-a tak, aby sledoval čiaru. Pre jednoduchosť k tomu využijeme vstavané bloky Visiduino ROBOT-a.

Vstavané bloky v sebe zahŕňaju všetko potrebné pri spracovávaní údajov z robota a pri ovládaní robota. V jednom z naších ďalších príspevkov si priblížime aj spôsob ako ovládať robota priamo, ale k tomu sú potrebné o trochu väčšie skúsenosti a tento príspevok je zameraný pre začiatočníkov.

Obr.1: Bloky ovládajúce robota

Vstavané bloky robota

Visiduino IDE používa k ovládaniu robota nasledovné bloky:

  • Visiduino Robot Sensors - tento blok na svojich výstupoch informuje o tom či príslušný senzor detekuje tmavú čiaru. Ak sa čiara nachádza pod senzorom je na výstupe číslo 0, inak 1. Inak povedané, biela farba pod senzorom reprezentuje číslo 1 a čierna číslo 0.
  • Visiduino Robot Wheels - tento blok ovláda kolesá robota. Ak privedieme na vstup číslo 1 koleso sa bude otáčať maximálnou rýchlosťou dopredu. Pre číslo -1 sa bude koleso otáčať maximálnou rýchlosťou dozadu a číslo 0 znamená stoj. Čísla medzi 1.0 .. -1.0 znamenajú rýchlosť a smer otáčania kolesa.
  • Visiduino Robot LEDs - tento blok ovláda LED diódy robota. Číslo 0 znamená, že príslušná LED dióda nesvieti. Akékoľvek iné čislo na vstupe znamená, že príslušná LED bude svietiť.
Obr.2: Program k otáčaniu robota na mieste

Ako prvé budeme ovládať pohyb robota. Použíjeme k tomu blok Visiduino Robot Wheels a blok Constant viď Obr. 2. Blok Visiduino Robot Wheels nájdeme v knižnice v časti Visiduino / Robot / Wheels. Funkciu tohoto bloku sme si už popísali vyššie.

Blok Constant sa nachádza v knižnici v kategórii Source. Chceme, aby sa robot otáčal na mieste, ale nie maximálnou rýchlosťou preto do jedného motora privedieme hodnotu 0.3 a do druhého -0.3.

Týmto sme oživili pohyb robota. Teraz pristupime k detekovaniu čiary. Čiara je detekovaná senzormi umiestnenými na spodnej časti robota. Tieto senzory pracujú na princípe odrazu infra-červeného svetla. Intenzitu odrazu je možné jednoducho merať pomocou týchto senzorov. Preto sa k sledovaniu čiary používa biely podklad s čiernou čiarou, ktorá reprezentuje sledovanú cestu. Blok spracovávajúci detekovanie čiary sa nazýva Visiduino Robot Sensors. Ak príslušný senzor vidí čiaru je na jeho výstupe číslo 0 (čierna farba), inak ak vidí biely papier je na jeho výstupe 1. Využitím týchto hodnôt vieme jednoducho navrhnúť program pre robota, aby sledoval čiaru.

Sledovanie čiary

Program pre sledovanie čiary má jednoduchý algoritmus. Ak robot nevidí ani s jedným senzorom čiaru, tak sa pohybuje dopredu. Akonáhle zbadá s jedným senzorom čiaru vypne príslušný motor, aby sa natočil do polohy, v ktorej znova nevidí čiaru ani s jedným senzorom. Inak povedané, robot sleduje čiaru tak, že sa ju snaží obchádzať "nestupiť na ňu". Dva základné bloky pre sledovanie číary sú: Visiduino Robot Wheels a Visiduino Robot Sensors. Ak senzory vidia bielu plochu majú na výstupe hodnotu 1. Ak na vstupy bloku Visiduino Robot Wheels privedieme hodnotu 1, tak sa robot bude pohybovať smerom dopredu. Preto stačí prepojiť bloky Visiduino Robot Wheels a Visiduino Robot Sensors ako na Obr. 3..

Obr.3: Prepojenie blokov

Ale, teraz sa náš robot pohybuje tak rýchlo, že nestíha sledovať čiaru. Je tomu tak z dôvodu, že na vstup bloku Visiduino Robot Wheels prinášame hodnoty 0 a 1. To znamená, že sa kolesá robota pohybujú buť maximálnout rýchlosťou, alebo stoja. Preto trochu znížime rýchlosť robota. Stačí k tomu prenásobiť výstupnú hotnodu bloku Visiduino Robot Sensors číslom 0.4. Tým sa z hodnôt 0/1 stanú hodnoty 0/0.4. To znamená, že sa kolesa robota budú buď stáť, alebo sa budú otáčať 40% maximálnej rýchlosti. K vynásobeniu hodnoty konštantou sa používa blok Gain nachádzajúci sa v kategórii Math. Upravená schéma je na Obr. 4.

Obr.4: Upravený program pre sledovanie čiary

Tento program je teraz potrebné nahrať do robota stlačením Project -> Build. Akonáhle je program uložený do robota, robot sa začne samostatne pohybovať.

Jupííí :)

Gratuluje. Práve ste naprogramovali svojho prvého robota.

Obr.5: Robot sledujúci čiaru