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

Zvětšit

Ukázka aplikace NXT Dataloging

Zvětšit

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

Zvětšit

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

Zvětšit

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

Zvětšit

Ukázka IDE Eclipse

Zvětšit

Ukázka IDE BlueJ

Zvětšit

Odkazy na zdroje informací

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

Ukázka systému

Zvětšit

Simulační prostředí

Zvětšit

Odkazy na zdroje informací