Programovací prostředí a jeho ovládání

Každý uživatel, který se pustí do práce s robotickou stavebnicí se dříve či později setká se softwarem, který je určen pro tvorbu ovládacích programů. Tento kurz Vám umožňuje seznámit se s jednotlivými konstrukty robotické stavebnice LEGO NXT a principy práce s nimi aplikuje v programovacích protředích NXT-G a RobotC. V následující úvodní kapitole se seznámíte se základními informacemi o zmíněných programovacích prostředích a získáte nezbytné znalosti o úkonech, které předcházejí samotnému programování.

Pokud začnete pracovat s kterýmkoliv programem, který je pro Vás nový a neznámý, první o co se budete snažit, je získání základních znalostí o jeho uspořádání a částech z kterých se skládá. Budete se pokoušet pochopit k čemu která sekce slouží a jaké možnosti skýtá. K získání základního přehledu v obou programovacích prostředích Vám poslouží článek s názvem Orientace v programovacím prostředí, kde naleznete obecné informace o sekcích, z kterých se programovací prostředí skládají a jaké možnosti uživateli nabízí.

Jestliže jste se již zorientovali v programovacích prostředích ale nemáte žádné zkušenosti s programováním ani z některého jiného prostředí, tak Vás prvními kroky při vytváření nového programu provede článek s názvem Založení a uložení nového programu, který se zabývá vytvořením nového, prázdného souboru a jeho uložením před započetím samotného programování.

Před samotným vyzkoušením a nahrátím programu do řídící jednotky NXT je nutné používat aktuální verzi firmware programovacího prostředí. Postup při jeho stažení a umístění volby pro nahrání popisuje článek Aktualizace firmware.

Hotový program je nutné pro jeho vyzkoušení exportovat do řídící jednotky NXT. V článku Export programu do robotické stavebnice naleznete možnosti exportu v obou programovacích prostředích, postup a umístění voleb pro export v menu prostředí.

Během nahrávání rozsáhlejších programů do řídící jednotky může nastat situace, že v jednotce již nebude volný paměťový prostor. Pro získání informací o zaplnění paměti a pro práci s pamětovým prostorem existuje v obou programovacích prostředích souborový manažer. Popis jeho sekcí a možnosti použití naleznete v článku Správa paměti robotické stavebnice.

Seznam článků kapitoly Programové prostředí

  1. Orientace v programovacím prostředí
  2. Založení a uložení nového programu
  3. Aktualizace firmware
  4. Export programu do robotické stavebnice
  5. Správa paměti robotické stavebnice  
     
     

KURZ: Programovací prostředí a jeho ovládání

Seznam článků kapitoly

  1. Orientace v programovacím prostředí
  2. Založení a uložení nového programu
  3. Aktualizace firmware
  4. Export programu do robotické stavebnice
  5. Správa paměti robotické stavebnice

Úvod

Každý uživatel, který se pustí do práce s robotickou stavebnicí se dříve či později setká se softwarem, který je určen pro tvorbu ovládacích programů. Tento kurz Vám umožňuje seznámit se s jednotlivými konstrukty robotické stavebnice LEGO MINDSTORMS NXT i novější LEGO MINDSTORMS EV3 a principy práce s nimi aplikuje v programovacích protředích NXT-G, RobotC a EV3. V následující úvodní kapitole se seznámíte se základními informacemi o zmíněných programovacích prostředích a získáte nezbytné znalosti o úkonech, které předcházejí samotnému programování.

Pokud začnete pracovat s kterýmkoliv programem, který je pro Vás nový a neznámý, první o co se budete snažit, je získání základních znalostí o jeho uspořádání a částech, z kterých se skládá. Budete se pokoušet pochopit k čemu která sekce slouží a jaké možnosti skýtá. K získání základního přehledu v obou programovacích prostředích Vám poslouží článek s názvem Orientace v programovacím prostředí, kde naleznete obecné informace o sekcích, z kterých se programovací prostředí skládají a jaké možnosti uživateli nabízí.

Jestliže jste se již zorientovali v programovacích prostředích, ale nemáte žádné zkušenosti s programováním ani z některého jiného prostředí, tak Vás prvními kroky při vytváření nového programu provede článek s názvem Založení a uložení nového programu, který se zabývá vytvořením nového, prázdného souboru a jeho uložením před započetím samotného programování.

Před samotným vyzkoušením a nahrátím programu do řídící jednotky je nutné používat aktuální verzi firmware programovacího prostředí. Postup při jeho stažení a umístění volby pro nahrání popisuje článek Aktualizace firmware.

Hotový program je nutné pro jeho vyzkoušení exportovat do řídící jednotky. V článku Export programu do robotické stavebnice naleznete možnosti exportu v obou programovacích prostředích, postup a umístění voleb pro export v menu prostředí.

Během nahrávání rozsáhlejších programů do řídící jednotky může nastat situace, že v jednotce již nebude volný paměťový prostor. Pro získání informací o míře zaplnění paměti a pro práci s pamětovým prostorem existuje v obou programovacích prostředích souborový manažer. Popis jeho sekcí a možnosti použití naleznete v článku Správa paměti robotické stavebnice.

1 1 1 1 1 1 1 1 1 1 Hodnocení 3.80 (5 hodnocení)

KURZ: Aktualizace firmware

Firmware je software pro ovládání daného zařízení. Pro zařízení nejsou tato data fixní, ale dají se přehrát jiným firmwarem. Vztáhneme-li tento příklad k robotickým stavebnicím LEGO MINDSTORMS NXT a EV3, tak firmware je software důležitý pro spolupráci řídíci jednotky s programovacím softwarem. Pokud totiž nebude nahrán správný firmware, nebude možné ovládat motory, snímat data ze senzorů a fakticky ovládat cokoliv jiného.

Aplikace v programovacím prostředí 

NXT-G

Postup nahrání firmware

Nejprve je nutné připojit řídící jednotku k počítači přes rozhraní USB. Stažení aktuálního NXT Firmware nalezneme v horním menu v záložce Tools (Nástroje) pod volbou Update NXT Firmware.

NXTG firmware

Po kliknutí na Update NXT Firmware se otevře nové dialogové okno. V horní části je uvedena poslední verze nahrávaného firmware. Pod uvedenou verzí se nachází možnost Online Updates, která umožňuje zkontrolovat dostupné aktualizace na internetu. O něco níže se nachází okno, ve kterém je zobrazen aktuálně dostupný balíček firmware. K dispozici je volba umístění souboru a po kliknutí na tlačítko Download se firmware stáhne.

NXTG update

RobotC

Postup nahrání firmware

Po připojení řídící jednotky k počítači nalezneme nahrání firmware pod záložkou Robot, kde vybereme možnost Download Firmware a klikneme na příslušný soubor instalačního balíčku s koncovkou .rfw.

RobotC firmware

Po vybrání souboru .rfw se otevře nové dialogové okno. V bílém podokně se zobrazuje název a adresa zařízení připojeného přes rozhraní USB. Pomocí tlačítka Rename NXT (Přejmenovat NXT) je možné změnit název zařízení. Samotný firmware se nahraje po kliknutí na tlačítko F/W Download (Stažení firmware).

RobotC nahrani

EV3

Postup nahrání firmware

Pro nahrání aktuálního firmware je nejprve nutné připojit řídící jednotku k počítači. U řídící jednotky EV3 to můžeme provést buďto přes USB rozhranní nebo prostřednictvím Bluetooth. Volbu pro stažení firmware nalezneme v horním menu v záložce Tools (Nástroje) pod položkou Firmware Update.

FRM MENU

Následně se nám otevře nové dialogové okno, které nás informuje o verzi firmware, které je aktuálně nahrané v paměti řídící jednotky (Current Firmware Version) a o verzi, která je dostupná pro nahrání (Available Firmware). Nahrání následně provedeme kliknutím na tlačítko Update Firmware. Tlačítkem Show Details si můžeme zobrazit více informací o procesu nahrání dostupné verze firmware.

 FRM HIDE DETAILS

Okno s rozšiřujícími informacemi obsahuje možnost vyhledání aktuální verze firmware online. Můžeme zde také provést nahrání souboru s firmware, který není součástí instalace programovacího prostředí EV3 a je uložený na jiném místě v počítači.

FRM SHOW DETAILS

1 1 1 1 1 1 1 1 1 1 Hodnocení 0.00 (0 hodnocení)

KURZ: Správa paměti robotické stavebnice

Řídící jednotka robotické stavebnice LEGO MINDSTORMS NXT obsahuje FLASH paměť o velikosti 256kB. V paměti jsou uloženy všechny exportované programy, zvuky, případně také obrázky. Pokud pracujeme s rozsáhlejšími programy, je jen otázka času, kdy se paměť zaplní. Vnitřní paměť řídící jednotky je přepisovatelná. Data je možné z ní kdykoliv smazat či přepsat. Obě programovací prostředí nabízejí možnost zobrazení správy souborů pro přesnější a přehlednější orientaci v paměťovém prostoru zařízení.

Aplikace v programovacím prostředí 

NXT-G

Souborový manager

Správa souborů řídící jednotky v programu NXT-G se spouští na ovládacím panelu, který se nachází na programovací ploše vpravo dole. Po kliknutí na tlačítko umístěné vlevo nahoře se otevře nové dialogové okno.

NXTG sprava spusteni

Správa paměťového prostrou se nachází v druhé záložce s názvem Memory. V první, nazvané Communications se pouze volí, které zařízení si přejeme zobrazit. V levé části se nachází grafické zobrazení využití paměťového prostoru. Barevně jsou odlišeny typy souborů. V bílém podokně je zobrazen přehled souborů a jejich velikost. Soubory se zobrazují zakliknutím volby Show System Files.

V dolní části se nacházejí čtyři tlačítka:

  • Delete All - maže veškeré soubory,
  • Upload - kopíruje soubory do počítače,
  • Download - nahrává soubory z počítače do paměti zařízení,
  • Delete - maže vybrané soubory.

Úplně napravo jsou zobrazeny systémové informace:

  • Name - volitelný název zařízení,
  • Battery - úroveň nabití baterie,
  • Connection - způsob připojení,
  • Free Storage - volný paměťový prostor,
  • Firmware version - verze aktuálně nahraného firmware.

NXTG manager

RobotC

Souborový manager

Správa paměti v programovém prostředí RobotC je umožněna pomocí vestavěného souborového manažeru. Nalezneme ho v horním menu v záložce Robot pod volbou NXT Brick, kde zvolíme možnost File Management Utility.

RobotC soubor manager cesta

Po rozkliknutí se otevře nové okno. Na levé straně se nachází filtr, pomocí které je možné si zvolit kterou složku souborů chceme zobrazit v bílém podokně (na obrázku jsou zobrazeny všechny soubory). Bílé podokno obsahuje seznam souborů, jejich typ a také velikost.

Na pravé straně se nachází jméno robota (v tomto případě není robot pojmenován). Položka Free Space označuje, kolik volného místa se v paměti nachází. Vpravo se nachází také několik tlačítek:

  • Run - slouží ke spuštění programu,
  • Stop - zastaví spuštěný program,
  • Upload - kopíruje vybrané soubory do počítače,
  • Download - vyzve uživatele k vybrání souborů, které jsou následně nahrány z počítače do paměti,
  • Defragment File System - spustí defragmentaci souborového systému,
  • Refresh Files - zaktualizuje seznam souborů,
  • Delete File - smaže vybraný soubor,
  • Delete All Files - smaže všechny soubory,
  • Create Image - vytvoří obraz obsahu paměti v podobě firmware souboru. Ten je poté možné naimportovat do jiného zařízení. Docílíme tak identické kopie systému,
  • Compress -umožňuje komprimovat vybrané soubory, 
  • Rename Robot - přejmenuje robota (změní Robot Name v horní části okna).

 RobotC soubor manager

EV3

Souborový manager

Pro přepnutí do správy paměti řídící jednotky máme v programovacím prostředí EV3 tři možnosti:

  • kliknutím na volbu Tools (Nástroje) v horním menu a vybráním možnosti Memory Browser (Procházení paměti),

MEMORY BROWSER MENU

  •  stisknutím klávesové zkratky Ctrl + I,
  • kliknutím na tlačítko Open Memory Browser v pravém spodním rohu panelu pro ovládání připojených jednotek (viz červeně ohraničené tlačítko na obrázku níže).

MEMORY BROWSER OPEN

Po provedení jednoho z těchto úkonů se nám otevře nové dialogové okno. V jeho horní části si volíme typ paměti, kterou chceme procházet či spravovat. Na výběr zde máme ze dvou možností - Brick (interní pamět řídící jednotky) a SD Card (paměťová karta vložená do příslušného slotu řídící jednotky).

V levé části okna můžeme kontrolovat obsazenost zvolené paměti. Máme zde barevně odlišeny tři položky:

  • Free Space (volné místě v paměti),
  • Applications (paměťový prostor, který zabírají aplikace),
  • Projects (paměťový prostor, který zabírají projekty).

Hlavní část okna poté zabírá přehled všech souborů obsažených ve zvolené paměti včetně jejich velikosti. Pod tímto přehledem máme několik tlačítek pro práci se soubory:

  • Copy (kopírování) - vytvoří kopii zvoleného souboru pro její případné přesunutí do paměti jiné řídící jednotky nebo paměťové karty,
  • Paste (vložení) - vloží zvolený soubor do paměťového zařízení,
  • Delete (mazání) - smaže zvolený soubor z paměti,
  • Upload (nahrání) - nahraje zvolený soubor z paměti řídící jednotky do počítače,
  • Download (stažení) - nahraje soubor uložený v počítači do paměti řídící jednotky.

MEMORY BROWSER

 

1 1 1 1 1 1 1 1 1 1 Hodnocení 5.00 (1 hodnocení)

KURZ: Export programu do robotické stavebnice

Hotový program se do řídící jednotky NXT exportuje pomocí kabelu přes rozhraní USB. U novější jednotky EV3 máme k dispozici ještě Bluetooth a Wi-Fi připojení. Před exportem je nutné mít v řídící jednotce nahraný aktuální firmware pro dané programovací prostředí. Postup nahrání firmware je vysvětlený v kapitole nazvané Aktualizace firmware.

Provedení v programovacím prostředí 

NXT-G

Možnosti exportu

Export přes ovládací panel

Export programu do řídící jednotky robotické stavebnice lze v programovacím prostředí NXT-G provést pomocí nahrávacího panelu umístěného v pravém dolním rohu programovací plochy, který obsahuje celkem pět tlačítek.

 NXTG download panel

Připojená zařízení

První tlačítko umístěné vlevo nahoře slouží k zobrazení připojených zařízení, úrovně nabytí baterie a hlavně ke správě pamětového prostoru řídící jednotky (blíže popsáno v kapitole Správa paměti robotické stavebnice).

NXTG pamet

Uložení programu do jednotky

Tlačítko vlevo dole umožňuje pouze stáhnout program do paměti řídící jednotky.

NXTG stazeni

Nahrání celého programu do jednotky

Prostřední tlačítko slouží k nahrání celého programu do paměti a ihned po nahrání je program také spuštěn.

NXTG spusteni

Nahrání vybrané části programu do jednotky

Pravé horní tlačítko reprezentuje funkci Download and run selected (Stáhnout a spustit vybrané). Umožňuje tedy nahrát do paměti řídící jednotky pouze vybranou část programu, kterou následně po nahrání okamžitě spustí. Tímto způsobem je možné zkoušet například správnou funkčnost jednotlivých programových bloků bez nutnosti nahrávat a pouštět celý program.

NXTG spusteni vybrane

Zastavení prováděného programu

Pravé dolní tlačítko má funkci Stop. Po jeho stisknutí se vyšle příkaz k zastavení prováděného programu.

NXTG stop

 

Hromadný export

V horním menu pod záložkou Tools nalezneme možnost Download to Multiple NXTs, která umožňuje export programu do několika zařízení najednou.

NXTG md menu

Po rozkliknutí se otevře nové dialogové okno, které je rozdělené na dvě části. Vlevo je možné vybrat jedno nebo více připojených zařízení. Vpravo se volí, který program je určen k nahrání do řídící jednotky. Po kliknutí na Download se provede nahrání. Tato funkce je využitelná v případě, že potřebujeme stejný program nahrát do více řídících jednotek. Nemusíme to tedy provádět jednotlivě, ale díky této možnosti se nahrání provede hromadně.

 NXTG multiple download

RobotC

Postup exportu

Pro export programu do řídící jednotky v programovacím prostředí RobotC máme dvě možnosti:

  • vybrat v horním menu v záložce Robot možnost Compile and Download Program ,
  • stisknout klávesu F5.

RobotC download

Po provedení jedné z těchto dvou možností je program zkompilován a nahrán do řídící jednotky a otevře se dialogové okno ve kterém je možné program ovládat (spouštět, zastavovat, spouštět pouze určité části).

RobotC debug

EV3

Export programu do řídící jednotky EV3

Před nahráním programu do paměti je nutné mít řídící jednotku EV3 připojenou k počítači. Provést to můžeme buďto přes rozhranní USB nebo prostřednictvím Bluetooth či Wi-Fi modulu. Změnu způsobu připojení můžeme softwarově provést v pravé spodní části programovacího prostředí EV3, kde se nachází nástroje pro ovládání připojené řídící jednotky. V třetí záložce nazvané Available Brics (dostupné řídící jednotky) se nám zobrazují všechny jednotky připojené k počítači, včetně způsobu připojení, který můžeme zakliknutím příslušné volby změnit.

 EXPORT PRIPOJENI

Panel pro nahrání vytvořeného projektu do řídící jednotky se nachází v pravé dolní části programovacího prostředí a obsahuje tři tlačítka.

EXPORT NAHRANI

DOWNLOAD Download - volba umožňující pouze nahrání vytvořeného projektu do paměti řídící jednotky.

DOWNLOAD AND RUN Download and Run - po kliknutí na tlačítko se projekt nahraje do řídící jednotky a zároveň se okamžitě spustí jeho vykonávání.

RUN SELECTED Run Selected - po kliknutí se nahraje pouze označená část vytvářeného programu a okamžitě se začne provádět.

 

1 1 1 1 1 1 1 1 1 1 Hodnocení 0.00 (0 hodnocení)

KURZ: Orientace v programovacím prostředí

Orientace v programovacím prostředí

Správná a bezproblémová orientace v prostředí je základem úspěšné práce s jakýmkoliv softwarem. Programovací prostředí NXT-G a EV3 se od RobotC liší způsobem reprezentace programového kódu, proto jsou specifická také jejich prostředí. Ve všech ale můžeme najít shodné rysy či funkce. Rozdíl se dá vypozorovat například v odbornosti, protože NXT-G a EV3 jsou prostředí hodící se spíše pro začátečníky. Oproti tomu RobotC obsahuje pokročilejší funkce vhodné pro pokročilejší programátory. 

Stručný popis programovacích prostředí

V následujícím přehledu jsou popsány hlavní části programovacích prostředí a jejich charakteristické nástoje.

NXT-G

Popis prostředí

NXT-G je programovací prostředí, ve kterém se program vytváří pomocí grafických programových bloků. Za jeho vývojem stojí firma National Instruments. Prostředí je díky ztvárnění programu grafickými bloky vhodné zejména pro začátečníky. 

Poznámka: Jednotlivé části programovacího prostředí jsou barevně vyznačené.

Standardní horní menu - obsahuje záložky pro:

  • práci se souborem (File),
  • úpravy (Edit),
  • nástroje (Tools),
  • nápovědu (Help).

Pod vyjmenovanými záložkami menu se nachází ikona pro přepnutí do programu NXT Data Logging a také ikony pro usnadnění a urychlení práce (New Program, Open Program, Save, Cut, Paste a další).

Knihovna programových bloků - nabízí kompletní paletu bloků, paletu nejčastěji používaných nebo možnost vytvořit si vlastní nabídku bloků. Základní instalace programu NXT-G obsahuje pouze běžně používané programové bloky. Pro pokročilejší programování je tedy nutné další bloky naimportovat.

Programovací plocha - místo, kde se z grafických bloků sestavuje daný program. Na ploše je vyznačen počátek programu a místo pro umístění prvního bloku popsané jako Start.

Tlačítka pro export a ovládání programu - slouží k exportu programu do řídící jednotky pomocí rozhraní USB a také pro spuštění správy paměti.

Robot Educator - forma rozšířené nápovědy, která obsahuje popis a použití jednotlivých bloků v programování a také ilustrační videa.

Nastavení bloku - část programovacího prostředí, kde se po kliknutí na blok programu zobrazí možnost nastavení jeho parametrů.

Nápověda - klasická forma nápovědy, která se po kliknutí otevře ve webovém prohlížeči. Nápověda je v anglickém jazyce a obsahuje základní popis programu a všech programových bloků. Druhá záložka této sekce obsahuje náhled, který využijeme hlavně pro orientaci v rozsáhlejším programu.

RobotC

Popis prostředí

Programovací prostředí RobotC je značně odlišné. Za jeho vývojem stojí společnost Robomatter. Vytvořený program v něm není reprezentován graficky, ale zápisem programovacího jazyka C v kombinaci s dalšími příkazy. 

ROBOTC prostredi

Poznámka: Jednotlivé části programovacího prostředí jsou barevně vyznačené.

Standardní horní menu - obsahuje záložky pro: 

  • práci se souborem (File),
  • editaci a úpravy (Edit),
  • zobrazení různých nástrojů (View),
  • výslednou úpravu a kompilaci programu (Robot),
  • volbu množství zobrazovaných funkcí v knihovně (Window),
  • nápovědu (Help).

V horní části programovacího prostředí se zobrazují navolené palety nástrojů (Toolbars), které se vybírají v sekci View horizontálního menu.

Knihovna funkcí - obsahuje přehled funkcí programovacího jazyka RobotC rozdělených do kategorií podle příslušnosti k dané komponentě či programovacímu konstruktu. Uživatel má možnost navolit si v záložce Window úroveň množství zobrazovaných funkcí. Na výběr jsou tři možnosti (Basic, Expert, Super User).

Programovací plocha - prostor pro zápis programového kódu. V levé liště se zobrazuje číslování řádků. Pro usnadnění programování se při zápisu kódu zobrazuje nápověda se seznamem funkcí.

Okna pro orientaci v programuv dolní části programu lze zobrazit některá přídavná okna, jako například okno pro zobrazení chyb při kompilaci programu nebo okno pro vyhledávání v programovém kódu. Panely se mohou buďto přidat do této spodní části programového okna nebo zobrazit jako plovoucí.

EV3

POPIS PROSTŘEDÍ

Programovací prostředí EV3 je nativně určené k ovládání stejnojmenné robotické stavebnice LEGO MINDSTORMS. Využít jej ovšem můžeme také k ovládání starší robotické stavebnice LEGO MINDSTORMS NXT. Princip vytváření programu je stejný, jako u programovacího prostřední NXT-G. Výsledný program vzniká logickým uspořádáváním a propojováním programových bloků.

Poznámka: Jednotlivé části programovacího prostředí jsou barevně vyznačené.

Standardní horní menu - obsahuje záložky pro: 

  • práci se souborem (File),
  • editaci a úpravy (Edit),
  • různé nástroje a editory potřebné při práci se stavebnicí (Tools),
  • nápovědu (Help).

Programovací plocha - místo, na němž se z programových bloků sestavuje program. Na ploše je umístěn počáteční bod programu, který obsahuje tlačítko Start umožňující spuštění programu.

Editor obsahu - editor umožňující přidávat do vytvářeného projektu multimediální obsah (obrázky, videa, konstrukční schémata, zvuky, dokumenty a další).

Knihovna programových bloků - kompletní paleta programovaých bloků, které jsou rozděleny šesti kategorií dle funkce (akce, senzor, datové operace a další). V poslední, šesté kategorii jsou obsaženy vlastní bloky, které si uživatel vytvoří. Do knihovny je možné importovat nové bloky dle potřeb ovládaného zařízení.

Ovládání připojené jednotky - okno umožňující řídit připojení řídící jednotky k počítači, spravovat vstupní a výstupní zařízení připojená na portech řídící jednotky a spravovat způsoby připojení (USB, Wi-fi, Bluetooth) řídící jednotky k počítači.

Tlačítka pro export a ovládání programu - slouží pro nahrání programu do řídící jednotky, okamžité spuštění nahrávaného programu nebo spuštění jen vybrané části programu.

http://www.youtube.com/watch?v=Yt2yth-KrzU
1 1 1 1 1 1 1 1 1 1 Hodnocení 4.14 (14 hodnocení)