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).

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/)

Diskuze (33) Další článek: Ke stažení: Jáchyme, hoď ho do stroje

Témata článku: Video, Programování, Lego, Kostička, Obrazová galerie, Zelené tlačítko, Tlak vzduchu, Jeden svět, Podzimní novinka, Lega, NXT, Jednočipový počítač, Robotický pes, Zdrojový text, Ultrazvukový senzor, Lego Technic


Určitě si přečtěte

Nejlepší programy z roku 2000: Další várka zapomenutých legend, které jste měli v PC

Nejlepší programy z roku 2000: Další várka zapomenutých legend, které jste měli v PC

** Pokračujeme ve vzpomínání na prehistorické programy ** Pročetli jsme vaše tipy v diskuzi ** A všechny ty vykopávky spustili na Windows 2000

Jakub Čížek | 72

Jak vlastně funguje Flightradar24: Posloucháme letadla nad celým Českem

Jak vlastně funguje Flightradar24: Posloucháme letadla nad celým Českem

** Flightradar24 zobrazuje polohu letadel v reálném čase ** Když mu pomůžete sbírat data, dostanete nejvyšší paušál zdarma ** Jak to vlastně celé funguje a co je k tomu potřeba?

Jakub Čížek | 30

AR není ani po letech žádný trhák. Teď to zkusí Hybri, který svleče vaše kamarádky

AR není ani po letech žádný trhák. Teď to zkusí Hybri, který svleče vaše kamarádky

** Rozšířené realitě i po letech chybí praktické využití ** Selhaly mobilní aplikace i AR brýle ** Floridské studio to proto zkusí přes bizarní erotiku Hybri

Jakub Čížek | 18

Nové názvy, upravený vývoj. Microsoft ukázal, jak teď bude vydávat Windows 10

Nové názvy, upravený vývoj. Microsoft ukázal, jak teď bude vydávat Windows 10

** Podzimní vydání Windows 10 přinese jen minimum novinek ** Aktualizace ponese formální označení 20H2 ** Microsoft mění názvy v programu Windows Insider

Lukáš Václavík | 17


Aktuální číslo časopisu Computer

Megatest SSD s kapacitou 1 TB

Srovnávací test robotických vysavačů

Vybíráme nejlepší telefony na trhu

Jak zlepšit zvuk televize