Interaktivní šachový automat z Lego Mindstorms NXT

Title Alternative:Interactive chess automat from Lego Mindstorms NXT
Loading...
Thumbnail Image
Date
2013
Journal Title
Journal ISSN
Volume Title
Publisher
Technická Univerzita v Liberci
Abstract
V rámci této bakalářské práce byl vytvořen šachový automat pomocí interaktivní stavebnice LEGO Mindstorms NXT, ovládaný pomocí obslužné aplikace napsané v MS Visual C++. Systém umožňuje zahrát šachovou partii mezi člověkem a počítačem. Po zadání tahu uživatelem do grafické aplikace je ověřena správnost pomocí šachového programu s vnitřní reprezentací herního pole. V případě neplatného tahu je uživatel upozorněn a vyzván k zadání nového tahu. Jinak je tah zpracován šachovým programem a je započato vyhledávání tahu protihráče. Nakonec je tah uskutečněn na hracím poli pomocí automatu a graficky vykreslen. Obslužná aplikace obsahuje grafické prostředí pro vykreslení herního pole a figurek hry šachy. Grafická část aplikace má strukturu formulářového okna a je napsána pomocí jazyku C++/CLI. Herní pole je v aplikaci uloženo jako dvourozměrné pole o velikosti 8*8 polí a každé pole obsahuje odkaz na třídu reprezentující danou figurku. Další součástí aplikace je vlastní struktura pro spuštění a komunikaci se šachovým programem Crafty. Tento program je spuštěn ve vlastním procesu a pro komunikaci s ním je použito přesměrování standardního vstupu a výstupu. Přesměrovaná data jsou zapisována a čtena asynchronně, proto bylo nutné vytvořit datovou strukturu používající více vláken pro zpracování těchto dat. Komunikace se šachovým programem probíhá pomocí použití protokolu CECP a vlastních metod zpracovávajících příkazy z programu nebo aplikace. Pro konstrukci automatu byla použita mechatronická stavebnice Lego Mindstorms NXT. Systém využívá souřadnicový systém dvou os, poháněný dvojicí servomotorů. Měření vzdáleností a kalibraci zajišťuje senzor otáček v motorech a dvojice dotykových senzorů na každé ose. Figurka je posunována pomocí elektromagnetu připevněného k pohyblivé konstrukci automatu. Automat je ovládán pomocí aplikace s knihovnou NXT++, která obsahuje nástroje pro ovládání systému NXT.
Description
38 s. :il. +CD ROM
Subject(s)
Lego Mindstorms NXT, mechatronics, information technology, Lego Mindstorms NXT, mechatronika, informační technologie
Citation
ISSN
ISBN