Misia na Mesiac

Návštevníci budú mať možnosť vžiť sa do situácie v riadiacom stredisku vesmírnej misie na povrch Mesiaca. Takáto misia bola napríklad v roku 1970 kedy Sovietsky zväz vyslal na Mesiac prieskumného robota Lunochod. Keďže Mesiac je relatívne blízko (384 401km, t.j. niečo vyše sekundy jedným smerom pre rádiový signál), bolo možné riadiť robota priamo z pozemnej centrály, podobne ako hračky na diaľkové ovládanie.

Skúste sa vžiť do role operátora a na základe informácií, ktoré vám robot posiela, teda obrazu z kamery a stavu senzorov previesť robota po požadovanej dráhe. Dráha bude vyznačená čiernou lepiacou páskou a vaša úloha spočíva naozaj len v jej prejdení. Keďže budete všetko sledovať len na obrazovke a nie v skutočnosti, je to náročnejšie, ako by sa na prvý pohľad zdalo.

Namiesto Lunochoda použijeme robota BoeBot od firmy Parallax. Oproti základnej zostave sme ho doplnili bezdrôtovou kamerou Xcam, súpravou ktorá umožňuje sériový prenos dát v bezlicenčnom rádiovom pásme od firmy Parallax (prenos informácií zo senzorov a riadiace príkazy).


Robot BoeBot (Parallax) s kamerou a bezdrôtovým ovládaním.


Program pre riadenie BoeBota.

Misia na Mars

Na prvý pohľad je to rovnaká úloha -- chceme preskúmať Mars, tak tam pošleme robota, ktorého zavedieme tam, odkiaľ chceme pozbierať vzorky. Lenže do hry vstupuje nový faktor -- obmedzená rýchlosť svetla, kvôli ktorej každá odozva robota na náš príkaz zo Zeme trvá viac ako 4 minúty.

Tento problém sa dá vyriešiť napríklad tak, že robotovi pridáme inteligenciu: z riadiaceho strediska dostane pokyn kam má ísť, ale s drobnými prekážkami na trase sa musí vysporiadať sám. A to je aj naša modelová situácia. Požadovaná trasa prieskumného robota je jasne vyznačená čiernou čiarou, robot má senzory, ktoré mu umožňujú túto čiaru detekovať a tak je už len na nás, akou inteligenciou ho vystrojíme.

Súťažná úloha

Zostrojiť elektronicky riadeného autonómneho mobilného robota, ktorý prejde po určenej dráhe a v časovom limite do cieľa. Smer a trasa je daná namaľovaným tmavým pruhom, na dráhe nebudú žiadne prekážky.

Dráha

Podklad dráhy bude svetlý (biely) s tmavou (čiernou) vodiacou čiarou šírky 15+/-1 mm. Celková dĺžka dráhy nepresiahne 20 m. Materiál bude papier, drevo, linoleum alebo podobné materiály.

Najmenší polomer oblúkov na trati bude 10 cm. Celkové prevýšenie nepresiahne 3 cm, maximálne stúpanie a klesanie je 5%.

Úlohou robota nie je nájsť správnu cestu (nebudú žiadne križovatky a odbočky), ale výhradne sledovať namaľovanú čiaru.

Na prejdenie dráhy môžete použiť vlastnú konštrukciu, alebo jedného z dvoch robotov, ktoré budeme mať k dispozícií. Ak chcete použiť nášho, prineste si len vlastný program.

LEGO

Jeden z predvádzaných robotov bude z LEGA. Dôvod je zrejmý -- mnohí majú LEGO doma, nájde sa aj prakticky na každej škole, takže by nemal byť problém v zostavení a naprogramovaní vlastného prieskumníka.

Na výstavisku bude k dispozícii Roverbot, ktorý je poskladaný podľa návodu v Constructopedii, ktorá je priložená k stavebnici. Robot má dva motory, pripojené na výstupy A a C a jeden svetelný senzor, pripojený na vstup B. Naviac môže mať aj nárazník s dvoma tlakovými senzormi na vstupoch A a C.


Roverbot zo stavebnice LEGO Mindstorms.

Tí, ktorí nemajú vlastné LEGO, môžu skúsiť naprogramovať toho nášho. Roverbota môžete programovať buď priamo v grafickom jazyku, ktorý je súčasťou stavebnice. Jeden príklad programu, ktorý by splnil našu úlohu je aj priamo na priloženom CD (rover4).


Program pre Roverbota na sledovanie čiary.

Pre pokročilých ale odporúčame programovať v niektorom bežnom jazyku, napríklad C-čku. Vhodný kompilátor pre RCX kocku je napr. NQC, ktorý sa dá stiahnuť tuto.

#define THRESHOLD 40

task main()
{
  SetSensor(SENSOR_2,SENSOR_LIGHT);      // Pouzivame svetelny senzor

  while (true)                           // Toto rob stale dokola...
  {
    OnFwd(OUT_A+OUT_C);                  // Zapni oba motory vpred
    if (SENSOR_2 > THRESHOLD)            // Ak nevidis ciaru (biela)
    {
      OnRev(OUT_C);                      //  Dozadu pravym (cely robot vpravo)
      Wait(10);                          //  Chvilku otacaj
      until (SENSOR_2 <= THRESHOLD);     //  Otacaj az kym nebude zasa ciara
      OnFwd(OUT_A+OUT_C);                //  A teraz uz zasa plnou parou vpred!
    }
  }
}

Program v NQC pre Roverbota na sledovanie čiary.

BoeBot

Na výstave bude k dispozícii aj druhý robot, postavený zo stavebnice BoeBot od firmy Parallax. Má jednoduchú konštrukciu, pohon zabezpečujú dva upravené modelárske servomotorčeky. Napájaný je štyrmi 1,5 V článkami typu AA. Riadenie zabezpečuje špeciálny mikroprocesor BasicStamp firmy Parallax. Náročnejší záujemcovia budú mať možnosť vyskúšať si vlastné programy pre tohoto robota.


Robot BoeBot zo stavebnice firmy Parallax.

Robot na výstave bude mať dva motorčeky pripojené na výstupy 12 a 13. Optické senzory na čiaru sa zapínajú signálom na výstupoch 5, 6 a 7, výstupy sú spojené a pripojené na vstup 3. Okrem toho je ešte na výstupoch 8, 9 a 10 pripojená signalizácia diódami LED, ktoré možno využiť na indikáciu stavu senzorov. Posledná periféria je malý reproduktor pripojený na výstup 4.

' EloSys Trencin 2006
' Robot Boe-Bot sleduje ciernu ciaru

'{$STAMP BS2}
'{$PBASIC 2.5}

Sensor    VAR Byte           ' Deklaracia premennej Sensor typu Byte

DO                           ' Nekonecna slucka DO - LOOP

                             ' Pre kazdy zo senzorov urob:
                             '    zasviet infra LED, pockaj chvilu,
                             '    nacitaj fototranzistor a vypni LED
  Right:  HIGH 5: PAUSE 1: Sensor.BIT0 = IN3: INPUT 5
  Center: HIGH 6: PAUSE 1: Sensor.BIT1 = IN3: INPUT 6
  Left:   HIGH 7: PAUSE 1: Sensor.BIT2 = IN3: INPUT 7

  SELECT Sensor            ' Podla stavu senzorov sa rozhodni
    CASE %010              ' ... ist vpred
          PULSOUT 13, 850
          PULSOUT 12, 650
    CASE %011              ' ... pootoc vpravo
          PULSOUT 13, 850
          PULSOUT 12, 750
    CASE %001              ' ... zatoc vpravo
          PULSOUT 13, 850
          PULSOUT 12, 850
    CASE %110              ' ... pootoc vlavo
          PULSOUT 13, 750
          PULSOUT 12, 650
    CASE %100              ' ... zatoc vlavo
          PULSOUT 13, 650
          PULSOUT 12, 650
  ENDSELECT

  PAUSE 20                 ' chvilku pockaj

LOOP                       ' Koniec nekonecnej slucky

Program v jazyku Basic pre BoeBota na sledovanie čiary.

Záujemci o podrobnejší popis robota si môžu zo stránok výrobcu stiahnuť a naštudovať:

 

 

© 2006 Robotika.SK
Ilkovičova 3, 812 19 Bratislava, tel. +421 - 2 - 602 91 411.
Posledná zmena: 1. októbra 2006. 22:09:12.
Zodpovedný človek: Richard Balogh.