Dnes je: 19. květen 2012

Září 2011


Stáhnout PDF soubor. Přejít na seznam článků.

 

 

Simulátor umělé inteligence ve virtuálním světě

Oblast současného výzkumu umělé inteligence, jako jsou například neuronové sítě nebo genetické programování, odvozuje své výsledky na základě náhodného kombinování elementárních schopností. Často jde o snahu napodobit funkci biologických systémů. Dosud však nemáme nástroj, který by umožnil získat správné výsledky a současně i algoritmus, který zadaný problém řeší.

Stavíme na simulaci
V práci „Swarm robotics simulator", s níž jsem se zúčastnil celostátního kola soutěže EXPO Science Amavet 2011, popisuji vlastní algoritmus umělé inteligence, který umožní vytvořit nový program schopný řešit zadaný problém. Pro vývoj a testování umělé inteligence a dalších souvisejících aplikací potřebujeme nástroj, který by idealizoval reálný svět a umožnil sledovat chování našich programů (robotů) v uživatelem definovaném prostředí. Tuto schopnost nabízí simulátor Yunimin, který jsem vytvořil pro účely vývoje a testování programů pro roboty. Simulátor poskytuje on‑line simulaci velkého množství uživatelem definovaných robotů v reálném čase.

Pomocí simulátoru Yunimin se podařilo odsimulovat skupinu robotů, jejichž úkolem bylo najít způsob, kterým si mohou udržet stále klesající energii vlastních baterií. Uvedený algoritmus tento problém úspěšně vyřešil ve velmi krátkém čase.

Yunimin – virtuální svět pro simulaci robotů
Na projektu „Simulátor robota Yunimin" jsem začal pracovat v roce 2009. Robot Yunimin (obr. 1 a 2) je malé zařízení řízené dvěma nezávislými koly. Bylo navrženo v Domě dětí a mládeže Junior a je určeno především jako výuková pomůcka pro začínající robotiky. Úkolem simulátoru bylo nahradit potřebu fyzického robota pomocí virtuálního prostředí na PC.

Vývoj simulátoru, který jsem programoval v rámci Středoškolské odborné činnosti, dospěl do víceuživatelské klient‑server aplikace, která umožňuje neomezenému počtu uživatelů vzdáleně řídit celou simulaci pomocí internetu, definovat parametry přidávaných robotů a sledovat celou simulaci v reálném čase. Výsledek lze vyrenderovat (převést vektorovou 3D grafiku na snímek či animaci, pozn. red.) jako 3D animaci (obr. 3, 4, 5, a 6) nebo ho uchovat jako textová data v tabulkovém formátu.

Praktické využití
Po skončení celostátní přehlídky SOČ v Chrudimi, kde jsem s funkčním simulátorem získal první místo, nastal čas pro praktické využívání simulátoru. V další práci mi velmi pomohly výsledky soutěže, kterou jsem uspořádal jako interní akci na Gymnázium Brno na tř. Kpt. Jaroše. Účelem soutěže bylo zatížit simulátor a otestovat tak jeho funkčnost v plném provozu. Účastníci mi dodali různé programy s totožným cílem, které pomohly při dalším vývoji. Úkolem soutěžících bylo vytvořit algoritmus, který dovede jejich robota co nejrychleji k pohybujícímu se cíli. Někteří účastníci soutěže naopak programovali soupeře, kteří se snažili před ostatními účastníky simulace co nejefektivněji utíkat. Díky získanému množství různých programů s totožným cílem jsem mohl experimentovat se změnami podmínek virtuálního světa a sledovat tak dopady těchto změn na průběh simulací.

Zajímalo mě chování umělé inteligence na dnešním stupni vývoje (vývoj umělé inteligence lze datovat již od definování Turingova stroje, vývoj pokračoval přes počítačového psychiatra Elizu a přes mnoho neúspěšných pokusů až po současné neuronové sítě nebo genetické programování, pozn. red.). Proto jsem tuto inteligenci postavil proti programům získaným soutěží. Vyzkoušel jsem přitom bezplatné distribuce neuronových sítí a genetického programování. Po nastudování odborné literatury jsem došel k názoru, že inteligenci, o níž se v literatuře píše, doprovázelo několik nedostatků. Ty podle mého názoru uživateli výrazně snižovaly možnost umělou inteligenci řídit a podrobně sledovat její chování.

Rozhodl jsem se proto vymyslet velmi jednoduchý program, který umožňuje postupnou aplikaci všech funkcí nadefinovaných uživatelem na zadaný problém. Simulátor Yunimin mi svým náhledem do virtuálního světa pomohl algoritmus postupně upravovat a vyvinout nové moduly. Výsledkem je nový algoritmus umělé inteligence, který ke své funkci nevyužívá náhodných procesů a nesnaží se ani o napodobování biologických systémů. Tento nástroj mohu plně uživatelsky editovat a jeho pomocí ovlivňovat hledání nových řešení.

Plány
Aktuální podoba algoritmu vyžaduje ke své práci zpětnou vazbu – informaci o míře úspěchu v řešení. Strukturu a chování algoritmu jsem popsal ve své práci „Swarm robotics simulator". V budoucnu se pokusím zajistit spolupráci algoritmu s jinými metodami umělé inteligence. Očekávám též úspěšné přepracování algoritmu do nynější teoretické podoby, která by ke své činnosti nutně nevyžadovala číselnou informaci o úspěchu inteligence v řešení zadaného problému.

Robotika, informatika a matematika jsou propojené disciplíny, kterým bych se chtěl věnovat na profesionální úrovni. Věřím, že simulátor Yunimin i vyvíjená umělá inteligence pomohou odpovědět na otázky, na které v reálném světě hledáme odpovědi jen velmi těžko.



Bedřich Said se robotice věnuje již několik let. Navštěvuje Dům dětí a mládeže Junior v Brně, který mu poskytuje zázemí pro vývoj nového hardwaru a softwaru pro roboty. Věnuje se převážně softwarovému odvětví, které vyžaduje pro testování nových aplikací již hotový hardware. Na simulátoru virtuálního světa začal pracovat se záměrem dosáhnout rychlejšího a snadnějšího hledání softwarových a hardwarových chyb na reálných robotech.

Autor se zúčastnil celostátního kola soutěže EXPO Science Amavet 2011, které se konalo ve dnech 28. a 29. 4. 2011. Díky tomu vznikl i článek o umělé inteligenci pro čtenáře 3pólu.

Literatura:
FLOREANO, Dario; MATTIUSSI, Claudio. Bio‑Inspired Artificial Intelligence. Cambridge, MA: MIT Press, 2009,

CorMac Technologies Inc., NeuNet Pro [online]. 2011 [cit. 2011‑05‑10]. NeuNet Pro 2.3 for Windows.
http://www.cormactech.com/neunet

Lawrence, Jeanette (1994) Introduction to Neural Networks, California Scientific Software Press. ISBN 1‑883157‑00‑5

RML Technologies [online]. 2010 [cit. 2011‑05‑10]. Discipulus&™ 5 Genetic Programming Predictive Modelling.
http://www.rmltech.com

Projekt a dokumentace je k dispozici na adrese:
http://www.bitbucket.org/bsaid

Videa

Souboj robotů v aréně
http://www.youtube.com/watch?v=mB-dCBKbQM4

Závody robotů po předkreslené dráze
http://www.youtube.com/watch?v=OdZmmjhy5oU

Robot najde cestu i za překážkou
http://www.youtube.com/watch?v=yiBZLZeftIE


Obr. 1 Fotografie reálného robota Yunimin zhotoveného na DDM Junior v Brně. Robot slouží jako výuková pomůcka pro začínající robotiky


Obr. 2 První kreslený zjednodušený model robota Yunimin určeného pro tvorbu 3D animací jednotlivých simulací


Obr. 3 Ukázka ze simulace robota, který se pohybuje po černé čáře a překonává přitom různé překážky


Obr. 4 Průběh simulace umělé inteligence. Šachový kůň hledá kapku vody v rovině. Je slepý a zná pouze svou vzdálenost od kapky. Řešení problému hledá algoritmus umělé inteligence.


Obr. 5 Cíl simulace umělé inteligence. Šachový kůň právě nalezl řešení. Jeho vzdálenost od kapky vody klesla na nulu a umělá inteligence vítězí.


Obr. 6 Simulace skupiny robotů. Výsledek zátěžového testu simulátoru Yunimin. Úkolem bylo zároveň simulovat 1600 robotů v jedné scéně.


Robot Yunimin na soutěži IST robot v Bratislavě, která se konala dne 25. 4. 2009


Pohled na čerstvě odstartovanou simulaci šachového koně hledajícího kapku vody. Třetí robot je v simulaci pouze jako neviditelná překážka. Celá simulace včetně serveru běžela na jednom PC.


Pohled na celou scénu simulace umělé inteligence krátce po odstartování


Ukázka programu, který vzdáleně řídí celou simulaci. Pro změnu nastavení uživatel otevře příslušné nabídky. Nyní je zobrazena simulace sedmi robotů, kteří se snaží získat výhodnou pozici. Pravidla jsou podobná hře „bomba – štít“.


Schéma zobrazuje zjednodušený princip nového algoritmu umělé inteligence. Všechny součásti jsou uživateli plně přístupné a textově editovatelné.


Fotografie ze soutěže Programování na Simulátoru Yunimin. Účastníci mohou sledovat chování svých programů z dataprojektorové projekce

Ohodnoť článek (známkou jako ve škole):
 
1 2 3 4 5   
Pošli odkaz na článek
 
email:
odesílatel: