<< Modelování a stavba robotů | Programování robotů | Cvičení 01 - Stavba a řízení robota >>
Možnosti programování robotického Lega
Grafické programování
- sestavování programu pomocí grafických bloků s parametry
- bloky představují řídící struktury
- podmínka, větvení cyklické opakování, pauza ...
- bloky představují také aktivní prvky
- motory a senzory
Klasické programování
- využití speciálních klonů a knihoven programovacích jazyků C a Java
- možnost programování pod OS Windows, Linux a MAC OS
- využití metod strukturovaného a objektového programování
- tvorba zdrojových kódů, kompilace a upload do řídící jednotky
Kombinované programování
- využití grafických bloků pro rychlé generování programového kódu
- možnost vizuálního programování s využitím objektů a událostí
- možnost grafické simulace řízení robota v prostoru
Odkazy na zdroje informací
NXT-G
Charakteristika
- programovací nástroj dodávaný v domácí sadě (Lego 8547) nebo školní multilicence k výukové sadě (Lego Education 9797)
- sestavování programu probíhá v grafickém vizuálním prostředí
- komponenty (motory, senzory) a události (čekání, větvení, opakování) se vkládají jako grafické bloky
- každý blok má nastavitelné parametry a většina bloků může předávat informace jiným blokům
- systém zajišťuje kompilaci programů a komunikuje s NXT řídící jednotkou pomocí USB rozhraní
- výuková verze NXT-G navíc umožňuje provádět grafický záznam dat senzorů - dataloging
Ukázka systému NXT-G
Ukázka aplikace NXT Dataloging
Odkazy na informační zdroje
NXC
Charakteristika
- NXC = Not eXactly C - "ne úplně C".
- jednoduchý programovací jazyk založený na syntaxi jazyka C určený k programování LEGO Mindstorms
- pro tvorbu programu se používá nejčastěji vývojové prostředí Bricx Command Center
- NXC podporuje vícevláknové zpracování programu - 1 vlákno je 1 úloha
- úlohy se definují pomocí klíčového slova TASK
- při startu programu se vždy spouští hlavní úloha pomoc klíčového slova MAIN
Ukázka systému Bricx Command Center
Odkazy na zdroje informací
RobotC
Charakteristika
- komerčně vyvíjený programovací prostředek využívající jazyk C pro programování robotů
- využití pokročilého editoru kódu, speciálních robotických funkcí a ladících prostředků
- určený pro programování robotů typu NXT, TETRIX, VEX Cortex nebo PIC
- využití pro výuku robotiky na středních a vysokých školách
- možnost využití velkého množství návodů a tutoriálů, propracovaného helpu a webové podpory
- pracuje pod OS Windows nebo MAC OSX se speciálním firmwarem
Ukázka IDE RobotC
Odkazy na zdroje informací
NXJ
Charakteristika
- sada volně šířených nástrojů pro programování robotického Lega v jazyce Java
- leJOS (Lego Java OS) - firmware se speciální verzí běhového prostředí JVM (Java Virtual Machine)
- NXJ API (Application Programming Interface) - knihovny nástrojů, metod a tříd pro programování robotického Lega
- IDE (Integrated Development Environment) - vývojové prostředí pro tvorbu programu v jazyce Java
- PLUGINS - zásuvné moduly pro podporu programování s leJOS NXJ v použitém IDE
- možnost objektového programování v jazyce Java pod OS Windows, Linux a MAC OSX
- náročnější instalace a konfigurace programovacího prostředí
- nutnost volby vhodného vývojového prostředí - NetBeans, Eclipse, BlueJ
Ukázka IDE NetBeans
Ukázka IDE Eclipse
Ukázka IDE BlueJ
Odkazy na zdroje informací
- Web systému leJOS NXJ
- Návody pro systém leJOS NXJ
- Rozšíření pro systém leJOS NXJ
- Web systému NetBeans
- Web systému Eclipse
- Web systému BlueJ
Microsoft Robotics Developer Studio (MRDS)
Charakteristika
- univerzální grafické prostředí pro vývoj a programování různých robotických platforem
- Lego NXT, Vex Robotics, Paralax ...
- v rámci programu Dreams Spark pro studenty zdarma
- možnost kombinace grafického a klasického programování
- využití běhového prostředí Windows .NET framework a jazyka C#
- možnost prostorové simulace chování robota