Evolving obstacle avoidance in Microsoft Robotics Studio (autori: Miroslav Matušťák & Pavol Kunovský)

From RoboWiki
Jump to: navigation, search

Úvod

Našou úlohou bolo vytvoriť simuláciu evolúcie, kde by sme vytvorili robota, ktorý čo najrýchlejšie prechádza miestnosťou.

Microsoft Robotics Developer Studio

Pri našej práci sme použili MRDS. Je to systémom Windows prostredia pre riadenie robotov a simuláciu. Je zameraný na akademikov, fanatikov a obchodných vývojárov a spracováva širokú škálu robotického hardvéru. To si vyžaduje Microsoft Windows 7 operačný systém.

RDS je založený na CCR (súbežnosť a koordinácia Runtime):. NET-based súbežná implementácia knižnice pre správu asynchrónnych paralelných úloh. Táto technika zahŕňa použivanie odovzdávania správ a ľahký služby orientovaný Runtime DSS (Decentralized Software Services), ktorý umožňuje orchestráciu z mnohých služieb k dosiahnutiu komplexného správania.

Medzi vlastnosti patrí: vizuálny programovací nástroj Microsoft Visual programovací jazyk pre vytváranie a ladenie aplikácii robotov, webové a windows-založené rozhranie, 3D simulácie (vrátane hardvérovej akcelerácie), ľahký prístup k robotickým snímačom a akčným členom. Primárny programovací jazyk je C #.

Microsoft Robotics Developer Studio obsahuje podporu pre balíky na pridanie ďalších služieb pre súpravu. Tie, ktoré sú v súčasnej dobe k dispozícii, zahŕňajú Futbalové simulácie a Sumo súťaže od spoločnosti Microsoft a komunity vyvija bludiskového simulátora, program na vytváranie svetov so stenami, ktoré môžu byť preskúmané pomocou virtuálneho robota a sadu služieb pre OpenCV. Väčšina doplnkových balíčkov sú hosťované na CodePlex (hľadanie Robotics Studio). Študijné materiály sú k dispozícii tiež.

DSS Manifest Editor

DSS Manifest Editor (DSSME) poskytuje grafické prostredie pre elektroinštalácie, konfigurácie, nasadenie a spúšťanie aplikácií na jednom uzle alebo v sieti. DSSME môžu zapojiť do aplikácie a služby vyvinutéj pomocou VPL alebo priamo napísať vo Visual Studio. DSSME sa zameriava na potrebu inštalácie a konfigurácie služby tým, že umožňuje užívateľovi určiť, ktoré služby by mali byť súčasťou žiadosti, ak by tieto služby mali plynúť, a aký by mal byť ich východiskový stav. Cieľovú skupinu tvoria podnikoví a profesionálni vývojári, ktorí hľadajú vysoko škálovateľné riešenie ťažkých problémov v oblastiach, ako sú priemyselne automatizácie, finančné analýzy, vedecké výpočty, senzorové siete, systémov velenia a riadenia a v súvisiacich oblastiach, kde koordinácia a distribúcia sú kľúčové požiadavky.

Microsoft Visual Programming Language

Microsoft Visual Programming Language (VPL) je dataflow-oriented grafické vývojové prostredie pre písanie CCR / DSS aplikácií. Namiesto riadenia toku typicky nájdeného v konvenčnom programovanií, dataflow program riadí, ktoré komponenty sú v prevedení na základe príchodzích dát. Aplikácie sú skladby služieb, ktoré sú vytvorené jednoduchým pretiahnutím komponentov na plátne a zapojenie je spoločne na základe svojich dátových závislostí. Okrem riešenia potreby vizuálne dirigovať súbežné distribuované aplikácie, môže VPL vygenerovať čitateľné C #-založené služby, ktoré môžu významne urýchliť rozvoj projektov.

Microsoft Visual Simulation Environment

Microsoft Visual Simulation Environment (VSE) poskytuje integrované prostredie pre vytváranie a spúšťanie simulácie robotov, prostredia a ďalších subjektov využívajúcich hi-fi 3D rendering. Okrem rendering engine, ktorý je založený na Microsoft XNA Frameworku, VSE poskytuje real-world fyzikálny engine založený na NVIDIA™ PhysX™ technológii. Fyzikálny engine umožňuje subjektom veľmi realisticky interagovať s okolitým prostredím. Okrem úprav a behu zariadení, VSE poskytuje výkonné funkcie, ako je nahrávanie a prehrávanie, tvorbu 2D pôdorys editoru, 2D billboardy a mnoho ďalšieho.

GAlib

GAlib je C++ knižnica komponentov genetických algoritmov. GAlib obsahuje sadu C++ objektov genetických algoritmov. Knižnica obsahuje nástroje pre používanie genetických algoritmov na optimalizáciu v ľubovoľnom C++ programe použitím ľubovoľnej reprezentácie a genetických operátorov. Dokumentácia obsahuje rozsiahly prehľad o tom, ako realizovať genetický algoritmus, rovnako ako príklady ilustrujúce úpravy na GAlib triedy. GAlib bol postavený na rôznych platformách UNIX (Linux, MacOSX, SGI, Sun, HP, DEC, IBM), ako aj MacOS a DOS / Windows systémov. GAlib obsahuje príklady, ktoré používajú PVM pre distribuované paralelné, implementácie.

Postup

Najprv sme začali vytvorením prostredia v DSS manifest, ktoré sme potom nastavili v projekte ako výstup 3D reprezentácie. Vo Visual C# sme postupovali podľa tutoriálov (nižšie spomenutých) prázdneho projektu, ktorý využíva knižnice Microsoft Visual Simulation Environment. Prešli sme tieto tutoriály:
Beginner: http://msdn.microsoft.com/en-us/library/dd771976.aspx
Advanced: http://msdn.microsoft.com/en-us/library/dd771980.aspx
Ďalšie prípadné zdroje:
Kniha: Professional Microsoft Robotics Developer Studio
Ccccc.jpg

Ukážky

Cc.bmp Ccc.bmp Cccc.bmp