V čom programovať Lego

Najnovšia verzia robotického Lega je Spike Prime a Mindstorms Robot Inventor. Majú vlastné programovacie prostredia so skoro totožným vizuálom.

Viac detailov je v popise samotných robotických stavebníc.

PYBRICKS (novinky z 2023)

https://pybricks.com

https://beta.pybricks.com (vylepšovaná verzia, s podporou blokov pre podporovateľov)

Od 1. 12. 2023 sprístupnil tím tohto systému blokové programovanie. Na týždeň môže bloky používať zadarmo. Pre podporovateľov - 5 € mesačne pre 1 osobu, 57 € navždy pre 1 osobu, 57 € na rok pre celý tím. Blokové programovanie je v zásade prepis kódov z pythonu do blokov, čo umožňuje priamy náhľad na kód v pythone.

Od 23. júna 2021 online aplikácia pomocou, ktorej je možné programovať prostredníctvom MicroPython všetky programovateľné kocky (huby), motory a senzory od Lega: Lego Boost, Lego City & Train, Lego Technic, Lego Mindstorms EV3 (nutné je použiť Visual Studio Code inštalované priamo do počítača), Lego Spike Prime a Lego Mindstorm Robot Inventor. Oproti programovaniu v Pythone prostredníctvom štandardných Lego aplikácii tu beží kód oveľa rýchlejšie a využíva asi trikrát viac pamäte. Všetky motory a snímače majú triedy s jednoduchým používaním a sú tiež presnejšie. 

Pre programovanie (code.pybricks.com alebo beta.pybricks.com) je nutné preinštalovať firmvér, ktorý sa dá kedykoľvek vrátiť do pôvodného stavu. Jedná sa o open source s veľkou komunitou a teda aj podporou, návodmi a ukážkovými projektami. 

PyBricks sa dá nainštalovať aj priamo do počítača. Programovať sa dá iba hub pripojený cez Bluetooth.

LEGO Education
Spike App

V decembri 2022 bola spustená aplikácia Spike Prime App 3.0. Žiaľ akosi im to tam zatiaľ nefunguje dokonale: je nutné upgradovať hub a nie je možné vrátiť sa na 2.0 (vlastne je to možné cez obnovenie pôvodného firmvéru v systéme pybrick.com - stručný postup pred obnovením), hub musí byť pripojený cez bluetooth, programy z 2.0 sa nedajú otvoriť, cez Python sa nedalo programovať (už sa dá), zopár blokov vypustili alebo zmenili (hlavne v sekcii movement). Zatiaľ radšej používať staré online programovacie prostredie "Legacy Spike App 2"

https://education.lego.com/en-us/downloads/spike-app/software  - aplikácia zadarmo dostupná cez Microsoft store (ale aj pre iOS, Mac, Android, ci FireOS). Dá sa stiahnuť aj inštalačný súbor .msi. Aplikácia nepodporuje slovenčinu (ani češtinu).

Použiť sa dá blokové programovanie (ako Scratch) alebo programovanie v jazyku Python (nejde však o plnohodnotný IDE Python, podporuje MicroPython, bez možnosti pridania ďalších knižníc). Ponúka aj možnosť programovania v blokoch pre menšie deti (podobné ako má Lego WeDo alebo Boost).

Rozšírenia (extensions) spoločné s Inventor App: More Motors, More Movements, More Sensors, Music, Weather Manager.

Rozšírenia ktoré Inventor App neobsahuje: Line Graph, Bar Graph a Display.


LEGO Mindstorms
Robot Inventor

POZOR: Oficiálna podpora pre sadu Lego Mindstorms Robot Inventor končí koncom roka 2022, podpora pre programovacie prostredie končí v roku 2024 (uvidíme, čo to znamená prakticky).

https://www.microsoft.com/en-us/p/lego-mindstorms-robot-inventor/9mtq0n7w1d6x?&activetab=pivot:overviewtab|pivot:regionofsystemrequirementstab  - aplikácia zadarmo dostupná cez Microsoft store (ale aj pre iOS, Mac, Android, Amazon). Jazyk aplikácie je možné prepnúť na češtinu (slovenčina nie je zatiaľ podporovaná), ale pozor preložia sa aj samotné príkazy.

Od Spike App sa líši iba tmavou farebnou schémou (nedá sa zmeniť), má pár nových blokov a rozšírení. Po upgrade hubu by sa mal dať použiť aj na programovanie Spike Prime. 

Použiť sa dá blokové programovanie (ako Scratch) alebo programovanie v jazyku Python (nejde však o plnohodnotný IDE Python, podporuje MicroPython, bez možnosti pridania ďalších knižníc).  

Navyše (oproti Spike App) má blok pre animácie (ledky na hube) a blok pre Remote Controller (dizajnovaný priamo v programovacom prostredí). Bloky pre dotykový senzor (senzor sily), ktorý stavebnica neobsahuje, je možné doplniť pomocou rozšírenia More Sensors. 

Rozšírenia (extensions) spoločné so Spike App: More Motors, More Movements, More Sensors, Music, Weather Manager. 

Rozšírenie ktoré Spike App neobsahuje: Model Blocks (bloky pre jednotlivé demo modely), Lego Powered Up a ešte experimentálne rozšírenia pre: DualShock 4 Controller, Xbox One Controller a Hub to Hub Communication.

Kompletné porovnanie príkazov v oboch nových prostrediach.

Červený ovál znamená, že blok(y) sa v danom prostredí nevyskytujú. 


Aké programovacie prostredia môžeme použiť, 
ak máme k dispozícii robotickú stavebnicu LEGO Mindstrorms EV3 prípadne NXT?!

EV3 Classroom (od 2020)

(EV3-G / EV3 LAB)

Od roku 2020 je pre Windows 10 vydaná nová inovovaná verzia programovacieho prostredia pod názvom LEGO MINDSTORMS EV3 Classroom App. Prostredie je absolútne iné ako pôvodná verzia softvéru - založené na prostredí Scratch. Stiahnuť sa dá na https://education.lego.com/en-us/downloads/mindstorms-ev3/software, prípadne hľadajte v Microsoft Store.

Staršie info: Originálne prostredie oficiálne nazývané "LEGO MINDSTORMS Education EV3 Software" prípadne EV3 Lab. V začiatkoch bol platený a free bola iba jeho okresaná verzia Home edition. Jedná sa teda o freeware (od verzie 1.4.2 update 2018). Stiahnuť je ho možné z oficiálnej stránky pre viaceré operačné systémy a v rôznych jazykoch (žiaľ ani čeština ani slovenčina tam nie je) - žiaľ v súčasnosti sa nedá stiahnuť z oficiálnych stránok (dočasne som ju dal na Google disk. Pri inštalácii je možné si vybrať či sa jedná o učiteľskú alebo žiacku inštaláciu. Vzájomne sú potom prepojené a program ponúka množstvo možností na prácu v skupinách. Jedná sa o jednoduchý intuitívny blokový drag and drop jazyk založený na ikonách, ktorých parametre sa nastavujú priamo v ikone. 

Taktiež umožňuje priame sledovanie hodnôt zo senzorov a motorov. Pripojiť robota je možné cez USB kábel, bluetooth a wifi (iba ak má EV3 kocka pripojený USB bluetooth adaptér, odporúčaný je napr. Edimax EW-7811Un). Softvér obsahuje rozsiahle hlavné menu s množstvom vzdelávacích materiálov, kompletných návodov, programov, postupov, lekcií s podporou učiteľa ale všetko v angličtine. Taktiež obsahuje editor zvukov a obrázkov na ich nahranie, úpravu a použite v robotovi. Okrem programovania je možné vytvárať aj experimenty s dlhodobým záznamom a analýzou údajov zo senzorov prostredníctvom grafov. Technické parametre k EV3-G sú zverejnené na education.lego.com/en-us/middle-school/intro/c/ev3-everyone-can-code ale aj na stránkach s oficiálnym pomocníkom k tomuto programu: ev3-help-online.api.education.lego.com/Education/en-gb/.

Pre tých, čo nemajú skúsenosti s robotikou odporúčam nechať sa inšpirovať  stránkami s lekciami a návodmi (žiaľ všetko v angličtine). 

Pre tých, ktorí majú radi niečo nové a radi skúšajú niečo iné odporúčam stránku so špeciálnymi rozširujúcimi senzormi a súčiastkami pre Lego Mindstorms (kompas, senzor na sledovanie čiary, kamerové systémy, ovládače a i.) www.mindsensors.com/37-ev3-and-nxt.

POZOR: pomocou programu EV3-G sa dá bez problémov programovať aj kocka Lego Mindstorms NXT!!! Jediná podmienka je, že NXT musí byť pripojené k počítaču cez USB kábel.

UPOZORNENIE: nový spôsob aktualizácie firmwaru kocky education.lego.com/en-us/support/mindstorms-ev3/firmware-update


MIT APP Inventor 2

(nové info 2018)


Podstata tohto online blokového programovacieho prostredia (ako Scratch) od MIT je vývoj mobilných aplikácií. Podporuje aj prácu s NXT a EV3, takže sa dá vytvoriť vlastná aplikácia na ovládanie robota (ale aj čokoľvek iné). Do online prostredia sa treba prihlásiť prostredníctvom Google účtu. Pozor - nepodporuje Internet Explorer. 

Vytvorená aplikácia sa na zariadení s Androidom testuje prostredníctvom aplikácie MIT AI2 Companion, v ktorej zadáte kód z Inventoru (hlavné menu Connect/AI Companion), alebo načítaním vygenerovaného QR kódu. Tu je podmienka, že počítač aj mobilné zariadenie su na rovnakej wifi. Druhý spôsob nahrania je pomocou USB kábla. Existuje aj možnosť spustiť aplikáciu v emulátore Androidového mobilu priamo v Inventore - samozrejme nepoužiteľné na robota. Hotovú aplikáciu si môžete stiahnuť vo formáte .apk cez kábel alebo cez internet pomocou QR kódu. 

Všetky potrebné informácie k začiatkom nájdete na oficiálnej stránke appinventor.mit.edu/explore/ai2/beginner-videos.html

Detaily ku práci s Lego Mindstorms nájdete v oficiálnych návodoch: 

ai2.appinventor.mit.edu/reference/components/legomindstorms.html#Ev3Commands alebo aj vo videu (síce po taliansky, ale nie problém pochopiť): youtube.com/watch?v=CKBH7HnSG_Y


Microsoft MakeCode
(novinka 2018)

Microsoft MakeCode je nová online platforma umožňujúca programovať a simulovať Lego Mindstorms EV3, Micro:bit, Adafruit, Chibi Chip, Grove Zero ale aj samotný Minecraft,  aplikáciami podporuje aj robota Wonder. Lego je možné programovať prostredníctvom blokov ale aj priamo v JavaScript-e. V prostredí je integrovaný plne funkčný simulátor EV3 kocky so senzormi a motormi.  

Spustenie programu je trošku zdĺhavé: kocku pripojte cez USB (musí byť firmware aspoň 10.1E - nová online aktualizácia), kocka bude rozpoznaná ako pamäťové zariadenie, program z online prostredia stiahnete do počítača, skopírujete ho do kocky, v ktorej sa následne program automaticky spustí. Program sa iba spustí, neostáva v kocke a kocka sa automaticky odpojí ako pamäťové zariadenie. Po vypnutí programu by sa mala kocka opätovne zobraziť ako zariadenie, možno bude treba refrešnúť obsah počítača. Ja som mal po aktualizácii firmwaru problém s USB driverom, bolo ho treba aktualizovať). 

Každopádne sa jedná o úžasné prepojenie simulárota, blokového programovania a JavaScriptu. Pozor simulátor neumožňuje prácu s robotom ale priamo s kockou, motormi a senzormi.

Návod je na https://makecode.mindstorms.com/about a samotné prostredie pre Lego na https://makecode.mindstorms.com/#editor


EV3 Programming APP

POZOR: v novembri 2019 bude uvedená nová verzia aplikácie pre programovanie LEGO, ktorá sa bude volať LEGO® MINDSTORMS® Education EV3 Classroom. Bude založená na aplikácii SPIKE™ app a programovanie bude založené na systéme Scratch. Prvá verzia bude v angličtine a počas roka 2020 bude pridaných ďalších 15 jazykov 

Aplikácia s oficiálnym názvom Lego Mindstorms Programmer resp. Lego Mindstorms Programming app pre tablety ktorá nahrádza EV3-G, ale zatiaľ nemá podporu pre prácu s premenným a s poľami. Podporu má zatiaľ iba pre zopár tabletov, ale školské tablety Samsung Galaxy 10.1 sú tam tiež (zoznam nájdeme na: www.lego.com/en-us/mindstorms/apps/ev3-programmer-app/supported-devices). Umožňuje programovať robotov pripojených cez bluetooth, má 22 vstavaných programov pre 5 štandardných modelov, ktoré môžeme postaviť za pomoci vstavaných návodov. Pomocou aplikácie nie je možné diaľkové ovládanie, na to je ideálna napríklad aplikáciu Lego Mindstorms Commander (https://play.google.com/). 

Pár lekcií k programovaniu nájdeme na https://ev3lessons.com/tablet.html?lang=en-us


Scratch

2023 - Určite stojí za zmienku aj odnož Scratchu - playground.raise.mit.edu/main  Podporuje rozšírenia pre Lego EV3, Boost aj Wedo, ale s možnosťami využitia strojového učenia a umelej inteligencie (Machine learning a AI).

Od 1. augusta 2018 je k dispozícii verzia Scratch 3.0 (funguje bez flashu) - scratch.mit.edu. Samozrejme tvorcovia popracovali aj na rozšírení pre Lego Mindstorms EV3. Pripojenie k robotovi sa realizuje pomocou nového programčeku "Scratch Link", cez bluetooth, kábel alebo wifi - podporuje Windows aj MacOS (https://scratch.mit.edu/ev3). Vľavo dole si treba pridať rozšírenie pre EV3 (alebo aj pre WeDo a Boost).

Scratch (scratch.mit.edu) je už dlhé roky veľmi populárna bloková platforma, ktorá si prešla obrovským vývojom. Jedná sa v súčasnosti o online, cloudový systém s podporou slovenčiny. S použitím rozšírenia (iba v angličtine) je možné programovať aj EV3 robotov. Stačí pripojiť a spárovať robota s počítačom cez bluetooth (pár sekúnd trvá rozpoznanie robota v programe), do kocky nie je potrebné inštalovať žiadny firmware alebo rozšírenia. Obmedzujúce je množstvo príkazov v rozšírení a nutnosť použiť Internet Explorer. Staré prostredie s rozšírením spustíme na scratchx.org. Manuál k nastaveniam je napríklad na kaspesla.github.io/ev3_scratch



OpenRoberta

Jedná sa o úžasnú free online cloudová platforma z nemeckého Fraunhofer IAIS založená na blokovom programovaní umožňujúca programovať robotov Lego NXT, Lego EV3, NAO, Micro:bit, Bot´n Roll, BOB3 a Calliope - lab.open-roberta.org. Taktiež má vstavaný jednoduchý simulátor. Obrovskou výhodou platformy s jazykom NEPO inšpirovaného Scratchom a Blockly je fakt, že sa dá prepnúť aj na češtinu a umožňuje zobrazenie zdrojového Java kódu (neupravovateľný kód). 

Pre prácu s NXT nie je treba nič iba pripojenie cez USB kábel, spustenie pomocného programu Open Roberta USB (jira.iais.fraunhofer.de) alebo doplnku v Chrome (https://jira.iais.fraunhofer.de/wiki/display/ORInfo/Open+Roberta+Chrome+App) a spárovanie v programe (hlavné menu NXT / connect ...). Program sa nahrá, ale spustiť ho treba manuálne v kocke. 

Pri práci s EV3 je potrebné pripraviť si microSD kartu s nastaveným operačným systémom EV3 LeJos alebo EV3dev. Odporúčame EV3 LeJOS nakoľko má jednoduchšie nastavenia pri párovaní. Celý postup nastavenia je na https://jira.iais.fraunhofer.de/wiki/display/ORInfo/Set+up+EV3+-+System+leJOS. Robota je možné pripojiť cez USB kábel alebo cez wifi, ak má robot USB wifi adaptér (overený je Edimax EW-7811Un). 

NEPO bloky môžeme používať v režime Začiatočník alebo Pokročilý, kde pribudnú zoznamy, funkcie a správy. Kompletné podporné materiály v angličtine sú dostupné na https://jira.iais.fraunhofer.de/wiki/display/ORInfo


RobotC

Jedná sa o platenú platformu, ktorá poskytuje neuveriteľné množstvo možností programovania robotov v jazyku C. Je možné programovať v grafickom ale aj textovom režime, podporuje robotov VEX ale aj Lego NXT a EV3. V nadstavbe je možné využívať virtuálne prostredie Robot Virtual Worlds. EV3 je možné používať iba s upgradovaným firmwarom (1.05X), ktorý funguje s RobotC, LabView ale aj EV3-G. Podpora materiálov, metodík, testov, videotutoriálov a všetkého, čo je potrebné, je na veľmi vysokej úrovni spracované na education.rec.ri.cmu.edu

Na www.robotc.net/download/lego/ je možné stiahnuť si 10 dňovú trial verziu, potom si môžeme kúpiť licenciu na rok (1 PC - 49$, 6PC-149$, 30 PC-299$) alebo natrvalo (1 PC - 79$, 6 PC-299$, 30 PC-599$) samostatne alebo vrátane balíka s Robot Virtual Worlds. Kompletný prehľad licencií a cien nájdete na www.robotc.net/purchase/lego.


EV3 Python 

EV3 Python využíva jazyk Python, ktorý je pokladaný za jednoduchší a rýchlejší ako napr. Java či C#. Na programovanie robota je potrebné použiť operačný systém ev3dev na microSD karte. Kompletné materiály nájdeme na oficiálnej stránke www.ev3python.com

Jedno z množstva videí s detailnejším vysvetlením je aj na https://www.rosebotics.org/csse120-ev3/course - stačí sa prihlásiť. 


EV3 Bacic

Aj napriek tomu, že sa jedná o riadkové kódovacie prostredie, je veľmi príjemné, jednoduché, user friendly a hlavne zadarmo. Príkazy sa nemusia vpisovať, môžu sa vyberať z inteligentnej rolovacej ponuky. Ku každému príkazu je podrobný help, žiaľ chýbajú príklady. Jedná sa o rozšírenie pre Microsoft Small Basic čo je vlastne modifikovaný a zjednodušený QBasic. Programovať je možné len EV3 robotov, ale pripojiť sa dajú cez USB, bluetooth aj cez wifi, ak má robot USB wifi adaptér (overený je Edimax EW-7811Un). Detailný návod s videotutoriálmi nájdeme na oficiálnej stránke ev3basic.com


Enchanting

Enchanting (enchanting.robotclub.ab.ca/tiki-index.php) je založený na jazyku Scratch, taktiež je aj v češtine, ale dá sa použiť len offline pre NXT s LeJOS a posledný update bol vydaný v júly 2014. 


RoboBlockly

Za zmienku určite stojí aj online blokové prostredie RoboBlocky založené na známej platforme Blockly s prevodom do kódu jazyka Ch, C a C++. Na stránkach projektu roboblockly.ucdavis.edu nájdete aj množstvo úloh využitých aj v projekte Hour of Code. Poskytuje virtuálne prostredie až pre štyroch robotov LinkBot alebo Lego Mindstrorms NXT ale aj EV3 s rôznymi podkladmi.  Platforma C-STEM Center s určitými doplnkami  umožňuje programovať v jazyku Ch  aj reálnych robotov LinkBot (iel.ucdavis.edu/projects/mindstorms)  alebo Lego Mindstorms NXT aj EV3 - c-stem.ucdavis.edu/studio/ch-robot-controller. Okrem toho poskytuje simulačné štúdio RoboSim c-stem.ucdavis.edu/studio/robosim (to však nie je online)

LabVIEW (RoboLab)

Nesmieme opomenúť ani programovacie prostredie LabView  od National Instruments. Prostredie pripomínajúce vývojové diagramy je určené prioritne pre rôzne senzory, ale s nadstavbou sa dá použiť pre LEGO Mindstorms NXT, teoreticky aj pre EV3 (https://www.legoengineering.com/ev3-support-for-labview/). Jedná sa o platený softvér - 115 € / počítač (https://sine.ni.com/nips/cds/view/p/lang/cs/nid/210666), ale dá sa stiahnuť aj trial verzia pre študentov na 6 mesiacov (https://www.ni.com/labviewse/).


MATLAB and Simulink (nové)


Na vývoj svojho robota môžete používať najnovšiu verziu simulačného a výpočtového programu MATLAB s nadstavbou Simulink a ďalšie aplikačné knižnice (tzv. toolboxy) s podporou pre hardvérové platformy NXT, EV3, Arduino, BeagleBoard a Raspberry Pi ktoré sú v tomto balíku obsiahnuté. Licenciu na jeden rok môžu využívať všetci účastníci súťaže Istrobot.
Viac informácií: www.mathworks.com/academia,

konkrétnejšie k EV3 blokom:
 https://www.mathworks.com/help/supportpkg/legomindstormsev3/blocklist.html


Iné možnosti

Vývojové prostredie BricxCC ponúka možnosť programovať Lego RCX v jazyku NQC (Not Quite C) ale aj NXT v jazyku NXC (Not exactly C). Návody v češtine nájdete aj na https://robowiki.spsnome.cz/Programovani/NXC-Jazyk

Najnovšia verzia by mala podporovať aj EV3 - bricxcc.sourceforge.net (vývoj už asi dlhšie stagnuje).

Veľmi zaujímavá vývojárska platforma je aj EV3RT C++ API. Tvorcami je prispôsobená tak, aby čo umožnila žiakom ľahký prechod z klasického grafického EV3 G do písania zdrojového kódu - https://ev3rt-cxx.readthedocs.io/cs/latest/

Ešte viac možností nájdete na en.wikipedia.org/wiki/Lego_Mindstorms

Základy robotiky na základnej škole
2017-2024
LEGO® je ochranná známka skupiny spoločností LEGO, ktorá túto stránku nesponzoruje, neautorizuje ani nepodporuje.
Vytvorené službou Webnode
Vytvorte si webové stránky zdarma! Táto stránka bola vytvorená pomocou služby Webnode. Vytvorte si vlastný web zdarma ešte dnes! Vytvoriť stránky