Knihovna robotiky. Kurz programování robotů EV3 v Lego Mindstorms Kurz programování EV3 EV3

Domov / Pevné disky

Pokud máte rádi grafické programovací prostředí Scratch 2.0, pak se ho nemusíte vzdávat programování robotů Lego Mindstorms EV3. Stačí nainstalovat a nakonfigurovat potřebné software, o kterém bude napsáno v tomto článku.

Článek bude zaměřen na majitele běžících počítačů Windows ačkoliv veškerý software uvedený v článku lze nainstalovat a používat na počítačích se spuštěným systémem MacOS, Mac OS X A Linux. Zde je shrnutí plánu, který budeme dodržovat:

Příprava SD karty

Než začnete něco dělat dál, musíte najít vhodné SD karta, odstraňte z něj všechny nepotřebné oddíly, které tam mohou být, a naformátujte jej. Musí to být karta s objemem minimálně 2 GB, ale už ne 32 GB (karty SDXC nejsou modulem podporovány EV3). Souborový systém na kartě musí být FAT32. Vývojáři leJOS Doporučujeme kartu naformátovat pomocí programu SD Card Formatter. I když se totiž rozhodnete použít právě zakoupenou paměťovou kartu, může obsahovat skryté sekce, což může při práci způsobovat problémy EV3. Pokud však vaše SD karta méně než 4 GB, pak program automaticky vybere souborový systém TUK a to nejde změnit v nastavení, takže po naformátování programu Formátovač SD karet naformátujte takové karty ve formátu FAT32 jiným způsobem. Navíc při použití starých karet mám 2 GB, leJOS EV3 odmítl vůbec nabootovat, přestože instalace byla úspěšná. Ze své zkušenosti radím používat čerstvě zakoupené karty SDHC objem 4 – 32 GB(s kartou mi vše funguje úspěšně SDHC objem 4GB třída 4 výroba smartbuy).

Instalace komponent leJOS EV3 na váš počítač

leJOS je malý virtuál stroj Java, který byl v roce 2013 upraven pro práci se systémem Lego Mindstorms EV3. Oficiální stránka projektu je umístěna. Pro běžící počítače Windows vývojáři vytvořili distribuční sadu, která obsahuje nástroj pro přípravu SD karty, dokumentace a příklady.

Pojďme tedy nainstalovat leJOS EV3 do počítače:

      • Stáhnout nejnovější verzi leJOS EV3 0,9,0-beta). K instalaci na Windows– toto bude soubor leJOS_EV3_0.9.0-beta_win32_setup.exe.
      • Spusťte staženou distribuci na vašem počítači. Uvidíte pozdrav. Klikněte na " Další >».

      • V tomto kroku vyberte JDK (Java Development Kit), který budete používat. Doporučeno k použití Java 7 nebo 8 . Nicméně k použití Java 8 budete muset vytvořit vhodný kompaktní profil Jáva, Proto Java 7 bude snazší používat, což je to, co uděláme. Li JDK nemáte nainstalovaný, klikněte na tlačítko " Stáhněte si JDK“ a poté, co přejdete na web Věštec, stáhněte si příslušný JDK a nainstalujte jej do počítače. Klepněte na tlačítko Další >».

      • V dalším kroku můžete zvolit cestu instalace nebo ji ponechat beze změny. Klikněte na " Další >».
      • V dalším kroku uvidíte seznam komponent k instalaci. Doporučuje se nainstalovat všechny komponenty. Klikněte na " Další >».

      • V dalším kroku budete moci vybrat alternativní instalační cesty pro vybrané součásti. Zde můžete nechat vše jako výchozí a kliknout na „ Další >».
      • V dalším kroku vyberte název složky z nabídky “ Start" Klikněte na " Další >».
      • Na poslední krok klikněte "Instalovat".
      • Pokud máte v počítači nainstalovanou předchozí verzi leJOS EV3, pak se vám zobrazí varování, viz obrázek. Pro smazání klikněte na "OK". předchozí verze z počítače.

      • Po instalaci se zobrazí poslední okno. Zde můžete zaškrtnout políčko „ Spusťte nástroj EV3SDCard"pro okamžité spuštění nástroje pro přípravu SD karty při ukončení průvodce.

Klepněte na tlačítko "Dokončit" se zaškrtávacím políčkem " Spusťte nástroj EV3SDCard» po instalaci komponent leJOS EV3 do počítače nebo spusťte nástroj ručně spuštěním souboru ev3sdcard.bat který je ve složce zásobník, uvnitř složky, kam jste nainstalovali leJOS EV3(pro mě je to složka " C:\Program Files\leJOS EV3\bin"). Po spuštění byste měli vidět okno zobrazené na obrázku níže.

V horním poli musíte vybrat písmeno jednotky vaší karty, pro mě je to jednotka já:. Pole níže označuje soubor obrázku leJOS a ve výchozím nastavení byste se již měli zaregistrovat správnou cestou, viz obrázek výše. Tento soubor lze nalézt ve složce, kde byly nainstalovány součásti leJOS EV3(mám tohle" C:\Program Files\leJOS EV3"). V úplně dolním poli je třeba vybrat soubor s runtime prostředím Jáva, který si nejprve musíte stáhnout z webu Věštec odtud (ujistěte se, že jste vybrali Java 7 JRE, ne Java 8 SDK, pokud samozřejmě neplánujete vytvořit kompaktní profil Java 8). Ke stažení se budete muset zaregistrovat, pokud jste tak ještě neučinili.

Po vyplnění všech polí klikněte na tlačítko "Vytvořit" a po jejich zkopírování na SD kartu potřebné soubory zobrazí se vám tato zpráva:

Klikněte "OK" poté zavřete okno programu a bezpečně vyjměte kartu z počítače. Poté jej vložte do vypnutého modulu EV3 a zapněte jej stisknutím středového tlačítka. Měli byste vidět logo leJOS EV3 a průběhu formátování a instalace obrazu SD karty. To trvá asi 8 minut. Na konci tohoto procesu modul EV3 se restartuje a měli byste vidět nabídku leJOS EV3.

Později, když modul zapnete EV3 s vloženou SD kartou leJOS EV3 vaše stahování začne okamžitě leJOS EV3 a bez SD karty se načte standardní software LEGO.

Instalace Adobe AIR do počítače

Před instalací offline editoru Poškrábat, musíte do počítače aktualizovat nebo nainstalovat nejnovější verzi Adobe AIR. Instalaci nebudu popisovat, je velmi jednoduchá. Musíte si stáhnout instalační program, spustit jej, odpovědět na pár otázek a počkat na dokončení instalace.

Nyní si stáhněte a nainstalujte nejnovější verzi offline editoru do počítače Škrábnout 2(v době psaní tohoto článku se jedná o verzi 437, soubor Scratch-437.exe). Instalátor má velmi málo parametrů, viz obrázek. Zrušte zaškrtnutí " Po instalaci spusťte aplikaci" a klikněte na " Pokračovat».

Po instalaci se vám zobrazí následující hlášení, viz obrázek. Klikněte na " Připraven».

Instalace aplikace ev3-scratch-helper-app na váš počítač

Další věcí, kterou musíte udělat, je nainstalovat aplikaci asistenta ev3-scratch-helper-app k vašemu počítači, což umožňuje interakci Poškrábat s modulem EV3(přečtěte si o aplikacích asistenta pro Poškrábat Může). Instalace může být provedena dvěma způsoby:

    1. Pokud máte na svém počítači nainstalováno git pak můžete projekt naklonovat spuštěním příkazu “ git klon https://github.com/koen-dejonghe/ev3-scratch-helper-app.git" Tato metoda je vhodnější, ale pokud nevíte co git tedy druhý způsob.
    2. Stáhněte a rozbalte zip archiv s projektem (zvolil jsem tuto možnost). Složka ev3-scratch-helper-app-master uvnitř zip archivu jsem to rozbalil na disk C:.

Ve složce "poškrábat" uvnitř instalační složky najdete soubor " ev3-helper-app.s2e"pro angličtinu a soubor" ev3-helper-app-NL.s2e» Holandské jazyky ve složkách "en" A "nl". Pokud chcete použít ruštinu, můžete soubor přeložit sami " ev3-helper-app.s2e"(kódování souboru d.b. UTF-8) nebo vezměte soubor " ev3-helper-app-RU.s2e"s mým překladem (soubor " ev3-helper-app-RU.s2e"uložte stejným způsobem jako anglickou a holandskou verzi: vytvořte složku" ru\rozšíření“ a uložte jej tam). Bohužel můžete překládat pouze názvy bloků, ale ne hodnoty, jinak aplikace ev3-scratch-helper-app nebude fungovat. Tito. názvy motorů a senzorů zůstanou v angličtině (u motorů to je "Velký" A "Střední" pro senzory - "Barva", "Vzdálenost" A "Dotek" atd.).

Rusifikace aplikace ev3-scratch-helper-app Verze: od 08.07.2015

Soubor ev3-helper-app-RU.s2e pro rusifikaci bloků EV3 v offline editoru Scratch 2.

8.7.2015 3,76 kB 1428

Ve složce aplikace najdete soubor " aplikace.vlastnosti» s nastavením. V případě potřeby změňte nastavení. Názvy nemovitostí mluví samy za sebe, takže je zde nebudu popisovat. Po změně se ujistěte, že hodnota vlastnosti je " server.port"v souboru" aplikace.vlastnosti"se rovná hodnotě proměnné" extensionPort"v souboru" ev3-helper-app.s2e"nebo" ev3-helper-app-RU.s2e“, podle toho, jaký jazykový soubor použijete.

Spuštění aplikace ev3-scratch-helper-app

Před spuštěním editoru Škrábnout 2 aplikaci byste měli mít vždy spuštěnou ev3-scratch-helper-app. Chcete-li jej spustit, postupujte takto:

    1. Spusťte okno konzoly a změňte aktuální složku na složku, kde je aplikace nainstalována ev3-scratch-helper-app. Mám tuto složku" C:\ev3-scratch-helper-app", tak jsem zavolal příkaz" cd C:\ev3-scratch-helper-app».
    2. Spusťte příkaz " gradlew.bat bootRun" Při prvním spuštění se potřebné knihovny stáhnou a nainstalují do vašeho počítače, takže se ujistěte, že je váš počítač připojen k internetu. První spuštění bude trvat dlouho, buďte trpěliví.

Po spuštění aplikace se v konzole zobrazí zprávy podobné následujícím:

2015-08-06 09:15:28.699 INFO 10236 --- s.b.c.e.t.TomcatEmbeddedServletContainer: Tomcat byl spuštěn na portech: 4321/http 2015-08-06 09:15:28.1703: scratch.ev. Aplikace spuštěna za 13,411 sekund (JVM běží na 15,025)

Pro další spuštění můžete pro pohodlí vytvořit zástupce například na ploše. Takto vypadají vlastnosti zástupce nainstalovaná aplikace ve složce" C:\ev3-scratch-helper-app»:

Při spouštění aplikace ev3-scratch-helper-app se připojí k prvnímu dostupnému modulu EV3 online. Pokud není detekován žádný modul, aplikace čeká, až se modul objeví.

První spuštění offline editoru Scratch 2

Po spuštění editoru Škrábnout 2 poprvé (musíte mít štítek " Škrábnout 2» na ploše) možná budete chtít změnit jazyk na ruštinu. Volba jazyka se provádí z menu se zeměkoulí, viz obrázek.

Přidání programových bloků EV3 do editoru Scratch 2

Po spuštění se automaticky vytvoří nový prázdný projekt. Nyní pro tento projekt musíte importovat bloky EV3, Chcete-li to provést, podržte klávesu "Posun" klikněte na nabídku " Soubor -> Importovat experimentální rozšíření HTTP“ a vyberte soubor ev3-helper-app.s2e nebo ev3-helper-app-RU.s2e, v závislosti na preferovaném jazyce. Vybral jsem soubor " C:\ev3-scratch-helper-app-master\scratch\ru\extensions\ev3-helper-app-RU.s2e" Tento postup bude nutné provést jednou pro každý nový projekt.

Poté otevřete „ Skripty» klikněte na « Jiné bloky“ a ujistěte se, že se zde objeví naše bloky. Přítomnost bloků je vhodné zkontrolovat pokaždé po otevření dříve uloženého projektu. Zelený kruh napravo od názvu " EV3HelperApp“ znamená, že aplikace v3-scratch-helper-app běží. Pokud je kruh červený, znamená to, že aplikace v3-scratch-helper-app neběží a musí být spuštěn.

Připojení kostky EV3 k počítači

Připojte modul EV3 k počítači můžete přistupovat dvěma způsoby: přes Bluetooth nebo WiFi.

Chcete-li se připojit přes WiFi musíte mít USB WiFi adaptér. leJOS EV3 podporuje adaptéry s čipsety Atheros ATH9K A Realtex 8192cu. EV3 Brick testovaný vývojáři s adaptéry NetGear WNA1100 A EDIMAX EW-7811Un, ale mohou být podporovány další adaptéry, pokud používají jednu z uvedených čipových sad. Zde nebudu uvažovat o připojení přes WiFi protože Ne každý má ten správný adaptér. Ale pokud máte zájem o takové spojení, můžete zjistit, jak to udělat z oficiálního zdroje.

Chcete-li se připojit přes Bluetooth musíte moduly nejprve vzájemně propojit EV3 a počítač a pak udělejte osobní bluetooth síť(PÁNEV).

Připojení EV3 Brick k vašemu počítači stačí provést jednou za pár. Modul EV3 - počítač»:

1. V EV3 Brick v hlavní nabídce leJOS EV3 najít položku nabídky "Bluetooth" a vstupte dovnitř stisknutím středního tlačítka kostky EV3. Pokud vidíte nápis " Viditelnost zapnuta“, pak je vše v pořádku: viditelnost modulu je zapnutá. Pokud vidíte nápis " Viditelnost vypnuta“, poté najděte položku nabídky "Viditelnost"(s obrázkem oka) a stiskněte centrální tlačítko modulu EV3 dvakrát pro aktivaci viditelnosti (štítek by se měl změnit na " Viditelnost zapnuta»).
2. Na počítači otevřete „ Ovládací panely -> Hardware a zvuk -> Zařízení a tiskárny" Zobrazí se seznam zařízení připojených k počítači.

3. Ujistěte se, že Bluetooth je počítač zapnutý a klikněte na tlačítko v horní části Přidání zařízení" Objeví se dialogové okno, ve kterém by se měl modul po chvíli objevit EV3. Klikněte na něj a poté klikněte na „ Další».

4. V dalším kroku uvidíte výběr možnosti připojení. Klikněte na druhou možnost a zadejte PIN kód 1234 .

Jakmile jsou kostka EV3 a počítač vzájemně propojeny, můžete Osobní síť Bluetooth (PÁNEV) (síťové připojení PÁNEV budete muset udělat pokaždé, když zapnete kostku EV3):

    1. OTEVŘENO " Ovládací panely -> Síť a Internet -> Centrum sítí a sdílení sdílený přístup "a klikněte na" Změna nastavení adaptéru» v levém podokně okna.
    2. Měli byste vidět tady" Síťové připojení Bluetooth“ s červeným křížem. Klepnutím na tuto ikonu ji vyberete.
    3. Klikněte na tlačítko nahoře Pohled síťová zařízení Bluetooth».
    4. Po chvíli uvidíte ve vyskakovacím okně jeden nebo více přístupových bodů. Klikněte zde na našem zařízení " EV3" vyberte ji a klikněte na položku nabídky " Připojit přes -> Přístupový bod».

Programování robota EV3 v editoru Scratch 2

Při programování robotů EV3 pomocí editoru Poškrábat a rozšíření ev3-scratch-helper-app musíte si uvědomit, že před použitím motorů a senzorů je třeba je připojit pomocí bloků " Připojte motor k portu"A" Připojte senzor k portu» (« Připojte motor k portu"A" Připojte senzor k portu" při použití anglické verze bloků). Senzory se deaktivují pomocí " Zavřete všechny porty» (« Zavřete všechny porty"v anglické verzi).

Kontrolujte, co se děje v aplikaci ev3-scratch-helper-app můžete se podívat na zprávy v konzole.

Chcete-li zkontrolovat, zda jsme vše správně nakonfigurovali, sestavte jednoduchý vozík, například standardní pohonnou platformu, a napište pro něj nejjednodušší program PROTI Škrábnout 2. Příklady můžete vidět ve složkách " doc"A" scratch\cs\ukázky» ve složce instalace programu ev3-scratch-helper-app. Při otevírání ukázkových programů v Škrábnout 2 zkontrolujte, zda tam nejsou bloky EV3, jak je popsáno výše v části „“.

Návod na sestavení standardní pohonné plošiny naleznete zde:

    • Nejprve skřítek" Start" (velký trojúhelník vlevo nahoře) je šedý, to znamená, že robot není inicializován. Vidíte, rychlost motorů null a také vzdálenost na senzoru 1 null. Musíte kliknout na šedý trojúhelník.
        • Po kliknutí na trojúhelník se připojí motory a senzor vzdálenosti a trojúhelník zezelená. Jak můžete vidět, rychlost motorů a vzdálenost snímače nyní ukazují smysluplné hodnoty namísto nuly.

        • Nyní můžete stisknout mezerník na počítači a robot se bude pohybovat vpřed, dokud se před ním neobjeví překážka ve vzdálenosti menší než 50 cm, když robot detekuje překážku, zastaví se.
        • Až budete mít hraní s robotem dost, můžete znovu kliknout na trojúhelník. Tím se uzavřou všechny porty a robot se opět neinicializuje a trojúhelník zešedne.

    K článku přikládám programový soubor zobrazený na obrázku:

    Montážní návod pro standardní pohonnou platformu Educator EV3
    Program pro Scratch 2 pro testování interakce s robotem EV3 Verze: od 08.07.2015

    Program pro Scratch 2 pro testování interakce s robotem EV3.

    8.7.2015 45,65 kB 1157

    Sečteno a podtrženo

    V tomto článku jste se naučili, jak nastavit offline editor Škrábnout 2 pro programování robotů LEGO Mindstorms EV3 a také se naučili, jak s ním začít programovat. Bohužel v případě programování v Škrábnout 2 modul EV3 musí být neustále připojen k počítači přes Bluetooth nebo WiFi, tj. není autonomní. I když jsou zde příjemné bonusy - robota lze ovládat například z počítače, robota na kolech lze ovládat pomocí šipek nebo kláves W, A, S a D Takže zkoušejte, experimentujte a kdyby něco není jasné.

    Ahoj. Ve svých článcích vás chci seznámit se základy programování mikropočítače LEGO NXT Mindstorms 2.0. Pro vývoj aplikací budu používat platformy Microsoft Robotics Developer Studio 4 (MRDS 4) a National Instruments LabVIEW (NI LabVIEW). Budou zvažovány a implementovány úlohy automatického a automatizovaného řízení mobilních robotů. Přejdeme od jednoduchého ke složitému.

    Předvídání některých otázek a připomínek čtenářů.

    Proč NXT Mindstorms 2.0? Protože se mi tato sada zdála pro mé projekty nejvhodnější, protože... Mikropočítač NXT je plně kompatibilní s platformami MRDS 4 a NI LabVIEW a tato stavebnice je navíc velmi flexibilní z hlediska sestavování různých konfigurací robota – na sestavování robota je vynaloženo minimum času.

    Proč platformy MRDS 4 a NI LabVIEW? Tak se to historicky stalo. Při studiu vyšších ročníků na univerzitě bylo úkolem vyvinout vzdělávací kurzy s využitím těchto platforem. Platformy se navíc celkem snadno učí a jsou funkční, můžete přímo napsat program pro ovládání robota, vyvíjet uživatelské rozhraní a provádět testování ve virtuálním prostředí (v případě MRDS 4).

    Kdo stejně potřebuje tyto vaše lekce, na internetu je již spousta robotických projektů! Výukové články využívající tuto kombinaci (NXT+MRDS 4/NI LabVIEW) prakticky neexistují, většinou se používá nativní programovací prostředí a vše v něm je zcela triviální. Každý, kdo se zajímá o robotiku, programování a kdo má sadu NXT (a není jich málo), publikum jakéhokoli věku.

    Grafické programovací jazyky jsou zlo a ti, kdo v nich programují, jsou kacíři! Grafické programovací jazyky, kterými jsou MRDS 4 a NI LabVIEW, mají nepochybně své nevýhody, například se zaměřují na úzké úlohy, ale stále nejsou ve funkčnosti o moc horší než textové jazyky, zejména proto, že NI LabVIEW byl původně vyvinut jako snadný naučit se jazyk pro řešení vědeckých a inženýrské problémy, k tomu obsahuje mnoho potřebných knihoven a nástrojů. Proto jsou tyto grafické jazyky nejvhodnější pro řešení našich problémů. A nemusíte nás kvůli tomu upálit na hranici.

    To vše vypadá dětinsky a vůbec ne vážně! Pokud je úkolem implementovat algoritmy, naučit základy a principy programování, robotiky, systémů reálného času bez ponoření se do obvodů a protokolů, pak je to velmi vhodný nástroj, i když ne levný (s ohledem na sadu NXT). Přestože jsou sestavy založené na Arduinu docela vhodné pro stejné účely, tento řadič nemá téměř žádnou kompatibilitu s MRDS 4 a NI LabVIEW a tyto platformy mají své kouzlo.

    Technologie, které se používají, jsou produktem rozpadajících se kapitalistických zemí a autor je nepřítelem lidu a komplicem západních spiklenců! Bohužel většina technologií v oblasti elektroniky a výpočetní technika

    Pocházím ze Západu, budu moc rád, když mě upozorní na podobné technologie původní domácí výroby. Mezitím využijeme to, co máme. A není třeba to hlásit zvláštním službám a chovat ke mně zášť.

    Stručný přehled platforem MRDS 4 a NI LabVIEW. Dovolte mi upřesnit některé pojmy. Pod platformou, uvnitř v tomto případě

    , máme na mysli sadu různých nástrojů, například jazyk VPL v MRDS, a také běhové prostředí aplikace, tzn. Neexistuje žádná přímá kompilace aplikací do spustitelných (*.exe) souborů. V roce 2006 Microsoft oznámil vytvoření platformy(více podrobností v článku na Wikipedii). MRDS je prostředí pro vývoj aplikací na bázi Windows pro robotiku a simulaci. V současné době je aktuální verze Microsoft Robotics Developer Studio 4. Mezi vlastnosti: grafický programovací jazyk VPL, rozhraní orientovaná na web a Windows, simulační prostředí VSE, zjednodušený přístup k senzorům, mikrokontroléru a aktuátorům robota, podpora programování v C# jazyk, knihovny pro vícevláknové programování a distribuované spouštění aplikací CCR a DSS, podpora mnoha robotických platforem (Eddie, Boe - Bot, CoroBot, iRobot, LEGO NXT atd.).

    LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) je vývojové prostředí a platforma pro spouštění programů vytvořených v grafickém programovacím jazyce „G“ od National Instruments (podrobnosti viz článek Wikipedie). LabVIEW se používá v systémech pro sběr a zpracování dat a také pro řízení technických objektů a technologických procesů. Ideově se LabVIEW velmi blíží SCADA systémům, ale na rozdíl od nich se více zaměřuje na řešení problémů ani ne tak v oblasti automatizovaných systémů řízení procesů (automatizované systémy řízení procesů), ale v oblasti ASNI ( automatizované systémy vědecký výzkum). Grafický programovací jazyk "G" používaný v LabVIEW je založen na architektuře toku dat. Sekvence provádění operátorů v takových jazycích není určena pořadím, ve kterém se objevují (jako v imperativních programovacích jazycích), ale přítomností dat na vstupech těchto operátorů. Operátory, které nesouvisejí s daty, jsou prováděny paralelně v náhodném pořadí. Program LabVIEW se nazývá a je virtuálním nástrojem (anglicky: Virtual Instrument) a skládá se ze dvou částí:

    • blokové schéma popisující logiku virtuálního nástroje;
    • přední panel popisující uživatelské rozhraní virtuálního nástroje.

    Krátký pohled na sadu LEGO NXT Mindstorms 2.0.

    Sada NXT se skládá z řídící jednotky, čtyř senzorů a tří serv. Ovládací blok obsahuje:
    • 32bitový mikrokontrolér AVR7 s pamětí 256 KB FLASH a pamětí 64 KB RAM;
    • 8bitový mikrokontrolér AVR s pamětí 4 KB FLASH a pamětí 512 bajtů RAM;
    • Rádiový modul Bluetooth V 2.0;
    • USB port;
    • 3 konektory pro připojení serv;
    • 4 konektory pro připojení senzorů;
    • LCD displej s rozlišením 99x63 pixelů;
    • reproduktor;
    • konektor pro 6 AA baterií.
    Senzory (různé sady senzorů dostupné v různých konfiguracích):
    • ultrazvukový senzor;
    • dva dotykové senzory (dotykové senzory);
    • senzor detekce barev.


    Obrázek 1 - Mikropočítač NXT s připojenými senzory a akčními členy

    A samozřejmě sada obsahuje různé LEGO díly ve tvaru LEGO Technic, ze kterých budou sestaveny aktuátory a nosná konstrukce.


    Obrázek 2 - Podrobnosti ve tvaru LEGO Technic

    Píšeme první přihlášku.

    Pojďme napsat první aplikaci. Ať klasicky, tuto aplikaci zobrazí text „Hello, World!“. Implementace bude probíhat střídavě v MRDS 4 a NI LabVIEW, přičemž budeme zvažovat specifika každé platformy.

    Nejprve nainstalujeme platformy MRDS 4 a NI LabVIEW v případě MRDS 4 by měla být instalace provedena do složky, jejíž cesta se neskládá z azbuky (ruská písmena); účet uživatelské jméno by se také mělo skládat pouze z latinských písmen.

    1. Platforma MRDS 4.
    Spusťte prostředí VPL (nabídka Start - Všechny programy - Microsoft Robotics Developer Studio 4 - Visual Programming Language). Toto prostředí umožňuje vyvíjet aplikace v jazyce VPL a provádět testování ve virtuálním prostředí VSE. Program VPL je schéma skládající se z propojených bloků. V okně, které se otevře, je kromě standardního příkazového řádku a nabídky 5 hlavních oken:
    1. Základní aktivity – obsahuje základní bloky, které implementují operátory jako konstanta, proměnná, podmínka atd.;
    2. Služby – obsahuje bloky, které poskytují přístup k funkčnosti platformy MRDS, například bloky pro interakci s jakoukoli hardwarovou součástí robota nebo bloky pro volání dialogového okna;
    3. Projekt – kombinuje diagramy zahrnuté v projektu a také různé konfigurační soubory;
    4. Vlastnosti – obsahuje vlastnosti vybraného bloku;
    5. Okno Diagramy – obsahuje přímo diagram ( zdrojový kód) aplikace.

    Obrázek 3 - Programovací prostředí VPL

    Proveďme následující posloupnost akcí:

    2. Platforma NI LabVIEW.
    Na této platformě je vše implementováno téměř identicky. Spustíme prostředí LabVIEW. Před námi se objeví dvě okna, první je Front Panel, určený k implementaci uživatelského rozhraní ( vzhled virtuální zařízení), druhým je blokový diagram pro implementaci programové logiky.


    Obrázek 8 - Okna prostředí LabVIEW

    Použijeme okno Blokový diagram. Proveďme následující kroky:

    Resumé

    • Zkontrolovali jsme softwarové platformy pro vývoj aplikací pro mikropočítač NXT.
    • Podívali jsme se na základní principy vývoje aplikací v platformách MRDS 4 a NI LabVIEW.
    • Seznámili jsme se s rozhraním prostředí.
    V následujících článcích se budeme zabývat přímo programováním NXT. Online existuje mnoho školicích materiálů pro prostředí LabVIEW, ale mnohem méně pro VPL. Studium vřele doporučuji referenční příručka obě platformy (je nutná znalost angličtiny), v těchto příručkách je spousta příkladů, které lze implementovat bez NXT, a také následující knihy:
    • Programování mikropočítače NXT v LabVIEW - Lidiya Beliovskaya, Alexander Beliovsky,
    • Microsoft Robotics Developer Studio. Programování algoritmů řízení robotů - Vasily Gai.
    Ve svých článcích budu popisovat pouze své projekty, protože... Nevidím smysl v přepisování informací z jednoho zdroje do druhého. Přijmu jakoukoli konstruktivní kritiku a zodpovím jakékoli dotazy týkající se kontrolovaných platforem. Díky předem!

    Ve druhé lekci se blíže seznámíme s programovacím prostředím a podrobně si prostudujeme příkazy, které nastavují pohyb našeho robotického vozíku, sestaveného v první lekci. Spusťte tedy programovací prostředí Lego mindstorms EV3, načtěte si náš dříve vytvořený projekt Less.ev3 a přidejte jej do projektu nový program- lekce-2-1. Program můžete přidat dvěma způsoby:

    • Vyberte tým "Soubor" - "Přidat program" (Ctrl+N).
    • Klikněte "+" na záložce programy.

    Rýže. 1

    2.1. Programovací palety a programové bloky

    Obraťme nyní svou pozornost na spodní sekci programovacího prostředí. Z látky v první lekci již víme, že zde jsou příkazy pro programování robota. Vývojáři použili originální techniku ​​a seskupením programových bloků přiřadili každé skupině vlastní barvu a volali palety skupin.

    Zelená paleta se nazývá: "Akce":

    Rýže. 2

    Tato paleta obsahuje softwarové bloky pro ovládání motorů, blok displeje a ovládací blok pro indikátor stavu modulu. Nyní začneme studovat tyto programové bloky.

    2.2. Zelená paleta - akční bloky

    První programový blok zelené palety je určen pro ovládání středního motoru, druhý blok je pro ovládání velkého motoru. Protože parametry těchto bloků jsou shodné, uvažujme nastavení na příkladu bloku - velkého motoru.

    Rýže. 3

    Pro správné nastavenířídicí jednotku pro velký motor musíme:

    1. Vyberte port, ke kterému je připojen motor (A, B, C nebo D) (obr. 3 položka 1)
    2. Zvolte provozní režim motoru (obr. 3 položka 2)
    3. Nakonfigurujte parametry zvoleného režimu (obr. 3 položka 3)

    Jak se liší režimy? režim: "Zapnout" zapíná motor pomocí daný parametr "Moc" a poté je řízení přeneseno do dalšího programového bloku programu. Motor se bude dále otáčet, dokud jej nezastaví další blok "Velký motor" s režimem "Vypnout" nebo další blok "Velký motor" nebude obsahovat další parametry provedení. Režim "Povolit na počet sekund" zapne velký motor s nastaveným výkonem na určený počet sekund a teprve po uplynutí času se motor zastaví a řízení v programu přejde na další blok programu. Podobně se bude motor chovat v režimech "Zapnout podle počtu stupňů" A "Povolit počtem otáček": teprve po dokončení nastavené rotace motoru se motor zastaví a řízení v programu přejde na další blok.

    Parametr výkonu (na obr. 3 je výkon nastaven na 75) může nabývat hodnot od -100 do 100. Kladné hodnoty výkonu nastavují otáčení motoru ve směru hodinových ručiček, záporné hodnoty nastavují otáčení motoru proti směru hodinových ručiček. Při hodnotě výkonu 0 se motor nebude otáčet, čím „vyšší“ hodnota výkonu, tím rychleji se motor otáčí.

    Parametr výkonu je uveden pouze v celočíselných hodnotách parametry: sekundy, stupně, otáčky mohou nabývat hodnot s desetinným zlomkem. Pamatujte však, že minimální krok otáčení motoru je jeden stupeň.

    Zvláštní zmínku je třeba věnovat parametru "Brzda na konci". Tento parametr, pokud je nastaven na "Brzda" způsobí zpomalení motoru po provedení příkazu a je-li nastaveno na "Obsadit", pak se motor bude otáčet setrvačností, dokud se nezastaví.

    Další dva programové bloky "Řízení" a implementovat řízení dvojice velkých motorů. Ve výchozím nastavení je levý velký motor připojen k portu "V", a ten pravý - do přístavu "S". Připojovací porty však můžete změnit v nastavení jednotky v souladu s požadavky vašeho návrhu ( Rýže. 4 poz. 1).

    Rýže. 4

    Parametr "Řízení" (Rýže. 4 poz. 2) může nabývat hodnot od -100 do 100. Záporné hodnoty parametru způsobí, že se robot otočí doleva, hodnota 0 způsobí, že se robot bude pohybovat rovně a kladné hodnoty způsobí, že se robot otočí doprava. Šipka nad číselným parametrem mění svou orientaci v závislosti na hodnotě, čímž ukazuje směr pohybu robota ( Rýže. 5).

    Rýže. 5

    Blok programu "Nezávislé ovládání motoru" vypadá jako softwarový blok "Řízení". Řídí také dva velké motory, ale místo toho "Řízení" je možné nezávisle řídit výkon každého motoru. Se stejnou hodnotou parametru "Moc" u levého a pravého motoru se robot bude pohybovat přímočaře. Pokud použijete zápornou hodnotu výkonu na jeden motor (například -50) a kladnou hodnotu na druhý (například 50), robot se otočí na místě ( Rýže. 6).

    Rýže. 6

    Provozní režimy těchto bloků jsou obdobné jako režimy řídící jednotky pro jeden motor, nevyžadují tedy další popis...

    2.3. Přímý pohyb, zatáčky, otáčení a zastavování

    Nyní tedy můžeme napsat program, aby se robot pohyboval po jakékoli trase.

    Úkol 1: Jeďte rovně na 4 otáčky motoru. Otočte se. Jeďte o 720 stupňů.

    Řešení ( Rýže. 7):

    1. Pomocí softwarového bloku "Řízení" jeďte 4 otáčky vpřed.
    2. Pomocí softwarového bloku „Independent Motor Control“ otočte na místě (hodnotu stupňů bude nutné zvolit experimentálně).
    3. Pomocí softwarového bloku "Řízení" jeďte vpřed o 720 stupňů.

    Poznámka: Proč jsem musel při otáčení vybrat hodnotu stupně? blok 2? Není to tak? 360 stupně - požadovaná hodnota? Ne, pokud nastavíme hodnotu parametru "stupně" rovný 360 , pak tím donutíme hřídele levého a pravého motoru našeho robota otočit o požadovanou hodnotu. Úhel, pod kterým se robot otočí kolem své osy, závisí na velikosti (průměru) kol a vzdálenosti mezi nimi. Na Rýže. 7 hodnota parametru "stupně" rovná se 385 . Tato hodnota umožňuje robotovi sestavit podle pokynů malý robot 45544 otočit kolem své osy. Pokud máte jiného robota, budete muset zvolit jinou hodnotu. Lze tuto hodnotu zjistit matematicky? Je to možné, ale o tom si povíme později.


    Rýže. 7

    Úkol 2: Umístěte nějakou překážku (plechovku, kostku, malou krabičku) na rovný povrch a označte výchozí bod pro svého robota. Vytvořte v projektu nový program: lekce-2-2, který umožní robotovi objet překážku a vrátit se do výchozího bodu.

    Kolik softwarových bloků jste použili? Podělte se o svůj úspěch v komentářích k lekci...

    2.4. Obrazovka, zvuk, indikátor stavu modulu

    Blok programu "Obrazovka" Umožňuje zobrazit textové nebo grafické informace na LCD obrazovce EV3 Brick. Jaké praktické využití by to mohlo mít? Za prvé, ve fázi programování a ladění programu můžete zobrazit aktuální hodnoty senzoru, když je robot v provozu. Za druhé, můžete zobrazit název mezistupně provádění programu. No, za třetí, s pomocí grafické obrázky Obrazovku robota můžete „animovat“ například pomocí animace.

    Rýže. 8

    Blok programu "Obrazovka" má čtyři provozní režimy: režim "Text" umožňuje zobrazit textový řetězec na obrazovce, režim "tvary" umožňuje zobrazit na obrazovce jeden ze čtyř geometrických tvarů (přímka, kruh, obdélník, bod), režim "Obraz" může zobrazit jeden obrázek na obrazovce. Můžete si vybrat obrázek z bohaté sbírky obrázků nebo si nakreslit vlastní pomocí editoru obrázků. Režim "Okno resetovat nastavení" Obnoví obrazovku EV3 Brick na standardní informační obrazovku zobrazenou během běhu programu.

    Rýže. 9

    Podívejme se na parametry programového bloku "Obrazovka" v režimu "Text" (obr. 9 položka 1). Řetězec, který se má zobrazit na obrazovce, se zadá do speciálního pole (obr. 9 položka 2). Bohužel do pole pro zadávání textu můžete zadat pouze latinská písmena, čísla a interpunkční znaménka. Pokud režim "Vymazat obrazovku" nastavit na hodnotu "Věrný", obrazovka se před zobrazením informací vymaže. Pokud tedy potřebujete zkombinovat aktuální výstup s informacemi již na obrazovce, nastavte tento režim na "Lež". Režimy "X" A "Y" určit bod na obrazovce, od kterého začíná výstup informací. Obrazovka EV3 Brick je 178 pixelů (bodů) široká a 128 pixelů vysoká. Režim "X" může nabývat hodnot od 0 do 177, režim "Y" může nabývat hodnot od 0 do 127. Levý horní bod má souřadnice (0, 0), pravý dolní (177, 127)

    Rýže. 10

    Při nastavování programového bloku "Obrazovka" můžete povolit režim náhledu (obr. 9 položka 3) a vizuálně vyhodnotit výsledek nastavení výstupu informací.

    V režimu "Tvary" (obr. 11 položka 1) nastavení programového bloku se liší v závislosti na typu obrázku. Takže při zobrazení kruhu budete muset zadat souřadnice "X" A "Y" střed kruhu, stejně jako hodnotu "Poloměr". Parametr "Naplnit" (obr. 11 položka 2) odpovídá za to, že se zobrazí buď obrys postavy, nebo bude vnitřní plocha postavy vyplněna barvou uvedenou v parametru "Barva" (obr. 11 položka 3).

    Rýže. 11

    Chcete-li zobrazit přímku, musíte zadat souřadnice dvou extrémní body, mezi kterými je přímka.

    Rýže. 12

    Chcete-li zobrazit obdélník, musíte zadat souřadnice "X" A "Y" levý horní roh obdélníku, stejně jako jeho "Šířka" A "Výška".

    Rýže. 13

    Zobrazení bodu je nejjednodušší způsob! Stačí uvést jeho souřadnice "X" A "Y".

    Režim "Obraz", asi nejzajímavější a nejpoužívanější režim. Umožňuje zobrazovat obrázky na obrazovce. Programovací prostředí obsahuje obrovskou knihovnu obrázků seřazených podle kategorií. Kromě existujících obrázků si můžete vždy vytvořit svůj vlastní výkres a vložením do projektu jej zobrazit na obrazovce. ("Hlavní nabídka programovacího prostředí" - "Nástroje" - "Editor obrázků"). Při vytváření obrázku můžete také zobrazit znaky ruské abecedy.

    Rýže. 14

    Jak vidíte, programovací prostředí přikládá velký význam zobrazení informací na obrazovce EV3 Main Brick. Podívejme se na následující důležitý programový blok "Zvuk". Pomocí tohoto bloku můžeme vydávat zvukové soubory, tóny libovolné délky a frekvence, stejně jako hudební noty do vestavěného reproduktoru bloku EV3. Podívejme se na nastavení programového bloku v režimu "Přehrát tón" (obr. 15). V tomto režimu je potřeba nastavit "Frekvence" tóny (obr. 15 položka 1), "Trvání" zvuk v sekundách (obr. 15 položka 2), stejně jako hlasitost zvuku (obr. 15 položka 3).

    Rýže. 15

    V režimu "Přehrát poznámku" místo frekvence tónu musíte zvolit notu zapnutou virtuální klávesnice a také nastavte dobu trvání a hlasitost zvuku (obr. 16).

    Rýže. 16

    V režimu "Přehrát soubor" můžete si vybrat jeden ze zvukových souborů z knihovny (obr. 17 položka 1) nebo připojením mikrofonu k počítači pomocí Editoru zvuku ("Hlavní nabídka programovacího prostředí" - "Nástroje" - "Editor zvuku") nahrajte si vlastní zvukový soubor a zahrnout ho do projektu.

    Rýže. 17

    Podívejme se na parametr samostatně "Typ přehrávání" (obr. 17 položka 2), společný pro všechny režimy programového bloku "Zvuk". Pokud je tento parametr nastaven na "Počkejte na dokončení", pak se ovládání přenese do dalšího programového bloku až po úplném přehrání zvuku nebo zvukového souboru. Pokud nastavíte jednu z následujících dvou hodnot, zvuk se začne přehrávat a ovládání v programu se přesune na další programový blok, pouze zvuk nebo zvukový soubor se přehraje jednou nebo se bude opakovat, dokud nebude zastaven jiným programovým blokem "Zvuk".

    Musíme se jen seznámit s posledním programovým blokem zelené palety – blokem. Kolem ovládacích tlačítek modulu EV3 je namontován barevný indikátor, který může svítit jednou ze tří barev: zelený, pomerančový nebo červený. Odpovídající režim je zodpovědný za zapnutí a vypnutí barevné indikace (obr. 18 položka 1). Parametr "Barva" nastavuje barevné provedení indikace (obr. 18 položka 2). Parametr "Impuls" zodpovědný za zapnutí/vypnutí režimu blikání barevné indikace (Obr. 18 položka 3). Jak můžete použít barevnou indikaci? Můžete například používat různé barevné signály během různých režimů provozu robota. To nám pomůže pochopit, zda je program prováděn tak, jak jsme plánovali.

    Rýže. 18

    Převeďme tyto poznatky do praxe a trochu si přibarvíme náš program z Úkolu 1.

    Úkol 3:

    1. Přehrát signál "Start"
    2. Povolit zelenou neblikající barevnou indikaci
    3. "Vpřed"
    4. Jeďte rovně na 4 otáčky motoru.
    5. Povolit indikaci oranžové blikající barvy
    6. Otočte se
    7. Povolit zeleně blikající barevnou indikaci
    8. Zobrazení obrazu na obrazovce "zpět"
    9. Jeďte o 720 stupňů
    10. Přehrát signál "Zastávka"

    Pokuste se vyřešit problém 3 sami, aniž byste se dívali na řešení! Hodně štěstí!

    Programové bloky panelu „Akce“ byly probrány v předchozích částech recenze a v tomto článku budu hovořit o blocích ze záložky „Správa operátora“.

    Tyto bloky mohou být reprezentovány jako „regulátory“ programu: přikážou zastavit a pokračovat v pohybu programu, přesunout se na další větev nebo jít v kruhu.

    Ve srovnání s NXT byly přidány 2 nové bloky:

    • Začátek - v NXT byl začátek programu jednotný a byl nastaven ihned při otevření programu.
    • Přerušení cyklu – takový blok v NXT prostě nebyl. Pokud bylo nutné implementovat podobnou funkcionalitu, pak jsme museli použít proměnné.
    Obecný seznam ovládacích jednotek operátora vypadá takto:
    • Start
    • Očekávání
    • Přepínač
    • Přerušení cyklu


    Blokovat "Start"

    Možná jste si všimli, že prvním blokem všech programů EV3 je blok se zelenou šipkou. Tento blok je "Start". Bez něj se neobejde ani jeden program – zde začíná provádění příkazů. Pokud před posloupnost bloků nenastavíte „Start“, nebude takový program proveden.
    Například podle níže uvedeného programu se robot bude otáčet kolem osy (provede se horní sekvence akcí), ale nebude přehrávat zvukové soubory a rozsvěcovat tlačítka (spodní sekvence bez bloku „Start“ je neaktivní):

    EV3 podporuje multitasking, tzn. program může obsahovat více než jednu sekvenci příkazů. Navíc tyto sekvence mohou mít svůj vlastní blok „Start“ nebo mohou vycházet z jednoho „Start“:


    Všechny takové sekvence budou provedeny současně.

    Upozorňujeme, že zelená šipka na bloku není dekorativním prvkem. Pokud je jednotka připojena k počítači (bez ohledu na způsob: přes usb, wi-fi nebo bluetooth), kliknutím na šipku spustíte tuto sekvenci k provedení.

    Blokovat "Čekání"

    Tento blok je také jedním z nejpoužívanějších. Program na něm „zamrzne“ – následující bloky programu se neprovedou – a čeká určitou dobu nebo určitou hodnotu senzoru.
    "Čekání" má velké množství režimů, které mohou být děsivé:


    Ale ve skutečnosti je všechno docela jednoduché. Všechny režimy lze rozdělit do kategorií:
    • podle času - blok čeká zadaný počet sekund, než začne provádět další bloky
    • podle senzoru:
      • porovnání - blok očekává konkrétní odečet senzoru specifikovaný v bloku
      • změna - blok čeká, až se hodnota čidla změní o zadanou hodnotu oproti počáteční hodnotě. Navíc si můžete vybrat nejen velikost hodnoty, ale také její směr - klesající hodnotu, její zvyšování nebo libovolným směrem.
    Podívejme se na příklady programů s každým blokovým režimem.
    V prvním programu se změní podsvícení tlačítek. Podsvícení bude na jednu sekundu zelené, poté na 1 sekundu červené a poté se přepne do standardního režimu – bliká zeleně:

    Druhý program je začátkem klasického řešení v soutěži Kegelring: robot se točí kolem své osy, dokud před sebou neuvidí plechovku:

    Následující program zapne motor A a po provedení 5 otáček jej vypne:

    Provoz této jednotky s bluetooth se neliší od práce s jakýmkoliv senzorem. Například následující program čeká na zprávu „HI“ a poté rozsvítí zelené podsvícení a přehraje zvukový soubor:

    Blokovat "Cyklus"

    Jedná se o speciální blok – do něj lze vkládat další bloky. Bloky uvnitř se budou opakovat. Režimy bloků smyčky určují metodu, která určuje, kdy má smyčka skončit. Většinu těchto režimů již známe z předchozího čekacího bloku, ale bylo přidáno několik nových:

    • Neomezená - tato smyčka bude probíhat, dokud nebude program nucen ukončit
    • Počítání - smyčka se bude opakovat zadaný počet opakování
    • Booleovská hodnota – cyklus se bude opakovat, dokud nebude daná hodnota pravdivá
    • Čas - cyklus se bude opakovat po určenou dobu
    • Čtení senzoru:
      • porovnání - cyklus se bude opakovat, dokud snímač nepřijme zadanou hodnotu
      • změna - cyklus se bude opakovat, dokud se údaj snímače nezmění o zadanou hodnotu oproti počáteční hodnotě.
    Název smyčky je napsán nad blokem - 01, 02, .... Tento název lze použít v bloku přerušení smyčky, který bude popsán později.
    Podívejme se na příklady. Podle tohoto programu bude robot jet rovně a otáčet se, dokud se program nezastaví (používá se nekonečná smyčka):

    Následující program používá dotykový senzor. Dokud není stisknuto, robot otáčí prostředním motorem, nejprve ve směru hodinových ručiček, poté proti směru hodinových ručiček. Po stisknutí senzoru se motor zastaví:

    Smyčka čítače vám umožňuje zahrát notu 10krát:

    V režimu logických hodnot budete muset použít bloky dotazování senzorů, které ještě nebyly studovány. Tento program nutí robota pohybovat se vpřed, dokud neuvidí předmět ve vzdálenosti menší než 20 cm (první blok cyklu) nebo nenarazí dotykovým senzorem na překážku (druhý blok cyklu). Výsledkem logické operace OR je třetí blok cyklu:


    Blok "Switch".

    V NXT je podobný blok, který vám umožňuje provádět různé sekvence akcí v závislosti na hodnotě proměnné nebo čtení senzoru.
    Po dokončení této sekvence akcí program provede bloky následující po „Switch“.
    Režim tohoto bloku určuje, který senzor nebo proměnná hodnota bude použita. Všechny stejné režimy se používají jako blok „Cycle“: můžete použít jakýkoli senzor (barevný, gyroskopický, infračervený, ultrazvukový, rotace motoru a další), numerický popř. textová hodnota, zpráva bluetooth.
    Například podle tohoto programu se robot nejprve otočí kolem své osy po dobu 5 otáček motoru a poté se v závislosti na hodnotách snímače gyroskopu posune dopředu nebo dozadu. Pokud je úhel detekovaný gyroskopem menší než 90 stupňů, robot se bude pohybovat vpřed. Pokud je úhel menší než 90 stupňů, robot se vrátí zpět.

    Následující program je implementací jednoduchého reléového ovladače pro jízdu po černé čáře:

    V obou předchozích příkladech blok „Switch“ obsahoval pouze 2 možnosti pro vývoj událostí. Ale ve skutečnosti může mít tento blok více možností. Pokud například robot určuje barvu předmětu, může si vybrat z mnohem většího počtu možností:


    V tomto programu robot detekuje červenou, modrou, zelenou a žádnou barvu. Pojmenuje barvy a také zapne podsvícení tlačítek pro červenou a zelenou barvu a posune se vpřed v modré barvě. Zbývající barvy, které senzor dokáže detekovat – černá, žlutá, bílá, hnědá – můžete přidat pomocí malého tlačítka „+“ umístěného v horní části (je zakroužkováno červeně).
    S velkým počtem možností (jako ve výše uvedeném příkladu) se blok „Switch“ stává poměrně těžkopádným a nepohodlným pro práci s ním. V tomto případě lze blok přepnout do „plochého režimu“:

    Tlačítko, které přepíná mezi plochými/detailními režimy, je zakroužkováno červeně.

    Blokovat "Přerušení cyklu"

    Tento blok je nový, v NXT žádný podobný blok nebyl. Umožňuje opustit smyčku - zbývající bloky smyčky nebudou provedeny a program přejde na bloky za smyčkou. "Záhlaví" bloku určuje název cyklu, který musí být dokončen.
    Cyklus v programu by se měl například opakovat 5krát, ale pokud je vzdálenost k objektu větší než 50 centimetrů, cyklus se předčasně ukončí a robot zahraje zvukový tón:

    Zvláštností tohoto bloku je, že nemusí být umístěn uvnitř přerušitelné smyčky. Například následující program zobrazuje, kolikrát se bude smyčka opakovat, dokud je jas odraženého světla větší než 50. Ale pokud stisknete dotykové čidlo, když je program spuštěný, smyčka se zastaví a program se zastaví:

    L.Yu Ovsyanitskaya, D.N. Ovsyanitsky, A.D. Ovsyanitsky

    Kurz programování robotů EV3

    v prostředí Lego Mindstorms EV3

    Druhé vydání, přepracované a rozšířené

    MDT 004.42 + 004.896

    Ovsyanitskaya, L.Yu. Kurz programování Lego robot

    Mindstorms EV3 v prostředí EV3: ed. druhý, revidovaný a doplňkové /

    L.Yu Ovsyanitskaya, D.N. Ovsyanitsky, A.D. Ovsyanitsky. – M.:

    „Pero“, 2016. – 296 s.

    ISBN 978-5-906862-76-1

    Kniha je věnována programování robota EV3 v prostředí Lego Mindstorms EV3. Práce je výsledkem dlouholeté zkušenosti autorů z přímé účasti na regionálních, celoruských a mezinárodních soutěžích v robotice a pedagogické činnosti zaměřené na školení učitelů, lektorů a školitelů na toto téma.

    Kniha bude užitečná učitelům základního, středního, vysokého i dalšího vzdělávání, studentům, studentům a všem zájemcům o problematiku robotiky.

    Recenzent:

    Doktor fyzikálních a matematických věd, profesor A.F. Šorikov.

    ISBN 978-5-906862-76-1 © L.Yu. Ovsyanitskaya, D.N. Ovsyanitsky, A.D. Ovsyanitsky, 2016 Obsah Úvod

    Kapitola 1. Charakteristika robota.

    Vytvoření a spuštění prvního projektu 7

    1.1. Stručný popis robotické platformy. Přehled programovacího prostředí Lego Mindstorms EV3

    1.2. Způsoby připojení robota k počítači. Aktualizace firmwaru EV3 Brick. Nahrávání programů do EV3 Brick



    Kapitola 2. Programování robota

    2.1. Motory. Programování pohybů po různých trajektoriích

    2.2. Práce s podsvícením, obrazovkou a zvukem

    2.2.1. Práce s obrazovkou

    2.2.2. Práce s podsvícenými tlačítky na EV3 Brick

    2.2.3. Práce se zvukem

    2.3. Programové struktury

    2.3.1. Očekávání struktury

    2.3.2. Cyklus struktury

    2.3.3. Struktura přepínače

    2.4. Práce s daty

    2.4.1. Datové typy. Dirigenti

    2.4.2. Proměnné a konstanty

    2.4.3. Matematické operace s daty

    2.4.5. Práce s poli

    2.4.6. Logické operace s daty

    2.5. Práce se senzory

    2.5.1. Dotykový senzor

    2.5.2. Barevný senzor

    2.5.3 Gyroskopický snímač

    2.5.4. Ultrazvukový senzor

    2.5.5. Infračervený senzor a maják

    2.5.6. Senzor otáčení motoru (určující úhel/počet otáček a výkon motoru)

    2.5.7. Ovládací tlačítka modulu

    2.6. Práce se soubory

    Kurz programování robotů Lego Mindstorms EV3 v prostředí EV3

    2.7. Spolupráce několika robotů

    2.7.1. Propojení robotů pomocí USB kabelu

    2.7.2. Komunikace s robotem pomocí připojení Bluetooth................................ 207

    2.8. Užitečné bloky a nářadí

    2.8.1. Blokovat „Zůstat aktivní“

    2.8.2. Blokovat „Zastavit program“

    2.8.3. Vytváření rutin

    2.8.4. Nahrávání komentářů

    2.8.5. Použití kabelového vstupního portu

    Kapitola 3. Hlavní typy soutěží a prvky úkolů.

    3.1. Soutěž sumo

    3.2. Kegelring

    3.3. Slalom (vyhýbání se překážkám)

    3.4. Programování pohybu čar

    3.4.1. Algoritmus pro pohyb po klikaté čáře s jedním a dvěma barevnými senzory

    3.4.2. Algoritmus "Wave"

    3.4.3. Algoritmus pro automatickou kalibraci barevného senzoru..... 258

    3.5. Proporcionální lineární řízení

    3.5.1. Pohyb čáry na základě proporcionálního řízení

    3.5.2. Hledání a počítání křižovatek s proporcionálním řízením čar

    3.5.3. Cestovní inverze

    3.5.4. Pohyb robota podél zdi

    3.6. Hledání cíle v bludišti

    Kapitola 4: Aktualizace firmwaru a restartování kostky EV3.

    286 Kapitola 5. Použití senzorů jiných výrobců

    5.1. Práce s HiTech barevným senzorem

    5.2. Pomocí jiných senzorů

    Závěr

    Seznam projektů Projekt „Věrný pes“ 90 Projekt „Sports Scoreboard“ 98 Projekt „Auto Finish“ 102 Projekt „60 sekund“ 109 Projekt „Nahrávání a čtení barevného čárového kódu“ 120 Projekt „Třídění pole pomocí bublinové metody“ 123 Projekt „ Chytrý dům» 153 Projekt „Tvrdohlavý robot“ 160 Projekt „Robot s dálkové ovládání» 182 Projekt Animovaná hra na obrazovce bloku EV3 „Chyť sněhovou kouli“ 191 Projekt „Vytvoření 3D povrchové mapy“ 197 Projekt „EV3 - hudební syntezátor“ 203 Kurz programování robota Lego Mindstorms EV3 v prostředí EV3 obrázek cívka (obr. 1.1.11b). Blok bude aktivní (jasný) (obr. 1.1.11c).

    –  –  –

    Obrázek 1.1.

    12. Paralelní programy Pro měřítko obrázků (obr. 1.1.13 a, b) se používají standardní MSWindows kombinace klávesy Ctrl a rolovacího kolečka myši nebo ikon v pravém horním rohu okna:. Měřítko se používá při navigaci ve velkých programech, kopírování konkrétních bloků a mnohem více.

    Kurz programování robota Lego Mindstorms EV3 v prostředí EV3 Blocks Large motor a Medium motor První blok palety se nazývá Medium motor, druhý se nazývá Velký motor. Bloky se používají k ovládání jednoho motoru a mají stejnou funkcionalitu.

    Uvažujme strukturu bloků na příkladu velkého bloku motoru (obr. 2.1.4).

    –  –  –

    Obrázek 2.1.

    4. Velká řídicí jednotka motoru Nejprve klikněte na písmeno představující název portu a vyberte název portu, ke kterému je motor připojen.

    Pojďme se na jednotlivé ovládací prvky podívat blíže.

    1. Vyberte provozní režim:

    a) zapnout (obr. 2.1.5);

    –  –  –

    Obrázek 2.4.

    3.4. Program pro realizaci projektu „60 sekund“.

    Úkoly pro samostatná práce Přidejte na obrazovku obrázek ciferníku.

    Analogicky přidejte minutovou a hodinovou ručičku.

    2.4.4. Další bloky zpracování dat

    –  –  –

    Než začnete s poli pracovat, je potřeba je inicializovat, tzn. zadejte typ (číselný nebo logický) a přiřaďte název.

    Data lze do pole zadávat ručně nebo automaticky (čtením hodnot ze senzorů). Chcete-li vytvořit pole, musíte použít blok Variable.

    Vytvoření pole. Zápis pole do proměnné

    Chcete-li vytvořit a vyplnit pole, musíte:

    (a) přesunout blok Variable do pracovního prostoru a určit jeho režim (zápis) a typ (numerické nebo logické pole);

    Formation Vytvoření numerického pole logického pole

    –  –  –

    Obrázek 2.5.

    3.3. Provozní režimy gyroskopického senzoru Důležité!

    Někdy (dost často!) při práci s gyroskopickým senzorem můžete pozorovat následující: kdy běžící program robot stojí a hodnota úhlu se neustále zvyšuje (drift), rychlost nárůstu může být více než 1 stupeň za sekundu!

    Zvýšení hodnot senzorů Kapitola 2. Programování robota 177 Pokud je maják velmi daleko (dále než 1 m), bude naměřená hodnota 100, pokud velmi blízko (minimálně 1 cm) - 0. Mezivýsledky také neodpovídají na centimetry.

    V případě, že je maják umístěn přímo před snímačem, bude relativní výsledek měření úhlu roven 0, maximální umístění majáku vlevo, proti směru hodinových ručiček -25 (maximální detekovatelný úhel odchylky je přibližně 100 stupňů), vpravo ve směru hodinových ručiček 25 (obr. 2.5. 5.5).

    Obrázek 2.5.

    5.5. Poloha IR majáku vzhledem k IR senzoru Podívejme se na příklady programů. Umístěte maják před robota, zapněte ho a namiřte směrem k robotovi.

    LED indikátor se rozsvítí a zůstane svítit. Maják bude nepřetržitě vysílat signál. Na jednotce infračerveného senzoru nainstalujte stejný kanál, jaký byl nainstalován na majáku. Senzor detekuje pouze maják na kanálu, který určíte ve svém programu.

    Maják se vypne, pokud se hodinu nepoužívá.

    Na Obr. 2.5.5.6 ukazuje volbu provozního režimu s majákem.

    Kurz programování robota Lego Mindstorms EV3 v prostředí EV3 s využitím MS Excel.

    Robot se otáčí a v každém okamžiku zaznamenává hodnotu úhlu natočení a vzdálenost k povrchu.

    Řešení:

    1. Resetujte hodnoty snímače gyroskopu.

    Vložíme cyklus 01, podmínka ukončení je čas (3 sekundy).

    2. Během cyklu se robot otáčí a čte informace z ultrazvukových a gyroskopických senzorů. Odečty jsou sloučeny v bloku programu Text, oddělené čárkou.

    3. Výsledek měření v každém kroku cyklu je zapsán do souboru mapy.

    4. Nastavte pauzu na 0,25 sekundy. Po skončení cyklu soubor zavřete.

    Pozor! Při použití gyroskopického senzoru dávejte pozor na přítomnost driftu při jeho zapnutí (viz.

    část 2.5.3 k odstranění úletu).

    Kapitola 2. Programování robota 213 pohyb a zastavení, krmení každého přívěsu postupně.

    2. „Vokální a instrumentální soubor“

    Úkolem je předvést hudební skladbu se souborem. První robot EV3 je dirigent, který dává příkazy přes Bluetooth ostatním robotickým hudebníkům a robotickým zpěvákům, kdy mají hrát své hudební party. Dirigent robota může být vybaven dirigentským obuškem, který se pohybuje nahoru a dolů a otáčí se směrem k robotovi, který začíná hrát. Dirigent robota může například na částečný úvazek působit jako sólista.

    3. "Taneční soubor"

    Úkolem je vytvořit robotický celek. Prvním robotem, který vydává příkazy přes Bluetooth, je sólista. Zbytek robotů se řídí příkazy. Naprogramujte různé druhy tanců - kruhový tanec robotů ("Lokomotiva"), pomalé a rychlé tance.

    4. „Ranní cvičení“

    Úkolem je současně provádět gymnastická cvičení na povel prvního robota.

    2.8. Užitečné bloky a nástroje 2.8.1. Blokovat „Zůstat aktivní“

    Po uplynutí určité doby a v případě, že robota nekontaktujeme a robot neprovádí žádné operace, se vypne (ve smyslu EV3 přejde do režimu spánku). To způsobuje nepříjemnosti při práci s programy navrženými tak, aby na některé procesy čekaly dlouhou dobu. Přímo na bloku můžeme nastavit čas přepnutí do režimu spánku (lze nastavit čas před vypnutím: 2 minuty, kurz programování robota Lego Mindstorms EV3 v prostředí EV3, vytvořit několik možností programu a zvolit taktiku boje. Pro například, pokud máme výkonného, ​​ale pomalého robota, můžeme spustit program, ve kterém náš robot zaútočí na soupeře rychle a ze strany, pokud se soupeřův robot při hledání našeho robota vždy otočí doprava, musíme spustit a program, který jde kolem a útočí na něj zleva.

    Robot může mít jeden nebo dva ultrazvukové senzory pro určení polohy nepřítele bez zbytečných zatáček. Zvláště zajímavá jsou kola, ve kterých soutěží roboti přibližně stejné síly nebo rychlosti, v tomto případě o výsledku rozhodují milimetry a sekundy!

    Vítězem se stává účastník, který dokázal sestavit silnou a spolehlivou strukturu, napsal kompetentní program (nebo programy) a zvolil správnou strategii. Právě kombinace těchto faktorů dělá proces přípravy na soutěže vzrušující a soutěže samotné velmi zábavné a vzrušující!

    Uveďme příklad programového algoritmu pro robota sumo zápasníka.

    Zastavení robota.

    2. Robot se otáčí, dokud neuvidí soupeřova robota s ultrazvukovým senzorem (dokud nebude hodnota senzoru menší než 100 cm), což odpovídá úhlu rotace 120-180 stupňů. Zastavení robota.

    3. Vytvořte cyklus s ukončovací podmínkou 01, – Neomezeno.

    4. Do cyklu 01 vložíme cyklus 02, jehož ukončovací podmínka je booleovská hodnota: Smyčka bude probíhat, dokud není vstup Podmínky ukončení True.

    Kapitola 3. Hlavní typy soutěží a prvky úkolů 245 100 25 + 18 =.

    Najdeme rychlost levého kola: V1=58.

    Chcete-li implementovat algoritmus, nainstalujte ultrazvukový senzor před robota uprostřed a připojte jej k portu 4.

    Namiřte snímač barev dolů, umístěte jej nalevo od řádku a připojte jej k portu 2. Na Obr. 3.3.3 představuje program pro vyhýbání se překážkám. Vezměte prosím na vědomí, že po detekci překážky se robot zastaví a ostře se otočí doprava, aby se posunul z čáry kolmé k překážce a obešel objekt v daném poloměru.

    Úkoly pro samostatnou práci

    Naprogramujte cesty:

    a) vyhýbání se několika překážkám se stejným poloměrem;

    b) vyhýbání se překážkám s různými poloměry;

    c) jízda v osmičce.

    Kapitola 3. Hlavní typy soutěží a prvky úkolů 275 Obrázek 3.

    5.3.2. Program pro řízení inverzní trajektorie pohybu Kapitola 3. Hlavní typy soutěží a prvky úloh 285 Obrázek 3.6.5. Program pro hledání cíle v bludišti Kurz programování robota Lego Mindstorms EV3 v prostředí EV3.

    KAPITOLA 5. VYUŽITÍ TŘETÍCH STRAN

    SNÍMAČE

    Kromě senzorů obsažených v domácích nebo vzdělávacích sadách Lego Mindstorms EV3 existuje možnost dokoupit další senzory Lego a senzory s certifikací Lego od HiTechnic.

    Společnost HiTechnic vyrábí velký počet senzory pro LEGO Mindstorms, většina z nich je certifikována společností LEGO, což potvrzuje plnou kompatibilitu, vysoké standardy kvality a bezpečnosti.

    Důležitým faktorem umožňujícím použití těchto senzorů při práci s dětmi je také přítomnost certifikátu RoHS (Restriction of Hazardous Substances), potvrzujícího nepřítomnost použití látek v elektrických a elektronických zařízeních: olovo, rtuť, kadmium, cín, šestimocný chrom a některé bromidové sloučeniny. Aktuální seznam certifikovaných senzorů Lego najdete na www.hitechnic.com/sensors.

    Aktuálně k dispozici: snímač úhlu natočení;

    síla působící příčně k ose; kompas; akcelerometr;

    gyroskop; Detektor magnetického pole; infračervený senzor;

    infračervený pohybový senzor, který umožňuje určit přítomnost osob nebo zvířat v místnosti, podobně jako senzory používané v bezpečnostních systémech; barometr, který určuje atmosférický tlak a teplotu;

    elektro-optický snímač vzdálenosti, který přesně detekuje malé předměty a malé změny v jejich vzdálenosti, ale na vzdálenost ne větší než ~20 cm; barevný senzor

    © 2024 ermake.ru -- O opravě PC - Informační portál