Programování pro malé i velké - Lego Robotics Invention System 2.0

Programování bývá činností v začátcích veskrze nudnou. Uspokojivé výsledky přináší teprve po delší době. Vezmete-li si ale na pomoc „robota“ ze stavebnice Lego Robotics Invention System 2.0 (č. 3804, dále jen RIS), můžete sledovat činnost programu prakticky ihned. Třeba na malém vozítku, které dělá přesně to, co mu váš program řekne (a jak už to bývá, častokrát nikoliv to, co byste chtěli, aby dělalo).
Programování pro malé i velké - Lego Robotics Invention System 2.0

Lego – to jsou světoznámé kostičky z Dánska. Chcete-li z nich stavět roboty, potřebujete kostku označovanou RCX (momentálně verze 2.0).

Klepněte pro větší obrázek

Klepněte pro větší obrázek

V jejím nitru je skryt jednočipový počítač Hitachi H8/3292 (8bitový s 16bitovým adresovým prostorem, taktovaný na 16 MHz, 8 kB ROM, 32 kB RAM). Další technické podrobnosti naleznete například zde nebo přímo u výrobce. S okolím komunikuje malým monochromatickým LCD displejem, čtyřmi tlačítky, třemi vstupy a třemi výstupy realizovanými systémem Lego kostek.

Programy pro RCX píšete na běžném PC nebo Macu. Kostce je pak předáváte infračerveným rozhraním zabudovaným v tzv. USB věži.

Klepněte pro větší obrázek

Ke vstupům kostky se připojují senzory. Ve stavebnici RIS najdete jeden světelný (dokáže rozlišit bílou, zelenou a černou barvu) a dva dotykové (spínač sepnutý/uvolněný). Nebudou-li vám tyto tři senzory dostačovat, je k dostání ještě senzor polohový a teplotní, ale i adaptér umožňující připojit senzory DCP LogIT (např. senzor tlaku vzduchu, vlhkosti, pH senzor, zvukový…).

Klepněte pro větší obrázek

Světelný senzor (v pozadí dotykový)

Výstupy na kostce ovládají zpravidla motory, ty jsou ve stavebnici dva.

Klepněte pro větší obrázek

Okolo RCX kostky si pak vybudujete z dílů řady Lego Technic (úplný seznam dílů RIS je např. na této adrese) zařízení, které lze řídit programem do ní zavedeným. Celou řadu námětů na „roboty“ najdete ve stostránkové publikaci dodávané s RIS. A jak je u stavebnic Lego běžné, tvořivosti se meze nekladou.

RIS vás potrápí i ve znalostech, které jste si odnesli z hodin fyziky. Záhy totiž zjistíte, že vymyslet robota, který například pojede a nerozpadne se po prvním nárazu do překážky, není tak snadné, jak to na první pohled vypadá.

V závěru manuálu pak najdete návody na takové vychytávky, jako je diferenciál nebo systém zatáčení robota s jediným motorem. Určitě vás ale upoutají i náměty z přebalu celé stavebnice: robot třídící zelené a červené kuličky, robotický pes, různí robo-brouci a další.

Programování

Program pro RCX můžete zapisovat v celé řadě jazyků. Lego dodává a podporuje vizuální RCX Code a ROBOLAB. Mezi jazyky třetích firem najdete grafický „jazyk“ pro paralelní programování – actor-lab, další jsou pak jazyky „textové“ – QuiteC (C a C++), leJOS (Java), Lego.NET, pbFORTH (Forth), Terrapin Logo (Logo) aj.

Stručný zápis programu umožňuje například derivát jazyka C vyvinutý pro potřeby RCX, NQC (Not Quite C). Pro něj existuje i vcelku komfortní (a bezplatné) integrované prostředí Bricx Command Center.

Klepněte pro větší obrázek

Kompilátor NQC přeloží zdrojový text, např. procedury ověřující, zda robot jede po černé čáře:

task check_sensor()
{
  while (true)
  {
    if (SENSOR_2 > __BLACK)
    {
      stop gogogo;
      start hudba;
      stop hudba;
      OnRev(OUT_A+OUT_C); Wait(10);
      OnFwd(OUT_A); Wait(25);
      start gogogo;
    }
  }
}

do strojového kódu RCX:

000 chk      40 >= Input(1), 31                85 42 09 28 00 01 19
007 stop     1                                 81 01
009 start    3                                 71 03
011 stop     3                                 81 03
013 dir      AC, Rev                           e1 05
015 out      AC, On                            21 85
017 wait     10                                43 02 0a 00
021 dir      A, Fwd                            e1 81
023 out      A, On                             21 81
025 wait     25                                43 02 19 00
029 start    1                                 71 01
031 jmp      0                                 27 a0

Ten potom v BricxCC za pomoci tlačítka se znakem „trychtýře“ (Download program) nahrajete přes USB věž jako jeden z pěti možných programů do kostky (číslo vykonávaného programu se volí šedým tlačítkem na kostce). Kostka pípnutím potvrdí přijetí dat a pak už stačí zeleným tlačítkem na kostce program spustit. Chování robota sledujete, jak jinak, v přímém přenosu.

Klepněte pro větší obrázek

Kliknutím na obrázek stáhnete video (2,6 MB)

Základní kurz programování v NQC najdete v příštích dílech.

Podzimní novinka

Nástupce stavebnice RIS je připraven na letošní podzim. Od roku 1998, kdy vyšla RIS 1.0, to bude už čtvrtá generace (po 1.0, 1.5 a 2.0), která ponese označení NXT. (obrazová galerie)

Hardwarový upgrade potká procesor (32bitový ARM7), paměť (256 kB Flash + 64 kB RAM), komunikační systém (Bluetooth a USB 2.0) i senzory (přibude ultrazvukový senzor a zvukové senzory, světelný senzor bude rozeznávat více barev, motory dostanou zabudovaný rotační senzor atd.).

Nové bude i základní programátorské prostředí a my se jen můžeme těšit, jaké aplikace nových „udělátek“ vymyslí internetová komunita nadšenců. Cena stavebnice RIS je u nás cca 8500 Kč včetně DPH (v zahraničí cca 220 €).

(Podnětem pro vznik článku byla práce středoškolské odborné činnosti studentů jihlavského gymnázia, Filipa Děchtěrenka, Miroslava Dočekala a Jakuba Sedláka, http://roboti.unas.cz/)

Témata článku: Video, Programování, Lego, Lega

33 komentářů

Nejnovější komentáře

  • patrik 21. 3. 2007 11:04:41
    jo a jestli si nepotrpite na novote ale na funknosti tak jsem to nekde...
  • patrik 27. 12. 2006 21:12:13
    hmm tak to nevim kde jsi to sly sel ze za 8,0 mas jen rcx program. kostku...
  • patrik 27. 12. 2006 21:07:48
    hele tak to zkus na legacek.cz a tam se koukni na bazar 1/2 veci co tam...
Určitě si přečtěte

Jak vybrat monitor k počítači: nenechte se zlákat nepodstatnými parametry

Jak vybrat monitor k počítači: nenechte se zlákat nepodstatnými parametry

** Na jaké parametry se zaměřit a kde vás výrobci chtějí nachytat ** Monitory se stále více specifikují pro konkrétní určení ** Náročný hráč nebo profesionální grafik mají různé požadavky

20.  6.  2017 | Tomáš Holčík | 32

11 tipů, jak efektivně a přesně sledovat počasí pomocí internetu

11 tipů, jak efektivně a přesně sledovat počasí pomocí internetu

** Sledujte počasí z více zdrojů a podrobněji, přesněji tak určíte, jaké počasí vás potká na dovolené ** Na webu najdete hromadu pokročilých předpovědí počasí, ale i specializované meteorologické služby ** Vybrali jsme 14 služeb na počasí, které se vám můžou hodit

23.  6.  2017 | Jakub Čížek | 19

Jak unikají informace o nových iPhonech? Třeba podprsenkami čínských pracovnic

Jak unikají informace o nových iPhonech? Třeba podprsenkami čínských pracovnic

** Na černém trhu mohou zaměstnanci továren za kradené součástky inkasovat částku ve výši ročního platu ** Velké množství informací je vyneseno i z centrály Applu ** Díly jsou pašovány v botách, podprsenkách i odpadem

21.  6.  2017 | Stanislav Janů | 24

Herní počítač vs. Xbox One X: Kvalita obrazu není všechno

Herní počítač vs. Xbox One X: Kvalita obrazu není všechno

** Nový Xbox One X slibuje hraní ve 4K s HDR za 13 tisíc korun ** Aby stejnou kvalitu obrazu zvládl počítač, museli byste za něj dát minimálně dvakrát tolik ** Přesto herní počítače stále svůj smysl mají

24.  6.  2017 | Tomáš Holčík | 58


Aktuální číslo časopisu Computer

Bojujeme proti Fake News

Dva velké testy: fotoaparáty a NASy

Co musíte vědět o změně evropského roamingu

Radíme s výběrem základní desky