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

Témata článku: Video, Programování, Lego, Podzimní novinka, Tlak vzduchu, Zelené tlačítko, Ultrazvukový senzor, Zdrojový text, NXT, Robotický pes, Lega, Kostička

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

Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

** Tesla představila elektrický kamion ** Má obdivuhodný výkon i dojezd ** Prodávat by se měl už za dva roky

17.  11.  2017 | Vojtěch Malý | 158

30 počítačových brzd, které vám zpomalí Windows

30 počítačových brzd, které vám zpomalí Windows

Na webu najdete hromadu rad, jak zrychlit počítač a Windows. My jsme na to šli opačně a naopak jsme hledali činnosti, které ho nejvíce zpomalují. Toto je třicítka těch základních.

12.  11.  2017 | Jakub Čížek | 90

Elektronika, která nepotřebuje kabel ani baterii. Živí se rádiovým šumem

Elektronika, která nepotřebuje kabel ani baterii. Živí se rádiovým šumem

** Každá elektrická krabička má konektor pro napájení nebo baterii ** Jenže pozor, jednou by to tak nemuselo být ** Drobná elektronika se může živit rádiovými vlnami

14.  11.  2017 | Jakub Čížek | 15

Nejlepší notebooky do 10 tisíc, které si teď můžete koupit

Nejlepší notebooky do 10 tisíc, které si teď můžete koupit

** I pod hranicí desíti tisíc korun existují dobře použitelné notebooky ** Mohou plnit roli pracovního stroje i zařízení pro zábavu ** Nejlevnější použitelný notebook koupíte za pět a půl tisíce

16.  11.  2017 | Stanislav Janů | 52

Do 20 let nebude nikdo vlastnit auta, říká zkušený šéf několika automobilek

Do 20 let nebude nikdo vlastnit auta, říká zkušený šéf několika automobilek

** Bývalý šéf a expert z několika velkých automobilek se vyjádřil k budoucnosti tohoto průmyslu ** Do 20 let „nikdo“ nebude vlastnit auta ** Veškerá doprava bude řešená pomocí velkých logistických platforem

15.  11.  2017 | Karel Javůrek | 74


Aktuální číslo časopisu Computer

Otestovali jsme 5 HDR 4K televizorů

Jak natáčet video zrcadlovkou

Vytvořte si chytrou domácnost

Radíme s koupí počítačového zdroje